aboutsummaryrefslogtreecommitdiffstats
path: root/epubs/zig-0.9.1.epub
blob: 212a0fd0ac8940109d434ae3c7b06ba547477c36 (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 fd 74 fc bf a7 02 00 00 ontainer>.PK..........!R.t......
0180 a7 02 00 00 11 00 00 00 4f 45 42 50 53 2f 63 6f 6e 74 65 6e 74 2e 6f 70 66 3c 3f 78 6d 6c 20 76 ........OEBPS/content.opf<?xml.v
01a0 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 75 74 66 2d 38 22 3f 3e 0a ersion="1.0".encoding="utf-8"?>.
01c0 3c 70 61 63 6b 61 67 65 20 78 6d 6c 6e 73 3d 22 68 74 74 70 3a 2f 2f 77 77 77 2e 69 64 70 66 2e <package.xmlns="http://www.idpf.
01e0 6f 72 67 2f 32 30 30 37 2f 6f 70 66 22 20 76 65 72 73 69 6f 6e 3d 22 33 2e 30 22 20 75 6e 69 71 org/2007/opf".version="3.0".uniq
0200 75 65 2d 69 64 65 6e 74 69 66 69 65 72 3d 22 70 75 62 2d 69 64 22 3e 0a 20 20 3c 6d 65 74 61 64 ue-identifier="pub-id">...<metad
0220 61 74 61 20 78 6d 6c 6e 73 3a 64 63 3d 22 68 74 74 70 3a 2f 2f 70 75 72 6c 2e 6f 72 67 2f 64 63 ata.xmlns:dc="http://purl.org/dc
0240 2f 65 6c 65 6d 65 6e 74 73 2f 31 2e 31 2f 22 3e 0a 20 20 20 20 3c 64 63 3a 69 64 65 6e 74 69 66 /elements/1.1/">.....<dc:identif
0260 69 65 72 20 69 64 3d 22 70 75 62 2d 69 64 22 3e 75 72 6e 3a 7a 69 67 6c 61 6e 67 2d 64 6f 63 73 ier.id="pub-id">urn:ziglang-docs
0280 3a 30 2e 39 2e 31 3c 2f 64 63 3a 69 64 65 6e 74 69 66 69 65 72 3e 0a 20 20 20 20 3c 64 63 3a 74 :0.9.1</dc:identifier>.....<dc:t
02a0 69 74 6c 65 3e 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 20 28 30 2e 39 itle>Zig.Language.Reference.(0.9
02c0 2e 31 29 3c 2f 64 63 3a 74 69 74 6c 65 3e 0a 20 20 20 20 3c 64 63 3a 6c 61 6e 67 75 61 67 65 3e .1)</dc:title>.....<dc:language>
02e0 65 6e 3c 2f 64 63 3a 6c 61 6e 67 75 61 67 65 3e 0a 20 20 20 20 3c 6d 65 74 61 20 70 72 6f 70 65 en</dc:language>.....<meta.prope
0300 72 74 79 3d 22 64 63 74 65 72 6d 73 3a 6d 6f 64 69 66 69 65 64 22 3e 32 30 32 31 2d 30 31 2d 30 rty="dcterms:modified">2021-01-0
0320 31 54 30 30 3a 30 30 3a 30 30 5a 3c 2f 6d 65 74 61 3e 0a 20 20 3c 2f 6d 65 74 61 64 61 74 61 3e 1T00:00:00Z</meta>...</metadata>
0340 0a 20 20 3c 6d 61 6e 69 66 65 73 74 3e 0a 20 20 20 20 3c 69 74 65 6d 20 69 64 3d 22 6e 61 76 22 ...<manifest>.....<item.id="nav"
0360 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 22 20 6d 65 64 69 61 2d 74 79 70 65 3d 22 61 70 .href="nav.xhtml".media-type="ap
0380 70 6c 69 63 61 74 69 6f 6e 2f 78 68 74 6d 6c 2b 78 6d 6c 22 20 70 72 6f 70 65 72 74 69 65 73 3d plication/xhtml+xml".properties=
03a0 22 6e 61 76 22 2f 3e 0a 20 20 20 20 3c 69 74 65 6d 20 69 64 3d 22 69 6e 64 65 78 22 20 68 72 65 "nav"/>.....<item.id="index".hre
03c0 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 22 20 6d 65 64 69 61 2d 74 79 70 65 3d 22 61 70 70 6c f="index.xhtml".media-type="appl
03e0 69 63 61 74 69 6f 6e 2f 78 68 74 6d 6c 2b 78 6d 6c 22 2f 3e 0a 20 20 3c 2f 6d 61 6e 69 66 65 73 ication/xhtml+xml"/>...</manifes
0400 74 3e 0a 20 20 3c 73 70 69 6e 65 3e 0a 20 20 20 20 3c 69 74 65 6d 72 65 66 20 69 64 72 65 66 3d t>...<spine>.....<itemref.idref=
0420 22 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 3e 0a "index"/>...</spine>.</package>.
0440 50 4b 03 04 14 00 00 00 00 00 00 00 21 52 c5 56 ee 11 86 01 00 00 86 01 00 00 0f 00 00 00 4f 45 PK..........!R.V..............OE
0460 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 30 22 BPS/nav.xhtml<?xml.version="1.0"
0480 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 73 3d .encoding="utf-8"?>.<html.xmlns=
04a0 22 68 74 74 70 3a 2f 2f 77 77 77 2e 77 33 2e 6f 72 67 2f 31 39 39 39 2f 78 68 74 6d 6c 22 20 78 "http://www.w3.org/1999/xhtml".x
04c0 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 2f 32 mlns:epub="http://www.idpf.org/2
04e0 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 69 74 007/ops".lang="en">...<head><tit
0500 6c 65 3e 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 20 28 30 2e 39 2e 31 le>Zig.Language.Reference.(0.9.1
0520 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 20 3c 6e )</title></head>...<body>.....<n
0540 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 20 20 20 av.epub:type="toc".id="toc">....
0560 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 6c 3e 0a ...<h1>Contents</h1>.......<ol>.
0580 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 74 6d 6c ........<li><a.href="index.xhtml
05a0 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 39 2e 31 29 ">Zig.Language.Reference.(0.9.1)
05c0 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 6e 61 76 3e </a></li>.......</ol>.....</nav>
05e0 0a 20 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a 50 4b 03 04 14 00 00 00 00 00 00 00 21 ...</body>.</html>.PK..........!
0600 52 95 66 93 cb 28 f5 10 00 28 f5 10 00 11 00 00 00 4f 45 42 50 53 2f 69 6e 64 65 78 2e 78 68 74 R.f..(...(.......OEBPS/index.xht
0620 6d 6c 3c 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 22 31 2e 30 22 20 65 6e 63 6f 64 69 6e 67 3d 22 ml<?xml.version="1.0".encoding="
0640 75 74 66 2d 38 22 3f 3e 0a 0a 3c 68 74 6d 6c 20 78 6d 6c 6e 73 3d 22 68 74 74 70 3a 2f 2f 77 77 utf-8"?>..<html.xmlns="http://ww
0660 77 2e 77 33 2e 6f 72 67 2f 31 39 39 39 2f 78 68 74 6d 6c 22 20 6c 61 6e 67 3d 22 65 6e 22 3e 0a w.w3.org/1999/xhtml".lang="en">.
0680 20 20 3c 68 65 61 64 3e 0a 20 20 20 20 3c 6d 65 74 61 20 63 68 61 72 73 65 74 3d 22 75 74 66 2d ..<head>.....<meta.charset="utf-
06a0 38 22 2f 3e 0a 20 20 20 20 3c 6d 65 74 61 20 6e 61 6d 65 3d 22 76 69 65 77 70 6f 72 74 22 20 63 8"/>.....<meta.name="viewport".c
06c0 6f 6e 74 65 6e 74 3d 22 77 69 64 74 68 3d 64 65 76 69 63 65 2d 77 69 64 74 68 2c 20 69 6e 69 74 ontent="width=device-width,.init
06e0 69 61 6c 2d 73 63 61 6c 65 3d 31 2e 30 22 2f 3e 0a 20 20 20 20 3c 74 69 74 6c 65 3e 44 6f 63 75 ial-scale=1.0"/>.....<title>Docu
0700 6d 65 6e 74 61 74 69 6f 6e 20 2d 20 54 68 65 20 5a 69 67 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 mentation.-.The.Zig.Programming.
0720 4c 61 6e 67 75 61 67 65 3c 2f 74 69 74 6c 65 3e 0a 20 20 20 20 3c 6c 69 6e 6b 20 72 65 6c 3d 22 Language</title>.....<link.rel="
0740 69 63 6f 6e 22 20 68 72 65 66 3d 22 64 61 74 61 3a 69 6d 61 67 65 2f 70 6e 67 3b 62 61 73 65 36 icon".href="data:image/png;base6
0760 34 2c 69 56 42 4f 52 77 30 4b 47 67 6f 41 41 41 41 4e 53 55 68 45 55 67 41 41 41 42 41 41 41 41 4,iVBORw0KGgoAAAANSUhEUgAAABAAAA
0780 41 51 43 41 59 41 41 41 41 66 38 2f 39 68 41 41 41 41 67 6b 6c 45 51 56 52 34 41 57 4d 59 57 75 AQCAYAAAAf8/9hAAAAgklEQVR4AWMYWu
07a0 44 37 45 6c 6c 4a 49 4d 34 47 34 67 34 67 35 6f 49 4a 2f 6f 64 68 4f 4a 38 77 54 6f 4f 78 53 54 D7EllJIM4G4g4g5oIJ/odhOJ8wToOxST
07c0 58 67 4e 78 44 48 6f 65 69 42 4d 66 41 34 2b 77 47 53 68 6a 79 59 4f 43 6b 47 2f 49 47 71 57 51 XgNxDHoeiBMfA4+wGShjyYOCkG/IGqWQ
07e0 7a 69 45 7a 59 41 6f 55 41 65 69 46 39 44 35 55 2b 44 78 45 67 31 34 44 52 55 37 6a 57 49 54 35 ziEzYAoUAeiF9D5U+DxEg14DRU7jWIT5
0800 49 42 49 4f 64 43 78 66 2b 41 2b 43 51 5a 41 41 6f 6f 70 45 42 37 51 4a 77 42 43 42 77 48 69 69 IBIOdCxf+A+CQZAAoopEB7QJwBCBwHii
0820 70 38 55 59 6d 52 64 72 41 6c 44 70 49 4d 67 41 70 77 51 5a 4e 6e 4e 69 69 35 44 71 30 4d 42 67 p8UYmRdrAlDpIMgApwQZNnNii5Dq0MBg
0840 43 78 78 79 63 42 6e 77 45 64 2b 77 41 41 41 41 42 4a 52 55 35 45 72 6b 4a 67 67 67 3d 3d 22 2f CxxycBnwEd+wAAAABJRU5ErkJggg=="/
0860 3e 0a 20 20 20 20 3c 73 74 79 6c 65 3e 0a 20 20 20 20 20 20 3a 72 6f 6f 74 7b 0a 20 20 20 20 20 >.....<style>.......:root{......
0880 20 20 20 20 2d 2d 6e 61 76 2d 77 69 64 74 68 3a 20 32 34 65 6d 3b 0a 20 20 20 20 20 20 20 20 20 ....--nav-width:.24em;..........
08a0 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 3a 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 --nav-margin-l:.1em;.......}....
08c0 20 20 20 62 6f 64 79 7b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 66 61 6d 69 6c 79 3a 20 73 79 ...body{.........font-family:.sy
08e0 73 74 65 6d 2d 75 69 2c 20 2d 61 70 70 6c 65 2d 73 79 73 74 65 6d 2c 20 52 6f 62 6f 74 6f 2c 20 stem-ui,.-apple-system,.Roboto,.
0900 22 53 65 67 6f 65 20 55 49 22 2c 20 73 61 6e 73 2d 73 65 72 69 66 3b 0a 20 20 20 20 20 20 20 20 "Segoe.UI",.sans-serif;.........
0920 6d 61 72 67 69 6e 3a 20 30 3b 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 2d 68 65 69 67 68 74 3a 20 margin:.0;.........line-height:.
0940 31 2e 35 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 68 65 61 64 65 72 20 7b 0a 20 20 20 20 1.5;.......}.......header.{.....
0960 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 ....padding:.0.1em;.......}.....
0980 20 20 23 63 6f 6e 74 65 6e 74 73 20 7b 0a 20 20 20 20 20 20 20 20 6d 61 78 2d 77 69 64 74 68 3a ..#contents.{.........max-width:
09a0 20 36 30 65 6d 3b 0a 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 3b 0a 20 20 20 .60em;.........margin:.auto;....
09c0 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 .....padding:.0.1em;.......}....
09e0 20 20 20 23 6e 61 76 69 67 61 74 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 ...#navigation.{.........padding
0a00 3a 20 30 20 31 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 40 6d 65 64 69 61 20 73 :.0.1em;.......}........@media.s
0a20 63 72 65 65 6e 20 61 6e 64 20 28 6d 69 6e 2d 77 69 64 74 68 3a 20 31 30 32 35 70 78 29 20 7b 0a creen.and.(min-width:.1025px).{.
0a40 20 20 20 20 20 20 20 20 68 65 61 64 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 72 67 69 ........header.{...........margi
0a60 6e 2d 6c 65 66 74 3a 20 63 61 6c 63 28 76 61 72 28 2d 2d 6e 61 76 2d 77 69 64 74 68 29 20 2b 20 n-left:.calc(var(--nav-width).+.
0a80 76 61 72 28 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a var(--nav-margin-l));.........}.
0aa0 20 20 20 20 20 20 20 20 68 65 61 64 65 72 20 68 31 20 7b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 ........header.h1.{...........ma
0ac0 72 67 69 6e 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 78 2d 77 69 64 74 68 3a rgin:.auto;...........max-width:
0ae0 20 33 30 65 6d 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 23 6e 61 76 69 67 61 .30em;.........}.........#naviga
0b00 74 69 6f 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 61 75 74 6f 3b tion.{...........overflow:.auto;
0b20 0a 20 20 20 20 20 20 20 20 20 20 77 69 64 74 68 3a 20 76 61 72 28 2d 2d 6e 61 76 2d 77 69 64 74 ...........width:.var(--nav-widt
0b40 68 29 3b 0a 20 20 20 20 20 20 20 20 20 20 68 65 69 67 68 74 3a 20 31 30 30 76 68 3b 0a 20 20 20 h);...........height:.100vh;....
0b60 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 3a 20 66 69 78 65 64 3b 0a 20 20 20 20 20 20 20 20 .......position:.fixed;.........
0b80 20 20 74 6f 70 3a 30 3b 0a 20 20 20 20 20 20 20 20 20 20 6c 65 66 74 3a 30 3b 0a 20 20 20 20 20 ..top:0;...........left:0;......
0ba0 20 20 20 20 20 62 6f 74 74 6f 6d 3a 30 3b 0a 20 20 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 .....bottom:0;...........padding
0bc0 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a 20 :.unset;...........margin-left:.
0be0 76 61 72 28 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 var(--nav-margin-l);.........}..
0c00 20 20 20 20 20 20 20 23 6e 61 76 69 67 61 74 69 6f 6e 20 6e 61 76 20 75 6c 20 7b 0a 20 20 20 20 .......#navigation.nav.ul.{.....
0c20 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 31 65 6d 3b 0a 20 20 20 20 20 20 20 ......padding-left:.1em;........
0c40 20 7d 0a 20 20 20 20 20 20 20 20 23 63 6f 6e 74 65 6e 74 73 2d 77 72 61 70 70 65 72 20 7b 0a 20 .}.........#contents-wrapper.{..
0c60 20 20 20 20 20 20 20 20 20 6d 61 72 67 69 6e 2d 6c 65 66 74 3a 20 63 61 6c 63 28 76 61 72 28 2d .........margin-left:.calc(var(-
0c80 2d 6e 61 76 2d 77 69 64 74 68 29 20 2b 20 76 61 72 28 2d 2d 6e 61 76 2d 6d 61 72 67 69 6e 2d 6c -nav-width).+.var(--nav-margin-l
0ca0 29 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 61 3a 68 6f 76 65 72 ));.........}.....}......a:hover
0cc0 2c 61 3a 66 6f 63 75 73 20 7b 0a 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 66 ,a:focus.{.......background:.#ff
0ce0 66 32 61 38 3b 0a 20 20 20 20 7d 0a 20 20 20 20 64 74 20 7b 0a 20 20 20 20 20 20 66 6f 6e 74 2d f2a8;.....}.....dt.{.......font-
0d00 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 7d 0a 20 20 20 20 74 61 62 6c 65 2c 20 74 weight:.bold;.....}.....table,.t
0d20 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 2d 63 6f 6c 6c 61 70 73 65 3a 20 63 h,.td.{.......border-collapse:.c
0d40 6f 6c 6c 61 70 73 65 3b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 ollapse;.......border:.1px.solid
0d60 20 67 72 65 79 3b 0a 20 20 20 20 7d 0a 20 20 20 20 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 20 .grey;.....}.....th,.td.{.......
0d80 70 61 64 64 69 6e 67 3a 20 30 2e 31 65 6d 3b 0a 20 20 20 20 7d 0a 20 20 20 20 74 68 5b 73 63 6f padding:.0.1em;.....}.....th[sco
0da0 70 65 3d 72 6f 77 5d 20 7b 0a 20 20 20 20 20 20 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20 6c 65 pe=row].{.........text-align:.le
0dc0 66 74 3b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b ft;.........font-weight:.normal;
0de0 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 30 5f 31 2c 20 2e 74 33 37 2c 20 2e 74 33 37 5f 31 20 7b .....}......t0_1,..t37,..t37_1.{
0e00 0a 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 7d 0a .......font-weight:.bold;.....}.
0e20 20 20 20 20 2e 74 32 5f 30 20 7b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 35 37 35 37 35 37 .....t2_0.{.......color:.#575757
0e40 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 33 31 5f 31 20 7b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 ;.....}......t31_1.{.......color
0e60 3a 20 23 62 34 30 30 30 30 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 33 32 5f 31 20 7b 0a 20 20 :.#b40000;.....}......t32_1.{...
0e80 20 20 20 20 63 6f 6c 6f 72 3a 20 67 72 65 65 6e 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 33 36 ....color:.green;.....}......t36
0ea0 5f 31 20 7b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 35 43 37 41 3b 0a 20 20 20 20 7d _1.{.......color:.#005C7A;.....}
0ec0 0a 20 20 20 20 2e 66 69 6c 65 20 7b 0a 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 ......file.{.......font-weight:.
0ee0 62 6f 6c 64 3b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 7d bold;.......border:.unset;.....}
0f00 0a 20 20 20 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 .....code.{.......background:.#f
0f20 38 66 38 66 38 3b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 31 70 78 20 64 6f 74 74 65 64 20 8f8f8;.......border:.1px.dotted.
0f40 73 69 6c 76 65 72 3b 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 30 2e 33 65 silver;.......padding-left:.0.3e
0f60 6d 3b 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 72 69 67 68 74 3a 20 30 2e 33 65 6d 3b 0a 20 m;.......padding-right:.0.3em;..
0f80 20 20 20 7d 0a 20 20 20 20 70 72 65 20 3e 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 64 69 73 70 ...}.....pre.>.code.{.......disp
0fa0 6c 61 79 3a 20 62 6c 6f 63 6b 3b 0a 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 61 75 74 6f lay:.block;.......overflow:.auto
0fc0 3b 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 62 6f ;.......padding:.0.5em;.......bo
0fe0 72 64 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 23 65 65 65 3b 0a 20 20 20 20 20 20 6c 69 6e 65 rder:.1px.solid.#eee;.......line
1000 2d 68 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 7d 0a 20 20 20 20 73 61 6d 70 20 -height:.normal;.....}.....samp.
1020 7b 0a 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 61 66 61 66 61 3b 0a 20 20 20 {.......background:.#fafafa;....
1040 20 7d 0a 20 20 20 20 70 72 65 20 3e 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 64 69 73 70 6c 61 .}.....pre.>.samp.{.......displa
1060 79 3a 20 62 6c 6f 63 6b 3b 0a 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 61 75 74 6f 3b 0a y:.block;.......overflow:.auto;.
1080 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 20 20 20 62 6f 72 64 ......padding:.0.5em;.......bord
10a0 65 72 3a 20 31 70 78 20 73 6f 6c 69 64 20 23 65 65 65 3b 0a 20 20 20 20 20 20 6c 69 6e 65 2d 68 er:.1px.solid.#eee;.......line-h
10c0 65 69 67 68 74 3a 20 6e 6f 72 6d 61 6c 3b 0a 20 20 20 20 7d 0a 20 20 20 20 6b 62 64 20 7b 0a 20 eight:.normal;.....}.....kbd.{..
10e0 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 7d 0a 20 20 .....font-weight:.bold;.....}...
1100 20 20 2e 74 61 62 6c 65 2d 77 72 61 70 70 65 72 20 7b 0a 20 20 20 20 20 20 77 69 64 74 68 3a 20 ...table-wrapper.{.......width:.
1120 31 30 30 25 3b 0a 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 2d 78 3a 20 61 75 74 6f 3b 0a 20 20 100%;.......overflow-x:.auto;...
1140 20 20 7d 0a 0a 20 20 20 20 2e 74 6f 6b 2d 6b 77 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 ..}.......tok-kw.{.........color
1160 3a 20 23 33 33 33 3b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c :.#333;.........font-weight:.bol
1180 64 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 73 74 72 20 7b 0a 20 20 20 20 20 20 20 20 d;.....}......tok-str.{.........
11a0 63 6f 6c 6f 72 3a 20 23 64 31 34 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 62 75 69 6c color:.#d14;.....}......tok-buil
11c0 74 69 6e 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 35 43 37 41 3b 0a 20 20 tin.{.........color:.#005C7A;...
11e0 20 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 20 7b 0a 20 20 20 20 20 20 20 20 63 ..}......tok-comment.{.........c
1200 6f 6c 6f 72 3a 20 23 35 34 35 34 35 34 3b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 73 74 79 6c olor:.#545454;.........font-styl
1220 65 3a 20 69 74 61 6c 69 63 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 66 6e 20 7b 0a 20 e:.italic;.....}......tok-fn.{..
1240 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 39 30 30 3b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 .......color:.#900;.........font
1260 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 6e 75 -weight:.bold;.....}......tok-nu
1280 6c 6c 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 35 43 35 43 3b 0a 20 20 20 ll.{.........color:.#005C5C;....
12a0 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 6e 75 6d 62 65 72 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c .}......tok-number.{.........col
12c0 6f 72 3a 20 23 30 30 35 43 35 43 3b 0a 20 20 20 20 7d 0a 20 20 20 20 2e 74 6f 6b 2d 74 79 70 65 or:.#005C5C;.....}......tok-type
12e0 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 34 35 38 3b 0a 20 20 20 20 20 20 20 20 .{.........color:.#458;.........
1300 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 69 font-weight:.bold;.....}......fi
1320 67 75 72 65 20 7b 0a 20 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 20 30 3b 0a 20 20 20 gure.{.......margin:.auto.0;....
1340 20 7d 0a 20 20 20 20 66 69 67 75 72 65 20 70 72 65 20 7b 0a 20 20 20 20 20 20 6d 61 72 67 69 6e .}.....figure.pre.{.......margin
1360 2d 74 6f 70 3a 20 30 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 20 7b -top:.0;.....}......figcaption.{
1380 0a 20 20 20 20 20 20 70 61 64 64 69 6e 67 2d 6c 65 66 74 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 20 .......padding-left:.0.5em;.....
13a0 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 73 6d 61 6c 6c 3b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 ..font-size:.small;.......border
13c0 2d 74 6f 70 2d 6c 65 66 74 2d 72 61 64 69 75 73 3a 20 35 70 78 3b 0a 20 20 20 20 20 20 62 6f 72 -top-left-radius:.5px;.......bor
13e0 64 65 72 2d 74 6f 70 2d 72 69 67 68 74 2d 72 61 64 69 75 73 3a 20 35 70 78 3b 0a 20 20 20 20 7d der-top-right-radius:.5px;.....}
1400 0a 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 7a 69 67 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 .....figcaption.zig-cap.{.......
1420 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 63 64 62 61 35 3b 0a 20 20 20 20 7d 0a 20 20 20 20 66 background:.#fcdba5;.....}.....f
1440 69 67 63 61 70 74 69 6f 6e 2e 63 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 igcaption.c-cap.{.......backgrou
1460 6e 64 3a 20 23 61 38 62 39 63 63 3b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a nd:.#a8b9cc;.......color:.#000;.
1480 20 20 20 20 7d 0a 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 70 65 67 2d 63 61 70 20 7b 0a 20 ....}.....figcaption.peg-cap.{..
14a0 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 66 63 64 62 61 35 3b 0a 20 20 20 20 7d 0a .....background:.#fcdba5;.....}.
14c0 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 6a 61 76 61 73 63 72 69 70 74 2d 63 61 70 20 7b 0a ....figcaption.javascript-cap.{.
14e0 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 33 36 35 64 39 35 3b 0a 20 20 20 20 20 ......background:.#365d95;......
1500 20 63 6f 6c 6f 72 3a 20 23 66 66 66 3b 0a 20 20 20 20 7d 0a 20 20 20 20 66 69 67 63 61 70 74 69 .color:.#fff;.....}.....figcapti
1520 6f 6e 2e 73 68 65 6c 6c 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a on.shell-cap.{.......background:
1540 20 23 63 63 63 3b 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 7d 0a .#ccc;.......color:.#000;.....}.
1560 0a 20 20 20 20 61 73 69 64 65 20 7b 0a 20 20 20 20 20 20 62 6f 72 64 65 72 2d 6c 65 66 74 3a 20 .....aside.{.......border-left:.
1580 30 2e 32 35 65 6d 20 73 6f 6c 69 64 20 23 66 37 61 34 31 64 3b 0a 20 20 20 20 20 20 70 61 64 64 0.25em.solid.#f7a41d;.......padd
15a0 69 6e 67 3a 20 30 20 31 65 6d 20 30 20 31 65 6d 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 68 31 20 ing:.0.1em.0.1em;.....}......h1.
15c0 61 2c 20 68 32 20 61 2c 20 68 33 20 61 2c 20 68 34 20 61 2c 20 68 35 20 61 20 7b 0a 20 20 20 20 a,.h2.a,.h3.a,.h4.a,.h5.a.{.....
15e0 20 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 20 6e 6f 6e 65 3b 0a 20 20 20 20 20 20 63 ..text-decoration:.none;.......c
1600 6f 6c 6f 72 3a 20 23 33 33 33 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 61 2e 68 64 72 20 7b 0a 20 olor:.#333;.....}......a.hdr.{..
1620 20 20 20 20 20 76 69 73 69 62 69 6c 69 74 79 3a 20 68 69 64 64 65 6e 3b 0a 20 20 20 20 7d 0a 20 .....visibility:.hidden;.....}..
1640 20 20 20 68 31 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 32 3a 68 6f 76 65 72 20 3e 20 ...h1:hover.>.a.hdr,.h2:hover.>.
1660 61 2e 68 64 72 2c 20 68 33 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 34 3a 68 6f 76 65 a.hdr,.h3:hover.>.a.hdr,.h4:hove
1680 72 20 3e 20 61 2e 68 64 72 2c 20 68 35 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 20 7b 0a 20 20 r.>.a.hdr,.h5:hover.>.a.hdr.{...
16a0 20 20 20 20 76 69 73 69 62 69 6c 69 74 79 3a 20 76 69 73 69 62 6c 65 3b 0a 20 20 20 20 7d 0a 0a ....visibility:.visible;.....}..
16c0 20 20 20 20 70 72 65 20 7b 0a 20 20 20 20 20 20 63 6f 75 6e 74 65 72 2d 72 65 73 65 74 3a 20 6c ....pre.{.......counter-reset:.l
16e0 69 6e 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 70 72 65 20 2e 6c 69 6e 65 3a 62 65 66 6f 72 65 20 ine;.....}.....pre..line:before.
1700 7b 0a 20 20 20 20 20 20 63 6f 75 6e 74 65 72 2d 69 6e 63 72 65 6d 65 6e 74 3a 20 6c 69 6e 65 3b {.......counter-increment:.line;
1720 0a 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 3a 20 63 6f 75 6e 74 65 72 28 6c 69 6e 65 29 3b 0a 20 .......content:.counter(line);..
1740 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 69 6e 6c 69 6e 65 2d 62 6c 6f 63 6b 3b 0a 20 20 20 20 .....display:.inline-block;.....
1760 20 20 70 61 64 64 69 6e 67 2d 72 69 67 68 74 3a 20 31 65 6d 3b 0a 20 20 20 20 20 20 77 69 64 74 ..padding-right:.1em;.......widt
1780 68 3a 20 32 65 6d 3b 0a 20 20 20 20 20 20 74 65 78 74 2d 61 6c 69 67 6e 3a 20 72 69 67 68 74 3b h:.2em;.......text-align:.right;
17a0 0a 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 39 39 39 3b 0a 20 20 20 20 7d 0a 20 20 20 20 74 68 .......color:.#999;.....}.....th
17c0 20 70 72 65 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 .pre.code.{.........background:.
17e0 6e 6f 6e 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 74 68 20 2e 6c 69 6e 65 3a 62 65 66 6f 72 65 20 none;.....}.....th..line:before.
1800 7b 0a 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 6e 6f 6e 65 3b 0a 20 20 20 20 7d 0a 0a {.........display:.none;.....}..
1820 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
1840 3a 20 64 61 72 6b 29 20 7b 0a 20 20 20 20 20 20 62 6f 64 79 7b 0a 20 20 20 20 20 20 20 20 20 20 :.dark).{.......body{...........
1860 62 61 63 6b 67 72 6f 75 6e 64 3a 23 31 32 31 32 31 32 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f background:#121212;...........co
1880 6c 6f 72 3a 20 23 63 63 63 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 61 20 7b 0a 20 20 20 lor:.#ccc;.......}.......a.{....
18a0 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 38 38 66 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 .......color:.#88f;.......}.....
18c0 20 20 61 3a 68 6f 76 65 72 2c 61 3a 66 6f 63 75 73 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f ..a:hover,a:focus.{...........co
18e0 6c 6f 72 3a 20 23 30 30 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 61 62 6c 65 2c 20 lor:.#000;.......}.......table,.
1900 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 63 6f 6c 6f 72 3a th,.td.{...........border-color:
1920 20 67 72 65 79 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 32 5f 30 20 7b 0a 20 20 20 .grey;.......}........t2_0.{....
1940 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 67 72 65 79 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 .......color:.grey;.......}.....
1960 20 20 2e 74 33 31 5f 31 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 72 65 64 3b ...t31_1.{...........color:.red;
1980 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 33 32 5f 31 20 7b 0a 20 20 20 20 20 20 20 20 .......}........t32_1.{.........
19a0 20 20 63 6f 6c 6f 72 3a 20 23 30 30 42 38 30 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 ..color:.#00B800;.......}.......
19c0 2e 74 33 36 5f 31 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 38 36 62 .t36_1.{...........color:.#0086b
19e0 33 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 3;.......}.......code.{.........
1a00 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 32 32 32 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 background:.#222;.........border
1a20 2d 63 6f 6c 6f 72 3a 20 23 34 34 34 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 70 72 65 20 -color:.#444;.......}.......pre.
1a40 3e 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 63 63 3b 0a >.code.{...........color:.#ccc;.
1a60 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;.....
1a80 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 ......border:.unset;.......}....
1aa0 20 20 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 30 ...samp.{.........background:.#0
1ac0 30 30 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 63 63 3b 0a 20 20 20 20 20 20 7d 00;.........color:.#ccc;.......}
1ae0 0a 20 20 20 20 20 20 70 72 65 20 3e 20 73 61 6d 70 20 7b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 .......pre.>.samp.{.........bord
1b00 65 72 3a 20 75 6e 73 65 74 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 6b 77 er:.unset;.......}........tok-kw
1b20 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 65 65 65 3b 0a 20 20 20 20 20 20 .{...........color:.#eee;.......
1b40 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 73 74 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c }........tok-str.{...........col
1b60 6f 72 3a 20 23 32 65 35 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 62 75 69 or:.#2e5;.......}........tok-bui
1b80 6c 74 69 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 38 39 34 63 3b ltin.{...........color:.#ff894c;
1ba0 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 20 7b 0a 20 20 .......}........tok-comment.{...
1bc0 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 61 61 37 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 ........color:.#aa7;.......}....
1be0 20 20 20 2e 74 6f 6b 2d 66 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 42 ....tok-fn.{...........color:.#B
1c00 31 41 30 46 38 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 6e 75 6c 6c 20 7b 1A0F8;.......}........tok-null.{
1c20 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 38 30 38 30 3b 0a 20 20 20 20 20 ...........color:.#ff8080;......
1c40 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 6e 75 6d 62 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 .}........tok-number.{..........
1c60 20 63 6f 6c 6f 72 3a 20 23 66 66 38 30 38 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e .color:.#ff8080;.......}........
1c80 74 6f 6b 2d 74 79 70 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 36 38 66 tok-type.{...........color:.#68f
1ca0 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 68 31 20 61 2c 20 68 32 20 61 2c 20 68 33 20 61 ;.......}.......h1.a,.h2.a,.h3.a
1cc0 2c 20 68 34 20 61 2c 20 68 35 20 61 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 ,.h4.a,.h5.a.{...........color:.
1ce0 23 61 61 61 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 7a #aaa;.......}.......figcaption.z
1d00 69 67 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f ig-cap.{...........background-co
1d20 6c 6f 72 3a 20 23 62 32 37 33 30 36 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 lor:.#b27306;...........color:.#
1d40 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 65 000;.......}.......figcaption.pe
1d60 67 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c g-cap.{...........background-col
1d80 6f 72 3a 20 23 62 32 37 33 30 36 3b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 or:.#b27306;...........color:.#0
1da0 30 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 66 69 67 63 61 70 74 69 6f 6e 2e 73 68 65 00;.......}.......figcaption.she
1dc0 6c 6c 2d 63 61 70 20 7b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 32 61 ll-cap.{.........background:.#2a
1de0 32 61 32 61 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 66 3b 0a 20 20 20 20 20 2a2a;.........color:.#fff;......
1e00 20 7d 0a 20 20 20 20 7d 0a 20 20 3c 2f 73 74 79 6c 65 3e 0a 3c 2f 68 65 61 64 3e 0a 3c 62 6f 64 .}.....}...</style>.</head>.<bod
1e20 79 3e 0a 20 20 3c 68 65 61 64 65 72 3e 3c 68 31 3e 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 65 y>...<header><h1>Zig.Language.Re
1e40 66 65 72 65 6e 63 65 3c 2f 68 31 3e 3c 2f 68 65 61 64 65 72 3e 0a 20 20 3c 64 69 76 20 69 64 3d ference</h1></header>...<div.id=
1e60 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 64 3d 22 6e "main-wrapper">.......<div.id="n
1e80 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 61 2d 6c 61 avigation">.........<nav.aria-la
1ea0 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 20 20 20 20 belledby="zig-version">.........
1ec0 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 65 72 73 69 ..<h2.id="zig-version">Zig.Versi
1ee0 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 74 74 70 73 on</h2>...........<a.href="https
1f00 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 31 ://ziglang.org/documentation/0.1
1f20 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 74 70 73 3a .1/">0.1.1</a>.|.<a.href="https:
1f40 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 32 2e //ziglang.org/documentation/0.2.
1f60 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 70 73 3a 2f 0/">0.2.0</a>.|.<a.href="https:/
1f80 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 33 2e 30 /ziglang.org/documentation/0.3.0
1fa0 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 73 3a 2f 2f /">0.3.0</a>.|.<a.href="https://
1fc0 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 34 2e 30 2f ziglang.org/documentation/0.4.0/
1fe0 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 3a 2f 2f 7a ">0.4.0</a>.|.<a.href="https://z
2000 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 2e 30 2f 22 iglang.org/documentation/0.5.0/"
2020 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 2f 2f 7a 69 >0.5.0</a>.|.<a.href="https://zi
2040 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 30 2f 22 3e glang.org/documentation/0.6.0/">
2060 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 2f 7a 69 67 0.6.0</a>.|.<a.href="https://zig
2080 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 2f 22 3e 30 lang.org/documentation/0.7.1/">0
20a0 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 7a 69 67 6c .7.1</a>.|.<a.href="https://zigl
20c0 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 22 3e 30 2e ang.org/documentation/0.8.1/">0.
20e0 38 2e 31 3c 2f 61 3e 20 7c 0a 30 2e 39 2e 31 20 7c 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 8.1</a>.|.0.9.1.|.<a.href="https
2100 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 31 ://ziglang.org/documentation/0.1
2120 30 2e 31 2f 22 3e 30 2e 31 30 2e 31 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 0.1/">0.10.1</a>.|.<a.href="http
2140 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.
2160 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 68 74 74 11.0/">0.11.0</a>.|.<a.href="htt
2180 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
21a0 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 22 68 74 .12.1/">0.12.1</a>.|.<a.href="ht
21c0 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/
21e0 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 3d 22 68 0.13.0/">0.13.0</a>.|.<a.href="h
2200 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
2220 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 66 3d 22 /0.14.1/">0.14.1</a>.|.<a.href="
2240 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
2260 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 65 66 3d n/0.15.2/">0.15.2</a>.|.<a.href=
2280 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
22a0 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 72 65 66 on/0.16.0/">0.16.0</a>.|.<a.href
22c0 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
22e0 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 20 20 20 ion/master/">master</a>.........
2300 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 6c 6c 65 </nav>.........<nav.aria-labelle
2320 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 20 20 20 dby="table-of-contents">........
2340 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 3e 54 61 ...<h2.id="table-of-contents">Ta
2360 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 20 20 0a ble.of.Contents</h2>............
2380 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 74 6f 63 .....<ul>.........<li><a.id="toc
23a0 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 63 74 69 -Introduction".href="#Introducti
23c0 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 20 20 20 on">Introduction</a></li>.......
23e0 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 2d 4c 69 ..<li><a.id="toc-Zig-Standard-Li
2400 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 62 72 61 brary".href="#Zig-Standard-Libra
2420 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 3c 2f 6c 69 ry">Zig.Standard.Library</a></li
2440 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 48 65 6c 6c 6f 2d 57 >.........<li><a.id="toc-Hello-W
2460 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 6c 6f 20 orld".href="#Hello-World">Hello.
2480 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 20 69 64 World</a></li>.........<li><a.id
24a0 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 74 73 22 ="toc-Comments".href="#Comments"
24c0 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 20 20 20 >Comments</a>.........<ul>......
24e0 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 6d 65 6e .......<li><a.id="toc-Doc-commen
2500 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 63 6f 6d ts".href="#Doc-comments">Doc.com
2520 6d 65 6e 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c ments</a></li>.............<li><
2540 61 20 69 64 3d 22 74 6f 63 2d 54 6f 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 a.id="toc-Top-Level-Doc-Comments
2560 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 22 ".href="#Top-Level-Doc-Comments"
2580 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 6c 69 3e >Top-Level.Doc.Comments</a></li>
25a0 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>
25c0 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 75 65 73 <a.id="toc-Values".href="#Values
25e0 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 20 20 20 ">Values</a>.........<ul>.......
2600 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 54 ......<li><a.id="toc-Primitive-T
2620 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 3e 50 72 ypes".href="#Primitive-Types">Pr
2640 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 20 20 20 imitive.Types</a></li>..........
2660 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 61 6c 75 ...<li><a.id="toc-Primitive-Valu
2680 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 50 72 69 es".href="#Primitive-Values">Pri
26a0 6d 69 74 69 76 65 20 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 mitive.Values</a></li>..........
26c0 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 72 61 6c ...<li><a.id="toc-String-Literal
26e0 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c s-and-Unicode-Code-Point-Literal
2700 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 2d 55 6e s".href="#String-Literals-and-Un
2720 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 53 74 72 69 6e icode-Code-Point-Literals">Strin
2740 67 20 4c 69 74 65 72 61 6c 73 20 61 6e 64 20 55 6e 69 63 6f 64 65 20 43 6f 64 65 20 50 6f 69 6e g.Literals.and.Unicode.Code.Poin
2760 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 6c 3e 0a t.Literals</a>.............<ul>.
2780 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 45 ................<li><a.id="toc-E
27a0 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 65 2d 53 scape-Sequences".href="#Escape-S
27c0 65 71 75 65 6e 63 65 73 22 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 73 3c 2f 61 3e 3c 2f equences">Escape.Sequences</a></
27e0 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
2800 6f 63 2d 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 oc-Multiline-String-Literals".hr
2820 65 66 3d 22 23 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 22 3e ef="#Multiline-String-Literals">
2840 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 3c 2f 6c Multiline.String.Literals</a></l
2860 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 20 i>.............</ul></li>.......
2880 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 6e 74 22 ......<li><a.id="toc-Assignment"
28a0 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 74 3c 2f .href="#Assignment">Assignment</
28c0 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>.............
28e0 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 64 65 66 69 6e 65 64 22 20 68 72 ....<li><a.id="toc-undefined".hr
2900 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 3c 2f 6c ef="#undefined">undefined</a></l
2920 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 20 i>.............</ul></li>.......
2940 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 64 3d 22 ..</ul></li>.........<li><a.id="
2960 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 22 3e 5a toc-Zig-Test".href="#Zig-Test">Z
2980 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 20 20 20 ig.Test</a>.........<ul>........
29a0 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 61 72 61 .....<li><a.id="toc-Test-Declara
29c0 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 6e 73 22 tions".href="#Test-Declarations"
29e0 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 20 20 20 >Test.Declarations</a></li>.....
2a00 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 2d 43 6f ........<li><a.id="toc-Nested-Co
2a20 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 43 6f 6e ntainer-Tests".href="#Nested-Con
2a40 74 61 69 6e 65 72 2d 54 65 73 74 73 22 3e 4e 65 73 74 65 64 20 43 6f 6e 74 61 69 6e 65 72 20 54 tainer-Tests">Nested.Container.T
2a60 65 73 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 ests</a></li>.............<li><a
2a80 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 23 54 65 .id="toc-Test-Failure".href="#Te
2aa0 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 2f 6c 69 st-Failure">Test.Failure</a></li
2ac0 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 6b 69 >.............<li><a.id="toc-Ski
2ae0 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 6b 69 70 p-Tests".href="#Skip-Tests">Skip
2b00 20 54 65 73 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e .Tests</a></li>.............<li>
2b20 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 73 22 20 <a.id="toc-Report-Memory-Leaks".
2b40 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 65 70 6f href="#Report-Memory-Leaks">Repo
2b60 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 20 20 20 rt.Memory.Leaks</a></li>........
2b80 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 2d 54 65 .....<li><a.id="toc-Detecting-Te
2ba0 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 73 74 2d st-Build".href="#Detecting-Test-
2bc0 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 61 3e 3c Build">Detecting.Test.Build</a><
2be0 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-
2c00 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 3d 22 23 Test-Output-and-Logging".href="#
2c20 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 20 4f 75 Test-Output-and-Logging">Test.Ou
2c40 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 20 20 20 tput.and.Logging</a></li>.......
2c60 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 69 6e 67 ......<li><a.id="toc-The-Testing
2c80 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 67 2d 4e -Namespace".href="#The-Testing-N
2ca0 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 63 65 3c amespace">The.Testing.Namespace<
2cc0 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="
2ce0 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 68 72 65 toc-Test-Tool-Documentation".hre
2d00 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 54 65 73 f="#Test-Tool-Documentation">Tes
2d20 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 0a 20 20 t.Tool.Documentation</a></li>...
2d40 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 20 ......</ul></li>.........<li><a.
2d60 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 69 61 62 id="toc-Variables".href="#Variab
2d80 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 6c 3e 0a les">Variables</a>.........<ul>.
2da0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 64 65 6e 74 ............<li><a.id="toc-Ident
2dc0 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 64 65 6e ifiers".href="#Identifiers">Iden
2de0 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 3c 6c 69 tifiers</a></li>.............<li
2e00 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 ><a.id="toc-Container-Level-Vari
2e20 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 2d 56 61 ables".href="#Container-Level-Va
2e40 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 61 62 6c riables">Container.Level.Variabl
2e60 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 es</a></li>.............<li><a.i
2e80 64 3d 22 74 6f 63 2d 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 20 68 d="toc-Static-Local-Variables".h
2ea0 72 65 66 3d 22 23 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 53 74 ref="#Static-Local-Variables">St
2ec0 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 0a 20 20 atic.Local.Variables</a></li>...
2ee0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 68 72 65 61 64 2d ..........<li><a.id="toc-Thread-
2f00 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 64 2d 4c Local-Variables".href="#Thread-L
2f20 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 61 6c 20 56 61 72 ocal-Variables">Thread.Local.Var
2f40 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 6c 69 3e iables</a></li>.............<li>
2f60 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 72 65 66 <a.id="toc-Local-Variables".href
2f80 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 69 61 62 ="#Local-Variables">Local.Variab
2fa0 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 0a les</a></li>.........</ul></li>.
2fc0 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 72 73 22 ........<li><a.id="toc-Integers"
2fe0 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 0a 20 .href="#Integers">Integers</a>..
3000 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 20 69 .......<ul>.............<li><a.i
3020 64 3d 22 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 23 d="toc-Integer-Literals".href="#
3040 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 49 6e 74 65 67 65 72 20 4c 69 74 65 72 61 Integer-Literals">Integer.Litera
3060 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 61 20 69 ls</a></li>.............<li><a.i
3080 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 22 20 68 d="toc-Runtime-Integer-Values".h
30a0 72 65 66 3d 22 23 52 75 6e 74 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 22 3e 52 75 ref="#Runtime-Integer-Values">Ru
30c0 6e 74 69 6d 65 20 49 6e 74 65 67 65 72 20 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ntime.Integer.Values</a></li>...
30e0 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 20 ......</ul></li>.........<li><a.
3100 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 22 3e 46 id="toc-Floats".href="#Floats">F
3120 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 20 20 20 loats</a>.........<ul>..........
3140 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 ...<li><a.id="toc-Float-Literals
3160 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 74 20 4c ".href="#Float-Literals">Float.L
3180 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
31a0 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 65 72 61 ><a.id="toc-Floating-Point-Opera
31c0 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 4f 70 65 tions".href="#Floating-Point-Ope
31e0 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 69 6e 67 20 50 6f 69 6e 74 20 4f 70 65 72 61 74 69 6f rations">Floating.Point.Operatio
3200 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 3e 0a 20 ns</a></li>.........</ul></li>..
3220 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 65 72 61 74 6f 72 73 22 .......<li><a.id="toc-Operators"
3240 20 68 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e .href="#Operators">Operators</a>
3260 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
3280 20 69 64 3d 22 74 6f 63 2d 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 20 68 72 65 .id="toc-Table-of-Operators".hre
32a0 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 20 6f 66 f="#Table-of-Operators">Table.of
32c0 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 20 20 20 .Operators</a></li>.............
32e0 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 65 66 3d <li><a.id="toc-Precedence".href=
3300 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 2f 6c 69 "#Precedence">Precedence</a></li
3320 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
3340 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 72 61 79 ><a.id="toc-Arrays".href="#Array
3360 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 20 20 20 s">Arrays</a>.........<ul>......
3380 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 75 73 2d .......<li><a.id="toc-Anonymous-
33a0 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 75 73 2d List-Literals".href="#Anonymous-
33c0 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 20 4c 69 List-Literals">Anonymous.List.Li
33e0 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 3e terals</a></li>.............<li>
3400 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 72 72 61 <a.id="toc-Multidimensional-Arra
3420 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 72 72 61 ys".href="#Multidimensional-Arra
3440 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 3c ys">Multidimensional.Arrays</a><
3460 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-
3480 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 72 65 66 Sentinel-Terminated-Arrays".href
34a0 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 22 3e 53 ="#Sentinel-Terminated-Arrays">S
34c0 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c entinel-Terminated.Arrays</a></l
34e0 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 6c i>.........</ul></li>.........<l
3500 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 56 65 63 i><a.id="toc-Vectors".href="#Vec
3520 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 20 20 3c tors">Vectors</a></li>.........<
3540 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 22 23 50 li><a.id="toc-Pointers".href="#P
3560 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 20 3c 75 ointers">Pointers</a>.........<u
3580 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
35a0 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 74 69 6c latile".href="#volatile">volatil
35c0 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 e</a></li>.............<li><a.id
35e0 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 6d 65 6e ="toc-Alignment".href="#Alignmen
3600 74 22 3e 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 t">Alignment</a></li>...........
3620 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 72 65 66 ..<li><a.id="toc-allowzero".href
3640 3d 22 23 61 6c 6c 6f 77 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e ="#allowzero">allowzero</a></li>
3660 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
3680 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 66 3d 22 inel-Terminated-Pointers".href="
36a0 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 53 #Sentinel-Terminated-Pointers">S
36c0 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c entinel-Terminated.Pointers</a><
36e0 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>.........
3700 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 23 53 6c <li><a.id="toc-Slices".href="#Sl
3720 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 0a 20 20 ices">Slices</a>.........<ul>...
3740 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 65 6e 74 69 6e 65 ..........<li><a.id="toc-Sentine
3760 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 65 6e 74 l-Terminated-Slices".href="#Sent
3780 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c inel-Terminated-Slices">Sentinel
37a0 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 20 20 20 -Terminated.Slices</a></li>.....
37c0 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 64 ....</ul></li>.........<li><a.id
37e0 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 73 74 72 ="toc-struct".href="#struct">str
3800 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 20 20 20 uct</a>.........<ul>............
3820 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 .<li><a.id="toc-Default-Field-Va
3840 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 6c 75 65 lues".href="#Default-Field-Value
3860 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 6c 69 3e s">Default.Field.Values</a></li>
3880 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 65 .............<li><a.id="toc-exte
38a0 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 63 74 22 rn-struct".href="#extern-struct"
38c0 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 20 20 20 >extern.struct</a></li>.........
38e0 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 75 63 74 ....<li><a.id="toc-packed-struct
3900 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 64 20 73 ".href="#packed-struct">packed.s
3920 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c truct</a></li>.............<li><
3940 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 3d 22 23 a.id="toc-Struct-Naming".href="#
3960 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 2f 61 3e Struct-Naming">Struct.Naming</a>
3980 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
39a0 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 72 65 66 -Anonymous-Struct-Literals".href
39c0 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e ="#Anonymous-Struct-Literals">An
39e0 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 6c 69 3e onymous.Struct.Literals</a></li>
3a00 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>
3a20 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 3e 65 6e <a.id="toc-enum".href="#enum">en
3a40 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 20 20 20 um</a>.........<ul>.............
3a60 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 65 72 6e 2d 65 6e 75 6d 22 20 68 72 65 66 <li><a.id="toc-extern-enum".href
3a80 3d 22 23 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 65 78 74 65 72 6e 20 65 6e 75 6d 3c 2f 61 3e 3c ="#extern-enum">extern.enum</a><
3aa0 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-
3ac0 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 74 65 72 Enum-Literals".href="#Enum-Liter
3ae0 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 20 20 20 als">Enum.Literals</a></li>.....
3b00 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 68 61 75 ........<li><a.id="toc-Non-exhau
3b20 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 74 69 76 stive-enum".href="#Non-exhaustiv
3b40 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 3c e-enum">Non-exhaustive.enum</a><
3b60 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>.........
3b80 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 75 6e 69 <li><a.id="toc-union".href="#uni
3ba0 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 20 20 20 on">union</a>.........<ul>......
3bc0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 61 67 67 65 64 2d 75 6e 69 .......<li><a.id="toc-Tagged-uni
3be0 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 65 64 20 on".href="#Tagged-union">Tagged.
3c00 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 69 3e 3c union</a></li>.............<li><
3c20 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 22 23 65 a.id="toc-extern-union".href="#e
3c40 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c xtern-union">extern.union</a></l
3c60 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 61 i>.............<li><a.id="toc-pa
3c80 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 6f 6e 22 cked-union".href="#packed-union"
3ca0 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 20 20 20 >packed.union</a></li>..........
3cc0 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 6e 69 6f ...<li><a.id="toc-Anonymous-Unio
3ce0 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 55 6e 69 n-Literals".href="#Anonymous-Uni
3d00 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 74 on-Literals">Anonymous.Union.Lit
3d20 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 2f 6c 69 erals</a></li>.........</ul></li
3d40 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 75 65 22 >.........<li><a.id="toc-opaque"
3d60 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a .href="#opaque">opaque</a></li>.
3d80 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 6c 6f 63 6b 73 22 20 68 ........<li><a.id="toc-blocks".h
3da0 72 65 66 3d 22 23 62 6c 6f 63 6b 73 22 3e 62 6c 6f 63 6b 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 ref="#blocks">blocks</a>........
3dc0 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
3de0 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 3e 53 68 -Shadowing".href="#Shadowing">Sh
3e00 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 3c 2f 75 6c 3e 3c 2f adowing</a></li>.........</ul></
3e20 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 77 69 74 63 li>.........<li><a.id="toc-switc
3e40 68 22 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 0a 20 20 20 h".href="#switch">switch</a>....
3e60 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=
3e80 22 74 6f 63 2d 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 6e 67 22 20 68 72 65 66 3d "toc-Exhaustive-Switching".href=
3ea0 22 23 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 6e 67 22 3e 45 78 68 61 75 73 74 69 "#Exhaustive-Switching">Exhausti
3ec0 76 65 20 53 77 69 74 63 68 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ve.Switching</a></li>...........
3ee0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d ..<li><a.id="toc-Switching-with-
3f00 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 23 53 77 69 74 63 68 69 6e 67 2d Enum-Literals".href="#Switching-
3f20 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 68 69 6e 67 20 77 69 with-Enum-Literals">Switching.wi
3f40 74 68 20 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 th.Enum.Literals</a></li>.......
3f60 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 64 3d 22 ..</ul></li>.........<li><a.id="
3f80 74 6f 63 2d 77 68 69 6c 65 22 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f toc-while".href="#while">while</
3fa0 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 3e a>.........<ul>.............<li>
3fc0 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 77 68 69 6c 65 22 20 68 72 65 66 3d 22 <a.id="toc-Labeled-while".href="
3fe0 23 4c 61 62 65 6c 65 64 2d 77 68 69 6c 65 22 3e 4c 61 62 65 6c 65 64 20 77 68 69 6c 65 3c 2f 61 #Labeled-while">Labeled.while</a
4000 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
4020 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 20 68 72 65 66 3d 22 23 77 c-while-with-Optionals".href="#w
4040 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 hile-with-Optionals">while.with.
4060 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c Optionals</a></li>.............<
4080 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 li><a.id="toc-while-with-Error-U
40a0 6e 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 nions".href="#while-with-Error-U
40c0 6e 69 6f 6e 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f nions">while.with.Error.Unions</
40e0 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
4100 6f 63 2d 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 oc-inline-while".href="#inline-w
4120 68 69 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 hile">inline.while</a></li>.....
4140 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 64 ....</ul></li>.........<li><a.id
4160 3d 22 74 6f 63 2d 66 6f 72 22 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 0a 20 ="toc-for".href="#for">for</a>..
4180 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 20 69 .......<ul>.............<li><a.i
41a0 64 3d 22 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 66 6f 72 22 20 68 72 65 66 3d 22 23 4c 61 62 65 6c d="toc-Labeled-for".href="#Label
41c0 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 20 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 ed-for">Labeled.for</a></li>....
41e0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 6c 69 6e 65 2d 66 .........<li><a.id="toc-inline-f
4200 6f 72 22 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f or".href="#inline-for">inline.fo
4220 72 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 r</a></li>.........</ul></li>...
4240 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 66 22 20 68 72 65 66 3d 22 23 ......<li><a.id="toc-if".href="#
4260 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 if">if</a></li>.........<li><a.i
4280 64 3d 22 74 6f 63 2d 64 65 66 65 72 22 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e 64 65 66 65 d="toc-defer".href="#defer">defe
42a0 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f r</a></li>.........<li><a.id="to
42c0 63 2d 75 6e 72 65 61 63 68 61 62 6c 65 22 20 68 72 65 66 3d 22 23 75 6e 72 65 61 63 68 61 62 6c c-unreachable".href="#unreachabl
42e0 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a e">unreachable</a>.........<ul>.
4300 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 61 73 69 63 ............<li><a.id="toc-Basic
4320 73 22 20 68 72 65 66 3d 22 23 42 61 73 69 63 73 22 3e 42 61 73 69 63 73 3c 2f 61 3e 3c 2f 6c 69 s".href="#Basics">Basics</a></li
4340 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 2d >.............<li><a.id="toc-At-
4360 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 20 68 72 65 66 3d 22 23 41 74 2d 43 6f 6d 70 69 6c 65 2d Compile-Time".href="#At-Compile-
4380 54 69 6d 65 22 3e 41 74 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 Time">At.Compile-Time</a></li>..
43a0 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
43c0 20 69 64 3d 22 74 6f 63 2d 6e 6f 72 65 74 75 72 6e 22 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 75 .id="toc-noreturn".href="#noretu
43e0 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c rn">noreturn</a></li>.........<l
4400 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 46 i><a.id="toc-Functions".href="#F
4420 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 unctions">Functions</a>.........
4440 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-
4460 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 72 73 22 20 68 72 65 66 3d 22 Pass-by-value-Parameters".href="
4480 23 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 50 61 73 73 2d #Pass-by-value-Parameters">Pass-
44a0 62 79 2d 76 61 6c 75 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 by-value.Parameters</a></li>....
44c0 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 6e .........<li><a.id="toc-Function
44e0 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 20 68 72 65 66 3d -Parameter-Type-Inference".href=
4500 22 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 "#Function-Parameter-Type-Infere
4520 6e 63 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 72 20 54 79 70 65 20 49 6e 66 nce">Function.Parameter.Type.Inf
4540 65 72 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e erence</a></li>.............<li>
4560 3c 61 20 69 64 3d 22 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 20 <a.id="toc-Function-Reflection".
4580 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e 46 75 6e 63 href="#Function-Reflection">Func
45a0 74 69 6f 6e 20 52 65 66 6c 65 63 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 tion.Reflection</a></li>........
45c0 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
45e0 6f 63 2d 45 72 72 6f 72 73 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 oc-Errors".href="#Errors">Errors
4600 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
4620 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 20 68 72 65 i><a.id="toc-Error-Set-Type".hre
4640 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
4660 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 20 pe</a>.............<ul>.........
4680 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 68 65 2d 47 6c 6f 62 61 ........<li><a.id="toc-The-Globa
46a0 6c 2d 45 72 72 6f 72 2d 53 65 74 22 20 68 72 65 66 3d 22 23 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 l-Error-Set".href="#The-Global-E
46c0 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f rror-Set">The.Global.Error.Set</
46e0 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 2f 6c 69 3e 0a 20 a></li>.............</ul></li>..
4700 20 20 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 2d ...........<li><a.id="toc-Error-
4720 55 6e 69 6f 6e 2d 54 79 70 65 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 Union-Type".href="#Error-Union-T
4740 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 0a 20 20 20 20 20 20 ype">Error.Union.Type</a>.......
4760 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 3c ......<ul>.................<li><
4780 61 20 69 64 3d 22 74 6f 63 2d 63 61 74 63 68 22 20 68 72 65 66 3d 22 23 63 61 74 63 68 22 3e 63 a.id="toc-catch".href="#catch">c
47a0 61 74 63 68 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c atch</a></li>.................<l
47c0 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 79 22 20 68 72 65 66 3d 22 23 74 72 79 22 3e 74 72 i><a.id="toc-try".href="#try">tr
47e0 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c y</a></li>.................<li><
4800 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 64 65 66 65 72 22 20 68 72 65 66 3d 22 23 65 72 72 64 65 a.id="toc-errdefer".href="#errde
4820 66 65 72 22 3e 65 72 72 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 fer">errdefer</a></li>..........
4840 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 65 72 67 69 6e 67 2d 45 72 .......<li><a.id="toc-Merging-Er
4860 72 6f 72 2d 53 65 74 73 22 20 68 72 65 66 3d 22 23 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 ror-Sets".href="#Merging-Error-S
4880 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 3c 2f 6c 69 3e ets">Merging.Error.Sets</a></li>
48a0 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-
48c0 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 20 68 72 65 66 3d 22 23 49 6e 66 65 Inferred-Error-Sets".href="#Infe
48e0 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 49 6e 66 65 72 72 65 64 20 45 72 72 6f 72 20 rred-Error-Sets">Inferred.Error.
4900 53 65 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c Sets</a></li>.............</ul><
4920 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-
4940 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 20 68 72 65 66 3d 22 23 45 72 72 6f Error-Return-Traces".href="#Erro
4960 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 45 72 72 6f 72 20 52 65 74 75 72 6e 20 54 72 r-Return-Traces">Error.Return.Tr
4980 61 63 65 73 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 aces</a>.............<ul>.......
49a0 20 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 6d 70 6c 65 6d 65 ..........<li><a.id="toc-Impleme
49c0 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 20 68 72 65 66 3d 22 23 49 6d 70 6c 65 6d 65 6e ntation-Details".href="#Implemen
49e0 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 3e 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 44 tation-Details">Implementation.D
4a00 65 74 61 69 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c etails</a></li>.............</ul
4a20 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>.......
4a40 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 73 22 20 68 72 65 66 ..<li><a.id="toc-Optionals".href
4a60 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 0a 20 20 20 20 ="#Optionals">Optionals</a>.....
4a80 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="
4aa0 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e toc-Optional-Type".href="#Option
4ac0 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 3e 3c 2f 6c 69 3e 0a al-Type">Optional.Type</a></li>.
4ae0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6e 75 6c 6c 22 ............<li><a.id="toc-null"
4b00 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 .href="#null">null</a></li>.....
4b20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d ........<li><a.id="toc-Optional-
4b40 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 Pointers".href="#Optional-Pointe
4b60 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 rs">Optional.Pointers</a></li>..
4b80 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
4ba0 20 69 64 3d 22 74 6f 63 2d 43 61 73 74 69 6e 67 22 20 68 72 65 66 3d 22 23 43 61 73 74 69 6e 67 .id="toc-Casting".href="#Casting
4bc0 22 3e 43 61 73 74 69 6e 67 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 ">Casting</a>.........<ul>......
4be0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 .......<li><a.id="toc-Type-Coerc
4c00 69 6f 6e 22 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 ion".href="#Type-Coercion">Type.
4c20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 Coercion</a>.............<ul>...
4c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 ..............<li><a.id="toc-Typ
4c60 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f e-Coercion-Stricter-Qualificatio
4c80 6e 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 n".href="#Type-Coercion-Stricter
4ca0 2d 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 53 -Qualification">Type.Coercion:.S
4cc0 74 72 69 63 74 65 72 20 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 tricter.Qualification</a></li>..
4ce0 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
4d00 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 69 pe-Coercion-Integer-and-Float-Wi
4d20 64 65 6e 69 6e 67 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 dening".href="#Type-Coercion-Int
4d40 65 67 65 72 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 3e 54 79 70 65 20 43 6f eger-and-Float-Widening">Type.Co
4d60 65 72 63 69 6f 6e 3a 20 49 6e 74 65 67 65 72 20 61 6e 64 20 46 6c 6f 61 74 20 57 69 64 65 6e 69 ercion:.Integer.and.Float.Wideni
4d80 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e ng</a></li>.................<li>
4da0 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 43 6f 65 72 63 69 6f <a.id="toc-Type-Coercion-Coercio
4dc0 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 n-Float-to-Int".href="#Type-Coer
4de0 63 69 6f 6e 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 3e 54 79 70 65 cion-Coercion-Float-to-Int">Type
4e00 20 43 6f 65 72 63 69 6f 6e 3a 20 43 6f 65 72 63 69 6f 6e 20 46 6c 6f 61 74 20 74 6f 20 49 6e 74 .Coercion:.Coercion.Float.to.Int
4e20 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 </a></li>.................<li><a
4e40 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 .id="toc-Type-Coercion-Slices-Ar
4e60 72 61 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 rays-and-Pointers".href="#Type-C
4e80 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 50 6f 69 6e 74 65 oercion-Slices-Arrays-and-Pointe
4ea0 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 20 41 72 72 61 79 rs">Type.Coercion:.Slices,.Array
4ec0 73 20 61 6e 64 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 s.and.Pointers</a></li>.........
4ee0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 ........<li><a.id="toc-Type-Coer
4f00 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 cion-Optionals".href="#Type-Coer
4f20 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 4f cion-Optionals">Type.Coercion:.O
4f40 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 20 20 ptionals</a></li>...............
4f60 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 ..<li><a.id="toc-Type-Coercion-E
4f80 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f rror-Unions".href="#Type-Coercio
4fa0 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 45 n-Error-Unions">Type.Coercion:.E
4fc0 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 rror.Unions</a></li>............
4fe0 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f .....<li><a.id="toc-Type-Coercio
5000 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 20 68 72 n-Compile-Time-Known-Numbers".hr
5020 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d ef="#Type-Coercion-Compile-Time-
5040 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 43 6f Known-Numbers">Type.Coercion:.Co
5060 6d 70 69 6c 65 2d 54 69 6d 65 20 4b 6e 6f 77 6e 20 4e 75 6d 62 65 72 73 3c 2f 61 3e 3c 2f 6c 69 mpile-Time.Known.Numbers</a></li
5080 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
50a0 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 69 6f 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 -Type-Coercion-unions-and-enums"
50c0 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 69 6f 6e 73 2d 61 6e 64 .href="#Type-Coercion-unions-and
50e0 2d 65 6e 75 6d 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 75 6e 69 6f 6e 73 20 61 6e -enums">Type.Coercion:.unions.an
5100 64 20 65 6e 75 6d 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 d.enums</a></li>................
5120 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 5a 65 .<li><a.id="toc-Type-Coercion-Ze
5140 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 ro-Bit-Types".href="#Type-Coerci
5160 6f 6e 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e on-Zero-Bit-Types">Type.Coercion
5180 3a 20 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 :.Zero.Bit.Types</a></li>.......
51a0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f ..........<li><a.id="toc-Type-Co
51c0 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 6f ercion-undefined".href="#Type-Co
51e0 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 3a ercion-undefined">Type.Coercion:
5200 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 20 .undefined</a></li>.............
5220 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 64 </ul></li>.............<li><a.id
5240 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 70 ="toc-Explicit-Casts".href="#Exp
5260 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 3c licit-Casts">Explicit.Casts</a><
5280 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-
52a0 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 65 Peer-Type-Resolution".href="#Pee
52c0 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 r-Type-Resolution">Peer.Type.Res
52e0 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 2f olution</a></li>.........</ul></
5300 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 2d li>.........<li><a.id="toc-Zero-
5320 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 73 Bit-Types".href="#Zero-Bit-Types
5340 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 6c ">Zero.Bit.Types</a>.........<ul
5360 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 69 >.............<li><a.id="toc-voi
5380 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 20 d".href="#void">void</a></li>...
53a0 20 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
53c0 73 2d 74 6f 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 20 68 72 65 66 3d 22 23 50 6f 69 6e s-to-Zero-Bit-Types".href="#Poin
53e0 74 65 72 73 2d 74 6f 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 50 6f 69 6e 74 65 72 73 ters-to-Zero-Bit-Types">Pointers
5400 20 74 6f 20 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 .to.Zero.Bit.Types</a></li>.....
5420 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 64 ....</ul></li>.........<li><a.id
5440 3d 22 74 6f 63 2d 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 ="toc-Result-Location-Semantics"
5460 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 74 69 63 .href="#Result-Location-Semantic
5480 73 22 3e 52 65 73 75 6c 74 20 4c 6f 63 61 74 69 6f 6e 20 53 65 6d 61 6e 74 69 63 73 3c 2f 61 3e s">Result.Location.Semantics</a>
54a0 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 75 73 69 </li>.........<li><a.id="toc-usi
54c0 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 73 70 61 ngnamespace".href="#usingnamespa
54e0 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 20 20 20 ce">usingnamespace</a></li>.....
5500 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 68 72 65 ....<li><a.id="toc-comptime".hre
5520 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 0a 20 20 20 20 20 f="#comptime">comptime</a>......
5540 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 74 ...<ul>.............<li><a.id="t
5560 6f 63 2d 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d oc-Introducing-the-Compile-Time-
5580 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 68 65 2d Concept".href="#Introducing-the-
55a0 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 63 69 6e Compile-Time-Concept">Introducin
55c0 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 3e 0a 20 g.the.Compile-Time.Concept</a>..
55e0 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 20 ...........<ul>.................
5600 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 61 72 61 <li><a.id="toc-Compile-Time-Para
5620 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 61 72 61 meters".href="#Compile-Time-Para
5640 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 72 73 3c meters">Compile-Time.Parameters<
5660 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.
5680 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 73 22 20 id="toc-Compile-Time-Variables".
56a0 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 22 3e 43 href="#Compile-Time-Variables">C
56c0 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 ompile-Time.Variables</a></li>..
56e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f ...............<li><a.id="toc-Co
5700 6d 70 69 6c 65 2d 54 69 6d 65 2d 45 78 70 72 65 73 73 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 43 mpile-Time-Expressions".href="#C
5720 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 69 6c 65 ompile-Time-Expressions">Compile
5740 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 20 20 20 -Time.Expressions</a></li>......
5760 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 6c .......</ul></li>.............<l
5780 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 75 63 74 i><a.id="toc-Generic-Data-Struct
57a0 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 75 63 74 ures".href="#Generic-Data-Struct
57c0 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 3c 2f 61 ures">Generic.Data.Structures</a
57e0 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
5800 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 65 66 3d c-Case-Study-print-in-Zig".href=
5820 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 73 65 20 "#Case-Study-print-in-Zig">Case.
5840 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 20 20 20 Study:.print.in.Zig</a></li>....
5860 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
5880 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 62 6c 79 d="toc-Assembly".href="#Assembly
58a0 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 20 20 20 ">Assembly</a>.........<ul>.....
58c0 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 2d 43 6f ........<li><a.id="toc-Output-Co
58e0 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 74 72 61 nstraints".href="#Output-Constra
5900 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 2f 6c 69 ints">Output.Constraints</a></li
5920 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 6e 70 >.............<li><a.id="toc-Inp
5940 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 43 6f 6e ut-Constraints".href="#Input-Con
5960 73 74 72 61 69 6e 74 73 22 3e 49 6e 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e 3c straints">Input.Constraints</a><
5980 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-
59a0 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 6f 62 62 Clobbers".href="#Clobbers">Clobb
59c0 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 ers</a></li>.............<li><a.
59e0 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 3d 22 23 id="toc-Global-Assembly".href="#
5a00 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 62 6c 79 Global-Assembly">Global.Assembly
5a20 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>....
5a40 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 68 72 65 .....<li><a.id="toc-Atomics".hre
5a60 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 0a 20 20 f="#Atomics">Atomics</a></li>...
5a80 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 6e 63 74 ......<li><a.id="toc-Async-Funct
5aa0 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 3e 41 73 ions".href="#Async-Functions">As
5ac0 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 3e 0a 20 ync.Functions</a>.........<ul>..
5ae0 20 20 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 70 65 6e ...........<li><a.id="toc-Suspen
5b00 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 61 6e 64 d-and-Resume".href="#Suspend-and
5b20 2d 52 65 73 75 6d 65 22 3e 53 75 73 70 65 6e 64 20 61 6e 64 20 52 65 73 75 6d 65 3c 2f 61 3e 0a -Resume">Suspend.and.Resume</a>.
5b40 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>................
5b60 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 73 75 6d 69 6e 67 2d 66 72 6f 6d 2d 53 75 .<li><a.id="toc-Resuming-from-Su
5b80 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 2d 66 72 spend-Blocks".href="#Resuming-fr
5ba0 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 72 6f 6d om-Suspend-Blocks">Resuming.from
5bc0 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 20 20 20 .Suspend.Blocks</a></li>........
5be0 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 6c 69 3e .....</ul></li>.............<li>
5c00 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 72 65 66 <a.id="toc-Async-and-Await".href
5c20 3d 22 23 41 73 79 6e 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e 41 73 79 6e 63 20 61 6e 64 20 41 77 ="#Async-and-Await">Async.and.Aw
5c40 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 3c 61 20 ait</a></li>.............<li><a.
5c60 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 65 22 20 id="toc-Async-Function-Example".
5c80 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 2d 45 78 61 6d 70 6c 65 22 3e 41 href="#Async-Function-Example">A
5ca0 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 20 45 78 61 6d 70 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 sync.Function.Example</a></li>..
5cc0 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
5ce0 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 66 .id="toc-Builtin-Functions".href
5d00 3d 22 23 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 46 75 ="#Builtin-Functions">Builtin.Fu
5d20 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 3d 22 63 nctions</a>.........<ul.style="c
5d40 6f 6c 75 6d 6e 73 3a 20 32 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 olumns:.2">.............<li><a.i
5d60 64 3d 22 74 6f 63 2d 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 23 61 d="toc-addWithOverflow".href="#a
5d80 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 ddWithOverflow">@addWithOverflow
5da0 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=
5dc0 22 74 6f 63 2d 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 "toc-alignCast".href="#alignCast
5de0 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ">@alignCast</a></li>...........
5e00 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 6c 69 67 6e 4f 66 22 20 68 72 65 66 3d 22 ..<li><a.id="toc-alignOf".href="
5e20 23 61 6c 69 67 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 #alignOf">@alignOf</a></li>.....
5e40 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 73 22 20 68 72 65 66 3d ........<li><a.id="toc-as".href=
5e60 22 23 61 73 22 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 "#as">@as</a></li>.............<
5e80 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 73 79 6e 63 43 61 6c 6c 22 20 68 72 65 66 3d 22 23 li><a.id="toc-asyncCall".href="#
5ea0 61 73 79 6e 63 43 61 6c 6c 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 asyncCall">@asyncCall</a></li>..
5ec0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 74 6f 6d 69 63 ...........<li><a.id="toc-atomic
5ee0 4c 6f 61 64 22 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 Load".href="#atomicLoad">@atomic
5f00 4c 6f 61 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 Load</a></li>.............<li><a
5f20 20 69 64 3d 22 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 .id="toc-atomicRmw".href="#atomi
5f40 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 20 20 20 20 20 20 cRmw">@atomicRmw</a></li>.......
5f60 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 53 74 6f 72 65 ......<li><a.id="toc-atomicStore
5f80 22 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 6f ".href="#atomicStore">@atomicSto
5fa0 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 re</a></li>.............<li><a.i
5fc0 64 3d 22 74 6f 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 d="toc-bitCast".href="#bitCast">
5fe0 40 62 69 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c @bitCast</a></li>.............<l
6000 69 3e 3c 61 20 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 i><a.id="toc-bitOffsetOf".href="
6020 23 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f #bitOffsetOf">@bitOffsetOf</a></
6040 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 62 li>.............<li><a.id="toc-b
6060 6f 6f 6c 54 6f 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 oolToInt".href="#boolToInt">@boo
6080 6c 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e lToInt</a></li>.............<li>
60a0 3c 61 20 69 64 3d 22 74 6f 63 2d 62 69 74 53 69 7a 65 4f 66 22 20 68 72 65 66 3d 22 23 62 69 74 <a.id="toc-bitSizeOf".href="#bit
60c0 53 69 7a 65 4f 66 22 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 SizeOf">@bitSizeOf</a></li>.....
60e0 20 20 20 20 20 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 ........<li><a.id="toc-breakpoin
6100 74 22 20 68 72 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 t".href="#breakpoint">@breakpoin
6120 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
6140 3d 22 74 6f 63 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 ="toc-mulAdd".href="#mulAdd">@mu
6160 6c 41 64 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 lAdd</a></li>.............<li><a
6180 20 69 64 3d 22 74 6f 63 2d 62 79 74 65 53 77 61 70 22 20 68 72 65 66 3d 22 23 62 79 74 65 53 77 .id="toc-byteSwap".href="#byteSw
61a0 61 70 22 3e 40 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 ap">@byteSwap</a></li>..........
61c0 20 20 20 3c 6c 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 ...<li><a.id="toc-bitReverse".hr
61e0 65 66 3d 22 23 62 69 74 52 65 76 65 72 73 65 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 61 3e ef="#bitReverse">@bitReverse</a>
6200 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 </li>.............<li><a.id="toc
6220 2d 6f 66 66 73 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 -offsetOf".href="#offsetOf">@off
6240 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c setOf</a></li>.............<li><
6260 61 20 69 64 3d 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 a.id="toc-call".href="#call">@ca
6280 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 ll</a></li>.............<li><a.i
62a0 64 3d 22 74 6f 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 d="toc-cDefine".href="#cDefine">
62c0 40 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c @cDefine</a></li>.............<l
62e0 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 49 6d 70 6f 72 74 22 20 68 72 65 66 3d 22 23 63 49 6d i><a.id="toc-cImport".href="#cIm
6300 70 6f 72 74 22 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 port">@cImport</a></li>.........
6320 20 20 20 20 3c 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 ....<li><a.id="toc-cInclude".hre
6340 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e f="#cInclude">@cInclude</a></li>
6360 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6c 7a 22 .............<li><a.id="toc-clz"
6380 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 20 20 20 20 20 .href="#clz">@clz</a></li>......
63a0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6d 70 78 63 68 67 53 74 72 .......<li><a.id="toc-cmpxchgStr
63c0 6f 6e 67 22 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 ong".href="#cmpxchgStrong">@cmpx
63e0 63 68 67 53 74 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 chgStrong</a></li>.............<
6400 6c 69 3e 3c 61 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 li><a.id="toc-cmpxchgWeak".href=
6420 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><
6440 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-
6460 63 6f 6d 70 69 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 compileError".href="#compileErro
6480 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 r">@compileError</a></li>.......
64a0 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 6c 65 4c 6f 67 22 ......<li><a.id="toc-compileLog"
64c0 20 68 72 65 66 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 .href="#compileLog">@compileLog<
64e0 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="
6500 74 6f 63 2d 63 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 toc-ctz".href="#ctz">@ctz</a></l
6520 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 55 i>.............<li><a.id="toc-cU
6540 6e 64 65 66 22 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 ndef".href="#cUndef">@cUndef</a>
6560 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
6580 2d 64 69 76 45 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 -divExact".href="#divExact">@div
65a0 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c Exact</a></li>.............<li><
65c0 61 20 69 64 3d 22 74 6f 63 2d 64 69 76 46 6c 6f 6f 72 22 20 68 72 65 66 3d 22 23 64 69 76 46 6c a.id="toc-divFloor".href="#divFl
65e0 6f 6f 72 22 3e 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 oor">@divFloor</a></li>.........
6600 20 20 20 20 3c 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 ....<li><a.id="toc-divTrunc".hre
6620 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 3c 2f 6c 69 3e f="#divTrunc">@divTrunc</a></li>
6640 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 6d 62 65 .............<li><a.id="toc-embe
6660 64 46 69 6c 65 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 dFile".href="#embedFile">@embedF
6680 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 20 ile</a></li>.............<li><a.
66a0 69 64 3d 22 74 6f 63 2d 65 6e 75 6d 54 6f 49 6e 74 22 20 68 72 65 66 3d 22 23 65 6e 75 6d 54 6f id="toc-enumToInt".href="#enumTo
66c0 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 20 20 20 20 20 20 20 Int">@enumToInt</a></li>........
66e0 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 4e 61 6d 65 22 20 68 .....<li><a.id="toc-errorName".h
6700 72 65 66 3d 22 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 ref="#errorName">@errorName</a><
6720 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-
6740 65 72 72 6f 72 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 errorReturnTrace".href="#errorRe
6760 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 3e turnTrace">@errorReturnTrace</a>
6780 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
67a0 2d 65 72 72 6f 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 -errorToInt".href="#errorToInt">
67c0 40 65 72 72 6f 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 @errorToInt</a></li>............
67e0 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 53 65 74 43 61 73 74 22 20 68 72 65 66 .<li><a.id="toc-errSetCast".href
6800 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 74 3c 2f 61 3e 3c 2f ="#errSetCast">@errSetCast</a></
6820 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
6840 78 70 6f 72 74 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 xport".href="#export">@export</a
6860 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
6880 63 2d 65 78 74 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 c-extern".href="#extern">@extern
68a0 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=
68c0 22 74 6f 63 2d 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 "toc-fence".href="#fence">@fence
68e0 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=
6900 22 74 6f 63 2d 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 "toc-field".href="#field">@field
6920 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=
6940 22 74 6f 63 2d 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 20 68 72 65 66 3d 22 23 66 69 65 6c "toc-fieldParentPtr".href="#fiel
6960 64 50 61 72 65 6e 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 61 3e 3c dParentPtr">@fieldParentPtr</a><
6980 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-
69a0 66 6c 6f 61 74 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 floatCast".href="#floatCast">@fl
69c0 6f 61 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 oatCast</a></li>.............<li
69e0 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6c 6f 61 74 54 6f 49 6e 74 22 20 68 72 65 66 3d 22 23 66 ><a.id="toc-floatToInt".href="#f
6a00 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 74 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a loatToInt">@floatToInt</a></li>.
6a20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 72 61 6d 65 ............<li><a.id="toc-frame
6a40 22 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 3c 2f 6c 69 3e 0a ".href="#frame">@frame</a></li>.
6a60 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 72 61 6d 65 ............<li><a.id="toc-Frame
6a80 22 20 68 72 65 66 3d 22 23 46 72 61 6d 65 22 3e 40 46 72 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a ".href="#Frame">@Frame</a></li>.
6aa0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 72 61 6d 65 ............<li><a.id="toc-frame
6ac0 41 64 64 72 65 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 Address".href="#frameAddress">@f
6ae0 72 61 6d 65 41 64 64 72 65 73 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 rameAddress</a></li>............
6b00 20 3c 6c 69 3e 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 .<li><a.id="toc-frameSize".href=
6b20 22 23 66 72 61 6d 65 53 69 7a 65 22 3e 40 66 72 61 6d 65 53 69 7a 65 3c 2f 61 3e 3c 2f 6c 69 3e "#frameSize">@frameSize</a></li>
6b40 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 44 .............<li><a.id="toc-hasD
6b60 65 63 6c 22 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 ecl".href="#hasDecl">@hasDecl</a
6b80 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f ></li>.............<li><a.id="to
6ba0 63 2d 68 61 73 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 c-hasField".href="#hasField">@ha
6bc0 73 46 69 65 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e sField</a></li>.............<li>
6be0 3c 61 20 69 64 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 <a.id="toc-import".href="#import
6c00 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ">@import</a></li>.............<
6c20 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 43 61 73 74 22 20 68 72 65 66 3d 22 23 69 6e li><a.id="toc-intCast".href="#in
6c40 74 43 61 73 74 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 tCast">@intCast</a></li>........
6c60 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 45 6e 75 6d 22 20 68 .....<li><a.id="toc-intToEnum".h
6c80 72 65 66 3d 22 23 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 3e 3c ref="#intToEnum">@intToEnum</a><
6ca0 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-
6cc0 69 6e 74 54 6f 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 intToError".href="#intToError">@
6ce0 69 6e 74 54 6f 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 intToError</a></li>.............
6d00 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 54 6f 46 6c 6f 61 74 22 20 68 72 65 66 3d <li><a.id="toc-intToFloat".href=
6d20 22 23 69 6e 74 54 6f 46 6c 6f 61 74 22 3e 40 69 6e 74 54 6f 46 6c 6f 61 74 3c 2f 61 3e 3c 2f 6c "#intToFloat">@intToFloat</a></l
6d40 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 69 6e i>.............<li><a.id="toc-in
6d60 74 54 6f 50 74 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 tToPtr".href="#intToPtr">@intToP
6d80 74 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 tr</a></li>.............<li><a.i
6da0 64 3d 22 74 6f 63 2d 6d 61 78 69 6d 75 6d 22 20 68 72 65 66 3d 22 23 6d 61 78 69 6d 75 6d 22 3e d="toc-maximum".href="#maximum">
6dc0 40 6d 61 78 69 6d 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c @maximum</a></li>.............<l
6de0 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 65 6d 63 70 79 22 20 68 72 65 66 3d 22 23 6d 65 6d 63 i><a.id="toc-memcpy".href="#memc
6e00 70 79 22 3e 40 6d 65 6d 63 70 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 py">@memcpy</a></li>............
6e20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 65 6d 73 65 74 22 20 68 72 65 66 3d 22 23 6d .<li><a.id="toc-memset".href="#m
6e40 65 6d 73 65 74 22 3e 40 6d 65 6d 73 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 emset">@memset</a></li>.........
6e60 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d 69 6e 69 6d 75 6d 22 20 68 72 65 66 ....<li><a.id="toc-minimum".href
6e80 3d 22 23 6d 69 6e 69 6d 75 6d 22 3e 40 6d 69 6e 69 6d 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ="#minimum">@minimum</a></li>...
6ea0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 61 73 6d 4d 65 6d ..........<li><a.id="toc-wasmMem
6ec0 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 65 22 3e orySize".href="#wasmMemorySize">
6ee0 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 20 20 20 @wasmMemorySize</a></li>........
6f00 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 61 73 6d 4d 65 6d 6f 72 79 47 72 .....<li><a.id="toc-wasmMemoryGr
6f20 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 61 73 6d ow".href="#wasmMemoryGrow">@wasm
6f40 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 20 20 20 MemoryGrow</a></li>.............
6f60 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 64 22 3e <li><a.id="toc-mod".href="#mod">
6f80 40 6d 6f 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 @mod</a></li>.............<li><a
6fa0 20 69 64 3d 22 74 6f 63 2d 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 .id="toc-mulWithOverflow".href="
6fc0 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 66 6c #mulWithOverflow">@mulWithOverfl
6fe0 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 ow</a></li>.............<li><a.i
7000 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 70 61 6e d="toc-panic".href="#panic">@pan
7020 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 61 20 69 ic</a></li>.............<li><a.i
7040 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 75 6e 74 d="toc-popCount".href="#popCount
7060 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ">@popCount</a></li>............
7080 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 72 65 66 65 74 63 68 22 20 68 72 65 66 3d 22 .<li><a.id="toc-prefetch".href="
70a0 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 0a 20 20 #prefetch">@prefetch</a></li>...
70c0 20 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 61 73 74 ..........<li><a.id="toc-ptrCast
70e0 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 3e 3c 2f ".href="#ptrCast">@ptrCast</a></
7100 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 70 li>.............<li><a.id="toc-p
7120 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 72 54 6f trToInt".href="#ptrToInt">@ptrTo
7140 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 Int</a></li>.............<li><a.
7160 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 3c 2f 61 id="toc-rem".href="#rem">@rem</a
7180 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
71a0 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 6e 41 64 c-returnAddress".href="#returnAd
71c0 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 3e 0a 20 dress">@returnAddress</a></li>..
71e0 20 20 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 65 63 74 ...........<li><a.id="toc-select
7200 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 2f 6c 69 ".href="#select">@select</a></li
7220 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 74 >.............<li><a.id="toc-set
7240 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 61 63 6b AlignStack".href="#setAlignStack
7260 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 20 20 20 ">@setAlignStack</a></li>.......
7280 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 20 68 72 ......<li><a.id="toc-setCold".hr
72a0 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 69 3e 0a ef="#setCold">@setCold</a></li>.
72c0 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 45 76 ............<li><a.id="toc-setEv
72e0 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 42 72 61 alBranchQuota".href="#setEvalBra
7300 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 2f 61 nchQuota">@setEvalBranchQuota</a
7320 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
7340 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 61 74 4d c-setFloatMode".href="#setFloatM
7360 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 20 20 20 ode">@setFloatMode</a></li>.....
7380 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 74 69 6d ........<li><a.id="toc-setRuntim
73a0 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 65 74 79 eSafety".href="#setRuntimeSafety
73c0 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 20 20 20 ">@setRuntimeSafety</a></li>....
73e0 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 61 63 74 .........<li><a.id="toc-shlExact
7400 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 2f 61 3e ".href="#shlExact">@shlExact</a>
7420 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
7440 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 69 74 68 -shlWithOverflow".href="#shlWith
7460 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f Overflow">@shlWithOverflow</a></
7480 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 li>.............<li><a.id="toc-s
74a0 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 72 45 78 hrExact".href="#shrExact">@shrEx
74c0 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 act</a></li>.............<li><a.
74e0 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 6c 65 22 id="toc-shuffle".href="#shuffle"
7500 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 20 20 3c >@shuffle</a></li>.............<
7520 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 73 69 7a li><a.id="toc-sizeOf".href="#siz
7540 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 20 20 20 eOf">@sizeOf</a></li>...........
7560 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 22 23 73 ..<li><a.id="toc-splat".href="#s
7580 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 plat">@splat</a></li>...........
75a0 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 72 65 64 75 63 65 22 20 68 72 65 66 3d 22 23 ..<li><a.id="toc-reduce".href="#
75c0 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 20 20 20 reduce">@reduce</a></li>........
75e0 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 3d 22 23 .....<li><a.id="toc-src".href="#
7600 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 20 20 3c src">@src</a></li>.............<
7620 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 72 74 22 li><a.id="toc-sqrt".href="#sqrt"
7640 3e 40 73 71 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e >@sqrt</a></li>.............<li>
7660 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 73 69 6e <a.id="toc-sin".href="#sin">@sin
7680 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=
76a0 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 3e 3c 2f "toc-cos".href="#cos">@cos</a></
76c0 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
76e0 78 70 22 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 xp".href="#exp">@exp</a></li>...
7700 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 70 32 22 20 68 ..........<li><a.id="toc-exp2".h
7720 72 65 66 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 ref="#exp2">@exp2</a></li>......
7740 20 20 20 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 .......<li><a.id="toc-log".href=
7760 22 23 6c 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 "#log">@log</a></li>............
7780 20 3c 6c 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 .<li><a.id="toc-log2".href="#log
77a0 32 22 3e 40 6c 6f 67 32 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 2">@log2</a></li>.............<l
77c0 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6c 6f 67 31 30 22 20 68 72 65 66 3d 22 23 6c 6f 67 31 30 i><a.id="toc-log10".href="#log10
77e0 22 3e 40 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 ">@log10</a></li>.............<l
7800 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 61 62 73 22 20 68 72 65 66 3d 22 23 66 61 62 73 22 3e i><a.id="toc-fabs".href="#fabs">
7820 40 66 61 62 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c @fabs</a></li>.............<li><
7840 61 20 69 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 a.id="toc-floor".href="#floor">@
7860 66 6c 6f 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c floor</a></li>.............<li><
7880 61 20 69 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 a.id="toc-ceil".href="#ceil">@ce
78a0 69 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 il</a></li>.............<li><a.i
78c0 64 3d 22 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 d="toc-trunc".href="#trunc">@tru
78e0 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 nc</a></li>.............<li><a.i
7900 64 3d 22 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 d="toc-round".href="#round">@rou
7920 6e 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 nd</a></li>.............<li><a.i
7940 64 3d 22 74 6f 63 2d 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 23 73 d="toc-subWithOverflow".href="#s
7960 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 77 ubWithOverflow">@subWithOverflow
7980 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=
79a0 22 74 6f 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 "toc-tagName".href="#tagName">@t
79c0 61 67 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e agName</a></li>.............<li>
79e0 3c 61 20 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 <a.id="toc-This".href="#This">@T
7a00 68 69 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 his</a></li>.............<li><a.
7a20 69 64 3d 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 id="toc-truncate".href="#truncat
7a40 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 e">@truncate</a></li>...........
7a60 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 22 20 68 72 65 66 3d 22 23 54 79 ..<li><a.id="toc-Type".href="#Ty
7a80 70 65 22 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 pe">@Type</a></li>.............<
7aa0 6c 69 3e 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 li><a.id="toc-typeInfo".href="#t
7ac0 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 ypeInfo">@typeInfo</a></li>.....
7ae0 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 79 70 65 4e 61 6d 65 22 ........<li><a.id="toc-typeName"
7b00 20 68 72 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 .href="#typeName">@typeName</a><
7b20 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-
7b40 54 79 70 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 TypeOf".href="#TypeOf">@TypeOf</
7b60 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
7b80 6f 63 2d 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 oc-unionInit".href="#unionInit">
7ba0 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c @unionInit</a></li>.........</ul
7bc0 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
7be0 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
7c00 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>........
7c20 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=
7c40 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>.........
7c60 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".
7c80 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<
7ca0 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="
7cc0 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
7ce0 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>.......
7d00 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
7d20 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
7d40 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>
7d60 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
7d80 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
7da0 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
7dc0 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
7de0 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="
7e00 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
7e20 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>........
7e40 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
7e60 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
7e80 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
7ea0 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>.............
7ec0 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
7ee0 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">
7f00 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>....
7f20 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
7f40 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
7f60 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
7f80 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
7fa0 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><
7fc0 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-
7fe0 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
8000 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.
8020 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
8040 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=
8060 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
8080 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>.......
80a0 20 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
80c0 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
80e0 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></
8100 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
8120 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
8140 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
8160 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
8180 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>............
81a0 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
81c0 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
81e0 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
8200 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>..........
8220 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
8240 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
8260 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></
8280 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>......
82a0 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
82c0 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
82e0 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
8300 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>...........
8320 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
8340 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-
8360 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
8380 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>.............
83a0 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"
83c0 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
83e0 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>.............
8400 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
8420 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
8440 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
8460 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
8480 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
84a0 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
84c0 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
84e0 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=
8500 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
8520 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
8540 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>.....
8560 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
8580 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
85a0 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
85c0 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
85e0 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".
8600 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
8620 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>..........
8640 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
8660 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
8680 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>.......
86a0 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
86c0 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
86e0 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
8700 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
8720 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
8740 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
8760 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
8780 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.
87a0 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
87c0 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
87e0 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><
8800 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-
8820 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
8840 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-
8860 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
8880 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>...
88a0 20 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
88c0 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
88e0 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
8900 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>........
8920 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
8940 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
8960 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
8980 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
89a0 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
89c0 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>
89e0 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
8a00 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
8a20 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
8a40 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
8a60 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"
8a80 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
8aa0 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>
8ac0 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
8ae0 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="
8b00 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
8b20 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>......
8b40 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"
8b60 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>
8b80 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
8ba0 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="#
8bc0 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
8be0 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>.........
8c00 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
8c20 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
8c40 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
8c60 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
8c80 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
8ca0 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>
8cc0 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
8ce0 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-
8d00 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>....
8d20 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=
8d40 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
8d60 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
8d80 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>.....
8da0 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-
8dc0 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
8de0 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
8e00 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
8e20 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
8e40 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.
8e60 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>.........<
8e80 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
8ea0 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>
8ec0 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
8ee0 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
8f00 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></
8f20 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
8f40 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="
8f60 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
8f80 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>..
8fa0 20 20 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
8fc0 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
8fe0 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>....
9000 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
9020 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"
9040 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
9060 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>.........
9080 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
90a0 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--
90c0 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
90e0 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>..........
9100 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
9120 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-
9140 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
9160 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><
9180 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-
91a0 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-
91c0 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
91e0 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>.............
9200 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
9220 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
9240 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>.
9260 20 20 20 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
9280 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</
92a0 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
92c0 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
92e0 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>...........
9300 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
9320 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
9340 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><
9360 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-
9380 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
93a0 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
93c0 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>
93e0 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
9400 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
9420 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>...........
9440 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
9460 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
9480 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=
94a0 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>
94c0 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>........
94e0 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="#
9500 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>.......
9520 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
9540 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
9560 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><
9580 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
95a0 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>....
95c0 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
95e0 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>.....
9600 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"
9620 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></
9640 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
9660 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-
9680 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
96a0 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
96c0 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
96e0 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
9700 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>.....
9720 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
9740 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">
9760 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>......
9780 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 72 61 6d 6d 61 72 22 20 68 72 65 66 3d ...<li><a.id="toc-Grammar".href=
97a0 22 23 47 72 61 6d 6d 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 "#Grammar">Grammar</a></li>.....
97c0 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 23 5a ....<li><a.id="toc-Zen".href="#Z
97e0 65 6e 22 3e 5a 65 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 3c 2f 75 6c 3e 0a 0a 20 20 20 20 en">Zen</a></li>.....</ul>......
9800 20 20 20 20 3c 2f 6e 61 76 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 64 ....</nav>.......</div>.......<d
9820 69 76 20 69 64 3d 22 63 6f 6e 74 65 6e 74 73 2d 77 72 61 70 70 65 72 22 3e 3c 6d 61 69 6e 20 69 iv.id="contents-wrapper"><main.i
9840 64 3d 22 63 6f 6e 74 65 6e 74 73 22 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6e 74 72 d="contents">.......<h2.id="Intr
9860 6f 64 75 63 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 72 6f 64 75 63 oduction"><a.href="#toc-Introduc
9880 74 69 6f 6e 22 3e 49 6e 74 72 6f 64 75 63 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d tion">Introduction</a>.<a.class=
98a0 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e c2 a7 3c 2f 61 "hdr".href="#Introduction">..</a
98c0 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d ></h2>........<p>.......<a.href=
98e0 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 22 3e 5a 69 67 3c 2f 61 3e 20 69 73 "https://ziglang.org">Zig</a>.is
9900 20 61 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c .a.general-purpose.programming.l
9920 61 6e 67 75 61 67 65 20 61 6e 64 20 74 6f 6f 6c 63 68 61 69 6e 20 66 6f 72 20 6d 61 69 6e 74 61 anguage.and.toolchain.for.mainta
9940 69 6e 69 6e 67 0a 20 20 20 20 20 20 3c 73 74 72 6f 6e 67 3e 72 6f 62 75 73 74 3c 2f 73 74 72 6f ining.......<strong>robust</stro
9960 6e 67 3e 2c 20 3c 73 74 72 6f 6e 67 3e 6f 70 74 69 6d 61 6c 3c 2f 73 74 72 6f 6e 67 3e 2c 20 61 ng>,.<strong>optimal</strong>,.a
9980 6e 64 20 3c 73 74 72 6f 6e 67 3e 72 65 75 73 61 62 6c 65 3c 2f 73 74 72 6f 6e 67 3e 20 73 6f 66 nd.<strong>reusable</strong>.sof
99a0 74 77 61 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 64 6c 3e 0a 20 20 20 tware........</p>.......<dl>....
99c0 20 20 20 20 20 3c 64 74 3e 52 6f 62 75 73 74 3c 2f 64 74 3e 3c 64 64 3e 42 65 68 61 76 69 6f 72 .....<dt>Robust</dt><dd>Behavior
99e0 20 69 73 20 63 6f 72 72 65 63 74 20 65 76 65 6e 20 66 6f 72 20 65 64 67 65 20 63 61 73 65 73 20 .is.correct.even.for.edge.cases.
9a00 73 75 63 68 20 61 73 20 6f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 2e 3c 2f 64 64 3e 0a 20 20 20 20 such.as.out.of.memory.</dd>.....
9a20 20 20 20 20 3c 64 74 3e 4f 70 74 69 6d 61 6c 3c 2f 64 74 3e 3c 64 64 3e 57 72 69 74 65 20 70 72 ....<dt>Optimal</dt><dd>Write.pr
9a40 6f 67 72 61 6d 73 20 74 68 65 20 62 65 73 74 20 77 61 79 20 74 68 65 79 20 63 61 6e 20 62 65 68 ograms.the.best.way.they.can.beh
9a60 61 76 65 20 61 6e 64 20 70 65 72 66 6f 72 6d 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 ave.and.perform.</dd>.........<d
9a80 74 3e 52 65 75 73 61 62 6c 65 3c 2f 64 74 3e 3c 64 64 3e 54 68 65 20 73 61 6d 65 20 63 6f 64 65 t>Reusable</dt><dd>The.same.code
9aa0 20 77 6f 72 6b 73 20 69 6e 20 6d 61 6e 79 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 77 68 69 63 .works.in.many.environments.whic
9ac0 68 20 68 61 76 65 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 h.have.different...........const
9ae0 72 61 69 6e 74 73 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 4d 61 69 6e 74 61 69 raints.</dd>.........<dt>Maintai
9b00 6e 61 62 6c 65 3c 2f 64 74 3e 3c 64 64 3e 50 72 65 63 69 73 65 6c 79 20 63 6f 6d 6d 75 6e 69 63 nable</dt><dd>Precisely.communic
9b20 61 74 65 20 69 6e 74 65 6e 74 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 0a 20 ate.intent.to.the.compiler.and..
9b40 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 65 72 73 2e 20 54 68 65 20 .........other.programmers..The.
9b60 6c 61 6e 67 75 61 67 65 20 69 6d 70 6f 73 65 73 20 61 20 6c 6f 77 20 6f 76 65 72 68 65 61 64 20 language.imposes.a.low.overhead.
9b80 74 6f 20 72 65 61 64 69 6e 67 20 63 6f 64 65 20 61 6e 64 20 69 73 0a 20 20 20 20 20 20 20 20 20 to.reading.code.and.is..........
9ba0 20 72 65 73 69 6c 69 65 6e 74 20 74 6f 20 63 68 61 6e 67 69 6e 67 20 72 65 71 75 69 72 65 6d 65 .resilient.to.changing.requireme
9bc0 6e 74 73 20 61 6e 64 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 nts.and.environments.</dd>......
9be0 20 3c 2f 64 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 66 74 65 6e 20 74 68 65 .</dl>.......<p>.......Often.the
9c00 20 6d 6f 73 74 20 65 66 66 69 63 69 65 6e 74 20 77 61 79 20 74 6f 20 6c 65 61 72 6e 20 73 6f 6d .most.efficient.way.to.learn.som
9c20 65 74 68 69 6e 67 20 6e 65 77 20 69 73 20 74 6f 20 73 65 65 20 65 78 61 6d 70 6c 65 73 2c 20 73 ething.new.is.to.see.examples,.s
9c40 6f 0a 20 20 20 20 20 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 73 68 6f 77 73 o.......this.documentation.shows
9c60 20 68 6f 77 20 74 6f 20 75 73 65 20 65 61 63 68 20 6f 66 20 5a 69 67 27 73 20 66 65 61 74 75 72 .how.to.use.each.of.Zig's.featur
9c80 65 73 2e 20 49 74 20 69 73 0a 20 20 20 20 20 20 61 6c 6c 20 6f 6e 20 6f 6e 65 20 70 61 67 65 20 es..It.is.......all.on.one.page.
9ca0 73 6f 20 79 6f 75 20 63 61 6e 20 73 65 61 72 63 68 20 77 69 74 68 20 79 6f 75 72 20 62 72 6f 77 so.you.can.search.with.your.brow
9cc0 73 65 72 27 73 20 73 65 61 72 63 68 20 74 6f 6f 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ser's.search.tool........</p>...
9ce0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 73 20 69 ....<p>.......The.code.samples.i
9d00 6e 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 61 72 65 20 63 6f 6d 70 69 6c 65 64 20 61 6e 64 n.this.document.are.compiled.and
9d20 20 74 65 73 74 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 6d 61 69 6e 20 74 65 73 74 .tested.as.part.of.the.main.test
9d40 20 73 75 69 74 65 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 .suite.of.Zig........</p>.......
9d60 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 48 54 4d 4c 20 64 6f 63 75 6d 65 6e 74 20 64 65 70 <p>.......This.HTML.document.dep
9d80 65 6e 64 73 20 6f 6e 20 6e 6f 20 65 78 74 65 72 6e 61 6c 20 66 69 6c 65 73 2c 20 73 6f 20 79 6f ends.on.no.external.files,.so.yo
9da0 75 20 63 61 6e 20 75 73 65 20 69 74 20 6f 66 66 6c 69 6e 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e u.can.use.it.offline........</p>
9dc0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 69 67 2d 53 74 61 6e 64 ...............<h2.id="Zig-Stand
9de0 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 69 67 2d 53 ard-Library"><a.href="#toc-Zig-S
9e00 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 tandard-Library">Zig.Standard.Li
9e20 62 72 61 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 brary</a>.<a.class="hdr".href="#
9e40 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 Zig-Standard-Library">..</a></h2
9e60 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 61 20 68 72 65 66 >........<p>.........The.<a.href
9e80 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
9ea0 69 6f 6e 2f 30 2e 39 2e 31 2f 73 74 64 2f 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 ion/0.9.1/std/">Zig.Standard.Lib
9ec0 72 61 72 79 3c 2f 61 3e 20 68 61 73 20 69 74 73 20 6f 77 6e 20 64 6f 63 75 6d 65 6e 74 61 74 69 rary</a>.has.its.own.documentati
9ee0 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 on........</p>.......<p>........
9f00 20 5a 69 67 27 73 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 63 6f 6e 74 61 69 6e 73 .Zig's.Standard.Library.contains
9f20 20 63 6f 6d 6d 6f 6e 6c 79 20 75 73 65 64 20 61 6c 67 6f 72 69 74 68 6d 73 2c 20 64 61 74 61 20 .commonly.used.algorithms,.data.
9f40 73 74 72 75 63 74 75 72 65 73 2c 20 61 6e 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 74 6f 20 68 structures,.and.definitions.to.h
9f60 65 6c 70 20 79 6f 75 20 62 75 69 6c 64 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 6c 69 62 72 61 72 elp.you.build.programs.or.librar
9f80 69 65 73 2e 0a 20 20 20 20 20 20 20 20 59 6f 75 20 77 69 6c 6c 20 73 65 65 20 6d 61 6e 79 20 65 ies..........You.will.see.many.e
9fa0 78 61 6d 70 6c 65 73 20 6f 66 20 5a 69 67 27 73 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 xamples.of.Zig's.Standard.Librar
9fc0 79 20 75 73 65 64 20 69 6e 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2e 20 54 6f y.used.in.this.documentation..To
9fe0 20 6c 65 61 72 6e 20 6d 6f 72 65 20 61 62 6f 75 74 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 .learn.more.about.the.Zig.Standa
a000 72 64 20 4c 69 62 72 61 72 79 2c 0a 20 20 20 20 20 20 20 20 76 69 73 69 74 20 74 68 65 20 6c 69 rd.Library,.........visit.the.li
a020 6e 6b 20 61 62 6f 76 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 nk.above........</p>............
a040 20 20 20 3c 68 32 20 69 64 3d 22 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e 3c 61 20 68 72 65 66 3d ...<h2.id="Hello-World"><a.href=
a060 22 23 74 6f 63 2d 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e 48 65 6c 6c 6f 20 57 6f 72 6c 64 3c 2f "#toc-Hello-World">Hello.World</
a080 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 48 65 6c 6c 6f 2d 57 a>.<a.class="hdr".href="#Hello-W
a0a0 6f 72 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 orld">..</a></h2>.........<figur
a0c0 65 3e 3c 66 69 67 63 61 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
a0e0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 63 69 74 65 ite.class="file">hello.zig</cite
a100 3e 3c 2f 66 69 67 63 61 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
a120 6c 61 73 73 3d 22 6c 69 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"
a140 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=
a160 22 74 6f 6b 2d 62 75 69 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
a180 61 6e 20 63 6c 61 73 73 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
a1a0 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="
a1c0 6c 69 6e 65 22 3e 3c 2f 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"
a1e0 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>
a200 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>.
a220 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>
a240 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c ().!<span.class="tok-type">void<
a260 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
a280 65 22 3e 20 20 20 20 3c 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
a2a0 74 3c 2f 73 70 61 6e 3e 20 73 74 64 6f 75 74 20 3d 20 73 74 64 2e 69 6f 2e 67 65 74 53 74 64 4f t</span>.stdout.=.std.io.getStdO
a2c0 75 74 28 29 2e 77 72 69 74 65 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ut().writer();</span>.<span.clas
a2e0 73 3d 22 6c 69 6e 65 22 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
a300 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 6f 75 74 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 ">try</span>.stdout.print(<span.
a320 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 7b 73 7d class="tok-str">&quot;Hello,.{s}
a340 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d !\n&quot;</span>,..{<span.class=
a360 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
a380 6e 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>});</span>.<span.class="line">
a3a0 7d 3c 2f 73 70 61 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
a3c0 69 67 75 72 65 3e 3c 66 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
a3e0 61 70 22 3e 53 68 65 6c 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
a400 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
a420 75 69 6c 64 2d 65 78 65 20 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a uild-exe.hello.zig</kbd></span>.
a440 3c 73 70 61 6e 20 63 6c 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
a460 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 68 65 6c 6c 6f 3c 2f 6b 62 .class="line">$.<kbd>./hello</kb
a480 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
a4a0 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><
a4c0 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 5a /figure>.......<p>.........The.Z
a4e0 69 67 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 61 62 6f 76 65 20 64 65 6d 6f 6e 73 74 72 61 74 65 ig.code.sample.above.demonstrate
a500 73 20 6f 6e 65 20 77 61 79 20 74 6f 20 63 72 65 61 74 65 20 61 20 70 72 6f 67 72 61 6d 20 74 68 s.one.way.to.create.a.program.th
a520 61 74 20 77 69 6c 6c 20 6f 75 74 70 75 74 3a 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 77 6f 72 at.will.output:.<samp>Hello,.wor
a540 6c 64 21 3c 2f 73 61 6d 70 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e ld!</samp>........</p>.......<p>
a560 0a 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 73 68 6f 77 73 20 74 .........The.code.sample.shows.t
a580 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 61 20 66 69 6c 65 20 6e 61 6d 65 64 20 3c 63 6f 64 he.contents.of.a.file.named.<cod
a5a0 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 63 6f 64 65 3e 2e e.class="file">hello.zig</code>.
a5c0 20 46 69 6c 65 73 20 73 74 6f 72 69 6e 67 20 5a 69 67 0a 20 20 20 20 20 20 20 20 73 6f 75 72 63 .Files.storing.Zig.........sourc
a5e0 65 20 63 6f 64 65 20 61 72 65 20 3c 61 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f e.code.are.<a.href="#Source-Enco
a600 64 69 6e 67 22 3e 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 3c 2f 61 3e 20 74 65 78 74 20 66 69 6c ding">UTF-8.encoded</a>.text.fil
a620 65 73 2e 20 54 68 65 20 66 69 6c 65 73 20 73 74 6f 72 69 6e 67 0a 20 20 20 20 20 20 20 20 5a 69 es..The.files.storing.........Zi
a640 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 61 72 65 20 75 73 75 61 6c 6c 79 20 6e 61 6d 65 64 20 g.source.code.are.usually.named.
a660 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 3c 65 6d 3e with.the.<code.class="file"><em>
a680 2e 7a 69 67 3c 2f 65 6d 3e 3c 2f 63 6f 64 65 3e 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 20 20 20 20 .zig</em></code>.extension......
a6a0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 46 6f 6c 6c 6f 77 69 ..</p>.......<p>.........Followi
a6c0 6e 67 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e ng.the.<code.class="file">hello.
a6e0 7a 69 67 3c 2f 63 6f 64 65 3e 20 5a 69 67 20 63 6f 64 65 20 73 61 6d 70 6c 65 2c 20 74 68 65 20 zig</code>.Zig.code.sample,.the.
a700 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 <a.href="#Zig-Build-System">Zig.
a720 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 20 69 73 20 75 73 65 64 0a 20 20 20 20 20 20 20 Build.System</a>.is.used........
a740 20 74 6f 20 62 75 69 6c 64 20 61 6e 20 65 78 65 63 75 74 61 62 6c 65 20 70 72 6f 67 72 61 6d 20 .to.build.an.executable.program.
a760 66 72 6f 6d 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c from.the.<code.class="file">hell
a780 6f 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 54 68 65 6e 2c 20 o.zig</code>.source.code..Then,.
a7a0 74 68 65 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 the.........<code.class="file">h
a7c0 65 6c 6c 6f 3c 2f 63 6f 64 65 3e 20 70 72 6f 67 72 61 6d 20 69 73 20 65 78 65 63 75 74 65 64 20 ello</code>.program.is.executed.
a7e0 73 68 6f 77 69 6e 67 20 69 74 73 20 6f 75 74 70 75 74 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 showing.its.output.<samp>Hello,.
a800 77 6f 72 6c 64 21 3c 2f 73 61 6d 70 3e 2e 20 54 68 65 0a 20 20 20 20 20 20 20 20 6c 69 6e 65 73 world!</samp>..The.........lines
a820 20 62 65 67 69 6e 6e 69 6e 67 20 77 69 74 68 20 3c 73 61 6d 70 3e 24 3c 2f 73 61 6d 70 3e 20 72 .beginning.with.<samp>$</samp>.r
a840 65 70 72 65 73 65 6e 74 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 72 6f 6d 70 74 73 20 61 6e epresent.command.line.prompts.an
a860 64 20 61 20 63 6f 6d 6d 61 6e 64 2e 0a 20 20 20 20 20 20 20 20 45 76 65 72 79 74 68 69 6e 67 20 d.a.command..........Everything.
a880 65 6c 73 65 20 69 73 20 70 72 6f 67 72 61 6d 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 3c 2f else.is.program.output........</
a8a0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 73 61 p>.......<p>.........The.code.sa
a8c0 6d 70 6c 65 20 62 65 67 69 6e 73 20 62 79 20 61 64 64 69 6e 67 20 74 68 65 20 3c 61 20 68 72 65 mple.begins.by.adding.the.<a.hre
a8e0 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
a900 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 20 74 6f 20 74 68 65 20 62 75 69 6c 64 20 andard.Library</a>.to.the.build.
a920 75 73 69 6e 67 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 using.the.<a.href="#import">@imp
a940 6f 72 74 3c 2f 61 3e 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 ort</a>.builtin.function........
a960 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ..The.<code><span.class="line"><
a980 73 70 61 6e 20 63 6c 61 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
a9a0 3c 2f 73 70 61 6e 3e 28 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
a9c0 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
a9e0 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 63 72 65 61 74 65 73 20 61 20 73 74 72 75 de>.function.call.creates.a.stru
aa00 63 74 75 72 65 20 74 68 61 74 20 72 65 70 72 65 73 65 6e 74 73 20 74 68 65 20 5a 69 67 20 53 74 cture.that.represents.the.Zig.St
aa20 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 2e 0a 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 andard.Library..........The.code
aa40 20 74 68 65 6e 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d .then.<a.href="#Container-Level-
aa60 56 61 72 69 61 62 6c 65 73 22 3e 64 65 63 6c 61 72 65 73 3c 2f 61 3e 20 61 0a 20 20 20 20 20 20 Variables">declares</a>.a.......
aa80 20 20 3c 61 20 68 72 65 66 3d 22 23 41 73 73 69 67 6e 6d 65 6e 74 22 3e 63 6f 6e 73 74 61 6e 74 ..<a.href="#Assignment">constant
aaa0 20 69 64 65 6e 74 69 66 69 65 72 3c 2f 61 3e 2c 20 6e 61 6d 65 64 20 3c 63 6f 64 65 3e 3c 73 70 .identifier</a>,.named.<code><sp
aac0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 an.class="line">std</span></code
aae0 3e 2c 20 74 68 61 74 20 67 69 76 65 73 20 61 63 63 65 73 73 20 74 68 65 20 66 65 61 74 75 72 65 >,.that.gives.access.the.feature
ab00 73 20 6f 66 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 2e 0a 20 s.of.the.Zig.Standard.Library...
ab20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 4e 65 78 74 .....</p>.......<p>.........Next
ab40 2c 20 61 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 70 75 62 6c 69 63 20 ,.a.<a.href="#Functions">public.
ab60 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d function</a>,.<code><span.class=
ab80 22 6c 69 6e 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<
aba0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f /span>.<span.class="tok-kw">fn</
abc0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6e 61 6d 65 64 20 3c 63 6f 64 65 span></span></code>,.named.<code
abe0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c ><span.class="line">main</span><
ac00 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 69 73 20 64 65 63 6c 61 72 65 64 2e 20 54 68 65 20 /code>.........is.declared..The.
ac20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 <code><span.class="line">main</s
ac40 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 65 63 65 73 73 61 72 pan></code>.function.is.necessar
ac60 79 20 62 65 63 61 75 73 65 20 69 74 20 74 65 6c 6c 73 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 y.because.it.tells.the.Zig.compi
ac80 6c 65 72 20 77 68 65 72 65 20 74 68 65 20 73 74 61 72 74 20 6f 66 0a 20 20 20 20 20 20 20 20 74 ler.where.the.start.of.........t
aca0 68 65 20 70 72 6f 67 72 61 6d 20 65 78 69 73 74 73 2e 20 50 72 6f 67 72 61 6d 73 20 64 65 73 69 he.program.exists..Programs.desi
acc0 67 6e 65 64 20 74 6f 20 62 65 20 65 78 65 63 75 74 65 64 20 77 69 6c 6c 20 6e 65 65 64 20 61 20 gned.to.be.executed.will.need.a.
ace0 3c 63 6f 64 65 3e 3c 73 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
ad00 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
ad20 6c 61 73 73 3d 22 74 6f 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
ad40 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ass="tok-fn">main</span></span><
ad60 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 /code>.function........</p>.....
ad80 20 20 3c 61 73 69 64 65 20 72 6f 6c 65 3d 22 6e 6f 74 65 22 20 61 72 69 61 2d 6c 61 62 65 6c 3d ..<aside.role="note".aria-label=
ada0 22 4e 6f 74 65 20 61 62 6f 75 74 20 6d 61 69 6e 20 66 75 6e 63 74 69 6f 6e 22 3e 0a 20 20 20 20 "Note.about.main.function">.....
adc0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 6d 6f 72 65 20 61 64 76 61 6e ....<p>...........For.more.advan
ade0 63 65 64 20 75 73 65 20 63 61 73 65 73 2c 20 5a 69 67 20 6f 66 66 65 72 73 20 6f 74 68 65 72 20 ced.use.cases,.Zig.offers.other.
ae00 66 65 61 74 75 72 65 73 20 74 6f 20 69 6e 66 6f 72 6d 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 features.to.inform.the.compiler.
ae20 77 68 65 72 65 20 74 68 65 20 73 74 61 72 74 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 where.the.start.of...........the
ae40 20 70 72 6f 67 72 61 6d 20 65 78 69 73 74 73 2e 20 41 6c 73 6f 2c 20 6c 69 62 72 61 72 69 65 73 .program.exists..Also,.libraries
ae60 20 64 6f 20 6e 6f 74 20 6e 65 65 64 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .do.not.need.a.<code><span.class
ae80 3d 22 6c 69 6e 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
aea0 3c 2f 73 70 61 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<
aec0 2f 73 70 61 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
aee0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 62 </span></span></code>.function.b
af00 65 63 61 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 6c 69 62 72 61 72 79 20 63 6f 64 65 20 69 73 ecause...........library.code.is
af20 20 63 61 6c 6c 65 64 20 62 79 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 73 20 6f 72 20 6c 69 62 .called.by.other.programs.or.lib
af40 72 61 72 69 65 73 2e 0a 20 20 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 2f 61 73 69 raries..........</p>.......</asi
af60 64 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 41 20 66 75 6e 63 74 69 6f 6e de>.......<p>.........A.function
af80 20 69 73 20 61 20 62 6c 6f 63 6b 20 6f 66 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 73 74 61 .is.a.block.of.any.number.of.sta
afa0 74 65 6d 65 6e 74 73 20 61 6e 64 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 68 61 74 2c 20 61 73 tements.and.expressions.that,.as
afc0 20 61 20 77 68 6f 6c 65 2c 20 70 65 72 66 6f 72 6d 20 61 20 74 61 73 6b 2e 0a 20 20 20 20 20 20 .a.whole,.perform.a.task........
afe0 20 20 46 75 6e 63 74 69 6f 6e 73 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 72 65 74 75 72 ..Functions.may.or.may.not.retur
b000 6e 20 64 61 74 61 20 61 66 74 65 72 20 74 68 65 79 20 61 72 65 20 64 6f 6e 65 20 70 65 72 66 6f n.data.after.they.are.done.perfo
b020 72 6d 69 6e 67 20 74 68 65 69 72 20 74 61 73 6b 2e 20 49 66 20 61 20 66 75 6e 63 74 69 6f 6e 0a rming.their.task..If.a.function.
b040 20 20 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 70 65 72 66 6f 72 6d 20 69 74 73 20 74 61 73 6b 2c ........cannot.perform.its.task,
b060 20 69 74 20 6d 69 67 68 74 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 2e 20 5a 69 67 20 6d .it.might.return.an.error..Zig.m
b080 61 6b 65 73 20 61 6c 6c 20 6f 66 20 74 68 69 73 20 65 78 70 6c 69 63 69 74 2e 0a 20 20 20 20 20 akes.all.of.this.explicit.......
b0a0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 74 68 65 20 3c .</p>.......<p>.........In.the.<
b0c0 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
b0e0 65 3e 20 63 6f 64 65 20 73 61 6d 70 6c 65 2c 20 74 68 65 20 3c 63 6f 64 65 3e 6d 61 69 6e 3c 2f e>.code.sample,.the.<code>main</
b100 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 64 65 63 6c 61 72 65 64 0a 20 20 20 20 20 code>.function.is.declared......
b120 20 20 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ...with.the.<code><span.class="l
b140 69 6e 65 22 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 ine">!<span.class="tok-type">voi
b160 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 20 74 79 d</span></span></code>.return.ty
b180 70 65 2e 20 54 68 69 73 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 6b 6e 6f 77 6e 20 61 73 pe..This.return.type.is.known.as
b1a0 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e .an.<a.href="#Error-Union-Type">
b1c0 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 54 68 Error.Union.Type</a>..........Th
b1e0 69 73 20 73 79 6e 74 61 78 20 74 65 6c 6c 73 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 72 is.syntax.tells.the.Zig.compiler
b200 20 74 68 61 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 65 69 74 68 65 72 20 72 .that.the.function.will.either.r
b220 65 74 75 72 6e 20 61 6e 0a 20 20 20 20 20 20 20 20 65 72 72 6f 72 20 6f 72 20 61 20 76 61 6c 75 eturn.an.........error.or.a.valu
b240 65 2e 20 41 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 20 63 6f 6d 62 69 6e 65 73 20 e..An.error.union.type.combines.
b260 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 an.<a.href="#Error-Set-Type">Err
b280 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 20 61 6e 64 20 61 6e 79 20 6f 74 68 65 72 20 64 61 or.Set.Type</a>.and.any.other.da
b2a0 74 61 20 74 79 70 65 0a 20 20 20 20 20 20 20 20 28 65 2e 67 2e 20 61 20 3c 61 20 68 72 65 66 3d ta.type.........(e.g..a.<a.href=
b2c0 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 50 72 69 6d 69 74 69 76 65 20 54 79 70 "#Primitive-Types">Primitive.Typ
b2e0 65 3c 2f 61 3e 20 6f 72 20 61 20 75 73 65 72 2d 64 65 66 69 6e 65 64 20 74 79 70 65 20 73 75 63 e</a>.or.a.user-defined.type.suc
b300 68 20 61 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c h.as.a.<a.href="#struct">struct<
b320 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 2c 20 6f /a>,.<a.href="#enum">enum</a>,.o
b340 72 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 29 2e 0a 20 r.<a.href="#union">union</a>)...
b360 20 20 20 20 20 20 20 54 68 65 20 66 75 6c 6c 20 66 6f 72 6d 20 6f 66 20 61 6e 20 65 72 72 6f 72 .......The.full.form.of.an.error
b380 20 75 6e 69 6f 6e 20 74 79 70 65 20 69 73 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 26 6c 74 .union.type.is.........<code>&lt
b3a0 3b 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 26 67 74 3b 3c 2f 63 6f 64 65 3e 3c 63 6f 64 65 3e ;error.set.type&gt;</code><code>
b3c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">!</span></cod
b3e0 65 3e 3c 63 6f 64 65 3e 26 6c 74 3b 61 6e 79 20 64 61 74 61 20 74 79 70 65 26 67 74 3b 3c 2f 63 e><code>&lt;any.data.type&gt;</c
b400 6f 64 65 3e 2e 20 49 6e 20 74 68 65 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 73 61 6d 70 6c 65 ode>..In.the.code.........sample
b420 2c 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 69 73 20 6e 6f 74 20 65 78 70 6c ,.the.error.set.type.is.not.expl
b440 69 63 69 74 6c 79 20 77 72 69 74 74 65 6e 20 6f 6e 20 74 68 65 20 6c 65 66 74 20 73 69 64 65 20 icitly.written.on.the.left.side.
b460 6f 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e of.the.<code><span.class="line">
b480 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 2e 0a 20 20 20 20 20 20 !</span></code>.operator........
b4a0 20 20 57 68 65 6e 20 77 72 69 74 74 65 6e 20 74 68 69 73 20 77 61 79 2c 20 74 68 65 20 65 72 72 ..When.written.this.way,.the.err
b4c0 6f 72 20 73 65 74 20 74 79 70 65 20 69 73 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 66 65 or.set.type.is.an.<a.href="#Infe
b4e0 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 rred-Error-Sets">inferred.error.
b500 73 65 74 20 74 79 70 65 3c 2f 61 3e 2e 20 54 68 65 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e set.type</a>..The.........<code>
b520 3c 73 70 61 6e 20 63 6c 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="
b540 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
b560 64 65 3e 20 61 66 74 65 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d de>.after.the.<code><span.class=
b580 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 0a "line">!</span></code>.operator.
b5a0 20 20 20 20 20 20 20 20 74 65 6c 6c 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 68 61 74 20 ........tells.the.compiler.that.
b5c0 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 6e 6f 74 20 72 65 74 75 72 6e 20 61 20 76 the.function.will.not.return.a.v
b5e0 61 6c 75 65 20 75 6e 64 65 72 20 6e 6f 72 6d 61 6c 20 63 69 72 63 75 6d 73 74 61 6e 63 65 73 20 alue.under.normal.circumstances.
b600 28 69 2e 65 2e 20 77 68 65 6e 20 6e 6f 20 65 72 72 6f 72 73 20 6f 63 63 75 72 29 2e 0a 20 20 20 (i.e..when.no.errors.occur).....
b620 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 61 73 69 64 65 20 72 6f 6c 65 3d 22 6e 6f 74 65 22 ...</p>.......<aside.role="note"
b640 20 61 72 69 61 2d 6c 61 62 65 6c 3d 22 4e 6f 74 65 20 74 6f 20 64 69 73 61 6d 62 69 67 75 61 74 .aria-label="Note.to.disambiguat
b660 65 20 65 78 63 6c 61 6d 61 74 69 6f 6e 20 6d 61 72 6b 20 6f 70 65 72 61 74 6f 72 22 3e 0a 20 20 e.exclamation.mark.operator">...
b680 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 74 6f 20 65 78 70 65 ......<p>...........Note.to.expe
b6a0 72 69 65 6e 63 65 64 20 70 72 6f 67 72 61 6d 6d 65 72 73 3a 20 5a 69 67 20 61 6c 73 6f 20 68 61 rienced.programmers:.Zig.also.ha
b6c0 73 20 74 68 65 20 62 6f 6f 6c 65 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 s.the.boolean.<a.href="#Operator
b6e0 73 22 3e 6f 70 65 72 61 74 6f 72 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 s">operator</a>.<code><span.clas
b700 73 3d 22 6c 69 6e 65 22 3e 21 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 s="line">!a</span></code>.......
b720 20 20 20 20 77 68 65 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ....where.<code><span.class="lin
b740 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 76 61 6c 75 65 20 6f 66 e">a</span></code>.is.a.value.of
b760 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c .type.<code><span.class="line"><
b780 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
b7a0 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 45 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 ></span></code>..Error.union.typ
b7c0 65 73 20 63 6f 6e 74 61 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 6f 66 es.contain.the...........name.of
b7e0 20 74 68 65 20 74 79 70 65 20 69 6e 20 74 68 65 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c .the.type.in.the.syntax:.<code><
b800 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
b820 3e 3c 63 6f 64 65 3e 26 6c 74 3b 61 6e 79 20 64 61 74 61 20 74 79 70 65 26 67 74 3b 3c 2f 63 6f ><code>&lt;any.data.type&gt;</co
b840 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 2f 61 73 69 64 65 3e de>..........</p>.......</aside>
b860 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 61 20 66 75 6e .......<p>.........In.Zig,.a.fun
b880 63 74 69 6f 6e 27 73 20 62 6c 6f 63 6b 20 6f 66 20 73 74 61 74 65 6d 65 6e 74 73 20 61 6e 64 20 ction's.block.of.statements.and.
b8a0 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 73 75 72 72 6f 75 6e 64 65 64 20 62 79 20 61 6e expressions.are.surrounded.by.an
b8c0 20 6f 70 65 6e 20 63 75 72 6c 79 2d 62 72 61 63 65 20 3c 63 6f 64 65 3e 7b 3c 2f 63 6f 64 65 3e .open.curly-brace.<code>{</code>
b8e0 20 61 6e 64 0a 20 20 20 20 20 20 20 20 63 6c 6f 73 65 20 63 75 72 6c 79 2d 62 72 61 63 65 20 3c .and.........close.curly-brace.<
b900 63 6f 64 65 3e 7d 3c 2f 63 6f 64 65 3e 2e 20 49 6e 73 69 64 65 20 6f 66 20 74 68 65 20 3c 63 6f code>}</code>..Inside.of.the.<co
b920 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e de><span.class="line">main</span
b940 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 61 72 65 20 65 78 70 72 65 73 73 69 6f 6e ></code>.function.are.expression
b960 73 20 74 68 61 74 20 70 65 72 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 74 68 65 20 74 61 73 6b 20 s.that.perform.........the.task.
b980 6f 66 20 6f 75 74 70 75 74 74 69 6e 67 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 of.outputting.<samp>Hello,.world
b9a0 21 3c 2f 73 61 6d 70 3e 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 0a 20 20 20 !</samp>.to.standard.output.....
b9c0 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 46 69 72 73 74 2c ...</p>.......<p>.........First,
b9e0 20 61 20 63 6f 6e 73 74 61 6e 74 20 69 64 65 6e 74 69 66 69 65 72 2c 20 3c 63 6f 64 65 3e 3c 73 .a.constant.identifier,.<code><s
ba00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f pan.class="line">stdout</span></
ba20 63 6f 64 65 3e 2c 20 69 73 20 69 6e 69 74 69 61 6c 69 7a 65 64 20 74 6f 20 72 65 70 72 65 73 65 code>,.is.initialized.to.represe
ba40 6e 74 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 27 73 0a 20 20 20 20 20 20 20 20 77 72 69 nt.standard.output's.........wri
ba60 74 65 72 2e 20 54 68 65 6e 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 74 72 69 65 73 20 74 6f 20 ter..Then,.the.program.tries.to.
ba80 70 72 69 6e 74 20 74 68 65 20 3c 73 61 6d 70 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 print.the.<samp>Hello,.world!</s
baa0 61 6d 70 3e 0a 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 74 6f 20 73 74 61 6e 64 61 72 64 amp>.........message.to.standard
bac0 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 .output........</p>.......<p>...
bae0 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 73 20 73 6f 6d 65 74 69 6d 65 73 20 6e 65 65 64 20 69 ......Functions.sometimes.need.i
bb00 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 6f 20 70 65 72 66 6f 72 6d 20 74 68 65 69 72 20 74 61 73 6b nformation.to.perform.their.task
bb20 2e 20 49 6e 20 5a 69 67 2c 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 70 61 73 73 65 64 0a ..In.Zig,.information.is.passed.
bb40 20 20 20 20 20 20 20 20 74 6f 20 66 75 6e 63 74 69 6f 6e 73 20 62 65 74 77 65 65 6e 20 61 6e 20 ........to.functions.between.an.
bb60 6f 70 65 6e 20 70 61 72 65 6e 74 68 65 73 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 open.parenthesis.<code><span.cla
bb80 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 20 ss="line">(</span></code>.and.a.
bba0 63 6c 6f 73 65 20 70 61 72 65 6e 74 68 65 73 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c close.parenthesis.<code><span.cl
bbc0 61 73 73 3d 22 6c 69 6e 65 22 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 6c 61 63 65 ass="line">)</span></code>.place
bbe0 64 20 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 6e d.after.........the.function's.n
bc00 61 6d 65 2e 20 54 68 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 61 6c 73 6f 20 6b 6e ame..This.information.is.also.kn
bc20 6f 77 6e 20 61 73 20 61 72 67 75 6d 65 6e 74 73 2e 20 57 68 65 6e 20 74 68 65 72 65 20 61 72 65 own.as.arguments..When.there.are
bc40 0a 20 20 20 20 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 .........multiple.arguments.pass
bc60 65 64 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 79 20 61 72 65 20 73 65 70 61 72 ed.to.a.function,.they.are.separ
bc80 61 74 65 64 20 62 79 20 63 6f 6d 6d 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ated.by.commas.<code><span.class
bca0 3d 22 6c 69 6e 65 22 3e 2c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c ="line">,</span></code>........<
bcc0 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 74 77 6f 20 61 72 /p>.......<p>.........The.two.ar
bce0 67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 guments.passed.to.the.<code><spa
bd00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 6f 75 74 2e 70 72 69 6e 74 28 29 3c 2f 73 n.class="line">stdout.print()</s
bd20 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 pan></code>.function,.<code><spa
bd40 6e 20 63 6c 61 73 73 3d 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-
bd60 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 7b 73 7d 21 5c 6e 26 71 75 6f 74 3b 3c 2f str">&quot;Hello,.{s}!\n&quot;</
bd80 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 61 6e 64 20 span></span></code>.........and.
bda0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 7b 3c 73 70 61 6e <code><span.class="line">.{<span
bdc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 6f 72 6c 64 26 71 75 6f .class="tok-str">&quot;world&quo
bde0 74 3b 3c 2f 73 70 61 6e 3e 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 72 65 20 65 76 t;</span>}</span></code>,.are.ev
be00 61 6c 75 61 74 65 64 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 aluated.at.<a.href="#comptime">c
be20 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 61 3e 2e 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 6c 65 ompile-time</a>..The.code.sample
be40 20 69 73 0a 20 20 20 20 20 20 20 20 70 75 72 70 6f 73 65 6c 79 20 77 72 69 74 74 65 6e 20 74 6f .is.........purposely.written.to
be60 20 73 68 6f 77 20 68 6f 77 20 74 6f 20 70 65 72 66 6f 72 6d 20 3c 61 20 68 72 65 66 3d 22 23 53 .show.how.to.perform.<a.href="#S
be80 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f 64 65 2d tring-Literals-and-Unicode-Code-
bea0 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 73 74 72 69 6e 67 3c 2f 61 3e 0a 20 20 20 20 20 Point-Literals">string</a>......
bec0 20 20 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 69 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 ...substitution.in.the.<code><sp
bee0 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
bf00 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 65 20 63 75 72 6c 79 2d 62 72 61 63 65 73 20 69 de>.function..The.curly-braces.i
bf20 6e 73 69 64 65 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 nside.of.the.first.argument.....
bf40 20 20 20 20 61 72 65 20 73 75 62 73 74 69 74 75 74 65 64 20 77 69 74 68 20 74 68 65 20 63 6f 6d ....are.substituted.with.the.com
bf60 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 69 6e 73 69 64 65 20 6f 66 20 pile-time.known.value.inside.of.
bf80 74 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 28 6b 6e 6f the.second.argument.........(kno
bfa0 77 6e 20 61 73 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 wn.as.an.<a.href="#Anonymous-Str
bfc0 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 6c uct-Literals">anonymous.struct.l
bfe0 69 74 65 72 61 6c 3c 2f 61 3e 29 2e 20 54 68 65 20 3c 63 6f 64 65 3e 5c 6e 3c 2f 63 6f 64 65 3e iteral</a>)..The.<code>\n</code>
c000 0a 20 20 20 20 20 20 20 20 69 6e 73 69 64 65 20 6f 66 20 74 68 65 20 64 6f 75 62 6c 65 2d 71 75 .........inside.of.the.double-qu
c020 6f 74 65 73 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 otes.of.the.first.argument.is.th
c040 65 20 3c 61 20 68 72 65 66 3d 22 23 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 65 73 e.<a.href="#Escape-Sequences">es
c060 63 61 70 65 20 73 65 71 75 65 6e 63 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 cape.sequence</a>.for.the.......
c080 20 20 6e 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72 2e 20 54 68 65 20 3c 61 20 68 72 65 66 ..newline.character..The.<a.href
c0a0 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 65 76 61 6c 75 ="#try">try</a>.expression.evalu
c0c0 61 74 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ates.the.result.of.<code><span.c
c0e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 6f 75 74 2e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c lass="line">stdout.print</span><
c100 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 49 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 /code>..........If.the.result.is
c120 20 61 6e 20 65 72 72 6f 72 2c 20 74 68 65 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .an.error,.then.the.<code><span.
c140 63 6c 61 73 73 3d 22 6c 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
c160 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 ">try</span></span></code>.expre
c180 73 73 69 6f 6e 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 3c ssion.will.return.from.........<
c1a0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 code><span.class="line">main</sp
c1c0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 74 68 65 20 65 72 72 6f 72 2e 20 4f 74 68 65 72 an></code>.with.the.error..Other
c1e0 77 69 73 65 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 2e wise,.the.program.will.continue.
c200 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f 0a 20 20 20 20 .In.this.case,.there.are.no.....
c220 20 20 20 20 6d 6f 72 65 20 73 74 61 74 65 6d 65 6e 74 73 20 6f 72 20 65 78 70 72 65 73 73 69 6f ....more.statements.or.expressio
c240 6e 73 20 6c 65 66 74 20 74 6f 20 65 78 65 63 75 74 65 20 69 6e 20 74 68 65 20 3c 63 6f 64 65 3e ns.left.to.execute.in.the.<code>
c260 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f <span.class="line">main</span></
c280 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 73 6f 20 74 68 65 20 70 72 6f 67 72 61 6d 20 65 code>.function,.so.the.program.e
c2a0 78 69 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 xits........</p>.......<p>......
c2c0 20 20 20 49 6e 20 5a 69 67 2c 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 77 ...In.Zig,.the.standard.output.w
c2e0 72 69 74 65 72 27 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 riter's.<code><span.class="line"
c300 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 >print</span></code>.function.is
c320 20 61 6c 6c 6f 77 65 64 20 74 6f 20 66 61 69 6c 20 62 65 63 61 75 73 65 0a 20 20 20 20 20 20 20 .allowed.to.fail.because........
c340 20 69 74 20 69 73 20 61 63 74 75 61 6c 6c 79 20 61 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e .it.is.actually.a.function.defin
c360 65 64 20 61 73 20 70 61 72 74 20 6f 66 20 61 20 67 65 6e 65 72 69 63 20 57 72 69 74 65 72 2e 20 ed.as.part.of.a.generic.Writer..
c380 43 6f 6e 73 69 64 65 72 20 61 20 67 65 6e 65 72 69 63 20 57 72 69 74 65 72 20 74 68 61 74 0a 20 Consider.a.generic.Writer.that..
c3a0 20 20 20 20 20 20 20 72 65 70 72 65 73 65 6e 74 73 20 77 72 69 74 69 6e 67 20 64 61 74 61 20 74 .......represents.writing.data.t
c3c0 6f 20 61 20 66 69 6c 65 2e 20 57 68 65 6e 20 74 68 65 20 64 69 73 6b 20 69 73 20 66 75 6c 6c 2c o.a.file..When.the.disk.is.full,
c3e0 20 61 20 77 72 69 74 65 20 74 6f 20 74 68 65 20 66 69 6c 65 20 77 69 6c 6c 20 66 61 69 6c 2e 0a .a.write.to.the.file.will.fail..
c400 20 20 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 77 65 20 74 79 70 69 63 61 6c 6c 79 20 64 6f ........However,.we.typically.do
c420 20 6e 6f 74 20 65 78 70 65 63 74 20 77 72 69 74 69 6e 67 20 74 65 78 74 20 74 6f 20 74 68 65 20 .not.expect.writing.text.to.the.
c440 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 74 6f 20 66 61 69 6c 2e 20 54 6f 20 61 76 6f 69 standard.output.to.fail..To.avoi
c460 64 20 68 61 76 69 6e 67 0a 20 20 20 20 20 20 20 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 66 d.having.........to.handle.the.f
c480 61 69 6c 75 72 65 20 63 61 73 65 20 6f 66 20 70 72 69 6e 74 69 6e 67 20 74 6f 20 73 74 61 6e 64 ailure.case.of.printing.to.stand
c4a0 61 72 64 20 6f 75 74 70 75 74 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 61 6c 74 65 72 6e 61 74 ard.output,.you.can.use.alternat
c4c0 65 20 66 75 6e 63 74 69 6f 6e 73 3a 20 74 68 65 0a 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f e.functions:.the.........functio
c4e0 6e 73 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 ns.in.<code><span.class="line">s
c500 74 64 2e 6c 6f 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 70 72 6f 70 65 72 20 td.log</span></code>.for.proper.
c520 6c 6f 67 67 69 6e 67 20 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 logging.or.the.<code><span.class
c540 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f ="line">std.debug.print</span></
c560 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 64 6f 63 code>.function..........This.doc
c580 75 6d 65 6e 74 61 74 69 6f 6e 20 77 69 6c 6c 20 75 73 65 20 74 68 65 20 6c 61 74 74 65 72 20 6f umentation.will.use.the.latter.o
c5a0 70 74 69 6f 6e 20 74 6f 20 70 72 69 6e 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 ption.to.print.to.standard.error
c5c0 20 28 73 74 64 65 72 72 29 20 61 6e 64 20 73 69 6c 65 6e 74 6c 79 20 72 65 74 75 72 6e 0a 20 20 .(stderr).and.silently.return...
c5e0 20 20 20 20 20 20 6f 6e 20 66 61 69 6c 75 72 65 2e 20 54 68 65 20 6e 65 78 74 20 63 6f 64 65 20 ......on.failure..The.next.code.
c600 73 61 6d 70 6c 65 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f sample,.<code.class="file">hello
c620 5f 61 67 61 69 6e 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 64 65 6d 6f 6e 73 74 72 61 74 65 73 20 74 _again.zig</code>.demonstrates.t
c640 68 65 20 75 73 65 20 6f 66 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c he.use.of.........<code><span.cl
c660 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3c 2f 73 70 61 6e ass="line">std.debug.print</span
c680 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 ></code>........</p>.......<figu
c6a0 72 65 3e 3c 66 69 67 63 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"><
c6c0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 5f 61 67 61 69 6e 2e 7a 69 cite.class="file">hello_again.zi
c6e0 67 3c 2f 63 69 74 65 3e 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>
c700 3c 73 70 61 6e 20 63 6c 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="
c720 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
c740 61 6e 20 63 6c 61 73 73 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</
c760 73 70 61 6e 3e 28 3c 73 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
c780 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;
c7a0 3c 2f 73 70 61 6e 3e 0a 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
c7c0 6e 3e 0a 3c 73 70 61 6e 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
c7e0 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
c800 73 3d 22 74 6f 6b 2d 6b 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
c820 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
c840 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
c860 61 6e 3e 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
c880 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c (<span.class="tok-str">&quot;Hel
c8a0 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b lo,.world!\n&quot;</span>,..{});
c8c0 3c 2f 73 70 61 6e 3e 0a 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
c8e0 61 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
c900 3e 3c 66 69 67 63 61 70 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
c920 68 65 6c 6c 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
c940 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d n.class="line">$.<kbd>zig.build-
c960 65 78 65 20 68 65 6c 6c 6f 5f 61 67 61 69 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e exe.hello_again.zig</kbd></span>
c980 0a 3c 73 70 61 6e 20 63 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
c9a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 68 65 6c 6c 6f 5f 61 67 n.class="line">$.<kbd>./hello_ag
c9c0 61 69 6e 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ain</kbd></span>.<span.class="li
c9e0 6e 65 22 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e ne">Hello,.world!</span>.</samp>
ca00 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>.......
ca20 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 6c 65 61 76 65 20 6f 66 66 20 74 68 65 20 Note.that.you.can.leave.off.the.
ca40 3c 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
ca60 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 62 65 ></code>.from.the.return.type.be
ca80 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
caa0 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e td.debug.print</span></code>.can
cac0 6e 6f 74 20 66 61 69 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 not.fail........</p>.......<p>Se
cae0 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 61 e.also:</p><ul>.<li><a.href="#Va
cb00 6c 75 65 73 22 3e 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 lues">Values</a></li>.<li><a.hre
cb20 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 f="#import">@import</a></li>.<li
cb40 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c ><a.href="#Errors">Errors</a></l
cb60 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c i>.<li><a.href="#Root-Source-Fil
cb80 65 22 3e 52 6f 6f 74 20 53 6f 75 72 63 65 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 e">Root.Source.File</a></li>.<li
cba0 3e 3c 61 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 53 6f 75 72 ><a.href="#Source-Encoding">Sour
cbc0 63 65 20 45 6e 63 6f 64 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 ce.Encoding</a></li>.</ul>......
cbe0 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 6f 6d 6d 65 6e 74 73 22 3e 3c 61 20 68 72 .........<h2.id="Comments"><a.hr
cc00 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 43 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 20 ef="#toc-Comments">Comments</a>.
cc20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 6d 65 6e 74 73 22 3e <a.class="hdr".href="#Comments">
cc40 c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 ..</a></h2>........<figure><figc
cc60 61 70 74 69 6f 6e 20 63 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
cc80 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 ss="file">comments.zig</cite></f
cca0 69 67 63 61 70 74 69 6f 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
ccc0 3d 22 6c 69 6e 65 22 3e 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
cce0 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 st</span>.print.=.<span.class="t
cd00 6f 6b 2d 62 75 69 6c 74 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
cd20 20 63 6c 61 73 73 3d 22 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;
cd40 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 </span>).debug.print;</span>.<sp
cd60 61 6e 20 63 6c 61 73 73 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
cd80 61 73 73 3d 22 6c 69 6e 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">
cda0 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">
cdc0 66 6e 3c 2f 73 70 61 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
cde0 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ain</span>().<span.class="tok-ty
ce00 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pe">void</span>.{</span>.<span.c
ce20 6c 61 73 73 3d 22 6c 69 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
ce40 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 6d 6d 65 6e 74 73 20 69 6e 20 5a 69 67 20 73 74 61 -comment">//.Comments.in.Zig.sta
ce60 72 74 20 77 69 74 68 20 26 71 75 6f 74 3b 2f 2f 26 71 75 6f 74 3b 20 61 6e 64 20 65 6e 64 20 61 rt.with.&quot;//&quot;.and.end.a
ce80 74 20 74 68 65 20 6e 65 78 74 20 4c 46 20 62 79 74 65 20 28 65 6e 64 20 6f 66 20 6c 69 6e 65 29 t.the.next.LF.byte.(end.of.line)
cea0 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
cec0 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"
cee0 3e 2f 2f 20 54 68 65 20 6c 69 6e 65 20 62 65 6c 6f 77 20 69 73 20 61 20 63 6f 6d 6d 65 6e 74 20 >//.The.line.below.is.a.comment.
cf00 61 6e 64 20 77 6f 6e 27 74 20 62 65 20 65 78 65 63 75 74 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 and.won't.be.executed.</span></s
cf20 70 61 6e 3e 0a 3c 73 70 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>.
cf40 3c 73 70 61 6e 20 63 6c 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
cf60 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 70 72 69 6e 74 28 26 71 75 6f 74 3b 48 ss="tok-comment">//print(&quot;H
cf80 65 6c 6c 6f 3f 26 71 75 6f 74 3b 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ello?&quot;,..{});</span></span>
cfa0 0a 3c 73 70 61 6e 20 63 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
cfc0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 n.class="line">....print(<span.c
cfe0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c lass="tok-str">&quot;Hello,.worl
d000 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 20 3c 73 70 61 6e 20 63 d!\n&quot;</span>,..{});.<span.c
d020 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 6f 74 68 65 72 20 63 6f lass="tok-comment">//.another.co
d040 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=
d060 22 6c 69 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
d080 67 75 72 65 3e 3c 66 69 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="
d0a0 73 68 65 6c 6c 2d 63 61 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
d0c0 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
d0e0 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c 2f 6b 62 d>zig.build-exe.comments.zig</kb
d100 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
d120 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>.
d140 2f 63 6f 6d 6d 65 6e 74 73 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 /comments</kbd></span>.<span.cla
d160 73 73 3d 22 6c 69 6e 65 22 3e 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 3c 2f 73 70 61 6e 3e 0a 3c ss="line">Hello,.world!</span>.<
d180 2f 73 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>.
d1a0 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 6e 6f 20 6d 75 6c 74 69 6c 69 6e 65 20 63 6f 6d ......There.are.no.multiline.com
d1c0 6d 65 6e 74 73 20 69 6e 20 5a 69 67 20 28 65 2e 67 2e 20 6c 69 6b 65 20 3c 63 6f 64 65 20 63 6c ments.in.Zig.(e.g..like.<code.cl
d1e0 61 73 73 3d 22 63 22 3e 2f 2a 20 2a 2f 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 63 6f 6d 6d 65 ass="c">/*.*/</code>.......comme
d200 6e 74 73 20 69 6e 20 43 29 2e 20 20 54 68 69 73 20 68 65 6c 70 73 20 61 6c 6c 6f 77 20 5a 69 67 nts.in.C)...This.helps.allow.Zig
d220 20 74 6f 20 68 61 76 65 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 74 68 61 74 20 65 61 63 68 20 .to.have.the.property.that.each.
d240 6c 69 6e 65 0a 20 20 20 20 20 20 6f 66 20 63 6f 64 65 20 63 61 6e 20 62 65 20 74 6f 6b 65 6e 69 line.......of.code.can.be.tokeni
d260 7a 65 64 20 6f 75 74 20 6f 66 20 63 6f 6e 74 65 78 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 zed.out.of.context........</p>..
d280 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 6f 63 2d 63 6f 6d 6d 65 6e 74 73 22 3e 3c 61 20 68 72 .....<h3.id="Doc-comments"><a.hr
d2a0 65 66 3d 22 23 74 6f 63 2d 44 6f 63 2d 63 6f 6d 6d 65 6e 74 73 22 3e 44 6f 63 20 63 6f 6d 6d 65 ef="#toc-Doc-comments">Doc.comme
d2c0 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 6f nts</a>.<a.class="hdr".href="#Do
d2e0 63 2d 63 6f 6d 6d 65 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c c-comments">..</a></h3>........<
d300 70 3e 0a 20 20 20 20 20 20 41 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 69 73 20 6f 6e 65 20 74 68 p>.......A.doc.comment.is.one.th
d320 61 74 20 62 65 67 69 6e 73 20 77 69 74 68 20 65 78 61 63 74 6c 79 20 74 68 72 65 65 20 73 6c 61 at.begins.with.exactly.three.sla
d340 73 68 65 73 20 28 69 2e 65 2e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 shes.(i.e........<code><span.cla
d360 73 73 3d 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
d380 6e 74 22 3e 2f 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 75 74 nt">///</span></span></code>.but
d3a0 20 6e 6f 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .not.<code><span.class="line"><s
d3c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 2f 3c 2f 73 70 pan.class="tok-comment">////</sp
d3e0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 3b 0a 20 20 20 20 20 20 6d 75 6c 74 69 70 an></span></code>);.......multip
d400 6c 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 61 20 72 6f 77 20 61 72 65 20 6d 65 72 le.doc.comments.in.a.row.are.mer
d420 67 65 64 20 74 6f 67 65 74 68 65 72 20 74 6f 20 66 6f 72 6d 20 61 20 6d 75 6c 74 69 6c 69 6e 65 ged.together.to.form.a.multiline
d440 0a 20 20 20 20 20 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 2e 20 20 54 68 65 20 64 6f 63 20 63 6f 6d .......doc.comment...The.doc.com
d460 6d 65 6e 74 20 64 6f 63 75 6d 65 6e 74 73 20 77 68 61 74 65 76 65 72 20 69 6d 6d 65 64 69 61 74 ment.documents.whatever.immediat
d480 65 6c 79 20 66 6f 6c 6c 6f 77 73 20 69 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ely.follows.it........</p>......
d4a0 20 3c 66 69 67 75 72 65 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-
d4c0 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 6f 63 5f 63 6f 6d 6d cap"><cite.class="file">doc_comm
d4e0 65 6e 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 ents.zig</cite></figcaption><pre
d500 3e 3c 63 6f 64 65 3e 3c 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.
d520 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 41 20 73 74 72 75 63 74 class="tok-comment">///.A.struct
d540 75 72 65 20 66 6f 72 20 73 74 6f 72 69 6e 67 20 61 20 74 69 6d 65 73 74 61 6d 70 2c 20 77 69 74 ure.for.storing.a.timestamp,.wit
d560 68 20 6e 61 6e 6f 73 65 63 6f 6e 64 20 70 72 65 63 69 73 69 6f 6e 20 28 74 68 69 73 20 69 73 20 h.nanosecond.precision.(this.is.
d580 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e a</span></span>.<span.class="lin
d5a0 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">///
d5c0 20 6d 75 6c 74 69 6c 69 6e 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 29 2e 3c 2f 73 70 61 6e 3e 3c .multiline.doc.comment).</span><
d5e0 2f 73 70 61 6e 3e 0a 3c 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.
d600 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 69 6d 65 class="tok-kw">const</span>.Time
d620 73 74 61 6d 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 stamp.=.<span.class="tok-kw">str
d640 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=
d660 22 6c 69 6e 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
d680 65 6e 74 22 3e 2f 2f 2f 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 6f 6e 64 73 20 73 ent">///.The.number.of.seconds.s
d6a0 69 6e 63 65 20 74 68 65 20 65 70 6f 63 68 20 28 74 68 69 73 20 69 73 20 61 6c 73 6f 20 61 20 64 ince.the.epoch.(this.is.also.a.d
d6c0 6f 63 20 63 6f 6d 6d 65 6e 74 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e oc.comment).</span></span>.<span
d6e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 63 6f 6e 64 73 3a 20 3c 73 70 61 6e .class="line">....seconds:.<span
d700 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 20 20 3c .class="tok-type">i64</span>,..<
d720 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 69 67 6e span.class="tok-comment">//.sign
d740 65 64 20 73 6f 20 77 65 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 70 72 65 2d 31 39 37 30 20 ed.so.we.can.represent.pre-1970.
d760 28 6e 6f 74 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e (not.a.doc.comment)</span></span
d780 3e 0a 3c 73 70 61 6e 20 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
d7a0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 68 65 20 6e 75 6d 62 65 lass="tok-comment">///.The.numbe
d7c0 72 20 6f 66 20 6e 61 6e 6f 73 65 63 6f 6e 64 73 20 70 61 73 74 20 74 68 65 20 73 65 63 6f 6e 64 r.of.nanoseconds.past.the.second
d7e0 20 28 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 61 67 61 69 6e 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 .(doc.comment.again).</span></sp
d800 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 61 6e 6f 73 an>.<span.class="line">....nanos
d820 3a 20 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
d840 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c an>,</span>.<span.class="line"><
d860 2f 73 70 61 6e 3e 0a 3c 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
d880 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 52 65 74 75 pan.class="tok-comment">///.Retu
d8a0 72 6e 73 20 61 20 60 54 69 6d 65 73 74 61 6d 70 60 20 73 74 72 75 63 74 20 72 65 70 72 65 73 65 rns.a.`Timestamp`.struct.represe
d8c0 6e 74 69 6e 67 20 74 68 65 20 55 6e 69 78 20 65 70 6f 63 68 3b 20 74 68 61 74 20 69 73 2c 20 74 nting.the.Unix.epoch;.that.is,.t
d8e0 68 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 he</span></span>.<span.class="li
d900 6e 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
d920 22 3e 2f 2f 2f 20 6d 6f 6d 65 6e 74 20 6f 66 20 31 39 37 30 20 4a 61 6e 20 31 20 30 30 3a 30 30 ">///.moment.of.1970.Jan.1.00:00
d940 3a 30 30 20 55 54 43 20 28 74 68 69 73 20 69 73 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 74 :00.UTC.(this.is.a.doc.comment.t
d960 6f 6f 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 oo).</span></span>.<span.class="
d980 6c 69 6e 65 22 3e 20 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
d9a0 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
d9c0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 75 6e n</span>.<span.class="tok-fn">un
d9e0 69 78 45 70 6f 63 68 3c 2f 73 70 61 6e 3e 28 29 20 54 69 6d 65 73 74 61 6d 70 20 7b 3c 2f 73 70 ixEpoch</span>().Timestamp.{</sp
da00 61 6e 3e 0a 3c 73 70 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">........<
da20 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
da40 3e 20 54 69 6d 65 73 74 61 6d 70 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.Timestamp{</span>.<span.class=
da60 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 73 65 63 6f 6e 64 73 20 3d 20 3c 73 "line">.............seconds.=.<s
da80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">0</span>,
daa0 3c 2f 73 70 61 6e 3e 0a 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">.....
dac0 20 20 20 20 20 20 20 2e 6e 61 6e 6f 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ........nanos.=.<span.class="tok
dae0 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">0</span>,</span>.<span.
db00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c class="line">........};</span>.<
db20 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>.<
db40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 span.class="line">};</span></cod
db60 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 e></pre></figure>.......<p>.....
db80 20 20 44 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 6f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 ..Doc.comments.are.only.allowed.
dba0 69 6e 20 63 65 72 74 61 69 6e 20 70 6c 61 63 65 73 3b 20 65 76 65 6e 74 75 61 6c 6c 79 2c 20 69 in.certain.places;.eventually,.i
dbc0 74 20 77 69 6c 6c 0a 20 20 20 20 20 20 62 65 63 6f 6d 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 t.will.......become.a.compile.er
dbe0 72 6f 72 20 74 6f 20 68 61 76 65 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 69 6e 20 61 6e 20 ror.to.have.a.doc.comment.in.an.
dc00 75 6e 65 78 70 65 63 74 65 64 20 70 6c 61 63 65 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 unexpected.place,.such.as.......
dc20 69 6e 20 74 68 65 20 6d 69 64 64 6c 65 20 6f 66 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 in.the.middle.of.an.expression,.
dc40 6f 72 20 6a 75 73 74 20 62 65 66 6f 72 65 20 61 20 6e 6f 6e 2d 64 6f 63 20 63 6f 6d 6d 65 6e 74 or.just.before.a.non-doc.comment
dc60 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
dc80 3d 22 54 6f 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e 3c 61 20 68 72 65 ="Top-Level-Doc-Comments"><a.hre
dca0 66 3d 22 23 74 6f 63 2d 54 6f 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 3e f="#toc-Top-Level-Doc-Comments">
dcc0 54 6f 70 2d 4c 65 76 65 6c 20 44 6f 63 20 43 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c Top-Level.Doc.Comments</a>.<a.cl
dce0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 6f 70 2d 4c 65 76 65 6c 2d 44 6f 63 2d 43 ass="hdr".href="#Top-Level-Doc-C
dd00 6f 6d 6d 65 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 55 omments">..</a></h3>........<p>U
dd20 73 65 72 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 74 68 61 74 20 64 6f 65 73 6e 27 74 20 62 ser.documentation.that.doesn't.b
dd40 65 6c 6f 6e 67 20 74 6f 20 77 68 61 74 65 76 65 72 0a 20 20 20 20 20 20 69 6d 6d 65 64 69 61 74 elong.to.whatever.......immediat
dd60 65 6c 79 20 66 6f 6c 6c 6f 77 73 20 69 74 2c 20 6c 69 6b 65 20 70 61 63 6b 61 67 65 2d 6c 65 76 ely.follows.it,.like.package-lev
dd80 65 6c 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2c 20 67 6f 65 73 0a 20 20 20 20 20 20 69 6e 20 el.documentation,.goes.......in.
dda0 74 6f 70 2d 6c 65 76 65 6c 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 2e 20 41 20 74 6f 70 2d 6c 65 top-level.doc.comments..A.top-le
ddc0 76 65 6c 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 69 73 20 6f 6e 65 20 74 68 61 74 0a 20 20 20 20 vel.doc.comment.is.one.that.....
dde0 20 20 62 65 67 69 6e 73 20 77 69 74 68 20 74 77 6f 20 73 6c 61 73 68 65 73 20 61 6e 64 20 61 6e ..begins.with.two.slashes.and.an
de00 20 65 78 63 6c 61 6d 61 74 69 6f 6e 20 70 6f 69 6e 74 3a 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e .exclamation.point:.......<code>
de20 3c 73 70 61 6e 20 63 6c 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="
de40 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f tok-comment">//!</span></span></
de60 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 code>.</p>.......<figure><figcap
de80 74 69 6f 6e 20 63 6c 61 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
dea0 3d 22 66 69 6c 65 22 3e 74 6c 64 6f 63 5f 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c 2f 63 69 74 65 ="file">tldoc_comments.zig</cite
dec0 3e 3c 2f 66 69 67 63 61 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
dee0 6c 61 73 73 3d 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
df00 6d 65 6e 74 22 3e 2f 2f 21 20 54 68 69 73 20 6d 6f 64 75 6c 65 20 70 72 6f 76 69 64 65 73 20 66 ment">//!.This.module.provides.f
df20 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 72 65 74 72 69 65 76 69 6e 67 20 74 68 65 20 63 75 72 72 unctions.for.retrieving.the.curr
df40 65 6e 74 20 64 61 74 65 20 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ent.date.and</span></span>.<span
df60 20 63 6c 61 73 73 3d 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
df80 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 74 69 6d 65 20 77 69 74 68 20 76 61 72 79 69 6e 67 20 64 65 omment">//!.time.with.varying.de
dfa0 67 72 65 65 73 20 6f 66 20 70 72 65 63 69 73 69 6f 6e 20 61 6e 64 20 61 63 63 75 72 61 63 79 2e grees.of.precision.and.accuracy.
dfc0 20 49 74 20 64 6f 65 73 20 6e 6f 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .It.does.not</span></span>.<span
dfe0 20 63 6c 61 73 73 3d 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
e000 6f 6d 6d 65 6e 74 22 3e 2f 2f 21 20 64 65 70 65 6e 64 20 6f 6e 20 6c 69 62 63 2c 20 62 75 74 20 omment">//!.depend.on.libc,.but.
e020 77 69 6c 6c 20 75 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 66 72 6f 6d 20 69 74 20 69 66 20 61 76 will.use.functions.from.it.if.av
e040 61 69 6c 61 62 6c 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ailable.</span></span></code></p
e060 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 re></figure>....................
e080 20 3c 68 32 20 69 64 3d 22 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 56 .<h2.id="Values"><a.href="#toc-V
e0a0 61 6c 75 65 73 22 3e 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 alues">Values</a>.<a.class="hdr"
e0c0 20 68 72 65 66 3d 22 23 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 .href="#Values">..</a></h2>.....
e0e0 20 20 20 3c 66 69 67 75 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
e100 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 6c 75 65 73 g-cap"><cite.class="file">values
e120 2e 7a 69 67 3c 2f 63 69 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
e140 64 65 3e 3c 73 70 61 6e 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
e160 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 70 2d 6c 65 76 65 6c 20 64 65 63 s="tok-comment">//.Top-level.dec
e180 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e 64 65 6e 74 3a larations.are.order-independent:
e1a0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
e1c0 22 3e 3c 73 70 61 6e 20 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
e1e0 61 6e 3e 20 70 72 69 6e 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 an>.print.=.std.debug.print;</sp
e200 61 6e 3e 0a 3c 73 70 61 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
e220 73 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.=.<
e240 73 70 61 6e 20 63 6c 61 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
e260 3c 2f 73 70 61 6e 3e 28 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
e280 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
e2a0 70 61 6e 20 63 6c 61 73 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
e2c0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 20 3d 20 73 74 64 2e 6f 73 3b 3c k-kw">const</span>.os.=.std.os;<
e2e0 2f 73 70 61 6e 3e 0a 3c 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.
e300 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 class="tok-kw">const</span>.asse
e320 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 rt.=.std.debug.assert;</span>.<s
e340 70 61 6e 20 63 6c 61 73 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
e360 6c 61 73 73 3d 22 6c 69 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"
e380 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"
e3a0 3e 66 6e 3c 2f 73 70 61 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">
e3c0 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
e3e0 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.
e400 63 6c 61 73 73 3d 22 6c 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
e420 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 74 65 67 65 72 73 3c 2f 73 70 61 6e 3e 3c 2f 73 k-comment">//.integers</span></s
e440 70 61 6e 3e 0a 3c 73 70 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
e460 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6e n.class="tok-kw">const</span>.on
e480 65 5f 70 6c 75 73 5f 6f 6e 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 e_plus_one:.<span.class="tok-typ
e4a0 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
e4c0 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -number">1</span>.+.<span.class=
e4e0 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
e500 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e pan.class="line">....print(<span
e520 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 20 2b 20 31 20 3d 20 7b .class="tok-str">&quot;1.+.1.=.{
e540 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6f 6e 65 5f 70 6c 75 73 5f 6f 6e 65 }\n&quot;</span>,..{one_plus_one
e560 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f });</span>.<span.class="line"></
e580 73 70 61 6e 3e 0a 3c 73 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
e5a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 6c 6f 61 74 73 an.class="tok-comment">//.floats
e5c0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
e5e0 22 3e 20 20 20 20 3c 73 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
e600 3c 2f 73 70 61 6e 3e 20 73 65 76 65 6e 5f 64 69 76 5f 74 68 72 65 65 3a 20 3c 73 70 61 6e 20 63 </span>.seven_div_three:.<span.c
e620 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 lass="tok-type">f32</span>.=.<sp
e640 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 2e 30 3c 2f 73 70 61 6e 3e an.class="tok-number">7.0</span>
e660 20 2f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 30 3c ./.<span.class="tok-number">3.0<
e680 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
e6a0 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ">....print(<span.class="tok-str
e6c0 22 3e 26 71 75 6f 74 3b 37 2e 30 20 2f 20 33 2e 30 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f ">&quot;7.0./.3.0.=.{}\n&quot;</
e6e0 73 70 61 6e 3e 2c 20 2e 7b 73 65 76 65 6e 5f 64 69 76 5f 74 68 72 65 65 7d 29 3b 3c 2f 73 70 61 span>,..{seven_div_three});</spa
e700 6e 3e 0a 3c 73 70 61 6e 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
e720 70 61 6e 20 63 6c 61 73 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
e740 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 6f 6f 6c 65 61 6e 3c 2f 73 70 61 6e 3e ="tok-comment">//.boolean</span>
e760 3c 2f 73 70 61 6e 3e 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
e780 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
e7a0 3b 7b 7d 5c 6e 7b 7d 5c 6e 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f ;{}\n{}\n{}\n&quot;</span>,..{</
e7c0 73 70 61 6e 3e 0a 3c 73 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">.......
e7e0 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
e800 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 an>.<span.class="tok-kw">and</sp
e820 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 an>.<span.class="tok-null">false
e840 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
e860 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c e">........<span.class="tok-null
e880 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ">true</span>.<span.class="tok-k
e8a0 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 w">or</span>.<span.class="tok-nu
e8c0 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
e8e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">........!<span.class
e900 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a ="tok-null">true</span>,</span>.
e920 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e <span.class="line">....});</span
e940 3e 0a 3c 73 70 61 6e 20 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
e960 61 6e 20 63 6c 61 73 73 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=
e980 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e "tok-comment">//.optional</span>
e9a0 3c 2f 73 70 61 6e 3e 0a 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">....<
e9c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6f span.class="tok-kw">var</span>.o
e9e0 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ptional_value:.?[]<span.class="t
ea00 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=
ea20 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">u8</span>.=.<span.cla
ea40 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ss="tok-null">null</span>;</span
ea60 3e 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(
ea80 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 optional_value.==.<span.class="t
eaa0 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-null">null</span>);</span>.<s
eac0 70 61 6e 20 63 6c 61 73 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
eae0 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
eb00 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 6f 70 74 69 6f 6e 61 6c 20 31 5c 6e s="tok-str">&quot;\noptional.1\n
eb20 74 79 70 65 3a 20 7b 73 7d 5c 6e 76 61 6c 75 65 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 type:.{s}\nvalue:.{s}\n&quot;</s
eb40 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e pan>,..{</span>.<span.class="lin
eb60 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c e">........<span.class="tok-buil
eb80 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 tin">@typeName</span>(<span.clas
eba0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6f s="tok-builtin">@TypeOf</span>(o
ebc0 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 29 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ptional_value)),</span>.<span.cl
ebe0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 ass="line">........optional_valu
ec00 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 e,</span>.<span.class="line">...
ec20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c .});</span>.<span.class="line"><
ec40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 70 /span>.<span.class="line">....op
ec60 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d tional_value.=.<span.class="tok-
ec80 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 str">&quot;hi&quot;</span>;</spa
eca0 6e 3e 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
ecc0 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 (optional_value.!=.<span.class="
ece0 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-null">null</span>);</span>.<
ed00 73 70 61 6e 20 63 6c 61 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.
ed20 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
ed40 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 6f 70 74 69 6f 6e 61 6c 20 32 5c ss="tok-str">&quot;\noptional.2\
ed60 6e 74 79 70 65 3a 20 7b 73 7d 5c 6e 76 61 6c 75 65 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f ntype:.{s}\nvalue:.{s}\n&quot;</
ed80 73 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 span>,..{</span>.<span.class="li
eda0 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
edc0 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ltin">@typeName</span>(<span.cla
ede0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 ss="tok-builtin">@TypeOf</span>(
ee00 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 29 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 optional_value)),</span>.<span.c
ee20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c lass="line">........optional_val
ee40 75 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ue,</span>.<span.class="line">..
ee60 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..});</span>.<span.class="line">
ee80 3c 2f 73 70 61 6e 3e 0a 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">....<
eea0 73 70 61 6e 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
eec0 72 20 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r.union</span></span>.<span.clas
eee0 73 3d 22 6c 69 6e 65 22 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
ef00 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 3a 20 3c 73 ">var</span>.number_or_error:.<s
ef20 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
ef40 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c pan>!<span.class="tok-type">i32<
ef60 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 /span>.=.<span.class="tok-kw">er
ef80 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 72 67 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 73 70 61 6e 3e 0a 3c ror</span>.ArgNotFound;</span>.<
efa0 73 70 61 6e 20 63 6c 61 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.
efc0 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
efe0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 65 72 72 6f 72 20 75 6e 69 6f 6e ss="tok-str">&quot;\nerror.union
f000 20 31 5c 6e 74 79 70 65 3a 20 7b 73 7d 5c 6e 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b .1\ntype:.{s}\nvalue:.{}\n&quot;
f020 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>,..{</span>.<span.class="
f040 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 line">........<span.class="tok-b
f060 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
f080 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
f0a0 3e 28 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 29 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >(number_or_error)),</span>.<spa
f0c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 5f 6f 72 n.class="line">........number_or
f0e0 5f 65 72 72 6f 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 _error,</span>.<span.class="line
f100 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ">....});</span>.<span.class="li
f120 6e 65 22 3e 3c 2f 73 70 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">.
f140 20 20 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ...number_or_error.=.<span.class
f160 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ="tok-number">1234</span>;</span
f180 3e 0a 3c 73 70 61 6e 20 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
f1a0 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.
f1c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 65 72 72 6f 72 20 75 6e class="tok-str">&quot;\nerror.un
f1e0 69 6f 6e 20 32 5c 6e 74 79 70 65 3a 20 7b 73 7d 5c 6e 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 ion.2\ntype:.{s}\nvalue:.{}\n&qu
f200 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ot;</span>,..{</span>.<span.clas
f220 73 3d 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
f240 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 k-builtin">@typeName</span>(<spa
f260 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
f280 70 61 6e 3e 28 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 29 29 2c 3c 2f 73 70 61 6e 3e 0a 3c pan>(number_or_error)),</span>.<
f2a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 span.class="line">........number
f2c0 5f 6f 72 5f 65 72 72 6f 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c _or_error,</span>.<span.class="l
f2e0 69 6e 65 22 3e 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ine">....});</span>.<span.class=
f300 22 6c 69 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
f320 67 75 72 65 3e 3c 66 69 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="
f340 73 68 65 6c 6c 2d 63 61 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
f360 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
f380 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e d>zig.build-exe.values.zig</kbd>
f3a0 3c 2f 73 70 61 6e 3e 0a 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
f3c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 76 n>.<span.class="line">$.<kbd>./v
f3e0 61 6c 75 65 73 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 alues</kbd></span>.<span.class="
f400 6c 69 6e 65 22 3e 31 20 2b 20 31 20 3d 20 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 line">1.+.1.=.2</span>.<span.cla
f420 73 73 3d 22 6c 69 6e 65 22 3e 37 2e 30 20 2f 20 33 2e 30 20 3d 20 32 2e 33 33 33 33 33 33 32 35 ss="line">7.0./.3.0.=.2.33333325
f440 65 2b 30 30 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 e+00</span>.<span.class="line">f
f460 61 6c 73 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 alse</span>.<span.class="line">t
f480 72 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 61 rue</span>.<span.class="line">fa
f4a0 6c 73 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f lse</span>.<span.class="line"></
f4c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6f 6e 61 span>.<span.class="line">optiona
f4e0 6c 20 31 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 79 l.1</span>.<span.class="line">ty
f500 70 65 3a 20 3f 5b 5d 63 6f 6e 73 74 20 75 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pe:.?[]const.u8</span>.<span.cla
f520 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3a 20 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ss="line">value:.null</span>.<sp
f540 61 6e 20 63 6c 61 73 73 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
f560 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6f 6e 61 6c 20 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ass="line">optional.2</span>.<sp
f580 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 79 70 65 3a 20 3f 5b 5d 63 6f 6e 73 74 20 75 an.class="line">type:.?[]const.u
f5a0 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 8</span>.<span.class="line">valu
f5c0 65 3a 20 68 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e e:.hi</span>.<span.class="line">
f5e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 </span>.<span.class="line">error
f600 20 75 6e 69 6f 6e 20 31 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .union.1</span>.<span.class="lin
f620 65 22 3e 74 79 70 65 3a 20 61 6e 79 65 72 72 6f 72 21 69 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 e">type:.anyerror!i32</span>.<sp
f640 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3a 20 65 72 72 6f 72 2e 41 72 67 an.class="line">value:.error.Arg
f660 4e 6f 74 46 6f 75 6e 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e NotFound</span>.<span.class="lin
f680 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 e"></span>.<span.class="line">er
f6a0 72 6f 72 20 75 6e 69 6f 6e 20 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ror.union.2</span>.<span.class="
f6c0 6c 69 6e 65 22 3e 74 79 70 65 3a 20 61 6e 79 65 72 72 6f 72 21 69 33 32 3c 2f 73 70 61 6e 3e 0a line">type:.anyerror!i32</span>.
f6e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3a 20 31 32 33 34 3c 2f <span.class="line">value:.1234</
f700 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>....
f720 20 20 20 3c 68 33 20 69 64 3d 22 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 3c 61 20 68 ...<h3.id="Primitive-Types"><a.h
f740 72 65 66 3d 22 23 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 50 72 69 6d 69 ref="#toc-Primitive-Types">Primi
f760 74 69 76 65 20 54 79 70 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 tive.Types</a>.<a.class="hdr".hr
f780 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ef="#Primitive-Types">..</a></h3
f7a0 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 >........<div.class="table-wrapp
f7c0 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 63 61 70 74 er">.......<table>.........<capt
f7e0 69 6f 6e 3e 50 72 69 6d 69 74 69 76 65 20 54 79 70 65 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 ion>Primitive.Types</caption>...
f800 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 ......<thead>.............<tr>..
f820 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 54 79 70 65 3c ...........<th.scope="col">Type<
f840 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 /th>.............<th.scope="col"
f860 3e 43 20 45 71 75 69 76 61 6c 65 6e 74 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c >C.Equivalent</th>.............<
f880 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>.
f8a0 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>..
f8c0 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>.....
f8e0 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
f900 70 61 6e 20 63 6c 61 73 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
f920 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c k-type">i8</span></span></code><
f940 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="
f960 63 22 3e 69 6e 74 38 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 c">int8_t</code></td>...........
f980 3c 74 64 3e 73 69 67 6e 65 64 20 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 <td>signed.8-bit.integer</td>...
f9a0 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>........
f9c0 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
f9e0 20 63 6c 61 73 73 3d 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
fa00 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 ype">u8</span></span></code></th
fa20 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">
fa40 75 69 6e 74 38 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 uint8_t</code></td>...........<t
fa60 64 3e 75 6e 73 69 67 6e 65 64 20 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 d>unsigned.8-bit.integer</td>...
fa80 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>........
faa0 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
fac0 20 63 6c 61 73 73 3d 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
fae0 79 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 ype">i16</span></span></code></t
fb00 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"
fb20 3e 69 6e 74 31 36 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c >int16_t</code></td>...........<
fb40 74 64 3e 73 69 67 6e 65 64 20 31 36 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 td>signed.16-bit.integer</td>...
fb60 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>........
fb80 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
fba0 20 63 6c 61 73 73 3d 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
fbc0 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 ype">u16</span></span></code></t
fbe0 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"
fc00 3e 75 69 6e 74 31 36 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 >uint16_t</code></td>...........
fc20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 31 36 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e <td>unsigned.16-bit.integer</td>
fc40 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>.....
fc60 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
fc80 70 61 6e 20 63 6c 61 73 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
fca0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-type">i32</span></span></code>
fcc0 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d </th>...........<td><code.class=
fce0 22 63 22 3e 69 6e 74 33 32 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 "c">int32_t</code></td>.........
fd00 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 33 32 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e ..<td>signed.32-bit.integer</td>
fd20 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>.....
fd40 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
fd60 70 61 6e 20 63 6c 61 73 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
fd80 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-type">u32</span></span></code>
fda0 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d </th>...........<td><code.class=
fdc0 22 63 22 3e 75 69 6e 74 33 32 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 "c">uint32_t</code></td>........
fde0 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 33 32 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f ...<td>unsigned.32-bit.integer</
fe00 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>..
fe20 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
fe40 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
fe60 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-type">i64</span></span></co
fe80 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 de></th>...........<td><code.cla
fea0 73 73 3d 22 63 22 3e 69 6e 74 36 34 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 ss="c">int64_t</code></td>......
fec0 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f .....<td>signed.64-bit.integer</
fee0 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>..
ff00 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
ff20 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
ff40 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-type">u64</span></span></co
ff60 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 de></th>...........<td><code.cla
ff80 73 73 3d 22 63 22 3e 75 69 6e 74 36 34 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 ss="c">uint64_t</code></td>.....
ffa0 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 ......<td>unsigned.64-bit.intege
ffc0 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 r</td>.........</tr>.........<tr
ffe0 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
10000 6f 64 65 3e 3c 73 70 61 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
10020 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ss="tok-type">i128</span></span>
10040 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
10060 20 63 6c 61 73 73 3d 22 63 22 3e 5f 5f 69 6e 74 31 32 38 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a .class="c">__int128</code></td>.
10080 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 31 32 38 2d 62 69 74 20 69 6e 74 ..........<td>signed.128-bit.int
100a0 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 eger</td>.........</tr>.........
100c0 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"
100e0 3e 3c 63 6f 64 65 3e 3c 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.
10100 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 class="tok-type">u128</span></sp
10120 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 an></code></th>...........<td><c
10140 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 5f 5f 69 6e 74 31 32 38 3c ode.class="c">unsigned.__int128<
10160 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e /code></td>...........<td>unsign
10180 65 64 20 31 32 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 ed.128-bit.integer</td>.........
101a0 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>.............<
101c0 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
101e0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 ="line"><span.class="tok-type">i
10200 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 size</span></span></code></th>..
10220 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 .........<td><code.class="c">int
10240 70 74 72 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e ptr_t</code></td>...........<td>
10260 73 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 73 69 7a 65 64 20 69 6e 74 65 67 65 72 3c 2f 74 64 signed.pointer.sized.integer</td
10280 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>....
102a0 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c .........<th.scope="row"><code><
102c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
102e0 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ok-type">usize</span></span></co
10300 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 de></th>...........<td><code.cla
10320 73 73 3d 22 63 22 3e 75 69 6e 74 70 74 72 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 ss="c">uintptr_t</code></td>....
10340 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 73 69 7a 65 .......<td>unsigned.pointer.size
10360 64 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 0a 20 20 d.integer</td>.........</tr>....
10380 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
103a0 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">
103c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 73 68 6f 72 74 3c 2f <span.class="tok-type">c_short</
103e0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 span></span></code></th>........
10400 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 73 68 6f 72 74 3c 2f 63 6f ...<td><code.class="c">short</co
10420 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 de></td>...........<td>for.ABI.c
10440 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 ompatibility.with.C</td>........
10460 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .</tr>.........<tr>.............
10480 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 <th.scope="row"><code><span.clas
104a0 73 3d 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">
104c0 63 5f 75 73 68 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 c_ushort</span></span></code></t
104e0 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"
10500 3e 75 6e 73 69 67 6e 65 64 20 73 68 6f 72 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 >unsigned.short</code></td>.....
10520 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 ......<td>for.ABI.compatibility.
10540 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 with.C</td>.........</tr>.......
10560 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
10580 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
105a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c n.class="tok-type">c_int</span><
105c0 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
105e0 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e ><code.class="c">int</code></td>
10600 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 ...........<td>for.ABI.compatibi
10620 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 lity.with.C</td>.........</tr>..
10640 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
10660 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"
10680 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 69 6e 74 3c 2f ><span.class="tok-type">c_uint</
106a0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 span></span></code></th>........
106c0 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 ...<td><code.class="c">unsigned.
106e0 69 6e 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f int</code></td>...........<td>fo
10700 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>.
10720 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>......
10740 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
10760 61 6e 20 63 6c 61 73 73 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
10780 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 -type">c_long</span></span></cod
107a0 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
107c0 73 3d 22 63 22 3e 6c 6f 6e 67 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 s="c">long</code></td>..........
107e0 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.
10800 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
10820 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
10840 6f 64 65 3e 3c 73 70 61 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
10860 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ss="tok-type">c_ulong</span></sp
10880 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 an></code></th>...........<td><c
108a0 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 3c 2f 63 6f 64 ode.class="c">unsigned.long</cod
108c0 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
108e0 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>.........
10900 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>.............<
10920 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
10940 3d 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
10960 5f 6c 6f 6e 67 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f _longlong</span></span></code></
10980 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
109a0 22 3e 6c 6f 6e 67 20 6c 6f 6e 67 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 ">long.long</code></td>.........
109c0 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 ..<td>for.ABI.compatibility.with
109e0 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 .C</td>.........</tr>.........<t
10a00 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"><
10a20 63 6f 64 65 3e 3c 73 70 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
10a40 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 6c 6f 6e 67 6c 6f 6e 67 3c 2f 73 70 61 6e ass="tok-type">c_ulonglong</span
10a60 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c ></span></code></th>...........<
10a80 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 td><code.class="c">unsigned.long
10aa0 20 6c 6f 6e 67 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e .long</code></td>...........<td>
10ac0 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 for.ABI.compatibility.with.C</td
10ae0 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 >.........</tr>.........<tr>....
10b00 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c .........<th.scope="row"><code><
10b20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
10b40 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ok-type">c_longdouble</span></sp
10b60 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 an></code></th>...........<td><c
10b80 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 6c 6f 6e 67 20 64 6f 75 62 6c 65 3c 2f 63 6f 64 65 3e ode.class="c">long.double</code>
10ba0 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 </td>...........<td>for.ABI.comp
10bc0 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f atibility.with.C</td>.........</
10be0 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
10c00 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=
10c20 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 "line"><span.class="tok-type">f1
10c40 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 6</span></span></code></th>.....
10c60 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 5f 46 6c 6f 61 74 ......<td><code.class="c">_Float
10c80 31 36 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 31 36 2d 16</code></td>...........<td>16-
10ca0 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 31 30 2d 62 69 74 20 6d 61 6e 74 69 bit.floating.point.(10-bit.manti
10cc0 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 31 36 3c 2f 74 64 3e ssa).IEEE-754-2008.binary16</td>
10ce0 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>.....
10d00 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
10d20 70 61 6e 20 63 6c 61 73 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
10d40 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-type">f32</span></span></code>
10d60 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d </th>...........<td><code.class=
10d80 22 63 22 3e 66 6c 6f 61 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 "c">float</code></td>...........
10da0 3c 74 64 3e 33 32 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 32 33 2d 62 69 <td>32-bit.floating.point.(23-bi
10dc0 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
10de0 33 32 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 32</td>.........</tr>.........<t
10e00 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"><
10e20 63 6f 64 65 3e 3c 73 70 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
10e40 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ass="tok-type">f64</span></span>
10e60 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
10e80 20 63 6c 61 73 73 3d 22 63 22 3e 64 6f 75 62 6c 65 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 .class="c">double</code></td>...
10ea0 20 20 20 20 20 20 20 20 3c 74 64 3e 36 34 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e ........<td>64-bit.floating.poin
10ec0 74 20 28 35 32 2d 62 69 74 20 6d 61 6e 74 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 t.(52-bit.mantissa).IEEE-754-200
10ee0 38 20 62 69 6e 61 72 79 36 34 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 8.binary64</td>.........</tr>...
10f00 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
10f20 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">
10f40 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
10f60 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>...........
10f80 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<
10fa0 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
10fc0 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
10fe0 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>
11000 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>.....
11020 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
11040 70 61 6e 20 63 6c 61 73 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
11060 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
11080 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
110a0 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>...........
110c0 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
110e0 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><
11100 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
11120 73 73 3d 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"
11140 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>
11160 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>.....
11180 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
111a0 70 61 6e 20 63 6c 61 73 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
111c0 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><
111e0 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.
11200 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>......
11220 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
11240 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>......
11260 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
11280 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
112a0 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><
112c0 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
112e0 3e 28 6e 6f 6e 65 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 30 20 62 69 74 >(none)</td>...........<td>0.bit
11300 20 74 79 70 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 .type</td>.........</tr>........
11320 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
11340 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
11360 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e .class="tok-type">noreturn</span
11380 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c ></span></code></th>...........<
113a0 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 74 68 65 td>(none)</td>...........<td>the
113c0 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .type.of.<code><span.class="line
113e0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 "><span.class="tok-kw">break</sp
11400 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 an></span></code>,.<code><span.c
11420 6c 61 73 73 3d 22 6c 69 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"
11440 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 >continue</span></span></code>,.
11460 3c 63 6f 64 65 3e 3c 73 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
11480 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
114a0 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n></code>,.<code><span.class="li
114c0 6e 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
114e0 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c able</span></span></code>,.and.<
11500 63 6f 64 65 3e 3c 73 70 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
11520 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e ass="tok-kw">while</span>.(<span
11540 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b .class="tok-null">true</span>).{
11560 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 }</span></code></td>.........</t
11580 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 r>.........<tr>.............<th.
115a0 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c scope="row"><code><span.class="l
115c0 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
115e0 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>......
11600 20 20 20 20 20 3c 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c .....<td>(none)</td>...........<
11620 74 64 3e 74 68 65 20 74 79 70 65 20 6f 66 20 74 79 70 65 73 3c 2f 74 64 3e 0a 20 20 20 20 20 20 td>the.type.of.types</td>.......
11640 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ..</tr>.........<tr>............
11660 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .<th.scope="row"><code><span.cla
11680 73 73 3d 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"
116a0 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f >anyerror</span></span></code></
116c0 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 3e 0a 20 20 th>...........<td>(none)</td>...
116e0 20 20 20 20 20 20 20 20 3c 74 64 3e 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 3c 2f 74 64 3e 0a 20 ........<td>an.error.code</td>..
11700 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>.......
11720 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
11740 6e 20 63 6c 61 73 73 3d 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-
11760 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>
11780 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
117a0 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4f 6e 6c 79 20 61 6c 6c 6f 77 65 )</td>...........<td>Only.allowe
117c0 64 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 d.for.<a.href="#comptime">compti
117e0 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 73 2e 20 54 68 65 20 74 79 70 65 20 6f 66 me</a>-known.values..The.type.of
11800 20 69 6e 74 65 67 65 72 20 6c 69 74 65 72 61 6c 73 2e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 .integer.literals.</td>.........
11820 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>.............<
11840 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
11860 3d 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
11880 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 omptime_float</span></span></cod
118a0 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 e></th>...........<td>(none)</td
118c0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 66 6f 72 >...........<td>Only.allowed.for
118e0 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
11900 3e 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 73 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 66 6c 6f 61 >-known.values..The.type.of.floa
11920 74 20 6c 69 74 65 72 61 6c 73 2e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 t.literals.</td>.........</tr>..
11940 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 .......</tbody>.......</table>..
11960 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 61 .....</div>.......<p>.......In.a
11980 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 73 20 61 62 6f ddition.to.the.integer.types.abo
119a0 76 65 2c 20 61 72 62 69 74 72 61 72 79 20 62 69 74 2d 77 69 64 74 68 20 69 6e 74 65 67 65 72 73 ve,.arbitrary.bit-width.integers
119c0 20 63 61 6e 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 75 73 69 6e 67 0a 20 20 20 20 .can.be.referenced.by.using.....
119e0 20 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 6f 66 20 3c 63 6f 64 65 3e 69 3c 2f 63 6f 64 65 ..an.identifier.of.<code>i</code
11a00 3e 20 6f 72 20 3c 63 6f 64 65 3e 75 3c 2f 63 6f 64 65 3e 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 >.or.<code>u</code>.followed.by.
11a20 64 69 67 69 74 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 69 64 65 6e 74 69 66 digits..For.example,.the.identif
11a40 69 65 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ier.......<code><span.class="lin
11a60 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 37 3c 2f 73 70 e"><span.class="tok-type">i7</sp
11a80 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 6f 20 61 20 73 69 an></span></code>.refers.to.a.si
11aa0 67 6e 65 64 20 37 2d 62 69 74 20 69 6e 74 65 67 65 72 2e 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 gned.7-bit.integer..The.maximum.
11ac0 61 6c 6c 6f 77 65 64 20 62 69 74 2d 77 69 64 74 68 20 6f 66 20 61 6e 0a 20 20 20 20 20 20 69 6e allowed.bit-width.of.an.......in
11ae0 74 65 67 65 72 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d teger.type.is.<code><span.class=
11b00 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e "line"><span.class="tok-number">
11b20 36 35 35 33 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 65535</span></span></code>......
11b40 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c ..</p>.......<p>See.also:</p><ul
11b60 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 >.<li><a.href="#Integers">Intege
11b80 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 rs</a></li>.<li><a.href="#Floats
11ba0 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 ">Floats</a></li>.<li><a.href="#
11bc0 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d void">void</a></li>.<li><a.href=
11be0 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 "#Errors">Errors</a></li>.<li><a
11c00 20 68 72 65 66 3d 22 23 54 79 70 65 22 3e 40 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 .href="#Type">@Type</a></li>.</u
11c20 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 72 69 6d 69 74 69 l>...............<h3.id="Primiti
11c40 76 65 2d 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 72 69 6d 69 74 69 ve-Values"><a.href="#toc-Primiti
11c60 76 65 2d 56 61 6c 75 65 73 22 3e 50 72 69 6d 69 74 69 76 65 20 56 61 6c 75 65 73 3c 2f 61 3e 20 ve-Values">Primitive.Values</a>.
11c80 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d <a.class="hdr".href="#Primitive-
11ca0 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 Values">..</a></h3>........<div.
11cc0 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 class="table-wrapper">.......<ta
11ce0 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 63 61 70 74 69 6f 6e 3e 50 72 69 6d 69 74 69 76 65 20 ble>.........<caption>Primitive.
11d00 56 61 6c 75 65 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e Values</caption>.........<thead>
11d20 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
11d40 65 3d 22 63 6f 6c 22 3e 4e 61 6d 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 e="col">Name</th>...........<th.
11d60 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 scope="col">Description</th>....
11d80 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 .....</tr>.........</thead>.....
11da0 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 ....<tbody>.........<tr>........
11dc0 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
11de0 20 63 6c 61 73 73 3d 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
11e00 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 ull">true</span></span></code>.a
11e20 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 nd.<code><span.class="line"><spa
11e40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c n.class="tok-null">false</span><
11e60 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c /span></code></th>.............<
11e80 74 64 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 td><code><span.class="line"><spa
11ea0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-type">bool</span></
11ec0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 6c 75 65 73 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 span></code>.values</td>........
11ee0 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .</tr>.........<tr>.............
11f00 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 <th.scope="row"><code><span.clas
11f20 73 3d 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">
11f40 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 null</span></span></code></th>..
11f60 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 73 65 64 20 74 6f 20 73 65 74 20 61 6e 20 6f 70 ...........<td>used.to.set.an.op
11f80 74 69 6f 6e 61 6c 20 74 79 70 65 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 tional.type.to.<code><span.class
11fa0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e ="line"><span.class="tok-null">n
11fc0 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 ull</span></span></code></td>...
11fe0 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>........
12000 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
12020 20 63 6c 61 73 73 3d 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
12040 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ull">undefined</span></span></co
12060 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 73 65 64 20 74 6f 20 6c de></th>...........<td>used.to.l
12080 65 61 76 65 20 61 20 76 61 6c 75 65 20 75 6e 73 70 65 63 69 66 69 65 64 3c 2f 74 64 3e 0a 20 20 eave.a.value.unspecified</td>...
120a0 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 ......</tr>.........</tbody>....
120c0 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c ...</table>.......</div>.......<
120e0 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=
12100 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a "#Optionals">Optionals</a></li>.
12120 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e <li><a.href="#undefined">undefin
12140 65 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 ed</a></li>.</ul>...............
12160 3c 68 33 20 69 64 3d 22 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 <h3.id="String-Literals-and-Unic
12180 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 ode-Code-Point-Literals"><a.href
121a0 3d 22 23 74 6f 63 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f ="#toc-String-Literals-and-Unico
121c0 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 53 74 72 69 6e 67 20 4c de-Code-Point-Literals">String.L
121e0 69 74 65 72 61 6c 73 20 61 6e 64 20 55 6e 69 63 6f 64 65 20 43 6f 64 65 20 50 6f 69 6e 74 20 4c iterals.and.Unicode.Code.Point.L
12200 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d iterals</a>.<a.class="hdr".href=
12220 22 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e 69 63 6f 64 65 2d 43 6f "#String-Literals-and-Unicode-Co
12240 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a de-Point-Literals">..</a></h3>..
12260 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 ......<p>.......String.literals.
12280 61 72 65 20 63 6f 6e 73 74 61 6e 74 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 3c 61 20 68 72 65 66 are.constant.single-item.<a.href
122a0 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 74 6f 20 6e 75 6c ="#Pointers">Pointers</a>.to.nul
122c0 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 62 79 74 65 20 61 72 72 61 79 73 2e 0a 20 20 20 20 20 20 l-terminated.byte.arrays........
122e0 54 68 65 20 74 79 70 65 20 6f 66 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 65 6e 63 6f The.type.of.string.literals.enco
12300 64 65 73 20 62 6f 74 68 20 74 68 65 20 6c 65 6e 67 74 68 2c 20 61 6e 64 20 74 68 65 20 66 61 63 des.both.the.length,.and.the.fac
12320 74 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 2c t.that.they.are.null-terminated,
12340 0a 20 20 20 20 20 20 61 6e 64 20 74 68 75 73 20 74 68 65 79 20 63 61 6e 20 62 65 20 3c 61 20 68 .......and.thus.they.can.be.<a.h
12360 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 3e ref="#Type-Coercion">coerced</a>
12380 20 74 6f 20 62 6f 74 68 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 .to.both.<a.href="#Slices">Slice
123a0 73 3c 2f 61 3e 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e s</a>.and.......<a.href="#Sentin
123c0 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 4e 75 6c 6c 2d 54 65 72 el-Terminated-Pointers">Null-Ter
123e0 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 44 65 72 65 minated.Pointers</a>........Dere
12400 66 65 72 65 6e 63 69 6e 67 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 63 6f 6e 76 65 72 ferencing.string.literals.conver
12420 74 73 20 74 68 65 6d 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 ts.them.to.<a.href="#Arrays">Arr
12440 61 79 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 ays</a>........</p>.......<p>...
12460 20 20 20 20 54 68 65 20 65 6e 63 6f 64 69 6e 67 20 6f 66 20 61 20 73 74 72 69 6e 67 20 69 6e 20 ....The.encoding.of.a.string.in.
12480 5a 69 67 20 69 73 20 64 65 2d 66 61 63 74 6f 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 55 54 Zig.is.de-facto.assumed.to.be.UT
124a0 46 2d 38 2e 0a 20 20 20 20 20 20 42 65 63 61 75 73 65 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f F-8........Because.Zig.source.co
124c0 64 65 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 de.is.<a.href="#Source-Encoding"
124e0 3e 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 3c 2f 61 3e 2c 20 61 6e 79 20 6e 6f 6e 2d 41 53 43 49 >UTF-8.encoded</a>,.any.non-ASCI
12500 49 20 62 79 74 65 73 20 61 70 70 65 61 72 69 6e 67 20 77 69 74 68 69 6e 20 61 20 73 74 72 69 6e I.bytes.appearing.within.a.strin
12520 67 20 6c 69 74 65 72 61 6c 0a 20 20 20 20 20 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 g.literal.......in.source.code.c
12540 61 72 72 79 20 74 68 65 69 72 20 55 54 46 2d 38 20 6d 65 61 6e 69 6e 67 20 69 6e 74 6f 20 74 68 arry.their.UTF-8.meaning.into.th
12560 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 69 6e 20 74 68 65 20 5a e.content.of.the.string.in.the.Z
12580 69 67 20 70 72 6f 67 72 61 6d 3b 0a 20 20 20 20 20 20 74 68 65 20 62 79 74 65 73 20 61 72 65 20 ig.program;.......the.bytes.are.
125a0 6e 6f 74 20 6d 6f 64 69 66 69 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2e 0a 20 20 not.modified.by.the.compiler....
125c0 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 65 ....However,.it.is.possible.to.e
125e0 6d 62 65 64 20 6e 6f 6e 2d 55 54 46 2d 38 20 62 79 74 65 73 20 69 6e 74 6f 20 61 20 73 74 72 69 mbed.non-UTF-8.bytes.into.a.stri
12600 6e 67 20 6c 69 74 65 72 61 6c 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 5c 78 4e 4e 3c 2f 63 6f 64 ng.literal.using.<code>\xNN</cod
12620 65 3e 20 6e 6f 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 e>.notation........</p>.......<p
12640 3e 0a 20 20 20 20 20 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 6c 69 74 65 72 >.......Unicode.code.point.liter
12660 61 6c 73 20 68 61 76 65 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d als.have.type.<code><span.class=
12680 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f "line"><span.class="tok-type">co
126a0 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c mptime_int</span></span></code>,
126c0 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 .the.same.as.......<a.href="#Int
126e0 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 49 6e 74 65 67 65 72 20 4c 69 74 65 72 61 6c 73 3c eger-Literals">Integer.Literals<
12700 2f 61 3e 2e 20 41 6c 6c 20 3c 61 20 68 72 65 66 3d 22 23 45 73 63 61 70 65 2d 53 65 71 75 65 6e /a>..All.<a.href="#Escape-Sequen
12720 63 65 73 22 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 73 3c 2f 61 3e 20 61 72 65 20 76 61 ces">Escape.Sequences</a>.are.va
12740 6c 69 64 20 69 6e 20 62 6f 74 68 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 20 lid.in.both.string.literals.....
12760 20 20 61 6e 64 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 6c 69 74 65 72 61 6c ..and.Unicode.code.point.literal
12780 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e s........</p>.......<p>.......In
127a0 20 6d 61 6e 79 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 .many.other.programming.language
127c0 73 2c 20 61 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 6c 69 74 65 72 61 6c 20 s,.a.Unicode.code.point.literal.
127e0 69 73 20 63 61 6c 6c 65 64 20 61 20 22 63 68 61 72 61 63 74 65 72 20 6c 69 74 65 72 61 6c 22 2e is.called.a."character.literal".
12800 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 74 68 65 72 65 20 69 73 20 3c 61 20 68 72 65 66 .......However,.there.is.<a.href
12820 3d 22 68 74 74 70 73 3a 2f 2f 75 6e 69 63 6f 64 65 2e 6f 72 67 2f 67 6c 6f 73 73 61 72 79 22 3e ="https://unicode.org/glossary">
12840 6e 6f 20 70 72 65 63 69 73 65 20 74 65 63 68 6e 69 63 61 6c 20 64 65 66 69 6e 69 74 69 6f 6e 20 no.precise.technical.definition.
12860 6f 66 20 61 20 22 63 68 61 72 61 63 74 65 72 22 3c 2f 61 3e 0a 20 20 20 20 20 20 69 6e 20 72 65 of.a."character"</a>.......in.re
12880 63 65 6e 74 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 74 68 65 20 55 6e 69 63 6f 64 65 20 73 70 65 cent.versions.of.the.Unicode.spe
128a0 63 69 66 69 63 61 74 69 6f 6e 20 28 61 73 20 6f 66 20 55 6e 69 63 6f 64 65 20 31 33 2e 30 29 2e cification.(as.of.Unicode.13.0).
128c0 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 61 20 55 6e 69 63 6f 64 65 20 63 6f 64 65 20 70 6f .......In.Zig,.a.Unicode.code.po
128e0 69 6e 74 20 6c 69 74 65 72 61 6c 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 55 int.literal.corresponds.to.the.U
12900 6e 69 63 6f 64 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 61 20 63 6f 64 65 20 70 6f 69 6e nicode.definition.of.a.code.poin
12920 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 t........</p>.......<figure><fig
12940 63 61 70 74 69 6f 6e 20 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
12960 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f ass="file">string_literals.zig</
12980 63 69 74 65 3e 3c 2f 66 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
129a0 61 6e 20 63 6c 61 73 73 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
129c0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 -kw">const</span>.print.=.<span.
129e0 63 6c 61 73 73 3d 22 74 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
12a00 6e 3e 28 3c 73 70 61 6e 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
12a20 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 td&quot;</span>).debug.print;</s
12a40 70 61 6e 3e 0a 3c 73 70 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
12a60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 ass="tok-kw">const</span>.mem.=.
12a80 3c 73 70 61 6e 20 63 6c 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
12aa0 74 3c 2f 73 70 61 6e 3e 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">&
12ac0 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 20 3c 73 70 61 quot;std&quot;</span>).mem;.<spa
12ae0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 69 6c 6c 20 62 65 n.class="tok-comment">//.will.be
12b00 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 79 74 65 73 3c 2f 73 70 61 6e 3e 3c 2f 73 .used.to.compare.bytes</span></s
12b20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a pan>.<span.class="line"></span>.
12b40 3c 73 70 61 6e 20 63 6c 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="
12b60 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="
12b80 74 6f 6b 2d 6b 77 22 3e 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
12ba0 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
12bc0 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>
12be0 0a 3c 73 70 61 6e 20 63 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
12c00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 20 ass="tok-kw">const</span>.bytes.
12c20 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
12c40 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
12c60 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
12c80 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 s="tok-str">&quot;{s}\n&quot;</s
12ca0 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e pan>,..{<span.class="tok-builtin
12cc0 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">@typeName</span>(<span.class="
12ce0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 62 79 74 65 tok-builtin">@TypeOf</span>(byte
12d00 73 29 29 7d 29 3b 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f s))});.......<span.class="tok-co
12d20 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 63 6f 6e 73 74 20 5b 35 3a 30 5d 75 38 3c 2f 73 70 61 6e 3e 3c mment">//.*const.[5:0]u8</span><
12d40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 /span>.<span.class="line">....pr
12d60 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;
12d80 7b 64 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 2e 6c 65 6e 7d {d}\n&quot;</span>,..{bytes.len}
12da0 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 );.......................<span.c
12dc0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 35 3c 2f 73 70 61 6e 3e 3c 2f lass="tok-comment">//.5</span></
12de0 73 70 61 6e 3e 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
12e00 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b nt(<span.class="tok-str">&quot;{
12e20 63 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 5b 3c 73 70 61 6e c}\n&quot;</span>,..{bytes[<span
12e40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 7d 29 3b .class="tok-number">1</span>]});
12e60 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
12e80 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 27 65 27 3c 2f 73 70 61 6e 3e 3c ass="tok-comment">//.'e'</span><
12ea0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 /span>.<span.class="line">....pr
12ec0 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;
12ee0 7b 64 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 73 5b 3c 73 70 61 {d}\n&quot;</span>,..{bytes[<spa
12f00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 7d 29 n.class="tok-number">5</span>]})
12f20 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 ;........................<span.c
12f40 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 30 3c 2f 73 70 61 6e 3e 3c 2f lass="tok-comment">//.0</span></
12f60 73 70 61 6e 3e 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
12f80 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b nt(<span.class="tok-str">&quot;{
12fa0 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d }\n&quot;</span>,..{<span.class=
12fc0 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c "tok-str">'e'</span>.==.<span.cl
12fe0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 78 36 35 27 3c 2f 73 70 61 6e 3e 7d 29 3b 20 20 ass="tok-str">'\x65'</span>});..
13000 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
13020 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ok-comment">//.true</span></span
13040 3e 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(<
13060 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 5c 6e span.class="tok-str">&quot;{d}\n
13080 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f &quot;</span>,..{<span.class="to
130a0 6b 2d 73 74 72 22 3e 27 5c 75 7b 31 66 34 61 39 7d 27 3c 2f 73 70 61 6e 3e 7d 29 3b 20 20 20 20 k-str">'\u{1f4a9}'</span>});....
130c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .................<span.class="to
130e0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 31 32 38 31 36 39 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 k-comment">//.128169</span></spa
13100 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 n>.<span.class="line">....print(
13120 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 5c <span.class="tok-str">&quot;{d}\
13140 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n&quot;</span>,..{<span.class="t
13160 6f 6b 2d 73 74 72 22 3e 27 f0 9f 92 af 27 3c 2f 73 70 61 6e 3e 7d 29 3b 20 20 20 20 20 20 20 20 ok-str">'....'</span>});........
13180 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=
131a0 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 31 32 38 31 37 35 3c 2f 73 70 61 6e 3e 3c 2f "tok-comment">//.128175</span></
131c0 73 70 61 6e 3e 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
131e0 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b nt(<span.class="tok-str">&quot;{
13200 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 }\n&quot;</span>,..{mem.eql(<spa
13220 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 n.class="tok-type">u8</span>,.<s
13240 70 61 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&
13260 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
13280 74 72 22 3e 26 71 75 6f 74 3b 68 5c 78 36 35 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 tr">&quot;h\x65llo&quot;</span>)
132a0 7d 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f });.<span.class="tok-comment">//
132c0 20 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .true</span></span>.<span.class=
132e0 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
13300 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 30 78 7b 78 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e k-str">&quot;0x{x}\n&quot;</span
13320 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 >,..{<span.class="tok-str">&quot
13340 3b 5c 78 66 66 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ;\xff&quot;</span>[<span.class="
13360 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 7d 29 3b 20 3c 73 70 61 6e 20 63 tok-number">0</span>]});.<span.c
13380 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 6e 2d 55 54 46 2d 38 20 lass="tok-comment">//.non-UTF-8.
133a0 73 74 72 69 6e 67 73 20 61 72 65 20 70 6f 73 73 69 62 6c 65 20 77 69 74 68 20 5c 78 4e 4e 20 6e strings.are.possible.with.\xNN.n
133c0 6f 74 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 otation.</span></span>.<span.cla
133e0 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=
13400 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 75 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 "tok-str">&quot;{u}\n&quot;</spa
13420 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 e2 9a a1 n>,..{<span.class="tok-str">'...
13440 27 3c 2f 73 70 61 6e 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 '</span>});</span>.<span.class="
13460 6c 69 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
13480 75 72 65 3e 3c 66 69 67 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
134a0 68 65 6c 6c 2d 63 61 70 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
134c0 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
134e0 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 2e 7a >zig.build-exe.string_literals.z
13500 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
13520 65 22 3e 3c 2f 73 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">$.
13540 3c 6b 62 64 3e 2e 2f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 3c 2f 6b 62 64 3e 3c 2f 73 70 <kbd>./string_literals</kbd></sp
13560 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 63 6f 6e 73 74 20 5b 35 an>.<span.class="line">*const.[5
13580 3a 30 5d 75 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e :0]u8</span>.<span.class="line">
135a0 35 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 3c 2f 73 5</span>.<span.class="line">e</s
135c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 30 3c 2f 73 70 61 6e 3e pan>.<span.class="line">0</span>
135e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 0a .<span.class="line">true</span>.
13600 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 32 38 31 36 39 3c 2f 73 70 61 6e 3e <span.class="line">128169</span>
13620 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 32 38 31 37 35 3c 2f 73 70 61 6e .<span.class="line">128175</span
13640 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e >.<span.class="line">true</span>
13660 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 30 78 66 66 3c 2f 73 70 61 6e 3e 0a .<span.class="line">0xff</span>.
13680 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e e2 9a a1 3c 2f 73 70 61 6e 3e 0a 3c 2f <span.class="line">...</span>.</
136a0 73 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
136c0 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 e.also:</p><ul>.<li><a.href="#Ar
136e0 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 rays">Arrays</a></li>.<li><a.hre
13700 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
13720 64 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 ding</a></li>.</ul>........<h4.i
13740 64 3d 22 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 d="Escape-Sequences"><a.href="#t
13760 6f 63 2d 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 45 73 63 61 70 65 20 53 65 71 75 oc-Escape-Sequences">Escape.Sequ
13780 65 6e 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 ences</a>.<a.class="hdr".href="#
137a0 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 Escape-Sequences">..</a></h4>...
137c0 20 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e .....<div.class="table-wrapper">
137e0 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 63 61 70 74 69 6f 6e 3e .......<table>.........<caption>
13800 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 Escape.Sequences</caption>......
13820 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 ...<thead>.........<tr>.........
13840 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 ..<th.scope="col">Escape.Sequenc
13860 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 e</th>...........<th.scope="col"
13880 3e 4e 61 6d 65 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 >Name</th>.........</tr>........
138a0 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 .</thead>.........<tbody>.......
138c0 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
138e0 77 22 3e 3c 63 6f 64 65 3e 5c 6e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 w"><code>\n</code></th>.........
13900 20 20 3c 74 64 3e 4e 65 77 6c 69 6e 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e ..<td>Newline</td>.........</tr>
13920 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
13940 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 72 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 ope="row"><code>\r</code></th>..
13960 20 20 20 20 20 20 20 20 20 3c 74 64 3e 43 61 72 72 69 61 67 65 20 52 65 74 75 72 6e 3c 2f 74 64 .........<td>Carriage.Return</td
13980 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>....
139a0 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c .........<th.scope="row"><code>\
139c0 74 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 54 61 62 3c t</code></th>...........<td>Tab<
139e0 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>.
13a00 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 ............<th.scope="row"><cod
13a20 65 3e 5c 5c 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 e>\\</code></th>...........<td>B
13a40 61 63 6b 73 6c 61 73 68 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 ackslash</td>.........</tr>.....
13a60 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="
13a80 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 27 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 row"><code>\'</code></th>.......
13aa0 20 20 20 20 3c 74 64 3e 53 69 6e 67 6c 65 20 51 75 6f 74 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 ....<td>Single.Quote</td>.......
13ac0 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ..</tr>.........<tr>............
13ae0 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 22 3c 2f 63 6f 64 65 3e .<th.scope="row"><code>\"</code>
13b00 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 44 6f 75 62 6c 65 20 51 75 6f 74 65 </th>...........<td>Double.Quote
13b20 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>
13b40 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
13b60 64 65 3e 5c 78 4e 4e 3c 2f 63 6f 64 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 de>\xNN</code></th>...........<t
13b80 64 3e 68 65 78 61 64 65 63 69 6d 61 6c 20 38 2d 62 69 74 20 62 79 74 65 20 76 61 6c 75 65 20 28 d>hexadecimal.8-bit.byte.value.(
13ba0 32 20 64 69 67 69 74 73 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 2.digits)</td>.........</tr>....
13bc0 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=
13be0 22 72 6f 77 22 3e 3c 63 6f 64 65 3e 5c 75 7b 4e 4e 4e 4e 4e 4e 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 "row"><code>\u{NNNNNN}</code></t
13c00 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 68 65 78 61 64 65 63 69 6d 61 6c 20 55 6e 69 h>...........<td>hexadecimal.Uni
13c20 63 6f 64 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 20 28 31 code.code.point.UTF-8.encoded.(1
13c40 20 6f 72 20 6d 6f 72 65 20 64 69 67 69 74 73 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f .or.more.digits)</td>.........</
13c60 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 tr>.........</tbody>.......</tab
13c80 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 le>.......</div>.......<p>Note.t
13ca0 68 61 74 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 76 61 6c 69 64 20 55 6e 69 63 6f 64 65 20 70 6f hat.the.maximum.valid.Unicode.po
13cc0 69 6e 74 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e int.is.<code><span.class="line">
13ce0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 30 66 66 66 <span.class="tok-number">0x10fff
13d00 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 f</span></span></code>.</p>.....
13d20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e .........<h4.id="Multiline-Strin
13d40 67 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4d 75 6c 74 69 6c g-Literals"><a.href="#toc-Multil
13d60 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 22 3e 4d 75 6c 74 69 6c 69 6e 65 20 53 ine-String-Literals">Multiline.S
13d80 74 72 69 6e 67 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 tring.Literals</a>.<a.class="hdr
13da0 22 20 68 72 65 66 3d 22 23 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 ".href="#Multiline-String-Litera
13dc0 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ls">..</a></h4>........<p>......
13de0 20 4d 75 6c 74 69 6c 69 6e 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 .Multiline.string.literals.have.
13e00 6e 6f 20 65 73 63 61 70 65 73 20 61 6e 64 20 63 61 6e 20 73 70 61 6e 20 61 63 72 6f 73 73 20 6d no.escapes.and.can.span.across.m
13e20 75 6c 74 69 70 6c 65 20 6c 69 6e 65 73 2e 0a 20 20 20 20 20 20 54 6f 20 73 74 61 72 74 20 61 20 ultiple.lines........To.start.a.
13e40 6d 75 6c 74 69 6c 69 6e 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2c 20 75 73 65 20 74 68 multiline.string.literal,.use.th
13e60 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
13e80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .class="tok-str">\\</span></span
13ea0 3e 3c 2f 63 6f 64 65 3e 20 74 6f 6b 65 6e 2e 20 4a 75 73 74 20 6c 69 6b 65 20 61 20 63 6f 6d 6d ></code>.token..Just.like.a.comm
13ec0 65 6e 74 2c 0a 20 20 20 20 20 20 74 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 67 6f ent,.......the.string.literal.go
13ee0 65 73 20 75 6e 74 69 6c 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 20 54 68 es.until.the.end.of.the.line..Th
13f00 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 20 69 73 0a 20 20 20 20 20 20 6e 6f 74 20 69 e.end.of.the.line.is.......not.i
13f20 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2e 0a 20 ncluded.in.the.string.literal...
13f40 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 6e 65 78 74 20 6c 69 6e 65 20 62 .....However,.if.the.next.line.b
13f60 65 67 69 6e 73 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 egins.with.<code><span.class="li
13f80 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 3c 2f 73 70 ne"><span.class="tok-str">\\</sp
13fa0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 68 65 6e 20 61 20 6e 65 77 6c 69 6e 65 an></span></code>.then.a.newline
13fc0 20 69 73 20 61 70 70 65 6e 64 65 64 20 61 6e 64 0a 20 20 20 20 20 20 74 68 65 20 73 74 72 69 6e .is.appended.and.......the.strin
13fe0 67 20 6c 69 74 65 72 61 6c 20 63 6f 6e 74 69 6e 75 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a g.literal.continues........</p>.
14000 20 20 20 20 20 20 3c 66 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=
14020 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 75 6c "zig-cap"><cite.class="file">mul
14040 74 69 6c 69 6e 65 5f 73 74 72 69 6e 67 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 tiline_string_literals.zig</cite
14060 3e 3c 2f 66 69 67 63 61 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
14080 6c 61 73 73 3d 22 6c 69 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"
140a0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 5f 69 6e 5f 63 20 3d >const</span>.hello_world_in_c.=
140c0 3c 2f 73 70 61 6e 3e 0a 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">....<
140e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 23 69 6e 63 6c 75 64 65 20 span.class="tok-str">\\#include.
14100 26 6c 74 3b 73 74 64 69 6f 2e 68 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 &lt;stdio.h&gt;</span></span>.<s
14120 70 61 6e 20 63 6c 61 73 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
14140 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ="tok-str">\\</span></span>.<spa
14160 6e 20 63 6c 61 73 73 3d 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="
14180 74 6f 6b 2d 73 74 72 22 3e 5c 5c 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 tok-str">\\int.main(int.argc,.ch
141a0 61 72 20 2a 2a 61 72 67 76 29 20 7b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ar.**argv).{</span></span>.<span
141c0 20 63 6c 61 73 73 3d 22 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
141e0 6f 6b 2d 73 74 72 22 3e 5c 5c 20 20 20 20 70 72 69 6e 74 66 28 26 71 75 6f 74 3b 68 65 6c 6c 6f ok-str">\\....printf(&quot;hello
14200 20 77 6f 72 6c 64 5c 6e 26 71 75 6f 74 3b 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .world\n&quot;);</span></span>.<
14220 73 70 61 6e 20 63 6c 61 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
14240 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 20 20 20 20 72 65 74 75 72 6e 20 30 3b 3c 2f 73 70 61 s="tok-str">\\....return.0;</spa
14260 6e 3e 3c 2f 73 70 61 6e 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">...
14280 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 7d 3c 2f 73 70 61 6e .<span.class="tok-str">\\}</span
142a0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3b 3c 2f 73 ></span>.<span.class="line">;</s
142c0 70 61 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>......
142e0 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
14300 66 3d 22 23 65 6d 62 65 64 46 69 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 3c 2f 6c f="#embedFile">@embedFile</a></l
14320 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 i>.</ul>......................<h
14340 33 20 69 64 3d 22 41 73 73 69 67 6e 6d 65 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 3.id="Assignment"><a.href="#toc-
14360 41 73 73 69 67 6e 6d 65 6e 74 22 3e 41 73 73 69 67 6e 6d 65 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c Assignment">Assignment</a>.<a.cl
14380 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 73 73 69 67 6e 6d 65 6e 74 22 3e c2 a7 3c ass="hdr".href="#Assignment">..<
143a0 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 55 73 65 20 74 68 65 20 3c 63 6f 64 65 /a></h3>........<p>Use.the.<code
143c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
143e0 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
14400 64 65 3e 20 6b 65 79 77 6f 72 64 20 74 6f 20 61 73 73 69 67 6e 20 61 20 76 61 6c 75 65 20 74 6f de>.keyword.to.assign.a.value.to
14420 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 .an.identifier:</p>.......<figur
14440 65 3e 3c 66 69 67 63 61 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
14460 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e 74 69 ite.class="file">constant_identi
14480 66 69 65 72 5f 63 61 6e 6e 6f 74 5f 63 68 61 6e 67 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 fier_cannot_change.zig</cite></f
144a0 69 67 63 61 70 74 69 6f 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
144c0 3d 22 6c 69 6e 65 22 3e 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
144e0 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e st</span>.x.=.<span.class="tok-n
14500 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e umber">1234</span>;</span>.<span
14520 20 63 6c 61 73 73 3d 22 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
14540 73 3d 22 6c 69 6e 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
14560 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f </span>.<span.class="tok-fn">foo
14580 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"
145a0 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
145c0 73 3d 22 6c 69 6e 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
145e0 6d 6d 65 6e 74 22 3e 2f 2f 20 49 74 20 77 6f 72 6b 73 20 61 74 20 66 69 6c 65 20 73 63 6f 70 65 mment">//.It.works.at.file.scope
14600 20 61 73 20 77 65 6c 6c 20 61 73 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 73 .as.well.as.inside.functions.</s
14620 70 61 6e 3e 3c 2f 73 70 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">.
14640 20 20 20 3c 73 70 61 6e 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
14660 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 pan>.y.=.<span.class="tok-number
14680 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">5678</span>;</span>.<span.clas
146a0 73 3d 22 6c 69 6e 65 22 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
146c0 6e 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
146e0 22 3e 2f 2f 20 4f 6e 63 65 20 61 73 73 69 67 6e 65 64 2c 20 61 6e 20 69 64 65 6e 74 69 66 69 65 ">//.Once.assigned,.an.identifie
14700 72 20 63 61 6e 6e 6f 74 20 62 65 20 63 68 61 6e 67 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 r.cannot.be.changed.</span></spa
14720 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 20 2b 3d 20 3c n>.<span.class="line">....y.+=.<
14740 73 70 61 6e 20 63 6c 61 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>
14760 3b 3c 2f 73 70 61 6e 3e 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
14780 70 61 6e 3e 0a 3c 73 70 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>.
147a0 3c 73 70 61 6e 20 63 6c 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="
147c0 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="
147e0 74 6f 6b 2d 6b 77 22 3e 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
14800 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
14820 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>
14840 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 29 3b 3c 2f .<span.class="line">....foo();</
14860 73 70 61 6e 3e 0a 3c 73 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
14880 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><
148a0 66 69 67 63 61 70 74 69 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
148c0 6c 6c 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.
148e0 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
14900 65 20 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e 74 69 66 69 65 72 5f 63 61 6e 6e 6f 74 5f 63 68 61 e.constant_identifier_cannot_cha
14920 6e 67 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 nge.zig</kbd></span>.<span.class
14940 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 ="line"><span.class="t0_1">./doc
14960 67 65 6e 5f 74 6d 70 2f 63 6f 6e 73 74 61 6e 74 5f 69 64 65 6e 74 69 66 69 65 72 5f 63 61 6e 6e gen_tmp/constant_identifier_cann
14980 6f 74 5f 63 68 61 6e 67 65 2e 7a 69 67 3a 38 3a 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 ot_change.zig:8:7:.</span><span.
149a0 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
149c0 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6e 6e 6f 74 20 61 73 73 69 67 6e 20 74 6f 20 n.class="t0_1">cannot.assign.to.
149e0 63 6f 6e 73 74 61 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 constant</span></span>.<span.cla
14a00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 20 2b 3d 20 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ss="line">....y.+=.1;</span>.<sp
14a20 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 an.class="line">......<span.clas
14a40 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 s="t32_1">^</span></span>.</samp
14a60 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e ></pre></figure>.......<p><code>
14a80 3c 73 70 61 6e 20 63 6c 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="
14aa0 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
14ac0 65 3e 20 61 70 70 6c 69 65 73 20 74 6f 20 61 6c 6c 20 6f 66 20 74 68 65 20 62 79 74 65 73 20 74 e>.applies.to.all.of.the.bytes.t
14ae0 68 61 74 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 hat.the.identifier.immediately.a
14b00 64 64 72 65 73 73 65 73 2e 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f ddresses..<a.href="#Pointers">Po
14b20 69 6e 74 65 72 73 3c 2f 61 3e 20 68 61 76 65 20 74 68 65 69 72 20 6f 77 6e 20 63 6f 6e 73 74 2d inters</a>.have.their.own.const-
14b40 6e 65 73 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 49 66 20 79 6f 75 20 6e 65 65 64 20 61 ness.</p>.......<p>If.you.need.a
14b60 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 6d 6f 64 69 66 79 2c 20 75 .variable.that.you.can.modify,.u
14b80 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e se.the.<code><span.class="line">
14ba0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c <span.class="tok-kw">var</span><
14bc0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 /span></code>.keyword:</p>......
14be0 20 3c 66 69 67 75 72 65 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-
14c00 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 75 74 61 62 6c 65 5f cap"><cite.class="file">mutable_
14c20 76 61 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e var.zig</cite></figcaption><pre>
14c40 3c 63 6f 64 65 3e 3c 73 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
14c60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 lass="tok-kw">const</span>.print
14c80 20 3d 20 3c 73 70 61 6e 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
14ca0 70 6f 72 74 3c 2f 73 70 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
14cc0 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e ">&quot;std&quot;</span>).debug.
14ce0 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 print;</span>.<span.class="line"
14d00 3e 3c 2f 73 70 61 6e 3e 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
14d20 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
14d40 6e 20 63 6c 61 73 73 3d 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
14d60 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
14d80 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>
14da0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
14dc0 20 3c 73 70 61 6e 20 63 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>
14de0 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f .y:.<span.class="tok-type">i32</
14e00 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"
14e20 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >5678</span>;</span>.<span.class
14e40 3d 22 6c 69 6e 65 22 3e 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
14e60 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
14e80 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
14ea0 73 3d 22 6c 69 6e 65 22 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
14ec0 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 ne">....print(<span.class="tok-s
14ee0 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 79 7d tr">&quot;{d}&quot;</span>,..{y}
14f00 29 3b 3c 2f 73 70 61 6e 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">}</
14f20 73 70 61 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
14f40 72 65 3e 3c 66 69 67 63 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"
14f60 3e 53 68 65 6c 6c 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
14f80 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
14fa0 64 2d 65 78 65 20 6d 75 74 61 62 6c 65 5f 76 61 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 d-exe.mutable_var.zig</kbd></spa
14fc0 6e 3e 0a 3c 73 70 61 6e 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
14fe0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 6d 75 74 61 62 6c pan.class="line">$.<kbd>./mutabl
15000 65 5f 76 61 72 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e_var</kbd></span>.<span.class="
15020 6c 69 6e 65 22 3e 35 36 37 39 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c line">5679</span>.</samp></pre><
15040 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 56 61 72 69 61 62 6c 65 73 20 6d 75 73 74 /figure>.......<p>Variables.must
15060 20 62 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 .be.initialized:</p>.......<figu
15080 72 65 3e 3c 66 69 67 63 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"><
150a0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 72 5f 6d 75 73 74 5f 62 65 5f 69 6e cite.class="file">var_must_be_in
150c0 69 74 69 61 6c 69 7a 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e itialized.zig</cite></figcaption
150e0 3e 3c 70 72 65 3e 3c 63 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"><
15100 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>.<
15120 73 70 61 6e 20 63 6c 61 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
15140 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>()
15160 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
15180 61 6e 3e 20 7b 3c 2f 73 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">
151a0 20 20 20 20 3c 73 70 61 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
151c0 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 an>.x:.<span.class="tok-type">i3
151e0 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
15200 6e 65 22 3e 3c 2f 73 70 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">.
15220 20 20 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ...x.=.<span.class="tok-number">
15240 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
15260 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
15280 65 3e 3c 66 69 67 75 72 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
152a0 6c 6c 2d 63 61 70 22 3e 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><
152c0 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
152e0 69 67 20 62 75 69 6c 64 2d 65 78 65 20 76 61 72 5f 6d 75 73 74 5f 62 65 5f 69 6e 69 74 69 61 6c ig.build-exe.var_must_be_initial
15300 69 7a 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ized.zig</kbd></span>.<span.clas
15320 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
15340 65 6e 5f 74 6d 70 2f 76 61 72 5f 6d 75 73 74 5f 62 65 5f 69 6e 69 74 69 61 6c 69 7a 65 64 2e 7a en_tmp/var_must_be_initialized.z
15360 69 67 3a 32 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f ig:2:5:.</span><span.class="t31_
15380 31 22 3e 65 72 72 6f 72 3a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 1">error:</span><span.class="t1_
153a0 30 22 3e 20 76 61 72 69 61 62 6c 65 73 20 6d 75 73 74 20 62 65 20 69 6e 69 74 69 61 6c 69 7a 65 0">.variables.must.be.initialize
153c0 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 d</span>.<span.class="line"></sp
153e0 61 6e 3e 20 20 20 20 76 61 72 20 78 3a 20 69 33 32 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 an>....var.x:.i32;</span>.<span.
15400 63 6c 61 73 73 3d 22 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
15420 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 2_1">^</span>.<span.class="line"
15440 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
15460 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 75 6e 64 65 66 69 6e 65 64 22 3e igure>.......<h4.id="undefined">
15480 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e <a.href="#toc-undefined">undefin
154a0 65 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 6e 64 ed</a>.<a.class="hdr".href="#und
154c0 65 66 69 6e 65 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 55 73 efined">..</a></h4>........<p>Us
154e0 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
15500 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 .class="tok-null">undefined</spa
15520 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 6c 65 61 76 65 20 76 61 72 69 61 62 n></span></code>.to.leave.variab
15540 6c 65 73 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 les.uninitialized:</p>.......<fi
15560 67 75 72 65 3e 3c 66 69 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"
15580 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 73 69 67 6e 5f 75 6e 64 65 66 ><cite.class="file">assign_undef
155a0 69 6e 65 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 ined.zig</cite></figcaption><pre
155c0 3e 3c 63 6f 64 65 3e 3c 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.
155e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e class="tok-kw">const</span>.prin
15600 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 t.=.<span.class="tok-builtin">@i
15620 6d 70 6f 72 74 3c 2f 73 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
15640 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 r">&quot;std&quot;</span>).debug
15660 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .print;</span>.<span.class="line
15680 22 3e 3c 2f 73 70 61 6e 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
156a0 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
156c0 61 6e 20 63 6c 61 73 73 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
156e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c n.class="tok-fn">main</span>().<
15700 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
15720 3e 20 7b 3c 2f 73 70 61 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">..
15740 20 20 3c 73 70 61 6e 20 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
15760 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c >.x:.<span.class="tok-type">i32<
15780 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">
157a0 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
157c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">....x.=.<span.class=
157e0 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
15800 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e pan.class="line">....print(<span
15820 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 64 7d 26 71 75 6f 74 3b .class="tok-str">&quot;{d}&quot;
15840 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 78 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 </span>,..{x});</span>.<span.cla
15860 73 73 3d 22 6c 69 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><
15880 2f 66 69 67 75 72 65 3e 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
158a0 73 3d 22 73 68 65 6c 6c 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>
158c0 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">$.
158e0 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 61 73 73 69 67 6e 5f 75 6e 64 65 66 69 <kbd>zig.build-exe.assign_undefi
15900 6e 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ned.zig</kbd></span>.<span.class
15920 3d 22 6c 69 6e 65 22 3e 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
15940 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 61 73 73 69 67 6e 5f 75 6e 64 65 66 69 6e 65 64 3c 2f 6b 62 e">$.<kbd>./assign_undefined</kb
15960 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 3c 2f d></span>.<span.class="line">1</
15980 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>....
159a0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ...<p>.......<code><span.class="
159c0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 line"><span.class="tok-null">und
159e0 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 efined</span></span></code>.can.
15a00 62 65 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 be.<a.href="#Type-Coercion">coer
15a20 63 65 64 3c 2f 61 3e 20 74 6f 20 61 6e 79 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 4f ced</a>.to.any.type............O
15a40 6e 63 65 20 74 68 69 73 20 68 61 70 70 65 6e 73 2c 20 69 74 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 nce.this.happens,.it.is.no.longe
15a60 72 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 64 65 74 65 63 74 20 74 68 61 74 20 74 68 65 20 76 61 r.possible.to.detect.that.the.va
15a80 6c 75 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e lue.is.<code><span.class="line">
15aa0 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
15ac0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 </span></span></code>...........
15ae0 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
15b00 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</
15b20 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 65 61 6e 73 20 74 68 65 20 76 61 span></span></code>.means.the.va
15b40 6c 75 65 20 63 6f 75 6c 64 20 62 65 20 61 6e 79 74 68 69 6e 67 2c 20 65 76 65 6e 20 73 6f 6d 65 lue.could.be.anything,.even.some
15b60 74 68 69 6e 67 20 74 68 61 74 20 69 73 20 6e 6f 6e 73 65 6e 73 65 0a 20 20 20 20 20 20 20 20 20 thing.that.is.nonsense..........
15b80 20 20 20 20 20 20 20 20 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 74 79 70 65 2e 20 .........according.to.the.type..
15ba0 54 72 61 6e 73 6c 61 74 65 64 20 69 6e 74 6f 20 45 6e 67 6c 69 73 68 2c 20 3c 63 6f 64 65 3e 3c Translated.into.English,.<code><
15bc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
15be0 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ok-null">undefined</span></span>
15c00 3c 2f 63 6f 64 65 3e 20 6d 65 61 6e 73 20 22 4e 6f 74 20 61 20 6d 65 61 6e 69 6e 67 66 75 6c 0a </code>.means."Not.a.meaningful.
15c20 20 20 20 20 20 20 76 61 6c 75 65 2e 20 55 73 69 6e 67 20 74 68 69 73 20 76 61 6c 75 65 20 77 6f ......value..Using.this.value.wo
15c40 75 6c 64 20 62 65 20 61 20 62 75 67 2e 20 54 68 65 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 uld.be.a.bug..The.value.will.be.
15c60 75 6e 75 73 65 64 2c 20 6f 72 20 6f 76 65 72 77 72 69 74 74 65 6e 20 62 65 66 6f 72 65 20 62 65 unused,.or.overwritten.before.be
15c80 69 6e 67 20 75 73 65 64 2e 22 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a ing.used.".......</p>.......<p>.
15ca0 20 20 20 20 20 20 49 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c ......In.<a.href="#Debug">Debug<
15cc0 2f 61 3e 20 6d 6f 64 65 2c 20 5a 69 67 20 77 72 69 74 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e /a>.mode,.Zig.writes.<code><span
15ce0 20 63 6c 61 73 73 3d 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
15d00 75 6d 62 65 72 22 3e 30 78 61 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e umber">0xaa</span></span></code>
15d20 20 62 79 74 65 73 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 6d 6f 72 79 2e 20 54 68 69 73 .bytes.to.undefined.memory..This
15d40 20 69 73 20 74 6f 20 63 61 74 63 68 0a 20 20 20 20 20 20 62 75 67 73 20 65 61 72 6c 79 2c 20 61 .is.to.catch.......bugs.early,.a
15d60 6e 64 20 74 6f 20 68 65 6c 70 20 64 65 74 65 63 74 20 75 73 65 20 6f 66 20 75 6e 64 65 66 69 6e nd.to.help.detect.use.of.undefin
15d80 65 64 20 6d 65 6d 6f 72 79 20 69 6e 20 61 20 64 65 62 75 67 67 65 72 2e 0a 20 20 20 20 20 20 3c ed.memory.in.a.debugger........<
15da0 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c /p>............................<
15dc0 68 32 20 69 64 3d 22 5a 69 67 2d 54 65 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a h2.id="Zig-Test"><a.href="#toc-Z
15de0 69 67 2d 54 65 73 74 22 3e 5a 69 67 20 54 65 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 ig-Test">Zig.Test</a>.<a.class="
15e00 68 64 72 22 20 68 72 65 66 3d 22 23 5a 69 67 2d 54 65 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 hdr".href="#Zig-Test">..</a></h2
15e20 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 43 6f 64 65 20 77 72 69 74 74 65 >........<p>.........Code.writte
15e40 6e 20 77 69 74 68 69 6e 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e n.within.one.or.more.<code><span
15e60 20 63 6c 61 73 73 3d 22 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
15e80 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 w">test</span></span></code>.dec
15ea0 6c 61 72 61 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 65 6e 73 75 72 65 20 larations.can.be.used.to.ensure.
15ec0 62 65 68 61 76 69 6f 72 20 6d 65 65 74 73 20 65 78 70 65 63 74 61 74 69 6f 6e 73 3a 0a 20 20 20 behavior.meets.expectations:....
15ee0 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
15f00 6e 20 63 6c 61 73 73 3d 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
15f20 69 6c 65 22 3e 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 67 3c 2f 63 ile">introducing_zig_test.zig</c
15f40 69 74 65 3e 3c 2f 66 69 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
15f60 6e 20 63 6c 61 73 73 3d 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-
15f80 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
15fa0 73 73 3d 22 74 6f 6b 2d 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>(
15fc0 3c 73 70 61 6e 20 63 6c 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&
15fe0 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
16000 73 3d 22 6c 69 6e 65 22 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
16020 6e 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
16040 70 61 6e 3e 20 3c 73 70 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
16060 3b 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 20 6f 6e 65 20 74 6f 20 34 31 26 71 75 ;expect.addOne.adds.one.to.41&qu
16080 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=
160a0 22 6c 69 6e 65 22 3e 3c 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
160c0 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">
160e0 2f 2f 20 54 68 65 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 63 6f 6e 74 61 69 6e 73 //.The.Standard.Library.contains
16100 20 75 73 65 66 75 6c 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 68 65 6c 70 20 63 72 65 61 74 65 .useful.functions.to.help.create
16120 20 74 65 73 74 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .tests.</span></span>.<span.clas
16140 73 3d 22 6c 69 6e 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
16160 6d 6d 65 6e 74 22 3e 2f 2f 20 60 65 78 70 65 63 74 60 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e mment">//.`expect`.is.a.function
16180 20 74 68 61 74 20 76 65 72 69 66 69 65 73 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 .that.verifies.its.argument.is.t
161a0 72 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 rue.</span></span>.<span.class="
161c0 6c 69 6e 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
161e0 6e 74 22 3e 2f 2f 20 49 74 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 69 nt">//.It.will.return.an.error.i
16200 66 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 66 61 6c 73 65 20 74 6f 20 69 6e 64 69 63 f.its.argument.is.false.to.indic
16220 61 74 65 20 61 20 66 61 69 6c 75 72 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ate.a.failure.</span></span>.<sp
16240 61 6e 20 63 6c 61 73 73 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=
16260 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 74 72 79 60 20 69 73 20 75 73 65 64 20 74 "tok-comment">//.`try`.is.used.t
16280 6f 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 20 74 6f 20 74 68 65 20 74 65 73 74 20 72 75 o.return.an.error.to.the.test.ru
162a0 6e 6e 65 72 20 74 6f 20 6e 6f 74 69 66 79 20 69 74 20 74 68 61 74 20 74 68 65 20 74 65 73 74 20 nner.to.notify.it.that.the.test.
162c0 66 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 failed.</span></span>.<span.clas
162e0 73 3d 22 6c 69 6e 65 22 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
16300 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 ">try</span>.std.testing.expect(
16320 61 64 64 4f 6e 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e addOne(<span.class="tok-number">
16340 34 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 41</span>).==.<span.class="tok-n
16360 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 umber">42</span>);</span>.<span.
16380 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
163a0 73 3d 22 6c 69 6e 65 22 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
163c0 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">//
163e0 2f 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 61 64 64 4f 6e 65 60 20 61 64 64 73 20 6f 6e 65 /.The.function.`addOne`.adds.one
16400 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 67 69 76 65 6e 20 61 73 20 69 74 73 20 61 72 67 75 .to.the.number.given.as.its.argu
16420 6d 65 6e 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ment.</span></span>.<span.class=
16440 22 6c 69 6e 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</
16460 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 4f 6e span>.<span.class="tok-fn">addOn
16480 65 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f e</span>(number:.<span.class="to
164a0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">i32</span>).<span.class=
164c0 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c "tok-type">i32</span>.{</span>.<
164e0 73 70 61 6e 20 63 6c 61 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
16500 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 s="tok-kw">return</span>.number.
16520 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
16540 61 6e 3e 3b 3c 2f 73 70 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">}
16560 3c 2f 73 70 61 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
16580 67 75 72 65 3e 3c 66 69 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
165a0 70 22 3e 53 68 65 6c 6c 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>
165c0 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
165e0 73 74 20 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 st.introducing_zig_test.zig</kbd
16600 3e 3c 2f 73 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.
16620 74 65 73 74 20 26 71 75 6f 74 3b 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 20 6f 6e test.&quot;expect.addOne.adds.on
16640 65 20 74 6f 20 34 31 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e e.to.41&quot;....OK</span>.<span
16660 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
16680 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>.
166a0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 ......<p>.........The.<code.clas
166c0 73 3d 22 66 69 6c 65 22 3e 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 s="file">introducing_zig_test.zi
166e0 67 3c 2f 63 6f 64 65 3e 20 63 6f 64 65 20 73 61 6d 70 6c 65 20 74 65 73 74 73 20 74 68 65 20 3c g</code>.code.sample.tests.the.<
16700 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e a.href="#Functions">function</a>
16720 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .........<code><span.class="line
16740 22 3e 61 64 64 4f 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 65 6e 73 75 72 65 ">addOne</span></code>.to.ensure
16760 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .that.it.returns.<code><span.cla
16780 73 73 3d 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
167a0 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 67 69 76 65 6e r">42</span></span></code>.given
167c0 20 74 68 65 20 69 6e 70 75 74 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .the.input.........<code><span.c
167e0 6c 61 73 73 3d 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
16800 62 65 72 22 3e 34 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 46 72 ber">41</span></span></code>..Fr
16820 6f 6d 20 74 68 69 73 20 74 65 73 74 27 73 20 70 65 72 73 70 65 63 74 69 76 65 2c 20 74 68 65 20 om.this.test's.perspective,.the.
16840 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 64 64 4f 6e 65 3c <code><span.class="line">addOne<
16860 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 20 /span></code>.function.is.......
16880 20 20 73 61 69 64 20 74 6f 20 62 65 20 3c 65 6d 3e 63 6f 64 65 20 75 6e 64 65 72 20 74 65 73 74 ..said.to.be.<em>code.under.test
168a0 3c 2f 65 6d 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 </em>........</p>.......<p>.....
168c0 20 20 20 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 69 73 20 61 20 74 6f 6f ....<kbd>zig.test</kbd>.is.a.too
168e0 6c 20 74 68 61 74 20 63 72 65 61 74 65 73 20 61 6e 64 20 72 75 6e 73 20 61 20 74 65 73 74 20 62 l.that.creates.and.runs.a.test.b
16900 75 69 6c 64 2e 20 42 79 20 64 65 66 61 75 6c 74 2c 20 69 74 20 62 75 69 6c 64 73 20 61 6e 64 20 uild..By.default,.it.builds.and.
16920 72 75 6e 73 20 61 6e 0a 20 20 20 20 20 20 20 20 65 78 65 63 75 74 61 62 6c 65 20 70 72 6f 67 72 runs.an.........executable.progr
16940 61 6d 20 75 73 69 6e 67 20 74 68 65 20 3c 65 6d 3e 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 am.using.the.<em>default.test.ru
16960 6e 6e 65 72 3c 2f 65 6d 3e 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 3c 61 20 68 72 65 nner</em>.provided.by.the.<a.hre
16980 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
169a0 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 61 73 20 69 74 andard.Library</a>.........as.it
169c0 73 20 6d 61 69 6e 20 65 6e 74 72 79 20 70 6f 69 6e 74 2e 20 44 75 72 69 6e 67 20 74 68 65 20 62 s.main.entry.point..During.the.b
169e0 75 69 6c 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c uild,.<code><span.class="line"><
16a00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c span.class="tok-kw">test</span><
16a20 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 66 6f 75 6e 64 /span></code>.declarations.found
16a40 20 77 68 69 6c 65 0a 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 52 6f 6f 74 2d 53 6f .while.........<a.href="#Root-So
16a60 75 72 63 65 2d 46 69 6c 65 22 3e 72 65 73 6f 6c 76 69 6e 67 3c 2f 61 3e 20 74 68 65 20 67 69 76 urce-File">resolving</a>.the.giv
16a80 65 6e 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20 en.Zig.source.file.are.included.
16aa0 66 6f 72 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 0a 20 20 20 20 for.the.default.test.runner.....
16ac0 20 20 20 20 74 6f 20 72 75 6e 20 61 6e 64 20 72 65 70 6f 72 74 20 6f 6e 2e 0a 20 20 20 20 20 20 ....to.run.and.report.on........
16ae0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 61 73 69 64 65 3e 0a 20 20 20 20 20 20 20 20 54 68 69 73 20 </p>.......<aside>.........This.
16b00 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 64 69 73 63 75 73 73 65 73 20 74 68 65 20 66 65 61 74 documentation.discusses.the.feat
16b20 75 72 65 73 20 6f 66 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 ures.of.the.default.test.runner.
16b40 61 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 as.provided.by.the.Zig.Standard.
16b60 4c 69 62 72 61 72 79 2e 0a 20 20 20 20 20 20 20 20 49 74 73 20 73 6f 75 72 63 65 20 63 6f 64 65 Library..........Its.source.code
16b80 20 69 73 20 6c 6f 63 61 74 65 64 20 69 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 .is.located.in.<code.class="file
16ba0 22 3e 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 ">lib/std/special/test_runner.zi
16bc0 67 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 61 73 69 64 65 3e 0a 20 20 20 20 20 20 3c g</code>........</aside>.......<
16be0 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 73 68 65 6c 6c 20 6f 75 74 70 75 74 20 73 68 6f 77 p>.........The.shell.output.show
16c00 6e 20 61 62 6f 76 65 20 64 69 73 70 6c 61 79 73 20 74 77 6f 20 6c 69 6e 65 73 20 61 66 74 65 72 n.above.displays.two.lines.after
16c20 20 74 68 65 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 63 6f 6d 6d 61 6e 64 .the.<kbd>zig.test</kbd>.command
16c40 2e 20 54 68 65 73 65 20 6c 69 6e 65 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 70 72 69 6e 74 65 ..These.lines.are.........printe
16c60 64 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 20 62 79 20 74 68 65 20 64 65 66 61 75 d.to.standard.error.by.the.defau
16c80 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 lt.test.runner:.......</p>......
16ca0 20 3c 64 6c 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 73 61 6d 70 3e 54 65 73 74 20 5b 31 2f .<dl>.........<dt><samp>Test.[1/
16cc0 31 5d 20 74 65 73 74 20 22 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 20 6f 6e 65 20 1].test."expect.addOne.adds.one.
16ce0 74 6f 20 34 31 22 2e 2e 2e 3c 2f 73 61 6d 70 3e 3c 2f 64 74 3e 0a 20 20 20 20 20 20 20 20 3c 64 to.41"...</samp></dt>.........<d
16d00 64 3e 4c 69 6e 65 73 20 6c 69 6b 65 20 74 68 69 73 20 69 6e 64 69 63 61 74 65 20 77 68 69 63 68 d>Lines.like.this.indicate.which
16d20 20 74 65 73 74 2c 20 6f 75 74 20 6f 66 20 74 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f .test,.out.of.the.total.number.o
16d40 66 20 74 65 73 74 73 2c 20 69 73 20 62 65 69 6e 67 20 72 75 6e 2e 0a 20 20 20 20 20 20 20 20 20 f.tests,.is.being.run...........
16d60 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 3c 73 61 6d 70 3e 5b 31 2f 31 5d 3c 2f 73 61 6d 70 .In.this.case,.<samp>[1/1]</samp
16d80 3e 20 69 6e 64 69 63 61 74 65 73 20 74 68 61 74 20 74 68 65 20 66 69 72 73 74 20 74 65 73 74 2c >.indicates.that.the.first.test,
16da0 20 6f 75 74 20 6f 66 20 61 20 74 6f 74 61 6c 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 6f 6e 65 .out.of.a.total.of...........one
16dc0 20 74 65 73 74 2c 20 69 73 20 62 65 69 6e 67 20 72 75 6e 2e 20 4e 6f 74 65 20 74 68 61 74 2c 20 .test,.is.being.run..Note.that,.
16de0 77 68 65 6e 20 74 68 65 20 74 65 73 74 20 72 75 6e 6e 65 72 20 70 72 6f 67 72 61 6d 27 73 20 73 when.the.test.runner.program's.s
16e00 74 61 6e 64 61 72 64 20 65 72 72 6f 72 20 69 73 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 tandard.error.is.output.........
16e20 20 20 74 6f 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 2c 20 74 68 65 73 65 20 6c 69 6e 65 73 20 61 ..to.the.terminal,.these.lines.a
16e40 72 65 20 63 6c 65 61 72 65 64 20 77 68 65 6e 20 61 20 74 65 73 74 20 73 75 63 63 65 65 64 73 2e re.cleared.when.a.test.succeeds.
16e60 0a 20 20 20 20 20 20 20 20 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 73 61 6d 70 .........</dd>.........<dt><samp
16e80 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 61 6d 70 3e 3c 2f 64 74 3e >All.1.tests.passed.</samp></dt>
16ea0 0a 20 20 20 20 20 20 20 20 3c 64 64 3e 54 68 69 73 20 6c 69 6e 65 20 69 6e 64 69 63 61 74 65 73 .........<dd>This.line.indicates
16ec0 20 74 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 74 65 73 74 73 20 74 68 61 74 20 .the.total.number.of.tests.that.
16ee0 68 61 76 65 20 70 61 73 73 65 64 2e 3c 2f 64 64 3e 0a 20 20 20 20 20 20 3c 2f 64 6c 3e 0a 20 20 have.passed.</dd>.......</dl>...
16f00 20 20 20 20 3c 68 33 20 69 64 3d 22 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e 3c ....<h3.id="Test-Declarations"><
16f20 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e a.href="#toc-Test-Declarations">
16f40 54 65 73 74 20 44 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 Test.Declarations</a>.<a.class="
16f60 68 64 72 22 20 68 72 65 66 3d 22 23 54 65 73 74 2d 44 65 63 6c 61 72 61 74 69 6f 6e 73 22 3e c2 hdr".href="#Test-Declarations">.
16f80 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 65 .</a></h3>........<p>.........Te
16fa0 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 63 6f 6e 74 61 69 6e 20 74 68 65 20 3c 61 20 68 st.declarations.contain.the.<a.h
16fc0 72 65 66 3d 22 23 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e 6b 65 79 77 6f 72 64 ref="#Keyword-Reference">keyword
16fe0 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 </a>.<code><span.class="line"><s
17000 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f pan.class="tok-kw">test</span></
17020 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 0a 20 20 20 span></code>,.followed.by.an....
17040 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 20 6e 61 6d 65 20 77 72 69 74 74 65 6e 20 61 73 20 61 20 .....optional.name.written.as.a.
17060 3c 61 20 68 72 65 66 3d 22 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 6e <a.href="#String-Literals-and-Un
17080 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 73 74 72 69 6e icode-Code-Point-Literals">strin
170a0 67 20 6c 69 74 65 72 61 6c 3c 2f 61 3e 2c 20 66 6f 6c 6c 6f 77 65 64 0a 20 20 20 20 20 20 20 20 g.literal</a>,.followed.........
170c0 62 79 20 61 20 3c 61 20 68 72 65 66 3d 22 23 62 6c 6f 63 6b 73 22 3e 62 6c 6f 63 6b 3c 2f 61 3e by.a.<a.href="#blocks">block</a>
170e0 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6e 79 20 76 61 6c 69 64 20 5a 69 67 20 63 6f 64 65 20 74 .containing.any.valid.Zig.code.t
17100 68 61 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 46 75 hat.is.allowed.in.a.<a.href="#Fu
17120 6e 63 74 69 6f 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 nctions">function</a>........</p
17140 3e 0a 20 20 20 20 20 20 3c 61 73 69 64 65 3e 0a 20 20 20 20 20 20 20 20 42 79 20 63 6f 6e 76 65 >.......<aside>.........By.conve
17160 6e 74 69 6f 6e 2c 20 6e 6f 6e 2d 6e 61 6d 65 64 20 74 65 73 74 73 20 73 68 6f 75 6c 64 20 6f 6e ntion,.non-named.tests.should.on
17180 6c 79 20 62 65 20 75 73 65 64 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 4e 65 73 74 65 64 2d 43 ly.be.used.to.<a.href="#Nested-C
171a0 6f 6e 74 61 69 6e 65 72 2d 54 65 73 74 73 22 3e 6d 61 6b 65 20 6f 74 68 65 72 20 74 65 73 74 73 ontainer-Tests">make.other.tests
171c0 20 72 75 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 4e 6f 6e 2d 6e 61 6d 65 64 20 74 65 73 74 .run</a>..........Non-named.test
171e0 73 20 63 61 6e 6e 6f 74 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 53 6b 69 70 2d 54 65 73 74 73 s.cannot.be.<a.href="#Skip-Tests
17200 22 3e 66 69 6c 74 65 72 65 64 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 61 73 69 64 65 3e 0a 20 ">filtered</a>........</aside>..
17220 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f .....<p>.........Test.declaratio
17240 6e 73 20 61 72 65 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 ns.are.similar.to.<a.href="#Func
17260 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3a 20 74 68 65 79 20 68 61 76 65 20 tions">Functions</a>:.they.have.
17280 61 20 72 65 74 75 72 6e 20 74 79 70 65 20 61 6e 64 20 61 20 62 6c 6f 63 6b 20 6f 66 20 63 6f 64 a.return.type.and.a.block.of.cod
172a0 65 2e 20 54 68 65 20 69 6d 70 6c 69 63 69 74 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 e..The.implicit.........return.t
172c0 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ype.of.<code><span.class="line">
172e0 3c 73 70 61 6e 20 63 6c 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>
17300 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 </span></code>.is.the.<a.href="#
17320 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 Error-Union-Type">Error.Union.Ty
17340 70 65 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pe</a>.<code><span.class="line">
17360 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<
17380 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f /span>!<span.class="tok-type">vo
173a0 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 id</span></span></code>,........
173c0 20 61 6e 64 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 63 68 61 6e 67 65 64 2e 20 57 68 65 6e 20 .and.it.cannot.be.changed..When.
173e0 61 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 62 75 69 6c 74 20 75 a.Zig.source.file.is.not.built.u
17400 73 69 6e 67 20 74 68 65 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 74 6f 6f sing.the.<kbd>zig.test</kbd>.too
17420 6c 2c 20 74 68 65 20 74 65 73 74 0a 20 20 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 l,.the.test.........declarations
17440 20 61 72 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 62 75 69 6c 64 2e 0a 20 20 20 .are.omitted.from.the.build.....
17460 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 65 73 74 20 64 ...</p>.......<p>.........Test.d
17480 65 63 6c 61 72 61 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 77 72 69 74 74 65 6e 20 69 6e 20 74 68 eclarations.can.be.written.in.th
174a0 65 20 73 61 6d 65 20 66 69 6c 65 2c 20 77 68 65 72 65 20 63 6f 64 65 20 75 6e 64 65 72 20 74 65 e.same.file,.where.code.under.te
174c0 73 74 20 69 73 20 77 72 69 74 74 65 6e 2c 20 6f 72 20 69 6e 20 61 20 73 65 70 61 72 61 74 65 20 st.is.written,.or.in.a.separate.
174e0 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 53 69 6e 63 65 20 74 Zig.source.file..........Since.t
17500 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 74 6f 70 2d 6c 65 76 65 6c 20 64 est.declarations.are.top-level.d
17520 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 74 68 65 79 20 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 eclarations,.they.are.order-inde
17540 70 65 6e 64 65 6e 74 20 61 6e 64 20 63 61 6e 0a 20 20 20 20 20 20 20 20 62 65 20 77 72 69 74 74 pendent.and.can.........be.writt
17560 65 6e 20 62 65 66 6f 72 65 20 6f 72 20 61 66 74 65 72 20 74 68 65 20 63 6f 64 65 20 75 6e 64 65 en.before.or.after.the.code.unde
17580 72 20 74 65 73 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 r.test........</p>.......<p>See.
175a0 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 68 65 2d also:</p><ul>.<li><a.href="#The-
175c0 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 Global-Error-Set">The.Global.Err
175e0 6f 72 20 53 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 47 72 or.Set</a></li>.<li><a.href="#Gr
17600 61 6d 6d 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 ammar">Grammar</a></li>.</ul>...
17620 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4e 65 73 74 65 64 2d 43 6f 6e 74 61 ............<h3.id="Nested-Conta
17640 69 6e 65 72 2d 54 65 73 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4e 65 73 74 65 64 iner-Tests"><a.href="#toc-Nested
17660 2d 43 6f 6e 74 61 69 6e 65 72 2d 54 65 73 74 73 22 3e 4e 65 73 74 65 64 20 43 6f 6e 74 61 69 6e -Container-Tests">Nested.Contain
17680 65 72 20 54 65 73 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 er.Tests</a>.<a.class="hdr".href
176a0 3d 22 23 4e 65 73 74 65 64 2d 43 6f 6e 74 61 69 6e 65 72 2d 54 65 73 74 73 22 3e c2 a7 3c 2f 61 ="#Nested-Container-Tests">..</a
176c0 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 57 68 65 6e 20 74 ></h3>........<p>.........When.t
176e0 68 65 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 74 6f 6f 6c 20 69 73 20 62 he.<kbd>zig.test</kbd>.tool.is.b
17700 75 69 6c 64 69 6e 67 20 61 20 74 65 73 74 20 72 75 6e 6e 65 72 2c 20 6f 6e 6c 79 20 72 65 73 6f uilding.a.test.runner,.only.reso
17720 6c 76 65 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 lved.<code><span.class="line"><s
17740 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f pan.class="tok-kw">test</span></
17760 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f 6e span></code>.........declaration
17780 73 20 61 72 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 62 75 69 6c 64 2e 20 49 6e 69 s.are.included.in.the.build..Ini
177a0 74 69 61 6c 6c 79 2c 20 6f 6e 6c 79 20 74 68 65 20 67 69 76 65 6e 20 5a 69 67 20 73 6f 75 72 63 tially,.only.the.given.Zig.sourc
177c0 65 20 66 69 6c 65 27 73 20 74 6f 70 2d 6c 65 76 65 6c 0a 20 20 20 20 20 20 20 20 64 65 63 6c 61 e.file's.top-level.........decla
177e0 72 61 74 69 6f 6e 73 20 61 72 65 20 72 65 73 6f 6c 76 65 64 2e 20 55 6e 6c 65 73 73 20 6e 65 73 rations.are.resolved..Unless.nes
17800 74 65 64 20 63 6f 6e 74 61 69 6e 65 72 73 20 61 72 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 ted.containers.are.referenced.fr
17820 6f 6d 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 2c om.a.top-level.test.declaration,
17840 0a 20 20 20 20 20 20 20 20 6e 65 73 74 65 64 20 63 6f 6e 74 61 69 6e 65 72 20 74 65 73 74 73 20 .........nested.container.tests.
17860 77 69 6c 6c 20 6e 6f 74 20 62 65 20 72 65 73 6f 6c 76 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e will.not.be.resolved........</p>
17880 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 73 61 6d 70 .......<p>.........The.code.samp
178a0 6c 65 20 62 65 6c 6f 77 20 75 73 65 73 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c le.below.uses.the.<code><span.cl
178c0 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 72 65 66 41 6c 6c 44 65 63 ass="line">std.testing.refAllDec
178e0 6c 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 68 ls(<span.class="tok-builtin">@Th
17900 69 73 3c 2f 73 70 61 6e 3e 28 29 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 is</span>())</span></code>.funct
17920 69 6f 6e 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 20 20 72 65 66 65 72 65 6e 63 65 20 61 6c ion.call.to.........reference.al
17940 6c 20 6f 66 20 74 68 65 20 63 6f 6e 74 61 69 6e 65 72 73 20 74 68 61 74 20 61 72 65 20 69 6e 20 l.of.the.containers.that.are.in.
17960 74 68 65 20 66 69 6c 65 20 69 6e 63 6c 75 64 69 6e 67 20 74 68 65 20 69 6d 70 6f 72 74 65 64 20 the.file.including.the.imported.
17980 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 54 68 65 20 63 6f 64 65 0a 20 20 20 20 20 20 Zig.source.file..The.code.......
179a0 20 20 73 61 6d 70 6c 65 20 61 6c 73 6f 20 73 68 6f 77 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 ..sample.also.shows.an.alternati
179c0 76 65 20 77 61 79 20 74 6f 20 72 65 66 65 72 65 6e 63 65 20 63 6f 6e 74 61 69 6e 65 72 73 20 75 ve.way.to.reference.containers.u
179e0 73 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 sing.the.<code><span.class="line
17a00 22 3e 5f 20 3d 20 43 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 73 ">_.=.C;</span></code>.........s
17a20 79 6e 74 61 78 2e 20 54 68 69 73 20 73 79 6e 74 61 78 20 74 65 6c 6c 73 20 74 68 65 20 63 6f 6d yntax..This.syntax.tells.the.com
17a40 70 69 6c 65 72 20 74 6f 20 69 67 6e 6f 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 piler.to.ignore.the.result.of.th
17a60 65 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 6e 20 74 68 65 20 72 69 67 68 74 20 73 69 64 65 20 6f e.expression.on.the.right.side.o
17a80 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 61 73 73 69 67 6e 6d 65 6e 74 20 6f 70 65 72 61 74 6f f.the.........assignment.operato
17aa0 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 r........</p>.......<figure><fig
17ac0 63 61 70 74 69 6f 6e 20 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
17ae0 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 64 65 63 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f 74 6f ass="file">testdecl_container_to
17b00 70 5f 6c 65 76 65 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c p_level.zig</cite></figcaption><
17b20 70 72 65 3e 3c 63 6f 64 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
17b40 61 6e 20 63 6c 61 73 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
17b60 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">@
17b80 69 6d 70 6f 72 74 3c 2f 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
17ba0 74 72 22 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
17bc0 61 6e 3e 0a 3c 73 70 61 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
17be0 73 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.
17c00 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
17c20 61 6e 20 63 6c 61 73 73 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
17c40 61 73 73 3d 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
17c60 65 6e 74 22 3e 2f 2f 20 49 6d 70 6f 72 74 65 64 20 73 6f 75 72 63 65 20 66 69 6c 65 20 74 65 73 ent">//.Imported.source.file.tes
17c80 74 73 20 77 69 6c 6c 20 72 75 6e 20 77 68 65 6e 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d ts.will.run.when.referenced.from
17ca0 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 2e 3c 2f .a.top-level.test.declaration.</
17cc0 73 70 61 6e 3e 3c 2f 73 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">
17ce0 3c 73 70 61 6e 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
17d00 20 6e 65 78 74 20 6c 69 6e 65 20 61 6c 6f 6e 65 20 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 .next.line.alone.does.not.cause.
17d20 26 71 75 6f 74 3b 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 67 26 71 &quot;introducing_zig_test.zig&q
17d40 75 6f 74 3b 20 74 65 73 74 73 20 74 6f 20 72 75 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e uot;.tests.to.run.</span></span>
17d60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 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 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6d 70 6f 72 74 65 64 5f 66 "tok-kw">const</span>.imported_f
17da0 69 6c 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e ile.=.<span.class="tok-builtin">
17dc0 40 69 6d 70 6f 72 74 3c 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-
17de0 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 73 74 2e str">&quot;introducing_zig_test.
17e00 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 zig&quot;</span>);</span>.<span.
17e20 63 6c 61 73 73 3d 22 6c 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
17e40 3d 22 6c 69 6e 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
17e60 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
17e80 69 6e 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
17ea0 74 22 3e 2f 2f 20 54 6f 20 72 75 6e 20 6e 65 73 74 65 64 20 63 6f 6e 74 61 69 6e 65 72 20 74 65 t">//.To.run.nested.container.te
17ec0 73 74 73 2c 20 65 69 74 68 65 72 2c 20 63 61 6c 6c 20 60 72 65 66 41 6c 6c 44 65 63 6c 73 60 20 sts,.either,.call.`refAllDecls`.
17ee0 77 68 69 63 68 20 77 69 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 which.will</span></span>.<span.c
17f00 6c 61 73 73 3d 22 6c 69 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
17f20 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 65 66 65 72 65 6e 63 65 20 61 6c 6c 20 64 65 63 6c 61 -comment">//.reference.all.decla
17f40 72 61 74 69 6f 6e 73 20 6c 6f 63 61 74 65 64 20 69 6e 20 74 68 65 20 67 69 76 65 6e 20 61 72 67 rations.located.in.the.given.arg
17f60 75 6d 65 6e 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ument.</span></span>.<span.class
17f80 3d 22 6c 69 6e 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
17fa0 6d 65 6e 74 22 3e 2f 2f 20 60 40 54 68 69 73 28 29 60 20 69 73 20 61 20 62 75 69 6c 74 69 6e 20 ment">//.`@This()`.is.a.builtin.
17fc0 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 6e 65 72 6d function.that.returns.the.innerm
17fe0 6f 73 74 20 63 6f 6e 74 61 69 6e 65 72 20 69 74 20 69 73 20 63 61 6c 6c 65 64 20 66 72 6f 6d 2e ost.container.it.is.called.from.
18000 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
18020 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">
18040 2f 2f 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 //.In.this.example,.the.innermos
18060 74 20 63 6f 6e 74 61 69 6e 65 72 20 69 73 20 74 68 69 73 20 66 69 6c 65 20 28 69 6d 70 6c 69 63 t.container.is.this.file.(implic
18080 69 74 6c 79 20 61 20 73 74 72 75 63 74 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 itly.a.struct).</span></span>.<s
180a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 74 65 73 74 69 6e 67 pan.class="line">....std.testing
180c0 2e 72 65 66 41 6c 6c 44 65 63 6c 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 .refAllDecls(<span.class="tok-bu
180e0 69 6c 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c iltin">@This</span>());</span>.<
18100 73 70 61 6e 20 63 6c 61 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.
18120 63 6c 61 73 73 3d 22 6c 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
18140 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 72 2c 20 72 65 66 65 72 65 6e 63 65 20 65 61 63 68 k-comment">//.or,.reference.each
18160 20 63 6f 6e 74 61 69 6e 65 72 20 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 66 72 6f 6d 20 61 20 74 .container.individually.from.a.t
18180 6f 70 2d 6c 65 76 65 6c 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e op-level.test.declaration.</span
181a0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
181c0 3c 73 70 61 6e 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
181e0 20 60 5f 20 3d 20 43 3b 60 20 73 79 6e 74 61 78 20 69 73 20 61 20 6e 6f 2d 6f 70 20 72 65 66 65 .`_.=.C;`.syntax.is.a.no-op.refe
18200 72 65 6e 63 65 20 74 6f 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 20 60 43 60 2e 3c 2f 73 70 rence.to.the.identifier.`C`.</sp
18220 61 6e 3e 3c 2f 73 70 61 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">..
18240 20 20 5f 20 3d 20 53 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .._.=.S;</span>.<span.class="lin
18260 65 22 3e 20 20 20 20 5f 20 3d 20 55 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 e">...._.=.U;</span>.<span.class
18280 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ="line">...._.=.<span.class="tok
182a0 2d 62 75 69 6c 74 69 6e 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
182c0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 72 6f 64 75 63 69 6e 67 lass="tok-str">&quot;introducing
182e0 5f 7a 69 67 5f 74 65 73 74 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 _zig_test.zig&quot;</span>);</sp
18300 61 6e 3e 0a 3c 73 70 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>.
18320 3c 73 70 61 6e 20 63 6c 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
18340 20 63 6c 61 73 73 3d 22 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
18360 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d w">const</span>.S.=.<span.class=
18380 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>.
183a0 3c 73 70 61 6e 20 63 6c 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
183c0 73 73 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
183e0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 53 20 64 65 6d 6f 20 74 65 73 74 26 ass="tok-str">&quot;S.demo.test&
18400 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
18420 73 3d 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
18440 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c k-kw">try</span>.expect(<span.cl
18460 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
18480 61 6e 3e 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
184a0 61 6e 3e 0a 3c 73 70 61 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>.<
184c0 73 70 61 6e 20 63 6c 61 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
184e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 45 20 3d 20 3c 73 70 s="tok-kw">const</span>.SE.=.<sp
18500 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>.{<
18520 2f 73 70 61 6e 3e 0a 3c 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">......
18540 20 20 56 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ..V,</span>.<span.class="line"><
18560 2f 73 70 61 6e 3e 0a 3c 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">......
18580 20 20 3c 73 70 61 6e 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
185a0 68 69 73 20 74 65 73 74 20 77 6f 6e 27 74 20 72 75 6e 20 62 65 63 61 75 73 65 20 69 74 73 20 63 his.test.won't.run.because.its.c
185c0 6f 6e 74 61 69 6e 65 72 20 28 53 45 29 20 69 73 20 6e 6f 74 20 72 65 66 65 72 65 6e 63 65 64 2e ontainer.(SE).is.not.referenced.
185e0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
18600 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ">........<span.class="tok-kw">t
18620 65 73 74 3c 2f 73 70 61 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"
18640 3e 26 71 75 6f 74 3b 54 68 69 73 20 54 65 73 74 20 57 6f 6e 27 74 20 52 75 6e 26 71 75 6f 74 3b >&quot;This.Test.Won't.Run&quot;
18660 3c 2f 73 70 61 6e 3e 20 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
18680 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
186a0 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
186c0 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 ss="tok-null">false</span>);</sp
186e0 61 6e 3e 0a 3c 73 70 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">........}
18700 3c 2f 73 70 61 6e 3e 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">....}
18720 3b 3c 2f 73 70 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">};</
18740 73 70 61 6e 3e 0a 3c 73 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>
18760 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
18780 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 55 20 3d 20 3c 73 70 61 6e 20 "tok-kw">const</span>.U.=.<span.
187a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 class="tok-kw">union</span>.{.<s
187c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 20 69 73 20 pan.class="tok-comment">//.U.is.
187e0 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 74 68 65 20 66 69 6c 65 27 73 20 74 6f 70 2d 6c 65 76 referenced.by.the.file's.top-lev
18800 65 6c 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e el.test.declaration</span></span
18820 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 3a 20 55 53 2c 20 >.<span.class="line">....s:.US,.
18840 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"
18860 3e 2f 2f 20 61 6e 64 20 55 53 20 69 73 20 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3b 20 74 >//.and.US.is.referenced.here;.t
18880 68 65 72 65 66 6f 72 65 2c 20 26 71 75 6f 74 3b 55 2e 55 73 20 64 65 6d 6f 20 74 65 73 74 26 71 herefore,.&quot;U.Us.demo.test&q
188a0 75 6f 74 3b 20 77 69 6c 6c 20 72 75 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 uot;.will.run</span></span>.<spa
188c0 6e 20 63 6c 61 73 73 3d 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
188e0 73 73 3d 22 6c 69 6e 65 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
18900 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 55 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 w">const</span>.US.=.<span.class
18920 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>
18940 0a 3c 73 70 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
18960 6e 20 63 6c 61 73 73 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
18980 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 2e 55 53 20 64 65 an.class="tok-str">&quot;U.US.de
189a0 6d 6f 20 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 mo.test&quot;</span>.{</span>.<s
189c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 pan.class="line">............<sp
189e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 74 an.class="tok-comment">//.This.t
18a00 65 73 74 20 69 73 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 74 65 73 74 20 64 65 63 6c 61 72 61 74 est.is.a.top-level.test.declarat
18a20 69 6f 6e 20 66 6f 72 20 74 68 65 20 73 74 72 75 63 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ion.for.the.struct.</span></span
18a40 3e 0a 3c 73 70 61 6e 20 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">...........
18a60 20 3c 73 70 61 6e 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
18a80 65 20 73 74 72 75 63 74 20 69 73 20 6e 65 73 74 65 64 20 28 64 65 63 6c 61 72 65 64 29 20 69 6e e.struct.is.nested.(declared).in
18aa0 73 69 64 65 20 6f 66 20 61 20 75 6e 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c side.of.a.union.</span></span>.<
18ac0 73 70 61 6e 20 63 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
18ae0 70 61 6e 20 63 6c 61 73 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
18b00 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 pect(<span.class="tok-null">true
18b20 3c 2f 73 70 61 6e 3e 29 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
18b40 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ne">........}</span>.<span.class
18b60 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ="line">....};</span>.<span.clas
18b80 73 3d 22 6c 69 6e 65 22 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
18ba0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 ne">....<span.class="tok-kw">tes
18bc0 74 3c 2f 73 70 61 6e 3e 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">&
18be0 71 75 6f 74 3b 55 20 64 65 6d 6f 20 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c quot;U.demo.test&quot;</span>.{<
18c00 2f 73 70 61 6e 3e 0a 3c 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">......
18c20 20 20 3c 73 70 61 6e 20 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
18c40 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e >.expect(<span.class="tok-null">
18c60 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
18c80 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
18ca0 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f ="line">};</span></code></pre></
18cc0 66 69 67 75 72 65 3e 3c 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
18ce0 3d 22 73 68 65 6c 6c 2d 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><
18d00 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">$.<
18d20 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 64 65 63 6c 5f 63 6f 6e 74 61 69 6e 65 72 5f kbd>zig.test.testdecl_container_
18d40 74 6f 70 5f 6c 65 76 65 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e top_level.zig</kbd></span>.<span
18d60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 35 20 74 65 73 74 20 26 71 75 6f 74 3b 26 71 75 .class="line">1/5.test.&quot;&qu
18d80 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
18da0 6e 65 22 3e 32 2f 35 20 53 2e 74 65 73 74 20 26 71 75 6f 74 3b 53 20 64 65 6d 6f 20 74 65 73 74 ne">2/5.S.test.&quot;S.demo.test
18dc0 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
18de0 22 6c 69 6e 65 22 3e 33 2f 35 20 55 2e 74 65 73 74 20 26 71 75 6f 74 3b 55 20 64 65 6d 6f 20 74 "line">3/5.U.test.&quot;U.demo.t
18e00 65 73 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 est&quot;....OK</span>.<span.cla
18e20 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 35 20 69 6e 74 72 6f 64 75 63 69 6e 67 5f 7a 69 67 5f 74 65 ss="line">4/5.introducing_zig_te
18e40 73 74 2e 74 65 73 74 20 26 71 75 6f 74 3b 65 78 70 65 63 74 20 61 64 64 4f 6e 65 20 61 64 64 73 st.test.&quot;expect.addOne.adds
18e60 20 6f 6e 65 20 74 6f 20 34 31 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 .one.to.41&quot;....OK</span>.<s
18e80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 35 2f 35 20 55 53 2e 74 65 73 74 20 26 71 75 pan.class="line">5/5.US.test.&qu
18ea0 6f 74 3b 55 2e 55 53 20 64 65 6d 6f 20 74 65 73 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 ot;U.US.demo.test&quot;....OK</s
18ec0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 35 20 74 65 pan>.<span.class="line">All.5.te
18ee0 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>
18f00 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 </figure>..............<h3.id="T
18f20 65 73 74 2d 46 61 69 6c 75 72 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 65 73 74 2d est-Failure"><a.href="#toc-Test-
18f40 46 61 69 6c 75 72 65 22 3e 54 65 73 74 20 46 61 69 6c 75 72 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 Failure">Test.Failure</a>.<a.cla
18f60 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 65 73 74 2d 46 61 69 6c 75 72 65 22 3e c2 a7 ss="hdr".href="#Test-Failure">..
18f80 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 </a></h3>........<p>.........The
18fa0 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 63 68 65 63 6b 73 20 66 6f 72 20 .default.test.runner.checks.for.
18fc0 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 65 72 72 6f 72 3c 2f 61 3e 20 72 an.<a.href="#Errors">error</a>.r
18fe0 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 61 20 74 65 73 74 2e 0a 20 20 20 20 20 20 20 20 57 68 65 eturned.from.a.test..........Whe
19000 6e 20 61 20 74 65 73 74 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 2c 20 74 68 65 20 74 n.a.test.returns.an.error,.the.t
19020 65 73 74 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 20 66 61 69 6c 75 72 65 20 61 6e 64 20 est.is.considered.a.failure.and.
19040 69 74 73 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 its.<a.href="#Error-Return-Trace
19060 73 22 3e 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 65 3c 2f 61 3e 0a 20 20 20 20 20 20 s">error.return.trace</a>.......
19080 20 20 69 73 20 6f 75 74 70 75 74 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 2e 20 54 ..is.output.to.standard.error..T
190a0 68 65 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 66 61 69 6c 75 72 65 73 20 77 69 6c 6c he.total.number.of.failures.will
190c0 20 62 65 20 72 65 70 6f 72 74 65 64 20 61 66 74 65 72 20 61 6c 6c 20 74 65 73 74 73 20 68 61 76 .be.reported.after.all.tests.hav
190e0 65 20 72 75 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e e.run........</p>.......<figure>
19100 3c 66 69 67 63 61 70 74 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
19120 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></
19140 66 69 67 63 61 70 74 69 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
19160 73 3d 22 6c 69 6e 65 22 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
19180 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
191a0 6b 2d 62 75 69 6c 74 69 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.
191c0 63 6c 61 73 73 3d 22 74 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;<
191e0 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
19200 65 22 3e 3c 2f 73 70 61 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
19220 70 61 6e 20 63 6c 61 73 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>.<
19240 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 70 65 63 span.class="tok-str">&quot;expec
19260 74 20 74 68 69 73 20 74 6f 20 66 61 69 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 t.this.to.fail&quot;</span>.{</s
19280 70 61 6e 3e 0a 3c 73 70 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
192a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e n.class="tok-kw">try</span>.std.
192c0 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d testing.expect(<span.class="tok-
192e0 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 null">false</span>);</span>.<spa
19300 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
19320 61 73 73 3d 22 6c 69 6e 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="
19340 6c 69 6e 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<
19360 2f 73 70 61 6e 3e 20 3c 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
19380 6f 74 3b 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 73 75 63 63 65 65 64 26 71 75 6f 74 3b 3c ot;expect.this.to.succeed&quot;<
193a0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
193c0 65 22 3e 20 20 20 20 3c 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<
193e0 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 3c 73 70 61 6e 20 /span>.std.testing.expect(<span.
19400 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f class="tok-null">true</span>);</
19420 73 70 61 6e 3e 0a 3c 73 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
19440 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><
19460 66 69 67 63 61 70 74 69 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
19480 6c 6c 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.
194a0 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
194c0 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="
194e0 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 65 78 70 65 63 74 20 74 68 69 73 line">1/2.test.&quot;expect.this
19500 20 74 6f 20 66 61 69 6c 26 71 75 6f 74 3b 2e 2e 2e 20 74 65 73 74 20 26 71 75 6f 74 3b 65 78 70 .to.fail&quot;....test.&quot;exp
19520 65 63 74 20 74 68 69 73 20 74 6f 20 66 61 69 6c 26 71 75 6f 74 3b 2e 2e 2e 20 46 41 49 4c 20 28 ect.this.to.fail&quot;....FAIL.(
19540 54 65 73 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 6c 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 TestUnexpectedResult)</span>.<sp
19560 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 41 49 4c 20 28 54 65 73 74 55 6e 65 78 70 65 an.class="line">FAIL.(TestUnexpe
19580 63 74 65 64 52 65 73 75 6c 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ctedResult)</span>.<span.class="
195a0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 line"><span.class="t1_0">/home/a
195c0 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 74 65 73 74 69 6e 67 2e 7a 69 67 3a ndy/tmp/zig/lib/std/testing.zig:
195e0 33 30 33 3a 31 34 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 303:14</span>:.<span.class="t2_0
19600 22 3e 30 78 32 30 37 65 62 62 20 69 6e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 ">0x207ebb.in.std.testing.expect
19620 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
19640 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 66 20 28 21 6f 6b 29 20 72 65 74 75 72 6e 20 65 72 72 s="line">....if.(!ok).return.err
19660 6f 72 2e 54 65 73 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a or.TestUnexpectedResult;</span>.
19680 3c 73 70 61 6e 20 63 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">.............
196a0 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
196c0 61 6e 3e 0a 3c 73 70 61 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
196e0 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 ss="t1_0">/home/andy/tmp/zig/doc
19700 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 gen_tmp/test.zig:4:5</span>:.<sp
19720 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 38 66 31 20 69 6e 20 74 65 73 74 an.class="t2_0">0x2078f1.in.test
19740 20 26 71 75 6f 74 3b 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 66 61 69 6c 26 71 75 6f 74 3b .&quot;expect.this.to.fail&quot;
19760 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
19780 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 s="line">....try.std.testing.exp
197a0 65 63 74 28 66 61 6c 73 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ect(false);</span>.<span.class="
197c0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c line">....<span.class="t32_1">^<
197e0 2f 73 70 61 6e 3e 3c 2f 73 70 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"
19800 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 65 78 70 65 63 74 20 74 68 69 73 20 74 6f 20 73 >2/2.test.&quot;expect.this.to.s
19820 75 63 63 65 65 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ucceed&quot;....OK</span>.<span.
19840 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 20 70 61 73 73 65 64 3b 20 30 20 73 6b 69 70 70 65 64 class="line">1.passed;.0.skipped
19860 3b 20 31 20 66 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ;.1.failed.</span>.<span.class="
19880 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.
198a0 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 63 6f 64 65 20 31 3a command.failed.with.exit.code.1:
198c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 67 65 </span>.<span.class="line">docge
198e0 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 36 34 33 64 30 38 66 31 n_tmp/zig-cache/o/e62d5b643d08f1
19900 61 63 62 62 31 33 38 36 64 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e acbb1386db92eb0f23/test./home/an
19920 64 79 2f 74 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 3c 2f 73 70 dy/tmp/zig/build-release/zig</sp
19940 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>......
19960 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 6b 69 70 2d 54 65 73 74 73 22 3e 3c 61 20 68 ........<h3.id="Skip-Tests"><a.h
19980 72 65 66 3d 22 23 74 6f 63 2d 53 6b 69 70 2d 54 65 73 74 73 22 3e 53 6b 69 70 20 54 65 73 74 73 ref="#toc-Skip-Tests">Skip.Tests
199a0 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 6b 69 70 2d </a>.<a.class="hdr".href="#Skip-
199c0 54 65 73 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 Tests">..</a></h3>........<p>...
199e0 20 20 20 20 20 20 4f 6e 65 20 77 61 79 20 74 6f 20 73 6b 69 70 20 74 65 73 74 73 20 69 73 20 74 ......One.way.to.skip.tests.is.t
19a00 6f 20 66 69 6c 74 65 72 20 74 68 65 6d 20 6f 75 74 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 3c o.filter.them.out.by.using.the.<
19a20 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 kbd>zig.test</kbd>.command.line.
19a40 70 61 72 61 6d 65 74 65 72 0a 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 2d 74 65 73 74 2d 66 69 parameter.........<kbd>--test-fi
19a60 6c 74 65 72 20 5b 74 65 78 74 5d 3c 2f 6b 62 64 3e 2e 20 54 68 69 73 20 6d 61 6b 65 73 20 74 68 lter.[text]</kbd>..This.makes.th
19a80 65 20 74 65 73 74 20 62 75 69 6c 64 20 6f 6e 6c 79 20 69 6e 63 6c 75 64 65 20 74 65 73 74 73 20 e.test.build.only.include.tests.
19aa0 77 68 6f 73 65 20 6e 61 6d 65 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 whose.name.contains.the.........
19ac0 73 75 70 70 6c 69 65 64 20 66 69 6c 74 65 72 20 74 65 78 74 2e 20 4e 6f 74 65 20 74 68 61 74 20 supplied.filter.text..Note.that.
19ae0 6e 6f 6e 2d 6e 61 6d 65 64 20 74 65 73 74 73 20 61 72 65 20 72 75 6e 20 65 76 65 6e 20 77 68 65 non-named.tests.are.run.even.whe
19b00 6e 20 75 73 69 6e 67 20 74 68 65 20 3c 6b 62 64 3e 2d 2d 74 65 73 74 2d 66 69 6c 74 65 72 20 5b n.using.the.<kbd>--test-filter.[
19b20 74 65 78 74 5d 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 text]</kbd>.........command.line
19b40 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e .parameter........</p>.......<p>
19b60 0a 20 20 20 20 20 20 20 20 54 6f 20 70 72 6f 67 72 61 6d 6d 61 74 69 63 61 6c 6c 79 20 73 6b 69 .........To.programmatically.ski
19b80 70 20 61 20 74 65 73 74 2c 20 6d 61 6b 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 p.a.test,.make.a.<code><span.cla
19ba0 73 73 3d 22 6c 69 6e 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
19bc0 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 20 est</span></span></code>.return.
19be0 74 68 65 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c the.error.........<code><span.cl
19c00 61 73 73 3d 22 6c 69 6e 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">
19c20 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3c 2f 73 70 61 6e 3e 3c error</span>.SkipZigTest</span><
19c40 2f 63 6f 64 65 3e 20 61 6e 64 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e /code>.and.the.default.test.runn
19c60 65 72 20 77 69 6c 6c 20 63 6f 6e 73 69 64 65 72 20 74 68 65 20 74 65 73 74 20 61 73 20 62 65 69 er.will.consider.the.test.as.bei
19c80 6e 67 20 73 6b 69 70 70 65 64 2e 0a 20 20 20 20 20 20 20 20 54 68 65 20 74 6f 74 61 6c 20 6e 75 ng.skipped..........The.total.nu
19ca0 6d 62 65 72 20 6f 66 20 73 6b 69 70 70 65 64 20 74 65 73 74 73 20 77 69 6c 6c 20 62 65 20 72 65 mber.of.skipped.tests.will.be.re
19cc0 70 6f 72 74 65 64 20 61 66 74 65 72 20 61 6c 6c 20 74 65 73 74 73 20 68 61 76 65 20 72 75 6e 2e ported.after.all.tests.have.run.
19ce0 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
19d00 70 74 69 6f 6e 20 63 6c 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
19d20 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
19d40 74 69 6f 6e 3e 3c 70 72 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
19d60 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
19d80 61 6e 3e 20 3c 73 70 61 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;
19da0 74 68 69 73 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e this.will.be.skipped&quot;</span
19dc0 3e 20 7b 3c 2f 73 70 61 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">..
19de0 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
19e00 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c pan>.<span.class="tok-kw">error<
19e20 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e /span>.SkipZigTest;</span>.<span
19e40 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
19e60 72 65 3e 3c 2f 66 69 67 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.
19e80 63 6c 61 73 73 3d 22 73 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
19ea0 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
19ec0 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e ">$.<kbd>zig.test.test.zig</kbd>
19ee0 3c 2f 73 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
19f00 65 73 74 20 26 71 75 6f 74 3b 74 68 69 73 20 77 69 6c 6c 20 62 65 20 73 6b 69 70 70 65 64 26 71 est.&quot;this.will.be.skipped&q
19f20 75 6f 74 3b 2e 2e 2e 20 74 65 73 74 20 26 71 75 6f 74 3b 74 68 69 73 20 77 69 6c 6c 20 62 65 20 uot;....test.&quot;this.will.be.
19f40 73 6b 69 70 70 65 64 26 71 75 6f 74 3b 2e 2e 2e 20 53 4b 49 50 3c 2f 73 70 61 6e 3e 0a 3c 73 70 skipped&quot;....SKIP</span>.<sp
19f60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 4b 49 50 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 an.class="line">SKIP</span>.<spa
19f80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 30 20 70 61 73 73 65 64 3b 20 31 20 73 6b 69 70 70 n.class="line">0.passed;.1.skipp
19fa0 65 64 3b 20 30 20 66 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 ed;.0.failed.</span>.</samp></pr
19fc0 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 e></figure>.......<p>.........Th
19fe0 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 73 6b 69 70 73 20 74 65 73 74 e.default.test.runner.skips.test
1a000 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 s.containing.a.<a.href="#Async-F
1a020 75 6e 63 74 69 6f 6e 73 22 3e 73 75 73 70 65 6e 64 20 70 6f 69 6e 74 3c 2f 61 3e 20 77 68 69 6c unctions">suspend.point</a>.whil
1a040 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 74 65 73 74 20 69 73 20 72 75 6e 6e 69 6e 67 20 75 73 e.the.........test.is.running.us
1a060 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c 74 2c 20 62 6c 6f 63 6b 69 6e 67 20 49 4f 20 6d 6f 64 ing.the.default,.blocking.IO.mod
1a080 65 2e 0a 20 20 20 20 20 20 20 20 28 54 68 65 20 65 76 65 6e 74 65 64 20 49 4f 20 6d 6f 64 65 20 e..........(The.evented.IO.mode.
1a0a0 69 73 20 65 6e 61 62 6c 65 64 20 75 73 69 6e 67 20 74 68 65 20 3c 6b 62 64 3e 2d 2d 74 65 73 74 is.enabled.using.the.<kbd>--test
1a0c0 2d 65 76 65 6e 74 65 64 2d 69 6f 3c 2f 6b 62 64 3e 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 70 -evented-io</kbd>.command.line.p
1a0e0 61 72 61 6d 65 74 65 72 2e 29 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 arameter.).......</p>.......<fig
1a100 75 72 65 3e 3c 66 69 67 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">
1a120 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 79 6e 63 5f 73 6b 69 70 2e 7a 69 <cite.class="file">async_skip.zi
1a140 67 3c 2f 63 69 74 65 3e 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>
1a160 3c 73 70 61 6e 20 63 6c 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="
1a180 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
1a1a0 20 63 6c 61 73 73 3d 22 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
1a1c0 61 6e 3e 28 3c 73 70 61 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;
1a1e0 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.
1a200 63 6c 61 73 73 3d 22 6c 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
1a220 3d 22 6c 69 6e 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
1a240 74 3c 2f 73 70 61 6e 3e 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">&
1a260 71 75 6f 74 3b 61 73 79 6e 63 20 73 6b 69 70 20 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e quot;async.skip.test&quot;</span
1a280 3e 20 7b 3c 2f 73 70 61 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">..
1a2a0 20 20 3c 73 70 61 6e 20 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
1a2c0 3e 20 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 >.frame.=.<span.class="tok-kw">a
1a2e0 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e sync</span>.func();</span>.<span
1a300 20 63 6c 61 73 73 3d 22 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
1a320 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 ok-kw">const</span>.result.=.<sp
1a340 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 66 an.class="tok-kw">await</span>.f
1a360 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e rame;</span>.<span.class="line">
1a380 20 20 20 20 3c 73 70 61 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
1a3a0 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 72 65 73 75 6c 74 20 3d 3d an>.std.testing.expect(result.==
1a3c0 20 3c 73 70 61 6e 20 63 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
1a3e0 6e 3e 29 3b 3c 2f 73 70 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">}
1a400 3c 2f 73 70 61 6e 3e 0a 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
1a420 6e 3e 0a 3c 73 70 61 6e 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
1a440 73 3d 22 74 6f 6b 2d 6b 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
1a460 3d 22 74 6f 6b 2d 66 6e 22 3e 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c ="tok-fn">func</span>().<span.cl
1a480 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ass="tok-type">i32</span>.{</spa
1a4a0 6e 3e 0a 3c 73 70 61 6e 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.
1a4c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 3c class="tok-kw">suspend</span>.{<
1a4e0 2f 73 70 61 6e 3e 0a 3c 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">......
1a500 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 ..<span.class="tok-kw">resume</s
1a520 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">@
1a540 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 frame</span>();</span>.<span.cla
1a560 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
1a580 73 73 3d 22 6c 69 6e 65 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
1a5a0 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
1a5c0 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-number">1</span>;</span>.<span
1a5e0 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
1a600 72 65 3e 3c 2f 66 69 67 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.
1a620 63 6c 61 73 73 3d 22 73 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
1a640 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
1a660 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 73 79 6e 63 5f 73 6b 69 70 2e 7a 69 67 ">$.<kbd>zig.test.async_skip.zig
1a680 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"
1a6a0 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 73 6b 69 70 20 74 65 73 74 26 >1/1.test.&quot;async.skip.test&
1a6c0 71 75 6f 74 3b 2e 2e 2e 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 73 6b 69 70 20 74 quot;....test.&quot;async.skip.t
1a6e0 65 73 74 26 71 75 6f 74 3b 2e 2e 2e 20 53 4b 49 50 20 28 61 73 79 6e 63 20 74 65 73 74 29 3c 2f est&quot;....SKIP.(async.test)</
1a700 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 4b 49 50 20 28 61 span>.<span.class="line">SKIP.(a
1a720 73 79 6e 63 20 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c sync.test)</span>.<span.class="l
1a740 69 6e 65 22 3e 30 20 70 61 73 73 65 64 3b 20 31 20 73 6b 69 70 70 65 64 3b 20 30 20 66 61 69 6c ine">0.passed;.1.skipped;.0.fail
1a760 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
1a780 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 6e 20 74 68 65 20 63 6f 64 65 20 >.......<p>.........In.the.code.
1a7a0 73 61 6d 70 6c 65 20 61 62 6f 76 65 2c 20 74 68 65 20 74 65 73 74 20 77 6f 75 6c 64 20 6e 6f 74 sample.above,.the.test.would.not
1a7c0 20 62 65 20 73 6b 69 70 70 65 64 20 69 6e 20 62 6c 6f 63 6b 69 6e 67 20 49 4f 20 6d 6f 64 65 20 .be.skipped.in.blocking.IO.mode.
1a7e0 69 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e if.the.<code><span.class="line">
1a800 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f <span.class="tok-kw">nosuspend</
1a820 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 6b 65 79 77 span></span></code>.........keyw
1a840 6f 72 64 20 77 61 73 20 75 73 65 64 20 28 73 65 65 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e ord.was.used.(see.<a.href="#Asyn
1a860 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>
1a880 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 )........</p>..............<h3.i
1a8a0 64 3d 22 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e 3c 61 20 68 72 65 66 3d d="Report-Memory-Leaks"><a.href=
1a8c0 22 23 74 6f 63 2d 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e 52 65 70 6f 72 "#toc-Report-Memory-Leaks">Repor
1a8e0 74 20 4d 65 6d 6f 72 79 20 4c 65 61 6b 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 t.Memory.Leaks</a>.<a.class="hdr
1a900 22 20 68 72 65 66 3d 22 23 52 65 70 6f 72 74 2d 4d 65 6d 6f 72 79 2d 4c 65 61 6b 73 22 3e c2 a7 ".href="#Report-Memory-Leaks">..
1a920 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 57 68 65 </a></h3>........<p>.........Whe
1a940 6e 20 63 6f 64 65 20 61 6c 6c 6f 63 61 74 65 73 20 3c 61 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 n.code.allocates.<a.href="#Memor
1a960 79 22 3e 4d 65 6d 6f 72 79 3c 2f 61 3e 20 75 73 69 6e 67 20 74 68 65 20 3c 61 20 68 72 65 66 3d y">Memory</a>.using.the.<a.href=
1a980 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e "#Zig-Standard-Library">Zig.Stan
1a9a0 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 27 73 20 74 65 73 74 69 6e 67 20 61 6c 6c 6f 63 dard.Library</a>'s.testing.alloc
1a9c0 61 74 6f 72 2c 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ator,.........<code><span.class=
1a9e0 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 "line">std.testing.allocator</sp
1aa00 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 64 65 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e an></code>,.the.default.test.run
1aa20 6e 65 72 20 77 69 6c 6c 20 72 65 70 6f 72 74 20 61 6e 79 20 6c 65 61 6b 73 20 74 68 61 74 20 61 ner.will.report.any.leaks.that.a
1aa40 72 65 0a 20 20 20 20 20 20 20 20 66 6f 75 6e 64 20 66 72 6f 6d 20 75 73 69 6e 67 20 74 68 65 20 re.........found.from.using.the.
1aa60 74 65 73 74 69 6e 67 20 61 6c 6c 6f 63 61 74 6f 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 testing.allocator:.......</p>...
1aa80 20 20 20 20 3c 66 69 67 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
1aaa0 69 67 2d 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.
1aac0 7a 69 67 3c 2f 63 69 74 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
1aae0 65 3e 3c 73 70 61 6e 20 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
1ab00 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
1ab20 61 6e 20 63 6c 61 73 73 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</
1ab40 73 70 61 6e 3e 28 3c 73 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
1ab60 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
1ab80 6e 20 63 6c 61 73 73 3d 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
1aba0 73 73 3d 22 6c 69 6e 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
1abc0 65 73 74 3c 2f 73 70 61 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"
1abe0 3e 26 71 75 6f 74 3b 64 65 74 65 63 74 20 6c 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 >&quot;detect.leak&quot;</span>.
1ac00 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
1ac20 3c 73 70 61 6e 20 63 6c 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>.
1ac40 6c 69 73 74 20 3d 20 73 74 64 2e 41 72 72 61 79 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 list.=.std.ArrayList(<span.class
1ac60 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 31 3c 2f 73 70 61 6e 3e 29 2e 69 6e 69 74 28 73 74 64 ="tok-type">u21</span>).init(std
1ac80 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .testing.allocator);</span>.<spa
1aca0 6e 20 63 6c 61 73 73 3d 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="
1acc0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 69 73 73 69 6e 67 20 60 64 65 66 65 72 20 6c tok-comment">//.missing.`defer.l
1ace0 69 73 74 2e 64 65 69 6e 69 74 28 29 3b 60 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ist.deinit();`</span></span>.<sp
1ad00 61 6e 20 63 6c 61 73 73 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=
1ad20 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 2e 61 70 70 65 6e 64 28 "tok-kw">try</span>.list.append(
1ad40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 e2 98 94 27 3c 2f 73 70 61 <span.class="tok-str">'...'</spa
1ad60 6e 3e 29 3b 3c 2f 73 70 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"><
1ad80 2f 73 70 61 6e 3e 0a 3c 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
1ada0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 pan.class="tok-kw">try</span>.st
1adc0 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 6c 69 73 74 2e 69 74 65 6d 73 2e 6c 65 6e 20 d.testing.expect(list.items.len.
1ade0 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
1ae00 70 61 6e 3e 29 3b 3c 2f 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"
1ae20 3e 7d 3c 2f 73 70 61 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><
1ae40 66 69 67 75 72 65 3e 3c 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-
1ae60 63 61 70 22 3e 53 68 65 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
1ae80 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.
1aea0 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
1aec0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 64 65 74 .class="line">1/1.test.&quot;det
1aee0 65 63 74 20 6c 65 61 6b 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ect.leak&quot;....OK</span>.<spa
1af00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 67 70 61 5d 20 28 65 72 72 29 3a 20 6d 65 6d 6f n.class="line">[gpa].(err):.memo
1af20 72 79 20 61 64 64 72 65 73 73 20 30 78 37 66 66 36 35 65 33 62 31 30 30 30 20 6c 65 61 6b 65 64 ry.address.0x7ff65e3b1000.leaked
1af40 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 :</span>.<span.class="line"><spa
1af60 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 n.class="t1_0">/home/andy/tmp/zi
1af80 67 2f 6c 69 62 2f 73 74 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 33 32 35 3a 36 39 3c g/lib/std/array_list.zig:325:69<
1afa0 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 63 /span>:.<span.class="t2_0">0x20c
1afc0 65 38 39 20 69 6e 20 73 74 64 2e 61 72 72 61 79 5f 6c 69 73 74 2e 41 72 72 61 79 4c 69 73 74 41 e89.in.std.array_list.ArrayListA
1afe0 6c 69 67 6e 65 64 28 75 32 31 2c 6e 75 6c 6c 29 2e 65 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 ligned(u21,null).ensureTotalCapa
1b000 63 69 74 79 50 72 65 63 69 73 65 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e cityPrecise.(test)</span></span>
1b020 0a 3c 73 70 61 6e 20 63 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">............
1b040 20 20 20 20 63 6f 6e 73 74 20 6e 65 77 5f 6d 65 6d 6f 72 79 20 3d 20 74 72 79 20 73 65 6c 66 2e ....const.new_memory.=.try.self.
1b060 61 6c 6c 6f 63 61 74 6f 72 2e 72 65 61 6c 6c 6f 63 41 74 4c 65 61 73 74 28 73 65 6c 66 2e 61 6c allocator.reallocAtLeast(self.al
1b080 6c 6f 63 61 74 65 64 53 6c 69 63 65 28 29 2c 20 6e 65 77 5f 63 61 70 61 63 69 74 79 29 3b 3c 2f locatedSlice(),.new_capacity);</
1b0a0 73 70 61 6e 3e 0a 3c 73 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">.......
1b0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b0e0 20 20 20 20 20 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
1b100 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>
1b120 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
1b140 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 "t1_0">/home/andy/tmp/zig/lib/st
1b160 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 33 31 30 3a 35 35 3c 2f 73 70 61 6e 3e 3a 20 d/array_list.zig:310:55</span>:.
1b180 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 63 63 38 65 20 69 6e 20 73 <span.class="t2_0">0x20cc8e.in.s
1b1a0 74 64 2e 61 72 72 61 79 5f 6c 69 73 74 2e 41 72 72 61 79 4c 69 73 74 41 6c 69 67 6e 65 64 28 75 td.array_list.ArrayListAligned(u
1b1c0 32 31 2c 6e 75 6c 6c 29 2e 65 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 69 74 79 20 28 74 65 21,null).ensureTotalCapacity.(te
1b1e0 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
1b200 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 65 6c 66 ine">................return.self
1b220 2e 65 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 69 74 79 50 72 65 63 69 73 65 28 62 65 74 74 .ensureTotalCapacityPrecise(bett
1b240 65 72 5f 63 61 70 61 63 69 74 79 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er_capacity);</span>.<span.class
1b260 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ="line">........................
1b280 20 20 20 20 20 20 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
1b2a0 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
1b2c0 3e 0a 3c 73 70 61 6e 20 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
1b2e0 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 ="t1_0">/home/andy/tmp/zig/lib/s
1b300 74 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 3a 33 34 39 3a 34 31 3c 2f 73 70 61 6e 3e 3a td/array_list.zig:349:41</span>:
1b320 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 63 63 30 38 20 69 6e 20 .<span.class="t2_0">0x20cc08.in.
1b340 73 74 64 2e 61 72 72 61 79 5f 6c 69 73 74 2e 41 72 72 61 79 4c 69 73 74 41 6c 69 67 6e 65 64 28 std.array_list.ArrayListAligned(
1b360 75 32 31 2c 6e 75 6c 6c 29 2e 61 64 64 4f 6e 65 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f u21,null).addOne.(test)</span></
1b380 73 70 61 6e 3e 0a 3c 73 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">.......
1b3a0 20 20 20 20 20 74 72 79 20 73 65 6c 66 2e 65 6e 73 75 72 65 54 6f 74 61 6c 43 61 70 61 63 69 74 .....try.self.ensureTotalCapacit
1b3c0 79 28 6e 65 77 6c 65 6e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c y(newlen);</span>.<span.class="l
1b3e0 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">...........................
1b400 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"
1b420 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
1b440 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 ne"><span.class="t1_0">/home/and
1b460 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 61 72 72 61 79 5f 6c 69 73 74 2e 7a 69 67 y/tmp/zig/lib/std/array_list.zig
1b480 3a 31 36 31 3a 34 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f :161:49</span>:.<span.class="t2_
1b4a0 30 22 3e 30 78 32 30 39 32 30 34 20 69 6e 20 73 74 64 2e 61 72 72 61 79 5f 6c 69 73 74 2e 41 72 0">0x209204.in.std.array_list.Ar
1b4c0 72 61 79 4c 69 73 74 41 6c 69 67 6e 65 64 28 75 32 31 2c 6e 75 6c 6c 29 2e 61 70 70 65 6e 64 20 rayListAligned(u21,null).append.
1b4e0 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
1b500 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 6e 65 77 5f 69 74 ="line">............const.new_it
1b520 65 6d 5f 70 74 72 20 3d 20 74 72 79 20 73 65 6c 66 2e 61 64 64 4f 6e 65 28 29 3b 3c 2f 73 70 61 em_ptr.=.try.self.addOne();</spa
1b540 6e 3e 0a 3c 73 70 61 6e 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">..........
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 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
1b5a0 6e 3e 3c 2f 73 70 61 6e 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
1b5c0 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
1b5e0 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 32 30 3c 2f 73 70 61 ig/docgen_tmp/test.zig:6:20</spa
1b600 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 62 65 30 20 n>:.<span.class="t2_0">0x208be0.
1b620 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 64 65 74 65 63 74 20 6c 65 61 6b 26 71 75 6f 74 3b 20 in.test.&quot;detect.leak&quot;.
1b640 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
1b660 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 6c 69 73 74 2e 61 70 70 65 6e 64 28 27 e2 98 94 ="line">....try.list.append('...
1b680 27 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ');</span>.<span.class="line">..
1b6a0 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
1b6c0 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
1b6e0 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
1b700 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 /andy/tmp/zig/lib/std/special/te
1b720 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 38 30 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 st_runner.zig:80:28</span>:.<spa
1b740 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 62 30 33 33 20 69 6e 20 73 74 64 2e 73 n.class="t2_0">0x23b033.in.std.s
1b760 70 65 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e pecial.main.(test)</span></span>
1b780 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 20 65 6c .<span.class="line">........}.el
1b7a0 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 se.test_fn.func();</span>.<span.
1b7c0 63 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">...................
1b7e0 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
1b800 70 61 6e 3e 3c 2f 73 70 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"><
1b820 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 span.class="t1_0">/home/andy/tmp
1b840 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 /zig/lib/std/start.zig:551:22</s
1b860 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 33 39 30 pan>:.<span.class="t2_0">0x23390
1b880 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f c.in.std.start.callMain.(test)</
1b8a0 73 70 61 6e 3e 3c 2f 73 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">
1b8c0 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a ............root.main();</span>.
1b8e0 3c 73 70 61 6e 20 63 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">.............
1b900 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
1b920 70 61 6e 3e 3c 2f 73 70 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"><
1b940 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 span.class="t1_0">/home/andy/tmp
1b960 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 /zig/lib/std/start.zig:495:12</s
1b980 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 64 63 37 pan>:.<span.class="t2_0">0x20dc7
1b9a0 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 e.in.std.start.callMainWithArgs.
1b9c0 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
1b9e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 ="line">....return.@call(.{..mod
1ba00 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 ifier.=..always_inline.},.callMa
1ba20 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 in,..{});</span>.<span.class="li
1ba40 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f ne">...........<span.class="t32_
1ba60 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="
1ba80 6c 69 6e 65 22 3e 3c 2f 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"
1baa0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 ></span>.<span.class="line">All.
1bac0 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 1.tests.passed.</span>.<span.cla
1bae0 73 73 3d 22 6c 69 6e 65 22 3e 31 20 65 72 72 6f 72 73 20 77 65 72 65 20 6c 6f 67 67 65 64 2e 3c ss="line">1.errors.were.logged.<
1bb00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 20 74 65 73 74 /span>.<span.class="line">1.test
1bb20 73 20 6c 65 61 6b 65 64 20 6d 65 6d 6f 72 79 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c s.leaked.memory.</span>.<span.cl
1bb40 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 ass="line">error:.the.following.
1bb60 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 63 6f test.command.failed.with.exit.co
1bb80 64 65 20 31 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e de.1:</span>.<span.class="line">
1bba0 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 36 34 33 docgen_tmp/zig-cache/o/e62d5b643
1bbc0 64 30 38 66 31 61 63 62 62 31 33 38 36 64 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 2f 68 6f d08f1acbb1386db92eb0f23/test./ho
1bbe0 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 me/andy/tmp/zig/build-release/zi
1bc00 67 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a g</span>.</samp></pre></figure>.
1bc20 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><
1bc40 61 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c a.href="#defer">defer</a></li>.<
1bc60 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 79 3c 2f 61 3e 3c li><a.href="#Memory">Memory</a><
1bc80 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d /li>.</ul>...............<h3.id=
1bca0 22 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e 3c 61 20 68 72 65 66 3d 22 "Detecting-Test-Build"><a.href="
1bcc0 23 74 6f 63 2d 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e 44 65 74 65 63 #toc-Detecting-Test-Build">Detec
1bce0 74 69 6e 67 20 54 65 73 74 20 42 75 69 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 ting.Test.Build</a>.<a.class="hd
1bd00 72 22 20 68 72 65 66 3d 22 23 44 65 74 65 63 74 69 6e 67 2d 54 65 73 74 2d 42 75 69 6c 64 22 3e r".href="#Detecting-Test-Build">
1bd20 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 55 ..</a></h3>........<p>.........U
1bd40 73 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c se.the.<a.href="#Compile-Variabl
1bd60 65 73 22 3e 63 6f 6d 70 69 6c 65 20 76 61 72 69 61 62 6c 65 3c 2f 61 3e 20 3c 63 6f 64 65 3e 3c es">compile.variable</a>.<code><
1bd80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
1bda0 6f 6b 2d 62 75 69 6c 74 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
1bdc0 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
1bde0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 69 73 5f 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 uot;</span>).is_test</span></cod
1be00 65 3e 0a 20 20 20 20 20 20 20 20 74 6f 20 64 65 74 65 63 74 20 61 20 74 65 73 74 20 62 75 69 6c e>.........to.detect.a.test.buil
1be20 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 d:.......</p>.......<figure><fig
1be40 63 61 70 74 69 6f 6e 20 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
1be60 61 73 73 3d 22 66 69 6c 65 22 3e 64 65 74 65 63 74 5f 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 ass="file">detect_test.zig</cite
1be80 3e 3c 2f 66 69 67 63 61 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
1bea0 6c 61 73 73 3d 22 6c 69 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"
1bec0 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=
1bee0 22 74 6f 6b 2d 62 75 69 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
1bf00 61 6e 20 63 6c 61 73 73 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
1bf20 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="
1bf40 6c 69 6e 65 22 3e 3c 73 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
1bf60 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>.builtin.=.<span.class="t
1bf80 6f 6b 2d 62 75 69 6c 74 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
1bfa0 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
1bfc0 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
1bfe0 3d 22 6c 69 6e 65 22 3e 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
1c000 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
1c020 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"
1c040 3e 3c 2f 73 70 61 6e 3e 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
1c060 6e 20 63 6c 61 73 73 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
1c080 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e an.class="tok-str">&quot;builtin
1c0a0 2e 69 73 5f 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c .is_test&quot;</span>.{</span>.<
1c0c0 73 70 61 6e 20 63 6c 61 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
1c0e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 73 41 s="tok-kw">try</span>.expect(isA
1c100 54 65 73 74 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e Test());</span>.<span.class="lin
1c120 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"><
1c140 2f 73 70 61 6e 3e 0a 3c 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.
1c160 63 6c 61 73 73 3d 22 74 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
1c180 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 41 54 65 73 74 3c 2f 73 70 61 6e 3e 28 29 20 3c lass="tok-fn">isATest</span>().<
1c1a0 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
1c1c0 3e 20 7b 3c 2f 73 70 61 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">..
1c1e0 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
1c200 70 61 6e 3e 20 62 75 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 pan>.builtin.is_test;</span>.<sp
1c220 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><
1c240 2f 70 72 65 3e 3c 2f 66 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
1c260 6e 20 63 6c 61 73 73 3d 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
1c280 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
1c2a0 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 64 65 74 65 63 74 5f 74 65 73 74 2e ne">$.<kbd>zig.test.detect_test.
1c2c0 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
1c2e0 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 2e 69 73 5f 74 65 ne">1/1.test.&quot;builtin.is_te
1c300 73 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 st&quot;....OK</span>.<span.clas
1c320 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
1c340 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>......
1c360 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d ........<h3.id="Test-Output-and-
1c380 4c 6f 67 67 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 65 73 74 2d 4f 75 74 70 Logging"><a.href="#toc-Test-Outp
1c3a0 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 3e 54 65 73 74 20 4f 75 74 70 75 74 20 61 6e 64 20 ut-and-Logging">Test.Output.and.
1c3c0 4c 6f 67 67 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d Logging</a>.<a.class="hdr".href=
1c3e0 22 23 54 65 73 74 2d 4f 75 74 70 75 74 2d 61 6e 64 2d 4c 6f 67 67 69 6e 67 22 3e c2 a7 3c 2f 61 "#Test-Output-and-Logging">..</a
1c400 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 64 65 ></h3>........<p>.........The.de
1c420 66 61 75 6c 74 20 74 65 73 74 20 72 75 6e 6e 65 72 20 61 6e 64 20 74 68 65 20 5a 69 67 20 53 74 fault.test.runner.and.the.Zig.St
1c440 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 27 73 20 74 65 73 74 69 6e 67 20 6e 61 6d 65 73 70 61 andard.Library's.testing.namespa
1c460 63 65 20 6f 75 74 70 75 74 20 6d 65 73 73 61 67 65 73 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 ce.output.messages.to.standard.e
1c480 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 rror........</p>..............<h
1c4a0 33 20 69 64 3d 22 54 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 22 3e 3c 61 20 3.id="The-Testing-Namespace"><a.
1c4c0 68 72 65 66 3d 22 23 74 6f 63 2d 54 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 6d 65 73 70 61 63 65 href="#toc-The-Testing-Namespace
1c4e0 22 3e 54 68 65 20 54 65 73 74 69 6e 67 20 4e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 20 3c 61 20 63 ">The.Testing.Namespace</a>.<a.c
1c500 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 68 65 2d 54 65 73 74 69 6e 67 2d 4e 61 lass="hdr".href="#The-Testing-Na
1c520 6d 65 73 70 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a mespace">..</a></h3>........<p>.
1c540 20 20 20 20 20 20 20 20 54 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 ........The.Zig.Standard.Library
1c560 27 73 20 3c 63 6f 64 65 3e 74 65 73 74 69 6e 67 3c 2f 63 6f 64 65 3e 20 6e 61 6d 65 73 70 61 63 's.<code>testing</code>.namespac
1c580 65 20 63 6f 6e 74 61 69 6e 73 20 75 73 65 66 75 6c 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 68 e.contains.useful.functions.to.h
1c5a0 65 6c 70 0a 20 20 20 20 20 20 20 20 79 6f 75 20 63 72 65 61 74 65 20 74 65 73 74 73 2e 20 49 6e elp.........you.create.tests..In
1c5c0 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 65 78 70 65 63 74 3c 2f 63 .addition.to.the.<code>expect</c
1c5e0 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 75 73 65 ode>.function,.this.document.use
1c600 73 20 61 20 63 6f 75 70 6c 65 20 6f 66 20 6d 6f 72 65 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 s.a.couple.of.more.functions....
1c620 20 20 20 20 20 61 73 20 65 78 65 6d 70 6c 69 66 69 65 64 20 68 65 72 65 3a 0a 20 20 20 20 20 20 .....as.exemplified.here:.......
1c640 3c 2f 70 3e 0a 20 20 20 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
1c660 6c 61 73 73 3d 22 7a 69 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
1c680 22 3e 74 65 73 74 69 6e 67 5f 66 75 6e 63 74 69 6f 6e 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f ">testing_functions.zig</cite></
1c6a0 66 69 67 63 61 70 74 69 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
1c6c0 73 3d 22 6c 69 6e 65 22 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
1c6e0 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
1c700 6b 2d 62 75 69 6c 74 69 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.
1c720 63 6c 61 73 73 3d 22 74 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;<
1c740 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
1c760 65 22 3e 3c 2f 73 70 61 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
1c780 70 61 6e 20 63 6c 61 73 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>.<
1c7a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 70 65 63 span.class="tok-str">&quot;expec
1c7c0 74 45 71 75 61 6c 20 64 65 6d 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e tEqual.demo&quot;</span>.{</span
1c7e0 3e 0a 3c 73 70 61 6e 20 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
1c800 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 lass="tok-kw">const</span>.expec
1c820 74 65 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c ted:.<span.class="tok-type">i32<
1c840 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
1c860 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=
1c880 22 6c 69 6e 65 22 3e 20 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">
1c8a0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 63 74 75 61 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 const</span>.actual.=.<span.clas
1c8c0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e s="tok-number">42</span>;</span>
1c8e0 0a 3c 73 70 61 6e 20 63 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
1c900 6e 20 63 6c 61 73 73 3d 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="
1c920 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 tok-comment">//.The.first.argume
1c940 6e 74 20 74 6f 20 60 65 78 70 65 63 74 45 71 75 61 6c 60 20 69 73 20 74 68 65 20 6b 6e 6f 77 6e nt.to.`expectEqual`.is.the.known
1c960 2c 20 65 78 70 65 63 74 65 64 2c 20 72 65 73 75 6c 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ,.expected,.result.</span></span
1c980 3e 0a 3c 73 70 61 6e 20 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
1c9a0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 73 65 63 6f 6e 64 lass="tok-comment">//.The.second
1c9c0 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 73 6f 6d 65 20 .argument.is.the.result.of.some.
1c9e0 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 expression.</span></span>.<span.
1ca00 63 6c 61 73 73 3d 22 6c 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
1ca20 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 61 63 74 75 61 6c 27 73 20 74 79 70 65 20 k-comment">//.The.actual's.type.
1ca40 69 73 20 63 61 73 74 65 64 20 74 6f 20 74 68 65 20 74 79 70 65 20 6f 66 20 65 78 70 65 63 74 65 is.casted.to.the.type.of.expecte
1ca60 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
1ca80 6e 65 22 3e 20 20 20 20 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
1caa0 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 28 </span>.std.testing.expectEqual(
1cac0 65 78 70 65 63 74 65 64 2c 20 61 63 74 75 61 6c 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 expected,.actual);</span>.<span.
1cae0 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
1cb00 73 3d 22 6c 69 6e 65 22 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
1cb20 6e 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
1cb40 70 61 6e 3e 20 3c 73 70 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
1cb60 3b 65 78 70 65 63 74 45 72 72 6f 72 20 64 65 6d 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b ;expectError.demo&quot;</span>.{
1cb80 3c 2f 73 70 61 6e 3e 0a 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">....<
1cba0 73 70 61 6e 20 63 6c 61 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>
1cbc0 20 65 78 70 65 63 74 65 64 5f 65 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .expected_error.=.<span.class="t
1cbe0 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 44 65 6d 6f 45 72 72 6f 72 3b 3c 2f ok-kw">error</span>.DemoError;</
1cc00 73 70 61 6e 3e 0a 3c 73 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
1cc20 61 6e 20 63 6c 61 73 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
1cc40 63 74 75 61 6c 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ctual_error_union:.<span.class="
1cc60 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 tok-type">anyerror</span>!<span.
1cc80 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 3d 20 3c class="tok-type">void</span>.=.<
1cca0 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>
1ccc0 2e 44 65 6d 6f 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .DemoError;</span>.<span.class="
1cce0 6c 69 6e 65 22 3e 3c 2f 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"
1cd00 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">/
1cd20 2f 20 60 65 78 70 65 63 74 45 72 72 6f 72 60 20 77 69 6c 6c 20 66 61 69 6c 20 77 68 65 6e 20 74 /.`expectError`.will.fail.when.t
1cd40 68 65 20 61 63 74 75 61 6c 20 65 72 72 6f 72 20 69 73 20 64 69 66 66 65 72 65 6e 74 20 74 68 61 he.actual.error.is.different.tha
1cd60 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e n</span></span>.<span.class="lin
1cd80 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"
1cda0 3e 2f 2f 20 74 68 65 20 65 78 70 65 63 74 65 64 20 65 72 72 6f 72 2e 3c 2f 73 70 61 6e 3e 3c 2f >//.the.expected.error.</span></
1cdc0 73 70 61 6e 3e 0a 3c 73 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
1cde0 61 6e 20 63 6c 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
1ce00 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 65 78 70 65 63 74 65 64 5f 65 72 .testing.expectError(expected_er
1ce20 72 6f 72 2c 20 61 63 74 75 61 6c 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 29 3b 3c 2f 73 70 61 6e 3e ror,.actual_error_union);</span>
1ce40 0a 3c 73 70 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
1ce60 64 65 3e 3c 2f 70 72 65 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
1ce80 70 74 69 6f 6e 20 63 6c 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
1cea0 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
1cec0 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 69 6e 67 5f ="line">$.<kbd>zig.test.testing_
1cee0 66 75 6e 63 74 69 6f 6e 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e functions.zig</kbd></span>.<span
1cf00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 65 78 70 .class="line">1/2.test.&quot;exp
1cf20 65 63 74 45 71 75 61 6c 20 64 65 6d 6f 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e ectEqual.demo&quot;....OK</span>
1cf40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 .<span.class="line">2/2.test.&qu
1cf60 6f 74 3b 65 78 70 65 63 74 45 72 72 6f 72 20 64 65 6d 6f 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c ot;expectError.demo&quot;....OK<
1cf80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 /span>.<span.class="line">All.2.
1cfa0 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
1cfc0 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 5a 69 67 20 53 74 61 e></figure>.......<p>The.Zig.Sta
1cfe0 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 61 6c 73 6f 20 63 6f 6e 74 61 69 6e 73 20 66 75 6e 63 ndard.Library.also.contains.func
1d000 74 69 6f 6e 73 20 74 6f 20 63 6f 6d 70 61 72 65 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 tions.to.compare.<a.href="#Slice
1d020 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 2c 20 73 74 72 69 6e 67 73 2c 20 61 6e 64 20 6d 6f 72 65 s">Slices</a>,.strings,.and.more
1d040 2e 20 53 65 65 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 3c 63 ..See.the.rest.of.the.........<c
1d060 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
1d080 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6e 61 6d 65 73 70 61 63 65 20 69 6e 20 74 68 ng</span></code>.namespace.in.th
1d0a0 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 e.<a.href="#Zig-Standard-Library
1d0c0 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 61 3e 20 66 6f 72 20 6d ">Zig.Standard.Library</a>.for.m
1d0e0 6f 72 65 20 61 76 61 69 6c 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 70 3e 0a 20 20 20 ore.available.functions.</p>....
1d100 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 ..........<h3.id="Test-Tool-Docu
1d120 6d 65 6e 74 61 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 65 73 74 2d 54 6f mentation"><a.href="#toc-Test-To
1d140 6f 6c 2d 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 22 3e 54 65 73 74 20 54 6f 6f 6c 20 44 6f 63 75 ol-Documentation">Test.Tool.Docu
1d160 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 mentation</a>.<a.class="hdr".hre
1d180 66 3d 22 23 54 65 73 74 2d 54 6f 6f 6c 2d 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 22 3e c2 a7 3c f="#Test-Tool-Documentation">..<
1d1a0 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 3c 6b 62 64 /a></h3>........<p>.........<kbd
1d1c0 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 68 61 73 20 61 20 66 65 77 20 63 6f 6d 6d 61 6e >zig.test</kbd>.has.a.few.comman
1d1e0 64 20 6c 69 6e 65 20 70 61 72 61 6d 65 74 65 72 73 20 77 68 69 63 68 20 61 66 66 65 63 74 20 74 d.line.parameters.which.affect.t
1d200 68 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 53 65 65 20 3c 6b 62 64 he.compilation..........See.<kbd
1d220 3e 7a 69 67 20 74 65 73 74 20 2d 2d 68 65 6c 70 3c 2f 6b 62 64 3e 20 66 6f 72 20 61 20 66 75 6c >zig.test.--help</kbd>.for.a.ful
1d240 6c 20 6c 69 73 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 l.list........</p>..............
1d260 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 ........<h2.id="Variables"><a.hr
1d280 65 66 3d 22 23 74 6f 63 2d 56 61 72 69 61 62 6c 65 73 22 3e 56 61 72 69 61 62 6c 65 73 3c 2f 61 ef="#toc-Variables">Variables</a
1d2a0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 56 61 72 69 61 62 6c 65 >.<a.class="hdr".href="#Variable
1d2c0 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 s">..</a></h2>........<p>.......
1d2e0 41 20 76 61 72 69 61 62 6c 65 20 69 73 20 61 20 75 6e 69 74 20 6f 66 20 3c 61 20 68 72 65 66 3d A.variable.is.a.unit.of.<a.href=
1d300 22 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 79 3c 2f 61 3e 20 73 74 6f 72 61 67 65 2e 0a 20 20 "#Memory">Memory</a>.storage....
1d320 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 67 ....</p>.......<p>.......It.is.g
1d340 65 6e 65 72 61 6c 6c 79 20 70 72 65 66 65 72 61 62 6c 65 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 enerally.preferable.to.use.<code
1d360 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
1d380 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
1d3a0 64 65 3e 20 72 61 74 68 65 72 20 74 68 61 6e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 de>.rather.than.......<code><spa
1d3c0 6e 20 63 6c 61 73 73 3d 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-
1d3e0 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 65 kw">var</span></span></code>.whe
1d400 6e 20 64 65 63 6c 61 72 69 6e 67 20 61 20 76 61 72 69 61 62 6c 65 2e 20 54 68 69 73 20 63 61 75 n.declaring.a.variable..This.cau
1d420 73 65 73 20 6c 65 73 73 20 77 6f 72 6b 20 66 6f 72 20 62 6f 74 68 0a 20 20 20 20 20 20 68 75 6d ses.less.work.for.both.......hum
1d440 61 6e 73 20 61 6e 64 20 63 6f 6d 70 75 74 65 72 73 20 74 6f 20 64 6f 20 77 68 65 6e 20 72 65 61 ans.and.computers.to.do.when.rea
1d460 64 69 6e 67 20 63 6f 64 65 2c 20 61 6e 64 20 63 72 65 61 74 65 73 20 6d 6f 72 65 20 6f 70 74 69 ding.code,.and.creates.more.opti
1d480 6d 69 7a 61 74 69 6f 6e 20 6f 70 70 6f 72 74 75 6e 69 74 69 65 73 2e 0a 20 20 20 20 20 20 3c 2f mization.opportunities........</
1d4a0 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 64 65 6e 74 69 66 69 65 72 73 22 3e 3c p>........<h3.id="Identifiers"><
1d4c0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 64 65 6e 74 69 66 69 65 72 73 22 3e 49 64 65 6e 74 69 a.href="#toc-Identifiers">Identi
1d4e0 66 69 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 fiers</a>.<a.class="hdr".href="#
1d500 49 64 65 6e 74 69 66 69 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 Identifiers">..</a></h3>........
1d520 3c 70 3e 0a 20 20 20 20 20 20 56 61 72 69 61 62 6c 65 20 69 64 65 6e 74 69 66 69 65 72 73 20 61 <p>.......Variable.identifiers.a
1d540 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77 65 64 20 74 6f 20 73 68 61 64 6f 77 20 69 64 65 6e 74 re.never.allowed.to.shadow.ident
1d560 69 66 69 65 72 73 20 66 72 6f 6d 20 61 6e 20 6f 75 74 65 72 20 73 63 6f 70 65 2e 0a 20 20 20 20 ifiers.from.an.outer.scope......
1d580 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 64 65 6e 74 69 66 69 65 ..</p>.......<p>.......Identifie
1d5a0 72 73 20 6d 75 73 74 20 73 74 61 72 74 20 77 69 74 68 20 61 6e 20 61 6c 70 68 61 62 65 74 69 63 rs.must.start.with.an.alphabetic
1d5c0 20 63 68 61 72 61 63 74 65 72 20 6f 72 20 75 6e 64 65 72 73 63 6f 72 65 20 61 6e 64 20 6d 61 79 .character.or.underscore.and.may
1d5e0 20 62 65 20 66 6f 6c 6c 6f 77 65 64 0a 20 20 20 20 20 20 62 79 20 61 6e 79 20 6e 75 6d 62 65 72 .be.followed.......by.any.number
1d600 20 6f 66 20 61 6c 70 68 61 6e 75 6d 65 72 69 63 20 63 68 61 72 61 63 74 65 72 73 20 6f 72 20 75 .of.alphanumeric.characters.or.u
1d620 6e 64 65 72 73 63 6f 72 65 73 2e 0a 20 20 20 20 20 20 54 68 65 79 20 6d 75 73 74 20 6e 6f 74 20 nderscores........They.must.not.
1d640 6f 76 65 72 6c 61 70 20 77 69 74 68 20 61 6e 79 20 6b 65 79 77 6f 72 64 73 2e 20 53 65 65 20 3c overlap.with.any.keywords..See.<
1d660 61 20 68 72 65 66 3d 22 23 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 3e 4b 65 79 77 a.href="#Keyword-Reference">Keyw
1d680 6f 72 64 20 52 65 66 65 72 65 6e 63 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ord.Reference</a>........</p>...
1d6a0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 61 20 6e 61 6d 65 20 74 68 61 74 20 64 6f 65 ....<p>.......If.a.name.that.doe
1d6c0 73 20 6e 6f 74 20 66 69 74 20 74 68 65 73 65 20 72 65 71 75 69 72 65 6d 65 6e 74 73 20 69 73 20 s.not.fit.these.requirements.is.
1d6e0 6e 65 65 64 65 64 2c 20 73 75 63 68 20 61 73 20 66 6f 72 20 6c 69 6e 6b 69 6e 67 20 77 69 74 68 needed,.such.as.for.linking.with
1d700 20 65 78 74 65 72 6e 61 6c 20 6c 69 62 72 61 72 69 65 73 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c .external.libraries,.the.<code><
1d720 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 40 26 71 75 6f 74 3b 26 71 75 6f 74 3b 3c span.class="line">@&quot;&quot;<
1d740 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 6d 61 79 20 62 65 20 75 73 65 64 /span></code>.syntax.may.be.used
1d760 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
1d780 61 70 74 69 6f 6e 20 63 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
1d7a0 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
1d7c0 70 74 69 6f 6e 3e 3c 70 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
1d7e0 6e 65 22 3e 3c 73 70 61 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</
1d800 73 70 61 6e 3e 20 40 26 71 75 6f 74 3b 69 64 65 6e 74 69 66 69 65 72 20 77 69 74 68 20 73 70 61 span>.@&quot;identifier.with.spa
1d820 63 65 73 20 69 6e 20 69 74 26 71 75 6f 74 3b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ces.in.it&quot;.=.<span.class="t
1d840 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 66 66 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ok-number">0xff</span>;</span>.<
1d860 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
1d880 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 40 26 71 75 6f 74 3b 31 53 6d 61 6c ok-kw">const</span>.@&quot;1Smal
1d8a0 6c 53 74 65 70 34 4d 61 6e 26 71 75 6f 74 3b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 lStep4Man&quot;.=.<span.class="t
1d8c0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 32 33 35 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e ok-number">112358</span>;</span>
1d8e0 0a 3c 73 70 61 6e 20 63 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
1d900 6e 20 63 6c 61 73 73 3d 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-
1d920 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 kw">const</span>.c.=.<span.class
1d940 3d 22 74 6f 6b 2d 62 75 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
1d960 70 61 6e 20 63 6c 61 73 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
1d980 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ot;</span>).c;</span>.<span.clas
1d9a0 73 3d 22 6c 69 6e 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
1d9c0 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 b</span>.<span.class="tok-kw">ex
1d9e0 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
1da00 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
1da20 73 73 3d 22 74 6f 6b 2d 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
1da40 73 3d 22 74 6f 6b 2d 66 6e 22 3e 40 26 71 75 6f 74 3b 65 72 72 6f 72 26 71 75 6f 74 3b 3c 2f 73 s="tok-fn">@&quot;error&quot;</s
1da60 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e pan>().<span.class="tok-type">an
1da80 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 yopaque</span>;</span>.<span.cla
1daa0 73 73 3d 22 6c 69 6e 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
1dac0 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 ub</span>.<span.class="tok-kw">e
1dae0 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 xtern</span>.<span.class="tok-st
1db00 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c r">&quot;c&quot;</span>.<span.cl
1db20 61 73 73 3d 22 74 6f 6b 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
1db40 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 40 26 71 75 6f 74 3b 66 73 74 61 74 24 49 4e 4f 44 45 36 34 ss="tok-fn">@&quot;fstat$INODE64
1db60 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 28 66 64 3a 20 63 2e 66 64 5f 74 2c 20 62 75 66 3a 20 2a &quot;</span>(fd:.c.fd_t,.buf:.*
1db80 63 2e 53 74 61 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 c.Stat).<span.class="tok-type">c
1dba0 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d _int</span>;</span>.<span.class=
1dbc0 22 6c 69 6e 65 22 3e 3c 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
1dbe0 22 3e 3c 73 70 61 6e 20 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
1dc00 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 an>.Color.=.<span.class="tok-kw"
1dc20 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >enum</span>.{</span>.<span.clas
1dc40 73 3d 22 6c 69 6e 65 22 3e 20 20 72 65 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">..red,</span>.<span.cla
1dc60 73 73 3d 22 6c 69 6e 65 22 3e 20 20 40 26 71 75 6f 74 3b 72 65 61 6c 6c 79 20 72 65 64 26 71 75 ss="line">..@&quot;really.red&qu
1dc80 6f 74 3b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d ot;,</span>.<span.class="line">}
1dca0 3b 3c 2f 73 70 61 6e 3e 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
1dcc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f n.class="tok-kw">const</span>.co
1dce0 6c 6f 72 3a 20 43 6f 6c 6f 72 20 3d 20 2e 40 26 71 75 6f 74 3b 72 65 61 6c 6c 79 20 72 65 64 26 lor:.Color.=..@&quot;really.red&
1dd00 71 75 6f 74 3b 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 quot;;</span></code></pre></figu
1dd20 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 6f 6e 74 61 69 re>...............<h3.id="Contai
1dd40 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ner-Level-Variables"><a.href="#t
1dd60 6f 63 2d 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f oc-Container-Level-Variables">Co
1dd80 6e 74 61 69 6e 65 72 20 4c 65 76 65 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 ntainer.Level.Variables</a>.<a.c
1dda0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 lass="hdr".href="#Container-Leve
1ddc0 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 l-Variables">..</a></h3>........
1dde0 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 <p>.......Container.level.variab
1de00 6c 65 73 20 68 61 76 65 20 73 74 61 74 69 63 20 6c 69 66 65 74 69 6d 65 20 61 6e 64 20 61 72 65 les.have.static.lifetime.and.are
1de20 20 6f 72 64 65 72 2d 69 6e 64 65 70 65 6e 64 65 6e 74 20 61 6e 64 20 6c 61 7a 69 6c 79 20 61 6e .order-independent.and.lazily.an
1de40 61 6c 79 7a 65 64 2e 0a 20 20 20 20 20 20 54 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e alyzed........The.initialization
1de60 20 76 61 6c 75 65 20 6f 66 20 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 .value.of.container.level.variab
1de80 6c 65 73 20 69 73 20 69 6d 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d les.is.implicitly.......<a.href=
1dea0 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2e 20 49 66 20 61 20 63 "#comptime">comptime</a>..If.a.c
1dec0 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 20 69 73 20 3c 63 6f 64 65 ontainer.level.variable.is.<code
1dee0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
1df00 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
1df20 64 65 3e 20 74 68 65 6e 20 69 74 73 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 3c 63 6f 64 de>.then.its.value.is.......<cod
1df40 65 3e 3c 73 70 61 6e 20 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
1df60 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ="tok-kw">comptime</span></span>
1df80 3c 2f 63 6f 64 65 3e 2d 6b 6e 6f 77 6e 2c 20 6f 74 68 65 72 77 69 73 65 20 69 74 20 69 73 20 72 </code>-known,.otherwise.it.is.r
1dfa0 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c untime-known........</p>.......<
1dfc0 66 69 67 75 72 65 3e 3c 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
1dfe0 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6e 74 61 69 6e 65 72 5f p"><cite.class="file">container_
1e000 6c 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 level_variables.zig</cite></figc
1e020 61 70 74 69 6f 6e 3e 3c 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
1e040 69 6e 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
1e060 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 pan>.y:.<span.class="tok-type">i
1e080 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 61 64 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 32</span>.=.add(<span.class="tok
1e0a0 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 78 29 3b 3c 2f 73 70 61 6e 3e 0a 3c -number">10</span>,.x);</span>.<
1e0c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
1e0e0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">const</span>.x:.<span.cla
1e100 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 61 64 64 28 3c ss="tok-type">i32</span>.=.add(<
1e120 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e span.class="tok-number">12</span
1e140 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f >,.<span.class="tok-number">34</
1e160 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
1e180 22 3e 3c 2f 73 70 61 6e 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
1e1a0 61 6e 20 63 6c 61 73 73 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
1e1c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6e 74 61 69 pan.class="tok-str">&quot;contai
1e1e0 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ner.level.variables&quot;</span>
1e200 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
1e220 20 3c 73 70 61 6e 20 63 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>
1e240 20 65 78 70 65 63 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .expect(x.==.<span.class="tok-nu
1e260 6d 62 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mber">46</span>);</span>.<span.c
1e280 6c 61 73 73 3d 22 6c 69 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
1e2a0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 20 3d 3d 20 3c 73 70 61 -kw">try</span>.expect(y.==.<spa
1e2c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 3c 2f 73 70 61 6e 3e 29 3b n.class="tok-number">56</span>);
1e2e0 3c 2f 73 70 61 6e 3e 0a 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
1e300 61 6e 3e 0a 3c 73 70 61 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>.<
1e320 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
1e340 6f 6b 2d 6b 77 22 3e 66 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
1e360 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-fn">add</span>(a:.<span.class=
1e380 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 "tok-type">i32</span>,.b:.<span.
1e3a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 class="tok-type">i32</span>).<sp
1e3c0 61 6e 20 63 6c 61 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>.{
1e3e0 3c 2f 73 70 61 6e 3e 0a 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">....<
1e400 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
1e420 3e 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e >.a.+.b;</span>.<span.class="lin
1e440 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"><
1e460 2f 73 70 61 6e 3e 0a 3c 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.
1e480 63 6c 61 73 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.
1e4a0 3d 20 3c 73 70 61 6e 20 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
1e4c0 6f 72 74 3c 2f 73 70 61 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"
1e4e0 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>
1e500 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
1e520 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
1e540 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e td.testing.expect;</span></code>
1e560 3c 2f 70 72 65 3e 3c 2f 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
1e580 6f 6e 20 63 6c 61 73 73 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
1e5a0 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
1e5c0 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 6e 74 61 69 6e 65 72 5f 6c ine">$.<kbd>zig.test.container_l
1e5e0 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a evel_variables.zig</kbd></span>.
1e600 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f <span.class="line">1/1.test.&quo
1e620 74 3b 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 26 71 75 6f 74 t;container.level.variables&quot
1e640 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
1e660 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
1e680 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>...
1e6a0 20 20 20 20 43 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 73 20 6d 61 ....Container.level.variables.ma
1e6c0 79 20 62 65 20 64 65 63 6c 61 72 65 64 20 69 6e 73 69 64 65 20 61 20 3c 61 20 68 72 65 66 3d 22 y.be.declared.inside.a.<a.href="
1e6e0 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 75 #struct">struct</a>,.<a.href="#u
1e700 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 65 6e nion">union</a>,.or.<a.href="#en
1e720 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c um">enum</a>:.......</p>.......<
1e740 66 69 67 75 72 65 3e 3c 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
1e760 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 61 6d 65 73 70 61 63 65 64 p"><cite.class="file">namespaced
1e780 5f 63 6f 6e 74 61 69 6e 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 61 62 6c 65 2e 7a 69 67 3c 2f 63 _container_level_variable.zig</c
1e7a0 69 74 65 3e 3c 2f 66 69 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
1e7c0 6e 20 63 6c 61 73 73 3d 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-
1e7e0 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
1e800 73 73 3d 22 74 6f 6b 2d 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>(
1e820 3c 73 70 61 6e 20 63 6c 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&
1e840 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
1e860 73 3d 22 6c 69 6e 65 22 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
1e880 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.
1e8a0 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
1e8c0 22 3e 3c 2f 73 70 61 6e 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
1e8e0 61 6e 20 63 6c 61 73 73 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
1e900 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 61 6d 65 73 70 pan.class="tok-str">&quot;namesp
1e920 61 63 65 64 20 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 26 71 75 aced.container.level.variable&qu
1e940 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=
1e960 22 6c 69 6e 65 22 3e 20 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">
1e980 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
1e9a0 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>)
1e9c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
1e9e0 3c 73 70 61 6e 20 63 6c 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>.
1ea00 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
1ea20 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
1ea40 70 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.
1ea60 63 6c 61 73 73 3d 22 6c 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
1ea80 3d 22 6c 69 6e 65 22 3e 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
1eaa0 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b st</span>.S.=.<span.class="tok-k
1eac0 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.
1eae0 63 6c 61 73 73 3d 22 6c 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
1eb00 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=
1eb20 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
1eb40 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 ass="tok-number">1234</span>;</s
1eb60 70 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
1eb80 3e 0a 3c 73 70 61 6e 20 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
1eba0 61 6e 20 63 6c 61 73 73 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
1ebc0 2d 6b 77 22 3e 66 6e 3c 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-
1ebe0 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
1ec00 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
1ec20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 53 2e 78 20 2b 3d 20 3c 73 70 61 6e 20 n.class="line">....S.x.+=.<span.
1ec40 63 6c 61 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
1ec60 61 6e 3e 0a 3c 73 70 61 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
1ec80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 53 2e .class="tok-kw">return</span>.S.
1eca0 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f x;</span>.<span.class="line">}</
1ecc0 73 70 61 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
1ece0 72 65 3e 3c 66 69 67 63 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"
1ed00 3e 53 68 65 6c 6c 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
1ed20 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
1ed40 20 6e 61 6d 65 73 70 61 63 65 64 5f 63 6f 6e 74 61 69 6e 65 72 5f 6c 65 76 65 6c 5f 76 61 72 69 .namespaced_container_level_vari
1ed60 61 62 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 able.zig</kbd></span>.<span.clas
1ed80 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 61 6d 65 73 70 61 63 s="line">1/1.test.&quot;namespac
1eda0 65 64 20 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 76 61 72 69 61 62 6c 65 26 71 75 6f 74 ed.container.level.variable&quot
1edc0 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
1ede0 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
1ee00 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 amp></pre></figure>.............
1ee20 20 20 3c 68 33 20 69 64 3d 22 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 ..<h3.id="Static-Local-Variables
1ee40 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 74 61 74 69 63 2d 4c 6f 63 61 6c 2d 56 61 72 "><a.href="#toc-Static-Local-Var
1ee60 69 61 62 6c 65 73 22 3e 53 74 61 74 69 63 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f iables">Static.Local.Variables</
1ee80 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 61 74 69 63 2d a>.<a.class="hdr".href="#Static-
1eea0 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 Local-Variables">..</a></h3>....
1eec0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 49 74 20 69 73 20 61 6c 73 6f 20 70 6f 73 73 69 ....<p>.........It.is.also.possi
1eee0 62 6c 65 20 74 6f 20 68 61 76 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 77 69 74 68 ble.to.have.local.variables.with
1ef00 20 73 74 61 74 69 63 20 6c 69 66 65 74 69 6d 65 20 62 79 20 75 73 69 6e 67 20 63 6f 6e 74 61 69 .static.lifetime.by.using.contai
1ef20 6e 65 72 73 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 ners.inside.functions........</p
1ef40 3e 0a 20 20 20 20 20 20 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
1ef60 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 s="zig-cap"><cite.class="file">s
1ef80 74 61 74 69 63 5f 6c 6f 63 61 6c 5f 76 61 72 69 61 62 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c tatic_local_variable.zig</cite><
1efa0 2f 66 69 67 63 61 70 74 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
1efc0 73 73 3d 22 6c 69 6e 65 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
1efe0 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
1f000 6f 6b 2d 62 75 69 6c 74 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
1f020 20 63 6c 61 73 73 3d 22 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;
1f040 3c 2f 73 70 61 6e 3e 29 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
1f060 6e 65 22 3e 3c 73 70 61 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</
1f080 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
1f0a0 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
1f0c0 70 61 6e 3e 0a 3c 73 70 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
1f0e0 61 73 73 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
1f100 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 61 74 69 63 20 6c 6f 63 61 lass="tok-str">&quot;static.loca
1f120 6c 20 76 61 72 69 61 62 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e l.variable&quot;</span>.{</span>
1f140 0a 3c 73 70 61 6e 20 63 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
1f160 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 ass="tok-kw">try</span>.expect(f
1f180 6f 6f 28 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 oo().==.<span.class="tok-number"
1f1a0 3e 31 32 33 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >1235</span>);</span>.<span.clas
1f1c0 73 3d 22 6c 69 6e 65 22 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
1f1e0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 6f 6f 28 29 20 3d 3d 20 3c 73 70 ">try</span>.expect(foo().==.<sp
1f200 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 36 3c 2f 73 70 61 6e an.class="tok-number">1236</span
1f220 3e 29 3b 3c 2f 73 70 61 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">}<
1f240 2f 73 70 61 6e 3e 0a 3c 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
1f260 3e 0a 3c 73 70 61 6e 20 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
1f280 3d 22 74 6f 6b 2d 6b 77 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=
1f2a0 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-fn">foo</span>().<span.clas
1f2c0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e s="tok-type">i32</span>.{</span>
1f2e0 0a 3c 73 70 61 6e 20 63 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
1f300 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 ass="tok-kw">const</span>.S.=.<s
1f320 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>
1f340 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
1f360 20 20 20 20 20 3c 73 70 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
1f380 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
1f3a0 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
1f3c0 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
1f3e0 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.
1f400 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 53 2e 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c class="line">....S.x.+=.<span.cl
1f420 61 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
1f440 3e 0a 3c 73 70 61 6e 20 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
1f460 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 53 2e 78 3b lass="tok-kw">return</span>.S.x;
1f480 3c 2f 73 70 61 6e 3e 0a 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
1f4a0 61 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
1f4c0 3e 3c 66 69 67 63 61 70 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
1f4e0 68 65 6c 6c 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
1f500 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
1f520 74 61 74 69 63 5f 6c 6f 63 61 6c 5f 76 61 72 69 61 62 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f tatic_local_variable.zig</kbd></
1f540 73 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
1f560 74 20 26 71 75 6f 74 3b 73 74 61 74 69 63 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 26 71 75 t.&quot;static.local.variable&qu
1f580 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
1f5a0 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>.<
1f5c0 2f 73 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>.
1f5e0 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ......The.<code><span.class="lin
1f600 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f e"><span.class="tok-kw">extern</
1f620 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 6f 72 20 3c span></span></code>.keyword.or.<
1f640 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 61 3e 20 62 75 69 a.href="#extern">@extern</a>.bui
1f660 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6c 69 6e ltin.function.can.be.used.to.lin
1f680 6b 20 61 67 61 69 6e 73 74 20 61 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 69 73 20 65 78 70 k.against.a.variable.that.is.exp
1f6a0 6f 72 74 65 64 0a 20 20 20 20 20 20 66 72 6f 6d 20 61 6e 6f 74 68 65 72 20 6f 62 6a 65 63 74 2e orted.......from.another.object.
1f6c0 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
1f6e0 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>
1f700 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 6f 72 20 3c 61 20 68 72 65 </span></code>.keyword.or.<a.hre
1f720 66 3d 22 23 65 78 70 6f 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e 20 62 75 69 6c 74 69 6e 20 f="#export">@export</a>.builtin.
1f740 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6d 61 function.......can.be.used.to.ma
1f760 6b 65 20 61 20 76 61 72 69 61 62 6c 65 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 6f 74 68 65 72 ke.a.variable.available.to.other
1f780 20 6f 62 6a 65 63 74 73 20 61 74 20 6c 69 6e 6b 20 74 69 6d 65 2e 20 49 6e 20 62 6f 74 68 20 63 .objects.at.link.time..In.both.c
1f7a0 61 73 65 73 2c 0a 20 20 20 20 20 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 76 61 72 69 ases,.......the.type.of.the.vari
1f7c0 61 62 6c 65 20 6d 75 73 74 20 62 65 20 43 20 41 42 49 20 63 6f 6d 70 61 74 69 62 6c 65 2e 0a 20 able.must.be.C.ABI.compatible...
1f7e0 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>
1f800 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 <ul>.<li><a.href="#Exporting-a-C
1f820 2d 4c 69 62 72 61 72 79 22 3e 45 78 70 6f 72 74 69 6e 67 20 61 20 43 20 4c 69 62 72 61 72 79 3c -Library">Exporting.a.C.Library<
1f840 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
1f860 33 20 69 64 3d 22 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 3.id="Thread-Local-Variables"><a
1f880 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c .href="#toc-Thread-Local-Variabl
1f8a0 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c es">Thread.Local.Variables</a>.<
1f8c0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 68 72 65 61 64 2d 4c 6f 63 61 a.class="hdr".href="#Thread-Loca
1f8e0 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 l-Variables">..</a></h3>........
1f900 3c 70 3e 41 20 76 61 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 73 70 65 63 69 66 69 65 64 20 74 <p>A.variable.may.be.specified.t
1f920 6f 20 62 65 20 61 20 74 68 72 65 61 64 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 75 73 69 o.be.a.thread-local.variable.usi
1f940 6e 67 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ng.the.......<code><span.class="
1f960 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 68 72 65 61 line"><span.class="tok-kw">threa
1f980 64 6c 6f 63 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 dlocal</span></span></code>.keyw
1f9a0 6f 72 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 ord:</p>.......<figure><figcapti
1f9c0 6f 6e 20 63 6c 61 73 73 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="
1f9e0 66 69 6c 65 22 3e 74 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e file">tls.zig</cite></figcaption
1fa00 3e 3c 70 72 65 3e 3c 63 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"><
1fa20 73 70 61 6e 20 63 6c 61 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>
1fa40 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"
1fa60 3e 40 69 6d 70 6f 72 74 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
1fa80 2d 73 74 72 22 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>);</
1faa0 73 70 61 6e 3e 0a 3c 73 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
1fac0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 lass="tok-kw">const</span>.asser
1fae0 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 t.=.std.debug.assert;</span>.<sp
1fb00 61 6e 20 63 6c 61 73 73 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
1fb20 61 73 73 3d 22 6c 69 6e 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">
1fb40 74 68 72 65 61 64 6c 6f 63 61 6c 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 threadlocal</span>.<span.class="
1fb60 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 tok-kw">var</span>.x:.<span.clas
1fb80 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.
1fba0 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>;<
1fbc0 2f 73 70 61 6e 3e 0a 3c 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
1fbe0 3e 0a 3c 73 70 61 6e 20 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
1fc00 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
1fc20 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 72 65 61 64 20 6c 6f 63 61 6c 20 73 s="tok-str">&quot;thread.local.s
1fc40 74 6f 72 61 67 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 torage&quot;</span>.{</span>.<sp
1fc60 61 6e 20 63 6c 61 73 73 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=
1fc80 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 68 72 65 61 64 31 20 3d 20 "tok-kw">const</span>.thread1.=.
1fca0 3c 73 70 61 6e 20 63 6c 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>.
1fcc0 73 74 64 2e 54 68 72 65 61 64 2e 73 70 61 77 6e 28 2e 7b 7d 2c 20 74 65 73 74 54 6c 73 2c 20 2e std.Thread.spawn(.{},.testTls,..
1fce0 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 {});</span>.<span.class="line">.
1fd00 20 20 20 3c 73 70 61 6e 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
1fd20 70 61 6e 3e 20 74 68 72 65 61 64 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pan>.thread2.=.<span.class="tok-
1fd40 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 54 68 72 65 61 64 2e 73 70 61 77 6e 28 kw">try</span>.std.Thread.spawn(
1fd60 2e 7b 7d 2c 20 74 65 73 74 54 6c 73 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .{},.testTls,..{});</span>.<span
1fd80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 65 73 74 54 6c 73 28 29 3b 3c 2f 73 70 .class="line">....testTls();</sp
1fda0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 65 61 an>.<span.class="line">....threa
1fdc0 64 31 2e 6a 6f 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d1.join();</span>.<span.class="l
1fde0 69 6e 65 22 3e 20 20 20 20 74 68 72 65 61 64 32 2e 6a 6f 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a ine">....thread2.join();</span>.
1fe00 3c 73 70 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
1fe20 6e 20 63 6c 61 73 73 3d 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
1fe40 73 73 3d 22 6c 69 6e 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
1fe60 6e 3c 2f 73 70 61 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
1fe80 73 74 54 6c 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d stTls</span>().<span.class="tok-
1fea0 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
1fec0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 78 20 3d 3d 20 3c 73 .class="line">....assert(x.==.<s
1fee0 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
1ff00 6e 3e 29 3b 3c 2f 73 70 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">.
1ff20 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"
1ff40 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
1ff60 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ine">....assert(x.==.<span.class
1ff80 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ="tok-number">1235</span>);</spa
1ffa0 6e 3e 0a 3c 73 70 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></
1ffc0 63 6f 64 65 3e 3c 2f 70 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
1ffe0 63 61 70 74 69 6f 6e 20 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<
20000 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
20020 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 6c 73 2e 7a 69 ss="line">$.<kbd>zig.test.tls.zi
20040 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
20060 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 74 68 72 65 61 64 20 6c 6f 63 61 6c 20 73 74 ">1/1.test.&quot;thread.local.st
20080 6f 72 61 67 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 orage&quot;....OK</span>.<span.c
200a0 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.<
200c0 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>...
200e0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 53 69 6e 67 ....<p>.......For.<a.href="#Sing
20100 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e 53 69 6e 67 6c 65 20 54 68 72 65 61 le-Threaded-Builds">Single.Threa
20120 64 65 64 20 42 75 69 6c 64 73 3c 2f 61 3e 2c 20 61 6c 6c 20 74 68 72 65 61 64 20 6c 6f 63 61 6c ded.Builds</a>,.all.thread.local
20140 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 20 72 65 67 75 6c 61 .variables.are.treated.as.regula
20160 72 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 r.<a.href="#Container-Level-Vari
20180 61 62 6c 65 73 22 3e 43 6f 6e 74 61 69 6e 65 72 20 4c 65 76 65 6c 20 56 61 72 69 61 62 6c 65 73 ables">Container.Level.Variables
201a0 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 </a>........</p>.......<p>......
201c0 20 54 68 72 65 61 64 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 6d 61 79 20 6e 6f 74 20 .Thread.local.variables.may.not.
201e0 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 be.<code><span.class="line"><spa
20200 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 n.class="tok-kw">const</span></s
20220 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a pan></code>........</p>.........
20240 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c ......<h3.id="Local-Variables"><
20260 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 4c 6f a.href="#toc-Local-Variables">Lo
20280 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 cal.Variables</a>.<a.class="hdr"
202a0 20 68 72 65 66 3d 22 23 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c .href="#Local-Variables">..</a><
202c0 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 6f 63 61 6c 20 76 61 72 69 /h3>........<p>.......Local.vari
202e0 61 62 6c 65 73 20 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e ables.occur.inside.<a.href="#Fun
20300 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 ctions">Functions</a>,.<a.href="
20320 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 6c 6f 63 6b 73 2c 20 #comptime">comptime</a>.blocks,.
20340 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c and.<a.href="#cImport">@cImport<
20360 2f 61 3e 20 62 6c 6f 63 6b 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e /a>.blocks........</p>.......<p>
20380 0a 20 20 20 20 20 20 57 68 65 6e 20 61 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 69 73 20 .......When.a.local.variable.is.
203a0 3c 63 6f 64 65 3e 3c 73 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
203c0 6c 61 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
203e0 3e 3c 2f 63 6f 64 65 3e 2c 20 69 74 20 6d 65 61 6e 73 20 74 68 61 74 20 61 66 74 65 72 20 69 6e ></code>,.it.means.that.after.in
20400 69 74 69 61 6c 69 7a 61 74 69 6f 6e 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 27 73 0a 20 20 20 itialization,.the.variable's....
20420 20 20 20 76 61 6c 75 65 20 77 69 6c 6c 20 6e 6f 74 20 63 68 61 6e 67 65 2e 20 49 66 20 74 68 65 ...value.will.not.change..If.the
20440 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 76 61 6c 75 65 20 6f 66 20 61 20 3c 63 6f 64 65 .initialization.value.of.a.<code
20460 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
20480 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
204a0 64 65 3e 20 76 61 72 69 61 62 6c 65 20 69 73 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 de>.variable.is.......<a.href="#
204c0 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 2c 20 74 68 comptime">comptime</a>-known,.th
204e0 65 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 61 6c 73 6f 20 3c 63 6f 64 65 3e 3c 73 en.the.variable.is.also.<code><s
20500 70 61 6e 20 63 6c 61 73 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
20520 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
20540 64 65 3e 2d 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a de>-known........</p>.......<p>.
20560 20 20 20 20 20 20 41 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 6d 61 79 20 62 65 20 71 75 ......A.local.variable.may.be.qu
20580 61 6c 69 66 69 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 alified.with.the.<code><span.cla
205a0 73 73 3d 22 6c 69 6e 65 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
205c0 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 omptime</span></span></code>.key
205e0 77 6f 72 64 2e 20 54 68 69 73 20 63 61 75 73 65 73 0a 20 20 20 20 20 20 74 68 65 20 76 61 72 69 word..This.causes.......the.vari
20600 61 62 6c 65 27 73 20 76 61 6c 75 65 20 74 6f 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 able's.value.to.be.<code><span.c
20620 6c 61 73 73 3d 22 6c 69 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"
20640 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
20660 6e 6f 77 6e 2c 20 61 6e 64 20 61 6c 6c 20 6c 6f 61 64 73 20 61 6e 64 20 73 74 6f 72 65 73 20 6f nown,.and.all.loads.and.stores.o
20680 66 20 74 68 65 0a 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 74 6f 20 68 61 70 70 65 6e 20 64 f.the.......variable.to.happen.d
206a0 75 72 69 6e 67 20 73 65 6d 61 6e 74 69 63 20 61 6e 61 6c 79 73 69 73 20 6f 66 20 74 68 65 20 70 uring.semantic.analysis.of.the.p
206c0 72 6f 67 72 61 6d 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 74 20 72 75 6e 74 69 6d 65 2e 0a rogram,.rather.than.at.runtime..
206e0 20 20 20 20 20 20 41 6c 6c 20 76 61 72 69 61 62 6c 65 73 20 64 65 63 6c 61 72 65 64 20 69 6e 20 ......All.variables.declared.in.
20700 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
20720 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c .class="tok-kw">comptime</span><
20740 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 61 72 65 20 69 6d 70 /span></code>.expression.are.imp
20760 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d licitly.......<code><span.class=
20780 22 6c 69 6e 65 22 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
207a0 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 72 69 61 62 time</span></span></code>.variab
207c0 6c 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 les........</p>.......<figure><f
207e0 69 67 63 61 70 74 69 6f 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.
20800 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a 69 67 3c 2f class="file">comptime_vars.zig</
20820 63 69 74 65 3e 3c 2f 66 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
20840 61 6e 20 63 6c 61 73 73 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
20860 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
20880 61 73 73 3d 22 74 6f 6b 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>
208a0 28 3c 73 70 61 6e 20 63 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
208c0 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
208e0 73 73 3d 22 6c 69 6e 65 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
20900 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
20920 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
20940 65 22 3e 3c 2f 73 70 61 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
20960 70 61 6e 20 63 6c 61 73 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>.<
20980 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 span.class="tok-str">&quot;compt
209a0 69 6d 65 20 76 61 72 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ime.vars&quot;</span>.{</span>.<
209c0 73 70 61 6e 20 63 6c 61 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
209e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 s="tok-kw">var</span>.x:.<span.c
20a00 6c 61 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
20a20 61 6e 20 63 6c 61 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>;<
20a40 2f 73 70 61 6e 3e 0a 3c 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
20a60 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
20a80 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 n>.<span.class="tok-kw">var</spa
20aa0 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 n>.y:.<span.class="tok-type">i32
20ac0 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
20ae0 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">1</span>;</span>.<span.class=
20b00 22 6c 69 6e 65 22 3e 3c 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
20b20 22 3e 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ">....x.+=.<span.class="tok-numb
20b40 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
20b60 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ="line">....y.+=.<span.class="to
20b80 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-number">1</span>;</span>.<span
20ba0 20 63 6c 61 73 73 3d 22 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
20bc0 73 3d 22 6c 69 6e 65 22 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
20be0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 ">try</span>.expect(x.==.<span.c
20c00 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 lass="tok-number">2</span>);</sp
20c20 61 6e 3e 0a 3c 73 70 61 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
20c40 20 63 6c 61 73 73 3d 22 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
20c60 74 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e t(y.==.<span.class="tok-number">
20c80 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 2</span>);</span>.<span.class="l
20ca0 69 6e 65 22 3e 3c 2f 73 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">
20cc0 20 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
20ce0 6e 3e 20 28 79 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 n>.(y.!=.<span.class="tok-number
20d00 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">2</span>).{</span>.<span.class
20d20 3d 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
20d40 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 -comment">//.This.compile.error.
20d60 6e 65 76 65 72 20 74 72 69 67 67 65 72 73 20 62 65 63 61 75 73 65 20 79 20 69 73 20 61 20 63 6f never.triggers.because.y.is.a.co
20d80 6d 70 74 69 6d 65 20 76 61 72 69 61 62 6c 65 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c mptime.variable,</span></span>.<
20da0 73 70 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.
20dc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 64 20 73 6f 20 60 79 class="tok-comment">//.and.so.`y
20de0 20 21 3d 20 32 60 20 69 73 20 61 20 63 6f 6d 70 74 69 6d 65 20 76 61 6c 75 65 2c 20 61 6e 64 20 .!=.2`.is.a.comptime.value,.and.
20e00 74 68 69 73 20 69 66 20 69 73 20 73 74 61 74 69 63 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 64 2e this.if.is.statically.evaluated.
20e20 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
20e40 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ">........<span.class="tok-built
20e60 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 in">@compileError</span>(<span.c
20e80 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 72 6f 6e 67 20 79 20 76 61 6c lass="tok-str">&quot;wrong.y.val
20ea0 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ue&quot;</span>);</span>.<span.c
20ec0 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
20ee0 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
20f00 3e 3c 2f 66 69 67 75 72 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
20f20 61 73 73 3d 22 73 68 65 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
20f40 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">
20f60 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a 69 $.<kbd>zig.test.comptime_vars.zi
20f80 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
20fa0 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 72 73 26 71 ">1/1.test.&quot;comptime.vars&q
20fc0 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uot;....OK</span>.<span.class="l
20fe0 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>.
21000 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>..........
21020 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6e 74 65 67 65 72 73 22 3e 3c 61 ............<h2.id="Integers"><a
21040 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f .href="#toc-Integers">Integers</
21060 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 a>.<a.class="hdr".href="#Integer
21080 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e s">..</a></h2>........<h3.id="In
210a0 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e teger-Literals"><a.href="#toc-In
210c0 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 49 6e 74 65 67 65 72 20 4c 69 74 65 72 61 6c 73 teger-Literals">Integer.Literals
210e0 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 65 67 </a>.<a.class="hdr".href="#Integ
21100 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 er-Literals">..</a></h3>........
21120 3c 66 69 67 75 72 65 3e 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
21140 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 74 65 67 65 72 5f 6c ap"><cite.class="file">integer_l
21160 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><
21180 70 72 65 3e 3c 63 6f 64 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
211a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 an.class="tok-kw">const</span>.d
211c0 65 63 69 6d 61 6c 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ecimal_int.=.<span.class="tok-nu
211e0 6d 62 65 72 22 3e 39 38 32 32 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e mber">98222</span>;</span>.<span
21200 20 63 6c 61 73 73 3d 22 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
21220 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 78 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 w">const</span>.hex_int.=.<span.
21240 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 66 66 3c 2f 73 70 61 6e 3e 3b 3c class="tok-number">0xff</span>;<
21260 2f 73 70 61 6e 3e 0a 3c 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.
21280 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 class="tok-kw">const</span>.anot
212a0 68 65 72 5f 68 65 78 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e her_hex_int.=.<span.class="tok-n
212c0 75 6d 62 65 72 22 3e 30 78 46 46 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e umber">0xFF</span>;</span>.<span
212e0 20 63 6c 61 73 73 3d 22 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
21300 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 63 74 61 6c 5f 69 6e 74 20 3d 20 3c 73 70 61 w">const</span>.octal_int.=.<spa
21320 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 6f 37 35 35 3c 2f 73 70 61 6e n.class="tok-number">0o755</span
21340 3e 3b 3c 2f 73 70 61 6e 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
21360 61 6e 20 63 6c 61 73 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
21380 69 6e 61 72 79 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d inary_int.=.<span.class="tok-num
213a0 62 65 72 22 3e 30 62 31 31 31 31 30 30 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ber">0b11110000</span>;</span>.<
213c0 73 70 61 6e 20 63 6c 61 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.
213e0 63 6c 61 73 73 3d 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
21400 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 64 65 72 73 63 6f 72 65 73 20 6d 61 79 20 62 65 20 70 6c 61 mment">//.underscores.may.be.pla
21420 63 65 64 20 62 65 74 77 65 65 6e 20 74 77 6f 20 64 69 67 69 74 73 20 61 73 20 61 20 76 69 73 75 ced.between.two.digits.as.a.visu
21440 61 6c 20 73 65 70 61 72 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e al.separator</span></span>.<span
21460 20 63 6c 61 73 73 3d 22 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
21480 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6e 65 5f 62 69 6c 6c 69 6f 6e 20 3d 20 3c 73 w">const</span>.one_billion.=.<s
214a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 5f 30 30 30 5f 30 30 30 pan.class="tok-number">1_000_000
214c0 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=
214e0 22 6c 69 6e 65 22 3e 3c 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
21500 74 3c 2f 73 70 61 6e 3e 20 62 69 6e 61 72 79 5f 6d 61 73 6b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 t</span>.binary_mask.=.<span.cla
21520 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 5f 31 31 31 31 5f 31 31 31 31 3c 2f 73 ss="tok-number">0b1_1111_1111</s
21540 70 61 6e 3e 3b 3c 2f 73 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">
21560 3c 73 70 61 6e 20 63 6c 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
21580 3e 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >.permissions.=.<span.class="tok
215a0 2d 6e 75 6d 62 65 72 22 3e 30 6f 37 5f 35 5f 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a -number">0o7_5_5</span>;</span>.
215c0 3c 73 70 61 6e 20 63 6c 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="
215e0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 69 67 5f 61 64 64 72 65 73 73 tok-kw">const</span>.big_address
21600 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 46 46 .=.<span.class="tok-number">0xFF
21620 38 30 5f 30 30 30 30 5f 30 30 30 30 5f 30 30 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 80_0000_0000_0000</span>;</span>
21640 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 </code></pre></figure>..........
21660 20 20 20 20 3c 68 33 20 69 64 3d 22 52 75 6e 74 69 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 ....<h3.id="Runtime-Integer-Valu
21680 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 75 6e 74 69 6d 65 2d 49 6e 74 65 67 65 es"><a.href="#toc-Runtime-Intege
216a0 72 2d 56 61 6c 75 65 73 22 3e 52 75 6e 74 69 6d 65 20 49 6e 74 65 67 65 72 20 56 61 6c 75 65 73 r-Values">Runtime.Integer.Values
216c0 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 75 6e 74 69 </a>.<a.class="hdr".href="#Runti
216e0 6d 65 2d 49 6e 74 65 67 65 72 2d 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a me-Integer-Values">..</a></h3>..
21700 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 74 65 67 65 72 20 6c 69 74 65 72 61 6c 73 ......<p>.......Integer.literals
21720 20 68 61 76 65 20 6e 6f 20 73 69 7a 65 20 6c 69 6d 69 74 61 74 69 6f 6e 2c 20 61 6e 64 20 69 66 .have.no.size.limitation,.and.if
21740 20 61 6e 79 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 6f 63 63 75 72 73 2c 0a .any.undefined.behavior.occurs,.
21760 20 20 20 20 20 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 74 63 68 65 73 20 69 74 2e 0a 20 ......the.compiler.catches.it...
21780 20 20 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
217a0 72 2c 20 6f 6e 63 65 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 69 73 20 6e 6f 20 6c r,.once.an.integer.value.is.no.l
217c0 6f 6e 67 65 72 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 69 74 20 onger.known.at.compile-time,.it.
217e0 6d 75 73 74 20 68 61 76 65 20 61 0a 20 20 20 20 20 20 6b 6e 6f 77 6e 20 73 69 7a 65 2c 20 61 6e must.have.a.......known.size,.an
21800 64 20 69 73 20 76 75 6c 6e 65 72 61 62 6c 65 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 d.is.vulnerable.to.undefined.beh
21820 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e avior........</p>.......<figure>
21840 3c 66 69 67 63 61 70 74 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
21860 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 75 6e 74 69 6d 65 5f 76 73 5f 63 6f 6d 70 74 69 e.class="file">runtime_vs_compti
21880 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c me.zig</cite></figcaption><pre><
218a0 63 6f 64 65 3e 3c 73 70 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
218c0 61 73 73 3d 22 74 6f 6b 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
218e0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 69 76 69 64 65 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 ss="tok-fn">divide</span>(a:.<sp
21900 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-type">i32</span>,.
21920 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 b:.<span.class="tok-type">i32</s
21940 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
21960 3c 2f 73 70 61 6e 3e 20 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
21980 6e 65 22 3e 20 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
219a0 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2f 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 urn</span>.a./.b;</span>.<span.c
219c0 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
219e0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 ></figure>.......<p>.......In.th
21a00 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 76 61 6c 75 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 is.function,.values.<code><span.
21a20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 class="line">a</span></code>.and
21a40 20 3c 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
21a60 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 6b 6e 6f 77 6e 20 6f 6e 6c 79 20 61 74 20 72 75 6e 74 n></code>.are.known.only.at.runt
21a80 69 6d 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 75 73 20 74 68 69 73 20 64 69 76 69 73 69 6f ime,.......and.thus.this.divisio
21aa0 6e 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 76 75 6c 6e 65 72 61 62 6c 65 20 74 6f 20 62 6f 74 n.operation.is.vulnerable.to.bot
21ac0 68 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e 49 6e h.<a.href="#Integer-Overflow">In
21ae0 74 65 67 65 72 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 teger.Overflow</a>.and.......<a.
21b00 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f href="#Division-by-Zero">Divisio
21b20 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 n.by.Zero</a>........</p>.......
21b40 3c 70 3e 0a 20 20 20 20 20 20 4f 70 65 72 61 74 6f 72 73 20 73 75 63 68 20 61 73 20 3c 63 6f 64 <p>.......Operators.such.as.<cod
21b60 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
21b80 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ode>.and.<code><span.class="line
21ba0 22 3e 2d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 75 73 65 20 75 6e 64 65 66 69 6e 65 ">-</span></code>.cause.undefine
21bc0 64 20 62 65 68 61 76 69 6f 72 20 6f 6e 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 6f 76 65 72 d.behavior.on.......integer.over
21be0 66 6c 6f 77 2e 20 41 6c 74 65 72 6e 61 74 69 76 65 20 6f 70 65 72 61 74 6f 72 73 20 61 72 65 20 flow..Alternative.operators.are.
21c00 70 72 6f 76 69 64 65 64 20 66 6f 72 20 77 72 61 70 70 69 6e 67 20 61 6e 64 20 73 61 74 75 72 61 provided.for.wrapping.and.satura
21c20 74 69 6e 67 20 61 72 69 74 68 6d 65 74 69 63 20 6f 6e 20 61 6c 6c 20 74 61 72 67 65 74 73 2e 0a ting.arithmetic.on.all.targets..
21c40 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b ......<code><span.class="line">+
21c60 25 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 %</span></code>.and.<code><span.
21c80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 25 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 65 class="line">-%</span></code>.pe
21ca0 72 66 6f 72 6d 20 77 72 61 70 70 69 6e 67 20 61 72 69 74 68 6d 65 74 69 63 0a 20 20 20 20 20 20 rform.wrapping.arithmetic.......
21cc0 77 68 69 6c 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b while.<code><span.class="line">+
21ce0 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 |</span></code>.and.<code><span.
21d00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 65 class="line">-|</span></code>.pe
21d20 72 66 6f 72 6d 20 73 61 74 75 72 61 74 69 6e 67 20 61 72 69 74 68 6d 65 74 69 63 2e 0a 20 20 20 rform.saturating.arithmetic.....
21d40 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 73 75 70 70 ...</p>.......<p>.......Zig.supp
21d60 6f 72 74 73 20 61 72 62 69 74 72 61 72 79 20 62 69 74 2d 77 69 64 74 68 20 69 6e 74 65 67 65 72 orts.arbitrary.bit-width.integer
21d80 73 2c 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 75 73 69 6e 67 0a 20 20 20 20 20 20 61 6e 20 s,.referenced.by.using.......an.
21da0 69 64 65 6e 74 69 66 69 65 72 20 6f 66 20 3c 63 6f 64 65 3e 69 3c 2f 63 6f 64 65 3e 20 6f 72 20 identifier.of.<code>i</code>.or.
21dc0 3c 63 6f 64 65 3e 75 3c 2f 63 6f 64 65 3e 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 64 69 67 69 74 <code>u</code>.followed.by.digit
21de0 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 0a 20 s..For.example,.the.identifier..
21e00 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
21e20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 37 3c 2f 73 70 61 6e 3e 3c 2f pan.class="tok-type">i7</span></
21e40 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 6f 20 61 20 73 69 67 6e 65 64 20 span></code>.refers.to.a.signed.
21e60 37 2d 62 69 74 20 69 6e 74 65 67 65 72 2e 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 61 6c 6c 6f 77 7-bit.integer..The.maximum.allow
21e80 65 64 20 62 69 74 2d 77 69 64 74 68 20 6f 66 20 61 6e 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 ed.bit-width.of.an.......integer
21ea0 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
21ec0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 35 35 33 35 "><span.class="tok-number">65535
21ee0 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
21f00 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
21f20 3e 3c 61 20 68 72 65 66 3d 22 23 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e ><a.href="#Wrapping-Operations">
21f40 57 72 61 70 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 Wrapping.Operations</a></li>.</u
21f60 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="
21f80 46 6c 6f 61 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 6c 6f 61 74 73 22 3e 46 6c Floats"><a.href="#toc-Floats">Fl
21fa0 6f 61 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 oats</a>.<a.class="hdr".href="#F
21fc0 6c 6f 61 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 loats">..</a></h2>........<p>Zig
21fe0 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e .has.the.following.floating.poin
22000 74 20 74 79 70 65 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 t.types:</p>.......<ul>.........
22020 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"><
22040 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 36 3c 2f 73 70 61 6e 3e span.class="tok-type">f16</span>
22060 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 </span></code>.-.IEEE-754-2008.b
22080 69 6e 61 72 79 31 36 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 inary16</li>...........<li><code
220a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
220c0 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-type">f32</span></span></co
220e0 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 33 32 3c 2f 6c 69 de>.-.IEEE-754-2008.binary32</li
22100 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
22120 73 3d 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">
22140 66 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d f64</span></span></code>.-.IEEE-
22160 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 754-2008.binary64</li>..........
22180 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
221a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e pan.class="tok-type">f128</span>
221c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 </span></code>.-.IEEE-754-2008.b
221e0 69 6e 61 72 79 31 32 38 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 inary128</li>...........<li><cod
22200 65 3e 3c 73 70 61 6e 20 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
22220 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 61 6e 3e 3c ="tok-type">c_longdouble</span><
22240 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6d 61 74 63 68 65 73 20 3c 63 6f 64 65 20 63 6c /span></code>.-.matches.<code.cl
22260 61 73 73 3d 22 63 22 3e 6c 6f 6e 67 20 64 6f 75 62 6c 65 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 74 ass="c">long.double</code>.for.t
22280 68 65 20 74 61 72 67 65 74 20 43 20 41 42 49 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e he.target.C.ABI</li>.......</ul>
222a0 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e 3c .......<h3.id="Float-Literals"><
222c0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e 46 6c 6f a.href="#toc-Float-Literals">Flo
222e0 61 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 at.Literals</a>.<a.class="hdr".h
22300 72 65 66 3d 22 23 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 ref="#Float-Literals">..</a></h3
22320 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6c 6f 61 74 20 6c 69 74 65 72 61 6c >........<p>.......Float.literal
22340 73 20 68 61 76 65 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c s.have.type.<code><span.class="l
22360 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 ine"><span.class="tok-type">comp
22380 74 69 6d 65 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 time_float</span></span></code>.
223a0 77 68 69 63 68 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 0a 20 20 20 20 which.is.guaranteed.to.have.....
223c0 20 20 74 68 65 20 73 61 6d 65 20 70 72 65 63 69 73 69 6f 6e 20 61 6e 64 20 6f 70 65 72 61 74 69 ..the.same.precision.and.operati
223e0 6f 6e 73 20 6f 66 20 74 68 65 20 6c 61 72 67 65 73 74 20 6f 74 68 65 72 20 66 6c 6f 61 74 69 6e ons.of.the.largest.other.floatin
22400 67 20 70 6f 69 6e 74 20 74 79 70 65 2c 20 77 68 69 63 68 20 69 73 0a 20 20 20 20 20 20 3c 63 6f g.point.type,.which.is.......<co
22420 64 65 3e 3c 73 70 61 6e 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
22440 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c s="tok-type">f128</span></span><
22460 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>....
22480 20 20 20 46 6c 6f 61 74 20 6c 69 74 65 72 61 6c 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 ...Float.literals.<a.href="#Type
224a0 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 74 6f 20 61 6e 79 20 66 6c 6f -Coercion">coerce</a>.to.any.flo
224c0 61 74 69 6e 67 20 70 6f 69 6e 74 20 74 79 70 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 6f 20 61 ating.point.type,.......and.to.a
224e0 6e 79 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f ny.<a.href="#Integers">integer</
22500 61 3e 20 74 79 70 65 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 66 72 61 63 74 69 6f a>.type.when.there.is.no.fractio
22520 6e 61 6c 20 63 6f 6d 70 6f 6e 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 nal.component........</p>.......
22540 3c 66 69 67 75 72 65 3e 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
22560 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6c 6f 61 74 5f 6c 69 74 ap"><cite.class="file">float_lit
22580 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 erals.zig</cite></figcaption><pr
225a0 65 3e 3c 63 6f 64 65 3e 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
225c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6c 6f .class="tok-kw">const</span>.flo
225e0 61 74 69 6e 67 5f 70 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ating_point.=.<span.class="tok-n
22600 75 6d 62 65 72 22 3e 31 32 33 2e 30 45 2b 37 37 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a umber">123.0E+77</span>;</span>.
22620 3c 73 70 61 6e 20 63 6c 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="
22640 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 68 65 72 5f 66 6c 6f tok-kw">const</span>.another_flo
22660 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
22680 33 2e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 3.0</span>;</span>.<span.class="
226a0 6c 69 6e 65 22 3e 3c 73 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
226c0 3c 2f 73 70 61 6e 3e 20 79 65 74 5f 61 6e 6f 74 68 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 </span>.yet_another.=.<span.clas
226e0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 2e 30 65 2b 37 37 3c 2f 73 70 61 6e 3e 3b s="tok-number">123.0e+77</span>;
22700 3c 2f 73 70 61 6e 3e 0a 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
22720 6e 3e 0a 3c 73 70 61 6e 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
22740 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 78 5f 66 6c 6f 61 s="tok-kw">const</span>.hex_floa
22760 74 69 6e 67 5f 70 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ting_point.=.<span.class="tok-nu
22780 6d 62 65 72 22 3e 30 78 31 30 33 2e 37 30 70 2d 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e mber">0x103.70p-5</span>;</span>
227a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
227c0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 68 65 72 5f 68 65 "tok-kw">const</span>.another_he
227e0 78 5f 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 x_float.=.<span.class="tok-numbe
22800 72 22 3e 30 78 31 30 33 2e 37 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e r">0x103.70</span>;</span>.<span
22820 20 63 6c 61 73 73 3d 22 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
22840 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 65 74 5f 61 6e 6f 74 68 65 72 5f 68 65 78 5f w">const</span>.yet_another_hex_
22860 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"
22880 3e 30 78 31 30 33 2e 37 30 50 2d 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >0x103.70P-5</span>;</span>.<spa
228a0 6e 20 63 6c 61 73 73 3d 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
228c0 73 73 3d 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
228e0 6e 74 22 3e 2f 2f 20 75 6e 64 65 72 73 63 6f 72 65 73 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 nt">//.underscores.may.be.placed
22900 20 62 65 74 77 65 65 6e 20 74 77 6f 20 64 69 67 69 74 73 20 61 73 20 61 20 76 69 73 75 61 6c 20 .between.two.digits.as.a.visual.
22920 73 65 70 61 72 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c separator</span></span>.<span.cl
22940 61 73 73 3d 22 6c 69 6e 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">
22960 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 67 68 74 73 70 65 65 64 20 3d 20 3c 73 70 61 6e 20 const</span>.lightspeed.=.<span.
22980 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 39 39 5f 37 39 32 5f 34 35 38 2e 30 class="tok-number">299_792_458.0
229a0 30 30 5f 30 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 00_000</span>;</span>.<span.clas
229c0 73 3d 22 6c 69 6e 65 22 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
229e0 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 6e 6f 73 65 63 6f 6e 64 20 3d 20 3c 73 70 61 6e 20 63 6c nst</span>.nanosecond.=.<span.cl
22a00 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 30 30 5f 30 30 30 5f 30 30 31 3c 2f ass="tok-number">0.000_000_001</
22a20 73 70 61 6e 3e 3b 3c 2f 73 70 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"
22a40 3e 3c 73 70 61 6e 20 63 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
22a60 6e 3e 20 6d 6f 72 65 5f 68 65 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e n>.more_hex.=.<span.class="tok-n
22a80 75 6d 62 65 72 22 3e 30 78 31 32 33 34 5f 35 36 37 38 2e 39 41 42 43 5f 43 44 45 46 70 2d 31 30 umber">0x1234_5678.9ABC_CDEFp-10
22aa0 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
22ac0 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 6e gure>.......<p>.......There.is.n
22ae0 6f 20 73 79 6e 74 61 78 20 66 6f 72 20 4e 61 4e 2c 20 69 6e 66 69 6e 69 74 79 2c 20 6f 72 20 6e o.syntax.for.NaN,.infinity,.or.n
22b00 65 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2e 20 46 6f 72 20 74 68 65 73 65 20 73 70 65 63 egative.infinity..For.these.spec
22b20 69 61 6c 20 76 61 6c 75 65 73 2c 0a 20 20 20 20 20 20 6f 6e 65 20 6d 75 73 74 20 75 73 65 20 74 ial.values,.......one.must.use.t
22b40 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a he.standard.library:.......</p>.
22b60 20 20 20 20 20 20 3c 66 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=
22b80 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6c 6f "zig-cap"><cite.class="file">flo
22ba0 61 74 5f 73 70 65 63 69 61 6c 5f 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 at_special_values.zig</cite></fi
22bc0 67 63 61 70 74 69 6f 6e 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=
22be0 22 6c 69 6e 65 22 3e 3c 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
22c00 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-
22c20 62 75 69 6c 74 69 6e 22 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
22c40 61 73 73 3d 22 74 6f 6b 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
22c60 70 61 6e 3e 29 3b 3c 2f 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"
22c80 3e 3c 2f 73 70 61 6e 3e 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
22ca0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e n.class="tok-kw">const</span>.in
22cc0 66 20 3d 20 73 74 64 2e 6d 61 74 68 2e 69 6e 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f f.=.std.math.inf(<span.class="to
22ce0 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-type">f32</span>);</span>.<spa
22d00 6e 20 63 6c 61 73 73 3d 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-
22d20 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 65 67 61 74 69 76 65 5f 69 6e 66 20 3d 20 kw">const</span>.negative_inf.=.
22d40 2d 73 74 64 2e 6d 61 74 68 2e 69 6e 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 -std.math.inf(<span.class="tok-t
22d60 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ype">f64</span>);</span>.<span.c
22d80 6c 61 73 73 3d 22 6c 69 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"
22da0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 6e 20 3d 20 73 74 64 2e 6d 61 74 68 2e 6e 61 6e >const</span>.nan.=.std.math.nan
22dc0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 (<span.class="tok-type">f128</sp
22de0 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 an>);</span></code></pre></figur
22e00 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 6c 6f 61 74 69 6e 67 e>..............<h3.id="Floating
22e20 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 -Point-Operations"><a.href="#toc
22e40 2d 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 -Floating-Point-Operations">Floa
22e60 74 69 6e 67 20 50 6f 69 6e 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 ting.Point.Operations</a>.<a.cla
22e80 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f ss="hdr".href="#Floating-Point-O
22ea0 70 65 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 perations">..</a></h3>........<p
22ec0 3e 42 79 20 64 65 66 61 75 6c 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 61 >By.default.floating.point.opera
22ee0 74 69 6f 6e 73 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tions.use.<code><span.class="lin
22f00 65 22 3e 53 74 72 69 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2c 0a 20 20 e">Strict</span></code>.mode,...
22f20 20 20 20 20 20 20 20 20 62 75 74 20 79 6f 75 20 63 61 6e 20 73 77 69 74 63 68 20 74 6f 20 3c 63 ........but.you.can.switch.to.<c
22f40 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4f 70 74 69 6d 69 7a 65 64 ode><span.class="line">Optimized
22f60 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 20 6f 6e 20 61 20 70 65 72 2d 62 6c 6f </span></code>.mode.on.a.per-blo
22f80 63 6b 20 62 61 73 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 ck.basis:</p>.......<figure><fig
22fa0 63 61 70 74 69 6f 6e 20 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
22fc0 61 73 73 3d 22 66 69 6c 65 22 3e 66 6f 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 ass="file">foo.zig</cite></figca
22fe0 70 74 69 6f 6e 3e 3c 70 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
23000 6e 65 22 3e 3c 73 70 61 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</
23020 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
23040 6c 74 69 6e 22 3e 40 69 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
23060 3d 22 74 6f 6b 2d 73 74 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
23080 3e 29 3b 3c 2f 73 70 61 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
230a0 70 61 6e 20 63 6c 61 73 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>.
230c0 62 69 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e big.=.<span.class="tok-builtin">
230e0 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 @as</span>(<span.class="tok-type
23100 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">f64</span>,.<span.class="tok-n
23120 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 umber">1</span>.&lt;&lt;.<span.c
23140 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 lass="tok-number">40</span>);</s
23160 70 61 6e 3e 0a 3c 73 70 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>.
23180 3c 73 70 61 6e 20 63 6c 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="
231a0 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 tok-kw">export</span>.<span.clas
231c0 73 3d 22 74 6f 6b 2d 6b 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
231e0 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f 73 74 72 69 63 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c ="tok-fn">foo_strict</span>(x:.<
23200 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>
23220 29 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
23240 61 6e 3e 20 7b 3c 2f 73 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">
23260 20 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<
23280 2f 73 70 61 6e 3e 20 78 20 2b 20 62 69 67 20 2d 20 62 69 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 /span>.x.+.big.-.big;</span>.<sp
232a0 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
232c0 6c 61 73 73 3d 22 6c 69 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=
232e0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f "line"><span.class="tok-kw">expo
23300 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 rt</span>.<span.class="tok-kw">f
23320 6e 3c 2f 73 70 61 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
23340 6f 5f 6f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 o_optimized</span>(x:.<span.clas
23360 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 s="tok-type">f64</span>).<span.c
23380 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 lass="tok-type">f64</span>.{</sp
233a0 61 6e 3e 0a 3c 73 70 61 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
233c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f .class="tok-builtin">@setFloatMo
233e0 64 65 3c 2f 73 70 61 6e 3e 28 2e 4f 70 74 69 6d 69 7a 65 64 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 de</span>(.Optimized);</span>.<s
23400 70 61 6e 20 63 6c 61 73 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
23420 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 20 2b 20 62 69 67 20 ="tok-kw">return</span>.x.+.big.
23440 2d 20 62 69 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 -.big;</span>.<span.class="line"
23460 3e 7d 3c 2f 73 70 61 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><
23480 66 69 67 75 72 65 3e 3c 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-
234a0 63 61 70 22 3e 53 68 65 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
234c0 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.
234e0 62 75 69 6c 64 2d 6f 62 6a 20 66 6f 6f 2e 7a 69 67 20 2d 4f 20 52 65 6c 65 61 73 65 46 61 73 74 build-obj.foo.zig.-O.ReleaseFast
23500 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 </kbd></span>.</samp></pre></fig
23520 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 74 68 69 73 20 74 65 73 74 20 77 65 20 68 ure>.......<p>For.this.test.we.h
23540 61 76 65 20 74 6f 20 73 65 70 61 72 61 74 65 20 63 6f 64 65 20 69 6e 74 6f 20 74 77 6f 20 6f 62 ave.to.separate.code.into.two.ob
23560 6a 65 63 74 20 66 69 6c 65 73 20 2d 0a 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 ject.files.-.......otherwise.the
23580 20 6f 70 74 69 6d 69 7a 65 72 20 66 69 67 75 72 65 73 20 6f 75 74 20 61 6c 6c 20 74 68 65 20 76 .optimizer.figures.out.all.the.v
235a0 61 6c 75 65 73 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 0a 20 20 20 20 20 20 77 68 69 alues.at.compile-time,.......whi
235c0 63 68 20 6f 70 65 72 61 74 65 73 20 69 6e 20 73 74 72 69 63 74 20 6d 6f 64 65 2e 3c 2f 70 3e 0a ch.operates.in.strict.mode.</p>.
235e0 20 20 20 20 20 20 3c 66 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=
23600 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6c 6f "zig-cap"><cite.class="file">flo
23620 61 74 5f 6d 6f 64 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c at_mode.zig</cite></figcaption><
23640 70 72 65 3e 3c 63 6f 64 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
23660 61 6e 20 63 6c 61 73 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
23680 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"
236a0 3e 40 69 6d 70 6f 72 74 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
236c0 2d 73 74 72 22 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
236e0 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
23700 69 6e 65 22 3e 3c 2f 73 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">
23720 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
23740 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
23760 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f 73 74 72 69 63 >.<span.class="tok-fn">foo_stric
23780 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>(x:.<span.class="tok-typ
237a0 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e">f64</span>).<span.class="tok-
237c0 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 type">f64</span>;</span>.<span.c
237e0 6c 61 73 73 3d 22 6c 69 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"
23800 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >extern</span>.<span.class="tok-
23820 6b 77 22 3e 66 6e 3c 2f 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
23840 6e 22 3e 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e n">foo_optimized</span>(x:.<span
23860 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 .class="tok-type">f64</span>).<s
23880 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3b pan.class="tok-type">f64</span>;
238a0 3c 2f 73 70 61 6e 3e 0a 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
238c0 6e 3e 0a 3c 73 70 61 6e 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
238e0 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
23900 73 3d 22 74 6f 6b 2d 6b 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
23920 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
23940 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
23960 61 6e 3e 0a 3c 73 70 61 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
23980 20 63 6c 61 73 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.=
239a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 30 31 3c .<span.class="tok-number">0.001<
239c0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
239e0 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ">....print(<span.class="tok-str
23a00 22 3e 26 71 75 6f 74 3b 6f 70 74 69 6d 69 7a 65 64 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f ">&quot;optimized.=.{}\n&quot;</
23a20 73 70 61 6e 3e 2c 20 2e 7b 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 28 78 29 7d 29 3b 3c 2f 73 70 span>,..{foo_optimized(x)});</sp
23a40 61 6e 3e 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
23a60 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 72 (<span.class="tok-str">&quot;str
23a80 69 63 74 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 6f 6f 5f 73 ict.=.{}\n&quot;</span>,..{foo_s
23aa0 74 72 69 63 74 28 78 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 trict(x)});</span>.<span.class="
23ac0 6c 69 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
23ae0 75 72 65 3e 3c 66 69 67 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
23b00 68 65 6c 6c 2d 63 61 70 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
23b20 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
23b40 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 66 6c 6f 61 74 5f 6d 6f 64 65 2e 7a 69 67 20 66 6f >zig.build-exe.float_mode.zig.fo
23b60 6f 2e 6f 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 o.o</kbd></span>.<span.class="li
23b80 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ne"></span>.<span.class="line">$
23ba0 20 3c 6b 62 64 3e 2e 2f 66 6c 6f 61 74 5f 6d 6f 64 65 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a .<kbd>./float_mode</kbd></span>.
23bc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6d 69 7a 65 64 20 3d 20 31 <span.class="line">optimized.=.1
23be0 2e 30 65 2d 30 33 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .0e-03</span>.<span.class="line"
23c00 3e 73 74 72 69 63 74 20 3d 20 39 2e 37 36 35 36 32 35 65 2d 30 34 3c 2f 73 70 61 6e 3e 0a 3c 2f >strict.=.9.765625e-04</span>.</
23c20 73 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
23c40 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 65 e.also:</p><ul>.<li><a.href="#se
23c60 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
23c80 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 i>.<li><a.href="#Division-by-Zer
23ca0 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 o">Division.by.Zero</a></li>.</u
23cc0 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="
23ce0 4f 70 65 72 61 74 6f 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 70 65 72 61 74 6f Operators"><a.href="#toc-Operato
23d00 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 rs">Operators</a>.<a.class="hdr"
23d20 20 68 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a .href="#Operators">..</a></h2>..
23d40 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 6f 70 65 72 ......<p>.......There.is.no.oper
23d60 61 74 6f 72 20 6f 76 65 72 6c 6f 61 64 69 6e 67 2e 20 57 68 65 6e 20 79 6f 75 20 73 65 65 20 61 ator.overloading..When.you.see.a
23d80 6e 20 6f 70 65 72 61 74 6f 72 20 69 6e 20 5a 69 67 2c 20 79 6f 75 20 6b 6e 6f 77 20 74 68 61 74 n.operator.in.Zig,.you.know.that
23da0 0a 20 20 20 20 20 20 69 74 20 69 73 20 64 6f 69 6e 67 20 73 6f 6d 65 74 68 69 6e 67 20 66 72 6f .......it.is.doing.something.fro
23dc0 6d 20 74 68 69 73 20 74 61 62 6c 65 2c 20 61 6e 64 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 2e 0a m.this.table,.and.nothing.else..
23de0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 61 62 6c 65 2d 6f ......</p>.......<h3.id="Table-o
23e00 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 61 62 6c 65 f-Operators"><a.href="#toc-Table
23e20 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e 54 61 62 6c 65 20 6f 66 20 4f 70 65 72 61 74 6f 72 -of-Operators">Table.of.Operator
23e40 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 61 62 6c s</a>.<a.class="hdr".href="#Tabl
23e60 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 e-of-Operators">..</a></h3>.....
23e80 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">..
23ea0 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 63 61 70 74 69 6f 6e 3e 54 61 .....<table>.........<caption>Ta
23ec0 62 6c 65 20 6f 66 20 4f 70 65 72 61 74 6f 72 73 3c 2f 63 61 70 74 69 6f 6e 3e 0a 20 20 20 20 20 ble.of.Operators</caption>......
23ee0 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 ...<thead>.........<tr>.........
23f00 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 53 79 6e 74 61 78 3c 2f 74 68 3e 0a 20 20 ..<th.scope="col">Syntax</th>...
23f20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 52 65 6c 65 76 61 6e 74 ........<th.scope="col">Relevant
23f40 20 54 79 70 65 73 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d .Types</th>...........<th.scope=
23f60 22 63 6f 6c 22 3e 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 "col">Description</th>..........
23f80 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 45 78 61 6d 70 6c 65 3c 2f 74 68 3e 0a 20 20 .<th.scope="col">Example</th>...
23fa0 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 ......</tr>.........</thead>....
23fc0 20 20 20 20 20 3c 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 .....<tbody>.........<tr>.......
23fe0 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c ....<th.scope="row"><pre><code><
24000 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 20 62 3c 2f 73 70 61 6e 3e 0a 3c span.class="line">a.+.b</span>.<
24020 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 3d 20 62 3c 2f 73 70 61 6e 3e 3c span.class="line">a.+=.b</span><
24040 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e /code></pre></th>...........<td>
24060 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>...............
24080 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 <li><a.href="#Integers">Integers
240a0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 </a></li>...............<li><a.h
240c0 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 ref="#Floats">Floats</a></li>...
240e0 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>.
24100 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 41 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 ..........<td>Addition..........
24120 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 ....<ul>...............<li>Can.c
24140 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e ause.<a.href="#Default-Operation
24160 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c s">overflow</a>.for.integers.</l
24180 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 i>...............<li>Invokes.<a.
241a0 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
241c0 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 r.Type.Resolution</a>.for.the.op
241e0 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 erands.</li>...............<li>S
24200 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f ee.also.<a.href="#addWithOverflo
24220 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 w">@addWithOverflow</a>.</li>...
24240 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>.
24260 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e ..........<td>.............<pre>
24280 3c 63 6f 64 65 3e 3c 73 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
242a0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 lass="tok-number">2</span>.+.<sp
242c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d an.class="tok-number">5</span>.=
242e0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 =.<span.class="tok-number">7</sp
24300 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>.........
24320 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 ..</td>.........</tr>.........<t
24340 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 r>...........<th.scope="row"><pr
24360 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 25 20 e><code><span.class="line">a.+%.
24380 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 25 b</span>.<span.class="line">a.+%
243a0 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>....
243c0 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>....
243e0 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
24400 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>............
24420 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>..........
24440 20 3c 74 64 3e 57 72 61 70 70 69 6e 67 20 41 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 .<td>Wrapping.Addition..........
24460 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 47 75 61 72 61 ....<ul>...............<li>Guara
24480 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 74 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 nteed.to.have.twos-complement.wr
244a0 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 apping.behavior.</li>...........
244c0 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 ....<li>Invokes.<a.href="#Peer-T
244e0 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 ype-Resolution">Peer.Type.Resolu
24500 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a tion</a>.for.the.operands.</li>.
24520 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
24540 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 ef="#addWithOverflow">@addWithOv
24560 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 erflow</a>.</li>.............</u
24580 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
245a0 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
245c0 6c 61 73 73 3d 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
245e0 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
24600 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 k-type">u32</span>,.std.math.max
24620 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f Int(<span.class="tok-type">u32</
24640 73 70 61 6e 3e 29 29 20 2b 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 span>)).+%.<span.class="tok-numb
24660 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
24680 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c -number">0</span></span></code><
246a0 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>.........</
246c0 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
246e0 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
24700 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">a.+|.b</span>.<span.cla
24720 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 7c 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ss="line">a.+|=.b</span></code><
24740 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>.......
24760 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.
24780 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c href="#Integers">Integers</a></l
247a0 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>...........<
247c0 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 61 74 75 72 61 74 69 6e 67 20 41 64 /td>...........<td>Saturating.Ad
247e0 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 dition..............<ul>........
24800 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 .......<li>Invokes.<a.href="#Pee
24820 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 r-Type-Resolution">Peer.Type.Res
24840 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c olution</a>.for.the.operands.</l
24860 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>...........<
24880 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>.............
248a0 3c 70 72 65 3e 3c 63 6f 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
248c0 70 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
248e0 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 n>(<span.class="tok-type">u32</s
24900 70 61 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 pan>,.std.math.maxInt(<span.clas
24920 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 20 2b 7c 20 3c 73 70 s="tok-type">u32</span>)).+|.<sp
24940 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d an.class="tok-number">1</span>.=
24960 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c =.<span.class="tok-builtin">@as<
24980 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 /span>(<span.class="tok-type">u3
249a0 32 3c 2f 73 70 61 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 2</span>,.std.math.maxInt(<span.
249c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 3c 2f 73 class="tok-type">u32</span>))</s
249e0 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
24a00 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>....
24a20 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
24a40 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 20 62 3c 2f 73 70 61 6e e><span.class="line">a.-.b</span
24a60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 3d 20 62 3c 2f 73 70 61 >.<span.class="line">a.-=.b</spa
24a80 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c n></code></pre></th>...........<
24aa0 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 td>.............<ul>............
24ac0 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 ...<li><a.href="#Integers">Integ
24ae0 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c ers</a></li>...............<li><
24b00 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e a.href="#Floats">Floats</a></li>
24b20 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
24b40 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 75 62 74 72 61 63 74 69 6f 6e 2e 0a 20 20 d>...........<td>Subtraction....
24b60 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
24b80 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 >Can.cause.<a.href="#Default-Ope
24ba0 72 61 74 69 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 rations">overflow</a>.for.intege
24bc0 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b rs.</li>...............<li>Invok
24be0 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f es.<a.href="#Peer-Type-Resolutio
24c00 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 n">Peer.Type.Resolution</a>.for.
24c20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 the.operands.</li>..............
24c40 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f .<li>See.also.<a.href="#subWithO
24c60 76 65 72 66 6c 6f 77 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f verflow">@subWithOverflow</a>.</
24c80 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>...........
24ca0 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>............
24cc0 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"><
24ce0 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>
24d00 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 .-.<span.class="tok-number">5</s
24d20 70 61 6e 3e 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 pan>.==.-<span.class="tok-number
24d40 22 3e 33 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 ">3</span></span></code></pre>..
24d60 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>....
24d80 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
24da0 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ow"><pre><code><span.class="line
24dc0 22 3e 61 20 2d 25 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ">a.-%.b</span>.<span.class="lin
24de0 65 22 3e 61 20 2d 25 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f e">a.-%=.b</span></code></pre></
24e00 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>.............<
24e20 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="#
24e40 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>.....
24e60 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>...
24e80 20 20 20 20 20 20 20 20 3c 74 64 3e 57 72 61 70 70 69 6e 67 20 53 75 62 74 72 61 63 74 69 6f 6e ........<td>Wrapping.Subtraction
24ea0 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>..............
24ec0 20 3c 6c 69 3e 47 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 74 77 6f 73 2d 63 6f 6d .<li>Guaranteed.to.have.twos-com
24ee0 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a plement.wrapping.behavior.</li>.
24f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 ..............<li>Invokes.<a.hre
24f20 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 f="#Peer-Type-Resolution">Peer.T
24f40 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 ype.Resolution</a>.for.the.opera
24f60 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 nds.</li>...............<li>See.
24f80 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e also.<a.href="#subWithOverflow">
24fa0 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 @subWithOverflow</a>.</li>......
24fc0 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>....
24fe0 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
25000 64 65 3e 3c 73 70 61 6e 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
25020 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e s="tok-builtin">@as</span>(<span
25040 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 .class="tok-type">u32</span>,.<s
25060 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>)
25080 20 2d 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f .-%.<span.class="tok-number">1</
250a0 73 70 61 6e 3e 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 span>.==.std.math.maxInt(<span.c
250c0 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
250e0 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>.
25100 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>......
25120 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>
25140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 7c 20 62 3c 2f 73 70 61 6e 3e <span.class="line">a.-|.b</span>
25160 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2d 7c 3d 20 62 3c 2f 73 70 61 .<span.class="line">a.-|=.b</spa
25180 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c n></code></pre></th>...........<
251a0 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 td>.............<ul>............
251c0 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 ...<li><a.href="#Integers">Integ
251e0 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ers</a></li>.............</ul>..
25200 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 61 74 .........</td>...........<td>Sat
25220 75 72 61 74 69 6e 67 20 53 75 62 74 72 61 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 urating.Subtraction.............
25240 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 .<ul>...............<li>Invokes.
25260 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">
25280 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 Peer.Type.Resolution</a>.for.the
252a0 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c .operands.</li>.............</ul
252c0 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>
252e0 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
25300 61 73 73 3d 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
25320 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
25340 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="
25360 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 2d 7c 20 3c 73 70 61 6e 20 63 tok-number">0</span>).-|.<span.c
25380 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 lass="tok-number">1</span>.==.<s
253a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c pan.class="tok-number">0</span><
253c0 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>...........</
253e0 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>..
25400 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
25420 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 61 3c 2f 73 70 61 6e 3e ode><span.class="line">-a</span>
25440 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
25460 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>..............
25480 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
254a0 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.
254c0 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>..
254e0 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>
25500 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 67 61 ...........<td>.............Nega
25520 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>..........
25540 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 .....<li>Can.cause.<a.href="#Def
25560 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f ault-Operations">overflow</a>.fo
25580 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 r.integers.</li>.............</u
255a0 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
255c0 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
255e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 lass="line">-<span.class="tok-nu
25600 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mber">1</span>.==.<span.class="t
25620 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 ok-number">0</span>.-.<span.clas
25640 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-number">1</span></span></
25660 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>.....
25680 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>..........
256a0 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
256c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 25 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e n.class="line">-%a</span></code>
256e0 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>......
25700 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
25720 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></
25740 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>...........
25760 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>............
25780 20 57 72 61 70 70 69 6e 67 20 4e 65 67 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .Wrapping.Negation..............
257a0 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 47 75 61 72 61 6e 74 65 65 <ul>...............<li>Guarantee
257c0 64 20 74 6f 20 68 61 76 65 20 74 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 d.to.have.twos-complement.wrappi
257e0 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f ng.behavior.</li>.............</
25800 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
25820 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.
25840 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 25 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d class="line">-%<span.class="tok-
25860 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d builtin">@as</span>(<span.class=
25880 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 73 74 64 2e 6d 61 74 68 2e "tok-type">i32</span>,.std.math.
258a0 6d 69 6e 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 minInt(<span.class="tok-type">i3
258c0 32 3c 2f 73 70 61 6e 3e 29 29 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 3c 73 2</span>)).==.std.math.minInt(<s
258e0 70 61 6e 20 63 6c 61 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>)
25900 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>...........<
25920 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>.
25940 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><
25960 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 20 62 3c 2f 73 code><span.class="line">a.*.b</s
25980 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 3d 20 62 3c 2f pan>.<span.class="line">a.*=.b</
259a0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 span></code></pre></th>.........
259c0 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 ..<td>.............<ul>.........
259e0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e ......<li><a.href="#Integers">In
25a00 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c tegers</a></li>...............<l
25a20 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></
25a40 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>...........
25a60 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4d 75 6c 74 69 70 6c 69 63 61 74 69 </td>...........<td>Multiplicati
25a80 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>............
25aa0 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
25ac0 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.
25ae0 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 integers.</li>...............<li
25b00 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 >Invokes.<a.href="#Peer-Type-Res
25b20 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
25b40 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 >.for.the.operands.</li>........
25b60 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 6d 75 .......<li>See.also.<a.href="#mu
25b80 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c lWithOverflow">@mulWithOverflow<
25ba0 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 /a>.</li>.............</ul>.....
25bc0 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>......
25be0 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
25c00 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c ine"><span.class="tok-number">2<
25c20 2f 73 70 61 6e 3e 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 /span>.*.<span.class="tok-number
25c40 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">5</span>.==.<span.class="tok-n
25c60 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f umber">10</span></span></code></
25c80 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
25ca0 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
25cc0 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
25ce0 3d 22 6c 69 6e 65 22 3e 61 20 2a 25 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ="line">a.*%.b</span>.<span.clas
25d00 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 25 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f s="line">a.*%=.b</span></code></
25d20 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>........
25d40 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
25d60 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
25d80 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>...........</
25da0 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 57 72 61 70 70 69 6e 67 20 4d 75 6c 74 69 td>...........<td>Wrapping.Multi
25dc0 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 plication..............<ul>.....
25de0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 47 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 ..........<li>Guaranteed.to.have
25e00 20 74 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 61 76 69 .twos-complement.wrapping.behavi
25e20 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b or.</li>...............<li>Invok
25e40 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f es.<a.href="#Peer-Type-Resolutio
25e60 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 n">Peer.Type.Resolution</a>.for.
25e80 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 the.operands.</li>..............
25ea0 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 6d 75 6c 57 69 74 68 4f .<li>See.also.<a.href="#mulWithO
25ec0 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f verflow">@mulWithOverflow</a>.</
25ee0 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>...........
25f00 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>............
25f20 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"><
25f40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 span.class="tok-builtin">@as</sp
25f60 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 an>(<span.class="tok-type">u8</s
25f80 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 pan>,.<span.class="tok-number">2
25fa0 30 30 3c 2f 73 70 61 6e 3e 29 20 2a 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 00</span>).*%.<span.class="tok-n
25fc0 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 umber">2</span>.==.<span.class="
25fe0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 34 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 tok-number">144</span></span></c
26000 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>......
26020 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>...........
26040 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
26060 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .class="line">a.*|.b</span>.<spa
26080 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 7c 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 n.class="line">a.*|=.b</span></c
260a0 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>..
260c0 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
260e0 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</
26100 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>.......
26120 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 53 61 74 75 72 61 74 69 ....</td>...........<td>Saturati
26140 6e 67 20 4d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ng.Multiplication..............<
26160 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
26180 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
261a0 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
261c0 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>.
261e0 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>..
26200 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
26220 73 3d 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
26240 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
26260 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ype">u8</span>,.<span.class="tok
26280 2d 6e 75 6d 62 65 72 22 3e 32 30 30 3c 2f 73 70 61 6e 3e 29 20 2a 7c 20 3c 73 70 61 6e 20 63 6c -number">200</span>).*|.<span.cl
262a0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 ass="tok-number">2</span>.==.<sp
262c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e an.class="tok-number">255</span>
262e0 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>...........<
26300 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>.
26320 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><
26340 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2f 20 62 3c 2f 73 code><span.class="line">a./.b</s
26360 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2f 3d 20 62 3c 2f pan>.<span.class="line">a./=.b</
26380 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 span></code></pre></th>.........
263a0 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 ..<td>.............<ul>.........
263c0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e ......<li><a.href="#Integers">In
263e0 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c tegers</a></li>...............<l
26400 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></
26420 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>...........
26440 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 44 69 76 69 73 69 6f 6e 2e 0a 20 20 </td>...........<td>Division....
26460 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
26480 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 >Can.cause.<a.href="#Default-Ope
264a0 72 61 74 69 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 rations">overflow</a>.for.intege
264c0 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 rs.</li>...............<li>Can.c
264e0 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 ause.<a.href="#Division-by-Zero"
26500 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 >Division.by.Zero</a>.for.intege
26520 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 rs.</li>...............<li>Can.c
26540 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 ause.<a.href="#Division-by-Zero"
26560 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 66 6c 6f 61 74 73 >Division.by.Zero</a>.for.floats
26580 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 .in.<a.href="#Floating-Point-Ope
265a0 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 4d 6f 64 65 2e 4f 70 74 69 6d 69 7a 65 64 20 4d 6f 64 rations">FloatMode.Optimized.Mod
265c0 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 69 e</a>.</li>...............<li>Si
265e0 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 70 65 72 61 6e 64 73 20 6d 75 73 74 20 62 65 20 63 6f gned.integer.operands.must.be.co
26600 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 61 6e 64 20 70 6f 73 69 74 69 76 65 2e 20 49 6e 20 6f 74 mptime-known.and.positive..In.ot
26620 68 65 72 20 63 61 73 65 73 2c 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c her.cases,.use.................<
26640 61 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e a.href="#divTrunc">@divTrunc</a>
26660 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 ,.................<a.href="#divF
26680 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 loor">@divFloor</a>,.or.........
266a0 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 ........<a.href="#divExact">@div
266c0 45 78 61 63 74 3c 2f 61 3e 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 Exact</a>.instead...............
266e0 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 .</li>...............<li>Invokes
26700 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"
26720 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
26740 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 e.operands.</li>.............</u
26760 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
26780 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
267a0 6c 61 73 73 3d 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
267c0 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 2f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ber">10</span>./.<span.class="to
267e0 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 k-number">5</span>.==.<span.clas
26800 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-number">2</span></span></
26820 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>.....
26840 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>..........
26860 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
26880 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 25 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">a.%.b</span>.<spa
268a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 25 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f n.class="line">a.%=.b</span></co
268c0 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>...
268e0 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
26900 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 ><a.href="#Integers">Integers</a
26920 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 ></li>...............<li><a.href
26940 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ="#Floats">Floats</a></li>......
26960 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>....
26980 20 20 20 20 20 20 20 3c 74 64 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 2e 0a 20 .......<td>Remainder.Division...
269a0 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
269c0 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 i>Can.cause.<a.href="#Division-b
269e0 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 y-Zero">Division.by.Zero</a>.for
26a00 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c .integers.</li>...............<l
26a20 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 i>Can.cause.<a.href="#Division-b
26a40 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 y-Zero">Division.by.Zero</a>.for
26a60 20 66 6c 6f 61 74 73 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f .floats.in.<a.href="#Floating-Po
26a80 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 4d 6f 64 65 2e 4f 70 74 69 6d 69 int-Operations">FloatMode.Optimi
26aa0 7a 65 64 20 4d 6f 64 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 zed.Mode</a>.</li>..............
26ac0 20 3c 6c 69 3e 53 69 67 6e 65 64 20 6f 72 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6f 70 .<li>Signed.or.floating-point.op
26ae0 65 72 61 6e 64 73 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 61 6e erands.must.be.comptime-known.an
26b00 64 20 70 6f 73 69 74 69 76 65 2e 20 49 6e 20 6f 74 68 65 72 20 63 61 73 65 73 2c 20 75 73 65 0a d.positive..In.other.cases,.use.
26b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 72 65 6d 22 3e 40 ................<a.href="#rem">@
26b40 72 65 6d 3c 2f 61 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 rem</a>.or.................<a.hr
26b60 65 66 3d 22 23 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 20 69 6e 73 74 65 61 64 2e 0a 20 20 20 20 ef="#mod">@mod</a>.instead......
26b80 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c ..........</li>...............<l
26ba0 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 i>Invokes.<a.href="#Peer-Type-Re
26bc0 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f solution">Peer.Type.Resolution</
26be0 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 a>.for.the.operands.</li>.......
26c00 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>.....
26c20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 ......<td>.............<pre><cod
26c40 65 3e 3c 73 70 61 6e 20 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
26c60 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 25 20 3c 73 70 61 6e 20 ="tok-number">10</span>.%.<span.
26c80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c class="tok-number">3</span>.==.<
26ca0 73 70 61 6e 20 63 6c 61 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>
26cc0 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>...........<
26ce0 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>.
26d00 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><
26d20 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c 74 3b 26 6c code><span.class="line">a.&lt;&l
26d40 74 3b 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 t;.b</span>.<span.class="line">a
26d60 20 26 6c 74 3b 26 6c 74 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e .&lt;&lt;=.b</span></code></pre>
26d80 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>............
26da0 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=
26dc0 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>...
26de0 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>.
26e00 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 20 53 68 69 66 74 20 4c 65 66 74 2e 0a 20 20 ..........<td>Bit.Shift.Left....
26e20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c ..........<ul>.................<
26e40 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 li><code><span.class="line">b</s
26e60 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f pan></code>.must.be.<a.href="#co
26e80 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 61 3e 20 6f 72 20 68 61 mptime">comptime-known</a>.or.ha
26ea0 76 65 20 61 20 74 79 70 65 20 77 69 74 68 20 6c 6f 67 32 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 ve.a.type.with.log2.number.of.bi
26ec0 74 73 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 ts.as.<code><span.class="line">a
26ee0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 </span></code>.</li>............
26f00 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 ...<li>See.also.<a.href="#shlExa
26f20 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ct">@shlExact</a>.</li>.........
26f40 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c ......<li>See.also.<a.href="#shl
26f60 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f WithOverflow">@shlWithOverflow</
26f80 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 a>.</li>.............</ul>......
26fa0 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 .....</td>...........<td>.......
26fc0 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
26fe0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f ne"><span.class="tok-number">1</
27000 73 70 61 6e 3e 20 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d span>.&lt;&lt;.<span.class="tok-
27020 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d number">8</span>.==.<span.class=
27040 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f "tok-number">256</span></span></
27060 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>.....
27080 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>..........
270a0 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
270c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c 74 3b 26 6c 74 3b 7c 20 62 3c 2f 73 70 n.class="line">a.&lt;&lt;|.b</sp
270e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 6c 74 3b 26 6c 74 an>.<span.class="line">a.&lt;&lt
27100 3b 7c 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 ;|=.b</span></code></pre></th>..
27120 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>..
27140 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
27160 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>..........
27180 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>........
271a0 20 20 20 3c 74 64 3e 53 61 74 75 72 61 74 69 6e 67 20 42 69 74 20 53 68 69 66 74 20 4c 65 66 74 ...<td>Saturating.Bit.Shift.Left
271c0 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>..............
271e0 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
27200 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>...........
27220 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
27240 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>
27260 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>........
27280 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>.........
272a0 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
272c0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c "><span.class="tok-builtin">@as<
272e0 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 /span>(<span.class="tok-type">u8
27300 3c 2f 73 70 61 6e 3e 2c 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
27320 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 26 6c 74 3b 26 6c 74 3b 7c 20 3c 73 70 61 6e 20 63 6c 61 73 ">1</span>).&lt;&lt;|.<span.clas
27340 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e s="tok-number">8</span>.==.<span
27360 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></
27380 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
273a0 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>...
273c0 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
273e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 67 74 3b 26 67 74 3b de><span.class="line">a.&gt;&gt;
27400 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.&
27420 67 74 3b 26 67 74 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f gt;&gt;=.b</span></code></pre></
27440 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>.............<
27460 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="#
27480 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>.....
274a0 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>...
274c0 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 20 53 68 69 66 74 20 52 69 67 68 74 2e 0a 20 20 20 ........<td>Bit.Shift.Right.....
274e0 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
27500 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 i><code><span.class="line">b</sp
27520 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d an></code>.must.be.<a.href="#com
27540 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 61 3e 20 6f 72 20 68 61 76 ptime">comptime-known</a>.or.hav
27560 65 20 61 20 74 79 70 65 20 77 69 74 68 20 6c 6f 67 32 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 e.a.type.with.log2.number.of.bit
27580 73 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c s.as.<code><span.class="line">a<
275a0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 /span></code>.</li>.............
275c0 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 ..<li>See.also.<a.href="#shrExac
275e0 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 t">@shrExact</a>.</li>..........
27600 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>........
27620 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><
27640 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
27660 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 26 67 74 3b 26 67 74 3b 20 3c 73 ok-number">10</span>.&gt;&gt;.<s
27680 70 61 6e 20 63 6c 61 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>.
276a0 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 ==.<span.class="tok-number">5</s
276c0 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>........
276e0 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>.........<
27700 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
27720 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 61 re><code><span.class="line">a.&a
27740 6d 70 3b 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e mp;.b</span>.<span.class="line">
27760 61 20 26 61 6d 70 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f a.&amp;=.b</span></code></pre></
27780 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>.............<
277a0 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="#
277c0 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>.....
277e0 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>...
27800 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 77 69 73 65 20 41 4e 44 2e 0a 20 20 20 20 20 20 20 ........<td>Bitwise.AND.........
27820 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f .....<ul>...............<li>Invo
27840 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 kes.<a.href="#Peer-Type-Resoluti
27860 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 on">Peer.Type.Resolution</a>.for
27880 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .the.operands.</li>.............
278a0 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>...........
278c0 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 <td>.............<pre><code><spa
278e0 6e 20 63 6c 61 73 73 3d 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-
27900 6e 75 6d 62 65 72 22 3e 30 62 30 31 31 3c 2f 73 70 61 6e 3e 20 26 61 6d 70 3b 20 3c 73 70 61 6e number">0b011</span>.&amp;.<span
27920 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 3c 2f 73 70 61 6e 3e .class="tok-number">0b101</span>
27940 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 .==.<span.class="tok-number">0b0
27960 30 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 01</span></span></code></pre>...
27980 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>.....
279a0 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
279c0 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 w"><pre><code><span.class="line"
279e0 3e 61 20 7c 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >a.|.b</span>.<span.class="line"
27a00 3e 61 20 7c 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e >a.|=.b</span></code></pre></th>
27a20 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e ...........<td>.............<ul>
27a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 ...............<li><a.href="#Int
27a60 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 egers">Integers</a></li>........
27a80 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>......
27aa0 20 20 20 20 20 3c 74 64 3e 42 69 74 77 69 73 65 20 4f 52 2e 0a 20 20 20 20 20 20 20 20 20 20 20 .....<td>Bitwise.OR.............
27ac0 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 .<ul>...............<li>Invokes.
27ae0 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">
27b00 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 Peer.Type.Resolution</a>.for.the
27b20 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c .operands.</li>.............</ul
27b40 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>
27b60 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
27b80 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ass="line"><span.class="tok-numb
27ba0 65 72 22 3e 30 62 30 31 30 3c 2f 73 70 61 6e 3e 20 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 er">0b010</span>.|.<span.class="
27bc0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 30 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 tok-number">0b100</span>.==.<spa
27be0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 31 30 3c 2f 73 70 61 6e n.class="tok-number">0b110</span
27c00 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>...........
27c20 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>
27c40 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>
27c60 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 5e 20 62 3c 2f <code><span.class="line">a.^.b</
27c80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 5e 3d 20 62 3c span>.<span.class="line">a.^=.b<
27ca0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 /span></code></pre></th>........
27cc0 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 ...<td>.............<ul>........
27ce0 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 .......<li><a.href="#Integers">I
27d00 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 ntegers</a></li>.............</u
27d20 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
27d40 3e 42 69 74 77 69 73 65 20 58 4f 52 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 >Bitwise.XOR..............<ul>..
27d60 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 .............<li>Invokes.<a.href
27d80 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 ="#Peer-Type-Resolution">Peer.Ty
27da0 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e pe.Resolution</a>.for.the.operan
27dc0 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 ds.</li>.............</ul>......
27de0 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 .....</td>...........<td>.......
27e00 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
27e20 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 ne"><span.class="tok-number">0b0
27e40 31 31 3c 2f 73 70 61 6e 3e 20 5e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 11</span>.^.<span.class="tok-num
27e60 62 65 72 22 3e 30 62 31 30 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ber">0b101</span>.==.<span.class
27e80 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 31 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ="tok-number">0b110</span></span
27ea0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 ></code></pre>...........</td>..
27ec0 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>.......
27ee0 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c ....<th.scope="row"><pre><code><
27f00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 span.class="line">~a</span></cod
27f20 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>....
27f40 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>
27f60 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>
27f80 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>.........
27fa0 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>..........
27fc0 20 20 20 42 69 74 77 69 73 65 20 4e 4f 54 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a ...Bitwise.NOT............</td>.
27fe0 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e ..........<td>.............<pre>
28000 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7e 3c 73 70 61 6e 20 <code><span.class="line">~<span.
28020 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c class="tok-builtin">@as</span>(<
28040 73 70 61 6e 20 63 6c 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>,
28060 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 30 .<span.class="tok-number">0b1010
28080 31 31 31 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 1111</span>).==.<span.class="tok
280a0 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 30 31 30 30 30 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e -number">0b01010000</span></span
280c0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 ></code></pre>...........</td>..
280e0 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>.......
28100 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c ....<th.scope="row"><pre><code><
28120 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d span.class="line">a.<span.class=
28140 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 3c "tok-kw">orelse</span>.b</span><
28160 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e /code></pre></th>...........<td>
28180 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>...............
281a0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 <li><a.href="#Optionals">Optiona
281c0 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ls</a></li>.............</ul>...
281e0 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 49 66 20 3c ........</td>...........<td>If.<
28200 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>
28220 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </code>.is.<code><span.class="li
28240 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c ne"><span.class="tok-null">null<
28260 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 /span></span></code>,...........
28280 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ............returns.<code><span.
282a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 22 64 class="line">b</span></code>.("d
282c0 65 66 61 75 6c 74 20 76 61 6c 75 65 22 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 efault.value"),.................
282e0 20 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 ..........otherwise.returns.the.
28300 75 6e 77 72 61 70 70 65 64 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 unwrapped.value.of.<code><span.c
28320 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 lass="line">a</span></code>.....
28340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 ...........................Note.
28360 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c that.<code><span.class="line">b<
28380 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 20 76 61 6c 75 65 20 6f 66 20 /span></code>.may.be.a.value.of.
283a0 74 79 70 65 20 3c 61 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 type.<a.href="#noreturn">noretur
283c0 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 n</a>............</td>..........
283e0 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
28400 61 6e 20 63 6c 61 73 73 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
28420 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 -kw">const</span>.value:.?<span.
28440 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
28460 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>
28480 3b 3c 2f 73 70 61 6e 3e 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
284a0 6e 20 63 6c 61 73 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
284c0 77 72 61 70 70 65 64 20 3d 20 76 61 6c 75 65 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b wrapped.=.value.<span.class="tok
284e0 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">orelse</span>.<span.class="
28500 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a tok-number">1234</span>;</span>.
28520 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 75 6e 77 72 61 70 70 65 64 20 3d 3d 20 <span.class="line">unwrapped.==.
28540 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 <span.class="tok-number">1234</s
28560 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>........
28580 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>.........<
285a0 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
285c0 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 2e 3f 3c re><code><span.class="line">a.?<
285e0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 /span></code></pre></th>........
28600 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 ...<td>.............<ul>........
28620 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e .......<li><a.href="#Optionals">
28640 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c Optionals</a></li>.............<
28660 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>...........<
28680 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 3a 0a 20 td>.............Equivalent.to:..
286a0 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
286c0 73 3d 22 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e s="line">a.<span.class="tok-kw">
286e0 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b orelse</span>.<span.class="tok-k
28700 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f w">unreachable</span></span></co
28720 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>.......
28740 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>
28760 3c 73 70 61 6e 20 63 6c 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="
28780 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3f 3c 73 70 tok-kw">const</span>.value:.?<sp
287a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d an.class="tok-type">u32</span>.=
287c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f .<span.class="tok-number">5678</
287e0 73 70 61 6e 3e 3b 3c 2f 73 70 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"
28800 3e 76 61 6c 75 65 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d >value.?.==.<span.class="tok-num
28820 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ber">5678</span></span></code></
28840 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
28860 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
28880 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
288a0 3d 22 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ="line">a.<span.class="tok-kw">c
288c0 61 74 63 68 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 atch</span>.b</span>.<span.class
288e0 3d 22 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ="line">a.<span.class="tok-kw">c
28900 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 atch</span>.|err|.b</span></code
28920 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>.....
28940 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><
28960 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 a.href="#Errors">Error.Unions</a
28980 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>........
289a0 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 49 66 20 3c 63 6f 64 65 3e ...</td>...........<td>If.<code>
289c0 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
289e0 65 3e 20 69 73 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 e>.is.an.<code><span.class="line
28a00 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 "><span.class="tok-kw">error</sp
28a20 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 an></span></code>,..............
28a40 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .........returns.<code><span.cla
28a60 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 22 64 65 66 61 ss="line">b</span></code>.("defa
28a80 75 6c 74 20 76 61 6c 75 65 22 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ult.value"),....................
28aa0 20 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 75 6e 77 .......otherwise.returns.the.unw
28ac0 72 61 70 70 65 64 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 rapped.value.of.<code><span.clas
28ae0 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 s="line">a</span></code>........
28b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 ........................Note.tha
28b20 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 t.<code><span.class="line">b</sp
28b40 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 20 76 61 6c 75 65 20 6f 66 20 74 79 70 an></code>.may.be.a.value.of.typ
28b60 65 20 3c 61 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f e.<a.href="#noreturn">noreturn</
28b80 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a>..............................
28ba0 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 ......<code><span.class="line">e
28bc0 72 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 rr</span></code>.is.the.<code><s
28be0 70 61 6e 20 63 6c 61 73 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
28c00 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-kw">error</span></span></code>
28c20 20 61 6e 64 20 69 73 20 69 6e 20 73 63 6f 70 65 20 6f 66 20 74 68 65 20 65 78 70 72 65 73 73 69 .and.is.in.scope.of.the.expressi
28c40 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 on.<code><span.class="line">b</s
28c60 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 pan></code>............</td>....
28c80 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
28ca0 64 65 3e 3c 73 70 61 6e 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
28cc0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c s="tok-kw">const</span>.value:.<
28ce0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f span.class="tok-type">anyerror</
28d00 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 span>!<span.class="tok-type">u32
28d20 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 </span>.=.<span.class="tok-kw">e
28d40 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 72 6f 6b 65 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e rror</span>.Broken;</span>.<span
28d60 20 63 6c 61 73 73 3d 22 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
28d80 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 6e 77 72 61 70 70 65 64 20 3d 20 76 61 6c 75 w">const</span>.unwrapped.=.valu
28da0 65 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 e.<span.class="tok-kw">catch</sp
28dc0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 an>.<span.class="tok-number">123
28de0 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 4</span>;</span>.<span.class="li
28e00 6e 65 22 3e 75 6e 77 72 61 70 70 65 64 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ne">unwrapped.==.<span.class="to
28e20 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f k-number">1234</span></span></co
28e40 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>.......
28e60 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>...........<
28e80 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.
28ea0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d class="line">a.<span.class="tok-
28ec0 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f kw">and</span>.b</span></code></
28ee0 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>........
28f00 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
28f20 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c ref="#Primitive-Types">bool</a><
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 0a 20 20 20 20 20 20 20 20 20 20 .</td>...........<td>...........
28f80 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ....If.<code><span.class="line">
28fa0 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 a</span></code>.is.<code><span.c
28fc0 6c 61 73 73 3d 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
28fe0 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 72 l">false</span></span></code>,.r
29000 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e eturns.<code><span.class="line">
29020 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
29040 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 an></span></code>...............
29060 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 65 76 61 6c 75 61 74 69 6e 67 20 3c ............without.evaluating.<
29080 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e code><span.class="line">b</span>
290a0 3c 2f 63 6f 64 65 3e 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 </code>..Otherwise,.returns.<cod
290c0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 e><span.class="line">b</span></c
290e0 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 ode>............</td>...........
29100 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 <td>.............<pre><code><spa
29120 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n.class="line">(<span.class="tok
29140 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -null">false</span>.<span.class=
29160 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d "tok-kw">and</span>.<span.class=
29180 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e "tok-null">true</span>).==.<span
291a0 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></
291c0 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
291e0 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>...
29200 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
29220 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 3c 73 70 61 6e 20 63 6c de><span.class="line">a.<span.cl
29240 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3c 2f 73 70 61 6e 3e 3c ass="tok-kw">or</span>.b</span><
29260 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e /code></pre></th>...........<td>
29280 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>...............
292a0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 <li><a.href="#Primitive-Types">b
292c0 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ool</a></li>.............</ul>..
292e0 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 .........</td>...........<td>...
29300 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ............If.<code><span.class
29320 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 ="line">a</span></code>.is.<code
29340 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
29360 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
29380 6f 64 65 3e 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ode>,.returns.<code><span.class=
293a0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 "line"><span.class="tok-null">tr
293c0 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 ue</span></span></code>.........
293e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 6f 75 74 20 65 76 61 6c 75 61 ..................without.evalua
29400 74 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c ting.<code><span.class="line">b<
29420 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e /span></code>..Otherwise,.return
29440 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 s.<code><span.class="line">b</sp
29460 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 an></code>............</td>.....
29480 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 ......<td>.............<pre><cod
294a0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 e><span.class="line">(<span.clas
294c0 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 s="tok-null">false</span>.<span.
294e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 class="tok-kw">or</span>.<span.c
29500 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 lass="tok-null">true</span>).==.
29520 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
29540 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>..........
29560 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
29580 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
295a0 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 61 3c 2f 73 70 ><code><span.class="line">!a</sp
295c0 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>...........
295e0 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>...........
29600 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 ....<li><a.href="#Primitive-Type
29620 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 s">bool</a></li>.............</u
29640 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
29660 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 42 6f 6f 6c 65 61 6e 20 4e 4f 54 2e 0a 20 20 20 20 20 >.............Boolean.NOT.......
29680 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 .....</td>...........<td>.......
296a0 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
296c0 6e 65 22 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 ne">!<span.class="tok-null">fals
296e0 65 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c e</span>.==.<span.class="tok-nul
29700 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 l">true</span></span></code></pr
29720 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>
29740 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
29760 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="
29780 6c 69 6e 65 22 3e 61 20 3d 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e line">a.==.b</span></code></pre>
297a0 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>............
297c0 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=
297e0 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>...
29800 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
29820 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ">Floats</a></li>...............
29840 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 <li><a.href="#Primitive-Types">b
29860 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c ool</a></li>...............<li><
29880 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 74 79 70 65 3c 2f a.href="#Primitive-Types">type</
298a0 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>.......
298c0 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>........
298e0 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .......Returns.<code><span.class
29900 3d 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
29920 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 61 6e rue</span></span></code>.if.a.an
29940 64 20 62 20 61 72 65 20 65 71 75 61 6c 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 d.b.are.equal,.otherwise.returns
29960 20 3c 63 6f 64 65 3e 3c 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.
29980 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 class="tok-null">false</span></s
299a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 pan></code>..............Invokes
299c0 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"
299e0 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
29a00 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 e.operands............</td>.....
29a20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 ......<td>.............<pre><cod
29a40 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 e><span.class="line">(<span.clas
29a60 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e s="tok-number">1</span>.==.<span
29a80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d .class="tok-number">1</span>).==
29aa0 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
29ac0 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>.........
29ae0 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 ..</td>.........</tr>.........<t
29b00 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 r>...........<th.scope="row"><pr
29b20 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 3d 3d 20 e><code><span.class="line">a.==.
29b40 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
29b60 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a 20 20 20 20 n></span></code></pre></th>.....
29b80 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 ......<td>.............<ul>.....
29ba0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c ..........<li><a.href="#Optional
29bc0 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 s">Optionals</a></li>...........
29be0 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>.........
29c00 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f ..<td>...............Returns.<co
29c20 64 65 3e 3c 73 70 61 6e 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
29c40 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c s="tok-null">true</span></span><
29c60 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 /code>.if.a.is.<code><span.class
29c80 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e ="line"><span.class="tok-null">n
29ca0 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 74 68 65 72 77 ull</span></span></code>,.otherw
29cc0 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ise.returns.<code><span.class="l
29ce0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 ine"><span.class="tok-null">fals
29d00 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 e</span></span></code>..........
29d20 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>..........
29d40 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"
29d60 3e 3c 73 70 61 6e 20 63 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
29d80 6e 3e 20 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 n>.value:.?<span.class="tok-type
29da0 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">u32</span>.=.<span.class="tok-
29dc0 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.
29de0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 class="line">value.==.<span.clas
29e00 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c s="tok-null">null</span></span><
29e20 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>....
29e40 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>.........
29e60 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
29e80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 21 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 an.class="line">a.!=.b</span></c
29ea0 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>..
29ec0 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
29ee0 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</
29f00 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
29f20 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>.....
29f40 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 ..........<li><a.href="#Primitiv
29f60 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 e-Types">bool</a></li>..........
29f80 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 .....<li><a.href="#Primitive-Typ
29fa0 65 73 22 3e 74 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f es">type</a></li>.............</
29fc0 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
29fe0 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><
2a000 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2a020 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
2a040 64 65 3e 20 69 66 20 61 20 61 6e 64 20 62 20 61 72 65 20 65 71 75 61 6c 2c 20 6f 74 68 65 72 77 de>.if.a.and.b.are.equal,.otherw
2a060 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ise.returns.<code><span.class="l
2a080 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
2a0a0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 </span></span></code>...........
2a0c0 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 ...Invokes.<a.href="#Peer-Type-R
2a0e0 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c esolution">Peer.Type.Resolution<
2a100 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 /a>.for.the.operands............
2a120 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>............
2a140 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 .<pre><code><span.class="line">(
2a160 3c 73 70 61 6e 20 63 6c 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
2a180 3e 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c >.!=.<span.class="tok-number">1<
2a1a0 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c /span>).==.<span.class="tok-null
2a1c0 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ">false</span></span></code></pr
2a1e0 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>
2a200 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
2a220 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="
2a240 6c 69 6e 65 22 3e 61 20 26 67 74 3b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 line">a.&gt;.b</span></code></pr
2a260 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>..........
2a280 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
2a2a0 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>.
2a2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 ..............<li><a.href="#Floa
2a2e0 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 ts">Floats</a></li>.............
2a300 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>...........
2a320 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
2a340 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
2a360 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
2a380 6f 64 65 3e 20 69 66 20 61 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 62 2c 20 6f 74 68 ode>.if.a.is.greater.than.b,.oth
2a3a0 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 erwise.returns.<code><span.class
2a3c0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 ="line"><span.class="tok-null">f
2a3e0 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 alse</span></span></code>.......
2a400 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 .......Invokes.<a.href="#Peer-Ty
2a420 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 pe-Resolution">Peer.Type.Resolut
2a440 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 ion</a>.for.the.operands........
2a460 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>........
2a480 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
2a4a0 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f e">(<span.class="tok-number">2</
2a4c0 73 70 61 6e 3e 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 span>.&gt;.<span.class="tok-numb
2a4e0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er">1</span>).==.<span.class="to
2a500 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
2a520 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>.........
2a540 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
2a560 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
2a580 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 26 67 74 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ass="line">a.&gt;=.b</span></cod
2a5a0 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>....
2a5c0 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>
2a5e0 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>
2a600 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=
2a620 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>.......
2a640 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>.....
2a660 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 ......<td>...............Returns
2a680 20 3c 63 6f 64 65 3e 3c 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.
2a6a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 class="tok-null">true</span></sp
2a6c0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 an></code>.if.a.is.greater.than.
2a6e0 6f 72 20 65 71 75 61 6c 20 74 6f 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 or.equal.to.b,.otherwise.returns
2a700 20 3c 63 6f 64 65 3e 3c 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.
2a720 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 class="tok-null">false</span></s
2a740 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 pan></code>..............Invokes
2a760 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"
2a780 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
2a7a0 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 e.operands............</td>.....
2a7c0 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 ......<td>.............<pre><cod
2a7e0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 e><span.class="line">(<span.clas
2a800 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 26 67 74 3b 3d 20 3c 73 s="tok-number">2</span>.&gt;=.<s
2a820 70 61 6e 20 63 6c 61 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>)
2a840 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<
2a860 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>......
2a880 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 .....</td>.........</tr>........
2a8a0 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e .<tr>...........<th.scope="row">
2a8c0 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 <pre><code><span.class="line">a.
2a8e0 26 6c 74 3b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 3e 0a &lt;.b</span></code></pre></th>.
2a900 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>.
2a920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 ..............<li><a.href="#Inte
2a940 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 gers">Integers</a></li>.........
2a960 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 ......<li><a.href="#Floats">Floa
2a980 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ts</a></li>.............</ul>...
2a9a0 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>....
2a9c0 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ...........Returns.<code><span.c
2a9e0 6c 61 73 73 3d 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
2aa00 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 l">true</span></span></code>.if.
2aa20 61 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 a.is.less.than.b,.otherwise.retu
2aa40 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 rns.<code><span.class="line"><sp
2aa60 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>
2aa80 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f </span></code>..............Invo
2aaa0 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 kes.<a.href="#Peer-Type-Resoluti
2aac0 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 on">Peer.Type.Resolution</a>.for
2aae0 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 .the.operands............</td>..
2ab00 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c .........<td>.............<pre><
2ab20 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
2ab40 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 20 lass="tok-number">1</span>.&lt;.
2ab60 3c 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
2ab80 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 >).==.<span.class="tok-null">tru
2aba0 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3e 3c 2f 70 72 65 3e 0a 20 20 e</span></span></code>></pre>...
2abc0 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>.....
2abe0 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
2ac00 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 w"><pre><code><span.class="line"
2ac20 3e 61 20 26 6c 74 3b 3d 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f >a.&lt;=.b</span></code></pre></
2ac40 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>.............<
2ac60 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="#
2ac80 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>.....
2aca0 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">
2acc0 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c Floats</a></li>.............</ul
2ace0 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>
2ad00 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
2ad20 61 6e 20 63 6c 61 73 73 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
2ad40 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>
2ad60 20 69 66 20 61 20 69 73 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 62 .if.a.is.less.than.or.equal.to.b
2ad80 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ,.otherwise.returns.<code><span.
2ada0 63 6c 61 73 73 3d 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
2adc0 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a ll">false</span></span></code>..
2ade0 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 ............Invokes.<a.href="#Pe
2ae00 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
2ae20 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 solution</a>.for.the.operands...
2ae40 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 .........</td>...........<td>...
2ae60 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ..........<pre><code><span.class
2ae80 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 ="line">(<span.class="tok-number
2aea0 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">1</span>.&lt;=.<span.class="to
2aec0 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 k-number">2</span>).==.<span.cla
2aee0 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ss="tok-null">true</span></span>
2af00 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>...
2af20 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>........
2af40 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
2af60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2b 2b 20 62 3c 2f 73 70 61 6e 3e 3c 2f pan.class="line">a.++.b</span></
2af80 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>.
2afa0 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>...............<
2afc0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c li><a.href="#Arrays">Arrays</a><
2afe0 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>..........
2b000 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>...........
2b020 20 20 41 72 72 61 79 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 ..Array.concatenation...........
2b040 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 61 ...<ul>...............<li>Only.a
2b060 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d vailable.when.<code><span.class=
2b080 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 "line">a</span></code>.and.<code
2b0a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ><span.class="line">b</span></co
2b0c0 64 65 3e 20 61 72 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 de>.are.<a.href="#comptime">comp
2b0e0 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ile-time.known</a>.</li>........
2b100 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>......
2b120 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
2b140 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
2b160 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 "tok-kw">const</span>.mem.=.<spa
2b180 6e 20 63 6c 61 73 73 3d 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
2b1a0 70 61 6e 3e 28 3c 73 70 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
2b1c0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c ;std&quot;</span>).mem;</span>.<
2b1e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2b200 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 31 20 3d 20 5b 5f 5d ok-kw">const</span>.array1.=.[_]
2b220 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
2b240 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 >{<span.class="tok-number">1</sp
2b260 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f an>,<span.class="tok-number">2</
2b280 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>};</span>.<span.class="line
2b2a0 22 3e 3c 73 70 61 6e 20 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
2b2c0 61 6e 3e 20 61 72 72 61 79 32 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.array2.=.[_]<span.class="tok
2b2e0 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -type">u32</span>{<span.class="t
2b300 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-number">3</span>,<span.class=
2b320 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">4</span>};</span>.<
2b340 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2b360 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 6f 67 65 74 68 65 72 20 3d 20 61 ok-kw">const</span>.together.=.a
2b380 72 72 61 79 31 20 2b 2b 20 61 72 72 61 79 32 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c rray1.++.array2;</span>.<span.cl
2b3a0 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ass="line">mem.eql(<span.class="
2b3c0 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 74 6f 67 65 74 tok-type">u32</span>,.&amp;toget
2b3e0 68 65 72 2c 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 her,.&amp;[_]<span.class="tok-ty
2b400 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pe">u32</span>{<span.class="tok-
2b420 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f number">1</span>,<span.class="to
2b440 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-number">2</span>,<span.class="
2b460 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 73 70 61 6e 20 63 6c 61 73 73 tok-number">3</span>,<span.class
2b480 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 29 3c 2f 73 70 61 6e 3e 3c ="tok-number">4</span>})</span><
2b4a0 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>....
2b4c0 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>.........
2b4e0 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
2b500 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 20 2a 2a 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 an.class="line">a.**.b</span></c
2b520 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>..
2b540 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
2b560 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f i><a.href="#Arrays">Arrays</a></
2b580 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>...........
2b5a0 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>............
2b5c0 20 41 72 72 61 79 20 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 .Array.multiplication...........
2b5e0 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 61 ...<ul>...............<li>Only.a
2b600 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d vailable.when.<code><span.class=
2b620 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 "line">a</span></code>.and.<code
2b640 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ><span.class="line">b</span></co
2b660 64 65 3e 20 61 72 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 de>.are.<a.href="#comptime">comp
2b680 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ile-time.known</a>.</li>........
2b6a0 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>......
2b6c0 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
2b6e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
2b700 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 "tok-kw">const</span>.mem.=.<spa
2b720 6e 20 63 6c 61 73 73 3d 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
2b740 70 61 6e 3e 28 3c 73 70 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
2b760 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c ;std&quot;</span>).mem;</span>.<
2b780 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2b7a0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 74 74 65 72 6e 20 3d 20 3c 73 ok-kw">const</span>.pattern.=.<s
2b7c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 62 26 71 75 6f pan.class="tok-str">&quot;ab&quo
2b7e0 74 3b 3c 2f 73 70 61 6e 3e 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 t;</span>.**.<span.class="tok-nu
2b800 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
2b820 73 73 3d 22 6c 69 6e 65 22 3e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">mem.eql(<span.class="t
2b840 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 70 61 74 74 65 72 6e 2c 20 3c 73 70 ok-type">u8</span>,.pattern,.<sp
2b860 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 62 61 62 61 62 26 an.class="tok-str">&quot;ababab&
2b880 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 quot;</span>)</span></code></pre
2b8a0 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>.
2b8c0 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
2b8e0 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ="row"><pre><code><span.class="l
2b900 69 6e 65 22 3e 61 2e 2a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 68 ine">a.*</span></code></pre></th
2b920 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
2b940 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f >...............<li><a.href="#Po
2b960 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 inters">Pointers</a></li>.......
2b980 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>.....
2b9a0 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 6f 69 6e 74 65 72 20 64 ......<td>.............Pointer.d
2b9c0 65 72 65 66 65 72 65 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 ereference............</td>.....
2b9e0 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 ......<td>.............<pre><cod
2ba00 65 3e 3c 73 70 61 6e 20 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
2ba20 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.
2ba40 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
2ba60 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
2ba80 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 n>;</span>.<span.class="line"><s
2baa0 70 61 6e 20 63 6c 61 73 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>.
2bac0 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ptr.=.&amp;x;</span>.<span.class
2bae0 3d 22 6c 69 6e 65 22 3e 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ="line">ptr.*.==.<span.class="to
2bb00 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f k-number">1234</span></span></co
2bb20 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>.......
2bb40 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>...........<
2bb60 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.
2bb80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 61 6d 70 3b 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 class="line">&amp;a</span></code
2bba0 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>.....
2bbc0 20 20 20 20 20 20 20 20 41 6c 6c 20 74 79 70 65 73 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 ........All.types...........</td
2bbe0 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 64 64 >...........<td>.............Add
2bc00 72 65 73 73 20 6f 66 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 ress.of............</td>........
2bc20 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><
2bc40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2bc60 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">const</span>.x:.<span.cla
2bc80 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
2bca0 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>;
2bcc0 3c 2f 73 70 61 6e 3e 0a 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
2bce0 20 63 6c 61 73 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
2bd00 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .=.&amp;x;</span>.<span.class="l
2bd20 69 6e 65 22 3e 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ine">ptr.*.==.<span.class="tok-n
2bd40 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e umber">1234</span></span></code>
2bd60 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c </pre>...........</td>.........<
2bd80 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.
2bda0 73 63 6f 70 65 3d 22 72 6f 77 22 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 scope="row"><pre><code><span.cla
2bdc0 73 73 3d 22 6c 69 6e 65 22 3e 61 20 7c 7c 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f ss="line">a.||.b</span></code></
2bde0 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>........
2be00 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
2be20 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.
2be40 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a Type</a></li>.............</ul>.
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 20 20 3c 74 64 3e 0a 20 ..........</td>...........<td>..
2be80 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 4d 65 72 67 69 6e 67 2d 45 .............<a.href="#Merging-E
2bea0 72 72 6f 72 2d 53 65 74 73 22 3e 4d 65 72 67 69 6e 67 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 rror-Sets">Merging.Error.Sets</a
2bec0 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>
2bee0 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
2bf00 61 73 73 3d 22 6c 69 6e 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">
2bf20 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f const</span>.A.=.<span.class="to
2bf40 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 4f 6e 65 7d 3b 3c 2f 73 70 61 6e 3e 0a k-kw">error</span>{One};</span>.
2bf60 3c 73 70 61 6e 20 63 6c 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="
2bf80 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 20 3d 20 3c 73 70 61 6e 20 63 tok-kw">const</span>.B.=.<span.c
2bfa0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 54 77 6f 7d 3b lass="tok-kw">error</span>{Two};
2bfc0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 41 20 7c 7c </span>.<span.class="line">(A.||
2bfe0 20 42 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f .B).==.<span.class="tok-kw">erro
2c000 72 3c 2f 73 70 61 6e 3e 7b 4f 6e 65 2c 20 54 77 6f 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e r</span>{One,.Two}</span></code>
2c020 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c </pre>...........</td>.........<
2c040 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 /tr>.........</tbody>.......</ta
2c060 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c ble>.......</div>..............<
2c080 68 33 20 69 64 3d 22 50 72 65 63 65 64 65 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 h3.id="Precedence"><a.href="#toc
2c0a0 2d 50 72 65 63 65 64 65 6e 63 65 22 3e 50 72 65 63 65 64 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 -Precedence">Precedence</a>.<a.c
2c0c0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 72 65 63 65 64 65 6e 63 65 22 3e c2 a7 lass="hdr".href="#Precedence">..
2c0e0 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
2c100 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 28 29 20 78 5b 5d 20 78 2e 79 20 78 2e 2a 20 78 n.class="line">x().x[].x.y.x.*.x
2c120 2e 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 21 62 .?</span>.<span.class="line">a!b
2c140 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 7b 7d 3c 2f </span>.<span.class="line">x{}</
2c160 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 78 20 2d 78 20 2d span>.<span.class="line">!x.-x.-
2c180 25 78 20 7e 78 20 26 61 6d 70 3b 78 20 3f 78 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 %x.~x.&amp;x.?x</span>.<span.cla
2c1a0 73 73 3d 22 6c 69 6e 65 22 3e 2a 20 2f 20 25 20 2a 2a 20 2a 25 20 2a 7c 20 7c 7c 3c 2f 73 70 61 ss="line">*./.%.**.*%.*|.||</spa
2c1c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 20 2d 20 2b 2b 20 2b 25 20 n>.<span.class="line">+.-.++.+%.
2c1e0 2d 25 20 2b 7c 20 2d 7c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e -%.+|.-|</span>.<span.class="lin
2c200 65 22 3e 26 6c 74 3b 26 6c 74 3b 20 26 67 74 3b 26 67 74 3b 20 26 6c 74 3b 26 6c 74 3b 7c 3c 2f e">&lt;&lt;.&gt;&gt;.&lt;&lt;|</
2c220 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 61 6d 70 3b 20 5e span>.<span.class="line">&amp;.^
2c240 20 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f .|.<span.class="tok-kw">orelse</
2c260 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 span>.<span.class="tok-kw">catch
2c280 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
2c2a0 22 3e 3d 3d 20 21 3d 20 26 6c 74 3b 20 26 67 74 3b 20 26 6c 74 3b 3d 20 26 67 74 3b 3d 3c 2f 73 ">==.!=.&lt;.&gt;.&lt;=.&gt;=</s
2c2c0 70 61 6e 3e 0a 3c 73 70 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
2c2e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c ass="tok-kw">and</span></span>.<
2c300 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
2c320 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ok-kw">or</span></span>.<span.cl
2c340 61 73 73 3d 22 6c 69 6e 65 22 3e 3d 20 2a 3d 20 2a 25 3d 20 2a 7c 3d 20 2f 3d 20 25 3d 20 2b 3d ass="line">=.*=.*%=.*|=./=.%=.+=
2c360 20 2b 25 3d 20 2b 7c 3d 20 2d 3d 20 2d 25 3d 20 2d 7c 3d 20 26 6c 74 3b 26 6c 74 3b 3d 20 26 6c .+%=.+|=.-=.-%=.-|=.&lt;&lt;=.&l
2c380 74 3b 26 6c 74 3b 7c 3d 20 26 67 74 3b 26 67 74 3b 3d 20 26 61 6d 70 3b 3d 20 5e 3d 20 7c 3d 3c t;&lt;|=.&gt;&gt;=.&amp;=.^=.|=<
2c3a0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 /span></code></pre>.............
2c3c0 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 72 72 61 79 73 22 3e 3c 61 20 68 72 65 66 3d ........<h2.id="Arrays"><a.href=
2c3e0 22 23 74 6f 63 2d 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 "#toc-Arrays">Arrays</a>.<a.clas
2c400 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 s="hdr".href="#Arrays">..</a></h
2c420 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 2>........<figure><figcaption.cl
2c440 61 73 73 3d 22 7a 69 67 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"
2c460 3e 61 72 72 61 79 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c >arrays.zig</cite></figcaption><
2c480 70 72 65 3e 3c 63 6f 64 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
2c4a0 61 6e 20 63 6c 61 73 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
2c4c0 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e xpect.=.<span.class="tok-builtin
2c4e0 22 3e 40 69 6d 70 6f 72 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
2c500 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 k-str">&quot;std&quot;</span>).t
2c520 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
2c540 73 3d 22 6c 69 6e 65 22 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
2c560 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d nst</span>.assert.=.<span.class=
2c580 22 74 6f 6b 2d 62 75 69 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
2c5a0 61 6e 20 63 6c 61 73 73 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
2c5c0 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e 3e 0a t;</span>).debug.assert;</span>.
2c5e0 3c 73 70 61 6e 20 63 6c 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="
2c600 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e tok-kw">const</span>.mem.=.<span
2c620 20 63 6c 61 73 73 3d 22 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
2c640 61 6e 3e 28 3c 73 70 61 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;
2c660 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 std&quot;</span>).mem;</span>.<s
2c680 70 61 6e 20 63 6c 61 73 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
2c6a0 6c 61 73 73 3d 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
2c6c0 6d 65 6e 74 22 3e 2f 2f 20 61 72 72 61 79 20 6c 69 74 65 72 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 ment">//.array.literal</span></s
2c6e0 70 61 6e 3e 0a 3c 73 70 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
2c700 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 73 73 61 67 ass="tok-kw">const</span>.messag
2c720 65 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 e.=.[_]<span.class="tok-type">u8
2c740 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 </span>{.<span.class="tok-str">'
2c760 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 h'</span>,.<span.class="tok-str"
2c780 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 >'e'</span>,.<span.class="tok-st
2c7a0 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-
2c7c0 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f str">'l'</span>,.<span.class="to
2c7e0 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-str">'o'</span>.};</span>.<spa
2c800 6e 20 63 6c 61 73 73 3d 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
2c820 73 73 3d 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
2c840 6e 74 22 3e 2f 2f 20 67 65 74 20 74 68 65 20 73 69 7a 65 20 6f 66 20 61 6e 20 61 72 72 61 79 3c nt">//.get.the.size.of.an.array<
2c860 2f 73 70 61 6e 3e 3c 2f 73 70 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"
2c880 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f ><span.class="tok-kw">comptime</
2c8a0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
2c8c0 22 3e 20 20 20 20 61 73 73 65 72 74 28 6d 65 73 73 61 67 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 ">....assert(message.len.==.<spa
2c8e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 3c n.class="tok-number">5</span>);<
2c900 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f 73 70 61 /span>.<span.class="line">}</spa
2c920 6e 3e 0a 3c 73 70 61 6e 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
2c940 70 61 6e 20 63 6c 61 73 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
2c960 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 69 k-comment">//.A.string.literal.i
2c980 73 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 s.a.single-item.pointer.to.an.ar
2c9a0 72 61 79 20 6c 69 74 65 72 61 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ray.literal.</span></span>.<span
2c9c0 20 63 6c 61 73 73 3d 22 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
2c9e0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 61 6d 65 5f 6d 65 73 73 61 67 65 20 3d 20 3c w">const</span>.same_message.=.<
2ca00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f span.class="tok-str">&quot;hello
2ca20 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
2ca40 73 3d 22 6c 69 6e 65 22 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
2ca60 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d ne"><span.class="tok-kw">comptim
2ca80 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
2caa0 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c ine">....assert(mem.eql(<span.cl
2cac0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 6d ass="tok-type">u8</span>,.&amp;m
2cae0 65 73 73 61 67 65 2c 20 73 61 6d 65 5f 6d 65 73 73 61 67 65 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c essage,.same_message));</span>.<
2cb00 73 70 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
2cb20 20 63 6c 61 73 73 3d 22 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
2cb40 73 3d 22 6c 69 6e 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
2cb60 73 74 3c 2f 73 70 61 6e 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">
2cb80 26 71 75 6f 74 3b 69 74 65 72 61 74 65 20 6f 76 65 72 20 61 6e 20 61 72 72 61 79 26 71 75 6f 74 &quot;iterate.over.an.array&quot
2cba0 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
2cbc0 69 6e 65 22 3e 20 20 20 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
2cbe0 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 r</span>.sum:.<span.class="tok-t
2cc00 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ype">usize</span>.=.<span.class=
2cc20 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
2cc40 70 61 6e 20 63 6c 61 73 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
2cc60 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 6d 65 73 73 61 67 65 29 20 7c ="tok-kw">for</span>.(message).|
2cc80 62 79 74 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 byte|.{</span>.<span.class="line
2cca0 22 3e 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 62 79 74 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ">........sum.+=.byte;</span>.<s
2ccc0 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
2cce0 70 61 6e 20 63 6c 61 73 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
2cd00 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 20 ="tok-kw">try</span>.expect(sum.
2cd20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 ==.<span.class="tok-str">'h'</sp
2cd40 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c an>.+.<span.class="tok-str">'e'<
2cd60 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 /span>.+.<span.class="tok-str">'
2cd80 6c 27 3c 2f 73 70 61 6e 3e 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d l'</span>.*.<span.class="tok-num
2cda0 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ber">2</span>.+.<span.class="tok
2cdc0 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -str">'o'</span>);</span>.<span.
2cde0 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
2ce00 73 3d 22 6c 69 6e 65 22 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
2ce20 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">//
2ce40 20 6d 6f 64 69 66 69 61 62 6c 65 20 61 72 72 61 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a .modifiable.array</span></span>.
2ce60 3c 73 70 61 6e 20 63 6c 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="
2ce80 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 tok-kw">var</span>.some_integers
2cea0 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c :.[<span.class="tok-number">100<
2cec0 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 /span>]<span.class="tok-type">i3
2cee0 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 2</span>.=.<span.class="tok-null
2cf00 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
2cf20 20 63 6c 61 73 73 3d 22 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
2cf40 73 3d 22 6c 69 6e 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
2cf60 73 74 3c 2f 73 70 61 6e 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">
2cf80 26 71 75 6f 74 3b 6d 6f 64 69 66 79 20 61 6e 20 61 72 72 61 79 26 71 75 6f 74 3b 3c 2f 73 70 61 &quot;modify.an.array&quot;</spa
2cfa0 6e 3e 20 7b 3c 2f 73 70 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">.
2cfc0 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
2cfe0 6e 3e 20 28 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 29 20 7c 2a 69 74 65 6d 2c 20 69 7c 20 7b 3c n>.(some_integers).|*item,.i|.{<
2d000 2f 73 70 61 6e 3e 0a 3c 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">......
2d020 20 20 69 74 65 6d 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c ..item.*.=.<span.class="tok-buil
2d040 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 tin">@intCast</span>(<span.class
2d060 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 69 29 3b 3c 2f 73 70 61 ="tok-type">i32</span>,.i);</spa
2d080 6e 3e 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
2d0a0 6e 3e 0a 3c 73 70 61 6e 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.
2d0c0 63 6c 61 73 73 3d 22 74 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
2d0e0 28 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d (some_integers[<span.class="tok-
2d100 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 number">10</span>].==.<span.clas
2d120 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e s="tok-number">10</span>);</span
2d140 3e 0a 3c 73 70 61 6e 20 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
2d160 6c 61 73 73 3d 22 74 6f 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(
2d180 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e some_integers[<span.class="tok-n
2d1a0 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 umber">99</span>].==.<span.class
2d1c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e ="tok-number">99</span>);</span>
2d1e0 0a 3c 73 70 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
2d200 61 6e 20 63 6c 61 73 73 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
2d220 61 73 73 3d 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
2d240 65 6e 74 22 3e 2f 2f 20 61 72 72 61 79 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 77 6f 72 6b ent">//.array.concatenation.work
2d260 73 20 69 66 20 74 68 65 20 76 61 6c 75 65 73 20 61 72 65 20 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e s.if.the.values.are.known</span>
2d280 3c 2f 73 70 61 6e 3e 0a 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
2d2a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 74 20 63 6f 6d 70 69 .class="tok-comment">//.at.compi
2d2c0 6c 65 20 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 le.time</span></span>.<span.clas
2d2e0 73 3d 22 6c 69 6e 65 22 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
2d300 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 74 5f 6f 6e 65 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 nst</span>.part_one.=.[_]<span.c
2d320 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 lass="tok-type">i32</span>{.<spa
2d340 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-number">1</span>,.<
2d360 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>
2d380 2c 20 3c 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
2d3a0 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c an>,.<span.class="tok-number">4<
2d3c0 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>.};</span>.<span.class="li
2d3e0 6e 65 22 3e 3c 73 70 61 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</
2d400 73 70 61 6e 3e 20 70 61 72 74 5f 74 77 6f 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>.part_two.=.[_]<span.class=
2d420 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">i32</span>{.<span.cla
2d440 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">5</span>,.<span.
2d460 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">6</span>,.<sp
2d480 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">7</span>,.
2d4a0 3c 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
2d4c0 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c >.};</span>.<span.class="line"><
2d4e0 73 70 61 6e 20 63 6c 61 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>
2d500 20 61 6c 6c 5f 6f 66 5f 69 74 20 3d 20 70 61 72 74 5f 6f 6e 65 20 2b 2b 20 70 61 72 74 5f 74 77 .all_of_it.=.part_one.++.part_tw
2d520 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 o;</span>.<span.class="line"><sp
2d540 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
2d560 3e 20 7b 3c 2f 73 70 61 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">..
2d580 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ..assert(mem.eql(<span.class="to
2d5a0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 61 6c 6c 5f 6f 66 5f k-type">i32</span>,.&amp;all_of_
2d5c0 69 74 2c 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 it,.&amp;[_]<span.class="tok-typ
2d5e0 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-
2d600 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
2d620 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
2d640 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
2d660 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
2d680 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 .class="tok-number">5</span>,.<s
2d6a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">6</span>,
2d6c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 .<span.class="tok-number">7</spa
2d6e0 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f n>,.<span.class="tok-number">8</
2d700 73 70 61 6e 3e 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c span>.}));</span>.<span.class="l
2d720 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"
2d740 3e 3c 2f 73 70 61 6e 3e 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
2d760 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 72 65 6d 65 6d 62 65 n.class="tok-comment">//.remembe
2d780 72 20 74 68 61 74 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 61 72 65 20 61 72 72 61 79 r.that.string.literals.are.array
2d7a0 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
2d7c0 65 22 3e 3c 73 70 61 6e 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
2d7e0 70 61 6e 3e 20 68 65 6c 6c 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 pan>.hello.=.<span.class="tok-st
2d800 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 r">&quot;hello&quot;</span>;</sp
2d820 61 6e 3e 0a 3c 73 70 61 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
2d840 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 6f 72 6c 64 20 3d ss="tok-kw">const</span>.world.=
2d860 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 6f 72 .<span.class="tok-str">&quot;wor
2d880 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ld&quot;</span>;</span>.<span.cl
2d8a0 61 73 73 3d 22 6c 69 6e 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">
2d8c0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 20 3d 20 68 65 6c 6c 6f const</span>.hello_world.=.hello
2d8e0 20 2b 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b .++.<span.class="tok-str">&quot;
2d900 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 77 6f 72 6c 64 3b 3c 2f 73 70 61 6e 3e 0a .&quot;</span>.++.world;</span>.
2d920 3c 73 70 61 6e 20 63 6c 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="
2d940 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e tok-kw">comptime</span>.{</span>
2d960 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 6d .<span.class="line">....assert(m
2d980 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 em.eql(<span.class="tok-type">u8
2d9a0 3c 2f 73 70 61 6e 3e 2c 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 </span>,.hello_world,.<span.clas
2d9c0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 26 71 75 s="tok-str">&quot;hello.world&qu
2d9e0 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
2da00 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
2da20 6e 65 22 3e 3c 2f 73 70 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"><
2da40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 2a 20 64 span.class="tok-comment">//.**.d
2da60 6f 65 73 20 72 65 70 65 61 74 69 6e 67 20 70 61 74 74 65 72 6e 73 3c 2f 73 70 61 6e 3e 3c 2f 73 oes.repeating.patterns</span></s
2da80 70 61 6e 3e 0a 3c 73 70 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
2daa0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 74 74 65 72 ass="tok-kw">const</span>.patter
2dac0 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b n.=.<span.class="tok-str">&quot;
2dae0 61 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ab&quot;</span>.**.<span.class="
2db00 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">3</span>;</span>.<sp
2db20 61 6e 20 63 6c 61 73 73 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
2db40 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
2db60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e pan.class="line">....assert(mem.
2db80 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 eql(<span.class="tok-type">u8</s
2dba0 70 61 6e 3e 2c 20 70 61 74 74 65 72 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pan>,.pattern,.<span.class="tok-
2dbc0 73 74 72 22 3e 26 71 75 6f 74 3b 61 62 61 62 61 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 str">&quot;ababab&quot;</span>))
2dbe0 3b 3c 2f 73 70 61 6e 3e 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
2dc00 70 61 6e 3e 0a 3c 73 70 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>.
2dc20 3c 73 70 61 6e 20 63 6c 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="
2dc40 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6e 20 61 72 tok-comment">//.initialize.an.ar
2dc60 72 61 79 20 74 6f 20 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ray.to.zero</span></span>.<span.
2dc80 63 6c 61 73 73 3d 22 6c 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
2dca0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 7a 65 72 6f 20 3d 20 5b 5f 5d 3c 73 70 ">const</span>.all_zero.=.[_]<sp
2dcc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 7b 3c an.class="tok-type">u16</span>{<
2dce0 73 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>
2dd00 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 }.**.<span.class="tok-number">10
2dd20 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
2dd40 65 22 3e 3c 2f 73 70 61 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
2dd60 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
2dd80 6e 3e 20 7b 3c 2f 73 70 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">.
2dda0 20 20 20 61 73 73 65 72 74 28 61 6c 6c 5f 7a 65 72 6f 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 ...assert(all_zero.len.==.<span.
2ddc0 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>);</
2dde0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 span>.<span.class="line">....ass
2de00 65 72 74 28 61 6c 6c 5f 7a 65 72 6f 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ert(all_zero[<span.class="tok-nu
2de20 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 mber">5</span>].==.<span.class="
2de40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-number">0</span>);</span>.<s
2de60 70 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.
2de80 63 6c 61 73 73 3d 22 6c 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
2dea0 3d 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
2dec0 22 3e 2f 2f 20 75 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 64 65 20 74 6f 20 69 6e ">//.use.compile-time.code.to.in
2dee0 69 74 69 61 6c 69 7a 65 20 61 6e 20 61 72 72 61 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a itialize.an.array</span></span>.
2df00 3c 73 70 61 6e 20 63 6c 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="
2df20 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 61 6e 63 79 5f 61 72 72 61 79 20 3d tok-kw">var</span>.fancy_array.=
2df40 20 69 6e 69 74 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .init:.{</span>.<span.class="lin
2df60 65 22 3e 20 20 20 20 3c 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<
2df80 2f 73 70 61 6e 3e 20 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 /span>.initial_value:.[<span.cla
2dfa0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 50 6f 69 6e 74 20 ss="tok-number">10</span>]Point.
2dfc0 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
2dfe0 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
2e000 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f ine">....<span.class="tok-kw">fo
2e020 72 3c 2f 73 70 61 6e 3e 20 28 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 29 20 7c 2a 70 74 2c 20 69 r</span>.(initial_value).|*pt,.i
2e040 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">..
2e060 20 20 20 20 20 20 70 74 2e 2a 20 3d 20 50 6f 69 6e 74 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ......pt.*.=.Point{</span>.<span
2e080 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 78 20 3d 20 3c .class="line">.............x.=.<
2e0a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 span.class="tok-builtin">@intCas
2e0c0 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e t</span>(<span.class="tok-type">
2e0e0 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 69 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 i32</span>,.i),</span>.<span.cla
2e100 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e ss="line">.............y.=.<span
2e120 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 .class="tok-builtin">@intCast</s
2e140 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c pan>(<span.class="tok-type">i32<
2e160 2f 73 70 61 6e 3e 2c 20 69 29 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 /span>,.i).*.<span.class="tok-nu
2e180 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">2</span>,</span>.<span.cla
2e1a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ss="line">........};</span>.<spa
2e1c0 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
2e1e0 6e 20 63 6c 61 73 73 3d 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="
2e200 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 69 6e 69 74 20 69 6e 69 74 69 tok-kw">break</span>.:init.initi
2e220 61 6c 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 al_value;</span>.<span.class="li
2e240 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"
2e260 3e 3c 73 70 61 6e 20 63 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
2e280 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e n>.Point.=.<span.class="tok-kw">
2e2a0 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 struct</span>.{</span>.<span.cla
2e2c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ss="line">....x:.<span.class="to
2e2e0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-type">i32</span>,</span>.<span
2e300 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 .class="line">....y:.<span.class
2e320 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c ="tok-type">i32</span>,</span>.<
2e340 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
2e360 6e 20 63 6c 61 73 73 3d 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
2e380 73 73 3d 22 6c 69 6e 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
2e3a0 65 73 74 3c 2f 73 70 61 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"
2e3c0 3e 26 71 75 6f 74 3b 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 72 61 79 20 69 6e 69 74 69 61 >&quot;compile-time.array.initia
2e3e0 6c 69 7a 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c lization&quot;</span>.{</span>.<
2e400 73 70 61 6e 20 63 6c 61 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
2e420 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 61 6e s="tok-kw">try</span>.expect(fan
2e440 63 79 5f 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 cy_array[<span.class="tok-number
2e460 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">4</span>].x.==.<span.class="to
2e480 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
2e4a0 6e 20 63 6c 61 73 73 3d 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="
2e4c0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 61 6e 63 79 5f tok-kw">try</span>.expect(fancy_
2e4e0 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 array[<span.class="tok-number">4
2e500 3c 2f 73 70 61 6e 3e 5d 2e 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e </span>].y.==.<span.class="tok-n
2e520 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">8</span>);</span>.<span.c
2e540 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
2e560 3d 22 6c 69 6e 65 22 3e 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
2e580 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">//.
2e5a0 63 61 6c 6c 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6e call.a.function.to.initialize.an
2e5c0 20 61 72 72 61 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .array</span></span>.<span.class
2e5e0 3d 22 6c 69 6e 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
2e600 3c 2f 73 70 61 6e 3e 20 6d 6f 72 65 5f 70 6f 69 6e 74 73 20 3d 20 5b 5f 5d 50 6f 69 6e 74 7b 6d </span>.more_points.=.[_]Point{m
2e620 61 6b 65 50 6f 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 akePoint(<span.class="tok-number
2e640 22 3e 33 3c 2f 73 70 61 6e 3e 29 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">3</span>)}.**.<span.class="tok
2e660 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
2e680 20 63 6c 61 73 73 3d 22 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
2e6a0 77 22 3e 66 6e 3c 2f 73 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
2e6c0 22 3e 6d 61 6b 65 50 6f 69 6e 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ">makePoint</span>(x:.<span.clas
2e6e0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 50 6f 69 6e 74 20 7b s="tok-type">i32</span>).Point.{
2e700 3c 2f 73 70 61 6e 3e 0a 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">....<
2e720 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
2e740 3e 20 50 6f 69 6e 74 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e >.Point{</span>.<span.class="lin
2e760 65 22 3e 20 20 20 20 20 20 20 20 2e 78 20 3d 20 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 e">.........x.=.x,</span>.<span.
2e780 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 79 20 3d 20 78 20 2a 20 3c 73 class="line">.........y.=.x.*.<s
2e7a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">2</span>,
2e7c0 3c 2f 73 70 61 6e 3e 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">....}
2e7e0 3b 3c 2f 73 70 61 6e 3e 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
2e800 70 61 6e 3e 0a 3c 73 70 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
2e820 61 73 73 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
2e840 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 72 72 61 79 20 69 6e 69 74 69 lass="tok-str">&quot;array.initi
2e860 61 6c 69 7a 61 74 69 6f 6e 20 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 26 71 75 alization.with.function.calls&qu
2e880 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=
2e8a0 22 6c 69 6e 65 22 3e 20 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">
2e8c0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 6f 72 65 5f 70 6f 69 6e 74 73 5b 3c 73 try</span>.expect(more_points[<s
2e8e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d pan.class="tok-number">4</span>]
2e900 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 .x.==.<span.class="tok-number">3
2e920 3c 2f 73 70 61 6e 3e 29 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
2e940 6e 65 22 3e 20 20 20 20 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
2e960 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 6f 72 65 5f 70 6f 69 6e 74 73 5b 3c 73 70 61 6e </span>.expect(more_points[<span
2e980 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 79 20 .class="tok-number">4</span>].y.
2e9a0 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 ==.<span.class="tok-number">6</s
2e9c0 70 61 6e 3e 29 3b 3c 2f 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"
2e9e0 3e 20 20 20 20 3c 73 70 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
2ea00 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 6f 72 65 5f 70 6f 69 6e 74 73 2e 6c 65 6e 20 3d 3d 20 3c pan>.expect(more_points.len.==.<
2ea20 73 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
2ea40 3e 29 3b 3c 2f 73 70 61 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">}<
2ea60 2f 73 70 61 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
2ea80 75 72 65 3e 3c 66 69 67 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
2eaa0 22 3e 53 68 65 6c 6c 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><
2eac0 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
2eae0 74 20 61 72 72 61 79 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 t.arrays.zig</kbd></span>.<span.
2eb00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b 69 74 65 72 class="line">1/4.test.&quot;iter
2eb20 61 74 65 20 6f 76 65 72 20 61 6e 20 61 72 72 61 79 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 ate.over.an.array&quot;....OK</s
2eb40 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 34 20 74 65 73 74 pan>.<span.class="line">2/4.test
2eb60 20 26 71 75 6f 74 3b 6d 6f 64 69 66 79 20 61 6e 20 61 72 72 61 79 26 71 75 6f 74 3b 2e 2e 2e 20 .&quot;modify.an.array&quot;....
2eb80 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 34 OK</span>.<span.class="line">3/4
2eba0 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 72 61 79 20 69 .test.&quot;compile-time.array.i
2ebc0 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e nitialization&quot;....OK</span>
2ebe0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 34 20 74 65 73 74 20 26 71 75 .<span.class="line">4/4.test.&qu
2ec00 6f 74 3b 61 72 72 61 79 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 77 69 74 68 20 66 75 6e ot;array.initialization.with.fun
2ec20 63 74 69 6f 6e 20 63 61 6c 6c 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c ction.calls&quot;....OK</span>.<
2ec40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 34 20 74 65 73 74 73 20 70 61 span.class="line">All.4.tests.pa
2ec60 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
2ec80 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>.<
2eca0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c li><a.href="#for">for</a></li>.<
2ecc0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 3c li><a.href="#Slices">Slices</a><
2ece0 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 6e 6f 6e 79 /li>.</ul>.........<h3.id="Anony
2ed00 6d 6f 75 73 2d 4c 69 73 74 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f mous-List-Literals"><a.href="#to
2ed20 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 4c 69 73 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 c-Anonymous-List-Literals">Anony
2ed40 6d 6f 75 73 20 4c 69 73 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d mous.List.Literals</a>.<a.class=
2ed60 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 4c 69 73 74 2d 4c 69 74 65 "hdr".href="#Anonymous-List-Lite
2ed80 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 69 6d 69 rals">..</a></h3>........<p>Simi
2eda0 6c 61 72 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e lar.to.<a.href="#Enum-Literals">
2edc0 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 Enum.Literals</a>.and.<a.href="#
2ede0 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 Anonymous-Struct-Literals">Anony
2ee00 6d 6f 75 73 20 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 0a 20 20 20 20 20 20 74 mous.Struct.Literals</a>.......t
2ee20 68 65 20 74 79 70 65 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 61 72 72 61 he.type.can.be.omitted.from.arra
2ee40 79 20 6c 69 74 65 72 61 6c 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 y.literals:</p>.......<figure><f
2ee60 69 67 63 61 70 74 69 6f 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.
2ee80 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 6e 6f 6e 5f 6c 69 73 74 2e 7a 69 67 3c 2f 63 69 74 65 class="file">anon_list.zig</cite
2eea0 3e 3c 2f 66 69 67 63 61 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
2eec0 6c 61 73 73 3d 22 6c 69 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"
2eee0 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=
2ef00 22 74 6f 6b 2d 62 75 69 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
2ef20 61 6e 20 63 6c 61 73 73 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
2ef40 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="
2ef60 6c 69 6e 65 22 3e 3c 73 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
2ef80 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
2efa0 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"><
2efc0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 /span>.<span.class="line"><span.
2efe0 63 6c 61 73 73 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
2f000 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
2f020 20 6c 69 73 74 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e .list.literal.syntax&quot;</span
2f040 3e 20 7b 3c 2f 73 70 61 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">..
2f060 20 20 3c 73 70 61 6e 20 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
2f080 3e 20 61 72 72 61 79 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 >.array:.[<span.class="tok-numbe
2f0a0 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 r">4</span>]<span.class="tok-typ
2f0c0 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f e">u8</span>.=..{<span.class="to
2f0e0 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-number">11</span>,.<span.class
2f100 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ="tok-number">22</span>,.<span.c
2f120 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 lass="tok-number">33</span>,.<sp
2f140 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 34 3c 2f 73 70 61 6e 3e 7d an.class="tok-number">44</span>}
2f160 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
2f180 3c 73 70 61 6e 20 63 6c 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>.
2f1a0 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 expect(array[<span.class="tok-nu
2f1c0 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 mber">0</span>].==.<span.class="
2f1e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-number">11</span>);</span>.<
2f200 73 70 61 6e 20 63 6c 61 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
2f220 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 s="tok-kw">try</span>.expect(arr
2f240 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 ay[<span.class="tok-number">1</s
2f260 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
2f280 22 3e 32 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">22</span>);</span>.<span.class
2f2a0 3d 22 6c 69 6e 65 22 3e 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"
2f2c0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 >try</span>.expect(array[<span.c
2f2e0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c lass="tok-number">2</span>].==.<
2f300 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 33 3c 2f 73 70 61 6e span.class="tok-number">33</span
2f320 3e 29 3b 3c 2f 73 70 61 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">..
2f340 20 20 3c 73 70 61 6e 20 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
2f360 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >.expect(array[<span.class="tok-
2f380 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 number">3</span>].==.<span.class
2f3a0 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>
2f3c0 0a 3c 73 70 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
2f3e0 64 65 3e 3c 2f 70 72 65 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
2f400 70 74 69 6f 6e 20 63 6c 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
2f420 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
2f440 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 6e 6f 6e 5f 6c 69 73 ="line">$.<kbd>zig.test.anon_lis
2f460 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="
2f480 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 6c line">1/1.test.&quot;anonymous.l
2f4a0 69 73 74 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f ist.literal.syntax&quot;....OK</
2f4c0 73 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
2f4e0 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
2f500 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 ></figure>.......<p>.......If.th
2f520 65 72 65 20 69 73 20 6e 6f 20 74 79 70 65 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6c 6f 63 ere.is.no.type.in.the.result.loc
2f540 61 74 69 6f 6e 20 74 68 65 6e 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 6c 69 73 74 20 6c 69 74 ation.then.an.anonymous.list.lit
2f560 65 72 61 6c 20 61 63 74 75 61 6c 6c 79 0a 20 20 20 20 20 20 74 75 72 6e 73 20 69 6e 74 6f 20 61 eral.actually.......turns.into.a
2f580 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 77 69 .<a.href="#struct">struct</a>.wi
2f5a0 74 68 20 6e 75 6d 62 65 72 65 64 20 66 69 65 6c 64 20 6e 61 6d 65 73 3a 0a 20 20 20 20 20 20 3c th.numbered.field.names:.......<
2f5c0 2f 70 3e 0a 20 20 20 20 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
2f5e0 61 73 73 3d 22 7a 69 67 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"
2f600 3e 69 6e 66 65 72 5f 6c 69 73 74 5f 6c 69 74 65 72 61 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f >infer_list_literal.zig</cite></
2f620 66 69 67 63 61 70 74 69 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
2f640 73 3d 22 6c 69 6e 65 22 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
2f660 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
2f680 6b 2d 62 75 69 6c 74 69 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.
2f6a0 63 6c 61 73 73 3d 22 74 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;<
2f6c0 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
2f6e0 65 22 3e 3c 73 70 61 6e 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
2f700 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
2f720 3b 3c 2f 73 70 61 6e 3e 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
2f740 61 6e 3e 0a 3c 73 70 61 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
2f760 73 73 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
2f780 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6c 6c 79 20 61 6e 6f 6e 79 6d ass="tok-str">&quot;fully.anonym
2f7a0 6f 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c ous.list.literal&quot;</span>.{<
2f7c0 2f 73 70 61 6e 3e 0a 3c 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
2f7e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 75 pan.class="tok-kw">try</span>.du
2f800 6d 70 28 2e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e mp(.{.<span.class="tok-builtin">
2f820 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 @as</span>(<span.class="tok-type
2f840 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">u32</span>,.<span.class="tok-n
2f860 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 umber">1234</span>),.<span.class
2f880 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 ="tok-builtin">@as</span>(<span.
2f8a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-type">f64</span>,.<sp
2f8c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 an.class="tok-number">12.34</spa
2f8e0 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 n>),.<span.class="tok-null">true
2f900 3c 2f 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">&
2f920 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c quot;hi&quot;</span>});</span>.<
2f940 73 70 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
2f960 20 63 6c 61 73 73 3d 22 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
2f980 73 3d 22 6c 69 6e 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
2f9a0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 75 6d </span>.<span.class="tok-fn">dum
2f9c0 70 3c 2f 73 70 61 6e 3e 28 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d p</span>(args:.<span.class="tok-
2f9e0 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 kw">anytype</span>).!<span.class
2fa00 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>
2fa20 0a 3c 73 70 61 6e 20 63 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
2fa40 61 73 73 3d 22 74 6f 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
2fa60 72 67 73 2e 40 26 71 75 6f 74 3b 30 26 71 75 6f 74 3b 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 rgs.@&quot;0&quot;.==.<span.clas
2fa80 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 s="tok-number">1234</span>);</sp
2faa0 61 6e 3e 0a 3c 73 70 61 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
2fac0 20 63 6c 61 73 73 3d 22 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
2fae0 74 28 61 72 67 73 2e 40 26 71 75 6f 74 3b 31 26 71 75 6f 74 3b 20 3d 3d 20 3c 73 70 61 6e 20 63 t(args.@&quot;1&quot;.==.<span.c
2fb00 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 3b lass="tok-number">12.34</span>);
2fb20 3c 2f 73 70 61 6e 3e 0a 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">....<
2fb40 73 70 61 6e 20 63 6c 61 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
2fb60 78 70 65 63 74 28 61 72 67 73 2e 40 26 71 75 6f 74 3b 32 26 71 75 6f 74 3b 29 3b 3c 2f 73 70 61 xpect(args.@&quot;2&quot;);</spa
2fb80 6e 3e 0a 3c 73 70 61 6e 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.
2fba0 63 6c 61 73 73 3d 22 74 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
2fbc0 28 61 72 67 73 2e 40 26 71 75 6f 74 3b 33 26 71 75 6f 74 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 (args.@&quot;3&quot;[<span.class
2fbe0 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
2fc00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 .class="tok-str">'h'</span>);</s
2fc20 70 61 6e 3e 0a 3c 73 70 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
2fc40 6e 20 63 6c 61 73 73 3d 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
2fc60 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
2fc80 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 ss="tok-number">1</span>].==.<sp
2fca0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 69 27 3c 2f 73 70 61 6e 3e 29 3b 3c an.class="tok-str">'i'</span>);<
2fcc0 2f 73 70 61 6e 3e 0a 3c 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
2fce0 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>
2fd00 3c 66 69 67 63 61 70 74 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
2fd20 65 6c 6c 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
2fd40 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
2fd60 66 65 72 5f 6c 69 73 74 5f 6c 69 74 65 72 61 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e fer_list_literal.zig</kbd></span
2fd80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 >.<span.class="line">1/1.test.&q
2fda0 75 6f 74 3b 66 75 6c 6c 79 20 61 6e 6f 6e 79 6d 6f 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c uot;fully.anonymous.list.literal
2fdc0 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
2fde0 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
2fe00 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>........
2fe20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d .......<h3.id="Multidimensional-
2fe40 41 72 72 61 79 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4d 75 6c 74 69 64 69 6d 65 6e Arrays"><a.href="#toc-Multidimen
2fe60 73 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 3e 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 sional-Arrays">Multidimensional.
2fe80 41 72 72 61 79 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 Arrays</a>.<a.class="hdr".href="
2fea0 23 4d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 3e c2 a7 3c 2f 61 3e #Multidimensional-Arrays">..</a>
2fec0 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 75 6c 74 69 64 69 6d 65 </h3>........<p>.......Multidime
2fee0 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 73 20 63 61 6e 20 62 65 20 63 72 65 61 74 65 64 20 62 79 nsional.arrays.can.be.created.by
2ff00 20 6e 65 73 74 69 6e 67 20 61 72 72 61 79 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .nesting.arrays:.......</p>.....
2ff20 20 20 3c 66 69 67 75 72 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
2ff40 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 75 6c 74 69 64 69 -cap"><cite.class="file">multidi
2ff60 6d 65 6e 73 69 6f 6e 61 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e mensional.zig</cite></figcaption
2ff80 3e 3c 70 72 65 3e 3c 63 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"><
2ffa0 73 70 61 6e 20 63 6c 61 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>
2ffc0 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"
2ffe0 3e 40 69 6d 70 6f 72 74 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
30000 2d 73 74 72 22 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>);</
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 3c 73 70 61 6e 20 63 span>.<span.class="line"><span.c
30040 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 lass="tok-kw">const</span>.expec
30060 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c t.=.std.testing.expect;</span>.<
30080 73 70 61 6e 20 63 6c 61 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.
300a0 63 6c 61 73 73 3d 22 6c 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
300c0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 74 34 78 34 20 3d 20 5b 3c 73 70 61 6e 20 63 ">const</span>.mat4x4.=.[<span.c
300e0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 5b 3c 73 70 61 lass="tok-number">4</span>][<spa
30100 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 n.class="tok-number">4</span>]<s
30120 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b pan.class="tok-type">f32</span>{
30140 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5b </span>.<span.class="line">....[
30160 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 _]<span.class="tok-type">f32</sp
30180 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.
301a0 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
301c0 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r">0.0</span>,.<span.class="tok-
301e0 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=
30200 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 3c 2f 73 70 61 6e "tok-number">0.0</span>.},</span
30220 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5b 5f 5d 3c 73 70 61 >.<span.class="line">....[_]<spa
30240 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c n.class="tok-type">f32</span>{.<
30260 73 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
30280 6e 3e 2c 20 3c 73 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
302a0 3c 2f 73 70 61 6e 3e 2c 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
302c0 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
302e0 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 umber">1.0</span>.},</span>.<spa
30300 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 n.class="line">....[_]<span.clas
30320 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 s="tok-type">f32</span>{.<span.c
30340 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 lass="tok-number">0.0</span>,.<s
30360 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
30380 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c >,.<span.class="tok-number">1.0<
303a0 2f 73 70 61 6e 3e 2c 20 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"
303c0 3e 30 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >0.0</span>.},</span>.<span.clas
303e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b s="line">....[_]<span.class="tok
30400 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">f32</span>{.<span.class="
30420 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
30440 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
30460 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>
30480 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f ,.<span.class="tok-number">1.0</
304a0 73 70 61 6e 3e 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e span>.},</span>.<span.class="lin
304c0 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">
304e0 3c 73 70 61 6e 20 63 6c 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>
30500 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 75 6c .<span.class="tok-str">&quot;mul
30520 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e tidimensional.arrays&quot;</span
30540 3e 20 7b 3c 2f 73 70 61 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">..
30560 20 20 3c 73 70 61 6e 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
30580 63 63 65 73 73 20 74 68 65 20 32 44 20 61 72 72 61 79 20 62 79 20 69 6e 64 65 78 69 6e 67 20 74 ccess.the.2D.array.by.indexing.t
305a0 68 65 20 6f 75 74 65 72 20 61 72 72 61 79 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 69 6e 6e he.outer.array,.and.then.the.inn
305c0 65 72 20 61 72 72 61 79 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er.array.</span></span>.<span.cl
305e0 61 73 73 3d 22 6c 69 6e 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-
30600 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 61 74 34 78 34 5b 3c 73 70 kw">try</span>.expect(mat4x4[<sp
30620 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 5b an.class="tok-number">1</span>][
30640 3c 73 70 61 6e 20 63 6c 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
30660 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 >].==.<span.class="tok-number">1
30680 2e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .0</span>);</span>.<span.class="
306a0 6c 69 6e 65 22 3e 3c 2f 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"
306c0 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">/
306e0 2f 20 48 65 72 65 20 77 65 20 69 74 65 72 61 74 65 20 77 69 74 68 20 66 6f 72 20 6c 6f 6f 70 73 /.Here.we.iterate.with.for.loops
30700 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
30720 65 22 3e 20 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<
30740 2f 73 70 61 6e 3e 20 28 6d 61 74 34 78 34 29 20 7c 72 6f 77 2c 20 72 6f 77 5f 69 6e 64 65 78 7c /span>.(mat4x4).|row,.row_index|
30760 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
30780 20 20 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
307a0 70 61 6e 3e 20 28 72 6f 77 29 20 7c 63 65 6c 6c 2c 20 63 6f 6c 75 6d 6e 5f 69 6e 64 65 78 7c 20 pan>.(row).|cell,.column_index|.
307c0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
307e0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c ........<span.class="tok-kw">if<
30800 2f 73 70 61 6e 3e 20 28 72 6f 77 5f 69 6e 64 65 78 20 3d 3d 20 63 6f 6c 75 6d 6e 5f 69 6e 64 65 /span>.(row_index.==.column_inde
30820 78 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 x).{</span>.<span.class="line">.
30840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ...............<span.class="tok-
30860 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 65 6c 6c 20 3d 3d 20 3c 73 kw">try</span>.expect(cell.==.<s
30880 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e pan.class="tok-number">1.0</span
308a0 3e 29 3b 3c 2f 73 70 61 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">..
308c0 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="
308e0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 line">........}</span>.<span.cla
30900 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
30920 73 73 3d 22 6c 69 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><
30940 2f 66 69 67 75 72 65 3e 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
30960 73 3d 22 73 68 65 6c 6c 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>
30980 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">$.
309a0 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2e 7a <kbd>zig.test.multidimensional.z
309c0 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
309e0 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e e">1/1.test.&quot;multidimension
30a00 61 6c 20 61 72 72 61 79 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 al.arrays&quot;....OK</span>.<sp
30a20 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
30a40 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
30a60 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 65 6e 74 69 6e 65 6c >...............<h3.id="Sentinel
30a80 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f -Terminated-Arrays"><a.href="#to
30aa0 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 53 65 c-Sentinel-Terminated-Arrays">Se
30ac0 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 20 3c 61 20 ntinel-Terminated.Arrays</a>.<a.
30ae0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d class="hdr".href="#Sentinel-Term
30b00 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 inated-Arrays">..</a></h3>......
30b20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 3c 73 70 ..<p>.......The.syntax.<code><sp
30b40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 4e 3a 78 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 an.class="line">[N:x]T</span></c
30b60 6f 64 65 3e 20 64 65 73 63 72 69 62 65 73 20 61 6e 20 61 72 72 61 79 20 77 68 69 63 68 20 68 61 ode>.describes.an.array.which.ha
30b80 73 20 61 20 73 65 6e 74 69 6e 65 6c 20 65 6c 65 6d 65 6e 74 20 6f 66 20 76 61 6c 75 65 20 3c 63 s.a.sentinel.element.of.value.<c
30ba0 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><
30bc0 2f 63 6f 64 65 3e 20 61 74 20 74 68 65 0a 20 20 20 20 20 20 69 6e 64 65 78 20 63 6f 72 72 65 73 /code>.at.the.......index.corres
30be0 70 6f 6e 64 69 6e 67 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ponding.to.<code><span.class="li
30c00 6e 65 22 3e 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 ne">len</span></code>........</p
30c20 3e 0a 20 20 20 20 20 20 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
30c40 73 3d 22 7a 69 67 2d 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
30c60 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 61 72 72 61 79 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c ull_terminated_array.zig</cite><
30c80 2f 66 69 67 63 61 70 74 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
30ca0 73 73 3d 22 6c 69 6e 65 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
30cc0 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
30ce0 6f 6b 2d 62 75 69 6c 74 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
30d00 20 63 6c 61 73 73 3d 22 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;
30d20 3c 2f 73 70 61 6e 3e 29 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
30d40 6e 65 22 3e 3c 73 70 61 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</
30d60 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
30d80 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
30da0 70 61 6e 3e 0a 3c 73 70 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
30dc0 61 73 73 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
30de0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 75 6c 6c 20 74 65 72 6d 69 6e lass="tok-str">&quot;null.termin
30e00 61 74 65 64 20 61 72 72 61 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ated.array&quot;</span>.{</span>
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 3c 73 70 61 6e 20 63 6c .<span.class="line">....<span.cl
30e40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 ass="tok-kw">const</span>.array.
30e60 3d 20 5b 5f 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c =.[_:<span.class="tok-number">0<
30e80 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 /span>]<span.class="tok-type">u8
30ea0 3c 2f 73 70 61 6e 3e 20 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 </span>.{<span.class="tok-number
30ec0 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
30ee0 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-
30f00 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">3</span>,.<span.class="t
30f20 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
30f40 61 6e 20 63 6c 61 73 73 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
30f60 61 73 73 3d 22 6c 69 6e 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-
30f80 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 kw">try</span>.expect(<span.clas
30fa0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 s="tok-builtin">@TypeOf</span>(a
30fc0 72 72 61 79 29 20 3d 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 rray).==.[<span.class="tok-numbe
30fe0 72 22 3e 34 3c 2f 73 70 61 6e 3e 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d r">4</span>:<span.class="tok-num
31000 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ber">0</span>]<span.class="tok-t
31020 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ype">u8</span>);</span>.<span.cl
31040 61 73 73 3d 22 6c 69 6e 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-
31060 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 2e 6c 65 6e 20 kw">try</span>.expect(array.len.
31080 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 ==.<span.class="tok-number">4</s
310a0 70 61 6e 3e 29 3b 3c 2f 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"
310c0 3e 20 20 20 20 3c 73 70 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
310e0 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>.expect(array[<span.class="t
31100 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c ok-number">4</span>].==.<span.cl
31120 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ass="tok-number">0</span>);</spa
31140 6e 3e 0a 3c 73 70 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></
31160 63 6f 64 65 3e 3c 2f 70 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
31180 63 61 70 74 69 6f 6e 20 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<
311a0 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
311c0 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 6e 75 6c 6c 5f 74 ss="line">$.<kbd>zig.test.null_t
311e0 65 72 6d 69 6e 61 74 65 64 5f 61 72 72 61 79 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e erminated_array.zig</kbd></span>
31200 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
31220 6f 74 3b 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 61 72 72 61 79 26 71 75 6f 74 3b 2e 2e ot;null.terminated.array&quot;..
31240 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
31260 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
31280 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c ></pre></figure>.......<p>See.al
312a0 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e so:</p><ul>.<li><a.href="#Sentin
312c0 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c el-Terminated-Pointers">Sentinel
312e0 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c -Terminated.Pointers</a></li>.<l
31300 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d i><a.href="#Sentinel-Terminated-
31320 53 6c 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 53 6c 69 63 Slices">Sentinel-Terminated.Slic
31340 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 es</a></li>.</ul>...............
31360 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 56 65 63 74 6f 72 73 22 3e 3c 61 20 68 72 65 66 ........<h2.id="Vectors"><a.href
31380 3d 22 23 74 6f 63 2d 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 ="#toc-Vectors">Vectors</a>.<a.c
313a0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e c2 a7 3c 2f 61 lass="hdr".href="#Vectors">..</a
313c0 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 76 65 63 74 6f 72 ></h2>........<p>.......A.vector
313e0 20 69 73 20 61 20 67 72 6f 75 70 20 6f 66 20 62 6f 6f 6c 65 61 6e 73 2c 20 3c 61 20 68 72 65 66 .is.a.group.of.booleans,.<a.href
31400 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 ="#Integers">Integers</a>,.<a.hr
31420 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 ef="#Floats">Floats</a>,.or.<a.h
31440 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 77 68 69 ref="#Pointers">Pointers</a>.whi
31460 63 68 20 61 72 65 20 6f 70 65 72 61 74 65 64 20 6f 6e 0a 20 20 20 20 20 20 69 6e 20 70 61 72 61 ch.are.operated.on.......in.para
31480 6c 6c 65 6c 20 75 73 69 6e 67 20 53 49 4d 44 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 20 56 65 llel.using.SIMD.instructions..Ve
314a0 63 74 6f 72 20 74 79 70 65 73 20 61 72 65 20 63 72 65 61 74 65 64 20 77 69 74 68 20 74 68 65 20 ctor.types.are.created.with.the.
314c0 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 22 builtin.function.<a.href="#Type"
314e0 3e 40 54 79 70 65 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 6f 72 20 75 73 69 6e 67 20 74 68 65 20 73 >@Type</a>,.......or.using.the.s
31500 68 6f 72 74 68 61 6e 64 20 66 75 6e 63 74 69 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c horthand.function.<code><span.cl
31520 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 3c 2f 73 70 61 6e ass="line">std.meta.Vector</span
31540 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>..
31560 20 20 20 20 20 56 65 63 74 6f 72 73 20 73 75 70 70 6f 72 74 20 74 68 65 20 73 61 6d 65 20 62 75 .....Vectors.support.the.same.bu
31580 69 6c 74 69 6e 20 6f 70 65 72 61 74 6f 72 73 20 61 73 20 74 68 65 69 72 20 75 6e 64 65 72 6c 79 iltin.operators.as.their.underly
315a0 69 6e 67 20 62 61 73 65 20 74 79 70 65 73 2e 20 54 68 65 73 65 20 6f 70 65 72 61 74 69 6f 6e 73 ing.base.types..These.operations
315c0 20 61 72 65 20 70 65 72 66 6f 72 6d 65 64 0a 20 20 20 20 20 20 65 6c 65 6d 65 6e 74 2d 77 69 73 .are.performed.......element-wis
315e0 65 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 76 65 63 74 6f 72 20 6f 66 20 74 68 65 20 73 61 e,.and.return.a.vector.of.the.sa
31600 6d 65 20 6c 65 6e 67 74 68 20 61 73 20 74 68 65 20 69 6e 70 75 74 20 76 65 63 74 6f 72 73 2e 20 me.length.as.the.input.vectors..
31620 54 68 69 73 20 69 6e 63 6c 75 64 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 This.includes:.......</p>.......
31640 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 72 69 74 68 6d 65 74 69 63 20 28 3c <ul>...........<li>Arithmetic.(<
31660 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 3c 2f 73 70 61 6e 3e code><span.class="line">+</span>
31680 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </code>,.<code><span.class="line
316a0 22 3e 2d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ">-</span></code>,.<code><span.c
316c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f lass="line">/</span></code>,.<co
316e0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">*</span></
31700 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 code>,..........................
31720 3c 63 6f 64 65 3e 3c 73 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
31740 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 lass="tok-builtin">@divFloor</sp
31760 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 an></span></code>,.<code><span.c
31780 6c 61 73 73 3d 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
317a0 6c 74 69 6e 22 3e 40 73 71 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ltin">@sqrt</span></span></code>
317c0 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
317e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 65 69 6c 3c 2f 73 70 61 6e .class="tok-builtin">@ceil</span
31800 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>,................
31820 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ..........<code><span.class="lin
31840 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f e"><span.class="tok-builtin">@lo
31860 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 74 63 2e 29 3c 2f 6c g</span></span></code>,.etc.)</l
31880 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 42 69 74 77 69 73 65 20 6f 70 65 72 61 74 6f i>...........<li>Bitwise.operato
318a0 72 73 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 67 74 rs.(<code><span.class="line">&gt
318c0 3b 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ;&gt;</span></code>,.<code><span
318e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 6c 74 3b 26 6c 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 .class="line">&lt;&lt;</span></c
31900 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 ode>,.<code><span.class="line">&
31920 61 6d 70 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 amp;</span></code>,.............
31940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e .....................<code><span
31960 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c .class="line">|</span></code>,.<
31980 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7e 3c 2f 73 70 61 6e 3e code><span.class="line">~</span>
319a0 3c 2f 63 6f 64 65 3e 2c 20 65 74 63 2e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c </code>,.etc.)</li>...........<l
319c0 69 3e 43 6f 6d 70 61 72 69 73 6f 6e 20 6f 70 65 72 61 74 6f 72 73 20 28 3c 63 6f 64 65 3e 3c 73 i>Comparison.operators.(<code><s
319e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 6c 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f pan.class="line">&lt;</span></co
31a00 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 67 de>,.<code><span.class="line">&g
31a20 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
31a40 61 73 73 3d 22 6c 69 6e 65 22 3e 3d 3d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 74 63 ass="line">==</span></code>,.etc
31a60 2e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 .)</li>.......</ul>.......<p>...
31a80 20 20 20 20 49 74 20 69 73 20 70 72 6f 68 69 62 69 74 65 64 20 74 6f 20 75 73 65 20 61 20 6d 61 ....It.is.prohibited.to.use.a.ma
31aa0 74 68 20 6f 70 65 72 61 74 6f 72 20 6f 6e 20 61 20 6d 69 78 74 75 72 65 20 6f 66 20 73 63 61 6c th.operator.on.a.mixture.of.scal
31ac0 61 72 73 20 28 69 6e 64 69 76 69 64 75 61 6c 20 6e 75 6d 62 65 72 73 29 20 61 6e 64 20 76 65 63 ars.(individual.numbers).and.vec
31ae0 74 6f 72 73 2e 0a 20 20 20 20 20 20 5a 69 67 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 3c 61 20 tors........Zig.provides.the.<a.
31b00 68 72 65 66 3d 22 23 73 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e 20 62 75 69 6c 74 69 6e href="#splat">@splat</a>.builtin
31b20 20 74 6f 20 65 61 73 69 6c 79 20 63 6f 6e 76 65 72 74 20 66 72 6f 6d 20 73 63 61 6c 61 72 73 20 .to.easily.convert.from.scalars.
31b40 74 6f 20 76 65 63 74 6f 72 73 2c 20 61 6e 64 20 69 74 20 73 75 70 70 6f 72 74 73 20 3c 61 20 68 to.vectors,.and.it.supports.<a.h
31b60 72 65 66 3d 22 23 72 65 64 75 63 65 22 3e 40 72 65 64 75 63 65 3c 2f 61 3e 0a 20 20 20 20 20 20 ref="#reduce">@reduce</a>.......
31b80 61 6e 64 20 61 72 72 61 79 20 69 6e 64 65 78 69 6e 67 20 73 79 6e 74 61 78 20 74 6f 20 63 6f 6e and.array.indexing.syntax.to.con
31ba0 76 65 72 74 20 66 72 6f 6d 20 76 65 63 74 6f 72 73 20 74 6f 20 73 63 61 6c 61 72 73 2e 20 56 65 vert.from.vectors.to.scalars..Ve
31bc0 63 74 6f 72 73 20 61 6c 73 6f 20 73 75 70 70 6f 72 74 20 61 73 73 69 67 6e 6d 65 6e 74 20 74 6f ctors.also.support.assignment.to
31be0 20 61 6e 64 20 66 72 6f 6d 0a 20 20 20 20 20 20 66 69 78 65 64 2d 6c 65 6e 67 74 68 20 61 72 72 .and.from.......fixed-length.arr
31c00 61 79 73 20 77 69 74 68 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 2e 0a ays.with.comptime.known.length..
31c20 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 72 ......</p>.......<p>.......For.r
31c40 65 61 72 72 61 6e 67 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 77 69 74 68 69 6e 20 61 6e 64 20 62 earranging.elements.within.and.b
31c60 65 74 77 65 65 6e 20 76 65 63 74 6f 72 73 2c 20 5a 69 67 20 70 72 6f 76 69 64 65 73 20 74 68 65 etween.vectors,.Zig.provides.the
31c80 20 3c 61 20 68 72 65 66 3d 22 23 73 68 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e .<a.href="#shuffle">@shuffle</a>
31ca0 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 73 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 74 3c 2f .and.<a.href="#select">@select</
31cc0 61 3e 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c a>.functions........</p>.......<
31ce0 70 3e 0a 20 20 20 20 20 20 4f 70 65 72 61 74 69 6f 6e 73 20 6f 6e 20 76 65 63 74 6f 72 73 20 73 p>.......Operations.on.vectors.s
31d00 68 6f 72 74 65 72 20 74 68 61 6e 20 74 68 65 20 74 61 72 67 65 74 20 6d 61 63 68 69 6e 65 27 73 horter.than.the.target.machine's
31d20 20 6e 61 74 69 76 65 20 53 49 4d 44 20 73 69 7a 65 20 77 69 6c 6c 20 74 79 70 69 63 61 6c 6c 79 .native.SIMD.size.will.typically
31d40 20 63 6f 6d 70 69 6c 65 20 74 6f 20 73 69 6e 67 6c 65 20 53 49 4d 44 0a 20 20 20 20 20 20 69 6e .compile.to.single.SIMD.......in
31d60 73 74 72 75 63 74 69 6f 6e 73 2c 20 77 68 69 6c 65 20 76 65 63 74 6f 72 73 20 6c 6f 6e 67 65 72 structions,.while.vectors.longer
31d80 20 74 68 61 6e 20 74 68 65 20 74 61 72 67 65 74 20 6d 61 63 68 69 6e 65 27 73 20 6e 61 74 69 76 .than.the.target.machine's.nativ
31da0 65 20 53 49 4d 44 20 73 69 7a 65 20 77 69 6c 6c 20 63 6f 6d 70 69 6c 65 20 74 6f 20 6d 75 6c 74 e.SIMD.size.will.compile.to.mult
31dc0 69 70 6c 65 20 53 49 4d 44 0a 20 20 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 20 49 66 iple.SIMD.......instructions..If
31de0 20 61 20 67 69 76 65 6e 20 6f 70 65 72 61 74 69 6f 6e 20 64 6f 65 73 6e 27 74 20 68 61 76 65 20 .a.given.operation.doesn't.have.
31e00 53 49 4d 44 20 73 75 70 70 6f 72 74 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 61 72 63 68 69 SIMD.support.on.the.target.archi
31e20 74 65 63 74 75 72 65 2c 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 77 69 6c 6c 20 64 65 66 61 75 tecture,.the.compiler.will.defau
31e40 6c 74 0a 20 20 20 20 20 20 74 6f 20 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20 65 61 63 68 20 76 65 lt.......to.operating.on.each.ve
31e60 63 74 6f 72 20 65 6c 65 6d 65 6e 74 20 6f 6e 65 20 61 74 20 61 20 74 69 6d 65 2e 20 5a 69 67 20 ctor.element.one.at.a.time..Zig.
31e80 73 75 70 70 6f 72 74 73 20 61 6e 79 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 76 65 63 74 supports.any.comptime-known.vect
31ea0 6f 72 20 6c 65 6e 67 74 68 20 75 70 20 74 6f 20 32 5e 33 32 2d 31 2c 0a 20 20 20 20 20 20 61 6c or.length.up.to.2^32-1,.......al
31ec0 74 68 6f 75 67 68 20 73 6d 61 6c 6c 20 70 6f 77 65 72 73 20 6f 66 20 74 77 6f 20 28 32 2d 36 34 though.small.powers.of.two.(2-64
31ee0 29 20 61 72 65 20 6d 6f 73 74 20 74 79 70 69 63 61 6c 2e 20 4e 6f 74 65 20 74 68 61 74 20 65 78 ).are.most.typical..Note.that.ex
31f00 63 65 73 73 69 76 65 6c 79 20 6c 6f 6e 67 20 76 65 63 74 6f 72 20 6c 65 6e 67 74 68 73 20 28 65 cessively.long.vector.lengths.(e
31f20 2e 67 2e 20 32 5e 32 30 29 20 6d 61 79 0a 20 20 20 20 20 20 72 65 73 75 6c 74 20 69 6e 20 63 6f .g..2^20).may.......result.in.co
31f40 6d 70 69 6c 65 72 20 63 72 61 73 68 65 73 20 6f 6e 20 63 75 72 72 65 6e 74 20 76 65 72 73 69 6f mpiler.crashes.on.current.versio
31f60 6e 73 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 ns.of.Zig........</p>.......<fig
31f80 75 72 65 3e 3c 66 69 67 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">
31fa0 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 65 63 74 6f 72 5f 65 78 61 6d 70 6c <cite.class="file">vector_exampl
31fc0 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
31fe0 6f 64 65 3e 3c 73 70 61 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
32000 73 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.=.<
32020 73 70 61 6e 20 63 6c 61 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
32040 3c 2f 73 70 61 6e 3e 28 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
32060 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
32080 70 61 6e 20 63 6c 61 73 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
320a0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 65 63 74 6f 72 20 3d 20 73 74 64 2e k-kw">const</span>.Vector.=.std.
320c0 6d 65 74 61 2e 56 65 63 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d meta.Vector;</span>.<span.class=
320e0 22 6c 69 6e 65 22 3e 3c 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
32100 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 3d 20 73 74 64 2e 74 65 73 74 69 t</span>.expectEqual.=.std.testi
32120 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ng.expectEqual;</span>.<span.cla
32140 73 73 3d 22 6c 69 6e 65 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
32160 69 6e 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</
32180 73 70 61 6e 3e 20 3c 73 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
321a0 74 3b 42 61 73 69 63 20 76 65 63 74 6f 72 20 75 73 61 67 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e t;Basic.vector.usage&quot;</span
321c0 3e 20 7b 3c 2f 73 70 61 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">..
321e0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 56 ..<span.class="tok-comment">//.V
32200 65 63 74 6f 72 73 20 68 61 76 65 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e ectors.have.a.compile-time.known
32220 20 6c 65 6e 67 74 68 20 61 6e 64 20 62 61 73 65 20 74 79 70 65 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 .length.and.base.type,</span></s
32240 70 61 6e 3e 0a 3c 73 70 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
32260 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 64 20 63 61 6e n.class="tok-comment">//.and.can
32280 20 62 65 20 61 73 73 69 67 6e 65 64 20 74 6f 20 75 73 69 6e 67 20 61 72 72 61 79 20 6c 69 74 65 .be.assigned.to.using.array.lite
322a0 72 61 6c 20 73 79 6e 74 61 78 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ral.syntax</span></span>.<span.c
322c0 6c 61 73 73 3d 22 6c 69 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
322e0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 56 65 63 74 6f 72 28 3c 73 70 61 -kw">const</span>.a:.Vector(<spa
32300 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-number">4</span>,.<
32320 73 70 61 6e 20 63 6c 61 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>
32340 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 ).=.[_]<span.class="tok-type">i3
32360 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
32380 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
323a0 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
323c0 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="
323e0 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>.<
32400 73 70 61 6e 20 63 6c 61 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
32420 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 56 65 63 74 6f s="tok-kw">const</span>.b:.Vecto
32440 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 r(<span.class="tok-number">4</sp
32460 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<
32480 2f 73 70 61 6e 3e 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 /span>).=.[_]<span.class="tok-ty
324a0 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pe">i32</span>{.<span.class="tok
324c0 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">5</span>,.<span.class="
324e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 tok-number">6</span>,.<span.clas
32500 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 s="tok-number">7</span>,.<span.c
32520 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 lass="tok-number">8</span>.};</s
32540 70 61 6e 3e 0a 3c 73 70 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>.
32560 3c 73 70 61 6e 20 63 6c 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
32580 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4d 61 74 68 20 6f 70 65 72 61 74 69 ss="tok-comment">//.Math.operati
325a0 6f 6e 73 20 74 61 6b 65 20 70 6c 61 63 65 20 65 6c 65 6d 65 6e 74 2d 77 69 73 65 3c 2f 73 70 61 ons.take.place.element-wise</spa
325c0 6e 3e 3c 2f 73 70 61 6e 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">...
325e0 20 3c 73 70 61 6e 20 63 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
32600 6e 3e 20 63 20 3d 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 n>.c.=.a.+.b;</span>.<span.class
32620 3d 22 6c 69 6e 65 22 3e 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
32640 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"
32660 3e 2f 2f 20 49 6e 64 69 76 69 64 75 61 6c 20 76 65 63 74 6f 72 20 65 6c 65 6d 65 6e 74 73 20 63 >//.Individual.vector.elements.c
32680 61 6e 20 62 65 20 61 63 63 65 73 73 65 64 20 75 73 69 6e 67 20 61 72 72 61 79 20 69 6e 64 65 78 an.be.accessed.using.array.index
326a0 69 6e 67 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ing.syntax.</span></span>.<span.
326c0 63 6c 61 73 73 3d 22 6c 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
326e0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 k-kw">try</span>.expectEqual(<sp
32700 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">6</span>,.
32720 63 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 c[<span.class="tok-number">0</sp
32740 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>]);</span>.<span.class="line"
32760 3e 20 20 20 20 3c 73 70 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
32780 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.expectEqual(<span.class="to
327a0 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 2c 20 63 5b 3c 73 70 61 6e 20 63 6c 61 73 k-number">8</span>,.c[<span.clas
327c0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e s="tok-number">1</span>]);</span
327e0 3e 0a 3c 73 70 61 6e 20 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
32800 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 lass="tok-kw">try</span>.expectE
32820 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 qual(<span.class="tok-number">10
32840 3c 2f 73 70 61 6e 3e 2c 20 63 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 </span>,.c[<span.class="tok-numb
32860 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 er">2</span>]);</span>.<span.cla
32880 73 73 3d 22 6c 69 6e 65 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
328a0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 w">try</span>.expectEqual(<span.
328c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 2c 20 63 5b class="tok-number">12</span>,.c[
328e0 3c 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
32900 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d >]);</span>.<span.class="line">}
32920 3c 2f 73 70 61 6e 3e 0a 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
32940 6e 3e 0a 3c 73 70 61 6e 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
32960 73 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
32980 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 43 6f 6e 76 65 72 73 69 6f 6e 20 62 65 ss="tok-str">&quot;Conversion.be
329a0 74 77 65 65 6e 20 76 65 63 74 6f 72 73 2c 20 61 72 72 61 79 73 2c 20 61 6e 64 20 73 6c 69 63 65 tween.vectors,.arrays,.and.slice
329c0 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c s&quot;</span>.{</span>.<span.cl
329e0 61 73 73 3d 22 6c 69 6e 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-
32a00 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 56 65 63 74 6f 72 73 20 61 6e 64 20 66 69 78 65 64 2d 6c 65 comment">//.Vectors.and.fixed-le
32a20 6e 67 74 68 20 61 72 72 61 79 73 20 63 61 6e 20 62 65 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 ngth.arrays.can.be.automatically
32a40 20 61 73 73 69 67 6e 65 64 20 62 61 63 6b 20 61 6e 64 20 66 6f 72 74 68 3c 2f 73 70 61 6e 3e 3c .assigned.back.and.forth</span><
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 20 20 20 20 3c 73 /span>.<span.class="line">....<s
32a80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 pan.class="tok-kw">var</span>.ar
32aa0 72 31 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c r1:.[<span.class="tok-number">4<
32ac0 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 /span>]<span.class="tok-type">f3
32ae0 32 3c 2f 73 70 61 6e 3e 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 2</span>.=.[_]<span.class="tok-t
32b00 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">f32</span>{.<span.class="to
32b20 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 k-number">1.1</span>,.<span.clas
32b40 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e s="tok-number">3.2</span>,.<span
32b60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 2e 35 3c 2f 73 70 61 6e 3e 2c 20 .class="tok-number">4.5</span>,.
32b80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 2e 36 3c 2f 73 70 <span.class="tok-number">5.6</sp
32ba0 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>.};</span>.<span.class="line"
32bc0 3e 20 20 20 20 3c 73 70 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
32be0 70 61 6e 3e 20 76 65 63 3a 20 56 65 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.vec:.Vector(<span.class="to
32c00 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">4</span>,.<span.class=
32c20 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 61 72 72 31 3b 3c 2f "tok-type">f32</span>).=.arr1;</
32c40 73 70 61 6e 3e 0a 3c 73 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
32c60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 an.class="tok-kw">var</span>.arr
32c80 32 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 2:.[<span.class="tok-number">4</
32ca0 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 span>]<span.class="tok-type">f32
32cc0 3c 2f 73 70 61 6e 3e 20 3d 20 76 65 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 </span>.=.vec;</span>.<span.clas
32ce0 73 3d 22 6c 69 6e 65 22 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
32d00 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 61 72 72 31 2c 20 61 ">try</span>.expectEqual(arr1,.a
32d20 72 72 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e rr2);</span>.<span.class="line">
32d40 3c 2f 73 70 61 6e 3e 0a 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">....<
32d60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 span.class="tok-comment">//.You.
32d80 63 61 6e 20 61 6c 73 6f 20 61 73 73 69 67 6e 20 66 72 6f 6d 20 61 20 73 6c 69 63 65 20 77 69 74 can.also.assign.from.a.slice.wit
32da0 68 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 74 6f 20 61 20 76 65 63 h.comptime-known.length.to.a.vec
32dc0 74 6f 72 20 75 73 69 6e 67 20 2e 2a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e tor.using..*</span></span>.<span
32de0 20 63 6c 61 73 73 3d 22 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
32e00 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 65 63 32 3a 20 56 65 63 74 6f 72 ok-kw">const</span>.vec2:.Vector
32e20 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
32e40 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f n>,.<span.class="tok-type">f32</
32e60 73 70 61 6e 3e 29 20 3d 20 61 72 72 31 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e span>).=.arr1[<span.class="tok-n
32e80 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">1</span>..<span.class="to
32ea0 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">3</span>].*;</span>.<s
32ec0 70 61 6e 20 63 6c 61 73 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
32ee0 6c 61 73 73 3d 22 6c 69 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
32f00 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 -kw">var</span>.slice:.[]<span.c
32f20 6c 61 73 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
32f40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 .class="tok-type">f32</span>.=.&
32f60 61 6d 70 3b 61 72 72 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 amp;arr1;</span>.<span.class="li
32f80 6e 65 22 3e 20 20 20 20 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
32fa0 3c 2f 73 70 61 6e 3e 20 6f 66 66 73 65 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.offset:.<span.class="tok
32fc0 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=
32fe0 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
33000 70 61 6e 20 63 6c 61 73 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
33020 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 65 78 74 72 61 63 74 20 61 20 63 ="tok-comment">//.To.extract.a.c
33040 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 66 72 6f 6d 20 61 20 72 75 6e 74 omptime-known.length.from.a.runt
33060 69 6d 65 2d 6b 6e 6f 77 6e 20 6f 66 66 73 65 74 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ime-known.offset,</span></span>.
33080 3c 73 70 61 6e 20 63 6c 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
330a0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 69 72 73 74 20 65 78 74 72 61 63 ss="tok-comment">//.first.extrac
330c0 74 20 61 20 6e 65 77 20 73 6c 69 63 65 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 69 6e 67 20 t.a.new.slice.from.the.starting.
330e0 6f 66 66 73 65 74 2c 20 74 68 65 6e 20 61 6e 20 61 72 72 61 79 20 6f 66 3c 2f 73 70 61 6e 3e 3c offset,.then.an.array.of</span><
33100 2f 73 70 61 6e 3e 0a 3c 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
33120 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6d 70 74 pan.class="tok-comment">//.compt
33140 69 6d 65 20 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c ime.known.length</span></span>.<
33160 73 70 61 6e 20 63 6c 61 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
33180 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 65 63 33 3a 20 56 65 s="tok-kw">const</span>.vec3:.Ve
331a0 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c ctor(<span.class="tok-number">2<
331c0 2f 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
331e0 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 73 6c 69 63 65 5b 6f 66 66 73 65 74 2e 2e 5d 5b 3c 73 70 32</span>).=.slice[offset..][<sp
33200 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e an.class="tok-number">0</span>..
33220 3c 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
33240 3e 5d 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e >].*;</span>.<span.class="line">
33260 20 20 20 20 3c 73 70 61 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
33280 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 73 6c 69 63 65 5b 6f 66 66 73 65 74 5d 2c 20 76 an>.expectEqual(slice[offset],.v
332a0 65 63 32 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f ec2[<span.class="tok-number">0</
332c0 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e span>]);</span>.<span.class="lin
332e0 65 22 3e 20 20 20 20 3c 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<
33300 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 73 6c 69 63 65 5b 6f 66 66 73 65 74 20 /span>.expectEqual(slice[offset.
33320 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
33340 61 6e 3e 5d 2c 20 76 65 63 32 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 an>],.vec2[<span.class="tok-numb
33360 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 er">1</span>]);</span>.<span.cla
33380 73 73 3d 22 6c 69 6e 65 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
333a0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 76 65 63 32 2c 20 w">try</span>.expectEqual(vec2,.
333c0 76 65 63 33 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 vec3);</span>.<span.class="line"
333e0 3e 7d 3c 2f 73 70 61 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><
33400 66 69 67 75 72 65 3e 3c 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-
33420 63 61 70 22 3e 53 68 65 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
33440 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.
33460 74 65 73 74 20 76 65 63 74 6f 72 5f 65 78 61 6d 70 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 test.vector_example.zig</kbd></s
33480 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
334a0 20 26 71 75 6f 74 3b 42 61 73 69 63 20 76 65 63 74 6f 72 20 75 73 61 67 65 26 71 75 6f 74 3b 2e .&quot;Basic.vector.usage&quot;.
334c0 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">
334e0 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 43 6f 6e 76 65 72 73 69 6f 6e 20 62 65 74 77 65 65 2/2.test.&quot;Conversion.betwee
33500 6e 20 76 65 63 74 6f 72 73 2c 20 61 72 72 61 79 73 2c 20 61 6e 64 20 73 6c 69 63 65 73 26 71 75 n.vectors,.arrays,.and.slices&qu
33520 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
33540 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>.<
33560 2f 73 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>.
33580 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
335a0 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
335c0 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......
335e0 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>
33600 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>
33620 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
33640 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
33660 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
33680 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
336a0 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
336c0 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
336e0 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="#
33700 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>
33720 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
33740 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.
33760 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>..........
33780 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
337a0 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
337c0 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........
337e0 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
33800 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.
33820 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>
33840 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>.........
33860 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
33880 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
338a0 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
338c0 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
338e0 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
33900 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
33920 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>..
33940 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.
33960 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"
33980 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></
339a0 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
339c0 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
339e0 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
33a00 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.
33a20 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>..........
33a40 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
33a60 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
33a80 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
33aa0 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
33ac0 6e 20 63 6c 61 73 73 3d 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-
33ae0 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
33b00 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
33b20 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>.......
33b40 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>.....
33b60 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
33b80 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
33ba0 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
33bc0 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>.........<
33be0 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.
33c00 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>
33c20 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
33c40 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..
33c60 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>................
33c80 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
33ca0 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
33cc0 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>............
33ce0 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:.
33d00 3c 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
33d20 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
33d40 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
33d60 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="
33d80 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
33da0 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>........
33dc0 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>........
33de0 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
33e00 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>
33e20 20 2d 20 70 6f 69 6e 74 65 72 20 74 6f 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 20 6e 75 6d 62 .-.pointer.to.runtime-known.numb
33e40 65 72 20 6f 66 20 69 74 65 6d 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 er.of.items..............<ul>...
33e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 69 6e 64 65 78 ..............<li>Supports.index
33e80 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .syntax:.<code><span.class="line
33ea0 22 3e 73 6c 69 63 65 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 ">slice[i]</span></code></li>...
33ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 73 6c 69 63 65 ..............<li>Supports.slice
33ee0 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .syntax:.<code><span.class="line
33f00 22 3e 73 6c 69 63 65 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ">slice[start..end]</span></code
33f20 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f ></li>.................<li>Suppo
33f40 72 74 73 20 6c 65 6e 20 70 72 6f 70 65 72 74 79 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c rts.len.property:.<code><span.cl
33f60 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6c 69 63 65 2e 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ass="line">slice.len</span></cod
33f80 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 e></li>.............</ul>.......
33fa0 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 ......</li>.........</ul>.......
33fc0 20 20 3c 70 3e 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ..<p>Use.<code><span.class="line
33fe0 22 3e 26 61 6d 70 3b 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 6f 62 74 61 69 6e ">&amp;x</span></code>.to.obtain
34000 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 3a 3c 2f 70 3e 0a 20 20 20 20 .a.single-item.pointer:</p>.....
34020 20 20 20 20 3c 66 69 67 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
34040 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 69 6e 67 6c ig-cap"><cite.class="file">singl
34060 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 72 5f 74 65 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f e_item_pointer_test.zig</cite></
34080 66 69 67 63 61 70 74 69 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
340a0 73 3d 22 6c 69 6e 65 22 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
340c0 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=
340e0 22 74 6f 6b 2d 62 75 69 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
34100 61 6e 20 63 6c 61 73 73 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
34120 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
34140 3e 0a 3c 73 70 61 6e 20 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
34160 61 6e 20 63 6c 61 73 73 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
34180 2d 6b 77 22 3e 74 65 73 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
341a0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 64 64 72 65 73 73 20 6f 66 20 73 79 6e 74 61 78 26 71 k-str">&quot;address.of.syntax&q
341c0 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
341e0 3d 22 6c 69 6e 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
34200 6d 65 6e 74 22 3e 2f 2f 20 47 65 74 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 76 61 ment">//.Get.the.address.of.a.va
34220 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 riable:</span></span>.<span.clas
34240 73 3d 22 6c 69 6e 65 22 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
34260 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">const</span>.x:.<span.class="t
34280 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
342a0 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
342c0 6e 3e 0a 3c 73 70 61 6e 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.
342e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 5f 70 74 class="tok-kw">const</span>.x_pt
34300 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="
34320 6c 69 6e 65 22 3e 3c 2f 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"
34340 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">/
34360 2f 20 44 65 72 65 66 65 72 65 6e 63 65 20 61 20 70 6f 69 6e 74 65 72 3a 3c 2f 73 70 61 6e 3e 3c /.Dereference.a.pointer:</span><
34380 2f 73 70 61 6e 3e 0a 3c 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
343a0 70 61 6e 20 63 6c 61 73 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
343c0 70 65 63 74 28 78 5f 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b pect(x_ptr.*.==.<span.class="tok
343e0 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
34400 70 61 6e 20 63 6c 61 73 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
34420 6c 61 73 73 3d 22 6c 69 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
34440 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 68 65 6e 20 79 6f 75 20 67 65 74 20 74 68 65 20 61 64 -comment">//.When.you.get.the.ad
34460 64 72 65 73 73 20 6f 66 20 61 20 63 6f 6e 73 74 20 76 61 72 69 61 62 6c 65 2c 20 79 6f 75 20 67 dress.of.a.const.variable,.you.g
34480 65 74 20 61 20 63 6f 6e 73 74 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2e 3c et.a.const.single-item.pointer.<
344a0 2f 73 70 61 6e 3e 3c 2f 73 70 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"
344c0 3e 20 20 20 20 3c 73 70 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
344e0 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
34500 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 78 5f 70 74 72 29 20 3d 3d 20 2a ltin">@TypeOf</span>(x_ptr).==.*
34520 3c 73 70 61 6e 20 63 6c 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
34540 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 >.<span.class="tok-type">i32</sp
34560 61 6e 3e 29 3b 3c 2f 73 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">
34580 3c 2f 73 70 61 6e 3e 0a 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">....<
345a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 79 span.class="tok-comment">//.If.y
345c0 6f 75 20 77 61 6e 74 20 74 6f 20 6d 75 74 61 74 65 20 74 68 65 20 76 61 6c 75 65 2c 20 79 6f 75 ou.want.to.mutate.the.value,.you
345e0 27 64 20 6e 65 65 64 20 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 6d 75 74 61 62 6c 65 20 'd.need.an.address.of.a.mutable.
34600 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c variable:</span></span>.<span.cl
34620 61 73 73 3d 22 6c 69 6e 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-
34640 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">var</span>.y:.<span.class="t
34660 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
34680 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 s="tok-number">5678</span>;</spa
346a0 6e 3e 0a 3c 73 70 61 6e 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.
346c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 5f 70 74 class="tok-kw">const</span>.y_pt
346e0 72 20 3d 20 26 61 6d 70 3b 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 r.=.&amp;y;</span>.<span.class="
34700 6c 69 6e 65 22 3e 20 20 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
34720 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
34740 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 79 5f 70 74 72 29 k-builtin">@TypeOf</span>(y_ptr)
34760 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c .==.*<span.class="tok-type">i32<
34780 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
347a0 65 22 3e 20 20 20 20 79 5f 70 74 72 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 e">....y_ptr.*.+=.<span.class="t
347c0 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
347e0 6e 20 63 6c 61 73 73 3d 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="
34800 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 5f 70 74 72 2e tok-kw">try</span>.expect(y_ptr.
34820 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 *.==.<span.class="tok-number">56
34840 37 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 79</span>);</span>.<span.class="
34860 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
34880 22 3e 3c 2f 73 70 61 6e 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
348a0 61 6e 20 63 6c 61 73 73 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
348c0 70 61 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
348e0 72 20 61 72 72 61 79 20 61 63 63 65 73 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 r.array.access&quot;</span>.{</s
34900 70 61 6e 3e 0a 3c 73 70 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
34920 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 61 6b 69 6e 67 20 n.class="tok-comment">//.Taking.
34940 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 61 6e 20 69 6e 64 69 76 69 64 75 61 6c 20 65 6c 65 6d an.address.of.an.individual.elem
34960 65 6e 74 20 67 69 76 65 73 20 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ent.gives.a</span></span>.<span.
34980 63 6c 61 73 73 3d 22 6c 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
349a0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 k-comment">//.single-item.pointe
349c0 72 2e 20 54 68 69 73 20 6b 69 6e 64 20 6f 66 20 70 6f 69 6e 74 65 72 3c 2f 73 70 61 6e 3e 3c 2f r..This.kind.of.pointer</span></
349e0 73 70 61 6e 3e 0a 3c 73 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
34a00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 65 73 20 6e an.class="tok-comment">//.does.n
34a20 6f 74 20 73 75 70 70 6f 72 74 20 70 6f 69 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 2e 3c 2f ot.support.pointer.arithmetic.</
34a40 73 70 61 6e 3e 3c 2f 73 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">
34a60 20 20 20 20 3c 73 70 61 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
34a80 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>.array.=.[_]<span.class="tok-
34aa0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f type">u8</span>{.<span.class="to
34ac0 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">1</span>,.<span.class=
34ae0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">2</span>,.<span.cla
34b00 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.
34b20 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
34b40 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>,.
34b60 3c 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
34b80 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 >,.<span.class="tok-number">7</s
34ba0 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 pan>,.<span.class="tok-number">8
34bc0 3c 2f 73 70 61 6e 3e 2c 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
34be0 22 3e 39 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ">9</span>,.<span.class="tok-num
34c00 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ber">10</span>.};</span>.<span.c
34c20 6c 61 73 73 3d 22 6c 69 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
34c40 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 61 72 72 -kw">const</span>.ptr.=.&amp;arr
34c60 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 ay[<span.class="tok-number">2</s
34c80 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"
34ca0 3e 20 20 20 20 3c 73 70 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
34cc0 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
34ce0 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 70 74 72 29 20 3d 3d 20 2a 3c 73 ltin">@TypeOf</span>(ptr).==.*<s
34d00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b pan.class="tok-type">u8</span>);
34d20 3c 2f 73 70 61 6e 3e 0a 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
34d40 6e 3e 0a 3c 73 70 61 6e 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.
34d60 63 6c 61 73 73 3d 22 74 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
34d80 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">
34da0 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
34dc0 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">3</span>);</span>.<span.cl
34de0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 74 72 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c ass="line">....ptr.*.+=.<span.cl
34e00 61 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
34e20 3e 0a 3c 73 70 61 6e 20 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
34e40 6c 61 73 73 3d 22 74 6f 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(
34e60 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 array[<span.class="tok-number">2
34e80 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d </span>].==.<span.class="tok-num
34ea0 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">4</span>);</span>.<span.cla
34ec0 73 73 3d 22 6c 69 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><
34ee0 2f 66 69 67 75 72 65 3e 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
34f00 73 3d 22 73 68 65 6c 6c 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>
34f20 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">$.
34f40 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 69 6e 67 6c 65 5f 69 74 65 6d 5f 70 6f 69 6e 74 65 <kbd>zig.test.single_item_pointe
34f60 72 5f 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c r_test.zig</kbd></span>.<span.cl
34f80 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 61 64 64 72 65 73 ass="line">1/2.test.&quot;addres
34fa0 73 20 6f 66 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c s.of.syntax&quot;....OK</span>.<
34fc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 span.class="line">2/2.test.&quot
34fe0 3b 70 6f 69 6e 74 65 72 20 61 72 72 61 79 20 61 63 63 65 73 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f ;pointer.array.access&quot;....O
35000 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.
35020 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 2.tests.passed.</span>.</samp></
35040 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 pre></figure>.......<p>.........
35060 49 6e 20 5a 69 67 2c 20 77 65 20 67 65 6e 65 72 61 6c 6c 79 20 70 72 65 66 65 72 20 3c 61 20 68 In.Zig,.we.generally.prefer.<a.h
35080 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 20 72 61 74 68 65 72 20 ref="#Slices">Slices</a>.rather.
350a0 74 68 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 than.<a.href="#Sentinel-Terminat
350c0 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 ed-Pointers">Sentinel-Terminated
350e0 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 74 .Pointers</a>..........You.can.t
35100 75 72 6e 20 61 6e 20 61 72 72 61 79 20 6f 72 20 70 6f 69 6e 74 65 72 20 69 6e 74 6f 20 61 20 73 urn.an.array.or.pointer.into.a.s
35120 6c 69 63 65 20 75 73 69 6e 67 20 73 6c 69 63 65 20 73 79 6e 74 61 78 2e 0a 20 20 20 20 20 20 3c lice.using.slice.syntax........<
35140 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 53 6c 69 63 65 73 20 68 61 76 /p>.......<p>.........Slices.hav
35160 65 20 62 6f 75 6e 64 73 20 63 68 65 63 6b 69 6e 67 20 61 6e 64 20 61 72 65 20 74 68 65 72 65 66 e.bounds.checking.and.are.theref
35180 6f 72 65 20 70 72 6f 74 65 63 74 65 64 0a 20 20 20 20 20 20 20 20 61 67 61 69 6e 73 74 20 74 68 ore.protected.........against.th
351a0 69 73 20 6b 69 6e 64 20 6f 66 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 20 54 is.kind.of.undefined.behavior..T
351c0 68 69 73 20 69 73 20 6f 6e 65 20 72 65 61 73 6f 6e 0a 20 20 20 20 20 20 20 20 77 65 20 70 72 65 his.is.one.reason.........we.pre
351e0 66 65 72 20 73 6c 69 63 65 73 20 74 6f 20 70 6f 69 6e 74 65 72 73 2e 0a 20 20 20 20 20 20 3c 2f fer.slices.to.pointers........</
35200 70 3e 0a 20 20 20 20 20 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
35220 73 73 3d 22 7a 69 67 2d 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">
35240 73 6c 69 63 65 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 slice_bounds.zig</cite></figcapt
35260 69 6f 6e 3e 3c 70 72 65 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
35280 22 3e 3c 73 70 61 6e 20 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
352a0 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 an>.expect.=.<span.class="tok-bu
352c0 69 6c 74 69 6e 22 3e 40 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
352e0 73 3d 22 74 6f 6b 2d 73 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
35300 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n>).testing.expect;</span>.<span
35320 20 63 6c 61 73 73 3d 22 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
35340 73 3d 22 6c 69 6e 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
35360 73 74 3c 2f 73 70 61 6e 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">
35380 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 73 6c 69 63 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 &quot;pointer.slicing&quot;</spa
353a0 6e 3e 20 7b 3c 2f 73 70 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">.
353c0 20 20 20 3c 73 70 61 6e 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
353e0 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 n>.array.=.[_]<span.class="tok-t
35400 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ype">u8</span>{.<span.class="tok
35420 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -number">1</span>,.<span.class="
35440 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 tok-number">2</span>,.<span.clas
35460 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 s="tok-number">3</span>,.<span.c
35480 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-number">4</span>,.<spa
354a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-number">5</span>,.<
354c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e span.class="tok-number">6</span>
354e0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 ,.<span.class="tok-number">7</sp
35500 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c an>,.<span.class="tok-number">8<
35520 2f 73 70 61 6e 3e 2c 20 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"
35540 3e 39 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >9</span>,.<span.class="tok-numb
35560 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er">10</span>.};</span>.<span.cl
35580 61 73 73 3d 22 6c 69 6e 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-
355a0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 3c kw">const</span>.slice.=.array[<
355c0 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>
355e0 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 ..<span.class="tok-number">4</sp
35600 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">
35620 20 20 20 20 3c 73 70 61 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
35640 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c an>.expect(slice.len.==.<span.cl
35660 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ass="tok-number">2</span>);</spa
35680 6e 3e 0a 3c 73 70 61 6e 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
356a0 70 61 6e 20 63 6c 61 73 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
356c0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 72 61 ="tok-kw">try</span>.expect(arra
356e0 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 y[<span.class="tok-number">3</sp
35700 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"
35720 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="
35740 6c 69 6e 65 22 3e 20 20 20 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b line">....slice[<span.class="tok
35760 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -number">1</span>].+=.<span.clas
35780 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>.
357a0 3c 73 70 61 6e 20 63 6c 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
357c0 73 73 3d 22 74 6f 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
357e0 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f ray[<span.class="tok-number">3</
35800 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
35820 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r">5</span>);</span>.<span.class
35840 3d 22 6c 69 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
35860 69 67 75 72 65 3e 3c 66 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=
35880 22 73 68 65 6c 6c 2d 63 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
358a0 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
358c0 62 64 3e 7a 69 67 20 74 65 73 74 20 73 6c 69 63 65 5f 62 6f 75 6e 64 73 2e 7a 69 67 3c 2f 6b 62 bd>zig.test.slice_bounds.zig</kb
358e0 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
35900 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 73 6c 69 63 69 6e 67 26 71 75 6f 74 .test.&quot;pointer.slicing&quot
35920 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
35940 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
35960 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 50 6f 69 amp></pre></figure>.......<p>Poi
35980 6e 74 65 72 73 20 77 6f 72 6b 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 74 6f 6f 2c 20 nters.work.at.compile-time.too,.
359a0 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 63 6f 64 65 20 64 6f 65 73 20 6e 6f 74 20 64 65 70 as.long.as.the.code.does.not.dep
359c0 65 6e 64 20 6f 6e 0a 20 20 20 20 20 20 61 6e 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 6d 6f 72 79 end.on.......an.undefined.memory
359e0 20 6c 61 79 6f 75 74 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 .layout:</p>.......<figure><figc
35a00 61 70 74 69 6f 6e 20 63 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
35a20 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 73 2e 7a 69 67 3c ss="file">comptime_pointers.zig<
35a40 2f 63 69 74 65 3e 3c 2f 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
35a60 70 61 6e 20 63 6c 61 73 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
35a80 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 k-kw">const</span>.expect.=.<spa
35aa0 6e 20 63 6c 61 73 73 3d 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
35ac0 70 61 6e 3e 28 3c 73 70 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
35ae0 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 ;std&quot;</span>).testing.expec
35b00 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
35b20 70 61 6e 3e 0a 3c 73 70 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
35b40 61 73 73 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
35b60 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 70 6f lass="tok-str">&quot;comptime.po
35b80 69 6e 74 65 72 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 inters&quot;</span>.{</span>.<sp
35ba0 61 6e 20 63 6c 61 73 73 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=
35bc0 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
35be0 3e 0a 3c 73 70 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
35c00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 an.class="tok-kw">var</span>.x:.
35c20 3c 73 70 61 6e 20 63 6c 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
35c40 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</
35c60 73 70 61 6e 3e 3b 3c 2f 73 70 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"
35c80 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f >........<span.class="tok-kw">co
35ca0 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a nst</span>.ptr.=.&amp;x;</span>.
35cc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 74 72 2e 2a <span.class="line">........ptr.*
35ce0 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f .+=.<span.class="tok-number">1</
35d00 73 70 61 6e 3e 3b 3c 2f 73 70 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"
35d20 3e 20 20 20 20 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >........x.+=.<span.class="tok-n
35d40 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
35d60 61 73 73 3d 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="
35d80 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 2e 2a 20 tok-kw">try</span>.expect(ptr.*.
35da0 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 ==.<span.class="tok-number">3</s
35dc0 70 61 6e 3e 29 3b 3c 2f 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"
35de0 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"
35e00 3e 7d 3c 2f 73 70 61 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><
35e20 66 69 67 75 72 65 3e 3c 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-
35e40 63 61 70 22 3e 53 68 65 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
35e60 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.
35e80 74 65 73 74 20 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e test.comptime_pointers.zig</kbd>
35ea0 3c 2f 73 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
35ec0 65 73 74 20 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 est.&quot;comptime.pointers&quot
35ee0 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
35f00 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
35f20 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 amp></pre></figure>.......<p>To.
35f40 63 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 61 64 64 72 65 73 73 20 69 6e 74 6f 20 convert.an.integer.address.into.
35f60 61 20 70 6f 69 6e 74 65 72 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 a.pointer,.use.<code><span.class
35f80 3d 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
35fa0 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ">@intToPtr</span></span></code>
35fc0 2e 0a 20 20 20 20 20 20 54 6f 20 63 6f 6e 76 65 72 74 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 ........To.convert.a.pointer.to.
35fe0 61 6e 20 69 6e 74 65 67 65 72 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 an.integer,.use.<code><span.clas
36000 73 3d 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
36020 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 n">@ptrToInt</span></span></code
36040 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e >:</p>.......<figure><figcaption
36060 20 63 6c 61 73 73 3d 22 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
36080 6c 65 22 3e 69 6e 74 65 67 65 72 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e 2e 7a le">integer_pointer_conversion.z
360a0 69 67 3c 2f 63 69 74 65 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
360c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
360e0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c "tok-kw">const</span>.expect.=.<
36100 73 70 61 6e 20 63 6c 61 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
36120 3c 2f 73 70 61 6e 3e 28 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
36140 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
36160 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">
36180 3c 2f 73 70 61 6e 3e 0a 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
361a0 20 63 6c 61 73 73 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
361c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 70 74 72 54 6f 49 6e n.class="tok-str">&quot;@ptrToIn
361e0 74 20 61 6e 64 20 40 69 6e 74 54 6f 50 74 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f t.and.@intToPtr&quot;</span>.{</
36200 73 70 61 6e 3e 0a 3c 73 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
36220 61 6e 20 63 6c 61 73 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
36240 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 tr.=.<span.class="tok-builtin">@
36260 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f intToPtr</span>(*<span.class="to
36280 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">i32</span>,.<span.class=
362a0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b "tok-number">0xdeadbee0</span>);
362c0 3c 2f 73 70 61 6e 3e 0a 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">....<
362e0 73 70 61 6e 20 63 6c 61 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>
36300 20 61 64 64 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e .addr.=.<span.class="tok-builtin
36320 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a ">@ptrToInt</span>(ptr);</span>.
36340 3c 73 70 61 6e 20 63 6c 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
36360 73 73 3d 22 74 6f 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
36380 70 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<
363a0 2f 73 70 61 6e 3e 28 61 64 64 72 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>(addr).==.<span.class="tok
363c0 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -type">usize</span>);</span>.<sp
363e0 61 6e 20 63 6c 61 73 73 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=
36400 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 64 64 72 20 "tok-kw">try</span>.expect(addr.
36420 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 ==.<span.class="tok-number">0xde
36440 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 adbee0</span>);</span>.<span.cla
36460 73 73 3d 22 6c 69 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><
36480 2f 66 69 67 75 72 65 3e 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
364a0 73 3d 22 73 68 65 6c 6c 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>
364c0 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">$.
364e0 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 69 6e 74 65 67 65 72 5f 70 6f 69 6e 74 65 72 5f 63 6f <kbd>zig.test.integer_pointer_co
36500 6e 76 65 72 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 nversion.zig</kbd></span>.<span.
36520 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 70 74 72 class="line">1/1.test.&quot;@ptr
36540 54 6f 49 6e 74 20 61 6e 64 20 40 69 6e 74 54 6f 50 74 72 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c ToInt.and.@intToPtr&quot;....OK<
36560 2f 73 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.
36580 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
365a0 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 69 73 20 61 62 6c 65 e></figure>.......<p>Zig.is.able
365c0 20 74 6f 20 70 72 65 73 65 72 76 65 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 65 73 20 69 6e .to.preserve.memory.addresses.in
365e0 20 63 6f 6d 70 74 69 6d 65 20 63 6f 64 65 2c 20 61 73 20 6c 6f 6e 67 20 61 73 0a 20 20 20 20 20 .comptime.code,.as.long.as......
36600 20 74 68 65 20 70 6f 69 6e 74 65 72 20 69 73 20 6e 65 76 65 72 20 64 65 72 65 66 65 72 65 6e 63 .the.pointer.is.never.dereferenc
36620 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f ed:</p>.......<figure><figcaptio
36640 6e 20 63 6c 61 73 73 3d 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
36660 69 6c 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e ile">comptime_pointer_conversion
36680 2e 7a 69 67 3c 2f 63 69 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
366a0 64 65 3e 3c 73 70 61 6e 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
366c0 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.=
366e0 20 3c 73 70 61 6e 20 63 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
36700 72 74 3c 2f 73 70 61 6e 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">
36720 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.
36740 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
36760 22 3e 3c 2f 73 70 61 6e 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
36780 61 6e 20 63 6c 61 73 73 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
367a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 pan.class="tok-str">&quot;compti
367c0 6d 65 20 40 69 6e 74 54 6f 50 74 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 me.@intToPtr&quot;</span>.{</spa
367e0 6e 3e 0a 3c 73 70 61 6e 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.
36800 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b class="tok-kw">comptime</span>.{
36820 3c 2f 73 70 61 6e 3e 0a 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">.....
36840 20 20 20 3c 73 70 61 6e 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">//.
36860 5a 69 67 20 69 73 20 61 62 6c 65 20 74 6f 20 64 6f 20 74 68 69 73 20 61 74 20 63 6f 6d 70 69 6c Zig.is.able.to.do.this.at.compil
36880 65 2d 74 69 6d 65 2c 20 61 73 20 6c 6f 6e 67 20 61 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e e-time,.as.long.as</span></span>
368a0 0a 3c 73 70 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
368c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 74 72 20 69 73 20 n.class="tok-comment">//.ptr.is.
368e0 6e 65 76 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e never.dereferenced.</span></span
36900 3e 0a 3c 73 70 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
36920 61 6e 20 63 6c 61 73 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
36940 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 tr.=.<span.class="tok-builtin">@
36960 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f intToPtr</span>(*<span.class="to
36980 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">i32</span>,.<span.class=
369a0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b "tok-number">0xdeadbee0</span>);
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 20 </span>.<span.class="line">.....
369e0 20 20 20 3c 73 70 61 6e 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
36a00 70 61 6e 3e 20 61 64 64 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 pan>.addr.=.<span.class="tok-bui
36a20 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 70 74 72 29 3b 3c 2f 73 70 ltin">@ptrToInt</span>(ptr);</sp
36a40 61 6e 3e 0a 3c 73 70 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">........<
36a60 73 70 61 6e 20 63 6c 61 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
36a80 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">
36aa0 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 64 64 72 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c @TypeOf</span>(addr).==.<span.cl
36ac0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 ass="tok-type">usize</span>);</s
36ae0 70 61 6e 3e 0a 3c 73 70 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">........
36b00 3c 73 70 61 6e 20 63 6c 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>.
36b20 65 78 70 65 63 74 28 61 64 64 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d expect(addr.==.<span.class="tok-
36b40 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 number">0xdeadbee0</span>);</spa
36b60 6e 3e 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
36b80 6e 3e 0a 3c 73 70 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></
36ba0 63 6f 64 65 3e 3c 2f 70 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
36bc0 63 61 70 74 69 6f 6e 20 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<
36be0 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
36c00 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 6d 70 74 69 ss="line">$.<kbd>zig.test.compti
36c20 6d 65 5f 70 6f 69 6e 74 65 72 5f 63 6f 6e 76 65 72 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c me_pointer_conversion.zig</kbd><
36c40 2f 73 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
36c60 73 74 20 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 40 69 6e 74 54 6f 50 74 72 26 71 75 6f 74 st.&quot;comptime.@intToPtr&quot
36c80 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
36ca0 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
36cc0 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 amp></pre></figure>.......<p>See
36ce0 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 .also:</p><ul>.<li><a.href="#Opt
36d00 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
36d20 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 50 74 s</a></li>.<li><a.href="#intToPt
36d40 72 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 r">@intToPtr</a></li>.<li><a.hre
36d60 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e f="#ptrToInt">@ptrToInt</a></li>
36d80 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
36da0 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 nters</a></li>.<li><a.href="#Poi
36dc0 6e 74 65 72 73 2d 74 6f 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 50 6f 69 6e 74 65 72 nters-to-Zero-Bit-Types">Pointer
36de0 73 20 74 6f 20 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 s.to.Zero.Bit.Types</a></li>.</u
36e00 6c 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 76 6f 6c 61 74 69 6c 65 22 3e 3c 61 20 68 l>........<h3.id="volatile"><a.h
36e20 72 65 66 3d 22 23 74 6f 63 2d 76 6f 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 61 3e ref="#toc-volatile">volatile</a>
36e40 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 22 .<a.class="hdr".href="#volatile"
36e60 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4c 6f 61 64 73 20 61 6e 64 >..</a></h3>........<p>Loads.and
36e80 20 73 74 6f 72 65 73 20 61 72 65 20 61 73 73 75 6d 65 64 20 74 6f 20 6e 6f 74 20 68 61 76 65 20 .stores.are.assumed.to.not.have.
36ea0 73 69 64 65 20 65 66 66 65 63 74 73 2e 20 49 66 20 61 20 67 69 76 65 6e 20 6c 6f 61 64 20 6f 72 side.effects..If.a.given.load.or
36ec0 20 73 74 6f 72 65 0a 20 20 20 20 20 20 73 68 6f 75 6c 64 20 68 61 76 65 20 73 69 64 65 20 65 66 .store.......should.have.side.ef
36ee0 66 65 63 74 73 2c 20 73 75 63 68 20 61 73 20 4d 65 6d 6f 72 79 20 4d 61 70 70 65 64 20 49 6e 70 fects,.such.as.Memory.Mapped.Inp
36f00 75 74 2f 4f 75 74 70 75 74 20 28 4d 4d 49 4f 29 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 ut/Output.(MMIO),.use.<code><spa
36f20 6e 20 63 6c 61 73 73 3d 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-
36f40 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 kw">volatile</span></span></code
36f60 3e 2e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 2c 20 >........In.the.following.code,.
36f80 6c 6f 61 64 73 20 61 6e 64 20 73 74 6f 72 65 73 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 loads.and.stores.with.<code><spa
36fa0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 6d 69 6f 5f 70 74 72 3c 2f 73 70 61 6e 3e 3c 2f n.class="line">mmio_ptr</span></
36fc0 63 6f 64 65 3e 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 61 6c 6c 20 68 61 70 70 code>.are.guaranteed.to.all.happ
36fe0 65 6e 0a 20 20 20 20 20 20 61 6e 64 20 69 6e 20 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 20 61 en.......and.in.the.same.order.a
37000 73 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 s.in.source.code:</p>.......<fig
37020 75 72 65 3e 3c 66 69 67 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">
37040 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 2e 7a 69 67 3c <cite.class="file">volatile.zig<
37060 2f 63 69 74 65 3e 3c 2f 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
37080 70 61 6e 20 63 6c 61 73 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
370a0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 k-kw">const</span>.expect.=.<spa
370c0 6e 20 63 6c 61 73 73 3d 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
370e0 70 61 6e 3e 28 3c 73 70 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
37100 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 ;std&quot;</span>).testing.expec
37120 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
37140 70 61 6e 3e 0a 3c 73 70 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
37160 61 73 73 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
37180 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 6f 6c 61 74 69 6c 65 26 71 75 lass="tok-str">&quot;volatile&qu
371a0 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=
371c0 22 6c 69 6e 65 22 3e 20 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">
371e0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 6d 69 6f 5f 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c const</span>.mmio_ptr.=.<span.cl
37200 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
37220 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c n>(*<span.class="tok-kw">volatil
37240 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e e</span>.<span.class="tok-type">
37260 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 u8</span>,.<span.class="tok-numb
37280 65 72 22 3e 30 78 31 32 33 34 35 36 37 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c er">0x12345678</span>);</span>.<
372a0 73 70 61 6e 20 63 6c 61 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
372c0 73 3d 22 74 6f 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
372e0 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</
37300 73 70 61 6e 3e 28 6d 6d 69 6f 5f 70 74 72 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>(mmio_ptr).==.*<span.class=
37320 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 "tok-kw">volatile</span>.<span.c
37340 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 lass="tok-type">u8</span>);</spa
37360 6e 3e 0a 3c 73 70 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></
37380 63 6f 64 65 3e 3c 2f 70 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
373a0 63 61 70 74 69 6f 6e 20 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<
373c0 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
373e0 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 76 6f 6c 61 74 69 ss="line">$.<kbd>zig.test.volati
37400 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d le.zig</kbd></span>.<span.class=
37420 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 76 6f 6c 61 74 69 6c 65 26 71 "line">1/1.test.&quot;volatile&q
37440 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uot;....OK</span>.<span.class="l
37460 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>.
37480 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>
374a0 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .......Note.that.<code><span.cla
374c0 73 73 3d 22 6c 69 6e 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
374e0 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 olatile</span></span></code>.is.
37500 75 6e 72 65 6c 61 74 65 64 20 74 6f 20 63 6f 6e 63 75 72 72 65 6e 63 79 20 61 6e 64 20 3c 61 20 unrelated.to.concurrency.and.<a.
37520 68 72 65 66 3d 22 23 41 74 6f 6d 69 63 73 22 3e 41 74 6f 6d 69 63 73 3c 2f 61 3e 2e 0a 20 20 20 href="#Atomics">Atomics</a>.....
37540 20 20 20 49 66 20 79 6f 75 20 73 65 65 20 63 6f 64 65 20 74 68 61 74 20 69 73 20 75 73 69 6e 67 ...If.you.see.code.that.is.using
37560 20 3c 63 6f 64 65 3e 3c 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.
37580 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f class="tok-kw">volatile</span></
375a0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 73 6f 6d 65 74 68 69 6e 67 20 6f 74 68 65 72 span></code>.for.something.other
375c0 20 74 68 61 6e 20 4d 65 6d 6f 72 79 20 4d 61 70 70 65 64 0a 20 20 20 20 20 20 49 6e 70 75 74 2f .than.Memory.Mapped.......Input/
375e0 4f 75 74 70 75 74 2c 20 69 74 20 69 73 20 70 72 6f 62 61 62 6c 79 20 61 20 62 75 67 2e 0a 20 20 Output,.it.is.probably.a.bug....
37600 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 ....</p>..............<p>.......
37620 54 6f 20 63 6f 6e 76 65 72 74 20 6f 6e 65 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 74 6f 20 61 To.convert.one.pointer.type.to.a
37640 6e 6f 74 68 65 72 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e 40 nother,.use.<a.href="#ptrCast">@
37660 70 74 72 43 61 73 74 3c 2f 61 3e 2e 20 54 68 69 73 20 69 73 20 61 6e 20 75 6e 73 61 66 65 0a 20 ptrCast</a>..This.is.an.unsafe..
37680 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 74 68 61 74 20 5a 69 67 20 63 61 6e 6e 6f 74 20 70 .....operation.that.Zig.cannot.p
376a0 72 6f 74 65 63 74 20 79 6f 75 20 61 67 61 69 6e 73 74 2e 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 rotect.you.against..Use.<code><s
376c0 70 61 6e 20 63 6c 61 73 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
376e0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e k-builtin">@ptrCast</span></span
37700 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 6c 79 20 77 68 65 6e 20 6f 74 68 65 72 0a 20 20 20 20 20 20 63 ></code>.only.when.other.......c
37720 6f 6e 76 65 72 73 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 onversions.are.not.possible.....
37740 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
37760 6e 20 63 6c 61 73 73 3d 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
37780 69 6c 65 22 3e 70 6f 69 6e 74 65 72 5f 63 61 73 74 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c ile">pointer_casting.zig</cite><
377a0 2f 66 69 67 63 61 70 74 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
377c0 73 73 3d 22 6c 69 6e 65 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
377e0 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
37800 6f 6b 2d 62 75 69 6c 74 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
37820 20 63 6c 61 73 73 3d 22 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;
37840 3c 2f 73 70 61 6e 3e 29 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
37860 6e 65 22 3e 3c 73 70 61 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</
37880 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
378a0 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
378c0 70 61 6e 3e 0a 3c 73 70 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
378e0 61 73 73 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
37900 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 63 61 73 lass="tok-str">&quot;pointer.cas
37920 74 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ting&quot;</span>.{</span>.<span
37940 20 63 6c 61 73 73 3d 22 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
37960 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 20 3c 73 70 61 6e 20 ok-kw">const</span>.bytes.<span.
37980 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
379a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f n.class="tok-builtin">@alignOf</
379c0 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 span>(<span.class="tok-type">u32
379e0 3c 2f 73 70 61 6e 3e 29 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>)).=.[_]<span.class="tok-
37a00 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f type">u8</span>{.<span.class="to
37a20 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 k-number">0x12</span>,.<span.cla
37a40 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 ss="tok-number">0x12</span>,.<sp
37a60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e an.class="tok-number">0x12</span
37a80 3e 2c 20 3c 73 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
37aa0 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
37ac0 69 6e 65 22 3e 20 20 20 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
37ae0 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 33 32 5f 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 nst</span>.u32_ptr.=.<span.class
37b00 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 2a ="tok-builtin">@ptrCast</span>(*
37b20 3c 73 70 61 6e 20 63 6c 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
37b40 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 >.<span.class="tok-type">u32</sp
37b60 61 6e 3e 2c 20 26 61 6d 70 3b 62 79 74 65 73 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an>,.&amp;bytes);</span>.<span.c
37b80 6c 61 73 73 3d 22 6c 69 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
37ba0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 75 33 32 5f 70 74 72 2e 2a -kw">try</span>.expect(u32_ptr.*
37bc0 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 .==.<span.class="tok-number">0x1
37be0 32 31 32 31 32 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 2121212</span>);</span>.<span.cl
37c00 61 73 73 3d 22 6c 69 6e 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="
37c20 6c 69 6e 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
37c40 6e 74 22 3e 2f 2f 20 45 76 65 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 69 73 20 63 6f 6e 74 nt">//.Even.this.example.is.cont
37c60 72 69 76 65 64 20 2d 20 74 68 65 72 65 20 61 72 65 20 62 65 74 74 65 72 20 77 61 79 73 20 74 6f rived.-.there.are.better.ways.to
37c80 20 64 6f 20 74 68 65 20 61 62 6f 76 65 20 74 68 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e .do.the.above.than</span></span>
37ca0 0a 3c 73 70 61 6e 20 63 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
37cc0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 20 63 61 73 ass="tok-comment">//.pointer.cas
37ce0 74 69 6e 67 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 75 73 69 6e 67 20 61 20 73 6c 69 63 65 ting..For.example,.using.a.slice
37d00 20 6e 61 72 72 6f 77 69 6e 67 20 63 61 73 74 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .narrowing.cast:</span></span>.<
37d20 73 70 61 6e 20 63 6c 61 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
37d40 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 33 32 5f 76 61 6c 75 s="tok-kw">const</span>.u32_valu
37d60 65 20 3d 20 73 74 64 2e 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 e.=.std.mem.bytesAsSlice(<span.c
37d80 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 lass="tok-type">u32</span>,.byte
37da0 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 s[<span.class="tok-number">0</sp
37dc0 61 6e 3e 2e 2e 5d 29 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 an>..])[<span.class="tok-number"
37de0 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >0</span>];</span>.<span.class="
37e00 6c 69 6e 65 22 3e 20 20 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
37e20 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 75 33 32 5f 76 61 6c 75 65 20 3d 3d 20 3c 73 ry</span>.expect(u32_value.==.<s
37e40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 31 32 31 32 31 pan.class="tok-number">0x1212121
37e60 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 2</span>);</span>.<span.class="l
37e80 69 6e 65 22 3e 3c 2f 73 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">
37ea0 20 20 20 20 3c 73 70 61 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">//
37ec0 20 41 6e 64 20 65 76 65 6e 20 61 6e 6f 74 68 65 72 20 77 61 79 2c 20 74 68 65 20 6d 6f 73 74 20 .And.even.another.way,.the.most.
37ee0 73 74 72 61 69 67 68 74 66 6f 72 77 61 72 64 20 77 61 79 20 74 6f 20 64 6f 20 69 74 3a 3c 2f 73 straightforward.way.to.do.it:</s
37f00 70 61 6e 3e 3c 2f 73 70 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">.
37f20 20 20 20 3c 73 70 61 6e 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
37f40 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
37f60 69 6e 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d in">@bitCast</span>(<span.class=
37f80 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 73 29 20 3d 3d "tok-type">u32</span>,.bytes).==
37fa0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 31 32 .<span.class="tok-number">0x1212
37fc0 31 32 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 1212</span>);</span>.<span.class
37fe0 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
38000 6e 65 22 3e 3c 2f 73 70 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"><
38020 73 70 61 6e 20 63 6c 61 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>.
38040 3c 73 70 61 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
38060 74 65 72 20 63 68 69 6c 64 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 ter.child.type&quot;</span>.{</s
38080 70 61 6e 3e 0a 3c 73 70 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
380a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 n.class="tok-comment">//.pointer
380c0 20 74 79 70 65 73 20 68 61 76 65 20 61 20 60 63 68 69 6c 64 60 20 66 69 65 6c 64 20 77 68 69 63 .types.have.a.`child`.field.whic
380e0 68 20 74 65 6c 6c 73 20 79 6f 75 20 74 68 65 20 74 79 70 65 20 74 68 65 79 20 70 6f 69 6e 74 20 h.tells.you.the.type.they.point.
38100 74 6f 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c to.</span></span>.<span.class="l
38120 69 6e 65 22 3e 20 20 20 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
38140 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
38160 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 -builtin">@typeInfo</span>(*<spa
38180 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 2e 50 n.class="tok-type">u32</span>).P
381a0 6f 69 6e 74 65 72 2e 63 68 69 6c 64 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ointer.child.==.<span.class="tok
381c0 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
381e0 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
38200 72 65 3e 3c 2f 66 69 67 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.
38220 63 6c 61 73 73 3d 22 73 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
38240 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
38260 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 6f 69 6e 74 65 72 5f 63 61 73 74 69 6e ">$.<kbd>zig.test.pointer_castin
38280 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="
382a0 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 63 61 73 line">1/2.test.&quot;pointer.cas
382c0 74 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ting&quot;....OK</span>.<span.cl
382e0 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 ass="line">2/2.test.&quot;pointe
38300 72 20 63 68 69 6c 64 20 74 79 70 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a r.child.type&quot;....OK</span>.
38320 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 <span.class="line">All.2.tests.p
38340 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
38360 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 6c 69 67 6e 6d 65 6e 74 22 3e 3c 61 ure>.......<h3.id="Alignment"><a
38380 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 41 6c 69 67 6e 6d 65 6e 74 .href="#toc-Alignment">Alignment
383a0 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 6c 69 67 6e </a>.<a.class="hdr".href="#Align
383c0 6d 65 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 ment">..</a></h3>........<p>....
383e0 20 20 20 45 61 63 68 20 74 79 70 65 20 68 61 73 20 61 6e 20 3c 73 74 72 6f 6e 67 3e 61 6c 69 67 ...Each.type.has.an.<strong>alig
38400 6e 6d 65 6e 74 3c 2f 73 74 72 6f 6e 67 3e 20 2d 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 nment</strong>.-.a.number.of.byt
38420 65 73 20 73 75 63 68 20 74 68 61 74 2c 0a 20 20 20 20 20 20 77 68 65 6e 20 61 20 76 61 6c 75 65 es.such.that,.......when.a.value
38440 20 6f 66 20 74 68 65 20 74 79 70 65 20 69 73 20 6c 6f 61 64 65 64 20 66 72 6f 6d 20 6f 72 20 73 .of.the.type.is.loaded.from.or.s
38460 74 6f 72 65 64 20 74 6f 20 6d 65 6d 6f 72 79 2c 0a 20 20 20 20 20 20 74 68 65 20 6d 65 6d 6f 72 tored.to.memory,.......the.memor
38480 79 20 61 64 64 72 65 73 73 20 6d 75 73 74 20 62 65 20 65 76 65 6e 6c 79 20 64 69 76 69 73 69 62 y.address.must.be.evenly.divisib
384a0 6c 65 20 62 79 20 74 68 69 73 20 6e 75 6d 62 65 72 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 0a 20 le.by.this.number..You.can.use..
384c0 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 .....<a.href="#alignOf">@alignOf
384e0 3c 2f 61 3e 20 74 6f 20 66 69 6e 64 20 6f 75 74 20 74 68 69 73 20 76 61 6c 75 65 20 66 6f 72 20 </a>.to.find.out.this.value.for.
38500 61 6e 79 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 any.type........</p>.......<p>..
38520 20 20 20 20 20 41 6c 69 67 6e 6d 65 6e 74 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 43 50 .....Alignment.depends.on.the.CP
38540 55 20 61 72 63 68 69 74 65 63 74 75 72 65 2c 20 62 75 74 20 69 73 20 61 6c 77 61 79 73 20 61 20 U.architecture,.but.is.always.a.
38560 70 6f 77 65 72 20 6f 66 20 74 77 6f 2c 20 61 6e 64 0a 20 20 20 20 20 20 6c 65 73 73 20 74 68 61 power.of.two,.and.......less.tha
38580 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e n.<code><span.class="line"><span
385a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 26 6c 74 .class="tok-number">1</span>.&lt
385c0 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 ;&lt;.<span.class="tok-number">2
385e0 39 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 9</span></span></code>........</
38600 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 61 20 70 6f 69 p>.......<p>.......In.Zig,.a.poi
38620 6e 74 65 72 20 74 79 70 65 20 68 61 73 20 61 6e 20 61 6c 69 67 6e 6d 65 6e 74 20 76 61 6c 75 65 nter.type.has.an.alignment.value
38640 2e 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 68 65 0a 20 ..If.the.value.is.equal.to.the..
38660 20 20 20 20 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 .....alignment.of.the.underlying
38680 20 74 79 70 65 2c 20 69 74 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 66 72 6f 6d 20 74 68 .type,.it.can.be.omitted.from.th
386a0 65 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 e.type:.......</p>.......<figure
386c0 3e 3c 66 69 67 63 61 70 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
386e0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 72 69 61 62 6c 65 5f 61 6c 69 67 6e 6d 65 te.class="file">variable_alignme
38700 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><
38720 63 6f 64 65 3e 3c 73 70 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
38740 61 73 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.=.
38760 3c 73 70 61 6e 20 63 6c 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
38780 74 3c 2f 73 70 61 6e 3e 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">&
387a0 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>.<
387c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
387e0 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
38800 70 61 6e 20 63 6c 61 73 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<
38820 2f 73 70 61 6e 3e 28 3c 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
38840 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>
38860 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
38880 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
388a0 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.
388c0 63 6c 61 73 73 3d 22 6c 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
388e0 3d 22 6c 69 6e 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
38900 74 3c 2f 73 70 61 6e 3e 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">&
38920 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 26 71 75 6f 74 3b 3c 2f 73 quot;variable.alignment&quot;</s
38940 70 61 6e 3e 20 7b 3c 2f 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"
38960 3e 20 20 20 20 3c 73 70 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
38980 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
389a0 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
389c0 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
389e0 6c 61 73 73 3d 22 6c 69 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
38a00 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 6e 5f 6f 66 5f 69 33 32 20 3d -kw">const</span>.align_of_i32.=
38a20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 .<span.class="tok-builtin">@alig
38a40 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c nOf</span>(<span.class="tok-buil
38a60 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 78 29 29 3b 3c 2f 73 70 61 6e 3e 0a tin">@TypeOf</span>(x));</span>.
38a80 3c 73 70 61 6e 20 63 6c 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
38aa0 73 73 3d 22 74 6f 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
38ac0 70 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<
38ae0 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 78 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>(&amp;x).==.*<span.class="
38b00 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-type">i32</span>);</span>.<s
38b20 70 61 6e 20 63 6c 61 73 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
38b40 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 2a 3c 73 70 ="tok-kw">try</span>.expect(*<sp
38b60 61 6e 20 63 6c 61 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>.=
38b80 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 =.*<span.class="tok-kw">align</s
38ba0 70 61 6e 3e 28 61 6c 69 67 6e 5f 6f 66 5f 69 33 32 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>(align_of_i32).<span.class="
38bc0 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-type">i32</span>);</span>.<s
38be0 70 61 6e 20 63 6c 61 73 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
38c00 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 ="tok-kw">if</span>.(builtin.tar
38c20 67 65 74 2e 63 70 75 2e 61 72 63 68 20 3d 3d 20 2e 78 38 36 5f 36 34 29 20 7b 3c 2f 73 70 61 6e get.cpu.arch.==..x86_64).{</span
38c40 3e 0a 3c 73 70 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
38c60 61 6e 20 63 6c 61 73 73 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
38c80 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 ect(<span.class="tok-builtin">@t
38ca0 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ypeInfo</span>(*<span.class="tok
38cc0 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 2e 50 6f 69 6e 74 65 72 2e 61 6c 69 67 6e -type">i32</span>).Pointer.align
38ce0 6d 65 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ment.==.<span.class="tok-number"
38d00 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="
38d20 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="
38d40 6c 69 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
38d60 75 72 65 3e 3c 66 69 67 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
38d80 68 65 6c 6c 2d 63 61 70 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
38da0 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
38dc0 3e 7a 69 67 20 74 65 73 74 20 76 61 72 69 61 62 6c 65 5f 61 6c 69 67 6e 6d 65 6e 74 2e 7a 69 67 >zig.test.variable_alignment.zig
38de0 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"
38e00 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 >1/1.test.&quot;variable.alignme
38e20 6e 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 nt&quot;....OK</span>.<span.clas
38e40 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
38e60 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>......
38e80 20 3c 70 3e 49 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 20 61 20 3c 63 6f 64 65 .<p>In.the.same.way.that.a.<code
38ea0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 73 70 61 6e 20 63 6c 61 73 73 ><span.class="line">*<span.class
38ec0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ="tok-type">i32</span></span></c
38ee0 6f 64 65 3e 20 63 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 ode>.can.be.<a.href="#Type-Coerc
38f00 69 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 3e 20 74 6f 20 61 0a 20 20 20 20 20 20 20 20 20 20 ion">coerced</a>.to.a...........
38f20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 73 70 61 6e 20 <code><span.class="line">*<span.
38f40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 class="tok-kw">const</span>.<spa
38f60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 n.class="tok-type">i32</span></s
38f80 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 61 20 6c 61 pan></code>,.a.pointer.with.a.la
38fa0 72 67 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 69 63 69 74 6c 79 rger.alignment.can.be.implicitly
38fc0 0a 20 20 20 20 20 20 63 61 73 74 20 74 6f 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 61 20 .......cast.to.a.pointer.with.a.
38fe0 73 6d 61 6c 6c 65 72 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 62 75 74 20 6e 6f 74 20 76 69 63 65 20 smaller.alignment,.but.not.vice.
39000 76 65 72 73 61 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 versa........</p>.......<p>.....
39020 20 20 59 6f 75 20 63 61 6e 20 73 70 65 63 69 66 79 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 6e 20 76 ..You.can.specify.alignment.on.v
39040 61 72 69 61 62 6c 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 20 49 66 20 79 6f 75 20 64 ariables.and.functions..If.you.d
39060 6f 20 74 68 69 73 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 74 o.this,.then.......pointers.to.t
39080 68 65 6d 20 67 65 74 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 61 6c 69 67 6e 6d 65 6e 74 3a hem.get.the.specified.alignment:
390a0 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
390c0 70 74 69 6f 6e 20 63 6c 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
390e0 73 3d 22 66 69 6c 65 22 3e 76 61 72 69 61 62 6c 65 5f 66 75 6e 63 5f 61 6c 69 67 6e 6d 65 6e 74 s="file">variable_func_alignment
39100 2e 7a 69 67 3c 2f 63 69 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
39120 64 65 3e 3c 73 70 61 6e 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
39140 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.=
39160 20 3c 73 70 61 6e 20 63 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
39180 72 74 3c 2f 73 70 61 6e 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">
391a0 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.
391c0 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
391e0 22 3e 3c 2f 73 70 61 6e 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
39200 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f an.class="tok-kw">var</span>.foo
39220 3a 20 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
39240 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 n>.<span.class="tok-kw">align</s
39260 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<
39280 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 /span>).=.<span.class="tok-numbe
392a0 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r">100</span>;</span>.<span.clas
392c0 73 3d 22 6c 69 6e 65 22 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
392e0 6e 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
39300 70 61 6e 3e 20 3c 73 70 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
39320 3b 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 26 71 75 6f 74 3b ;global.variable.alignment&quot;
39340 3c 2f 73 70 61 6e 3e 20 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
39360 6e 65 22 3e 20 20 20 20 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
39380 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-
393a0 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.
393c0 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
393e0 6e 3e 28 26 61 6d 70 3b 66 6f 6f 29 29 2e 50 6f 69 6e 74 65 72 2e 61 6c 69 67 6e 6d 65 6e 74 20 n>(&amp;foo)).Pointer.alignment.
39400 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 ==.<span.class="tok-number">4</s
39420 70 61 6e 3e 29 3b 3c 2f 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"
39440 3e 20 20 20 20 3c 73 70 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
39460 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
39480 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 29 20 3d ltin">@TypeOf</span>(&amp;foo).=
394a0 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 =.*<span.class="tok-kw">align</s
394c0 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<
394e0 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 /span>).<span.class="tok-type">u
39500 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 8</span>);</span>.<span.class="l
39520 69 6e 65 22 3e 20 20 20 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
39540 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 5f 70 6f 69 6e 74 65 72 5f 74 6f 5f 61 72 72 61 79 3a 20 nst</span>.as_pointer_to_array:.
39560 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 *[<span.class="tok-number">1</sp
39580 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
395a0 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c pan>.=.&amp;foo;</span>.<span.cl
395c0 61 73 73 3d 22 6c 69 6e 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-
395e0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 5f 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 kw">const</span>.as_slice:.[]<sp
39600 61 6e 20 63 6c 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>.=.
39620 61 73 5f 70 6f 69 6e 74 65 72 5f 74 6f 5f 61 72 72 61 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 as_pointer_to_array;</span>.<spa
39640 6e 20 63 6c 61 73 73 3d 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="
39660 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 tok-kw">try</span>.expect(<span.
39680 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
396a0 6e 3e 28 61 73 5f 73 6c 69 63 65 29 20 3d 3d 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n>(as_slice).==.[]<span.class="t
396c0 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-kw">align</span>(<span.class=
396e0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">4</span>).<span.cla
39700 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e ss="tok-type">u8</span>);</span>
39720 0a 3c 73 70 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
39740 61 6e 20 63 6c 61 73 73 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
39760 61 73 73 3d 22 6c 69 6e 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">
39780 66 6e 3c 2f 73 70 61 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
397a0 65 72 70 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 erp</span>().<span.class="tok-kw
397c0 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">align</span>(<span.class="tok-
397e0 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c builtin">@sizeOf</span>(<span.cl
39800 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 2a 20 3c ass="tok-type">usize</span>).*.<
39820 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>
39840 29 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
39860 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
39880 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 n</span>.<span.class="tok-number
398a0 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ">1234</span>;.}</span>.<span.cl
398c0 61 73 73 3d 22 6c 69 6e 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">
398e0 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6e fn</span>.<span.class="tok-fn">n
39900 6f 6f 70 31 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b oop1</span>().<span.class="tok-k
39920 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
39940 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="
39960 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 0a tok-type">void</span>.{}</span>.
39980 3c 73 70 61 6e 20 63 6c 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="
399a0 74 6f 6b 2d 6b 77 22 3e 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
399c0 6f 6b 2d 66 6e 22 3e 6e 6f 6f 70 34 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 ok-fn">noop4</span>().<span.clas
399e0 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
39a00 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e ass="tok-number">4</span>).<span
39a20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d .class="tok-type">void</span>.{}
39a40 3c 2f 73 70 61 6e 3e 0a 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
39a60 6e 3e 0a 3c 73 70 61 6e 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
39a80 73 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
39aa0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 20 61 6c 69 67 ss="tok-str">&quot;function.alig
39ac0 6e 6d 65 6e 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 nment&quot;</span>.{</span>.<spa
39ae0 6e 20 63 6c 61 73 73 3d 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="
39b00 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 65 72 70 28 29 tok-kw">try</span>.expect(derp()
39b20 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
39b40 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
39b60 69 6e 65 22 3e 20 20 20 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
39b80 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
39ba0 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 6f 6f 70 31 29 20 -builtin">@TypeOf</span>(noop1).
39bc0 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e ==.<span.class="tok-kw">fn</span
39be0 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f >().<span.class="tok-kw">align</
39c00 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 span>(<span.class="tok-number">1
39c20 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">
39c40 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 void</span>);</span>.<span.class
39c60 3d 22 6c 69 6e 65 22 3e 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"
39c80 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >try</span>.expect(<span.class="
39ca0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 6f 6f 70 tok-builtin">@TypeOf</span>(noop
39cc0 34 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 4).==.<span.class="tok-kw">fn</s
39ce0 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 pan>().<span.class="tok-kw">alig
39d00 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
39d20 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
39d40 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
39d60 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>.<
39d80 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();</
39da0 73 70 61 6e 3e 0a 3c 73 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
39dc0 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><
39de0 66 69 67 63 61 70 74 69 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
39e00 6c 6c 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.
39e20 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
39e40 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></
39e60 73 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
39e80 74 20 26 71 75 6f 74 3b 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e t.&quot;global.variable.alignmen
39ea0 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 t&quot;....OK</span>.<span.class
39ec0 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 20 ="line">2/2.test.&quot;function.
39ee0 61 6c 69 67 6e 6d 65 6e 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 alignment&quot;....OK</span>.<sp
39f00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 an.class="line">All.2.tests.pass
39f20 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
39f40 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 79 6f 75 20 68 61 76 65 20 61 20 >.......<p>.......If.you.have.a.
39f60 70 6f 69 6e 74 65 72 20 6f 72 20 61 20 73 6c 69 63 65 20 74 68 61 74 20 68 61 73 20 61 20 73 6d pointer.or.a.slice.that.has.a.sm
39f80 61 6c 6c 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 62 75 74 20 79 6f 75 20 6b 6e 6f 77 20 74 68 61 74 all.alignment,.but.you.know.that
39fa0 20 69 74 20 61 63 74 75 61 6c 6c 79 0a 20 20 20 20 20 20 68 61 73 20 61 20 62 69 67 67 65 72 20 .it.actually.......has.a.bigger.
39fc0 61 6c 69 67 6e 6d 65 6e 74 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 alignment,.use.<a.href="#alignCa
39fe0 73 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 st">@alignCast</a>.to.change.the
3a000 0a 20 20 20 20 20 20 70 6f 69 6e 74 65 72 20 69 6e 74 6f 20 61 20 6d 6f 72 65 20 61 6c 69 67 6e .......pointer.into.a.more.align
3a020 65 64 20 70 6f 69 6e 74 65 72 2e 20 54 68 69 73 20 69 73 20 61 20 6e 6f 2d 6f 70 20 61 74 20 72 ed.pointer..This.is.a.no-op.at.r
3a040 75 6e 74 69 6d 65 2c 20 62 75 74 20 69 6e 73 65 72 74 73 20 61 0a 20 20 20 20 20 20 3c 61 20 68 untime,.but.inserts.a.......<a.h
3a060 72 65 66 3d 22 23 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e ref="#Incorrect-Pointer-Alignmen
3a080 74 22 3e 73 61 66 65 74 79 20 63 68 65 63 6b 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a t">safety.check</a>:.......</p>.
3a0a0 20 20 20 20 20 20 3c 66 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=
3a0c0 22 7a 69 67 2d 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
3a0e0 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
3a100 6f 64 65 3e 3c 73 70 61 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
3a120 73 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.=.<
3a140 73 70 61 6e 20 63 6c 61 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
3a160 3c 2f 73 70 61 6e 3e 28 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
3a180 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
3a1a0 70 61 6e 20 63 6c 61 73 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
3a1c0 6c 61 73 73 3d 22 6c 69 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"
3a1e0 3e 74 65 73 74 3c 2f 73 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
3a200 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 66 65 74 r">&quot;pointer.alignment.safet
3a220 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c y&quot;</span>.{</span>.<span.cl
3a240 61 73 73 3d 22 6c 69 6e 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-
3a260 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3c 73 70 61 6e 20 63 6c 61 73 73 kw">var</span>.array.<span.class
3a280 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ="tok-kw">align</span>(<span.cla
3a2a0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3d 20 5b 5f 5d 3c ss="tok-number">4</span>).=.[_]<
3a2c0 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>
3a2e0 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 {.<span.class="tok-number">0x111
3a300 31 31 31 31 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 11111</span>,.<span.class="tok-n
3a320 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 umber">0x11111111</span>.};</spa
3a340 6e 3e 0a 3c 73 70 61 6e 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.
3a360 63 6c 61 73 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
3a380 73 20 3d 20 73 74 64 2e 6d 65 6d 2e 73 6c 69 63 65 41 73 42 79 74 65 73 28 61 72 72 61 79 5b 3c s.=.std.mem.sliceAsBytes(array[<
3a3a0 73 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>
3a3c0 2e 2e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..]);</span>.<span.class="line">
3a3e0 20 20 20 20 3c 73 70 61 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
3a400 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 66 6f 6f 28 62 79 74 65 73 an>.std.testing.expect(foo(bytes
3a420 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 ).==.<span.class="tok-number">0x
3a440 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 11111111</span>);</span>.<span.c
3a460 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
3a480 3d 22 6c 69 6e 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<
3a4a0 2f 73 70 61 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<
3a4c0 2f 73 70 61 6e 3e 28 62 79 74 65 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b /span>(bytes:.[]<span.class="tok
3a4e0 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -type">u8</span>).<span.class="t
3a500 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-type">u32</span>.{</span>.<sp
3a520 61 6e 20 63 6c 61 73 73 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=
3a540 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 34 20 3d 20 62 "tok-kw">const</span>.slice4.=.b
3a560 79 74 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c ytes[<span.class="tok-number">1<
3a580 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 /span>..<span.class="tok-number"
3a5a0 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >5</span>];</span>.<span.class="
3a5c0 6c 69 6e 65 22 3e 20 20 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
3a5e0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 73 74 64 2e 6d 65 6d 2e onst</span>.int_slice.=.std.mem.
3a600 62 79 74 65 73 41 73 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 bytesAsSlice(<span.class="tok-ty
3a620 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
3a640 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 -builtin">@alignCast</span>(<spa
3a660 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 73 n.class="tok-number">4</span>,.s
3a680 6c 69 63 65 34 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e lice4));</span>.<span.class="lin
3a6a0 65 22 3e 20 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
3a6c0 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d rn</span>.int_slice[<span.class=
3a6e0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">0</span>];</span>.<
3a700 73 70 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
3a720 3e 3c 2f 70 72 65 3e 3c 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
3a740 69 6f 6e 20 63 6c 61 73 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
3a760 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="
3a780 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</
3a7a0 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
3a7c0 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 /1.test.&quot;pointer.alignment.
3a7e0 73 61 66 65 74 79 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 31 34 32 35 31 30 34 20 70 safety&quot;....thread.1425104.p
3a800 61 6e 69 63 3a 20 69 6e 63 6f 72 72 65 63 74 20 61 6c 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 6e 3e anic:.incorrect.alignment</span>
3a820 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
3a840 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e "t1_0">/home/andy/tmp/zig/docgen
3a860 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 36 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 _tmp/test.zig:10:63</span>:.<spa
3a880 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 66 38 63 20 69 6e 20 66 6f 6f 20 28 n.class="t2_0">0x207f8c.in.foo.(
3a8a0 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=
3a8c0 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 73 74 64 "line">....const.int_slice.=.std
3a8e0 2e 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c 69 63 65 28 75 33 32 2c 20 40 61 6c 69 67 6e 43 61 73 .mem.bytesAsSlice(u32,.@alignCas
3a900 74 28 34 2c 20 73 6c 69 63 65 34 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 t(4,.slice4));</span>.<span.clas
3a920 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">.......................
3a940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3a960 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
3a980 61 6e 3e 3c 2f 73 70 61 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
3a9a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
3a9c0 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 33 31 3c 2f 73 70 zig/docgen_tmp/test.zig:6:31</sp
3a9e0 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 39 30 39 an>:.<span.class="t2_0">0x207909
3aa00 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 .in.test.&quot;pointer.alignment
3aa20 20 73 61 66 65 74 79 26 71 75 6f 74 3b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 .safety&quot;.(test)</span></spa
3aa40 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 73 74 n>.<span.class="line">....try.st
3aa60 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 66 6f 6f 28 62 79 74 65 73 29 20 3d 3d 20 30 d.testing.expect(foo(bytes).==.0
3aa80 78 31 31 31 31 31 31 31 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 x11111111);</span>.<span.class="
3aaa0 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">..........................
3aac0 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>
3aae0 3c 2f 73 70 61 6e 3e 0a 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
3ab00 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 .class="t1_0">/home/andy/tmp/zig
3ab20 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 /lib/std/special/test_runner.zig
3ab40 3a 38 30 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 :80:28</span>:.<span.class="t2_0
3ab60 22 3e 30 78 32 32 66 33 64 33 20 69 6e 20 73 74 64 2e 73 70 65 63 69 61 6c 2e 6d 61 69 6e 20 28 ">0x22f3d3.in.std.special.main.(
3ab80 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=
3aba0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 "line">........}.else.test_fn.fu
3abc0 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e nc();</span>.<span.class="line">
3abe0 20 20 20 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
3ac00 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>.<
3ac20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
3ac40 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
3ac60 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:551:22</span>:.<span.c
3ac80 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 38 37 34 63 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x22874c.in.std.star
3aca0 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a t.callMain.(test)</span></span>.
3acc0 3c 73 70 61 6e 20 63 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
3ace0 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="
3ad00 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
3ad20 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>.<
3ad40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
3ad60 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
3ad80 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:495:12</span>:.<span.c
3ada0 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 33 64 65 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x2093de.in.std.star
3adc0 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e t.callMainWithArgs.(test)</span>
3ade0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 </span>.<span.class="line">....r
3ae00 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 eturn.@call(.{..modifier.=..alwa
3ae20 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 ys_inline.},.callMain,..{});</sp
3ae40 61 6e 3e 0a 3c 73 70 61 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">.........
3ae60 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></
3ae80 73 70 61 6e 3e 0a 3c 73 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
3aea0 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c lass="t1_0">/home/andy/tmp/zig/l
3aec0 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 ib/std/start.zig:409:17</span>:.
3aee0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 33 65 36 20 69 6e 20 73 <span.class="t2_0">0x2083e6.in.s
3af00 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 td.start.posixCallMainAndExit.(t
3af20 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="
3af40 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e line">....std.os.exit(@call(.{..
3af60 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c modifier.=..always_inline.},.cal
3af80 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e lMainWithArgs,..{.argc,.argv,.en
3afa0 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 vp.}));</span>.<span.class="line
3afc0 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
3afe0 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
3b000 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
3b020 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 e/andy/tmp/zig/lib/std/start.zig
3b040 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 :322:5</span>:.<span.class="t2_0
3b060 22 3e 30 78 32 30 38 31 66 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 ">0x2081f2.in.std.start._start.(
3b080 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=
3b0a0 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 "line">....@call(.{..modifier.=.
3b0c0 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e .never_inline.},.posixCallMainAn
3b0e0 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d dExit,..{});</span>.<span.class=
3b100 22 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">^
3b120 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
3b140 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d ">error:.the.following.test.comm
3b160 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d and.crashed:</span>.<span.class=
3b180 22 6c 69 6e 65 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 65 36 "line">docgen_tmp/zig-cache/o/e6
3b1a0 32 64 35 62 36 34 33 64 30 38 66 31 61 63 62 62 31 33 38 36 64 62 39 32 65 62 30 66 32 33 2f 74 2d5b643d08f1acbb1386db92eb0f23/t
3b1c0 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c est./home/andy/tmp/zig/build-rel
3b1e0 65 61 73 65 2f 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 ease/zig</span>.</samp></pre></f
3b200 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 6c 6c igure>...............<h3.id="all
3b220 6f 77 7a 65 72 6f 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 6c 6c 6f 77 7a 65 72 6f 22 owzero"><a.href="#toc-allowzero"
3b240 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 >allowzero</a>.<a.class="hdr".hr
3b260 65 66 3d 22 23 61 6c 6c 6f 77 7a 65 72 6f 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 ef="#allowzero">..</a></h3>.....
3b280 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 62 ...<p>.......This.pointer.attrib
3b2a0 75 74 65 20 61 6c 6c 6f 77 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 68 61 76 65 20 61 64 64 ute.allows.a.pointer.to.have.add
3b2c0 72 65 73 73 20 7a 65 72 6f 2e 20 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 65 76 65 72 20 6e 65 65 ress.zero..This.is.only.ever.nee
3b2e0 64 65 64 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 20 66 72 65 65 73 74 61 6e 64 69 6e 67 20 4f 53 ded.on.the.......freestanding.OS
3b300 20 74 61 72 67 65 74 2c 20 77 68 65 72 65 20 74 68 65 20 61 64 64 72 65 73 73 20 7a 65 72 6f 20 .target,.where.the.address.zero.
3b320 69 73 20 6d 61 70 70 61 62 6c 65 2e 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 70 72 is.mappable..If.you.want.to.repr
3b340 65 73 65 6e 74 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 73 2c 20 75 73 65 0a 20 20 20 20 20 20 3c esent.null.pointers,.use.......<
3b360 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 a.href="#Optional-Pointers">Opti
3b380 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 69 6e 73 74 65 61 64 2e 20 3c 61 20 68 72 onal.Pointers</a>.instead..<a.hr
3b3a0 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c ef="#Optional-Pointers">Optional
3b3c0 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .Pointers</a>.with.<code><span.c
3b3e0 6c 61 73 73 3d 22 6c 69 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"
3b400 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a >allowzero</span></span></code>.
3b420 20 20 20 20 20 20 61 72 65 20 6e 6f 74 20 74 68 65 20 73 61 6d 65 20 73 69 7a 65 20 61 73 20 70 ......are.not.the.same.size.as.p
3b440 6f 69 6e 74 65 72 73 2e 20 49 6e 20 74 68 69 73 20 63 6f 64 65 20 65 78 61 6d 70 6c 65 2c 20 69 ointers..In.this.code.example,.i
3b460 66 20 74 68 65 20 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 64 69 64 20 6e 6f 74 20 68 61 76 65 f.the.pointer.......did.not.have
3b480 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .the.<code><span.class="line"><s
3b4a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 pan.class="tok-kw">allowzero</sp
3b4c0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 74 74 72 69 62 75 74 65 2c 20 74 68 69 an></span></code>.attribute,.thi
3b4e0 73 20 77 6f 75 6c 64 20 62 65 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 s.would.be.a.......<a.href="#Poi
3b500 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f 69 6e 74 65 72 20 nter-Cast-Invalid-Null">Pointer.
3b520 43 61 73 74 20 49 6e 76 61 6c 69 64 20 4e 75 6c 6c 3c 2f 61 3e 20 70 61 6e 69 63 3a 0a 20 20 20 Cast.Invalid.Null</a>.panic:....
3b540 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
3b560 6e 20 63 6c 61 73 73 3d 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
3b580 69 6c 65 22 3e 61 6c 6c 6f 77 7a 65 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 ile">allowzero.zig</cite></figca
3b5a0 70 74 69 6f 6e 3e 3c 70 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
3b5c0 6e 65 22 3e 3c 73 70 61 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</
3b5e0 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
3b600 6c 74 69 6e 22 3e 40 69 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
3b620 3d 22 74 6f 6b 2d 73 74 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
3b640 3e 29 3b 3c 2f 73 70 61 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
3b660 70 61 6e 20 63 6c 61 73 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>.
3b680 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
3b6a0 61 6e 3e 0a 3c 73 70 61 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>.<
3b6c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
3b6e0 6f 6b 2d 6b 77 22 3e 74 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="
3b700 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6c 6c 6f 77 7a 65 72 6f 26 71 75 6f 74 3b 3c 2f tok-str">&quot;allowzero&quot;</
3b720 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
3b740 22 3e 20 20 20 20 3c 73 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</
3b760 73 70 61 6e 3e 20 7a 65 72 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 span>.zero:.<span.class="tok-typ
3b780 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
3b7a0 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
3b7c0 6e 20 63 6c 61 73 73 3d 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="
3b7e0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 tok-kw">var</span>.ptr.=.<span.c
3b800 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 lass="tok-builtin">@intToPtr</sp
3b820 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a an>(*<span.class="tok-kw">allowz
3b840 65 72 6f 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ero</span>.<span.class="tok-type
3b860 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 7a 65 72 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ">i32</span>,.zero);</span>.<spa
3b880 6e 20 63 6c 61 73 73 3d 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="
3b8a0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 tok-kw">try</span>.expect(<span.
3b8c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 class="tok-builtin">@ptrToInt</s
3b8e0 70 61 6e 3e 28 70 74 72 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 pan>(ptr).==.<span.class="tok-nu
3b900 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">0</span>);</span>.<span.cl
3b920 61 73 73 3d 22 6c 69 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>
3b940 3c 2f 66 69 67 75 72 65 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
3b960 73 73 3d 22 73 68 65 6c 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
3b980 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">$
3b9a0 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 6c 6c 6f 77 7a 65 72 6f 2e 7a 69 67 3c 2f 6b 62 .<kbd>zig.test.allowzero.zig</kb
3b9c0 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
3b9e0 20 74 65 73 74 20 26 71 75 6f 74 3b 61 6c 6c 6f 77 7a 65 72 6f 26 71 75 6f 74 3b 2e 2e 2e 20 4f .test.&quot;allowzero&quot;....O
3ba00 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.
3ba20 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></
3ba40 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.
3ba60 69 64 3d 22 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 id="Sentinel-Terminated-Pointers
3ba80 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 "><a.href="#toc-Sentinel-Termina
3baa0 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 ted-Pointers">Sentinel-Terminate
3bac0 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 d.Pointers</a>.<a.class="hdr".hr
3bae0 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 ef="#Sentinel-Terminated-Pointer
3bb00 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 s">..</a></h3>........<p>.......
3bb20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 The.syntax.<code><span.class="li
3bb40 6e 65 22 3e 5b 2a 3a 78 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 73 63 72 69 62 ne">[*:x]T</span></code>.describ
3bb60 65 73 20 61 20 70 6f 69 6e 74 65 72 20 74 68 61 74 0a 20 20 20 20 20 20 68 61 73 20 61 20 6c 65 es.a.pointer.that.......has.a.le
3bb80 6e 67 74 68 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 61 20 73 65 6e 74 69 6e 65 6c 20 76 61 ngth.determined.by.a.sentinel.va
3bba0 6c 75 65 2e 20 54 68 69 73 20 70 72 6f 76 69 64 65 73 20 70 72 6f 74 65 63 74 69 6f 6e 0a 20 20 lue..This.provides.protection...
3bbc0 20 20 20 20 61 67 61 69 6e 73 74 20 62 75 66 66 65 72 20 6f 76 65 72 66 6c 6f 77 20 61 6e 64 20 ....against.buffer.overflow.and.
3bbe0 6f 76 65 72 72 65 61 64 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 overreads........</p>.......<fig
3bc00 75 72 65 3e 3c 66 69 67 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">
3bc20 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
3bc40 65 3e 3c 2f 66 69 67 63 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.
3bc60 63 6c 61 73 73 3d 22 6c 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
3bc80 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
3bca0 3d 22 74 6f 6b 2d 62 75 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
3bcc0 70 61 6e 20 63 6c 61 73 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
3bce0 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=
3bd00 22 6c 69 6e 65 22 3e 3c 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
3bd20 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 "><span.class="tok-comment">//.T
3bd40 68 69 73 20 69 73 20 61 6c 73 6f 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 60 73 74 64 2e 63 2e his.is.also.available.as.`std.c.
3bd60 70 72 69 6e 74 66 60 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 printf`.</span></span>.<span.cla
3bd80 73 73 3d 22 6c 69 6e 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
3bda0 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 ub</span>.<span.class="tok-kw">e
3bdc0 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 xtern</span>.<span.class="tok-st
3bde0 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c r">&quot;c&quot;</span>.<span.cl
3be00 61 73 73 3d 22 74 6f 6b 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
3be20 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 66 3c 2f 73 70 61 6e 3e 28 66 6f 72 6d 61 74 ss="tok-fn">printf</span>(format
3be40 3a 20 5b 2a 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c :.[*:<span.class="tok-number">0<
3be60 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 /span>]<span.class="tok-kw">cons
3be80 74 3c 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">
3bea0 75 38 3c 2f 73 70 61 6e 3e 2c 20 2e 2e 2e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b u8</span>,....).<span.class="tok
3bec0 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -type">c_int</span>;</span>.<spa
3bee0 6e 20 63 6c 61 73 73 3d 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
3bf00 73 73 3d 22 6c 69 6e 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
3bf20 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
3bf40 6e 3c 2f 73 70 61 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
3bf60 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 in</span>().<span.class="tok-typ
3bf80 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="
3bfa0 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>.<
3bfc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 72 69 6e 74 66 span.class="line">...._.=.printf
3bfe0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c (<span.class="tok-str">&quot;Hel
3c000 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 20 3c 73 70 61 lo,.world!\n&quot;</span>);.<spa
3c020 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 4b 3c 2f 73 70 61 n.class="tok-comment">//.OK</spa
3c040 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 n></span>.<span.class="line"></s
3c060 70 61 6e 3e 0a 3c 73 70 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
3c080 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 73 n.class="tok-kw">const</span>.ms
3c0a0 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b g.=.<span.class="tok-str">&quot;
3c0c0 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 Hello,.world!\n&quot;</span>;</s
3c0e0 70 61 6e 3e 0a 3c 73 70 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
3c100 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 6f n.class="tok-kw">const</span>.no
3c120 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 3a 20 5b 6d 73 67 2e 6c 65 6e 5d n_null_terminated_msg:.[msg.len]
3c140 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>
3c160 20 3d 20 6d 73 67 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .=.msg.*;</span>.<span.class="li
3c180 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 72 69 6e 74 66 28 26 61 6d 70 3b 6e 6f 6e 5f 6e 75 6c 6c ne">...._.=.printf(&amp;non_null
3c1a0 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 _terminated_msg);</span>.<span.c
3c1c0 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
3c1e0 3e 3c 2f 66 69 67 75 72 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
3c200 61 73 73 3d 22 73 68 65 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
3c220 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">
3c240 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 20 2d 6c $.<kbd>zig.build-exe.test.zig.-l
3c260 63 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 c</kbd></span>.<span.class="line
3c280 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d "><span.class="t0_1">./docgen_tm
3c2a0 70 2f 74 65 73 74 2e 7a 69 67 3a 31 31 3a 31 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 p/test.zig:11:17:.</span><span.c
3c2c0 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
3c2e0 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 5b 2a 3a .class="t0_1">expected.type.'[*:
3c300 30 5d 63 6f 6e 73 74 20 75 38 27 2c 20 66 6f 75 6e 64 20 27 2a 63 6f 6e 73 74 20 5b 31 34 5d 75 0]const.u8',.found.'*const.[14]u
3c320 38 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 8'</span></span>.<span.class="li
3c340 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 72 69 6e 74 66 28 26 61 6d 70 3b 6e 6f 6e 5f 6e 75 6c 6c ne">...._.=.printf(&amp;non_null
3c360 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 _terminated_msg);</span>.<span.c
3c380 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
3c3a0 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>.
3c3c0 3c 73 70 61 6e 20 63 6c 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="
3c3e0 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 31 3a 31 t0_1">./docgen_tmp/test.zig:11:1
3c400 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 7:.</span><span.class="t36_1">no
3c420 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 64 65 te:.</span><span.class="t0_1">de
3c440 73 74 69 6e 61 74 69 6f 6e 20 70 6f 69 6e 74 65 72 20 72 65 71 75 69 72 65 73 20 61 20 74 65 72 stination.pointer.requires.a.ter
3c460 6d 69 6e 61 74 69 6e 67 20 27 30 27 20 73 65 6e 74 69 6e 65 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 minating.'0'.sentinel</span></sp
3c480 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 an>.<span.class="line">...._.=.p
3c4a0 72 69 6e 74 66 28 26 61 6d 70 3b 6e 6f 6e 5f 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d rintf(&amp;non_null_terminated_m
3c4c0 73 67 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 sg);</span>.<span.class="line">.
3c4e0 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_
3c500 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 1">^</span></span>.</samp></pre>
3c520 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e </figure>.......<p>See.also:</p>
3c540 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d <ul>.<li><a.href="#Sentinel-Term
3c560 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 inated-Slices">Sentinel-Terminat
3c580 65 64 20 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 ed.Slices</a></li>.<li><a.href="
3c5a0 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 53 65 6e #Sentinel-Terminated-Arrays">Sen
3c5c0 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e tinel-Terminated.Arrays</a></li>
3c5e0 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 .</ul>.......................<h2
3c600 20 69 64 3d 22 53 6c 69 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 6c 69 63 65 .id="Slices"><a.href="#toc-Slice
3c620 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 s">Slices</a>.<a.class="hdr".hre
3c640 66 3d 22 23 53 6c 69 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c f="#Slices">..</a></h2>........<
3c660 66 69 67 75 72 65 3e 3c 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
3c680 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</
3c6a0 63 69 74 65 3e 3c 2f 66 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
3c6c0 61 6e 20 63 6c 61 73 73 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
3c6e0 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
3c700 20 63 6c 61 73 73 3d 22 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
3c720 61 6e 3e 28 3c 73 70 61 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;
3c740 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
3c760 3b 3c 2f 73 70 61 6e 3e 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
3c780 61 6e 3e 0a 3c 73 70 61 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
3c7a0 73 73 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
3c7c0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 73 69 63 20 73 6c 69 63 65 73 ass="tok-str">&quot;basic.slices
3c7e0 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
3c800 73 73 3d 22 6c 69 6e 65 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
3c820 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 w">var</span>.array.=.[_]<span.c
3c840 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 lass="tok-type">i32</span>{.<spa
3c860 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c n.class="tok-number">1</span>,.<
3c880 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>
3c8a0 2c 20 3c 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
3c8c0 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c an>,.<span.class="tok-number">4<
3c8e0 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>.};</span>.<span.class="li
3c900 6e 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
3c920 22 3e 2f 2f 20 41 20 73 6c 69 63 65 20 69 73 20 61 20 70 6f 69 6e 74 65 72 20 61 6e 64 20 61 20 ">//.A.slice.is.a.pointer.and.a.
3c940 6c 65 6e 67 74 68 2e 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 74 77 65 65 6e 20 61 length..The.difference.between.a
3c960 6e 20 61 72 72 61 79 20 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 n.array.and</span></span>.<span.
3c980 63 6c 61 73 73 3d 22 6c 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
3c9a0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 20 73 6c 69 63 65 20 69 73 20 74 68 61 74 20 74 68 k-comment">//.a.slice.is.that.th
3c9c0 65 20 61 72 72 61 79 27 73 20 6c 65 6e 67 74 68 20 69 73 20 70 61 72 74 20 6f 66 20 74 68 65 20 e.array's.length.is.part.of.the.
3c9e0 74 79 70 65 20 61 6e 64 20 6b 6e 6f 77 6e 20 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a type.and.known.at</span></span>.
3ca00 3c 73 70 61 6e 20 63 6c 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
3ca20 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 ss="tok-comment">//.compile-time
3ca40 2c 20 77 68 65 72 65 61 73 20 74 68 65 20 73 6c 69 63 65 27 73 20 6c 65 6e 67 74 68 20 69 73 20 ,.whereas.the.slice's.length.is.
3ca60 6b 6e 6f 77 6e 20 61 74 20 72 75 6e 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a known.at.runtime.</span></span>.
3ca80 3c 73 70 61 6e 20 63 6c 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
3caa0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 6f 74 68 20 63 61 6e 20 62 65 20 ss="tok-comment">//.Both.can.be.
3cac0 61 63 63 65 73 73 65 64 20 77 69 74 68 20 74 68 65 20 60 6c 65 6e 60 20 66 69 65 6c 64 2e 3c 2f accessed.with.the.`len`.field.</
3cae0 73 70 61 6e 3e 3c 2f 73 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">
3cb00 20 20 20 20 3c 73 70 61 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
3cb20 61 6e 3e 20 6b 6e 6f 77 6e 5f 61 74 5f 72 75 6e 74 69 6d 65 5f 7a 65 72 6f 3a 20 3c 73 70 61 6e an>.known_at_runtime_zero:.<span
3cb40 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>.=
3cb60 20 3c 73 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
3cb80 6e 3e 3b 3c 2f 73 70 61 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">..
3cba0 20 20 3c 73 70 61 6e 20 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
3cbc0 61 6e 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 6b 6e 6f 77 6e 5f 61 74 5f 72 75 6e 74 69 an>.slice.=.array[known_at_runti
3cbe0 6d 65 5f 7a 65 72 6f 2e 2e 61 72 72 61 79 2e 6c 65 6e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 me_zero..array.len];</span>.<spa
3cc00 6e 20 63 6c 61 73 73 3d 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="
3cc20 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 26 61 6d 70 3b 73 tok-kw">try</span>.expect(&amp;s
3cc40 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c lice[<span.class="tok-number">0<
3cc60 2f 73 70 61 6e 3e 5d 20 3d 3d 20 26 61 6d 70 3b 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 /span>].==.&amp;array[<span.clas
3cc80 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b 3c 2f 73 70 61 6e s="tok-number">0</span>]);</span
3cca0 3e 0a 3c 73 70 61 6e 20 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
3ccc0 6c 61 73 73 3d 22 74 6f 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(
3cce0 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 61 72 72 61 79 2e 6c 65 6e 29 3b 3c 2f 73 70 61 6e 3e 0a slice.len.==.array.len);</span>.
3cd00 3c 73 70 61 6e 20 63 6c 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
3cd20 20 63 6c 61 73 73 3d 22 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
3cd40 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 69 6e 67 20 74 68 65 20 61 64 64 72 65 73 73 ok-comment">//.Using.the.address
3cd60 2d 6f 66 20 6f 70 65 72 61 74 6f 72 20 6f 6e 20 61 20 73 6c 69 63 65 20 67 69 76 65 73 20 61 20 -of.operator.on.a.slice.gives.a.
3cd80 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 single-item.pointer,</span></spa
3cda0 6e 3e 0a 3c 73 70 61 6e 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.
3cdc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 68 69 6c 65 20 75 73 69 class="tok-comment">//.while.usi
3cde0 6e 67 20 74 68 65 20 60 70 74 72 60 20 66 69 65 6c 64 20 67 69 76 65 73 20 61 20 6d 61 6e 79 2d ng.the.`ptr`.field.gives.a.many-
3ce00 69 74 65 6d 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 item.pointer.</span></span>.<spa
3ce20 6e 20 63 6c 61 73 73 3d 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="
3ce40 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 tok-kw">try</span>.expect(<span.
3ce60 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
3ce80 6e 3e 28 73 6c 69 63 65 2e 70 74 72 29 20 3d 3d 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>(slice.ptr).==.[*]<span.class=
3cea0 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>.<
3cec0 73 70 61 6e 20 63 6c 61 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
3cee0 73 3d 22 74 6f 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
3cf00 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</
3cf20 73 70 61 6e 3e 28 26 61 6d 70 3b 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>(&amp;slice[<span.class="to
3cf40 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 k-number">0</span>]).==.*<span.c
3cf60 6c 61 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
3cf80 61 6e 3e 0a 3c 73 70 61 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
3cfa0 20 63 6c 61 73 73 3d 22 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
3cfc0 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 t(<span.class="tok-builtin">@ptr
3cfe0 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 2e 70 74 72 29 20 3d 3d 20 3c 73 70 61 6e ToInt</span>(slice.ptr).==.<span
3d000 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f .class="tok-builtin">@ptrToInt</
3d020 73 70 61 6e 3e 28 26 61 6d 70 3b 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>(&amp;slice[<span.class="to
3d040 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">0</span>]));</span>.<s
3d060 70 61 6e 20 63 6c 61 73 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
3d080 6c 61 73 73 3d 22 6c 69 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
3d0a0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 6c 69 63 65 73 20 68 61 76 65 20 61 72 72 61 79 20 62 -comment">//.Slices.have.array.b
3d0c0 6f 75 6e 64 73 20 63 68 65 63 6b 69 6e 67 2e 20 49 66 20 79 6f 75 20 74 72 79 20 74 6f 20 61 63 ounds.checking..If.you.try.to.ac
3d0e0 63 65 73 73 20 73 6f 6d 65 74 68 69 6e 67 20 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e cess.something.out</span></span>
3d100 0a 3c 73 70 61 6e 20 63 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
3d120 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 66 20 62 6f 75 6e 64 73 2c 20 ass="tok-comment">//.of.bounds,.
3d140 79 6f 75 27 6c 6c 20 67 65 74 20 61 20 73 61 66 65 74 79 20 63 68 65 63 6b 20 66 61 69 6c 75 72 you'll.get.a.safety.check.failur
3d160 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e:</span></span>.<span.class="li
3d180 6e 65 22 3e 20 20 20 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ne">....slice[<span.class="tok-n
3d1a0 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 umber">10</span>].+=.<span.class
3d1c0 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>.<
3d1e0 73 70 61 6e 20 63 6c 61 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.
3d200 63 6c 61 73 73 3d 22 6c 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
3d220 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 74 65 20 74 68 61 74 20 60 73 6c 69 63 65 2e 70 k-comment">//.Note.that.`slice.p
3d240 74 72 60 20 64 6f 65 73 20 6e 6f 74 20 69 6e 76 6f 6b 65 20 73 61 66 65 74 79 20 63 68 65 63 6b tr`.does.not.invoke.safety.check
3d260 69 6e 67 2c 20 77 68 69 6c 65 20 60 26 61 6d 70 3b 73 6c 69 63 65 5b 30 5d 60 3c 2f 73 70 61 6e ing,.while.`&amp;slice[0]`</span
3d280 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
3d2a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 73 73 <span.class="tok-comment">//.ass
3d2c0 65 72 74 73 20 74 68 61 74 20 74 68 65 20 73 6c 69 63 65 20 68 61 73 20 6c 65 6e 20 26 67 74 3b erts.that.the.slice.has.len.&gt;
3d2e0 3d 20 31 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 =.1.</span></span>.<span.class="
3d300 6c 69 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
3d320 75 72 65 3e 3c 66 69 67 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
3d340 68 65 6c 6c 2d 63 61 70 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
3d360 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
3d380 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>.
3d3a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f <span.class="line">1/1.test.&quo
3d3c0 74 3b 62 61 73 69 63 20 73 6c 69 63 65 73 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 31 t;basic.slices&quot;....thread.1
3d3e0 34 32 35 37 39 37 20 70 61 6e 69 63 3a 20 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 425797.panic:.index.out.of.bound
3d400 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 s</span>.<span.class="line"><spa
3d420 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 n.class="t1_0">/home/andy/tmp/zi
3d440 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 32 3a 31 30 3c 2f 73 70 61 g/docgen_tmp/test.zig:22:10</spa
3d460 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 62 32 33 20 n>:.<span.class="t2_0">0x207b23.
3d480 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 62 61 73 69 63 20 73 6c 69 63 65 73 26 71 75 6f 74 3b in.test.&quot;basic.slices&quot;
3d4a0 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
3d4c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6c 69 63 65 5b 31 30 5d 20 2b 3d 20 31 3b 3c 2f 73 70 s="line">....slice[10].+=.1;</sp
3d4e0 61 6e 3e 0a 3c 73 70 61 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">.........
3d500 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
3d520 61 6e 3e 0a 3c 73 70 61 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
3d540 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
3d560 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 38 30 3a /std/special/test_runner.zig:80:
3d580 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 28</span>:.<span.class="t2_0">0x
3d5a0 32 32 66 33 64 33 20 69 6e 20 73 74 64 2e 73 70 65 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 22f3d3.in.std.special.main.(test
3d5c0 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
3d5e0 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()
3d600 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
3d620 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
3d640 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
3d660 20 63 6c 61 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"
3d680 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 >/home/andy/tmp/zig/lib/std/star
3d6a0 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 t.zig:551:22</span>:.<span.class
3d6c0 3d 22 74 32 5f 30 22 3e 30 78 32 32 38 37 34 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 ="t2_0">0x22874c.in.std.start.ca
3d6e0 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 llMain.(test)</span></span>.<spa
3d700 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e n.class="line">............root.
3d720 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 main();</span>.<span.class="line
3d740 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ">.....................<span.cla
3d760 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
3d780 20 63 6c 61 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"
3d7a0 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 >/home/andy/tmp/zig/lib/std/star
3d7c0 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 t.zig:495:12</span>:.<span.class
3d7e0 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 33 64 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 ="t2_0">0x2093de.in.std.start.ca
3d800 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 llMainWithArgs.(test)</span></sp
3d820 61 6e 3e 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
3d840 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 n.@call(.{..modifier.=..always_i
3d860 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a nline.},.callMain,..{});</span>.
3d880 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 <span.class="line">...........<s
3d8a0 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
3d8c0 3e 0a 3c 73 70 61 6e 20 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
3d8e0 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 ="t1_0">/home/andy/tmp/zig/lib/s
3d900 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 td/start.zig:409:17</span>:.<spa
3d920 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 34 37 36 20 69 6e 20 73 74 64 2e 73 n.class="t2_0">0x208476.in.std.s
3d940 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 tart.posixCallMainAndExit.(test)
3d960 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
3d980 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 ">....std.os.exit(@call(.{..modi
3d9a0 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 fier.=..always_inline.},.callMai
3d9c0 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d nWithArgs,..{.argc,.argv,.envp.}
3d9e0 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">..
3da00 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
3da20 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
3da40 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e ine"><span.class="t1_0">/home/an
3da60 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 dy/tmp/zig/lib/std/start.zig:322
3da80 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 :5</span>:.<span.class="t2_0">0x
3daa0 32 30 38 32 38 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 208282.in.std.start._start.(test
3dac0 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
3dae0 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 e">....@call(.{..modifier.=..nev
3db00 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 er_inline.},.posixCallMainAndExi
3db20 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e t,..{});</span>.<span.class="lin
3db40 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
3db60 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 an></span>.<span.class="line">er
3db80 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 ror:.the.following.test.command.
3dba0 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e crashed:</span>.<span.class="lin
3dbc0 65 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 e">docgen_tmp/zig-cache/o/e62d5b
3dbe0 36 34 33 64 30 38 66 31 61 63 62 62 31 33 38 36 64 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 643d08f1acbb1386db92eb0f23/test.
3dc00 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 /home/andy/tmp/zig/build-release
3dc20 2f 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 /zig</span>.</samp></pre></figur
3dc40 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 6f 6e 65 20 72 65 61 73 6f 6e 20 77 e>.......<p>This.is.one.reason.w
3dc60 65 20 70 72 65 66 65 72 20 73 6c 69 63 65 73 20 74 6f 20 70 6f 69 6e 74 65 72 73 2e 3c 2f 70 3e e.prefer.slices.to.pointers.</p>
3dc80 0a 20 20 20 20 20 20 3c 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
3dca0 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 6c ="zig-cap"><cite.class="file">sl
3dcc0 69 63 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 ices.zig</cite></figcaption><pre
3dce0 3e 3c 63 6f 64 65 3e 3c 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.
3dd00 63 6c 61 73 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.
3dd20 3d 20 3c 73 70 61 6e 20 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
3dd40 6f 72 74 3c 2f 73 70 61 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"
3dd60 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>
3dd80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
3dda0 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
3ddc0 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.
3dde0 63 6c 61 73 73 3d 22 6c 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
3de00 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b 3c 2f 73 ">const</span>.mem.=.std.mem;</s
3de20 70 61 6e 3e 0a 3c 73 70 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
3de40 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6d 74 20 3d 20 ass="tok-kw">const</span>.fmt.=.
3de60 73 74 64 2e 66 6d 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e std.fmt;</span>.<span.class="lin
3de80 65 22 3e 3c 2f 73 70 61 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
3dea0 70 61 6e 20 63 6c 61 73 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>.<
3dec0 73 70 61 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
3dee0 20 73 6c 69 63 65 73 20 66 6f 72 20 73 74 72 69 6e 67 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e .slices.for.strings&quot;</span>
3df00 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
3df20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 5a 69 .<span.class="tok-comment">//.Zi
3df40 67 20 68 61 73 20 6e 6f 20 63 6f 6e 63 65 70 74 20 6f 66 20 73 74 72 69 6e 67 73 2e 20 53 74 72 g.has.no.concept.of.strings..Str
3df60 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 61 72 65 20 63 6f 6e 73 74 20 70 6f 69 6e 74 65 72 73 3c ing.literals.are.const.pointers<
3df80 2f 73 70 61 6e 3e 3c 2f 73 70 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"
3dfa0 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">/
3dfc0 2f 20 74 6f 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 61 72 72 61 79 73 20 6f 66 20 75 /.to.null-terminated.arrays.of.u
3dfe0 38 2c 20 61 6e 64 20 62 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 3c 8,.and.by.convention.parameters<
3e000 2f 73 70 61 6e 3e 3c 2f 73 70 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"
3e020 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">/
3e040 2f 20 74 68 61 74 20 61 72 65 20 26 71 75 6f 74 3b 73 74 72 69 6e 67 73 26 71 75 6f 74 3b 20 61 /.that.are.&quot;strings&quot;.a
3e060 72 65 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 20 re.expected.to.be.UTF-8.encoded.
3e080 73 6c 69 63 65 73 20 6f 66 20 75 38 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 slices.of.u8.</span></span>.<spa
3e0a0 6e 20 63 6c 61 73 73 3d 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="
3e0c0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 65 20 77 65 20 63 6f 65 72 63 65 20 2a tok-comment">//.Here.we.coerce.*
3e0e0 63 6f 6e 73 74 20 5b 35 3a 30 5d 75 38 20 61 6e 64 20 2a 63 6f 6e 73 74 20 5b 36 3a 30 5d 75 38 const.[5:0]u8.and.*const.[6:0]u8
3e100 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .to.[]const.u8</span></span>.<sp
3e120 61 6e 20 63 6c 61 73 73 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=
3e140 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 3a 20 5b 5d 3c "tok-kw">const</span>.hello:.[]<
3e160 73 70 61 6e 20 63 6c 61 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>
3e180 20 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
3e1a0 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b >.=.<span.class="tok-str">&quot;
3e1c0 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e hello&quot;</span>;</span>.<span
3e1e0 20 63 6c 61 73 73 3d 22 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
3e200 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 6f 72 6c 64 3a 20 5b 5d 3c 73 70 ok-kw">const</span>.world:.[]<sp
3e220 61 6e 20 63 6c 61 73 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>.<
3e240 73 70 61 6e 20 63 6c 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>.
3e260 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b e4 b8 =.<span.class="tok-str">&quot;..
3e280 96 e7 95 8c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ....&quot;</span>;</span>.<span.
3e2a0 63 6c 61 73 73 3d 22 6c 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
3e2c0 3d 22 6c 69 6e 65 22 3e 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"
3e2e0 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 3a 20 5b 3c 73 70 61 6e >var</span>.all_together:.[<span
3e300 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 5d 3c .class="tok-number">100</span>]<
3e320 73 70 61 6e 20 63 6c 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>.
3e340 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
3e360 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
3e380 69 6e 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
3e3a0 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 75 73 65 20 73 6c 69 63 65 20 73 79 6e 74 61 78 20 6f t">//.You.can.use.slice.syntax.o
3e3c0 6e 20 61 6e 20 61 72 72 61 79 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 61 72 72 61 79 20 69 n.an.array.to.convert.an.array.i
3e3e0 6e 74 6f 20 61 20 73 6c 69 63 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e nto.a.slice.</span></span>.<span
3e400 20 63 6c 61 73 73 3d 22 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
3e420 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 ok-kw">const</span>.all_together
3e440 5f 73 6c 69 63 65 20 3d 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 5b 3c 73 70 61 6e 20 63 6c 61 73 _slice.=.all_together[<span.clas
3e460 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 3b 3c 2f 73 70 61 s="tok-number">0</span>..];</spa
3e480 6e 3e 0a 3c 73 70 61 6e 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.
3e4a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 69 6e 67 20 63 6f class="tok-comment">//.String.co
3e4c0 6e 63 61 74 65 6e 61 74 69 6f 6e 20 65 78 61 6d 70 6c 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ncatenation.example.</span></spa
3e4e0 6e 3e 0a 3c 73 70 61 6e 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.
3e500 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c class="tok-kw">const</span>.hell
3e520 6f 5f 77 6f 72 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 o_world.=.<span.class="tok-kw">t
3e540 72 79 3c 2f 73 70 61 6e 3e 20 66 6d 74 2e 62 75 66 50 72 69 6e 74 28 61 6c 6c 5f 74 6f 67 65 74 ry</span>.fmt.bufPrint(all_toget
3e560 68 65 72 5f 73 6c 69 63 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 her_slice,.<span.class="tok-str"
3e580 3e 26 71 75 6f 74 3b 7b 73 7d 20 7b 73 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 20 >&quot;{s}.{s}&quot;</span>,..{.
3e5a0 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c hello,.world.});</span>.<span.cl
3e5c0 61 73 73 3d 22 6c 69 6e 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="
3e5e0 6c 69 6e 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
3e600 6e 74 22 3e 2f 2f 20 47 65 6e 65 72 61 6c 6c 79 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 55 54 nt">//.Generally,.you.can.use.UT
3e620 46 2d 38 20 61 6e 64 20 6e 6f 74 20 77 6f 72 72 79 20 61 62 6f 75 74 20 77 68 65 74 68 65 72 20 F-8.and.not.worry.about.whether.
3e640 73 6f 6d 65 74 68 69 6e 67 20 69 73 20 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 something.is.a</span></span>.<sp
3e660 61 6e 20 63 6c 61 73 73 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=
3e680 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 74 72 69 6e 67 2e 20 49 66 20 79 6f 75 20 "tok-comment">//.string..If.you.
3e6a0 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 64 65 61 6c 20 77 69 74 68 20 69 6e 64 69 76 69 64 75 don't.need.to.deal.with.individu
3e6c0 61 6c 20 63 68 61 72 61 63 74 65 72 73 2c 20 6e 6f 20 6e 65 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 al.characters,.no.need</span></s
3e6e0 70 61 6e 3e 0a 3c 73 70 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
3e700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 64 65 63 6f n.class="tok-comment">//.to.deco
3e720 64 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c de.</span></span>.<span.class="l
3e740 69 6e 65 22 3e 20 20 20 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
3e760 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c y</span>.expect(mem.eql(<span.cl
3e780 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 68 65 6c 6c 6f 5f ass="tok-type">u8</span>,.hello_
3e7a0 77 6f 72 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 world,.<span.class="tok-str">&qu
3e7c0 6f 74 3b 68 65 6c 6c 6f 20 e4 b8 96 e7 95 8c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c ot;hello.......&quot;</span>));<
3e7e0 2f 73 70 61 6e 3e 0a 3c 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
3e800 6e 3e 0a 3c 73 70 61 6e 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
3e820 70 61 6e 20 63 6c 61 73 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
3e840 6b 2d 6b 77 22 3e 74 65 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
3e860 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 6c 69 63 65 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 ok-str">&quot;slice.pointer&quot
3e880 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
3e8a0 69 6e 65 22 3e 20 20 20 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
3e8c0 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f r</span>.array:.[<span.class="to
3e8e0 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">10</span>]<span.class=
3e900 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 "tok-type">u8</span>.=.<span.cla
3e920 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>;<
3e940 2f 73 70 61 6e 3e 0a 3c 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
3e960 70 61 6e 20 63 6c 61 73 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>.
3e980 70 74 72 20 3d 20 26 61 6d 70 3b 61 72 72 61 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ptr.=.&amp;array;</span>.<span.c
3e9a0 6c 61 73 73 3d 22 6c 69 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=
3e9c0 22 6c 69 6e 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
3e9e0 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 75 73 65 20 73 6c 69 63 69 6e 67 20 73 79 6e 74 ent">//.You.can.use.slicing.synt
3ea00 61 78 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 20 70 6f 69 6e 74 65 72 20 69 6e 74 6f 20 61 20 73 ax.to.convert.a.pointer.into.a.s
3ea20 6c 69 63 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lice:</span></span>.<span.class=
3ea40 22 6c 69 6e 65 22 3e 20 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">
3ea60 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 70 74 72 5b 3c 73 70 61 6e 20 63 const</span>.slice.=.ptr[<span.c
3ea80 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 lass="tok-number">0</span>..<spa
3eaa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 3c n.class="tok-number">5</span>];<
3eac0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6c /span>.<span.class="line">....sl
3eae0 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f ice[<span.class="tok-number">2</
3eb00 73 70 61 6e 3e 5d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 span>].=.<span.class="tok-number
3eb20 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">3</span>;</span>.<span.class="
3eb40 6c 69 6e 65 22 3e 20 20 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
3eb60 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 ry</span>.expect(slice[<span.cla
3eb80 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 ss="tok-number">2</span>].==.<sp
3eba0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b an.class="tok-number">3</span>);
3ebc0 3c 2f 73 70 61 6e 3e 0a 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">....<
3ebe0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 span.class="tok-comment">//.The.
3ec00 73 6c 69 63 65 20 69 73 20 6d 75 74 61 62 6c 65 20 62 65 63 61 75 73 65 20 77 65 20 73 6c 69 63 slice.is.mutable.because.we.slic
3ec20 65 64 20 61 20 6d 75 74 61 62 6c 65 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ed.a.mutable.pointer.</span></sp
3ec40 61 6e 3e 0a 3c 73 70 61 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
3ec60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 75 72 74 68 65 72 6d .class="tok-comment">//.Furtherm
3ec80 6f 72 65 2c 20 69 74 20 69 73 20 61 63 74 75 61 6c 6c 79 20 61 20 70 6f 69 6e 74 65 72 20 74 6f ore,.it.is.actually.a.pointer.to
3eca0 20 61 6e 20 61 72 72 61 79 2c 20 73 69 6e 63 65 20 74 68 65 20 73 74 61 72 74 3c 2f 73 70 61 6e .an.array,.since.the.start</span
3ecc0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
3ece0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 64 <span.class="tok-comment">//.and
3ed00 20 65 6e 64 20 69 6e 64 65 78 65 73 20 77 65 72 65 20 62 6f 74 68 20 63 6f 6d 70 74 69 6d 65 2d .end.indexes.were.both.comptime-
3ed20 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
3ed40 3d 22 6c 69 6e 65 22 3e 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"
3ed60 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >try</span>.expect(<span.class="
3ed80 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 tok-builtin">@TypeOf</span>(slic
3eda0 65 29 20 3d 3d 20 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 e).==.*[<span.class="tok-number"
3edc0 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 >5</span>]<span.class="tok-type"
3ede0 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=
3ee00 22 6c 69 6e 65 22 3e 3c 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
3ee20 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">
3ee40 2f 2f 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 73 6c 69 63 65 20 61 20 73 6c 69 63 65 3a 3c 2f //.You.can.also.slice.a.slice:</
3ee60 73 70 61 6e 3e 3c 2f 73 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">
3ee80 20 20 20 20 3c 73 70 61 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</
3eea0 73 70 61 6e 3e 20 73 6c 69 63 65 32 20 3d 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 span>.slice2.=.slice[<span.class
3eec0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c ="tok-number">2</span>..<span.cl
3eee0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 ass="tok-number">3</span>];</spa
3ef00 6e 3e 0a 3c 73 70 61 6e 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.
3ef20 63 6c 61 73 73 3d 22 74 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
3ef40 28 73 6c 69 63 65 32 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d (slice2.len.==.<span.class="tok-
3ef60 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">1</span>);</span>.<span.
3ef80 63 6c 61 73 73 3d 22 6c 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
3efa0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 32 5b 3c k-kw">try</span>.expect(slice2[<
3efc0 73 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>
3efe0 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c ].==.<span.class="tok-number">3<
3f000 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
3f020 65 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
3f040 3e 3c 66 69 67 75 72 65 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
3f060 6c 2d 63 61 70 22 3e 53 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
3f080 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
3f0a0 67 20 74 65 73 74 20 73 6c 69 63 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c g.test.slices.zig</kbd></span>.<
3f0c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 span.class="line">1/2.test.&quot
3f0e0 3b 75 73 69 6e 67 20 73 6c 69 63 65 73 20 66 6f 72 20 73 74 72 69 6e 67 73 26 71 75 6f 74 3b 2e ;using.slices.for.strings&quot;.
3f100 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">
3f120 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 73 6c 69 63 65 20 70 6f 69 6e 74 65 72 26 71 75 6f 2/2.test.&quot;slice.pointer&quo
3f140 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e t;....OK</span>.<span.class="lin
3f160 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f e">All.2.tests.passed.</span>.</
3f180 73 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
3f1a0 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f e.also:</p><ul>.<li><a.href="#Po
3f1c0 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 inters">Pointers</a></li>.<li><a
3f1e0 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 .href="#for">for</a></li>.<li><a
3f200 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a .href="#Arrays">Arrays</a></li>.
3f220 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 65 6e 74 69 6e 65 6c 2d 54 </ul>.........<h3.id="Sentinel-T
3f240 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d erminated-Slices"><a.href="#toc-
3f260 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 Sentinel-Terminated-Slices">Sent
3f280 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 53 6c 69 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c inel-Terminated.Slices</a>.<a.cl
3f2a0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e ass="hdr".href="#Sentinel-Termin
3f2c0 61 74 65 64 2d 53 6c 69 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ated-Slices">..</a></h3>........
3f2e0 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 6f 64 65 3e 3c 73 70 61 6e <p>.......The.syntax.<code><span
3f300 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 3a 78 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 .class="line">[:x]T</span></code
3f320 3e 20 69 73 20 61 20 73 6c 69 63 65 20 77 68 69 63 68 20 68 61 73 20 61 20 72 75 6e 74 69 6d 65 >.is.a.slice.which.has.a.runtime
3f340 20 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 61 6e 64 20 61 6c 73 6f 20 67 75 61 .known.length.......and.also.gua
3f360 72 61 6e 74 65 65 73 20 61 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 20 61 74 20 74 68 65 20 rantees.a.sentinel.value.at.the.
3f380 65 6c 65 6d 65 6e 74 20 69 6e 64 65 78 65 64 20 62 79 20 74 68 65 20 6c 65 6e 67 74 68 2e 20 54 element.indexed.by.the.length..T
3f3a0 68 65 20 74 79 70 65 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 20 67 75 61 72 61 6e 74 65 65 he.type.does.not.......guarantee
3f3c0 20 74 68 61 74 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 73 65 6e 74 69 6e 65 6c 20 65 6c 65 6d .that.there.are.no.sentinel.elem
3f3e0 65 6e 74 73 20 62 65 66 6f 72 65 20 74 68 61 74 2e 20 53 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 ents.before.that..Sentinel-termi
3f400 6e 61 74 65 64 20 73 6c 69 63 65 73 20 61 6c 6c 6f 77 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 20 nated.slices.allow.element......
3f420 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .access.to.the.<code><span.class
3f440 3d 22 6c 69 6e 65 22 3e 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 64 65 78 2e ="line">len</span></code>.index.
3f460 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
3f480 70 74 69 6f 6e 20 63 6c 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
3f4a0 73 3d 22 66 69 6c 65 22 3e 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 65 2e 7a s="file">null_terminated_slice.z
3f4c0 69 67 3c 2f 63 69 74 65 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
3f4e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
3f500 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
3f520 6e 20 63 6c 61 73 73 3d 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
3f540 70 61 6e 3e 28 3c 73 70 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
3f560 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
3f580 20 63 6c 61 73 73 3d 22 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
3f5a0 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
3f5c0 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=
3f5e0 22 6c 69 6e 65 22 3e 3c 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
3f600 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
3f620 6e 3e 20 3c 73 70 61 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
3f640 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ull.terminated.slice&quot;</span
3f660 3e 20 7b 3c 2f 73 70 61 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">..
3f680 20 20 3c 73 70 61 6e 20 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
3f6a0 61 6e 3e 20 73 6c 69 63 65 3a 20 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 an>.slice:.[:<span.class="tok-nu
3f6c0 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d mber">0</span>]<span.class="tok-
3f6e0 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
3f700 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=
3f720 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
3f740 6e 3e 3b 3c 2f 73 70 61 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"></
3f760 73 70 61 6e 3e 0a 3c 73 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
3f780 61 6e 20 63 6c 61 73 73 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
3f7a0 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
3f7c0 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-number">5</span>);</span>.<spa
3f7e0 6e 20 63 6c 61 73 73 3d 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="
3f800 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 5b tok-kw">try</span>.expect(slice[
3f820 3c 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
3f840 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
3f860 3c 2f 73 70 61 6e 3e 29 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
3f880 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
3f8a0 65 3e 3c 66 69 67 75 72 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
3f8c0 6c 6c 2d 63 61 70 22 3e 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><
3f8e0 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
3f900 69 67 20 74 65 73 74 20 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 65 2e 7a 69 ig.test.null_terminated_slice.zi
3f920 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
3f940 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 ">1/1.test.&quot;null.terminated
3f960 20 73 6c 69 63 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .slice&quot;....OK</span>.<span.
3f980 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e class="line">All.1.tests.passed.
3f9a0 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>..
3f9c0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 .....<p>.......Sentinel-terminat
3f9e0 65 64 20 73 6c 69 63 65 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 63 72 65 61 74 65 64 20 75 73 ed.slices.can.also.be.created.us
3fa00 69 6e 67 20 61 20 76 61 72 69 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 73 6c 69 63 65 20 73 79 6e ing.a.variation.of.the.slice.syn
3fa20 74 61 78 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tax.......<code><span.class="lin
3fa40 65 22 3e 64 61 74 61 5b 73 74 61 72 74 2e 2e 65 6e 64 20 3a 78 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 e">data[start..end.:x]</span></c
3fa60 6f 64 65 3e 2c 20 77 68 65 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ode>,.where.<code><span.class="l
3fa80 69 6e 65 22 3e 64 61 74 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 6d 61 6e ine">data</span></code>.is.a.man
3faa0 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 2c 0a 20 20 20 20 20 20 61 72 72 61 79 20 6f 72 20 73 y-item.pointer,.......array.or.s
3fac0 6c 69 63 65 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 lice.and.<code><span.class="line
3fae0 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 73 65 6e 74 69 6e 65 ">x</span></code>.is.the.sentine
3fb00 6c 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 l.value........</p>.......<figur
3fb20 65 3e 3c 66 69 67 63 61 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
3fb40 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 ite.class="file">null_terminated
3fb60 5f 73 6c 69 63 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e _slicing.zig</cite></figcaption>
3fb80 3c 70 72 65 3e 3c 63 6f 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
3fba0 70 61 6e 20 63 6c 61 73 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>.
3fbc0 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">
3fbe0 40 69 6d 70 6f 72 74 3c 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-
3fc00 73 74 72 22 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
3fc20 70 61 6e 3e 0a 3c 73 70 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
3fc40 61 73 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
3fc60 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
3fc80 70 61 6e 20 63 6c 61 73 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
3fca0 6c 61 73 73 3d 22 6c 69 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"
3fcc0 3e 74 65 73 74 3c 2f 73 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
3fce0 72 22 3e 26 71 75 6f 74 3b 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 69 6e 67 r">&quot;null.terminated.slicing
3fd00 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
3fd20 73 73 3d 22 6c 69 6e 65 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
3fd40 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 w">var</span>.array.=.[_]<span.c
3fd60 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e lass="tok-type">u8</span>{.<span
3fd80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 .class="tok-number">3</span>,.<s
3fda0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c pan.class="tok-number">2</span>,
3fdc0 20 3c 73 70 61 6e 20 63 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
3fde0 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f n>,.<span.class="tok-number">0</
3fe00 73 70 61 6e 3e 2c 20 3c 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">
3fe20 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
3fe40 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r">2</span>,.<span.class="tok-nu
3fe60 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
3fe80 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">0</span>.};</span>.<spa
3fea0 6e 20 63 6c 61 73 73 3d 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="
3fec0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 tok-kw">var</span>.runtime_lengt
3fee0 68 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c h:.<span.class="tok-type">usize<
3ff00 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
3ff20 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">3</span>;</span>.<span.class="
3ff40 6c 69 6e 65 22 3e 20 20 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
3ff60 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 onst</span>.slice.=.array[<span.
3ff80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 72 75 6e class="tok-number">0</span>..run
3ffa0 74 69 6d 65 5f 6c 65 6e 67 74 68 20 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 time_length.:<span.class="tok-nu
3ffc0 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">0</span>];</span>.<span.cl
3ffe0 61 73 73 3d 22 6c 69 6e 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="
40000 6c 69 6e 65 22 3e 20 20 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
40020 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
40040 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)
40060 20 3d 3d 20 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 .==.[:<span.class="tok-number">0
40080 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
400a0 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 8</span>);</span>.<span.class="l
400c0 69 6e 65 22 3e 20 20 20 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
400e0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 3c 73 70 y</span>.expect(slice.len.==.<sp
40100 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b an.class="tok-number">3</span>);
40120 3c 2f 73 70 61 6e 3e 0a 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
40140 61 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
40160 3e 3c 66 69 67 63 61 70 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
40180 68 65 6c 6c 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
401a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 6e n.class="line">$.<kbd>zig.test.n
401c0 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 73 6c 69 63 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e ull_terminated_slicing.zig</kbd>
401e0 3c 2f 73 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
40200 65 73 74 20 26 71 75 6f 74 3b 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 69 6e est.&quot;null.terminated.slicin
40220 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 g&quot;....OK</span>.<span.class
40240 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
40260 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>.......
40280 3c 70 3e 0a 20 20 20 20 20 20 53 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c <p>.......Sentinel-terminated.sl
402a0 69 63 69 6e 67 20 61 73 73 65 72 74 73 20 74 68 61 74 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 69 icing.asserts.that.the.element.i
402c0 6e 20 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 62 n.the.sentinel.position.of.the.b
402e0 61 63 6b 69 6e 67 20 64 61 74 61 20 69 73 0a 20 20 20 20 20 20 61 63 74 75 61 6c 6c 79 20 74 68 acking.data.is.......actually.th
40300 65 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 2e 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 e.sentinel.value..If.this.is.not
40320 20 74 68 65 20 63 61 73 65 2c 20 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 .the.case,.safety-protected.<a.h
40340 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 ref="#Undefined-Behavior">Undefi
40360 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 72 65 73 75 6c 74 73 2e 0a 20 20 20 20 20 20 ned.Behavior</a>.results........
40380 3c 2f 70 3e 0a 20 20 20 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
403a0 6c 61 73 73 3d 22 7a 69 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
403c0 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
403e0 72 65 3e 3c 63 6f 64 65 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
40400 6e 20 63 6c 61 73 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
40420 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
40440 6d 70 6f 72 74 3c 2f 73 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
40460 72 22 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
40480 6e 3e 0a 3c 73 70 61 6e 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
404a0 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.=
404c0 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
404e0 6e 20 63 6c 61 73 73 3d 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
40500 73 73 3d 22 6c 69 6e 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
40520 65 73 74 3c 2f 73 70 61 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"
40540 3e 26 71 75 6f 74 3b 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 68 26 71 75 6f 74 3b 3c 2f >&quot;sentinel.mismatch&quot;</
40560 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
40580 22 3e 20 20 20 20 3c 73 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</
405a0 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.array.=.[_]<span.class="to
405c0 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-type">u8</span>{.<span.class="
405e0 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
40600 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
40620 6c 61 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
40640 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b n.class="tok-number">0</span>.};
40660 3c 2f 73 70 61 6e 3e 0a 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
40680 6e 3e 0a 3c 73 70 61 6e 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.
406a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 72 65 61 74 69 6e 67 20 class="tok-comment">//.Creating.
406c0 61 20 73 65 6e 74 69 6e 65 6c 2d 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 20 66 72 6f 6d a.sentinel-terminated.slice.from
406e0 20 74 68 65 20 61 72 72 61 79 20 77 69 74 68 20 61 20 6c 65 6e 67 74 68 20 6f 66 20 32 3c 2f 73 .the.array.with.a.length.of.2</s
40700 70 61 6e 3e 3c 2f 73 70 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">.
40720 20 20 20 3c 73 70 61 6e 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">//.
40740 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 20 76 61 6c 75 65 20 60 31 60 20 6f 63 63 will.result.in.the.value.`1`.occ
40760 75 70 79 69 6e 67 20 74 68 65 20 73 65 6e 74 69 6e 65 6c 20 65 6c 65 6d 65 6e 74 20 70 6f 73 69 upying.the.sentinel.element.posi
40780 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d tion.</span></span>.<span.class=
407a0 22 6c 69 6e 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
407c0 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 20 ent">//.This.does.not.match.the.
407e0 69 6e 64 69 63 61 74 65 64 20 73 65 6e 74 69 6e 65 6c 20 76 61 6c 75 65 20 6f 66 20 60 30 60 20 indicated.sentinel.value.of.`0`.
40800 61 6e 64 20 77 69 6c 6c 20 6c 65 61 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 and.will.lead</span></span>.<spa
40820 6e 20 63 6c 61 73 73 3d 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="
40840 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 61 20 72 75 6e 74 69 6d 65 20 70 61 6e tok-comment">//.to.a.runtime.pan
40860 69 63 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ic.</span></span>.<span.class="l
40880 69 6e 65 22 3e 20 20 20 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
408a0 72 3c 2f 73 70 61 6e 3e 20 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 68 3a 20 3c 73 70 61 6e 20 63 r</span>.runtime_length:.<span.c
408c0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c lass="tok-type">usize</span>.=.<
408e0 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>
40900 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
40920 3c 73 70 61 6e 20 63 6c 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
40940 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >.slice.=.array[<span.class="tok
40960 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 -number">0</span>..runtime_lengt
40980 68 20 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 h.:<span.class="tok-number">0</s
409a0 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"
409c0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
409e0 5f 20 3d 20 73 6c 69 63 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c _.=.slice;</span>.<span.class="l
40a00 69 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
40a20 72 65 3e 3c 66 69 67 75 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
40a40 65 6c 6c 2d 63 61 70 22 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>
40a60 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>
40a80 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>.<
40aa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 span.class="line">1/1.test.&quot
40ac0 3b 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 68 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 ;sentinel.mismatch&quot;....thre
40ae0 61 64 20 31 34 32 36 33 37 34 20 70 61 6e 69 63 3a 20 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 ad.1426374.panic:.sentinel.misma
40b00 74 63 68 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 tch</span>.<span.class="line"><s
40b20 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
40b40 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 32 3a 32 34 3c 2f 73 zig/docgen_tmp/test.zig:12:24</s
40b60 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 38 63 pan>:.<span.class="t2_0">0x2078c
40b80 61 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 73 65 6e 74 69 6e 65 6c 20 6d 69 73 6d 61 74 63 a.in.test.&quot;sentinel.mismatc
40ba0 68 26 71 75 6f 74 3b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 h&quot;.(test)</span></span>.<sp
40bc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 73 6c 69 63 65 20 an.class="line">....const.slice.
40be0 3d 20 61 72 72 61 79 5b 30 2e 2e 72 75 6e 74 69 6d 65 5f 6c 65 6e 67 74 68 20 3a 30 5d 3b 3c 2f =.array[0..runtime_length.:0];</
40c00 73 70 61 6e 3e 0a 3c 73 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">.......
40c20 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
40c40 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=
40c60 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/
40c80 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 andy/tmp/zig/lib/std/special/tes
40ca0 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 38 30 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e t_runner.zig:80:28</span>:.<span
40cc0 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 66 31 35 33 20 69 6e 20 73 74 64 2e 73 70 .class="t2_0">0x22f153.in.std.sp
40ce0 65 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ecial.main.(test)</span></span>.
40d00 3c 73 70 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
40d20 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
40d40 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">....................
40d60 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
40d80 61 6e 3e 3c 2f 73 70 61 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
40da0 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
40dc0 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 zig/lib/std/start.zig:551:22</sp
40de0 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 38 34 63 63 an>:.<span.class="t2_0">0x2284cc
40e00 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 .in.std.start.callMain.(test)</s
40e20 70 61 6e 3e 3c 2f 73 70 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">.
40e40 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>.<
40e60 73 70 61 6e 20 63 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">..............
40e80 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
40ea0 61 6e 3e 3c 2f 73 70 61 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
40ec0 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
40ee0 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 zig/lib/std/start.zig:495:12</sp
40f00 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 31 30 65 an>:.<span.class="t2_0">0x20910e
40f20 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 .in.std.start.callMainWithArgs.(
40f40 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=
40f60 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 "line">....return.@call(.{..modi
40f80 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 fier.=..always_inline.},.callMai
40fa0 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e n,..{});</span>.<span.class="lin
40fc0 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 e">...........<span.class="t32_1
40fe0 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
41000 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e ine"><span.class="t1_0">/home/an
41020 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 dy/tmp/zig/lib/std/start.zig:409
41040 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 :17</span>:.<span.class="t2_0">0
41060 78 32 30 38 31 61 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 x2081a6.in.std.start.posixCallMa
41080 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>.<
410a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 span.class="line">....std.os.exi
410c0 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 t(@call(.{..modifier.=..always_i
410e0 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 nline.},.callMainWithArgs,..{.ar
41100 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e gc,.argv,.envp.}));</span>.<span
41120 20 63 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
41140 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
41160 3e 0a 3c 73 70 61 6e 20 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
41180 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 ="t1_0">/home/andy/tmp/zig/lib/s
411a0 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e td/start.zig:322:5</span>:.<span
411c0 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 66 62 32 20 69 6e 20 73 74 64 2e 73 74 .class="t2_0">0x207fb2.in.std.st
411e0 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a art._start.(test)</span></span>.
41200 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(.{.
41220 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
41240 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>.
41260 3c 73 70 61 6e 20 63 6c 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
41280 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
412a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 .class="line">error:.the.followi
412c0 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a ng.test.command.crashed:</span>.
412e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 <span.class="line">docgen_tmp/zi
41300 67 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 36 34 33 64 30 38 66 31 61 63 62 62 31 33 38 36 g-cache/o/e62d5b643d08f1acbb1386
41320 64 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a db92eb0f23/test./home/andy/tmp/z
41340 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 ig/build-release/zig</span>.</sa
41360 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.
41380 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 also:</p><ul>.<li><a.href="#Sent
413a0 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e inel-Terminated-Pointers">Sentin
413c0 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a el-Terminated.Pointers</a></li>.
413e0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 <li><a.href="#Sentinel-Terminate
41400 64 2d 41 72 72 61 79 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 d-Arrays">Sentinel-Terminated.Ar
41420 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 rays</a></li>.</ul>.............
41440 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 74 72 75 63 74 22 3e 3c 61 20 68 72 65 ..........<h2.id="struct"><a.hre
41460 66 3d 22 23 74 6f 63 2d 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 3c 61 20 63 6c f="#toc-struct">struct</a>.<a.cl
41480 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e c2 a7 3c 2f 61 3e 3c ass="hdr".href="#struct">..</a><
414a0 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.
414c0 63 6c 61 73 73 3d 22 7a 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
414e0 65 22 3e 73 74 72 75 63 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f e">structs.zig</cite></figcaptio
41500 6e 3e 3c 70 72 65 3e 3c 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">
41520 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 <span.class="tok-comment">//.Dec
41540 6c 61 72 65 20 61 20 73 74 72 75 63 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lare.a.struct.</span></span>.<sp
41560 61 6e 20 63 6c 61 73 73 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
41580 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 5a 69 67 20 67 69 76 65 73 20 6e 6f 20 67 75 61 72 61 6e -comment">//.Zig.gives.no.guaran
415a0 74 65 65 73 20 61 62 6f 75 74 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 66 69 65 6c 64 73 20 61 tees.about.the.order.of.fields.a
415c0 6e 64 20 74 68 65 20 73 69 7a 65 20 6f 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 nd.the.size.of</span></span>.<sp
415e0 61 6e 20 63 6c 61 73 73 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
41600 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 73 74 72 75 63 74 20 62 75 74 20 74 68 65 20 -comment">//.the.struct.but.the.
41620 66 69 65 6c 64 73 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 41 42 49 2d fields.are.guaranteed.to.be.ABI-
41640 61 6c 69 67 6e 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 aligned.</span></span>.<span.cla
41660 73 73 3d 22 6c 69 6e 65 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
41680 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d onst</span>.Point.=.<span.class=
416a0 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>.
416c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 <span.class="line">....x:.<span.
416e0 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
41700 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 an>.<span.class="line">....y:.<s
41720 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c pan.class="tok-type">f32</span>,
41740 3c 2f 73 70 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
41760 70 61 6e 3e 0a 3c 73 70 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>.
41780 3c 73 70 61 6e 20 63 6c 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="
417a0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4d 61 79 62 65 20 77 65 20 77 61 6e 74 20 74 6f tok-comment">//.Maybe.we.want.to
417c0 20 70 61 73 73 20 69 74 20 74 6f 20 4f 70 65 6e 47 4c 20 73 6f 20 77 65 20 77 61 6e 74 20 74 6f .pass.it.to.OpenGL.so.we.want.to
417e0 20 62 65 20 70 61 72 74 69 63 75 6c 61 72 20 61 62 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 .be.particular.about</span></spa
41800 6e 3e 0a 3c 73 70 61 6e 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
41820 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 6f 77 20 74 68 65 20 62 79 74 65 73 s="tok-comment">//.how.the.bytes
41840 20 61 72 65 20 61 72 72 61 6e 67 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .are.arranged.</span></span>.<sp
41860 61 6e 20 63 6c 61 73 73 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
41880 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 32 20 3d 20 3c 73 70 61 6e -kw">const</span>.Point2.=.<span
418a0 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
418c0 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>
418e0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
41900 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</
41920 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"
41940 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
41960 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
41980 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
419a0 22 3e 3c 2f 73 70 61 6e 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
419c0 70 61 6e 3e 0a 3c 73 70 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
419e0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 6e 20 ass="tok-comment">//.Declare.an.
41a00 69 6e 73 74 61 6e 63 65 20 6f 66 20 61 20 73 74 72 75 63 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 instance.of.a.struct.</span></sp
41a20 61 6e 3e 0a 3c 73 70 61 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
41a40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 20 3d 20 50 6f 69 ss="tok-kw">const</span>.p.=.Poi
41a60 6e 74 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 nt.{</span>.<span.class="line">.
41a80 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ....x.=.<span.class="tok-number"
41aa0 3e 30 2e 31 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >0.12</span>,</span>.<span.class
41ac0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ="line">.....y.=.<span.class="to
41ae0 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 33 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">0.34</span>,</span>.<s
41b00 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
41b20 20 63 6c 61 73 73 3d 22 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
41b40 73 3d 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
41b60 74 22 3e 2f 2f 20 4d 61 79 62 65 20 77 65 27 72 65 20 6e 6f 74 20 72 65 61 64 79 20 74 6f 20 66 t">//.Maybe.we're.not.ready.to.f
41b80 69 6c 6c 20 6f 75 74 20 73 6f 6d 65 20 6f 66 20 74 68 65 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 ill.out.some.of.the.fields.</spa
41ba0 6e 3e 3c 2f 73 70 61 6e 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
41bc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 32 20 an.class="tok-kw">var</span>.p2.
41be0 3d 20 50 6f 69 6e 74 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 =.Point.{</span>.<span.class="li
41c00 6e 65 22 3e 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ne">.....x.=.<span.class="tok-nu
41c20 6d 62 65 72 22 3e 30 2e 31 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 mber">0.12</span>,</span>.<span.
41c40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 class="line">.....y.=.<span.clas
41c60 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 2c 3c 2f s="tok-null">undefined</span>,</
41c80 73 70 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
41ca0 6e 3e 0a 3c 73 70 61 6e 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
41cc0 70 61 6e 20 63 6c 61 73 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
41ce0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 75 63 74 73 20 63 61 6e 20 68 61 76 65 20 6d k-comment">//.Structs.can.have.m
41d00 65 74 68 6f 64 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ethods</span></span>.<span.class
41d20 3d 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
41d40 22 3e 2f 2f 20 53 74 72 75 63 74 20 6d 65 74 68 6f 64 73 20 61 72 65 20 6e 6f 74 20 73 70 65 63 ">//.Struct.methods.are.not.spec
41d60 69 61 6c 2c 20 74 68 65 79 20 61 72 65 20 6f 6e 6c 79 20 6e 61 6d 65 73 70 61 63 65 64 3c 2f 73 ial,.they.are.only.namespaced</s
41d80 70 61 6e 3e 3c 2f 73 70 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"><
41da0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 75 6e 63 span.class="tok-comment">//.func
41dc0 74 69 6f 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20 77 69 74 68 20 64 6f 74 tions.that.you.can.call.with.dot
41de0 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .syntax.</span></span>.<span.cla
41e00 73 73 3d 22 6c 69 6e 65 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
41e20 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 65 63 33 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 onst</span>.Vec3.=.<span.class="
41e40 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>.<
41e60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 span.class="line">....x:.<span.c
41e80 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
41ea0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 70 n>.<span.class="line">....y:.<sp
41ec0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c an.class="tok-type">f32</span>,<
41ee0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7a 3a /span>.<span.class="line">....z:
41f00 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
41f20 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"></
41f40 73 70 61 6e 3e 0a 3c 73 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
41f60 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
41f80 61 6e 20 63 6c 61 73 73 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
41fa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 6e 69 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 n.class="tok-fn">init</span>(x:.
41fc0 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
41fe0 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 >,.y:.<span.class="tok-type">f32
42000 3c 2f 73 70 61 6e 3e 2c 20 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 </span>,.z:.<span.class="tok-typ
42020 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 56 65 63 33 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 e">f32</span>).Vec3.{</span>.<sp
42040 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
42060 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 56 65 63 33 20 ass="tok-kw">return</span>.Vec3.
42080 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
420a0 20 20 20 20 20 20 20 20 2e 78 20 3d 20 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .........x.=.x,</span>.<span.cla
420c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 79 20 3d 20 79 2c 3c 2f 73 ss="line">.............y.=.y,</s
420e0 70 61 6e 3e 0a 3c 73 70 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">........
42100 20 20 20 20 2e 7a 20 3d 20 7a 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .....z.=.z,</span>.<span.class="
42120 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
42140 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
42160 61 73 73 3d 22 6c 69 6e 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="
42180 6c 69 6e 65 22 3e 20 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
421a0 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
421c0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f n</span>.<span.class="tok-fn">do
421e0 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 56 65 63 33 2c 20 6f 74 68 65 72 3a 20 56 65 63 33 t</span>(self:.Vec3,.other:.Vec3
42200 29 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
42220 61 6e 3e 20 7b 3c 2f 73 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">
42240 20 20 20 20 20 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
42260 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 78 20 2a 20 6f 74 68 65 72 2e 78 20 2b 20 73 65 urn</span>.self.x.*.other.x.+.se
42280 6c 66 2e 79 20 2a 20 6f 74 68 65 72 2e 79 20 2b 20 73 65 6c 66 2e 7a 20 2a 20 6f 74 68 65 72 2e lf.y.*.other.y.+.self.z.*.other.
422a0 7a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 z;</span>.<span.class="line">...
422c0 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c .}</span>.<span.class="line">};<
422e0 2f 73 70 61 6e 3e 0a 3c 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
42300 3e 0a 3c 73 70 61 6e 20 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
42320 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.=.
42340 3c 73 70 61 6e 20 63 6c 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
42360 74 3c 2f 73 70 61 6e 3e 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">&
42380 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
423a0 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"
423c0 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
423e0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f >.<span.class="tok-str">&quot;do
42400 74 20 70 72 6f 64 75 63 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a t.product&quot;</span>.{</span>.
42420 3c 73 70 61 6e 20 63 6c 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
42440 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 31 20 3d 20 56 65 ss="tok-kw">const</span>.v1.=.Ve
42460 63 33 2e 69 6e 69 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 c3.init(<span.class="tok-number"
42480 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 >1.0</span>,.<span.class="tok-nu
424a0 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mber">0.0</span>,.<span.class="t
424c0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ok-number">0.0</span>);</span>.<
424e0 73 70 61 6e 20 63 6c 61 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
42500 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 32 20 3d 20 56 65 63 s="tok-kw">const</span>.v2.=.Vec
42520 33 2e 69 6e 69 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 3.init(<span.class="tok-number">
42540 30 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 0.0</span>,.<span.class="tok-num
42560 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ber">1.0</span>,.<span.class="to
42580 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-number">0.0</span>);</span>.<s
425a0 70 61 6e 20 63 6c 61 73 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
425c0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 31 2e 64 ="tok-kw">try</span>.expect(v1.d
425e0 6f 74 28 76 32 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ot(v2).==.<span.class="tok-numbe
42600 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 r">0.0</span>);</span>.<span.cla
42620 73 73 3d 22 6c 69 6e 65 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
42640 69 6e 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
42660 74 22 3e 2f 2f 20 4f 74 68 65 72 20 74 68 61 6e 20 62 65 69 6e 67 20 61 76 61 69 6c 61 62 6c 65 t">//.Other.than.being.available
42680 20 74 6f 20 63 61 6c 6c 20 77 69 74 68 20 64 6f 74 20 73 79 6e 74 61 78 2c 20 73 74 72 75 63 74 .to.call.with.dot.syntax,.struct
426a0 20 6d 65 74 68 6f 64 73 20 61 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .methods.are</span></span>.<span
426c0 20 63 6c 61 73 73 3d 22 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
426e0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 74 20 73 70 65 63 69 61 6c 2e 20 59 6f 75 20 ok-comment">//.not.special..You.
42700 63 61 6e 20 72 65 66 65 72 65 6e 63 65 20 74 68 65 6d 20 61 73 20 61 6e 79 20 6f 74 68 65 72 20 can.reference.them.as.any.other.
42720 64 65 63 6c 61 72 61 74 69 6f 6e 20 69 6e 73 69 64 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e declaration.inside</span></span>
42740 0a 3c 73 70 61 6e 20 63 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
42760 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 73 74 72 75 63 74 3a ass="tok-comment">//.the.struct:
42780 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
427a0 22 3e 20 20 20 20 3c 73 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</
427c0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 56 65 63 33 2e 64 6f 74 28 76 31 2c 20 76 32 29 20 3d 3d span>.expect(Vec3.dot(v1,.v2).==
427e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 .<span.class="tok-number">0.0</s
42800 70 61 6e 3e 29 3b 3c 2f 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"
42820 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
42840 70 61 6e 3e 0a 3c 73 70 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
42860 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 75 63 74 73 20 63 61 6e ass="tok-comment">//.Structs.can
42880 20 68 61 76 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .have.declarations.</span></span
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 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 75 63 74 73 20 63 61 6e 20 68 61 ="tok-comment">//.Structs.can.ha
428e0 76 65 20 30 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ve.0.fields.</span></span>.<span
42900 20 63 6c 61 73 73 3d 22 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
42920 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 6d 70 74 79 20 3d 20 3c 73 70 61 6e 20 63 6c w">const</span>.Empty.=.<span.cl
42940 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
42960 61 6e 3e 0a 3c 73 70 61 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
42980 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
429a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 49 20 .class="tok-kw">const</span>.PI.
429c0 3d 20 3c 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<
429e0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
42a00 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"><
42a20 73 70 61 6e 20 63 6c 61 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>.
42a40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 72 75 <span.class="tok-str">&quot;stru
42a60 63 74 20 6e 61 6d 65 73 70 61 63 65 64 20 76 61 72 69 61 62 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 ct.namespaced.variable&quot;</sp
42a80 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e an>.{</span>.<span.class="line">
42aa0 20 20 20 20 3c 73 70 61 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
42ac0 61 6e 3e 20 65 78 70 65 63 74 28 45 6d 70 74 79 2e 50 49 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 an>.expect(Empty.PI.==.<span.cla
42ae0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 ss="tok-number">3.14</span>);</s
42b00 70 61 6e 3e 0a 3c 73 70 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
42b20 6e 20 63 6c 61 73 73 3d 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
42b40 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 ct(<span.class="tok-builtin">@si
42b60 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 45 6d 70 74 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 zeOf</span>(Empty).==.<span.clas
42b80 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>
42ba0 0a 3c 73 70 61 6e 20 63 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
42bc0 6e 20 63 6c 61 73 73 3d 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="
42be0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 79 6f 75 20 63 61 6e 20 73 74 69 6c 6c 20 69 6e tok-comment">//.you.can.still.in
42c00 73 74 61 6e 74 69 61 74 65 20 61 6e 20 65 6d 70 74 79 20 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e stantiate.an.empty.struct</span>
42c20 3c 2f 73 70 61 6e 3e 0a 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">....<
42c40 73 70 61 6e 20 63 6c 61 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>
42c60 20 64 6f 65 73 5f 6e 6f 74 68 69 6e 67 20 3d 20 45 6d 70 74 79 20 7b 7d 3b 3c 2f 73 70 61 6e 3e .does_nothing.=.Empty.{};</span>
42c80 0a 3c 73 70 61 6e 20 63 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
42ca0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 64 6f 65 73 5f 6e 6f 74 68 n.class="line">...._.=.does_noth
42cc0 69 6e 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d ing;</span>.<span.class="line">}
42ce0 3c 2f 73 70 61 6e 3e 0a 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
42d00 6e 3e 0a 3c 73 70 61 6e 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
42d20 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 74 72 75 63 74 20 66 69 65 6c 64 20 s="tok-comment">//.struct.field.
42d40 6f 72 64 65 72 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 order.is.determined.by.the.compi
42d60 6c 65 72 20 66 6f 72 20 6f 70 74 69 6d 61 6c 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 3c 2f 73 70 ler.for.optimal.performance.</sp
42d80 61 6e 3e 3c 2f 73 70 61 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
42da0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 6f 77 65 76 pan.class="tok-comment">//.howev
42dc0 65 72 2c 20 79 6f 75 20 63 61 6e 20 73 74 69 6c 6c 20 63 61 6c 63 75 6c 61 74 65 20 61 20 73 74 er,.you.can.still.calculate.a.st
42de0 72 75 63 74 20 62 61 73 65 20 70 6f 69 6e 74 65 72 20 67 69 76 65 6e 20 61 20 66 69 65 6c 64 20 ruct.base.pointer.given.a.field.
42e00 70 6f 69 6e 74 65 72 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pointer:</span></span>.<span.cla
42e20 73 73 3d 22 6c 69 6e 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
42e40 6e 3c 2f 73 70 61 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
42e60 74 59 42 61 73 65 64 4f 6e 58 3c 2f 73 70 61 6e 3e 28 78 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 tYBasedOnX</span>(x:.*<span.clas
42e80 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 79 3a 20 3c 73 70 61 s="tok-type">f32</span>,.y:.<spa
42ea0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 3c n.class="tok-type">f32</span>).<
42ec0 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
42ee0 3e 20 7b 3c 2f 73 70 61 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">..
42f00 20 20 3c 73 70 61 6e 20 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
42f20 61 6e 3e 20 70 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 an>.point.=.<span.class="tok-bui
42f40 6c 74 69 6e 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 73 70 61 6e 3e 28 50 6f 69 ltin">@fieldParentPtr</span>(Poi
42f60 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;
42f80 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 78 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e x&quot;</span>,.x);</span>.<span
42fa0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 6f 69 6e 74 2e 79 20 3d 20 79 3b 3c 2f .class="line">....point.y.=.y;</
42fc0 73 70 61 6e 3e 0a 3c 73 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
42fe0 3e 0a 3c 73 70 61 6e 20 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
43000 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
43020 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 65 6c 64 20 70 61 72 65 6e 74 20 70 s="tok-str">&quot;field.parent.p
43040 6f 69 6e 74 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ointer&quot;</span>.{</span>.<sp
43060 61 6e 20 63 6c 61 73 73 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=
43080 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 6f 69 6e 74 20 3d 20 50 6f 69 6e "tok-kw">var</span>.point.=.Poin
430a0 74 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 t.{</span>.<span.class="line">..
430c0 20 20 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 .......x.=.<span.class="tok-numb
430e0 65 72 22 3e 30 2e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 er">0.1234</span>,</span>.<span.
43100 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 class="line">.........y.=.<span.
43120 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 35 36 37 38 3c 2f 73 70 61 6e 3e class="tok-number">0.5678</span>
43140 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
43160 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">...
43180 20 73 65 74 59 42 61 73 65 64 4f 6e 58 28 26 61 6d 70 3b 70 6f 69 6e 74 2e 78 2c 20 3c 73 70 61 .setYBasedOnX(&amp;point.x,.<spa
431a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 39 3c 2f 73 70 61 6e 3e 29 n.class="tok-number">0.9</span>)
431c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
431e0 3c 73 70 61 6e 20 63 6c 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>.
43200 65 78 70 65 63 74 28 70 6f 69 6e 74 2e 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 expect(point.y.==.<span.class="t
43220 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ok-number">0.9</span>);</span>.<
43240 73 70 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
43260 20 63 6c 61 73 73 3d 22 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
43280 73 3d 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
432a0 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 72 65 74 75 72 6e 20 61 20 73 74 72 75 63 74 20 66 72 t">//.You.can.return.a.struct.fr
432c0 6f 6d 20 61 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 69 73 20 69 73 20 68 6f 77 20 77 65 20 64 6f om.a.function..This.is.how.we.do
432e0 20 67 65 6e 65 72 69 63 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .generics</span></span>.<span.cl
43300 61 73 73 3d 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
43320 65 6e 74 22 3e 2f 2f 20 69 6e 20 5a 69 67 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ent">//.in.Zig:</span></span>.<s
43340 70 61 6e 20 63 6c 61 73 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
43360 6b 2d 6b 77 22 3e 66 6e 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
43380 2d 66 6e 22 3e 4c 69 6e 6b 65 64 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 -fn">LinkedList</span>(<span.cla
433a0 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:.<
433c0 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
433e0 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f >).<span.class="tok-type">type</
43400 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
43420 22 3e 20 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
43440 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 n</span>.<span.class="tok-kw">st
43460 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
43480 3d 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
434a0 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
434c0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e 6f 64 65 20 3d 20 3c 73 70 61 6e 20 63 -kw">const</span>.Node.=.<span.c
434e0 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
43500 70 61 6e 3e 0a 3c 73 70 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">........
43520 20 20 20 20 70 72 65 76 3a 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ....prev:.?*Node,</span>.<span.c
43540 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 3a 20 3f 2a lass="line">............next:.?*
43560 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e Node,</span>.<span.class="line">
43580 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 3a 20 54 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ............data:.T,</span>.<spa
435a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e n.class="line">........};</span>
435c0 0a 3c 73 70 61 6e 20 63 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
435e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 66 69 72 73 74 3a 20 3f 2a n.class="line">........first:.?*
43600 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e Node,</span>.<span.class="line">
43620 20 20 20 20 20 20 20 20 6c 61 73 74 3a 20 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ........last:..?*Node,</span>.<s
43640 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6c 65 6e 3a 20 20 20 pan.class="line">........len:...
43660 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
43680 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">.
436a0 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">
436c0 7d 3c 2f 73 70 61 6e 3e 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
436e0 61 6e 3e 0a 3c 73 70 61 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
43700 73 73 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
43720 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6c 69 6e 6b 65 64 20 6c 69 73 74 26 ass="tok-str">&quot;linked.list&
43740 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
43760 73 3d 22 6c 69 6e 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
43780 6d 6d 65 6e 74 22 3e 2f 2f 20 46 75 6e 63 74 69 6f 6e 73 20 63 61 6c 6c 65 64 20 61 74 20 63 6f mment">//.Functions.called.at.co
437a0 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 65 20 6d 65 6d 6f 69 7a 65 64 2e 20 54 68 69 73 20 6d 65 mpile-time.are.memoized..This.me
437c0 61 6e 73 20 79 6f 75 20 63 61 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ans.you.can</span></span>.<span.
437e0 63 6c 61 73 73 3d 22 6c 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
43800 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 20 74 68 69 73 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 k-comment">//.do.this:</span></s
43820 70 61 6e 3e 0a 3c 73 70 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
43840 6e 20 63 6c 61 73 73 3d 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
43860 63 74 28 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ct(LinkedList(<span.class="tok-t
43880 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c ype">i32</span>).==.LinkedList(<
438a0 73 70 61 6e 20 63 6c 61 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>
438c0 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"></
438e0 73 70 61 6e 3e 0a 3c 73 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
43900 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 69 73 an.class="tok-kw">var</span>.lis
43920 74 20 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d t.=.LinkedList(<span.class="tok-
43940 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e type">i32</span>).{</span>.<span
43960 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 69 72 73 74 20 3d 20 3c .class="line">.........first.=.<
43980 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e span.class="tok-null">null</span
439a0 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">...
439c0 20 20 20 20 20 2e 6c 61 73 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ......last.=.<span.class="tok-nu
439e0 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ll">null</span>,</span>.<span.cl
43a00 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 6e 20 ass="line">.........len.=.<span.
43a20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 class="tok-number">0</span>,</sp
43a40 61 6e 3e 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
43a60 70 61 6e 3e 0a 3c 73 70 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
43a80 6e 20 63 6c 61 73 73 3d 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
43aa0 63 74 28 6c 69 73 74 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ct(list.len.==.<span.class="tok-
43ac0 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.
43ae0 63 6c 61 73 73 3d 22 6c 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
43b00 3d 22 6c 69 6e 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
43b20 6d 65 6e 74 22 3e 2f 2f 20 53 69 6e 63 65 20 74 79 70 65 73 20 61 72 65 20 66 69 72 73 74 20 63 ment">//.Since.types.are.first.c
43b40 6c 61 73 73 20 76 61 6c 75 65 73 20 79 6f 75 20 63 61 6e 20 69 6e 73 74 61 6e 74 69 61 74 65 20 lass.values.you.can.instantiate.
43b60 74 68 65 20 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 the.type</span></span>.<span.cla
43b80 73 73 3d 22 6c 69 6e 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
43ba0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 69 74 20 74 6f 20 61 20 omment">//.by.assigning.it.to.a.
43bc0 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c variable:</span></span>.<span.cl
43be0 61 73 73 3d 22 6c 69 6e 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-
43c00 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4c 69 73 74 4f 66 49 6e 74 73 20 3d 20 4c 69 kw">const</span>.ListOfInts.=.Li
43c20 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e nkedList(<span.class="tok-type">
43c40 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=
43c60 22 6c 69 6e 65 22 3e 20 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">
43c80 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 4c 69 73 74 4f 66 49 6e 74 73 20 3d 3d 20 try</span>.expect(ListOfInts.==.
43ca0 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
43cc0 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">i32</span>));</span>.<span.cla
43ce0 73 73 3d 22 6c 69 6e 65 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
43d00 69 6e 65 22 3e 20 20 20 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
43d20 72 3c 2f 73 70 61 6e 3e 20 6e 6f 64 65 20 3d 20 4c 69 73 74 4f 66 49 6e 74 73 2e 4e 6f 64 65 20 r</span>.node.=.ListOfInts.Node.
43d40 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
43d60 20 20 20 20 2e 70 72 65 76 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c .....prev.=.<span.class="tok-nul
43d80 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 l">null</span>,</span>.<span.cla
43da0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6e 65 78 74 20 3d 20 3c 73 70 61 6e 20 ss="line">.........next.=.<span.
43dc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 class="tok-null">null</span>,</s
43de0 70 61 6e 3e 0a 3c 73 70 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">........
43e00 2e 64 61 74 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 .data.=.<span.class="tok-number"
43e20 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
43e40 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ="line">....};</span>.<span.clas
43e60 73 3d 22 6c 69 6e 65 22 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
43e80 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 32 20 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 ">var</span>.list2.=.LinkedList(
43ea0 3c 73 70 61 6e 20 63 6c 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
43ec0 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">.
43ee0 20 20 20 20 20 20 20 2e 66 69 72 73 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 2c 3c 2f 73 70 61 6e ........first.=.&amp;node,</span
43f00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6c 61 >.<span.class="line">.........la
43f20 73 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 st.=.&amp;node,</span>.<span.cla
43f40 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 6e 20 63 ss="line">.........len.=.<span.c
43f60 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 lass="tok-number">1</span>,</spa
43f80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 n>.<span.class="line">....};</sp
43fa0 61 6e 3e 0a 3c 73 70 61 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>.<
43fc0 73 70 61 6e 20 63 6c 61 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
43fe0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 68 65 6e 20 75 73 69 6e 67 20 61 20 s="tok-comment">//.When.using.a.
44000 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 74 72 75 63 74 2c 20 66 69 65 6c 64 73 20 63 61 6e 20 pointer.to.a.struct,.fields.can.
44020 62 65 20 61 63 63 65 73 73 65 64 20 64 69 72 65 63 74 6c 79 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 be.accessed.directly,</span></sp
44040 61 6e 3e 0a 3c 73 70 61 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
44060 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 69 74 68 6f 75 74 20 .class="tok-comment">//.without.
44080 65 78 70 6c 69 63 69 74 6c 79 20 64 65 72 65 66 65 72 65 6e 63 69 6e 67 20 74 68 65 20 70 6f 69 explicitly.dereferencing.the.poi
440a0 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d nter.</span></span>.<span.class=
440c0 22 6c 69 6e 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
440e0 65 6e 74 22 3e 2f 2f 20 53 6f 20 79 6f 75 20 63 61 6e 20 64 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ent">//.So.you.can.do</span></sp
44100 61 6e 3e 0a 3c 73 70 61 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
44120 20 63 6c 61 73 73 3d 22 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
44140 74 28 6c 69 73 74 32 2e 66 69 72 73 74 2e 3f 2e 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c t(list2.first.?.data.==.<span.cl
44160 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>);</
44180 73 70 61 6e 3e 0a 3c 73 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
441a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 73 74 65 61 an.class="tok-comment">//.instea
441c0 64 20 6f 66 20 74 72 79 20 65 78 70 65 63 74 28 6c 69 73 74 32 2e 66 69 72 73 74 2e 3f 2e 2a 2e d.of.try.expect(list2.first.?.*.
441e0 64 61 74 61 20 3d 3d 20 31 32 33 34 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 data.==.1234);</span></span>.<sp
44200 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><
44220 2f 70 72 65 3e 3c 2f 66 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
44240 6e 20 63 6c 61 73 73 3d 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
44260 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
44280 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 74 72 75 63 74 73 2e 7a 69 67 3c ne">$.<kbd>zig.test.structs.zig<
442a0 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">
442c0 31 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b 64 6f 74 20 70 72 6f 64 75 63 74 26 71 75 6f 74 3b 1/4.test.&quot;dot.product&quot;
442e0 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"
44300 3e 32 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b 73 74 72 75 63 74 20 6e 61 6d 65 73 70 61 63 65 >2/4.test.&quot;struct.namespace
44320 64 20 76 61 72 69 61 62 6c 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 d.variable&quot;....OK</span>.<s
44340 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b pan.class="line">3/4.test.&quot;
44360 66 69 65 6c 64 20 70 61 72 65 6e 74 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b field.parent.pointer&quot;....OK
44380 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 34 20 74 </span>.<span.class="line">4/4.t
443a0 65 73 74 20 26 71 75 6f 74 3b 6c 69 6e 6b 65 64 20 6c 69 73 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f est.&quot;linked.list&quot;....O
443c0 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.
443e0 34 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 4.tests.passed.</span>.</samp></
44400 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 65 66 pre></figure>........<h3.id="Def
44420 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ault-Field-Values"><a.href="#toc
44440 2d 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 44 65 66 61 75 6c 74 20 46 -Default-Field-Values">Default.F
44460 69 65 6c 64 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 ield.Values</a>.<a.class="hdr".h
44480 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e c2 a7 3c 2f ref="#Default-Field-Values">..</
444a0 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 73 74 a></h3>........<p>.......Each.st
444c0 72 75 63 74 20 66 69 65 6c 64 20 6d 61 79 20 68 61 76 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f ruct.field.may.have.an.expressio
444e0 6e 20 69 6e 64 69 63 61 74 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c 74 20 66 69 65 6c 64 20 76 n.indicating.the.default.field.v
44500 61 6c 75 65 2e 20 53 75 63 68 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 20 20 20 20 20 20 61 72 65 alue..Such.expressions.......are
44520 20 65 78 65 63 75 74 65 64 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 .executed.at.<a.href="#comptime"
44540 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 20 61 6e 64 20 61 6c 6c 6f 77 20 74 68 65 20 66 69 65 >comptime</a>,.and.allow.the.fie
44560 6c 64 20 74 6f 20 62 65 20 6f 6d 69 74 74 65 64 20 69 6e 20 61 20 73 74 72 75 63 74 20 6c 69 74 ld.to.be.omitted.in.a.struct.lit
44580 65 72 61 6c 20 65 78 70 72 65 73 73 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 eral.expression:.......</p>.....
445a0 20 20 3c 66 69 67 75 72 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
445c0 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 65 66 61 75 6c 74 -cap"><cite.class="file">default
445e0 5f 66 69 65 6c 64 5f 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 _field_values.zig</cite></figcap
44600 74 69 6f 6e 3e 3c 70 72 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
44620 65 22 3e 3c 73 70 61 6e 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
44640 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e pan>.Foo.=.<span.class="tok-kw">
44660 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 struct</span>.{</span>.<span.cla
44680 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ss="line">....a:.<span.class="to
446a0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">i32</span>.=.<span.class
446c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e ="tok-number">1234</span>,</span
446e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 61 >.<span.class="line">....b:.<spa
44700 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f n.class="tok-type">i32</span>,</
44720 73 70 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
44740 6e 3e 0a 3c 73 70 61 6e 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
44760 70 61 6e 20 63 6c 61 73 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
44780 6b 2d 6b 77 22 3e 74 65 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
447a0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 66 61 75 6c 74 20 73 74 72 75 63 74 20 69 6e 69 ok-str">&quot;default.struct.ini
447c0 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 69 65 6c 64 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 tialization.fields&quot;</span>.
447e0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
44800 3c 73 70 61 6e 20 63 6c 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
44820 3e 20 78 20 3d 20 46 6f 6f 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >.x.=.Foo{</span>.<span.class="l
44840 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ine">.........b.=.<span.class="t
44860 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
44880 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
448a0 61 6e 20 63 6c 61 73 73 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=
448c0 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 78 2e 61 20 2b 20 78 2e 62 20 21 3d "tok-kw">if</span>.(x.a.+.x.b.!=
448e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 39 3c 2f .<span.class="tok-number">1239</
44900 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
44920 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c e">........<span.class="tok-buil
44940 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 tin">@compileError</span>(<span.
44960 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 74 27 73 20 65 76 65 6e 20 class="tok-str">&quot;it's.even.
44980 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 21 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f comptime.known!&quot;</span>);</
449a0 73 70 61 6e 3e 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">....}</
449c0 73 70 61 6e 3e 0a 3c 73 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
449e0 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><
44a00 66 69 67 63 61 70 74 69 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
44a20 6c 6c 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.
44a40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 64 65 66 class="line">$.<kbd>zig.test.def
44a60 61 75 6c 74 5f 66 69 65 6c 64 5f 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 ault_field_values.zig</kbd></spa
44a80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 n>.<span.class="line">1/1.test.&
44aa0 71 75 6f 74 3b 64 65 66 61 75 6c 74 20 73 74 72 75 63 74 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 quot;default.struct.initializati
44ac0 6f 6e 20 66 69 65 6c 64 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 on.fields&quot;....OK</span>.<sp
44ae0 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
44b00 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
44b20 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 2d 73 >...............<h3.id="extern-s
44b40 74 72 75 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 74 65 72 6e 2d 73 74 72 75 truct"><a.href="#toc-extern-stru
44b60 63 74 22 3e 65 78 74 65 72 6e 20 73 74 72 75 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 ct">extern.struct</a>.<a.class="
44b80 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 3e c2 a7 3c 2f 61 hdr".href="#extern-struct">..</a
44ba0 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ></h3>........<p>An.<code><span.
44bc0 63 6c 61 73 73 3d 22 6c 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
44be0 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">extern</span>.<span.class="tok
44c00 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e -kw">struct</span></span></code>
44c20 20 68 61 73 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 67 75 61 72 61 6e 74 65 65 64 .has.in-memory.layout.guaranteed
44c40 20 74 6f 20 6d 61 74 63 68 20 74 68 65 0a 20 20 20 20 20 20 43 20 41 42 49 20 66 6f 72 20 74 68 .to.match.the.......C.ABI.for.th
44c60 65 20 74 61 72 67 65 74 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 6b 69 6e 64 e.target.</p>.......<p>This.kind
44c80 20 6f 66 20 73 74 72 75 63 74 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 66 .of.struct.should.only.be.used.f
44ca0 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 74 68 65 20 43 20 41 42 49 2e or.compatibility.with.the.C.ABI.
44cc0 20 45 76 65 72 79 20 6f 74 68 65 72 0a 20 20 20 20 20 20 75 73 65 20 63 61 73 65 20 73 68 6f 75 .Every.other.......use.case.shou
44ce0 6c 64 20 62 65 20 73 6f 6c 76 65 64 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b ld.be.solved.with.<a.href="#pack
44d00 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 20 6f 72 20 ed-struct">packed.struct</a>.or.
44d20 6e 6f 72 6d 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c normal.<a.href="#struct">struct<
44d40 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c /a>.</p>.......<p>See.also:</p><
44d60 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e ul>.<li><a.href="#extern-union">
44d80 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 extern.union</a></li>.<li><a.hre
44da0 66 3d 22 23 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 65 78 74 65 72 6e 20 65 6e 75 6d 3c 2f 61 3e f="#extern-enum">extern.enum</a>
44dc0 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
44de0 64 3d 22 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d d="packed-struct"><a.href="#toc-
44e00 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e packed-struct">packed.struct</a>
44e20 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 74 .<a.class="hdr".href="#packed-st
44e40 72 75 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 ruct">..</a></h3>........<p>....
44e60 20 20 20 55 6e 6c 69 6b 65 20 6e 6f 72 6d 61 6c 20 73 74 72 75 63 74 73 2c 20 3c 63 6f 64 65 3e ...Unlike.normal.structs,.<code>
44e80 3c 73 70 61 6e 20 63 6c 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="
44ea0 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-kw">packed</span></span></co
44ec0 64 65 3e 20 73 74 72 75 63 74 73 20 68 61 76 65 20 67 75 61 72 61 6e 74 65 65 64 20 69 6e 2d 6d de>.structs.have.guaranteed.in-m
44ee0 65 6d 6f 72 79 20 6c 61 79 6f 75 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c emory.layout:.......</p>.......<
44f00 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 69 65 6c 64 73 20 72 65 6d 61 69 6e 20 69 6e ul>.........<li>Fields.remain.in
44f20 20 74 68 65 20 6f 72 64 65 72 20 64 65 63 6c 61 72 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 .the.order.declared.</li>.......
44f40 20 20 3c 6c 69 3e 54 68 65 72 65 20 69 73 20 6e 6f 20 70 61 64 64 69 6e 67 20 62 65 74 77 65 65 ..<li>There.is.no.padding.betwee
44f60 6e 20 66 69 65 6c 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 5a 69 67 20 73 n.fields.</li>.........<li>Zig.s
44f80 75 70 70 6f 72 74 73 20 61 72 62 69 74 72 61 72 79 20 77 69 64 74 68 20 3c 61 20 68 72 65 66 3d upports.arbitrary.width.<a.href=
44fa0 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 61 6e 64 20 61 6c 74 "#Integers">Integers</a>.and.alt
44fc0 68 6f 75 67 68 20 6e 6f 72 6d 61 6c 6c 79 2c 20 69 6e 74 65 67 65 72 73 20 77 69 74 68 20 66 65 hough.normally,.integers.with.fe
44fe0 77 65 72 0a 20 20 20 20 20 20 20 20 74 68 61 6e 20 38 20 62 69 74 73 20 77 69 6c 6c 20 73 74 69 wer.........than.8.bits.will.sti
45000 6c 6c 20 75 73 65 20 31 20 62 79 74 65 20 6f 66 20 6d 65 6d 6f 72 79 2c 20 69 6e 20 70 61 63 6b ll.use.1.byte.of.memory,.in.pack
45020 65 64 20 73 74 72 75 63 74 73 2c 20 74 68 65 79 20 75 73 65 0a 20 20 20 20 20 20 20 20 65 78 61 ed.structs,.they.use.........exa
45040 63 74 6c 79 20 74 68 65 69 72 20 62 69 74 20 77 69 64 74 68 2e 0a 20 20 20 20 20 20 20 20 3c 2f ctly.their.bit.width..........</
45060 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 li>.........<li><code><span.clas
45080 73 3d 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">
450a0 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 69 65 6c 64 73 bool</span></span></code>.fields
450c0 20 75 73 65 20 65 78 61 63 74 6c 79 20 31 20 62 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 .use.exactly.1.bit.</li>........
450e0 20 3c 6c 69 3e 41 6e 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e .<li>An.<a.href="#enum">enum</a>
45100 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
45120 68 20 6f 66 20 69 74 73 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a h.of.its.integer.tag.type.</li>.
45140 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 75 ........<li>A.<a.href="#packed-u
45160 6e 69 6f 6e 22 3e 70 61 63 6b 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 20 66 69 65 6c 64 20 75 73 65 nion">packed.union</a>.field.use
45180 73 20 65 78 61 63 74 6c 79 20 74 68 65 20 62 69 74 20 77 69 64 74 68 20 6f 66 20 74 68 65 20 75 s.exactly.the.bit.width.of.the.u
451a0 6e 69 6f 6e 20 66 69 65 6c 64 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 74 68 65 20 6c 61 72 67 nion.field.with.........the.larg
451c0 65 73 74 20 62 69 74 20 77 69 64 74 68 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e est.bit.width.</li>.........<li>
451e0 4e 6f 6e 2d 41 42 49 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 73 20 61 72 65 20 70 61 63 6b 65 Non-ABI-aligned.fields.are.packe
45200 64 20 69 6e 74 6f 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 d.into.the.smallest.possible....
45220 20 20 20 20 20 41 42 49 2d 61 6c 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 69 6e 20 61 63 63 .....ABI-aligned.integers.in.acc
45240 6f 72 64 61 6e 63 65 20 77 69 74 68 20 74 68 65 20 74 61 72 67 65 74 20 65 6e 64 69 61 6e 6e 65 ordance.with.the.target.endianne
45260 73 73 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ss..........</li>.......</ul>...
45280 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 61 20 ....<p>.......This.means.that.a.
452a0 3c 63 6f 64 65 3e 3c 73 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
452c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 lass="tok-kw">packed</span>.<spa
452e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-kw">struct</span></
45300 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 70 61 72 74 69 63 69 70 61 74 65 0a 20 20 20 span></code>.can.participate....
45320 20 20 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 62 69 74 43 61 73 74 22 3e 40 62 69 74 43 ...in.a.<a.href="#bitCast">@bitC
45340 61 73 74 3c 2f 61 3e 20 6f 72 20 61 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e ast</a>.or.a.<a.href="#ptrCast">
45360 40 70 74 72 43 61 73 74 3c 2f 61 3e 20 74 6f 20 72 65 69 6e 74 65 72 70 72 65 74 20 6d 65 6d 6f @ptrCast</a>.to.reinterpret.memo
45380 72 79 2e 0a 20 20 20 20 20 20 54 68 69 73 20 65 76 65 6e 20 77 6f 72 6b 73 20 61 74 20 3c 61 20 ry........This.even.works.at.<a.
453a0 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3a 0a 20 href="#comptime">comptime</a>:..
453c0 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
453e0 69 6f 6e 20 63 6c 61 73 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=
45400 22 66 69 6c 65 22 3e 70 61 63 6b 65 64 5f 73 74 72 75 63 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e "file">packed_structs.zig</cite>
45420 3c 2f 66 69 67 63 61 70 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
45440 61 73 73 3d 22 6c 69 6e 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">
45460 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="
45480 74 6f 6b 2d 62 75 69 6c 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
454a0 6e 20 63 6c 61 73 73 3d 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
454c0 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
454e0 69 6e 65 22 3e 3c 73 70 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<
45500 2f 73 70 61 6e 3e 20 6e 61 74 69 76 65 5f 65 6e 64 69 61 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 /span>.native_endian.=.<span.cla
45520 73 73 3d 22 74 6f 6b 2d 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>(
45540 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c <span.class="tok-str">&quot;buil
45560 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 61 72 67 65 74 2e 63 70 75 2e 61 72 63 tin&quot;</span>).target.cpu.arc
45580 68 2e 65 6e 64 69 61 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 h.endian();</span>.<span.class="
455a0 6c 69 6e 65 22 3e 3c 73 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
455c0 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
455e0 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"><
45600 2f 73 70 61 6e 3e 0a 3c 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.
45620 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 75 6c 6c class="tok-kw">const</span>.Full
45640 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f .=.<span.class="tok-kw">packed</
45660 73 70 61 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
45680 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
456a0 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ine">....number:.<span.class="to
456c0 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-type">u16</span>,</span>.<span
456e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .class="line">};</span>.<span.cl
45700 61 73 73 3d 22 6c 69 6e 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">
45720 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 44 69 76 69 64 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 const</span>.Divided.=.<span.cla
45740 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.
45760 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>.{</
45780 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 68 61 6c span>.<span.class="line">....hal
457a0 66 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 f1:.<span.class="tok-type">u8</s
457c0 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">
457e0 20 20 20 20 71 75 61 72 74 65 72 33 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ....quarter3:.<span.class="tok-t
45800 79 70 65 22 3e 75 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ype">u4</span>,</span>.<span.cla
45820 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 71 75 61 72 74 65 72 34 3a 20 3c 73 70 61 6e 20 63 6c ss="line">....quarter4:.<span.cl
45840 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>
45860 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
45880 70 61 6e 20 63 6c 61 73 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
458a0 6c 61 73 73 3d 22 6c 69 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"
458c0 3e 74 65 73 74 3c 2f 73 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
458e0 72 22 3e 26 71 75 6f 74 3b 40 62 69 74 43 61 73 74 20 62 65 74 77 65 65 6e 20 70 61 63 6b 65 64 r">&quot;@bitCast.between.packed
45900 20 73 74 72 75 63 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c .structs&quot;</span>.{</span>.<
45920 73 70 61 6e 20 63 6c 61 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
45940 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 6f 54 68 65 54 65 73 74 28 s="tok-kw">try</span>.doTheTest(
45960 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
45980 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f .<span.class="tok-kw">comptime</
459a0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f span>.<span.class="tok-kw">try</
459c0 73 70 61 6e 3e 20 64 6f 54 68 65 54 65 73 74 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span>.doTheTest();</span>.<span.
459e0 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
45a00 73 3d 22 6c 69 6e 65 22 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
45a20 6e 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
45a40 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 54 68 65 54 65 73 n>.<span.class="tok-fn">doTheTes
45a60 74 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 t</span>().!<span.class="tok-typ
45a80 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
45aa0 61 73 73 3d 22 6c 69 6e 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-
45ac0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 kw">try</span>.expect(<span.clas
45ae0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 46 s="tok-builtin">@sizeOf</span>(F
45b00 75 6c 6c 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 ull).==.<span.class="tok-number"
45b20 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >2</span>);</span>.<span.class="
45b40 6c 69 6e 65 22 3e 20 20 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
45b60 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
45b80 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 44 69 76 69 64 65 k-builtin">@sizeOf</span>(Divide
45ba0 64 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 d).==.<span.class="tok-number">2
45bc0 3c 2f 73 70 61 6e 3e 29 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
45be0 6e 65 22 3e 20 20 20 20 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
45c00 3c 2f 73 70 61 6e 3e 20 66 75 6c 6c 20 3d 20 46 75 6c 6c 7b 20 2e 6e 75 6d 62 65 72 20 3d 20 3c </span>.full.=.Full{..number.=.<
45c20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 33 34 3c 2f span.class="tok-number">0x1234</
45c40 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
45c60 65 22 3e 20 20 20 20 3c 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<
45c80 2f 73 70 61 6e 3e 20 64 69 76 69 64 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>.divided.=.<span.class="to
45ca0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 44 69 76 69 64 k-builtin">@bitCast</span>(Divid
45cc0 65 64 2c 20 66 75 6c 6c 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ed,.full);</span>.<span.class="l
45ce0 69 6e 65 22 3e 20 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
45d00 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 6e 61 74 69 76 65 5f 65 6e 64 69 61 6e 29 20 7b 3c 2f 73 itch</span>.(native_endian).{</s
45d20 70 61 6e 3e 0a 3c 73 70 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">........
45d40 2e 42 69 67 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .Big.=&gt;.{</span>.<span.class=
45d60 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="
45d80 74 6f 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
45da0 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
45dc0 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 er">0x12</span>);</span>.<span.c
45de0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c lass="line">............<span.cl
45e00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 ass="tok-kw">try</span>.expect(d
45e20 69 76 69 64 65 64 2e 71 75 61 72 74 65 72 33 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ivided.quarter3.==.<span.class="
45e40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a tok-number">0x3</span>);</span>.
45e60 3c 73 70 61 6e 20 63 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">............<
45e80 73 70 61 6e 20 63 6c 61 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
45ea0 78 70 65 63 74 28 64 69 76 69 64 65 64 2e 71 75 61 72 74 65 72 34 20 3d 3d 20 3c 73 70 61 6e 20 xpect(divided.quarter4.==.<span.
45ec0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 34 3c 2f 73 70 61 6e 3e 29 3b 3c class="tok-number">0x4</span>);<
45ee0 2f 73 70 61 6e 3e 0a 3c 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">......
45f00 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">.
45f20 20 20 20 20 20 20 20 2e 4c 69 74 74 6c 65 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ........Little.=&gt;.{</span>.<s
45f40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 pan.class="line">............<sp
45f60 61 6e 20 63 6c 61 73 73 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
45f80 65 63 74 28 64 69 76 69 64 65 64 2e 68 61 6c 66 31 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ect(divided.half1.==.<span.class
45fa0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ="tok-number">0x34</span>);</spa
45fc0 6e 3e 0a 3c 73 70 61 6e 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">..........
45fe0 20 20 3c 73 70 61 6e 20 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
46000 3e 20 65 78 70 65 63 74 28 64 69 76 69 64 65 64 2e 71 75 61 72 74 65 72 33 20 3d 3d 20 3c 73 70 >.expect(divided.quarter3.==.<sp
46020 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 32 3c 2f 73 70 61 6e 3e an.class="tok-number">0x2</span>
46040 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
46060 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 .........<span.class="tok-kw">tr
46080 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 69 76 69 64 65 64 2e 71 75 61 72 74 65 72 34 y</span>.expect(divided.quarter4
460a0 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 .==.<span.class="tok-number">0x1
460c0 3c 2f 73 70 61 6e 3e 29 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
460e0 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
46100 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
46120 73 3d 22 6c 69 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></
46140 66 69 67 75 72 65 3e 3c 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
46160 3d 22 73 68 65 6c 6c 2d 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><
46180 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">$.<
461a0 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<
461c0 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">
461e0 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 62 69 74 43 61 73 74 20 62 65 74 77 65 65 6e 20 1/1.test.&quot;@bitCast.between.
46200 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e packed.structs&quot;....OK</span
46220 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
46240 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
46260 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 61 6c 6c 6f 77 igure>.......<p>.......Zig.allow
46280 73 20 74 68 65 20 61 64 64 72 65 73 73 20 74 6f 20 62 65 20 74 61 6b 65 6e 20 6f 66 20 61 20 6e s.the.address.to.be.taken.of.a.n
462a0 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 3a 0a 20 20 20 20 20 20 3c 2f 70 on-byte-aligned.field:.......</p
462c0 3e 0a 20 20 20 20 20 20 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
462e0 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 s="zig-cap"><cite.class="file">p
46300 6f 69 6e 74 65 72 5f 74 6f 5f 6e 6f 6e 2d 62 79 74 65 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 ointer_to_non-byte_aligned_field
46320 2e 7a 69 67 3c 2f 63 69 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
46340 64 65 3e 3c 73 70 61 6e 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
46360 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
46380 70 61 6e 20 63 6c 61 73 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<
463a0 2f 73 70 61 6e 3e 28 3c 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
463c0 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
463e0 61 6e 20 63 6c 61 73 73 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
46400 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
46420 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
46440 73 3d 22 6c 69 6e 65 22 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
46460 6e 65 22 3e 3c 73 70 61 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</
46480 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.BitField.=.<span.class="to
464a0 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">packed</span>.<span.class=
464c0 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>.
464e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 <span.class="line">....a:.<span.
46500 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 class="tok-type">u3</span>,</spa
46520 6e 3e 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
46540 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f an.class="tok-type">u3</span>,</
46560 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 3a 20 span>.<span.class="line">....c:.
46580 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>
465a0 2c 3c 2f 73 70 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">};</
465c0 73 70 61 6e 3e 0a 3c 73 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>
465e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
46600 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 42 69 74 46 69 65 "tok-kw">var</span>.foo.=.BitFie
46620 6c 64 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ld{</span>.<span.class="line">..
46640 20 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ...a.=.<span.class="tok-number">
46660 31 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 1</span>,</span>.<span.class="li
46680 6e 65 22 3e 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ne">.....b.=.<span.class="tok-nu
466a0 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">2</span>,</span>.<span.cla
466c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">.....c.=.<span.class="
466e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">3</span>,</span>.<sp
46700 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.
46720 63 6c 61 73 73 3d 22 6c 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
46740 3d 22 6c 69 6e 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
46760 74 3c 2f 73 70 61 6e 3e 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">&
46780 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 quot;pointer.to.non-byte-aligned
467a0 20 66 69 65 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .field&quot;</span>.{</span>.<sp
467c0 61 6e 20 63 6c 61 73 73 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=
467e0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 "tok-kw">const</span>.ptr.=.&amp
46800 3b 66 6f 6f 2e 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ;foo.b;</span>.<span.class="line
46820 22 3e 20 20 20 20 3c 73 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</
46840 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 span>.expect(ptr.*.==.<span.clas
46860 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e s="tok-number">2</span>);</span>
46880 0a 3c 73 70 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
468a0 64 65 3e 3c 2f 70 72 65 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
468c0 70 74 69 6f 6e 20 63 6c 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
468e0 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
46900 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 6f 69 6e 74 65 72 5f ="line">$.<kbd>zig.test.pointer_
46920 74 6f 5f 6e 6f 6e 2d 62 79 74 65 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 2e 7a 69 67 3c 2f 6b to_non-byte_aligned_field.zig</k
46940 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/
46960 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 79 74 65 1.test.&quot;pointer.to.non-byte
46980 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e -aligned.field&quot;....OK</span
469a0 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
469c0 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
469e0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 igure>.......<p>.......However,.
46a00 74 68 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 the.pointer.to.a.non-byte-aligne
46a20 64 20 66 69 65 6c 64 20 68 61 73 20 73 70 65 63 69 61 6c 20 70 72 6f 70 65 72 74 69 65 73 20 61 d.field.has.special.properties.a
46a40 6e 64 20 63 61 6e 6e 6f 74 0a 20 20 20 20 20 20 62 65 20 70 61 73 73 65 64 20 77 68 65 6e 20 61 nd.cannot.......be.passed.when.a
46a60 20 6e 6f 72 6d 61 6c 20 70 6f 69 6e 74 65 72 20 69 73 20 65 78 70 65 63 74 65 64 3a 0a 20 20 20 .normal.pointer.is.expected:....
46a80 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
46aa0 6e 20 63 6c 61 73 73 3d 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
46ac0 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
46ae0 3e 3c 70 72 65 3e 3c 63 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"><
46b00 73 70 61 6e 20 63 6c 61 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>
46b20 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"
46b40 3e 40 69 6d 70 6f 72 74 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
46b60 2d 73 74 72 22 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>);</
46b80 73 70 61 6e 3e 0a 3c 73 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
46ba0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 lass="tok-kw">const</span>.expec
46bc0 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c t.=.std.testing.expect;</span>.<
46be0 73 70 61 6e 20 63 6c 61 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.
46c00 63 6c 61 73 73 3d 22 6c 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
46c20 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 ">const</span>.BitField.=.<span.
46c40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 class="tok-kw">packed</span>.<sp
46c60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">struct</span>.
46c80 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
46ca0 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 a:.<span.class="tok-type">u3</sp
46cc0 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">.
46ce0 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c ...b:.<span.class="tok-type">u3<
46d00 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
46d20 22 3e 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e ">....c:.<span.class="tok-type">
46d40 75 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c u2</span>,</span>.<span.class="l
46d60 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
46d80 22 3e 3c 2f 73 70 61 6e 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
46da0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 69 74 an.class="tok-kw">var</span>.bit
46dc0 5f 66 69 65 6c 64 20 3d 20 42 69 74 46 69 65 6c 64 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 _field.=.BitField{</span>.<span.
46de0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 class="line">.....a.=.<span.clas
46e00 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a s="tok-number">1</span>,</span>.
46e20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 <span.class="line">.....b.=.<spa
46e40 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>,</
46e60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 63 20 span>.<span.class="line">.....c.
46e80 3d 20 3c 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
46ea0 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">}
46ec0 3b 3c 2f 73 70 61 6e 3e 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
46ee0 61 6e 3e 0a 3c 73 70 61 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
46f00 73 73 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
46f20 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e ass="tok-str">&quot;pointer.to.n
46f40 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e on-bit-aligned.field&quot;</span
46f60 3e 20 7b 3c 2f 73 70 61 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">..
46f80 20 20 3c 73 70 61 6e 20 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
46fa0 3e 20 65 78 70 65 63 74 28 62 61 72 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 20 3d >.expect(bar(&amp;bit_field.b).=
46fc0 3d 20 3c 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
46fe0 61 6e 3e 29 3b 3c 2f 73 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">
47000 7d 3c 2f 73 70 61 6e 3e 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
47020 61 6e 3e 0a 3c 73 70 61 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
47040 73 73 3d 22 74 6f 6b 2d 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
47060 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 78 3a 20 2a 3c 73 70 61 6e 20 s="tok-fn">bar</span>(x:.*<span.
47080 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 class="tok-kw">const</span>.<spa
470a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 29 20 3c 73 n.class="tok-type">u3</span>).<s
470c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 20 7b pan.class="tok-type">u3</span>.{
470e0 3c 2f 73 70 61 6e 3e 0a 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">....<
47100 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
47120 3e 20 78 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >.x.*;</span>.<span.class="line"
47140 3e 7d 3c 2f 73 70 61 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><
47160 66 69 67 75 72 65 3e 3c 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-
47180 63 61 70 22 3e 53 68 65 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
471a0 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.
471c0 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
471e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 .class="line"><span.class="t0_1"
47200 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 3a 33 30 3a 20 3c 2f >./docgen_tmp/test.zig:17:30:.</
47220 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:.
47240 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 70 65 63 74 </span><span.class="t0_1">expect
47260 65 64 20 74 79 70 65 20 27 2a 63 6f 6e 73 74 20 75 33 27 2c 20 66 6f 75 6e 64 20 27 2a 61 6c 69 ed.type.'*const.u3',.found.'*ali
47280 67 6e 28 3a 33 3a 31 29 20 75 33 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e gn(:3:1).u3'</span></span>.<span
472a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 65 78 70 65 63 74 28 62 61 72 .class="line">....try.expect(bar
472c0 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 20 3d 3d 20 32 29 3b 3c 2f 73 70 61 6e 3e (&amp;bit_field.b).==.2);</span>
472e0 0a 3c 73 70 61 6e 20 63 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">............
47300 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
47320 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 2_1">^</span></span>.</samp></pr
47340 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 e></figure>.......<p>.......In.t
47360 68 69 73 20 63 61 73 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 his.case,.the.function.<code><sp
47380 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 an.class="line">bar</span></code
473a0 3e 20 63 61 6e 6e 6f 74 20 62 65 20 63 61 6c 6c 65 64 20 62 65 63 61 75 73 65 20 74 68 65 20 70 >.cannot.be.called.because.the.p
473c0 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 74 6f 20 74 68 65 20 6e 6f 6e 2d 41 42 49 2d 61 6c 69 67 ointer.......to.the.non-ABI-alig
473e0 6e 65 64 20 66 69 65 6c 64 20 6d 65 6e 74 69 6f 6e 73 20 74 68 65 20 62 69 74 20 6f 66 66 73 65 ned.field.mentions.the.bit.offse
47400 74 2c 20 62 75 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 65 63 74 73 20 61 6e 20 41 t,.but.the.function.expects.an.A
47420 42 49 2d 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 BI-aligned.pointer........</p>..
47440 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 6f 69 6e 74 65 72 73 20 74 6f 20 6e 6f 6e 2d 41 .....<p>.......Pointers.to.non-A
47460 42 49 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 73 20 73 68 61 72 65 20 74 68 65 20 73 61 6d 65 BI-aligned.fields.share.the.same
47480 20 61 64 64 72 65 73 73 20 61 73 20 74 68 65 20 6f 74 68 65 72 20 66 69 65 6c 64 73 20 77 69 74 .address.as.the.other.fields.wit
474a0 68 69 6e 20 74 68 65 69 72 20 68 6f 73 74 20 69 6e 74 65 67 65 72 3a 0a 20 20 20 20 20 20 3c 2f hin.their.host.integer:.......</
474c0 70 3e 0a 20 20 20 20 20 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
474e0 73 73 3d 22 7a 69 67 2d 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">
47500 70 6f 69 6e 74 65 72 5f 74 6f 5f 6e 6f 6e 2d 62 69 74 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c 64 pointer_to_non-bit_aligned_field
47520 2e 7a 69 67 3c 2f 63 69 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
47540 64 65 3e 3c 73 70 61 6e 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
47560 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
47580 70 61 6e 20 63 6c 61 73 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<
475a0 2f 73 70 61 6e 3e 28 3c 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
475c0 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
475e0 61 6e 20 63 6c 61 73 73 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
47600 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
47620 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
47640 73 3d 22 6c 69 6e 65 22 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
47660 6e 65 22 3e 3c 73 70 61 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</
47680 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.BitField.=.<span.class="to
476a0 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-kw">packed</span>.<span.class=
476c0 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>.
476e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 <span.class="line">....a:.<span.
47700 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 class="tok-type">u3</span>,</spa
47720 6e 3e 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
47740 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 3c 2f an.class="tok-type">u3</span>,</
47760 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 3a 20 span>.<span.class="line">....c:.
47780 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>
477a0 2c 3c 2f 73 70 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">};</
477c0 73 70 61 6e 3e 0a 3c 73 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>
477e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
47800 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 69 74 5f 66 69 65 6c 64 20 3d 20 "tok-kw">var</span>.bit_field.=.
47820 42 69 74 46 69 65 6c 64 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 BitField{</span>.<span.class="li
47840 6e 65 22 3e 20 20 20 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ne">.....a.=.<span.class="tok-nu
47860 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">1</span>,</span>.<span.cla
47880 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">.....b.=.<span.class="
478a0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">2</span>,</span>.<sp
478c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 an.class="line">.....c.=.<span.c
478e0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 lass="tok-number">3</span>,</spa
47900 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>.
47920 3c 73 70 61 6e 20 63 6c 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
47940 20 63 6c 61 73 73 3d 22 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
47960 77 22 3e 74 65 73 74 3c 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-
47980 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c str">&quot;pointer.to.non-bit-al
479a0 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e igned.field&quot;</span>.{</span
479c0 3e 0a 3c 73 70 61 6e 20 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
479e0 6c 61 73 73 3d 22 74 6f 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(
47a00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f <span.class="tok-builtin">@ptrTo
47a20 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 61 29 20 3d 3d 20 Int</span>(&amp;bit_field.a).==.
47a40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f <span.class="tok-builtin">@ptrTo
47a60 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 29 3b 3c 2f Int</span>(&amp;bit_field.b));</
47a80 73 70 61 6e 3e 0a 3c 73 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
47aa0 61 6e 20 63 6c 61 73 73 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
47ac0 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 ect(<span.class="tok-builtin">@p
47ae0 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 61 29 trToInt</span>(&amp;bit_field.a)
47b00 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 .==.<span.class="tok-builtin">@p
47b20 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 63 29 trToInt</span>(&amp;bit_field.c)
47b40 29 3b 3c 2f 73 70 61 6e 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">}</
47b60 73 70 61 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
47b80 72 65 3e 3c 66 69 67 63 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"
47ba0 3e 53 68 65 6c 6c 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
47bc0 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
47be0 20 70 6f 69 6e 74 65 72 5f 74 6f 5f 6e 6f 6e 2d 62 69 74 5f 61 6c 69 67 6e 65 64 5f 66 69 65 6c .pointer_to_non-bit_aligned_fiel
47c00 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 d.zig</kbd></span>.<span.class="
47c20 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 line">1/1.test.&quot;pointer.to.
47c40 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f non-bit-aligned.field&quot;....O
47c60 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.
47c80 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></
47ca0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 pre></figure>.......<p>.......Th
47cc0 69 73 20 63 61 6e 20 62 65 20 6f 62 73 65 72 76 65 64 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d is.can.be.observed.with.<a.href=
47ce0 22 23 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 20 "#bitOffsetOf">@bitOffsetOf</a>.
47d00 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 6f 66 66 73 65 74 4f 66 22 3e 6f 66 66 73 65 74 4f 66 and.<a.href="#offsetOf">offsetOf
47d20 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c </a>:.......</p>.......<figure><
47d40 66 69 67 63 61 70 74 69 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
47d60 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 62 69 74 4f 66 66 73 65 74 4f 66 5f 6f .class="file">test_bitOffsetOf_o
47d80 66 66 73 65 74 4f 66 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c ffsetOf.zig</cite></figcaption><
47da0 70 72 65 3e 3c 63 6f 64 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
47dc0 61 6e 20 63 6c 61 73 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
47de0 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">@
47e00 69 6d 70 6f 72 74 3c 2f 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
47e20 74 72 22 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
47e40 61 6e 3e 0a 3c 73 70 61 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
47e60 73 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.
47e80 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
47ea0 61 6e 20 63 6c 61 73 73 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
47ec0 61 73 73 3d 22 6c 69 6e 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">
47ee0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c const</span>.BitField.=.<span.cl
47f00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e ass="tok-kw">packed</span>.<span
47f20 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>.{<
47f40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 3a /span>.<span.class="line">....a:
47f60 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e .<span.class="tok-type">u3</span
47f80 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">...
47fa0 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 .b:.<span.class="tok-type">u3</s
47fc0 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">
47fe0 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 ....c:.<span.class="tok-type">u2
48000 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
48020 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">
48040 3c 2f 73 70 61 6e 3e 0a 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
48060 20 63 6c 61 73 73 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
48080 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 n.class="tok-str">&quot;pointer.
480a0 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 3c 2f to.non-bit-aligned.field&quot;</
480c0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
480e0 22 3e 20 20 20 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
48100 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ime</span>.{</span>.<span.class=
48120 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-
48140 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 kw">try</span>.expect(<span.clas
48160 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 73 70 s="tok-builtin">@bitOffsetOf</sp
48180 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 an>(BitField,.<span.class="tok-s
481a0 74 72 22 3e 26 71 75 6f 74 3b 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 tr">&quot;a&quot;</span>).==.<sp
481c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b an.class="tok-number">0</span>);
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 20 </span>.<span.class="line">.....
48200 20 20 20 3c 73 70 61 6e 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
48220 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
48240 69 6e 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 in">@bitOffsetOf</span>(BitField
48260 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 26 ,.<span.class="tok-str">&quot;b&
48280 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f quot;</span>).==.<span.class="to
482a0 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-number">3</span>);</span>.<spa
482c0 6e 20 63 6c 61 73 73 3d 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
482e0 73 73 3d 22 74 6f 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
48300 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 4f 66 66 73 pan.class="tok-builtin">@bitOffs
48320 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
48340 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>
48360 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c ).==.<span.class="tok-number">6<
48380 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
483a0 65 22 3e 3c 2f 73 70 61 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">..
483c0 20 20 20 20 20 20 3c 73 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</
483e0 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
48400 69 6c 74 69 6e 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 iltin">@offsetOf</span>(BitField
48420 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 26 ,.<span.class="tok-str">&quot;a&
48440 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f quot;</span>).==.<span.class="to
48460 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
48480 6e 20 63 6c 61 73 73 3d 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
484a0 73 73 3d 22 74 6f 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
484c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6f 66 66 73 65 74 4f pan.class="tok-builtin">@offsetO
484e0 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 f</span>(BitField,.<span.class="
48500 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d tok-str">&quot;b&quot;</span>).=
48520 3d 20 3c 73 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
48540 61 6e 3e 29 3b 3c 2f 73 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">
48560 20 20 20 20 20 20 20 20 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
48580 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-
485a0 62 75 69 6c 74 69 6e 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 builtin">@offsetOf</span>(BitFie
485c0 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b ld,.<span.class="tok-str">&quot;
485e0 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 c&quot;</span>).==.<span.class="
48600 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-number">0</span>);</span>.<s
48620 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
48640 70 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>
48660 3c 2f 70 72 65 3e 3c 2f 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
48680 6f 6e 20 63 6c 61 73 73 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
486a0 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
486c0 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 62 69 74 4f 66 66 ine">$.<kbd>zig.test.test_bitOff
486e0 73 65 74 4f 66 5f 6f 66 66 73 65 74 4f 66 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a setOf_offsetOf.zig</kbd></span>.
48700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f <span.class="line">1/1.test.&quo
48720 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 t;pointer.to.non-bit-aligned.fie
48740 6c 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ld&quot;....OK</span>.<span.clas
48760 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
48780 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>......
487a0 20 3c 70 3e 0a 20 20 20 20 20 20 50 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 68 61 76 65 20 31 .<p>.......Packed.structs.have.1
487c0 2d 62 79 74 65 20 61 6c 69 67 6e 6d 65 6e 74 2e 20 48 6f 77 65 76 65 72 20 69 66 20 79 6f 75 20 -byte.alignment..However.if.you.
487e0 68 61 76 65 20 61 6e 20 6f 76 65 72 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 have.an.overaligned.pointer.to.a
48800 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 2c 0a 20 20 20 20 20 20 5a 69 67 20 73 68 6f 75 6c 64 .packed.struct,.......Zig.should
48820 20 63 6f 72 72 65 63 74 6c 79 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 61 6c 69 67 6e 6d .correctly.understand.the.alignm
48840 65 6e 74 20 6f 66 20 66 69 65 6c 64 73 2e 20 48 6f 77 65 76 65 72 20 74 68 65 72 65 20 69 73 0a ent.of.fields..However.there.is.
48860 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f ......<a.href="https://github.co
48880 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 31 39 39 34 22 3e 61 20 62 75 67 m/ziglang/zig/issues/1994">a.bug
488a0 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c </a>:.......</p>.......<figure><
488c0 66 69 67 63 61 70 74 69 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
488e0 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
48900 69 67 63 61 70 74 69 6f 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
48920 3d 22 6c 69 6e 65 22 3e 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
48940 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b st</span>.S.=.<span.class="tok-k
48960 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">packed</span>.<span.class="to
48980 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
489a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 an.class="line">....a:.<span.cla
489c0 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>
489e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 61 6e .<span.class="line">....b:.<span
48a00 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
48a20 70 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
48a40 3e 0a 3c 73 70 61 6e 20 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
48a60 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
48a80 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 76 65 72 61 6c 69 67 6e 65 64 20 70 6f s="tok-str">&quot;overaligned.po
48aa0 69 6e 74 65 72 20 74 6f 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 26 71 75 6f 74 3b 3c 2f 73 70 inter.to.packed.struct&quot;</sp
48ac0 61 6e 3e 20 7b 3c 2f 73 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">
48ae0 20 20 20 20 3c 73 70 61 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
48b00 61 6e 3e 20 66 6f 6f 3a 20 53 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e an>.foo:.S.<span.class="tok-kw">
48b20 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 align</span>(<span.class="tok-nu
48b40 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mber">4</span>).=.<span.class="t
48b60 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
48b80 3e 0a 3c 73 70 61 6e 20 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
48ba0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 lass="tok-kw">const</span>.ptr:.
48bc0 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 *<span.class="tok-kw">align</spa
48be0 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 n>(<span.class="tok-number">4</s
48c00 70 61 6e 3e 29 20 53 20 3d 20 26 61 6d 70 3b 66 6f 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pan>).S.=.&amp;foo;</span>.<span
48c20 20 63 6c 61 73 73 3d 22 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
48c40 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 5f 74 6f 5f 62 3a 20 2a 3c ok-kw">const</span>.ptr_to_b:.*<
48c60 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>
48c80 20 3d 20 26 61 6d 70 3b 70 74 72 2e 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .=.&amp;ptr.b;</span>.<span.clas
48ca0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 74 72 5f 74 6f 5f 62 3b 3c 2f 73 70 61 6e s="line">...._.=.ptr_to_b;</span
48cc0 3e 0a 3c 73 70 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
48ce0 6f 64 65 3e 3c 2f 70 72 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
48d00 61 70 74 69 6f 6e 20 63 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</
48d20 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
48d40 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
48d60 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
48d80 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d "><span.class="t0_1">./docgen_tm
48da0 70 2f 74 65 73 74 2e 7a 69 67 3a 38 3a 33 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c p/test.zig:8:32:.</span><span.cl
48dc0 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 ass="t31_1">error:.</span><span.
48de0 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 2a 75 33 32 class="t0_1">expected.type.'*u32
48e00 27 2c 20 66 6f 75 6e 64 20 27 2a 61 6c 69 67 6e 28 31 29 20 75 33 32 27 3c 2f 73 70 61 6e 3e 3c ',.found.'*align(1).u32'</span><
48e20 2f 73 70 61 6e 3e 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
48e40 6e 73 74 20 70 74 72 5f 74 6f 5f 62 3a 20 2a 75 33 32 20 3d 20 26 61 6d 70 3b 70 74 72 2e 62 3b nst.ptr_to_b:.*u32.=.&amp;ptr.b;
48e60 3c 2f 73 70 61 6e 3e 0a 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">.....
48e80 20 20 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.
48ea0 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f class="t32_1">^</span></span>.</
48ec0 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 samp></pre></figure>.......<p>Wh
48ee0 65 6e 20 74 68 69 73 20 62 75 67 20 69 73 20 66 69 78 65 64 2c 20 74 68 65 20 61 62 6f 76 65 20 en.this.bug.is.fixed,.the.above.
48f00 74 65 73 74 20 69 6e 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 77 69 6c 6c 20 75 test.in.the.documentation.will.u
48f20 6e 65 78 70 65 63 74 65 64 6c 79 20 70 61 73 73 2c 20 77 68 69 63 68 20 77 69 6c 6c 0a 20 20 20 nexpectedly.pass,.which.will....
48f40 20 20 20 63 61 75 73 65 20 74 68 65 20 74 65 73 74 20 73 75 69 74 65 20 74 6f 20 66 61 69 6c 2c ...cause.the.test.suite.to.fail,
48f60 20 6e 6f 74 69 66 79 69 6e 67 20 74 68 65 20 62 75 67 20 66 69 78 65 72 20 74 6f 20 75 70 64 61 .notifying.the.bug.fixer.to.upda
48f80 74 65 20 74 68 65 73 65 20 64 6f 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 te.these.docs........</p>.......
48fa0 3c 70 3e 0a 20 20 20 20 20 20 49 74 27 73 20 61 6c 73 6f 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 <p>.......It's.also.possible.to.
48fc0 73 65 74 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 3a 0a set.alignment.of.struct.fields:.
48fe0 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
49000 74 69 6f 6e 20 63 6c 61 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
49020 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 61 6c 69 67 6e 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c ="file">test_aligned_struct_fiel
49040 64 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ds.zig</cite></figcaption><pre><
49060 63 6f 64 65 3e 3c 73 70 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
49080 61 73 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.=.
490a0 3c 73 70 61 6e 20 63 6c 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
490c0 74 3c 2f 73 70 61 6e 3e 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">&
490e0 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>.<
49100 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
49120 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 20 ok-kw">const</span>.expectEqual.
49140 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 71 75 61 6c 3b 3c 2f 73 70 61 6e =.std.testing.expectEqual;</span
49160 3e 0a 3c 73 70 61 6e 20 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
49180 61 6e 20 63 6c 61 73 73 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
491a0 2d 6b 77 22 3e 74 65 73 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
491c0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6c 69 67 6e 65 64 20 73 74 72 75 63 74 20 66 69 65 6c k-str">&quot;aligned.struct.fiel
491e0 64 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ds&quot;</span>.{</span>.<span.c
49200 6c 61 73 73 3d 22 6c 69 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
49220 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">const</span>.S.=.<span.clas
49240 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
49260 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 3a 20 >.<span.class="line">........a:.
49280 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
492a0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 >.<span.class="tok-kw">align</sp
492c0 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f an>(<span.class="tok-number">2</
492e0 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>),</span>.<span.class="line
49300 22 3e 20 20 20 20 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ">........b:.<span.class="tok-ty
49320 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pe">u32</span>.<span.class="tok-
49340 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f kw">align</span>(<span.class="to
49360 6b 2d 6e 75 6d 62 65 72 22 3e 36 34 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">64</span>),</span>.<sp
49380 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 an.class="line">....};</span>.<s
493a0 70 61 6e 20 63 6c 61 73 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
493c0 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 53 7b 20 2e 61 ="tok-kw">var</span>.foo.=.S{..a
493e0 20 3d 20 3c 73 70 61 6e 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
49400 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
49420 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
49440 73 73 3d 22 6c 69 6e 65 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
49460 69 6e 65 22 3e 20 20 20 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
49480 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 y</span>.expectEqual(<span.class
494a0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ="tok-number">64</span>,.<span.c
494c0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 lass="tok-builtin">@alignOf</spa
494e0 6e 3e 28 53 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 n>(S));</span>.<span.class="line
49500 22 3e 20 20 20 20 3c 73 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</
49520 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>.expectEqual(*<span.class="
49540 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
49560 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c ="tok-number">2</span>).<span.cl
49580 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ass="tok-type">u32</span>,.<span
495a0 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
495c0 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 2e 61 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an>(&amp;foo.a));</span>.<span.c
495e0 6c 61 73 73 3d 22 6c 69 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
49600 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 45 71 75 61 6c 28 2a 3c 73 70 -kw">try</span>.expectEqual(*<sp
49620 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>(<
49640 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 34 3c 2f 73 70 61 6e span.class="tok-number">64</span
49660 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 >).<span.class="tok-type">u32</s
49680 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">
496a0 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 2e 62 29 29 3b 3c 2f 73 70 @TypeOf</span>(&amp;foo.b));</sp
496c0 61 6e 3e 0a 3c 73 70 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><
496e0 2f 63 6f 64 65 3e 3c 2f 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
49700 67 63 61 70 74 69 6f 6e 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
49720 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
49740 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f ass="line">$.<kbd>zig.test.test_
49760 61 6c 69 67 6e 65 64 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c aligned_struct_fields.zig</kbd><
49780 2f 73 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
497a0 73 74 20 26 71 75 6f 74 3b 61 6c 69 67 6e 65 64 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 26 71 st.&quot;aligned.struct.fields&q
497c0 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uot;....OK</span>.<span.class="l
497e0 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>.
49800 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>
49820 0a 20 20 20 20 20 20 55 73 69 6e 67 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 77 69 74 68 .......Using.packed.structs.with
49840 20 3c 61 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 61 .<a.href="#volatile">volatile</a
49860 3e 20 69 73 20 70 72 6f 62 6c 65 6d 61 74 69 63 2c 20 61 6e 64 20 6d 61 79 20 62 65 20 61 20 63 >.is.problematic,.and.may.be.a.c
49880 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 2e 0a 20 20 20 20 ompile.error.in.the.future......
498a0 20 20 46 6f 72 20 64 65 74 61 69 6c 73 20 6f 6e 20 74 68 69 73 20 73 75 62 73 63 72 69 62 65 20 ..For.details.on.this.subscribe.
498c0 74 6f 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 to.......<a.href="https://github
498e0 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 31 37 36 31 22 3e 74 68 .com/ziglang/zig/issues/1761">th
49900 69 73 20 69 73 73 75 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 54 4f 44 4f 20 75 70 64 61 74 65 20 is.issue</a>........TODO.update.
49920 74 68 65 73 65 20 64 6f 63 73 20 77 69 74 68 20 61 20 72 65 63 6f 6d 6d 65 6e 64 61 74 69 6f 6e these.docs.with.a.recommendation
49940 20 6f 6e 20 68 6f 77 20 74 6f 20 75 73 65 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 20 77 69 .on.how.to.use.packed.structs.wi
49960 74 68 20 4d 4d 49 4f 0a 20 20 20 20 20 20 28 74 68 65 20 75 73 65 20 63 61 73 65 20 66 6f 72 20 th.MMIO.......(the.use.case.for.
49980 76 6f 6c 61 74 69 6c 65 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 29 20 6f 6e 63 65 20 74 68 volatile.packed.structs).once.th
499a0 69 73 20 69 73 73 75 65 20 69 73 20 72 65 73 6f 6c 76 65 64 2e 0a 20 20 20 20 20 20 44 6f 6e 27 is.issue.is.resolved........Don'
499c0 74 20 77 6f 72 72 79 2c 20 74 68 65 72 65 20 77 69 6c 6c 20 62 65 20 61 20 67 6f 6f 64 20 73 6f t.worry,.there.will.be.a.good.so
499e0 6c 75 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 20 75 73 65 20 63 61 73 65 20 69 6e 20 7a 69 67 2e lution.for.this.use.case.in.zig.
49a00 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
49a20 3d 22 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 ="Struct-Naming"><a.href="#toc-S
49a40 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e 53 74 72 75 63 74 20 4e 61 6d 69 6e 67 3c 2f 61 3e 20 truct-Naming">Struct.Naming</a>.
49a60 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 72 75 63 74 2d 4e 61 6d <a.class="hdr".href="#Struct-Nam
49a80 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 69 6e 63 65 ing">..</a></h3>........<p>Since
49aa0 20 61 6c 6c 20 73 74 72 75 63 74 73 20 61 72 65 20 61 6e 6f 6e 79 6d 6f 75 73 2c 20 5a 69 67 20 .all.structs.are.anonymous,.Zig.
49ac0 69 6e 66 65 72 73 20 74 68 65 20 74 79 70 65 20 6e 61 6d 65 20 62 61 73 65 64 20 6f 6e 20 61 20 infers.the.type.name.based.on.a.
49ae0 66 65 77 20 72 75 6c 65 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 few.rules.</p>.......<ul>.......
49b00 20 20 20 20 3c 6c 69 3e 49 66 20 74 68 65 20 73 74 72 75 63 74 20 69 73 20 69 6e 20 74 68 65 20 ....<li>If.the.struct.is.in.the.
49b20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 66 20 61 20 76 initialization.expression.of.a.v
49b40 61 72 69 61 62 6c 65 2c 20 69 74 20 67 65 74 73 20 6e 61 6d 65 64 20 61 66 74 65 72 0a 20 20 20 ariable,.it.gets.named.after....
49b60 20 20 20 20 20 20 20 74 68 61 74 20 76 61 72 69 61 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 .......that.variable.</li>......
49b80 20 20 20 20 20 3c 6c 69 3e 49 66 20 74 68 65 20 73 74 72 75 63 74 20 69 73 20 69 6e 20 74 68 65 .....<li>If.the.struct.is.in.the
49ba0 20 3c 63 6f 64 65 3e 3c 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.
49bc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 class="tok-kw">return</span></sp
49be0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 69 74 20 67 65 74 73 20 6e an></code>.expression,.it.gets.n
49c00 61 6d 65 64 20 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f amed.after...........the.functio
49c20 6e 20 69 74 20 69 73 20 72 65 74 75 72 6e 69 6e 67 20 66 72 6f 6d 2c 20 77 69 74 68 20 74 68 65 n.it.is.returning.from,.with.the
49c40 20 70 61 72 61 6d 65 74 65 72 20 76 61 6c 75 65 73 20 73 65 72 69 61 6c 69 7a 65 64 2e 3c 2f 6c .parameter.values.serialized.</l
49c60 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 i>...........<li>Otherwise,.the.
49c80 73 74 72 75 63 74 20 67 65 74 73 20 61 20 6e 61 6d 65 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 struct.gets.a.name.such.as.<code
49ca0 3e 28 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 61 74 20 66 69 6c 65 2e 7a 69 67 3a 37 >(anonymous.struct.at.file.zig:7
49cc0 3a 33 38 29 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 :38)</code>.</li>.......</ul>...
49ce0 20 20 20 20 3c 66 69 67 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
49d00 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 63 ig-cap"><cite.class="file">struc
49d20 74 5f 6e 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 t_name.zig</cite></figcaption><p
49d40 72 65 3e 3c 63 6f 64 65 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
49d60 6e 20 63 6c 61 73 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
49d80 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
49da0 6d 70 6f 72 74 3c 2f 73 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
49dc0 72 22 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
49de0 6e 3e 0a 3c 73 70 61 6e 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
49e00 70 61 6e 20 63 6c 61 73 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
49e20 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
49e40 6b 2d 6b 77 22 3e 66 6e 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
49e60 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="
49e80 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>.<
49ea0 73 70 61 6e 20 63 6c 61 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
49ec0 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
49ee0 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>
49f00 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 .{};</span>.<span.class="line">.
49f20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ...std.debug.print(<span.class="
49f40 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 3a 20 7b 73 7d 5c 6e 26 71 tok-str">&quot;variable:.{s}\n&q
49f60 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d uot;</span>,..{<span.class="tok-
49f80 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 46 6f 6f 29 7d 29 builtin">@typeName</span>(Foo)})
49fa0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
49fc0 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b std.debug.print(<span.class="tok
49fe0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 3a 20 7b 73 7d 5c 6e 26 71 75 6f -str">&quot;anonymous:.{s}\n&quo
4a000 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 t;</span>,..{<span.class="tok-bu
4a020 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c iltin">@typeName</span>(<span.cl
4a040 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 7d 29 7d 29 ass="tok-kw">struct</span>.{})})
4a060 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
4a080 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b std.debug.print(<span.class="tok
4a0a0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 -str">&quot;function:.{s}\n&quot
4a0c0 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ;</span>,..{<span.class="tok-bui
4a0e0 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 4c 69 73 74 28 3c 73 70 61 ltin">@typeName</span>(List(<spa
4a100 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 7d n.class="tok-type">i32</span>))}
4a120 29 3b 3c 2f 73 70 61 6e 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">}</
4a140 73 70 61 6e 3e 0a 3c 73 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>
4a160 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
4a180 22 74 6f 6b 2d 6b 77 22 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="
4a1a0 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tok-fn">List</span>(<span.class=
4a1c0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 "tok-kw">comptime</span>.T:.<spa
4a1e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 n.class="tok-type">type</span>).
4a200 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
4a220 6e 3e 20 7b 3c 2f 73 70 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">.
4a240 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</
4a260 73 70 61 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
4a280 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
4a2a0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 78 3a 20 54 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ine">........x:.T,</span>.<span.
4a2c0 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
4a2e0 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
4a300 72 65 3e 3c 2f 66 69 67 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.
4a320 63 6c 61 73 73 3d 22 73 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
4a340 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
4a360 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 73 74 72 75 63 74 5f 6e 61 ">$.<kbd>zig.build-exe.struct_na
4a380 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d me.zig</kbd></span>.<span.class=
4a3a0 22 6c 69 6e 65 22 3e 3c 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
4a3c0 22 3e 24 20 3c 6b 62 64 3e 2e 2f 73 74 72 75 63 74 5f 6e 61 6d 65 3c 2f 6b 62 64 3e 3c 2f 73 70 ">$.<kbd>./struct_name</kbd></sp
4a3e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 72 69 61 62 6c 65 3a an>.<span.class="line">variable:
4a400 20 46 6f 6f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 .Foo</span>.<span.class="line">a
4a420 6e 6f 6e 79 6d 6f 75 73 3a 20 73 74 72 75 63 74 3a 36 3a 35 33 3c 2f 73 70 61 6e 3e 0a 3c 73 70 nonymous:.struct:6:53</span>.<sp
4a440 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 75 6e 63 74 69 6f 6e 3a 20 4c 69 73 74 28 69 an.class="line">function:.List(i
4a460 33 32 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 32)</span>.</samp></pre></figure
4a480 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 6e 6f 6e 79 6d 6f 75 >...............<h3.id="Anonymou
4a4a0 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 s-Struct-Literals"><a.href="#toc
4a4c0 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e -Anonymous-Struct-Literals">Anon
4a4e0 79 6d 6f 75 73 20 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 ymous.Struct.Literals</a>.<a.cla
4a500 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 ss="hdr".href="#Anonymous-Struct
4a520 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 -Literals">..</a></h3>........<p
4a540 3e 0a 20 20 20 20 20 20 5a 69 67 20 61 6c 6c 6f 77 73 20 6f 6d 69 74 74 69 6e 67 20 74 68 65 20 >.......Zig.allows.omitting.the.
4a560 73 74 72 75 63 74 20 74 79 70 65 20 6f 66 20 61 20 6c 69 74 65 72 61 6c 2e 20 57 68 65 6e 20 74 struct.type.of.a.literal..When.t
4a580 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 he.result.is.<a.href="#Type-Coer
4a5a0 63 69 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 74 68 65 20 73 74 72 cion">coerced</a>,.......the.str
4a5c0 75 63 74 20 6c 69 74 65 72 61 6c 20 77 69 6c 6c 20 64 69 72 65 63 74 6c 79 20 69 6e 73 74 61 6e uct.literal.will.directly.instan
4a5e0 74 69 61 74 65 20 74 68 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 2c 20 77 69 74 68 20 tiate.the.result.location,.with.
4a600 6e 6f 20 63 6f 70 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 no.copy:.......</p>.......<figur
4a620 65 3e 3c 66 69 67 63 61 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
4a640 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 63 74 5f 72 65 73 75 6c 74 2e 7a ite.class="file">struct_result.z
4a660 69 67 3c 2f 63 69 74 65 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
4a680 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
4a6a0 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
4a6c0 6e 20 63 6c 61 73 73 3d 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
4a6e0 70 61 6e 3e 28 3c 73 70 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
4a700 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
4a720 20 63 6c 61 73 73 3d 22 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
4a740 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
4a760 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=
4a780 22 6c 69 6e 65 22 3e 3c 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
4a7a0 22 3e 3c 73 70 61 6e 20 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
4a7c0 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 an>.Point.=.<span.class="tok-kw"
4a7e0 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >struct</span>.{x:.<span.class="
4a800 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 tok-type">i32</span>,.y:.<span.c
4a820 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 lass="tok-type">i32</span>};</sp
4a840 61 6e 3e 0a 3c 73 70 61 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>.<
4a860 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
4a880 6f 6b 2d 6b 77 22 3e 74 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="
4a8a0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 tok-str">&quot;anonymous.struct.
4a8c0 6c 69 74 65 72 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 literal&quot;</span>.{</span>.<s
4a8e0 70 61 6e 20 63 6c 61 73 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
4a900 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 74 3a 20 50 6f 69 6e 74 20 3d ="tok-kw">var</span>.pt:.Point.=
4a920 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ..{</span>.<span.class="line">..
4a940 20 20 20 20 20 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 .......x.=.<span.class="tok-numb
4a960 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">13</span>,</span>.<span.clas
4a980 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 s="line">.........y.=.<span.clas
4a9a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 37 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e s="tok-number">67</span>,</span>
4a9c0 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
4a9e0 3e 0a 3c 73 70 61 6e 20 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
4aa00 6c 61 73 73 3d 22 74 6f 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(
4aa20 70 74 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 pt.x.==.<span.class="tok-number"
4aa40 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >13</span>);</span>.<span.class=
4aa60 22 6c 69 6e 65 22 3e 20 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">
4aa80 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 2e 79 20 3d 3d 20 3c 73 70 61 6e 20 try</span>.expect(pt.y.==.<span.
4aaa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 37 3c 2f 73 70 61 6e 3e 29 3b 3c 2f class="tok-number">67</span>);</
4aac0 73 70 61 6e 3e 0a 3c 73 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
4aae0 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><
4ab00 66 69 67 63 61 70 74 69 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
4ab20 6c 6c 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.
4ab40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 74 72 class="line">$.<kbd>zig.test.str
4ab60 75 63 74 5f 72 65 73 75 6c 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 uct_result.zig</kbd></span>.<spa
4ab80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 6e n.class="line">1/1.test.&quot;an
4aba0 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 26 71 75 6f 74 3b 2e 2e 2e 20 onymous.struct.literal&quot;....
4abc0 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
4abe0 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><
4ac00 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
4ac20 68 65 20 73 74 72 75 63 74 20 74 79 70 65 20 63 61 6e 20 62 65 20 69 6e 66 65 72 72 65 64 2e 20 he.struct.type.can.be.inferred..
4ac40 48 65 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f Here.the.result.location.does.no
4ac60 74 20 69 6e 63 6c 75 64 65 20 61 20 74 79 70 65 2c 20 61 6e 64 0a 20 20 20 20 20 20 73 6f 20 5a t.include.a.type,.and.......so.Z
4ac80 69 67 20 69 6e 66 65 72 73 20 74 68 65 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 ig.infers.the.type:.......</p>..
4aca0 20 20 20 20 20 3c 66 69 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="
4acc0 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 zig-cap"><cite.class="file">stru
4ace0 63 74 5f 61 6e 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c ct_anon.zig</cite></figcaption><
4ad00 70 72 65 3e 3c 63 6f 64 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
4ad20 61 6e 20 63 6c 61 73 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
4ad40 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">@
4ad60 69 6d 70 6f 72 74 3c 2f 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
4ad80 74 72 22 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
4ada0 61 6e 3e 0a 3c 73 70 61 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
4adc0 73 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.
4ade0 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
4ae00 61 6e 20 63 6c 61 73 73 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
4ae20 61 73 73 3d 22 6c 69 6e 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">
4ae40 74 65 73 74 3c 2f 73 70 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
4ae60 22 3e 26 71 75 6f 74 3b 66 75 6c 6c 79 20 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 26 71 ">&quot;fully.anonymous.struct&q
4ae80 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
4aea0 3d 22 6c 69 6e 65 22 3e 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"
4aec0 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 75 6d 70 28 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >try</span>.dump(.{</span>.<span
4aee0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 69 6e 74 20 3d 20 3c 73 70 .class="line">.........int.=.<sp
4af00 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
4af20 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 >(<span.class="tok-type">u32</sp
4af40 61 6e 3e 2c 20 3c 73 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
4af60 33 34 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 34</span>),</span>.<span.class="
4af80 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 line">.........float.=.<span.cla
4afa0 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
4afc0 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>,.<
4afe0 73 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
4b000 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>),</span>.<span.class="line"
4b020 3e 20 20 20 20 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.........b.=.<span.class="tok-n
4b040 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ull">true</span>,</span>.<span.c
4b060 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 20 3d 20 3c 73 70 61 6e 20 63 lass="line">.........s.=.<span.c
4b080 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 lass="tok-str">&quot;hi&quot;</s
4b0a0 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">
4b0c0 20 20 20 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ....});</span>.<span.class="line
4b0e0 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"></
4b100 73 70 61 6e 3e 0a 3c 73 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
4b120 6c 61 73 73 3d 22 74 6f 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
4b140 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 75 6d 70 3c 2f 73 70 61 6e 3e 28 61 72 67 73 3a 20 3c ass="tok-fn">dump</span>(args:.<
4b160 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
4b180 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 n>).!<span.class="tok-type">void
4b1a0 3c 2f 73 70 61 6e 3e 20 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
4b1c0 6e 65 22 3e 20 20 20 20 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
4b1e0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 69 6e 74 20 3d 3d 20 3c 73 70 61 6e </span>.expect(args.int.==.<span
4b200 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 .class="tok-number">1234</span>)
4b220 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
4b240 3c 73 70 61 6e 20 63 6c 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>.
4b260 65 78 70 65 63 74 28 61 72 67 73 2e 66 6c 6f 61 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 expect(args.float.==.<span.class
4b280 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 ="tok-number">12.34</span>);</sp
4b2a0 61 6e 3e 0a 3c 73 70 61 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
4b2c0 20 63 6c 61 73 73 3d 22 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
4b2e0 74 28 61 72 67 73 2e 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c t(args.b);</span>.<span.class="l
4b300 69 6e 65 22 3e 20 20 20 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
4b320 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 72 67 73 2e 73 5b 3c 73 70 61 6e 20 63 6c 61 y</span>.expect(args.s[<span.cla
4b340 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
4b360 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>);<
4b380 2f 73 70 61 6e 3e 0a 3c 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
4b3a0 70 61 6e 20 63 6c 61 73 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
4b3c0 70 65 63 74 28 61 72 67 73 2e 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d pect(args.s[<span.class="tok-num
4b3e0 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ber">1</span>].==.<span.class="t
4b400 6f 6b 2d 73 74 72 22 3e 27 69 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-str">'i'</span>);</span>.<spa
4b420 6e 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></
4b440 70 72 65 3e 3c 2f 66 69 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
4b460 20 63 6c 61 73 73 3d 22 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
4b480 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
4b4a0 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 74 72 75 63 74 5f 61 6e 6f 6e 2e 7a e">$.<kbd>zig.test.struct_anon.z
4b4c0 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
4b4e0 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 66 75 6c 6c 79 20 61 6e 6f 6e 79 6d 6f 75 e">1/1.test.&quot;fully.anonymou
4b500 73 20 73 74 72 75 63 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 s.struct&quot;....OK</span>.<spa
4b520 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
4b540 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>
4b560 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 .......<p>.......Anonymous.struc
4b580 74 73 20 63 61 6e 20 62 65 20 63 72 65 61 74 65 64 20 77 69 74 68 6f 75 74 20 73 70 65 63 69 66 ts.can.be.created.without.specif
4b5a0 79 69 6e 67 20 66 69 65 6c 64 20 6e 61 6d 65 73 2c 20 61 6e 64 20 61 72 65 20 72 65 66 65 72 72 ying.field.names,.and.are.referr
4b5c0 65 64 20 74 6f 20 61 73 20 22 74 75 70 6c 65 73 22 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ed.to.as."tuples"........</p>...
4b5e0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 66 69 65 6c 64 73 20 61 72 65 20 69 6d 70 ....<p>.......The.fields.are.imp
4b600 6c 69 63 69 74 6c 79 20 6e 61 6d 65 64 20 75 73 69 6e 67 20 6e 75 6d 62 65 72 73 20 73 74 61 72 licitly.named.using.numbers.star
4b620 74 69 6e 67 20 66 72 6f 6d 20 30 2e 20 42 65 63 61 75 73 65 20 74 68 65 69 72 20 6e 61 6d 65 73 ting.from.0..Because.their.names
4b640 20 61 72 65 20 69 6e 74 65 67 65 72 73 2c 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c .are.integers,.......the.<code><
4b660 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 40 26 71 75 6f 74 3b 30 26 71 75 6f 74 3b span.class="line">@&quot;0&quot;
4b680 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 6d 75 73 74 20 62 65 20 75 73 </span></code>.syntax.must.be.us
4b6a0 65 64 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 6d 2e 20 4e 61 6d 65 73 20 69 6e 73 69 64 65 20 ed.to.access.them..Names.inside.
4b6c0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 40 26 71 75 6f 74 3b <code><span.class="line">@&quot;
4b6e0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 61 6c 77 61 79 73 20 &quot;</span></code>.are.always.
4b700 72 65 63 6f 67 6e 69 73 65 64 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 66 69 recognised.as.<a.href="#Identifi
4b720 65 72 73 22 3e 69 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ers">identifiers</a>........</p>
4b740 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 69 6b 65 20 61 72 72 61 79 73 2c 20 74 75 .......<p>.......Like.arrays,.tu
4b760 70 6c 65 73 20 68 61 76 65 20 61 20 2e 6c 65 6e 20 66 69 65 6c 64 2c 20 63 61 6e 20 62 65 20 69 ples.have.a..len.field,.can.be.i
4b780 6e 64 65 78 65 64 20 61 6e 64 20 20 77 6f 72 6b 20 77 69 74 68 20 74 68 65 20 2b 2b 20 61 6e 64 ndexed.and..work.with.the.++.and
4b7a0 20 2a 2a 20 6f 70 65 72 61 74 6f 72 73 2e 20 54 68 65 79 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 .**.operators..They.can.also.be.
4b7c0 69 74 65 72 61 74 65 64 20 6f 76 65 72 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c iterated.over.with.<a.href="#inl
4b7e0 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c ine-for">inline.for</a>........<
4b800 2f 70 3e 0a 20 20 20 20 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
4b820 61 73 73 3d 22 7a 69 67 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"
4b840 3e 74 75 70 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 >tuple.zig</cite></figcaption><p
4b860 72 65 3e 3c 63 6f 64 65 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
4b880 6e 20 63 6c 61 73 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
4b8a0 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
4b8c0 6d 70 6f 72 74 3c 2f 73 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
4b8e0 72 22 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
4b900 6e 3e 0a 3c 73 70 61 6e 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
4b920 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.=
4b940 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
4b960 6e 20 63 6c 61 73 73 3d 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
4b980 73 73 3d 22 6c 69 6e 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
4b9a0 65 73 74 3c 2f 73 70 61 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"
4b9c0 3e 26 71 75 6f 74 3b 74 75 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 >&quot;tuple&quot;</span>.{</spa
4b9e0 6e 3e 0a 3c 73 70 61 6e 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.
4ba00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 class="tok-kw">const</span>.valu
4ba20 65 73 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 es.=..{</span>.<span.class="line
4ba40 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 ">........<span.class="tok-built
4ba60 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-
4ba80 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">u32</span>,.<span.class="t
4baa0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a ok-number">1234</span>),</span>.
4bac0 3c 73 70 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
4bae0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 .class="tok-builtin">@as</span>(
4bb00 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
4bb20 3e 2c 20 3c 73 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
4bb40 34 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 4</span>),</span>.<span.class="l
4bb60 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ine">........<span.class="tok-nu
4bb80 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ll">true</span>,</span>.<span.cl
4bba0 61 73 73 3d 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="
4bbc0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c tok-str">&quot;hi&quot;</span>,<
4bbe0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 /span>.<span.class="line">....}.
4bc00 2b 2b 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 ++..{<span.class="tok-null">fals
4bc20 65 3c 2f 73 70 61 6e 3e 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 e</span>}.**.<span.class="tok-nu
4bc40 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
4bc60 73 73 3d 22 6c 69 6e 65 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
4bc80 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 73 5b 3c 73 70 61 w">try</span>.expect(values[<spa
4bca0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d n.class="tok-number">0</span>].=
4bcc0 3d 20 3c 73 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<
4bce0 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
4bd00 65 22 3e 20 20 20 20 3c 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<
4bd20 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.expect(values[<span.class
4bd40 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e ="tok-number">4</span>].==.<span
4bd60 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>);
4bd80 3c 2f 73 70 61 6e 3e 0a 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">....<
4bda0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e span.class="tok-kw">inline</span
4bdc0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e >.<span.class="tok-kw">for</span
4bde0 3e 20 28 76 61 6c 75 65 73 29 20 7c 76 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >.(values).|v,.i|.{</span>.<span
4be00 20 63 6c 61 73 73 3d 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
4be20 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 20 21 3d 20 3c 73 70 61 6e s="tok-kw">if</span>.(i.!=.<span
4be40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 .class="tok-number">2</span>).<s
4be60 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
4be80 6e 3e 3b 3c 2f 73 70 61 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">..
4bea0 20 20 20 20 20 20 3c 73 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</
4bec0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c span>.expect(v);</span>.<span.cl
4bee0 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
4bf00 61 73 73 3d 22 6c 69 6e 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-
4bf20 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 73 2e 6c 65 6e kw">try</span>.expect(values.len
4bf40 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f .==.<span.class="tok-number">6</
4bf60 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
4bf80 22 3e 20 20 20 20 3c 73 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</
4bfa0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 73 2e 40 26 71 75 6f 74 3b 33 26 71 75 6f span>.expect(values.@&quot;3&quo
4bfc0 74 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 t;[<span.class="tok-number">0</s
4bfe0 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">'
4c000 68 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 h'</span>);</span>.<span.class="
4c020 6c 69 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
4c040 75 72 65 3e 3c 66 69 67 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
4c060 68 65 6c 6c 2d 63 61 70 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
4c080 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
4c0a0 3e 7a 69 67 20 74 65 73 74 20 74 75 70 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e >zig.test.tuple.zig</kbd></span>
4c0c0 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
4c0e0 6f 74 3b 74 75 70 6c 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ot;tuple&quot;....OK</span>.<spa
4c100 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
4c120 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>
4c140 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 ..............<p>See.also:</p><u
4c160 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 l>.<li><a.href="#comptime">compt
4c180 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 69 65 6c 64 ime</a></li>.<li><a.href="#field
4c1a0 50 61 72 65 6e 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 61 3e 3c 2f ParentPtr">@fieldParentPtr</a></
4c1c0 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 li>.</ul>...............<h2.id="
4c1e0 65 6e 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f enum"><a.href="#toc-enum">enum</
4c200 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e c2 a>.<a.class="hdr".href="#enum">.
4c220 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 .</a></h2>........<figure><figca
4c240 70 74 69 6f 6e 20 63 6c 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
4c260 73 3d 22 66 69 6c 65 22 3e 65 6e 75 6d 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 s="file">enums.zig</cite></figca
4c280 70 74 69 6f 6e 3e 3c 70 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
4c2a0 6e 65 22 3e 3c 73 70 61 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</
4c2c0 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-
4c2e0 62 75 69 6c 74 69 6e 22 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
4c300 61 73 73 3d 22 74 6f 6b 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
4c320 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
4c340 61 6e 20 63 6c 61 73 73 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
4c360 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c -kw">const</span>.mem.=.<span.cl
4c380 61 73 73 3d 22 74 6f 6b 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>
4c3a0 28 3c 73 70 61 6e 20 63 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
4c3c0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e &quot;</span>).mem;</span>.<span
4c3e0 20 63 6c 61 73 73 3d 22 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
4c400 73 3d 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
4c420 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 t">//.Declare.an.enum.</span></s
4c440 70 61 6e 3e 0a 3c 73 70 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
4c460 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 79 70 65 20 3d ass="tok-kw">const</span>.Type.=
4c480 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e .<span.class="tok-kw">enum</span
4c4a0 3e 20 7b 3c 2f 73 70 61 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">..
4c4c0 20 20 6f 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..ok,</span>.<span.class="line">
4c4e0 20 20 20 20 6e 6f 74 5f 6f 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ....not_ok,</span>.<span.class="
4c500 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
4c520 65 22 3e 3c 2f 73 70 61 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
4c540 70 61 6e 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
4c560 72 65 20 61 20 73 70 65 63 69 66 69 63 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 74 68 65 20 65 6e re.a.specific.instance.of.the.en
4c580 75 6d 20 76 61 72 69 61 6e 74 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 um.variant.</span></span>.<span.
4c5a0 63 6c 61 73 73 3d 22 6c 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
4c5c0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 54 79 70 65 2e 6f 6b 3b 3c 2f 73 70 61 ">const</span>.c.=.Type.ok;</spa
4c5e0 6e 3e 0a 3c 73 70 61 6e 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
4c600 70 61 6e 20 63 6c 61 73 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
4c620 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 79 6f 75 20 77 61 6e 74 20 61 63 63 65 73 73 k-comment">//.If.you.want.access
4c640 20 74 6f 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 65 6e 75 6d .to.the.ordinal.value.of.an.enum
4c660 2c 20 79 6f 75 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ,.you</span></span>.<span.class=
4c680 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"
4c6a0 3e 2f 2f 20 63 61 6e 20 73 70 65 63 69 66 79 20 74 68 65 20 74 61 67 20 74 79 70 65 2e 3c 2f 73 >//.can.specify.the.tag.type.</s
4c6c0 70 61 6e 3e 3c 2f 73 70 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"><
4c6e0 73 70 61 6e 20 63 6c 61 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>
4c700 20 56 61 6c 75 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e .Value.=.<span.class="tok-kw">en
4c720 75 6d 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 um</span>(<span.class="tok-type"
4c740 3e 75 32 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >u2</span>).{</span>.<span.class
4c760 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7a 65 72 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ="line">....zero,</span>.<span.c
4c780 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 lass="line">....one,</span>.<spa
4c7a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 77 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c n.class="line">....two,</span>.<
4c7c0 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
4c7e0 6e 20 63 6c 61 73 73 3d 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
4c800 73 73 3d 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
4c820 6e 74 22 3e 2f 2f 20 4e 6f 77 20 79 6f 75 20 63 61 6e 20 63 61 73 74 20 62 65 74 77 65 65 6e 20 nt">//.Now.you.can.cast.between.
4c840 75 32 20 61 6e 64 20 56 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 u2.and.Value.</span></span>.<spa
4c860 6e 20 63 6c 61 73 73 3d 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-
4c880 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 73 74 comment">//.The.ordinal.value.st
4c8a0 61 72 74 73 20 66 72 6f 6d 20 30 2c 20 63 6f 75 6e 74 69 6e 67 20 75 70 20 66 6f 72 20 65 61 63 arts.from.0,.counting.up.for.eac
4c8c0 68 20 6d 65 6d 62 65 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c h.member.</span></span>.<span.cl
4c8e0 61 73 73 3d 22 6c 69 6e 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">
4c900 74 65 73 74 3c 2f 73 70 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
4c920 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 75 6f 74 3b ">&quot;enum.ordinal.value&quot;
4c940 3c 2f 73 70 61 6e 3e 20 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
4c960 6e 65 22 3e 20 20 20 20 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
4c980 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-
4c9a0 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 builtin">@enumToInt</span>(Value
4c9c0 2e 7a 65 72 6f 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 .zero).==.<span.class="tok-numbe
4c9e0 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
4ca00 3d 22 6c 69 6e 65 22 3e 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"
4ca20 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >try</span>.expect(<span.class="
4ca40 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 tok-builtin">@enumToInt</span>(V
4ca60 61 6c 75 65 2e 6f 6e 65 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 alue.one).==.<span.class="tok-nu
4ca80 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
4caa0 61 73 73 3d 22 6c 69 6e 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-
4cac0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 kw">try</span>.expect(<span.clas
4cae0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e s="tok-builtin">@enumToInt</span
4cb00 3e 28 56 61 6c 75 65 2e 74 77 6f 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >(Value.two).==.<span.class="tok
4cb20 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
4cb40 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
4cb60 73 73 3d 22 6c 69 6e 65 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
4cb80 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">/
4cba0 2f 20 59 6f 75 20 63 61 6e 20 6f 76 65 72 72 69 64 65 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 /.You.can.override.the.ordinal.v
4cbc0 61 6c 75 65 20 66 6f 72 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a alue.for.an.enum.</span></span>.
4cbe0 3c 73 70 61 6e 20 63 6c 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="
4cc00 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 61 6c 75 65 32 20 3d 20 3c 73 tok-kw">const</span>.Value2.=.<s
4cc20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 28 3c pan.class="tok-kw">enum</span>(<
4cc40 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>
4cc60 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">..
4cc80 20 20 68 75 6e 64 72 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ..hundred.=.<span.class="tok-num
4cca0 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">100</span>,</span>.<span.cl
4ccc0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 6f 75 73 61 6e 64 20 3d 20 3c 73 70 61 6e 20 ass="line">....thousand.=.<span.
4cce0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 3c 2f 73 70 61 6e 3e 2c 3c class="tok-number">1000</span>,<
4cd00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6d 69 /span>.<span.class="line">....mi
4cd20 6c 6c 69 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 llion.=.<span.class="tok-number"
4cd40 3e 31 30 30 30 30 30 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >1000000</span>,</span>.<span.cl
4cd60 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
4cd80 3d 22 6c 69 6e 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
4cda0 74 3c 2f 73 70 61 6e 3e 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">&
4cdc0 71 75 6f 74 3b 73 65 74 20 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 75 6f 74 quot;set.enum.ordinal.value&quot
4cde0 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
4ce00 69 6e 65 22 3e 20 20 20 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
4ce20 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
4ce40 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
4ce60 65 32 2e 68 75 6e 64 72 65 64 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e2.hundred).==.<span.class="tok-
4ce80 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 number">100</span>);</span>.<spa
4cea0 6e 20 63 6c 61 73 73 3d 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="
4cec0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 tok-kw">try</span>.expect(<span.
4cee0 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f class="tok-builtin">@enumToInt</
4cf00 73 70 61 6e 3e 28 56 61 6c 75 65 32 2e 74 68 6f 75 73 61 6e 64 29 20 3d 3d 20 3c 73 70 61 6e 20 span>(Value2.thousand).==.<span.
4cf20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 3c 2f 73 70 61 6e 3e 29 3b class="tok-number">1000</span>);
4cf40 3c 2f 73 70 61 6e 3e 0a 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">....<
4cf60 73 70 61 6e 20 63 6c 61 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
4cf80 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">
4cfa0 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 32 2e 6d 69 6c 6c 69 6f 6e @enumToInt</span>(Value2.million
4cfc0 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
4cfe0 30 30 30 30 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 00000</span>);</span>.<span.clas
4d000 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
4d020 69 6e 65 22 3e 3c 2f 73 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">
4d040 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 6e 75 <span.class="tok-comment">//.Enu
4d060 6d 73 20 63 61 6e 20 68 61 76 65 20 6d 65 74 68 6f 64 73 2c 20 74 68 65 20 73 61 6d 65 20 61 73 ms.can.have.methods,.the.same.as
4d080 20 73 74 72 75 63 74 73 20 61 6e 64 20 75 6e 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 .structs.and.unions.</span></spa
4d0a0 6e 3e 0a 3c 73 70 61 6e 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
4d0c0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 6e 75 6d 20 6d 65 74 68 6f 64 73 20 s="tok-comment">//.Enum.methods.
4d0e0 61 72 65 20 6e 6f 74 20 73 70 65 63 69 61 6c 2c 20 74 68 65 79 20 61 72 65 20 6f 6e 6c 79 20 6e are.not.special,.they.are.only.n
4d100 61 6d 65 73 70 61 63 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c amespaced</span></span>.<span.cl
4d120 61 73 73 3d 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
4d140 65 6e 74 22 3e 2f 2f 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 ent">//.functions.that.you.can.c
4d160 61 6c 6c 20 77 69 74 68 20 64 6f 74 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 all.with.dot.syntax.</span></spa
4d180 6e 3e 0a 3c 73 70 61 6e 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
4d1a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 75 69 74 20 3d 20 3c s="tok-kw">const</span>.Suit.=.<
4d1c0 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>.
4d1e0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
4d200 63 6c 75 62 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 clubs,</span>.<span.class="line"
4d220 3e 20 20 20 20 73 70 61 64 65 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >....spades,</span>.<span.class=
4d240 22 6c 69 6e 65 22 3e 20 20 20 20 64 69 61 6d 6f 6e 64 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 "line">....diamonds,</span>.<spa
4d260 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 68 65 61 72 74 73 2c 3c 2f 73 70 61 6e n.class="line">....hearts,</span
4d280 3e 0a 3c 73 70 61 6e 20 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
4d2a0 61 6e 20 63 6c 61 73 73 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=
4d2c0 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=
4d2e0 22 74 6f 6b 2d 6b 77 22 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="
4d300 74 6f 6b 2d 66 6e 22 3e 69 73 43 6c 75 62 73 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 53 75 69 tok-fn">isClubs</span>(self:.Sui
4d320 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f t).<span.class="tok-type">bool</
4d340 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
4d360 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 ">........<span.class="tok-kw">r
4d380 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 20 3d 3d 20 53 75 69 74 2e 63 6c 75 62 73 3b eturn</span>.self.==.Suit.clubs;
4d3a0 3c 2f 73 70 61 6e 3e 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">....}
4d3c0 3c 2f 73 70 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
4d3e0 70 61 6e 3e 0a 3c 73 70 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
4d400 61 73 73 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
4d420 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6d 65 74 68 6f 64 lass="tok-str">&quot;enum.method
4d440 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
4d460 73 73 3d 22 6c 69 6e 65 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
4d480 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 20 3d 20 53 75 69 74 2e 73 70 61 64 65 73 3b w">const</span>.p.=.Suit.spades;
4d4a0 3c 2f 73 70 61 6e 3e 0a 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">....<
4d4c0 73 70 61 6e 20 63 6c 61 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
4d4e0 78 70 65 63 74 28 21 70 2e 69 73 43 6c 75 62 73 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 xpect(!p.isClubs());</span>.<spa
4d500 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
4d520 61 73 73 3d 22 6c 69 6e 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="
4d540 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">
4d560 2f 2f 20 41 6e 20 65 6e 75 6d 20 76 61 72 69 61 6e 74 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 //.An.enum.variant.of.different.
4d580 74 79 70 65 73 20 63 61 6e 20 62 65 20 73 77 69 74 63 68 65 64 20 75 70 6f 6e 2e 3c 2f 73 70 61 types.can.be.switched.upon.</spa
4d5a0 6e 3e 3c 2f 73 70 61 6e 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
4d5c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 an.class="tok-kw">const</span>.F
4d5e0 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f oo.=.<span.class="tok-kw">enum</
4d600 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
4d620 22 3e 20 20 20 20 73 74 72 69 6e 67 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">....string,</span>.<span.class
4d640 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ="line">....number,</span>.<span
4d660 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c .class="line">....none,</span>.<
4d680 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
4d6a0 6e 20 63 6c 61 73 73 3d 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-
4d6c0 6b 77 22 3e 74 65 73 74 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
4d6e0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 76 61 72 69 61 6e 74 20 73 77 69 74 63 68 26 -str">&quot;enum.variant.switch&
4d700 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
4d720 73 3d 22 6c 69 6e 65 22 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
4d740 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 20 3d 20 46 6f 6f 2e 6e 75 6d 62 65 72 3b 3c 2f ">const</span>.p.=.Foo.number;</
4d760 73 70 61 6e 3e 0a 3c 73 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
4d780 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 an.class="tok-kw">const</span>.w
4d7a0 68 61 74 5f 69 73 5f 69 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 hat_is_it.=.<span.class="tok-kw"
4d7c0 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 70 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >switch</span>.(p).{</span>.<spa
4d7e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 46 6f 6f 2e 73 74 72 69 6e n.class="line">........Foo.strin
4d800 67 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 g.=&gt;.<span.class="tok-str">&q
4d820 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e uot;this.is.a.string&quot;</span
4d840 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">...
4d860 20 20 20 20 20 46 6f 6f 2e 6e 75 6d 62 65 72 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 .....Foo.number.=&gt;.<span.clas
4d880 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 75 6d 62 s="tok-str">&quot;this.is.a.numb
4d8a0 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er&quot;</span>,</span>.<span.cl
4d8c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 46 6f 6f 2e 6e 6f 6e 65 20 3d 26 67 74 ass="line">........Foo.none.=&gt
4d8e0 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 ;.<span.class="tok-str">&quot;th
4d900 69 73 20 69 73 20 61 20 6e 6f 6e 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e is.is.a.none&quot;</span>,</span
4d920 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 >.<span.class="line">....};</spa
4d940 6e 3e 0a 3c 73 70 61 6e 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.
4d960 63 6c 61 73 73 3d 22 74 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
4d980 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e (mem.eql(<span.class="tok-type">
4d9a0 75 38 3c 2f 73 70 61 6e 3e 2c 20 77 68 61 74 5f 69 73 5f 69 74 2c 20 3c 73 70 61 6e 20 63 6c 61 u8</span>,.what_is_it,.<span.cla
4d9c0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 75 6d ss="tok-str">&quot;this.is.a.num
4d9e0 62 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ber&quot;</span>));</span>.<span
4da00 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
4da20 73 73 3d 22 6c 69 6e 65 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
4da40 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">/
4da60 2f 20 40 74 79 70 65 49 6e 66 6f 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 61 63 63 65 73 /.@typeInfo.can.be.used.to.acces
4da80 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 20 6f 66 20 61 6e 20 65 6e 75 s.the.integer.tag.type.of.an.enu
4daa0 6d 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 m.</span></span>.<span.class="li
4dac0 6e 65 22 3e 3c 73 70 61 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</
4dae0 73 70 61 6e 3e 20 53 6d 61 6c 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b span>.Small.=.<span.class="tok-k
4db00 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
4db20 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ass="line">....one,</span>.<span
4db40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 77 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 .class="line">....two,</span>.<s
4db60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 65 65 2c 3c 2f 73 70 61 pan.class="line">....three,</spa
4db80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 75 72 2c 3c n>.<span.class="line">....four,<
4dba0 2f 73 70 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
4dbc0 61 6e 3e 0a 3c 73 70 61 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
4dbe0 73 73 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
4dc00 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 2e 6d 65 74 61 2e 54 61 67 ass="tok-str">&quot;std.meta.Tag
4dc20 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
4dc40 73 73 3d 22 6c 69 6e 65 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
4dc60 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
4dc80 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 ="tok-builtin">@typeInfo</span>(
4dca0 53 6d 61 6c 6c 29 2e 45 6e 75 6d 2e 74 61 67 5f 74 79 70 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c Small).Enum.tag_type.==.<span.cl
4dcc0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ass="tok-type">u2</span>);</span
4dce0 3e 0a 3c 73 70 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
4dd00 70 61 6e 20 63 6c 61 73 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
4dd20 6c 61 73 73 3d 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
4dd40 6d 65 6e 74 22 3e 2f 2f 20 40 74 79 70 65 49 6e 66 6f 20 74 65 6c 6c 73 20 75 73 20 74 68 65 20 ment">//.@typeInfo.tells.us.the.
4dd60 66 69 65 6c 64 20 63 6f 75 6e 74 20 61 6e 64 20 74 68 65 20 66 69 65 6c 64 73 20 6e 61 6d 65 73 field.count.and.the.fields.names
4dd80 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
4dda0 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
4ddc0 61 6e 3e 20 3c 73 70 61 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;
4dde0 40 74 79 70 65 49 6e 66 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a @typeInfo&quot;</span>.{</span>.
4de00 3c 73 70 61 6e 20 63 6c 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
4de20 73 73 3d 22 74 6f 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
4de40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 pan.class="tok-builtin">@typeInf
4de60 6f 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 29 2e 45 6e 75 6d 2e 66 69 65 6c 64 73 2e 6c 65 6e 20 o</span>(Small).Enum.fields.len.
4de80 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 ==.<span.class="tok-number">4</s
4dea0 70 61 6e 3e 29 3b 3c 2f 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"
4dec0 3e 20 20 20 20 3c 73 70 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
4dee0 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.expect(mem.eql(<span.class=
4df00 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
4df20 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e s="tok-builtin">@typeInfo</span>
4df40 28 53 6d 61 6c 6c 29 2e 45 6e 75 6d 2e 66 69 65 6c 64 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d (Small).Enum.fields[<span.class=
4df60 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 2e 6e 61 6d 65 2c 20 3c 73 70 "tok-number">1</span>].name,.<sp
4df80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 77 6f 26 71 75 6f an.class="tok-str">&quot;two&quo
4dfa0 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d t;</span>));</span>.<span.class=
4dfc0 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
4dfe0 65 22 3e 3c 2f 73 70 61 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
4e000 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 74 61 67 4e pan.class="tok-comment">//.@tagN
4e020 61 6d 65 20 67 69 76 65 73 20 61 20 5b 3a 30 5d 63 6f 6e 73 74 20 75 38 20 72 65 70 72 65 73 65 ame.gives.a.[:0]const.u8.represe
4e040 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 6e 75 6d 20 76 61 6c 75 65 3a 3c 2f 73 70 61 6e 3e ntation.of.an.enum.value:</span>
4e060 3c 2f 73 70 61 6e 3e 0a 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
4e080 20 63 6c 61 73 73 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
4e0a0 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
4e0c0 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
4e0e0 73 73 3d 22 6c 69 6e 65 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
4e100 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 w">try</span>.expect(mem.eql(<sp
4e120 61 6e 20 63 6c 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>,.<
4e140 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d span.class="tok-builtin">@tagNam
4e160 65 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 2e 74 68 72 65 65 29 2c 20 3c 73 70 61 6e 20 63 6c 61 e</span>(Small.three),.<span.cla
4e180 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 72 65 65 26 71 75 6f 74 3b 3c 2f ss="tok-str">&quot;three&quot;</
4e1a0 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
4e1c0 65 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
4e1e0 3e 3c 66 69 67 75 72 65 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
4e200 6c 2d 63 61 70 22 3e 53 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
4e220 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
4e240 67 20 74 65 73 74 20 65 6e 75 6d 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 g.test.enums.zig</kbd></span>.<s
4e260 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b pan.class="line">1/7.test.&quot;
4e280 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f enum.ordinal.value&quot;....OK</
4e2a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 37 20 74 65 73 span>.<span.class="line">2/7.tes
4e2c0 74 20 26 71 75 6f 74 3b 73 65 74 20 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 t.&quot;set.enum.ordinal.value&q
4e2e0 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uot;....OK</span>.<span.class="l
4e300 69 6e 65 22 3e 33 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 65 6e 75 6d 20 6d 65 74 68 6f 64 26 ine">3/7.test.&quot;enum.method&
4e320 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;....OK</span>.<span.class="
4e340 6c 69 6e 65 22 3e 34 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 65 6e 75 6d 20 76 61 72 69 61 6e line">4/7.test.&quot;enum.varian
4e360 74 20 73 77 69 74 63 68 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 t.switch&quot;....OK</span>.<spa
4e380 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 35 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 73 74 n.class="line">5/7.test.&quot;st
4e3a0 64 2e 6d 65 74 61 2e 54 61 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 d.meta.Tag&quot;....OK</span>.<s
4e3c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 36 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b pan.class="line">6/7.test.&quot;
4e3e0 40 74 79 70 65 49 6e 66 6f 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 @typeInfo&quot;....OK</span>.<sp
4e400 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 37 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 40 an.class="line">7/7.test.&quot;@
4e420 74 61 67 4e 61 6d 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e tagName&quot;....OK</span>.<span
4e440 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 37 20 74 65 73 74 73 20 70 61 73 73 65 64 .class="line">All.7.tests.passed
4e460 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>.
4e480 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><
4e4a0 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>
4e4c0 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e 40 74 61 </li>.<li><a.href="#tagName">@ta
4e4e0 67 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 69 7a gName</a></li>.<li><a.href="#siz
4e500 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 eOf">@sizeOf</a></li>.</ul>.....
4e520 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 3c 61 20 68 72 65 66 ....<h3.id="extern-enum"><a.href
4e540 3d 22 23 74 6f 63 2d 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 65 78 74 65 72 6e 20 65 6e 75 6d 3c ="#toc-extern-enum">extern.enum<
4e560 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e /a>.<a.class="hdr".href="#extern
4e580 2d 65 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 -enum">..</a></h3>........<p>...
4e5a0 20 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 65 6e 75 6d 73 20 61 72 65 20 6e 6f 74 20 67 75 ....By.default,.enums.are.not.gu
4e5c0 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 aranteed.to.be.compatible.with.t
4e5e0 68 65 20 43 20 41 42 49 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 he.C.ABI:.......</p>.......<figu
4e600 72 65 3e 3c 66 69 67 63 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"><
4e620 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
4e640 3e 3c 2f 66 69 67 63 61 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
4e660 6c 61 73 73 3d 22 6c 69 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"
4e680 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d >const</span>.Foo.=.<span.class=
4e6a0 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 20 61 2c 20 62 2c 20 63 20 7d "tok-kw">enum</span>.{.a,.b,.c.}
4e6c0 3b 3c 2f 73 70 61 6e 3e 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
4e6e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c n.class="tok-kw">export</span>.<
4e700 73 70 61 6e 20 63 6c 61 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
4e720 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 6e 74 72 79 3c 2f 73 70 61 6e 3e 28 pan.class="tok-fn">entry</span>(
4e740 66 6f 6f 3a 20 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 foo:.Foo).<span.class="tok-type"
4e760 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 20 5f 20 3d 20 66 6f 6f 3b 20 7d 3c 2f 73 70 61 6e 3e >void</span>.{._.=.foo;.}</span>
4e780 3c 2f 63 6f 64 65 3e 3c 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
4e7a0 69 67 63 61 70 74 69 6f 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
4e7c0 6c 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
4e7e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a lass="line">$.<kbd>zig.build-obj
4e800 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
4e820 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 ss="line"><span.class="t0_1">./d
4e840 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 32 32 3a 20 3c 2f 73 70 61 6e 3e ocgen_tmp/test.zig:2:22:.</span>
4e860 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
4e880 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 70 61 72 61 6d 65 74 65 72 20 6f n><span.class="t0_1">parameter.o
4e8a0 66 20 74 79 70 65 20 27 46 6f 6f 27 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 69 6e 20 66 75 6e 63 f.type.'Foo'.not.allowed.in.func
4e8c0 74 69 6f 6e 20 77 69 74 68 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 27 43 27 tion.with.calling.convention.'C'
4e8e0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
4e900 22 3e 65 78 70 6f 72 74 20 66 6e 20 65 6e 74 72 79 28 66 6f 6f 3a 20 46 6f 6f 29 20 76 6f 69 64 ">export.fn.entry(foo:.Foo).void
4e920 20 7b 20 5f 20 3d 20 66 6f 6f 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .{._.=.foo;.}</span>.<span.class
4e940 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
4e960 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>
4e980 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
4e9a0 3e 0a 20 20 20 20 20 20 46 6f 72 20 61 20 43 2d 41 42 49 2d 63 6f 6d 70 61 74 69 62 6c 65 20 65 >.......For.a.C-ABI-compatible.e
4e9c0 6e 75 6d 2c 20 70 72 6f 76 69 64 65 20 61 6e 20 65 78 70 6c 69 63 69 74 20 74 61 67 20 74 79 70 num,.provide.an.explicit.tag.typ
4e9e0 65 20 74 6f 0a 20 20 20 20 20 20 74 68 65 20 65 6e 75 6d 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a e.to.......the.enum:.......</p>.
4ea00 20 20 20 20 20 20 3c 66 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=
4ea20 22 7a 69 67 2d 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
4ea40 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
4ea60 6f 64 65 3e 3c 73 70 61 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
4ea80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c ss="tok-kw">const</span>.Foo.=.<
4eaa0 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>(
4eac0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 <span.class="tok-type">c_int</sp
4eae0 61 6e 3e 29 20 7b 20 61 2c 20 62 2c 20 63 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an>).{.a,.b,.c.};</span>.<span.c
4eb00 6c 61 73 73 3d 22 6c 69 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"
4eb20 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >export</span>.<span.class="tok-
4eb40 6b 77 22 3e 66 6e 3c 2f 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
4eb60 6e 22 3e 65 6e 74 72 79 3c 2f 73 70 61 6e 3e 28 66 6f 6f 3a 20 46 6f 6f 29 20 3c 73 70 61 6e 20 n">entry</span>(foo:.Foo).<span.
4eb80 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 20 5f class="tok-type">void</span>.{._
4eba0 20 3d 20 66 6f 6f 3b 20 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 .=.foo;.}</span></code></pre></f
4ebc0 69 67 75 72 65 3e 3c 66 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=
4ebe0 22 73 68 65 6c 6c 2d 63 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
4ec00 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
4ec20 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c bd>zig.build-obj.test.zig</kbd><
4ec40 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>...
4ec60 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 6e 75 6d 2d 4c 69 74 65 72 61 6c ............<h3.id="Enum-Literal
4ec80 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e s"><a.href="#toc-Enum-Literals">
4eca0 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 Enum.Literals</a>.<a.class="hdr"
4ecc0 20 68 72 65 66 3d 22 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 .href="#Enum-Literals">..</a></h
4ece0 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 6e 75 6d 20 6c 69 74 65 72 61 6c 3>........<p>.......Enum.literal
4ed00 73 20 61 6c 6c 6f 77 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 s.allow.specifying.the.name.of.a
4ed20 6e 20 65 6e 75 6d 20 66 69 65 6c 64 20 77 69 74 68 6f 75 74 20 73 70 65 63 69 66 79 69 6e 67 20 n.enum.field.without.specifying.
4ed40 74 68 65 20 65 6e 75 6d 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 the.enum.type:.......</p>.......
4ed60 3c 66 69 67 75 72 65 3e 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
4ed80 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 6e 75 6d ap"><cite.class="file">test_enum
4eda0 5f 6c 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e _literals.zig</cite></figcaption
4edc0 3e 3c 70 72 65 3e 3c 63 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"><
4ede0 73 70 61 6e 20 63 6c 61 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>
4ee00 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"
4ee20 3e 40 69 6d 70 6f 72 74 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
4ee40 2d 73 74 72 22 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>);</
4ee60 73 70 61 6e 3e 0a 3c 73 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
4ee80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 lass="tok-kw">const</span>.expec
4eea0 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c t.=.std.testing.expect;</span>.<
4eec0 73 70 61 6e 20 63 6c 61 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.
4eee0 63 6c 61 73 73 3d 22 6c 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
4ef00 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ">const</span>.Color.=.<span.cla
4ef20 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>
4ef40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 75 74 6f 2c 3c 2f 73 .<span.class="line">....auto,</s
4ef60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 66 66 2c pan>.<span.class="line">....off,
4ef80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f </span>.<span.class="line">....o
4efa0 6e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c n,</span>.<span.class="line">};<
4efc0 2f 73 70 61 6e 3e 0a 3c 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
4efe0 3e 0a 3c 73 70 61 6e 20 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
4f000 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
4f020 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 26 s="tok-str">&quot;enum.literals&
4f040 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
4f060 73 3d 22 6c 69 6e 65 22 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
4f080 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 31 3a 20 43 6f 6c 6f 72 20 3d 20 2e ">const</span>.color1:.Color.=..
4f0a0 61 75 74 6f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e auto;</span>.<span.class="line">
4f0c0 20 20 20 20 3c 73 70 61 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</
4f0e0 73 70 61 6e 3e 20 63 6f 6c 6f 72 32 20 3d 20 43 6f 6c 6f 72 2e 61 75 74 6f 3b 3c 2f 73 70 61 6e span>.color2.=.Color.auto;</span
4f100 3e 0a 3c 73 70 61 6e 20 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
4f120 6c 61 73 73 3d 22 74 6f 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(
4f140 63 6f 6c 6f 72 31 20 3d 3d 20 63 6f 6c 6f 72 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 color1.==.color2);</span>.<span.
4f160 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
4f180 73 3d 22 6c 69 6e 65 22 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
4f1a0 6e 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
4f1c0 70 61 6e 3e 20 3c 73 70 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
4f1e0 3b 73 77 69 74 63 68 20 75 73 69 6e 67 20 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 26 71 75 6f 74 ;switch.using.enum.literals&quot
4f200 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
4f220 69 6e 65 22 3e 20 20 20 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
4f240 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 6f 6e 3b 3c 2f 73 70 nst</span>.color.=.Color.on;</sp
4f260 61 6e 3e 0a 3c 73 70 61 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
4f280 20 63 6c 61 73 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
4f2a0 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 ult.=.<span.class="tok-kw">switc
4f2c0 68 3c 2f 73 70 61 6e 3e 20 28 63 6f 6c 6f 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 h</span>.(color).{</span>.<span.
4f2e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 75 74 6f 20 3d 26 67 74 3b class="line">.........auto.=&gt;
4f300 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 .<span.class="tok-null">false</s
4f320 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">
4f340 20 20 20 20 20 20 20 20 2e 6f 6e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .........on.=&gt;.<span.class="t
4f360 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ok-null">true</span>,</span>.<sp
4f380 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 66 66 20 3d 26 67 an.class="line">.........off.=&g
4f3a0 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c t;.<span.class="tok-null">false<
4f3c0 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
4f3e0 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
4f400 65 22 3e 20 20 20 20 3c 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<
4f420 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 /span>.expect(result);</span>.<s
4f440 70 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>
4f460 3c 2f 70 72 65 3e 3c 2f 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
4f480 6f 6e 20 63 6c 61 73 73 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
4f4a0 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
4f4c0 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 6e 75 6d 5f 6c ine">$.<kbd>zig.test.test_enum_l
4f4e0 69 74 65 72 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 iterals.zig</kbd></span>.<span.c
4f500 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 65 6e 75 6d 20 lass="line">1/2.test.&quot;enum.
4f520 6c 69 74 65 72 61 6c 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 literals&quot;....OK</span>.<spa
4f540 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 73 77 n.class="line">2/2.test.&quot;sw
4f560 69 74 63 68 20 75 73 69 6e 67 20 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 26 71 75 6f 74 3b 2e 2e itch.using.enum.literals&quot;..
4f580 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
4f5a0 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 ll.2.tests.passed.</span>.</samp
4f5c0 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>...............<
4f5e0 68 33 20 69 64 3d 22 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 3e 3c 61 20 68 h3.id="Non-exhaustive-enum"><a.h
4f600 72 65 66 3d 22 23 74 6f 63 2d 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 3e 4e ref="#toc-Non-exhaustive-enum">N
4f620 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d on-exhaustive.enum</a>.<a.class=
4f640 22 68 64 72 22 20 68 72 65 66 3d 22 23 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d "hdr".href="#Non-exhaustive-enum
4f660 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 ">..</a></h3>........<p>.......A
4f680 20 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 20 63 61 6e 20 62 65 20 63 72 65 61 .Non-exhaustive.enum.can.be.crea
4f6a0 74 65 64 20 62 79 20 61 64 64 69 6e 67 20 61 20 74 72 61 69 6c 69 6e 67 20 27 5f 27 20 66 69 65 ted.by.adding.a.trailing.'_'.fie
4f6c0 6c 64 2e 0a 20 20 20 20 20 20 49 74 20 20 6d 75 73 74 20 73 70 65 63 69 66 79 20 61 20 74 61 67 ld........It..must.specify.a.tag
4f6e0 20 74 79 70 65 20 61 6e 64 20 63 61 6e 6e 6f 74 20 63 6f 6e 73 75 6d 65 20 65 76 65 72 79 20 65 .type.and.cannot.consume.every.e
4f700 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 numeration.value........</p>....
4f720 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 6e 75 6d ...<p>.......<a.href="#intToEnum
4f740 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 3e 20 6f 6e 20 61 20 6e 6f 6e 2d 65 78 68 61 75 73 ">@intToEnum</a>.on.a.non-exhaus
4f760 74 69 76 65 20 65 6e 75 6d 20 69 6e 76 6f 6c 76 65 73 20 74 68 65 20 73 61 66 65 74 79 20 73 65 tive.enum.involves.the.safety.se
4f780 6d 61 6e 74 69 63 73 0a 20 20 20 20 20 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 43 61 mantics.......of.<a.href="#intCa
4f7a0 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 20 74 6f 20 74 68 65 20 69 6e 74 65 67 65 72 20 st">@intCast</a>.to.the.integer.
4f7c0 74 61 67 20 74 79 70 65 2c 20 62 75 74 20 62 65 79 6f 6e 64 20 74 68 61 74 20 61 6c 77 61 79 73 tag.type,.but.beyond.that.always
4f7e0 20 72 65 73 75 6c 74 73 20 69 6e 0a 20 20 20 20 20 20 61 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 .results.in.......a.well-defined
4f800 20 65 6e 75 6d 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 .enum.value........</p>.......<p
4f820 3e 0a 20 20 20 20 20 20 41 20 73 77 69 74 63 68 20 6f 6e 20 61 20 6e 6f 6e 2d 65 78 68 61 75 73 >.......A.switch.on.a.non-exhaus
4f840 74 69 76 65 20 65 6e 75 6d 20 63 61 6e 20 69 6e 63 6c 75 64 65 20 61 20 27 5f 27 20 70 72 6f 6e tive.enum.can.include.a.'_'.pron
4f860 67 20 61 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 61 6e 20 3c 63 6f 64 65 3e g.as.an.alternative.to.an.<code>
4f880 3c 73 70 61 6e 20 63 6c 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="
4f8a0 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 tok-kw">else</span></span></code
4f8c0 3e 20 70 72 6f 6e 67 0a 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 64 69 66 66 65 72 65 6e 63 >.prong.......with.the.differenc
4f8e0 65 20 62 65 69 6e 67 20 74 68 61 74 20 69 74 20 6d 61 6b 65 73 20 69 74 20 61 20 63 6f 6d 70 69 e.being.that.it.makes.it.a.compi
4f900 6c 65 20 65 72 72 6f 72 20 69 66 20 61 6c 6c 20 74 68 65 20 6b 6e 6f 77 6e 20 74 61 67 20 6e 61 le.error.if.all.the.known.tag.na
4f920 6d 65 73 20 61 72 65 20 6e 6f 74 20 68 61 6e 64 6c 65 64 20 62 79 20 74 68 65 20 73 77 69 74 63 mes.are.not.handled.by.the.switc
4f940 68 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 h........</p>.......<figure><fig
4f960 63 61 70 74 69 6f 6e 20 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
4f980 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 77 69 74 63 68 5f 6e 6f 6e 2d 65 78 68 61 75 ass="file">test_switch_non-exhau
4f9a0 73 74 69 76 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 stive.zig</cite></figcaption><pr
4f9c0 65 3e 3c 63 6f 64 65 3e 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
4f9e0 20 63 6c 61 73 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
4fa00 20 3d 20 3c 73 70 61 6e 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
4fa20 70 6f 72 74 3c 2f 73 70 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
4fa40 22 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
4fa60 3e 0a 3c 73 70 61 6e 20 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
4fa80 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.=.
4faa0 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
4fac0 20 63 6c 61 73 73 3d 22 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
4fae0 73 3d 22 6c 69 6e 65 22 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
4fb00 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d nst</span>.Number.=.<span.class=
4fb20 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
4fb40 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a ="tok-type">u8</span>).{</span>.
4fb60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 65 2c 3c 2f 73 70 61 <span.class="line">....one,</spa
4fb80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 77 6f 2c 3c 2f n>.<span.class="line">....two,</
4fba0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 span>.<span.class="line">....thr
4fbc0 65 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ee,</span>.<span.class="line">..
4fbe0 20 20 5f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d .._,</span>.<span.class="line">}
4fc00 3b 3c 2f 73 70 61 6e 3e 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
4fc20 61 6e 3e 0a 3c 73 70 61 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
4fc40 73 73 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
4fc60 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 6e 6f ass="tok-str">&quot;switch.on.no
4fc80 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b n-exhaustive.enum&quot;</span>.{
4fca0 3c 2f 73 70 61 6e 3e 0a 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">....<
4fcc0 73 70 61 6e 20 63 6c 61 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>
4fce0 20 6e 75 6d 62 65 72 20 3d 20 4e 75 6d 62 65 72 2e 6f 6e 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .number.=.Number.one;</span>.<sp
4fd00 61 6e 20 63 6c 61 73 73 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=
4fd20 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c "tok-kw">const</span>.result.=.<
4fd40 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
4fd60 3e 20 28 6e 75 6d 62 65 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.(number).{</span>.<span.class=
4fd80 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 "line">.........one.=&gt;.<span.
4fda0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 class="tok-null">true</span>,</s
4fdc0 70 61 6e 3e 0a 3c 73 70 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">........
4fde0 2e 74 77 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .two,</span>.<span.class="line">
4fe00 20 20 20 20 20 20 20 20 2e 74 68 72 65 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 .........three.=&gt;.<span.class
4fe20 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e ="tok-null">false</span>,</span>
4fe40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 26 .<span.class="line">........_.=&
4fe60 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
4fe80 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
4fea0 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
4fec0 6e 65 22 3e 20 20 20 20 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
4fee0 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>.<
4ff00 73 70 61 6e 20 63 6c 61 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
4ff20 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 73 5f 6f 6e 65 20 3d s="tok-kw">const</span>.is_one.=
4ff40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 .<span.class="tok-kw">switch</sp
4ff60 61 6e 3e 20 28 6e 75 6d 62 65 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 an>.(number).{</span>.<span.clas
4ff80 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 s="line">.........one.=&gt;.<spa
4ffa0 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>,<
4ffc0 2f 73 70 61 6e 3e 0a 3c 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">......
4ffe0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 ..<span.class="tok-kw">else</spa
50000 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e n>.=&gt;.<span.class="tok-null">
50020 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 false</span>,</span>.<span.class
50040 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ="line">....};</span>.<span.clas
50060 73 3d 22 6c 69 6e 65 22 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
50080 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 73 5f 6f 6e 65 29 3b 3c 2f 73 70 ">try</span>.expect(is_one);</sp
500a0 61 6e 3e 0a 3c 73 70 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><
500c0 2f 63 6f 64 65 3e 3c 2f 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
500e0 67 63 61 70 74 69 6f 6e 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
50100 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
50120 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f ass="line">$.<kbd>zig.test.test_
50140 73 77 69 74 63 68 5f 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c switch_non-exhaustive.zig</kbd><
50160 2f 73 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
50180 73 74 20 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 st.&quot;switch.on.non-exhaustiv
501a0 65 20 65 6e 75 6d 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 e.enum&quot;....OK</span>.<span.
501c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e class="line">All.1.tests.passed.
501e0 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>..
50200 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 75 6e 69 6f ....................<h2.id="unio
50220 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 n"><a.href="#toc-union">union</a
50240 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e c2 >.<a.class="hdr".href="#union">.
50260 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 62 61 .</a></h2>........<p>.......A.ba
50280 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
502a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 n.class="tok-kw">union</span></s
502c0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 61 20 73 65 74 20 6f 66 20 70 6f 73 pan></code>.defines.a.set.of.pos
502e0 73 69 62 6c 65 20 74 79 70 65 73 20 74 68 61 74 20 61 20 76 61 6c 75 65 0a 20 20 20 20 20 20 63 sible.types.that.a.value.......c
50300 61 6e 20 62 65 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 66 69 65 6c 64 73 2e 20 4f 6e 6c 79 20 an.be.as.a.list.of.fields..Only.
50320 6f 6e 65 20 66 69 65 6c 64 20 63 61 6e 20 62 65 20 61 63 74 69 76 65 20 61 74 20 61 20 74 69 6d one.field.can.be.active.at.a.tim
50340 65 2e 0a 20 20 20 20 20 20 54 68 65 20 69 6e 2d 6d 65 6d 6f 72 79 20 72 65 70 72 65 73 65 6e 74 e........The.in-memory.represent
50360 61 74 69 6f 6e 20 6f 66 20 62 61 72 65 20 75 6e 69 6f 6e 73 20 69 73 20 6e 6f 74 20 67 75 61 72 ation.of.bare.unions.is.not.guar
50380 61 6e 74 65 65 64 2e 0a 20 20 20 20 20 20 42 61 72 65 20 75 6e 69 6f 6e 73 20 63 61 6e 6e 6f 74 anteed........Bare.unions.cannot
503a0 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 69 6e 74 65 72 70 72 65 74 20 6d 65 6d 6f 72 79 2e 20 .be.used.to.reinterpret.memory..
503c0 46 6f 72 20 74 68 61 74 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 For.that,.use.<a.href="#ptrCast"
503e0 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 6f 72 20 75 73 65 20 61 6e 20 3c >@ptrCast</a>,.......or.use.an.<
50400 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e a.href="#extern-union">extern.un
50420 69 6f 6e 3c 2f 61 3e 20 6f 72 20 61 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 75 6e ion</a>.or.a.<a.href="#packed-un
50440 69 6f 6e 22 3e 70 61 63 6b 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 20 77 68 69 63 68 20 68 61 76 65 ion">packed.union</a>.which.have
50460 0a 20 20 20 20 20 20 67 75 61 72 61 6e 74 65 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f .......guaranteed.in-memory.layo
50480 75 74 2e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d ut........<a.href="#Wrong-Union-
504a0 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e 41 63 63 65 73 73 69 6e 67 20 74 68 65 20 6e 6f 6e 2d Field-Access">Accessing.the.non-
504c0 61 63 74 69 76 65 20 66 69 65 6c 64 3c 2f 61 3e 20 69 73 0a 20 20 20 20 20 20 73 61 66 65 74 79 active.field</a>.is.......safety
504e0 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 -checked.<a.href="#Undefined-Beh
50500 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 3a 0a 20 avior">Undefined.Behavior</a>:..
50520 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
50540 69 6f 6e 20 63 6c 61 73 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=
50560 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
50580 6f 6e 3e 3c 70 72 65 3e 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"
505a0 3e 3c 73 70 61 6e 20 63 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
505c0 6e 3e 20 50 61 79 6c 6f 61 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 n>.Payload.=.<span.class="tok-kw
505e0 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
50600 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ass="line">....int:.<span.class=
50620 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 "tok-type">i64</span>,</span>.<s
50640 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 pan.class="line">....float:.<spa
50660 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f n.class="tok-type">f64</span>,</
50680 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 6f 6f span>.<span.class="line">....boo
506a0 6c 65 61 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f lean:.<span.class="tok-type">boo
506c0 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 l</span>,</span>.<span.class="li
506e0 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"
50700 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
50720 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 69 >.<span.class="tok-str">&quot;si
50740 6d 70 6c 65 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e mple.union&quot;</span>.{</span>
50760 0a 3c 73 70 61 6e 20 63 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
50780 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 61 79 6c 6f 61 64 20 ass="tok-kw">var</span>.payload.
507a0 3d 20 50 61 79 6c 6f 61 64 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 =.Payload{..int.=.<span.class="t
507c0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e ok-number">1234</span>.};</span>
507e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 61 79 6c 6f 61 64 2e .<span.class="line">....payload.
50800 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"
50820 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
50840 73 3d 22 6c 69 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></
50860 66 69 67 75 72 65 3e 3c 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
50880 3d 22 73 68 65 6c 6c 2d 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><
508a0 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">$.<
508c0 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
508e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 n>.<span.class="line">1/1.test.&
50900 71 75 6f 74 3b 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 quot;simple.union&quot;....threa
50920 64 20 31 34 32 37 34 39 37 20 70 61 6e 69 63 3a 20 61 63 63 65 73 73 20 6f 66 20 69 6e 61 63 74 d.1427497.panic:.access.of.inact
50940 69 76 65 20 75 6e 69 6f 6e 20 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ive.union.field</span>.<span.cla
50960 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
50980 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e me/andy/tmp/zig/docgen_tmp/test.
509a0 7a 69 67 3a 38 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 zig:8:12</span>:.<span.class="t2
509c0 5f 30 22 3e 30 78 32 30 37 38 64 62 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 73 69 6d 70 6c _0">0x2078db.in.test.&quot;simpl
509e0 65 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 e.union&quot;.(test)</span></spa
50a00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 61 79 6c 6f 61 n>.<span.class="line">....payloa
50a20 64 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c d.float.=.12.34;</span>.<span.cl
50a40 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ass="line">...........<span.clas
50a60 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.
50a80 63 6c 61 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">
50aa0 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 /home/andy/tmp/zig/lib/std/speci
50ac0 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 38 30 3a 32 38 3c 2f 73 70 61 6e 3e 3a al/test_runner.zig:80:28</span>:
50ae0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 66 31 34 33 20 69 6e 20 .<span.class="t2_0">0x22f143.in.
50b00 73 74 64 2e 73 70 65 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f std.special.main.(test)</span></
50b20 73 70 61 6e 3e 0a 3c 73 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">.......
50b40 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c .}.else.test_fn.func();</span>.<
50b60 73 70 61 6e 20 63 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">..............
50b80 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"
50ba0 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
50bc0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 ne"><span.class="t1_0">/home/and
50be0 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a y/tmp/zig/lib/std/start.zig:551:
50c00 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 22</span>:.<span.class="t2_0">0x
50c20 32 32 38 34 62 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 2284bc.in.std.start.callMain.(te
50c40 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
50c60 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
50c80 70 61 6e 3e 0a 3c 73 70 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">........
50ca0 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"
50cc0 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
50ce0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 ne"><span.class="t1_0">/home/and
50d00 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a y/tmp/zig/lib/std/start.zig:495:
50d20 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 12</span>:.<span.class="t2_0">0x
50d40 32 30 39 30 66 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 2090fe.in.std.start.callMainWith
50d60 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 Args.(test)</span></span>.<span.
50d80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b class="line">....return.@call(.{
50da0 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 ..modifier.=..always_inline.},.c
50dc0 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 allMain,..{});</span>.<span.clas
50de0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d s="line">...........<span.class=
50e00 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
50e20 61 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
50e40 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a ome/andy/tmp/zig/lib/std/start.z
50e60 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ig:409:17</span>:.<span.class="t
50e80 32 5f 30 22 3e 30 78 32 30 38 31 39 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 2_0">0x208196.in.std.start.posix
50ea0 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
50ec0 70 61 6e 3e 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.
50ee0 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c os.exit(@call(.{..modifier.=..al
50f00 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c ways_inline.},.callMainWithArgs,
50f20 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e ..{.argc,.argv,.envp.}));</span>
50f40 0a 3c 73 70 61 6e 20 63 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">............
50f60 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>
50f80 3c 2f 73 70 61 6e 3e 0a 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
50fa0 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 .class="t1_0">/home/andy/tmp/zig
50fc0 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a /lib/std/start.zig:322:5</span>:
50fe0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 66 61 32 20 69 6e 20 .<span.class="t2_0">0x207fa2.in.
51000 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f std.start._start.(test)</span></
51020 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 span>.<span.class="line">....@ca
51040 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 ll(.{..modifier.=..never_inline.
51060 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f },.posixCallMainAndExit,..{});</
51080 73 70 61 6e 3e 0a 3c 73 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
510a0 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>
510c0 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
510e0 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f ollowing.test.command.crashed:</
51100 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 67 65 6e 5f span>.<span.class="line">docgen_
51120 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 36 34 33 64 30 38 66 31 61 63 tmp/zig-cache/o/e62d5b643d08f1ac
51140 62 62 31 33 38 36 64 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 bb1386db92eb0f23/test./home/andy
51160 2f 74 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 3c 2f 73 70 61 6e /tmp/zig/build-release/zig</span
51180 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>.......<
511a0 70 3e 59 6f 75 20 63 61 6e 20 61 63 74 69 76 61 74 65 20 61 6e 6f 74 68 65 72 20 66 69 65 6c 64 p>You.can.activate.another.field
511c0 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 68 65 20 65 6e 74 69 72 65 20 75 6e 69 6f 6e 3a 3c .by.assigning.the.entire.union:<
511e0 2f 70 3e 0a 20 20 20 20 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
51200 61 73 73 3d 22 7a 69 67 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"
51220 3e 74 65 73 74 5f 73 69 6d 70 6c 65 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 >test_simple_union.zig</cite></f
51240 69 67 63 61 70 74 69 6f 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
51260 3d 22 6c 69 6e 65 22 3e 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
51280 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
512a0 2d 62 75 69 6c 74 69 6e 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
512c0 6c 61 73 73 3d 22 74 6f 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;</
512e0 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
51300 22 3e 3c 73 70 61 6e 20 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
51320 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;
51340 3c 2f 73 70 61 6e 3e 0a 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
51360 6e 3e 0a 3c 73 70 61 6e 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
51380 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 61 79 6c 6f 61 64 20 s="tok-kw">const</span>.Payload.
513a0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 =.<span.class="tok-kw">union</sp
513c0 61 6e 3e 20 7b 3c 2f 73 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">
513e0 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e ....int:.<span.class="tok-type">
51400 69 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 i64</span>,</span>.<span.class="
51420 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f line">....float:.<span.class="to
51440 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-type">f64</span>,</span>.<span
51460 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 6f 6f 6c 65 61 6e 3a 20 3c 73 70 61 6e .class="line">....boolean:.<span
51480 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f .class="tok-type">bool</span>,</
514a0 73 70 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
514c0 6e 3e 0a 3c 73 70 61 6e 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
514e0 73 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
51500 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 26 ss="tok-str">&quot;simple.union&
51520 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
51540 73 3d 22 6c 69 6e 65 22 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
51560 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 61 79 6c 6f 61 64 20 3d 20 50 61 79 6c 6f 61 64 7b 20 ">var</span>.payload.=.Payload{.
51580 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e .int.=.<span.class="tok-number">
515a0 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 1234</span>.};</span>.<span.clas
515c0 73 3d 22 6c 69 6e 65 22 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
515e0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 61 79 6c 6f 61 64 2e 69 6e 74 20 ">try</span>.expect(payload.int.
51600 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
51620 3c 2f 73 70 61 6e 3e 29 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
51640 6e 65 22 3e 20 20 20 20 70 61 79 6c 6f 61 64 20 3d 20 50 61 79 6c 6f 61 64 7b 20 2e 66 6c 6f 61 ne">....payload.=.Payload{..floa
51660 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e t.=.<span.class="tok-number">12.
51680 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 34</span>.};</span>.<span.class=
516a0 22 6c 69 6e 65 22 3e 20 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">
516c0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 61 79 6c 6f 61 64 2e 66 6c 6f 61 74 20 try</span>.expect(payload.float.
516e0 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
51700 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
51720 69 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
51740 72 65 3e 3c 66 69 67 75 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
51760 65 6c 6c 2d 63 61 70 22 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>
51780 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>
517a0 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 69 6d 70 6c 65 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f zig.test.test_simple_union.zig</
517c0 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
517e0 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 26 71 75 6f 74 3b /1.test.&quot;simple.union&quot;
51800 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"
51820 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
51840 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>....
51860 20 20 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 ...In.order.to.use.<a.href="#swi
51880 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 77 69 74 68 20 61 20 75 6e 69 6f 6e 2c 20 69 74 tch">switch</a>.with.a.union,.it
518a0 20 6d 75 73 74 20 62 65 20 61 20 3c 61 20 68 72 65 66 3d 22 23 54 61 67 67 65 64 2d 75 6e 69 6f .must.be.a.<a.href="#Tagged-unio
518c0 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a n">Tagged.union</a>........</p>.
518e0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 20 ......<p>.......To.initialize.a.
51900 75 6e 69 6f 6e 20 77 68 65 6e 20 74 68 65 20 74 61 67 20 69 73 20 61 20 3c 61 20 68 72 65 66 3d union.when.the.tag.is.a.<a.href=
51920 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 6e "#comptime">comptime</a>-known.n
51940 61 6d 65 2c 20 73 65 65 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 49 6e 69 74 22 3e 40 75 ame,.see.<a.href="#unionInit">@u
51960 6e 69 6f 6e 49 6e 69 74 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 nionInit</a>........</p>........
51980 3c 68 33 20 69 64 3d 22 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 <h3.id="Tagged-union"><a.href="#
519a0 74 6f 63 2d 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f toc-Tagged-union">Tagged.union</
519c0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 61 67 67 65 64 2d a>.<a.class="hdr".href="#Tagged-
519e0 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 55 6e 69 union">..</a></h3>........<p>Uni
51a00 6f 6e 73 20 63 61 6e 20 62 65 20 64 65 63 6c 61 72 65 64 20 77 69 74 68 20 61 6e 20 65 6e 75 6d ons.can.be.declared.with.an.enum
51a20 20 74 61 67 20 74 79 70 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 74 75 72 6e 73 20 74 68 65 20 .tag.type........This.turns.the.
51a40 75 6e 69 6f 6e 20 69 6e 74 6f 20 61 20 3c 65 6d 3e 74 61 67 67 65 64 3c 2f 65 6d 3e 20 75 6e 69 union.into.a.<em>tagged</em>.uni
51a60 6f 6e 2c 20 77 68 69 63 68 20 6d 61 6b 65 73 20 69 74 20 65 6c 69 67 69 62 6c 65 0a 20 20 20 20 on,.which.makes.it.eligible.....
51a80 20 20 74 6f 20 75 73 65 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e ..to.use.with.<a.href="#switch">
51aa0 73 77 69 74 63 68 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 54 61 switch</a>.expressions........Ta
51ac0 67 67 65 64 20 75 6e 69 6f 6e 73 20 63 6f 65 72 63 65 20 74 6f 20 74 68 65 69 72 20 74 61 67 20 gged.unions.coerce.to.their.tag.
51ae0 74 79 70 65 3a 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e type:.<a.href="#Type-Coercion-un
51b00 69 6f 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 75 ions-and-enums">Type.Coercion:.u
51b20 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a nions.and.enums</a>........</p>.
51b40 20 20 20 20 20 20 3c 66 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=
51b60 22 7a 69 67 2d 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
51b80 74 5f 73 77 69 74 63 68 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e t_switch_tagged_union.zig</cite>
51ba0 3c 2f 66 69 67 63 61 70 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
51bc0 61 73 73 3d 22 6c 69 6e 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">
51be0 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="
51c00 74 6f 6b 2d 62 75 69 6c 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
51c20 6e 20 63 6c 61 73 73 3d 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
51c40 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
51c60 69 6e 65 22 3e 3c 73 70 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<
51c80 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
51ca0 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"></
51cc0 73 70 61 6e 3e 0a 3c 73 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
51ce0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6d 70 6c lass="tok-kw">const</span>.Compl
51d00 65 78 54 79 70 65 54 61 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 exTypeTag.=.<span.class="tok-kw"
51d20 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >enum</span>.{</span>.<span.clas
51d40 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c s="line">....ok,</span>.<span.cl
51d60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 74 5f 6f 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ass="line">....not_ok,</span>.<s
51d80 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
51da0 20 63 6c 61 73 73 3d 22 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
51dc0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6d 70 6c 65 78 54 79 70 65 20 3d 20 3c 73 w">const</span>.ComplexType.=.<s
51de0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 pan.class="tok-kw">union</span>(
51e00 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ComplexTypeTag).{</span>.<span.c
51e20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d lass="line">....ok:.<span.class=
51e40 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
51e60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 74 5f 6f 6b 3a 20 3c 73 70 61 an.class="line">....not_ok:.<spa
51e80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 2c 3c n.class="tok-type">void</span>,<
51ea0 2f 73 70 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
51ec0 61 6e 3e 0a 3c 73 70 61 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>.<
51ee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
51f00 6f 6b 2d 6b 77 22 3e 74 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="
51f20 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 64 20 tok-str">&quot;switch.on.tagged.
51f40 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 union&quot;</span>.{</span>.<spa
51f60 6e 20 63 6c 61 73 73 3d 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="
51f80 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 43 6f 6d 70 6c 65 78 tok-kw">const</span>.c.=.Complex
51fa0 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
51fc0 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
51fe0 6c 61 73 73 3d 22 6c 69 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
52000 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
52020 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 43 6f 6d 70 ss="tok-builtin">@as</span>(Comp
52040 6c 65 78 54 79 70 65 54 61 67 2c 20 63 29 20 3d 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 lexTypeTag,.c).==.ComplexTypeTag
52060 2e 6f 6b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .ok);</span>.<span.class="line">
52080 3c 2f 73 70 61 6e 3e 0a 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">....<
520a0 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
520c0 3e 20 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 >.(c).{</span>.<span.class="line
520e0 22 3e 20 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6f 6b 20 3d 26 67 74 ">........ComplexTypeTag.ok.=&gt
52100 3b 20 7c 76 61 6c 75 65 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ;.|value|.<span.class="tok-kw">t
52120 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 ry</span>.expect(value.==.<span.
52140 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 29 2c 3c 2f class="tok-number">42</span>),</
52160 73 70 61 6e 3e 0a 3c 73 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">.......
52180 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6e 6f 74 5f 6f 6b 20 3d 26 67 74 3b 20 3c 73 70 .ComplexTypeTag.not_ok.=&gt;.<sp
521a0 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
521c0 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">
521e0 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">
52200 7d 3c 2f 73 70 61 6e 3e 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
52220 61 6e 3e 0a 3c 73 70 61 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
52240 73 73 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
52260 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 65 74 20 74 61 67 20 74 79 70 65 ass="tok-str">&quot;get.tag.type
52280 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
522a0 73 73 3d 22 6c 69 6e 65 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
522c0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 74 61 2e 54 61 w">try</span>.expect(std.meta.Ta
522e0 67 28 43 6f 6d 70 6c 65 78 54 79 70 65 29 20 3d 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 g(ComplexType).==.ComplexTypeTag
52300 29 3b 3c 2f 73 70 61 6e 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">}</
52320 73 70 61 6e 3e 0a 3c 73 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>
52340 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
52360 22 74 6f 6b 2d 6b 77 22 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
52380 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 65 6e 75 6d 26 ="tok-str">&quot;coerce.to.enum&
523a0 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
523c0 73 3d 22 6c 69 6e 65 22 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
523e0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 31 20 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 7b ">const</span>.c1.=.ComplexType{
52400 20 2e 6f 6b 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ..ok.=.<span.class="tok-number">
52420 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=
52440 22 6c 69 6e 65 22 3e 20 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">
52460 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 32 20 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 2e 6e 6f const</span>.c2.=.ComplexType.no
52480 74 5f 6f 6b 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e t_ok;</span>.<span.class="line">
524a0 3c 2f 73 70 61 6e 3e 0a 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">....<
524c0 73 70 61 6e 20 63 6c 61 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
524e0 78 70 65 63 74 28 63 31 20 3d 3d 20 2e 6f 6b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 xpect(c1.==..ok);</span>.<span.c
52500 6c 61 73 73 3d 22 6c 69 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
52520 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 32 20 3d 3d 20 2e 6e 6f -kw">try</span>.expect(c2.==..no
52540 74 5f 6f 6b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 t_ok);</span>.<span.class="line"
52560 3e 7d 3c 2f 73 70 61 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><
52580 66 69 67 75 72 65 3e 3c 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-
525a0 63 61 70 22 3e 53 68 65 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
525c0 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.
525e0 74 65 73 74 20 74 65 73 74 5f 73 77 69 74 63 68 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e 7a 69 test.test_switch_tagged_union.zi
52600 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
52620 22 3e 31 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 65 ">1/3.test.&quot;switch.on.tagge
52640 64 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e d.union&quot;....OK</span>.<span
52660 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 67 65 74 .class="line">2/3.test.&quot;get
52680 20 74 61 67 20 74 79 70 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .tag.type&quot;....OK</span>.<sp
526a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 63 an.class="line">3/3.test.&quot;c
526c0 6f 65 72 63 65 20 74 6f 20 65 6e 75 6d 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e oerce.to.enum&quot;....OK</span>
526e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 33 20 74 65 73 74 73 20 .<span.class="line">All.3.tests.
52700 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
52720 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 6e 20 6f 72 64 65 72 20 74 6f 20 6d 6f 64 69 66 gure>.......<p>In.order.to.modif
52740 79 20 74 68 65 20 70 61 79 6c 6f 61 64 20 6f 66 20 61 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 20 y.the.payload.of.a.tagged.union.
52760 69 6e 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 70 6c in.a.switch.expression,.......pl
52780 61 63 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a ace.a.<code><span.class="line">*
527a0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 66 6f 72 65 20 74 68 65 20 76 61 72 69 61 62 </span></code>.before.the.variab
527c0 6c 65 20 6e 61 6d 65 20 74 6f 20 6d 61 6b 65 20 69 74 20 61 20 70 6f 69 6e 74 65 72 3a 0a 20 20 le.name.to.make.it.a.pointer:...
527e0 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
52800 6f 6e 20 63 6c 61 73 73 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="
52820 66 69 6c 65 22 3e 74 65 73 74 5f 73 77 69 74 63 68 5f 6d 6f 64 69 66 79 5f 74 61 67 67 65 64 5f file">test_switch_modify_tagged_
52840 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 union.zig</cite></figcaption><pr
52860 65 3e 3c 63 6f 64 65 3e 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
52880 20 63 6c 61 73 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
528a0 20 3d 20 3c 73 70 61 6e 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
528c0 70 6f 72 74 3c 2f 73 70 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
528e0 22 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
52900 3e 0a 3c 73 70 61 6e 20 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
52920 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.=.
52940 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
52960 20 63 6c 61 73 73 3d 22 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
52980 73 3d 22 6c 69 6e 65 22 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
529a0 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 20 3d 20 3c 73 70 61 nst</span>.ComplexTypeTag.=.<spa
529c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f n.class="tok-kw">enum</span>.{</
529e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6b 2c span>.<span.class="line">....ok,
52a00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e </span>.<span.class="line">....n
52a20 6f 74 5f 6f 6b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ot_ok,</span>.<span.class="line"
52a40 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
52a60 70 61 6e 20 63 6c 61 73 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>.
52a80 43 6f 6d 70 6c 65 78 54 79 70 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ComplexType.=.<span.class="tok-k
52aa0 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 29 20 w">union</span>(ComplexTypeTag).
52ac0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
52ae0 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 ok:.<span.class="tok-type">u8</s
52b00 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">
52b20 20 20 20 20 6e 6f 74 5f 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ....not_ok:.<span.class="tok-typ
52b40 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e">void</span>,</span>.<span.cla
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 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
52ba0 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
52bc0 6e 3e 20 3c 73 70 61 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
52be0 6f 64 69 66 79 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 20 69 6e 20 73 77 69 74 63 68 26 71 75 6f odify.tagged.union.in.switch&quo
52c00 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="
52c20 6c 69 6e 65 22 3e 20 20 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
52c40 61 72 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 7b 20 2e 6f 6b 20 3d ar</span>.c.=.ComplexType{..ok.=
52c60 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 .<span.class="tok-number">42</sp
52c80 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 an>.};</span>.<span.class="line"
52ca0 3e 20 20 20 20 3c 73 70 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
52cc0 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
52ce0 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2c ltin">@as</span>(ComplexTypeTag,
52d00 20 63 29 20 3d 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6f 6b 29 3b 3c 2f 73 70 61 6e .c).==.ComplexTypeTag.ok);</span
52d20 3e 0a 3c 73 70 61 6e 20 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
52d40 61 6e 20 63 6c 61 73 73 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=
52d60 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 70 "tok-kw">switch</span>.(c).{</sp
52d80 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 43 an>.<span.class="line">........C
52da0 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6f 6b 20 3d 26 67 74 3b 20 7c 2a 76 61 6c 75 65 7c 20 omplexTypeTag.ok.=&gt;.|*value|.
52dc0 76 61 6c 75 65 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 value.*.+=.<span.class="tok-numb
52de0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 er">1</span>,</span>.<span.class
52e00 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 6e ="line">........ComplexTypeTag.n
52e20 6f 74 5f 6f 6b 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ot_ok.=&gt;.<span.class="tok-kw"
52e40 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >unreachable</span>,</span>.<spa
52e60 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
52e80 6e 20 63 6c 61 73 73 3d 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
52ea0 73 73 3d 22 6c 69 6e 65 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
52ec0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 2e 6f 6b 20 3d 3d 20 3c 73 70 w">try</span>.expect(c.ok.==.<sp
52ee0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 33 3c 2f 73 70 61 6e 3e 29 an.class="tok-number">43</span>)
52f00 3b 3c 2f 73 70 61 6e 3e 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
52f20 70 61 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
52f40 65 3e 3c 66 69 67 63 61 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">
52f60 53 68 65 6c 6c 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
52f80 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.
52fa0 74 65 73 74 5f 73 77 69 74 63 68 5f 6d 6f 64 69 66 79 5f 74 61 67 67 65 64 5f 75 6e 69 6f 6e 2e test_switch_modify_tagged_union.
52fc0 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
52fe0 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6d 6f 64 69 66 79 20 74 61 67 67 65 64 ne">1/1.test.&quot;modify.tagged
53000 20 75 6e 69 6f 6e 20 69 6e 20 73 77 69 74 63 68 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 .union.in.switch&quot;....OK</sp
53020 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
53040 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><
53060 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 6e 69 6f 6e 73 20 /figure>.......<p>.......Unions.
53080 63 61 6e 20 62 65 20 6d 61 64 65 20 74 6f 20 69 6e 66 65 72 20 74 68 65 20 65 6e 75 6d 20 74 61 can.be.made.to.infer.the.enum.ta
530a0 67 20 74 79 70 65 2e 0a 20 20 20 20 20 20 46 75 72 74 68 65 72 2c 20 75 6e 69 6f 6e 73 20 63 61 g.type........Further,.unions.ca
530c0 6e 20 68 61 76 65 20 6d 65 74 68 6f 64 73 20 6a 75 73 74 20 6c 69 6b 65 20 73 74 72 75 63 74 73 n.have.methods.just.like.structs
530e0 20 61 6e 64 20 65 6e 75 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 .and.enums........</p>.......<fi
53100 67 75 72 65 3e 3c 66 69 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"
53120 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e 69 6f 6e 5f 6d ><cite.class="file">test_union_m
53140 65 74 68 6f 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 ethod.zig</cite></figcaption><pr
53160 65 3e 3c 63 6f 64 65 3e 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
53180 20 63 6c 61 73 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
531a0 20 3d 20 3c 73 70 61 6e 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
531c0 70 6f 72 74 3c 2f 73 70 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
531e0 22 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
53200 3e 0a 3c 73 70 61 6e 20 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
53220 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.=.
53240 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
53260 20 63 6c 61 73 73 3d 22 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
53280 73 3d 22 6c 69 6e 65 22 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
532a0 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 61 72 69 61 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 nst</span>.Variant.=.<span.class
532c0 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ="tok-kw">union</span>(<span.cla
532e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e ss="tok-kw">enum</span>).{</span
53300 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 >.<span.class="line">....int:.<s
53320 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c pan.class="tok-type">i32</span>,
53340 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 </span>.<span.class="line">....b
53360 6f 6f 6c 65 61 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 oolean:.<span.class="tok-type">b
53380 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="
533a0 6c 69 6e 65 22 3e 3c 2f 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"
533c0 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">/
533e0 2f 20 76 6f 69 64 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 77 68 65 6e 20 69 6e 66 65 72 /.void.can.be.omitted.when.infer
53400 72 69 6e 67 20 65 6e 75 6d 20 74 61 67 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ring.enum.tag.type.</span></span
53420 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 6e 65 2c 3c 2f >.<span.class="line">....none,</
53440 73 70 61 6e 3e 0a 3c 73 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>
53460 0a 3c 73 70 61 6e 20 63 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
53480 61 73 73 3d 22 74 6f 6b 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
534a0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 72 75 74 68 79 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 ss="tok-fn">truthy</span>(self:.
534c0 56 61 72 69 61 6e 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e Variant).<span.class="tok-type">
534e0 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 bool</span>.{</span>.<span.class
53500 3d 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
53520 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="
53540 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 73 65 6c 66 29 20 7b 3c 2f tok-kw">switch</span>.(self).{</
53560 73 70 61 6e 3e 0a 3c 73 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">.......
53580 20 20 20 20 20 56 61 72 69 61 6e 74 2e 69 6e 74 20 3d 26 67 74 3b 20 7c 78 5f 69 6e 74 7c 20 78 .....Variant.int.=&gt;.|x_int|.x
535a0 5f 69 6e 74 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 _int.!=.<span.class="tok-number"
535c0 3e 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >0</span>,</span>.<span.class="l
535e0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 56 61 72 69 61 6e 74 2e 62 6f 6f 6c 65 61 6e ine">............Variant.boolean
53600 20 3d 26 67 74 3b 20 7c 78 5f 62 6f 6f 6c 7c 20 78 5f 62 6f 6f 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c .=&gt;.|x_bool|.x_bool,</span>.<
53620 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 56 61 span.class="line">............Va
53640 72 69 61 6e 74 2e 6e 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f riant.none.=&gt;.<span.class="to
53660 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-null">false</span>,</span>.<sp
53680 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e an.class="line">........};</span
536a0 3e 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
536c0 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>.<
536e0 73 70 61 6e 20 63 6c 61 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.
53700 63 6c 61 73 73 3d 22 6c 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
53720 22 3e 74 65 73 74 3c 2f 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
53740 74 72 22 3e 26 71 75 6f 74 3b 75 6e 69 6f 6e 20 6d 65 74 68 6f 64 26 71 75 6f 74 3b 3c 2f 73 70 tr">&quot;union.method&quot;</sp
53760 61 6e 3e 20 7b 3c 2f 73 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">
53780 20 20 20 20 3c 73 70 61 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
537a0 61 6e 3e 20 76 31 20 3d 20 56 61 72 69 61 6e 74 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 an>.v1.=.Variant{..int.=.<span.c
537c0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 lass="tok-number">1</span>.};</s
537e0 70 61 6e 3e 0a 3c 73 70 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
53800 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 32 20 3d n.class="tok-kw">var</span>.v2.=
53820 20 56 61 72 69 61 6e 74 7b 20 2e 62 6f 6f 6c 65 61 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 .Variant{..boolean.=.<span.class
53840 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 ="tok-null">false</span>.};</spa
53860 6e 3e 0a 3c 73 70 61 6e 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
53880 70 61 6e 20 63 6c 61 73 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
538a0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 31 2e 74 ="tok-kw">try</span>.expect(v1.t
538c0 72 75 74 68 79 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ruthy());</span>.<span.class="li
538e0 6e 65 22 3e 20 20 20 20 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
53900 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 76 32 2e 74 72 75 74 68 79 28 29 29 3b 3c 2f 73 </span>.expect(!v2.truthy());</s
53920 70 61 6e 3e 0a 3c 73 70 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>
53940 3c 2f 63 6f 64 65 3e 3c 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
53960 69 67 63 61 70 74 69 6f 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
53980 6c 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
539a0 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
539c0 5f 75 6e 69 6f 6e 5f 6d 65 74 68 6f 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c _union_method.zig</kbd></span>.<
539e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 span.class="line">1/1.test.&quot
53a00 3b 75 6e 69 6f 6e 20 6d 65 74 68 6f 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e ;union.method&quot;....OK</span>
53a20 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.
53a40 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
53a60 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 gure>.......<p>.......<a.href="#
53a80 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 3e 20 63 61 6e 20 62 65 20 75 73 65 tagName">@tagName</a>.can.be.use
53aa0 64 20 74 6f 20 72 65 74 75 72 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 d.to.return.a.<a.href="#comptime
53ac0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ">comptime</a>.......<code><span
53ae0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .class="line">[:<span.class="tok
53b00 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -number">0</span>]<span.class="t
53b20 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=
53b40 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
53b60 65 3e 20 76 61 6c 75 65 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 66 69 65 6c 64 20 e>.value.representing.the.field.
53b80 6e 61 6d 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c name:.......</p>.......<figure><
53ba0 66 69 67 63 61 70 74 69 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
53bc0 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 74 61 67 4e 61 6d 65 2e 7a 69 67 3c 2f .class="file">test_tagName.zig</
53be0 63 69 74 65 3e 3c 2f 66 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
53c00 61 6e 20 63 6c 61 73 73 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
53c20 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
53c40 61 73 73 3d 22 74 6f 6b 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>
53c60 28 3c 73 70 61 6e 20 63 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
53c80 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
53ca0 73 73 3d 22 6c 69 6e 65 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
53cc0 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
53ce0 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
53d00 65 22 3e 3c 2f 73 70 61 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
53d20 70 61 6e 20 63 6c 61 73 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>.
53d40 53 6d 61 6c 6c 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e Small2.=.<span.class="tok-kw">un
53d60 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ion</span>(<span.class="tok-kw">
53d80 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 enum</span>).{</span>.<span.clas
53da0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b s="line">....a:.<span.class="tok
53dc0 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -type">i32</span>,</span>.<span.
53de0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d class="line">....b:.<span.class=
53e00 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c "tok-type">bool</span>,</span>.<
53e20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 span.class="line">....c:.<span.c
53e40 6c 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
53e60 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>.<
53e80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
53ea0 6f 6b 2d 6b 77 22 3e 74 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="
53ec0 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 74 61 67 4e 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 tok-str">&quot;@tagName&quot;</s
53ee0 70 61 6e 3e 20 7b 3c 2f 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"
53f00 3e 20 20 20 20 3c 73 70 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
53f20 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
53f40 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ass="tok-type">u8</span>,.<span.
53f60 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 class="tok-builtin">@tagName</sp
53f80 61 6e 3e 28 53 6d 61 6c 6c 32 2e 61 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>(Small2.a),.<span.class="tok-
53fa0 73 74 72 22 3e 26 71 75 6f 74 3b 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 str">&quot;a&quot;</span>));</sp
53fc0 61 6e 3e 0a 3c 73 70 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><
53fe0 2f 63 6f 64 65 3e 3c 2f 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
54000 67 63 61 70 74 69 6f 6e 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
54020 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
54040 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f ass="line">$.<kbd>zig.test.test_
54060 74 61 67 4e 61 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 tagName.zig</kbd></span>.<span.c
54080 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 74 61 67 4e lass="line">1/1.test.&quot;@tagN
540a0 61 6d 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ame&quot;....OK</span>.<span.cla
540c0 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
540e0 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>.....
54100 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e ..........<h3.id="extern-union">
54120 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 <a.href="#toc-extern-union">exte
54140 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 rn.union</a>.<a.class="hdr".href
54160 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 ="#extern-union">..</a></h3>....
54180 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ....<p>.......An.<code><span.cla
541a0 73 73 3d 22 6c 69 6e 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
541c0 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
541e0 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 ">union</span></span></code>.has
54200 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 .memory.layout.guaranteed.to.be.
54220 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 74 61 72 67 65 74 compatible.with.......the.target
54240 20 43 20 41 42 49 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 .C.ABI........</p>.......<p>See.
54260 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 also:</p><ul>.<li><a.href="#exte
54280 72 6e 2d 73 74 72 75 63 74 22 3e 65 78 74 65 72 6e 20 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 rn-struct">extern.struct</a></li
542a0 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 >.</ul>................<h3.id="p
542c0 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 61 63 6b 65 acked-union"><a.href="#toc-packe
542e0 64 2d 75 6e 69 6f 6e 22 3e 70 61 63 6b 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 d-union">packed.union</a>.<a.cla
54300 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e c2 a7 ss="hdr".href="#packed-union">..
54320 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 20 3c 63 6f 64 65 3e 3c 73 70 61 </a></h3>........<p>A.<code><spa
54340 6e 20 63 6c 61 73 73 3d 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-
54360 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">packed</span>.<span.class="t
54380 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ok-kw">union</span></span></code
543a0 3e 20 68 61 73 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 >.has.well-defined.in-memory.lay
543c0 6f 75 74 20 61 6e 64 20 69 73 20 65 6c 69 67 69 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 74 6f out.and.is.eligible...........to
543e0 20 62 65 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 .be.in.a.<a.href="#packed-struct
54400 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a ">packed.struct</a>.</p>........
54420 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d 4c .......<h3.id="Anonymous-Union-L
54440 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 73 iterals"><a.href="#toc-Anonymous
54460 2d 55 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 55 6e 69 6f 6e -Union-Literals">Anonymous.Union
54480 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
544a0 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 f="#Anonymous-Union-Literals">..
544c0 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 41 6e </a></h3>........<p><a.href="#An
544e0 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f onymous-Struct-Literals">Anonymo
54500 75 73 20 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 73 79 6e 74 61 78 20 63 61 us.Struct.Literals</a>.syntax.ca
54520 6e 20 62 65 20 75 73 65 64 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 75 6e 69 6f 6e 73 20 77 n.be.used.to.initialize.unions.w
54540 69 74 68 6f 75 74 20 73 70 65 63 69 66 79 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 74 79 70 65 ithout.specifying.......the.type
54560 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.
54580 63 6c 61 73 73 3d 22 7a 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
545a0 65 22 3e 61 6e 6f 6e 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 e">anon_union.zig</cite></figcap
545c0 74 69 6f 6e 3e 3c 70 72 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
545e0 65 22 3e 3c 73 70 61 6e 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
54600 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
54620 74 69 6e 22 3e 40 69 6d 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=
54640 22 74 6f 6b 2d 73 74 72 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>
54660 29 3b 3c 2f 73 70 61 6e 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
54680 61 6e 20 63 6c 61 73 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
546a0 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
546c0 6e 3e 0a 3c 73 70 61 6e 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
546e0 70 61 6e 20 63 6c 61 73 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
54700 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e 75 6d 62 65 72 20 3d 20 3c 73 70 61 k-kw">const</span>.Number.=.<spa
54720 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c n.class="tok-kw">union</span>.{<
54740 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e /span>.<span.class="line">....in
54760 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
54780 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">
547a0 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ....float:.<span.class="tok-type
547c0 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">f64</span>,</span>.<span.class
547e0 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
54800 69 6e 65 22 3e 3c 2f 73 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">
54820 3c 73 70 61 6e 20 63 6c 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>
54840 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6e 6f .<span.class="tok-str">&quot;ano
54860 6e 79 6d 6f 75 73 20 75 6e 69 6f 6e 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 26 71 75 6f 74 nymous.union.literal.syntax&quot
54880 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
548a0 69 6e 65 22 3e 20 20 20 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
548c0 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 4e 75 6d 62 65 72 20 3d 20 2e 7b 2e 69 6e 74 20 3d 20 3c 73 r</span>.i:.Number.=..{.int.=.<s
548e0 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>
54900 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">...
54920 20 3c 73 70 61 6e 20 63 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>
54940 20 66 20 3d 20 6d 61 6b 65 4e 75 6d 62 65 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .f.=.makeNumber();</span>.<span.
54960 63 6c 61 73 73 3d 22 6c 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
54980 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 2e 69 6e 74 20 3d 3d k-kw">try</span>.expect(i.int.==
549a0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 .<span.class="tok-number">42</sp
549c0 61 6e 3e 29 3b 3c 2f 73 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">
549e0 20 20 20 20 3c 73 70 61 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
54a00 61 6e 3e 20 65 78 70 65 63 74 28 66 2e 66 6c 6f 61 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 an>.expect(f.float.==.<span.clas
54a20 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 s="tok-number">12.34</span>);</s
54a40 70 61 6e 3e 0a 3c 73 70 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>
54a60 0a 3c 73 70 61 6e 20 63 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
54a80 6e 20 63 6c 61 73 73 3d 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-
54aa0 6b 77 22 3e 66 6e 3c 2f 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
54ac0 6e 22 3e 6d 61 6b 65 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 28 29 20 4e 75 6d 62 65 72 20 7b 3c n">makeNumber</span>().Number.{<
54ae0 2f 73 70 61 6e 3e 0a 3c 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
54b00 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>
54b20 20 2e 7b 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ..{.float.=.<span.class="tok-num
54b40 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ber">12.34</span>};</span>.<span
54b60 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
54b80 72 65 3e 3c 2f 66 69 67 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.
54ba0 63 6c 61 73 73 3d 22 73 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
54bc0 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
54be0 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 6e 6f 6e 5f 75 6e 69 6f 6e 2e 7a 69 67 ">$.<kbd>zig.test.anon_union.zig
54c00 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"
54c20 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 75 6e 69 6f 6e 20 >1/1.test.&quot;anonymous.union.
54c40 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e literal.syntax&quot;....OK</span
54c60 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
54c80 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
54ca0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 igure>.......................<h2
54cc0 20 69 64 3d 22 6f 70 61 71 75 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6f 70 61 71 75 .id="opaque"><a.href="#toc-opaqu
54ce0 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 e">opaque</a>.<a.class="hdr".hre
54d00 66 3d 22 23 6f 70 61 71 75 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c f="#opaque">..</a></h2>........<
54d20 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
54d40 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 70 61 71 75 65 3c 2f 73 "><span.class="tok-kw">opaque</s
54d60 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 65 73 20 61 pan>.{}</span></code>.declares.a
54d80 20 6e 65 77 20 74 79 70 65 20 77 69 74 68 20 61 6e 20 75 6e 6b 6e 6f 77 6e 20 28 62 75 74 20 6e .new.type.with.an.unknown.(but.n
54da0 6f 6e 2d 7a 65 72 6f 29 20 73 69 7a 65 20 61 6e 64 20 61 6c 69 67 6e 6d 65 6e 74 2e 0a 20 20 20 on-zero).size.and.alignment.....
54dc0 20 20 20 49 74 20 63 61 6e 20 63 6f 6e 74 61 69 6e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 74 ...It.can.contain.declarations.t
54de0 68 65 20 73 61 6d 65 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 he.same.as.<a.href="#struct">str
54e00 75 63 74 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e ucts</a>,.<a.href="#union">union
54e20 73 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 s</a>,.......and.<a.href="#enum"
54e40 3e 65 6e 75 6d 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e >enums</a>........</p>.......<p>
54e60 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 75 73 65 64 20 66 6f .......This.is.typically.used.fo
54e80 72 20 74 79 70 65 20 73 61 66 65 74 79 20 77 68 65 6e 20 69 6e 74 65 72 61 63 74 69 6e 67 20 77 r.type.safety.when.interacting.w
54ea0 69 74 68 20 43 20 63 6f 64 65 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 65 78 70 6f 73 65 20 ith.C.code.that.does.not.expose.
54ec0 73 74 72 75 63 74 20 64 65 74 61 69 6c 73 2e 0a 20 20 20 20 20 20 45 78 61 6d 70 6c 65 3a 0a 20 struct.details........Example:..
54ee0 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
54f00 69 6f 6e 20 63 6c 61 73 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=
54f20 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
54f40 6f 6e 3e 3c 70 72 65 3e 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"
54f60 3e 3c 73 70 61 6e 20 63 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
54f80 6e 3e 20 44 65 72 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f n>.Derp.=.<span.class="tok-kw">o
54fa0 70 61 71 75 65 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c paque</span>.{};</span>.<span.cl
54fc0 61 73 73 3d 22 6c 69 6e 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">
54fe0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 const</span>.Wat.=.<span.class="
55000 74 6f 6b 2d 6b 77 22 3e 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e tok-kw">opaque</span>.{};</span>
55020 0a 3c 73 70 61 6e 20 63 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
55040 6e 20 63 6c 61 73 73 3d 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-
55060 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">extern</span>.<span.class="t
55080 6f 6b 2d 6b 77 22 3e 66 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
550a0 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 64 3a 20 2a 44 65 72 70 29 20 3c 73 70 61 6e k-fn">bar</span>(d:.*Derp).<span
550c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3b 3c 2f .class="tok-type">void</span>;</
550e0 73 70 61 6e 3e 0a 3c 73 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
55100 6c 61 73 73 3d 22 74 6f 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
55120 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 77 3a 20 2a 57 61 74 29 ass="tok-fn">foo</span>(w:.*Wat)
55140 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f .<span.class="tok-kw">callconv</
55160 73 70 61 6e 3e 28 2e 43 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 span>(.C).<span.class="tok-type"
55180 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
551a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 72 28 77 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 s="line">....bar(w);</span>.<spa
551c0 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
551e0 61 73 73 3d 22 6c 69 6e 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="
55200 6c 69 6e 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<
55220 2f 73 70 61 6e 3e 20 3c 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
55240 6f 74 3b 63 61 6c 6c 20 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ot;call.foo&quot;</span>.{</span
55260 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 3c 73 70 >.<span.class="line">....foo(<sp
55280 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
552a0 70 61 6e 3e 29 3b 3c 2f 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"
552c0 3e 7d 3c 2f 73 70 61 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><
552e0 66 69 67 75 72 65 3e 3c 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-
55300 63 61 70 22 3e 53 68 65 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
55320 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.
55340 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
55360 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 .class="line"><span.class="t0_1"
55380 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 39 3a 20 3c 2f 73 70 >./docgen_tmp/test.zig:6:9:.</sp
553a0 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f an><span.class="t31_1">error:.</
553c0 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 70 65 63 74 65 64 span><span.class="t0_1">expected
553e0 20 74 79 70 65 20 27 2a 44 65 72 70 27 2c 20 66 6f 75 6e 64 20 27 2a 57 61 74 27 3c 2f 73 70 61 .type.'*Derp',.found.'*Wat'</spa
55400 6e 3e 3c 2f 73 70 61 6e 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">...
55420 20 62 61 72 28 77 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .bar(w);</span>.<span.class="lin
55440 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e e">........<span.class="t32_1">^
55460 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
55480 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d "><span.class="t0_1">./docgen_tm
554a0 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 p/test.zig:6:9:.</span><span.cla
554c0 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c ss="t36_1">note:.</span><span.cl
554e0 61 73 73 3d 22 74 30 5f 31 22 3e 70 6f 69 6e 74 65 72 20 74 79 70 65 20 63 68 69 6c 64 20 27 57 ass="t0_1">pointer.type.child.'W
55500 61 74 27 20 63 61 6e 6e 6f 74 20 63 61 73 74 20 69 6e 74 6f 20 70 6f 69 6e 74 65 72 20 74 79 70 at'.cannot.cast.into.pointer.typ
55520 65 20 63 68 69 6c 64 20 27 44 65 72 70 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 e.child.'Derp'</span></span>.<sp
55540 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 72 28 77 29 3b 3c 2f 73 70 61 an.class="line">....bar(w);</spa
55560 6e 3e 0a 3c 73 70 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
55580 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
555a0 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>........
555c0 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 62 6c 6f 63 6b 73 22 3e 3c 61 20 68 72 65 66 3d 22 .......<h2.id="blocks"><a.href="
555e0 23 74 6f 63 2d 62 6c 6f 63 6b 73 22 3e 62 6c 6f 63 6b 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 #toc-blocks">blocks</a>.<a.class
55600 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 6c 6f 63 6b 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 ="hdr".href="#blocks">..</a></h2
55620 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 6c 6f 63 6b 73 20 61 72 65 20 75 73 >........<p>.......Blocks.are.us
55640 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 73 63 6f 70 65 20 6f 66 20 76 61 72 69 61 62 6c ed.to.limit.the.scope.of.variabl
55660 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 e.declarations:.......</p>......
55680 20 3c 66 69 67 75 72 65 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-
556a0 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
556c0 3c 2f 63 69 74 65 3e 3c 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><
556e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
55700 6f 6b 2d 6b 77 22 3e 74 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="
55720 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 63 63 65 73 73 20 76 61 72 69 61 62 6c 65 20 61 tok-str">&quot;access.variable.a
55740 66 74 65 72 20 62 6c 6f 63 6b 20 73 63 6f 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c fter.block.scope&quot;</span>.{<
55760 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c /span>.<span.class="line">....{<
55780 2f 73 70 61 6e 3e 0a 3c 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">......
557a0 20 20 3c 73 70 61 6e 20 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
557c0 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c >.x:.<span.class="tok-type">i32<
557e0 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
55800 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="
55820 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 line">........_.=.x;</span>.<spa
55840 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
55860 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c n.class="line">....x.+=.<span.cl
55880 61 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
558a0 3e 0a 3c 73 70 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
558c0 6f 64 65 3e 3c 2f 70 72 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
558e0 61 70 74 69 6f 6e 20 63 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</
55900 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
55920 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
55940 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
55960 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/
55980 74 65 73 74 2e 7a 69 67 3a 36 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 test.zig:6:5:.</span><span.class
559a0 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 ="t31_1">error:</span><span.clas
559c0 73 3d 22 74 31 5f 30 22 3e 20 75 73 65 20 6f 66 20 75 6e 64 65 63 6c 61 72 65 64 20 69 64 65 6e s="t1_0">.use.of.undeclared.iden
559e0 74 69 66 69 65 72 20 27 78 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c tifier.'x'</span>.<span.class="l
55a00 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 78 20 2b 3d 20 31 3b 3c 2f 73 70 61 6e 3e 0a 3c ine"></span>....x.+=.1;</span>.<
55a20 73 70 61 6e 20 63 6c 61 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
55a40 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 s="t32_1">^</span>.<span.class="
55a60 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
55a80 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 42 6c 6f 63 6b 73 20 61 72 65 20 e></figure>.......<p>Blocks.are.
55aa0 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 57 68 65 6e 20 6c 61 62 65 6c 65 64 2c 20 3c 63 6f 64 65 expressions..When.labeled,.<code
55ac0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
55ae0 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
55b00 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f 20 72 65 74 75 72 6e 20 de>.can.be.used.......to.return.
55b20 61 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 62 6c 6f 63 6b 3a 0a 20 20 20 20 20 20 3c 2f a.value.from.the.block:.......</
55b40 70 3e 0a 20 20 20 20 20 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
55b60 73 73 3d 22 7a 69 67 2d 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">
55b80 74 65 73 74 5f 6c 61 62 65 6c 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 test_labeled_break.zig</cite></f
55ba0 69 67 63 61 70 74 69 6f 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
55bc0 3d 22 6c 69 6e 65 22 3e 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
55be0 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
55c00 2d 62 75 69 6c 74 69 6e 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
55c20 6c 61 73 73 3d 22 74 6f 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;</
55c40 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
55c60 22 3e 3c 73 70 61 6e 20 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
55c80 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;
55ca0 3c 2f 73 70 61 6e 3e 0a 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
55cc0 6e 3e 0a 3c 73 70 61 6e 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
55ce0 73 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
55d00 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6c 61 62 65 6c 65 64 20 62 72 65 61 6b ss="tok-str">&quot;labeled.break
55d20 20 66 72 6f 6d 20 6c 61 62 65 6c 65 64 20 62 6c 6f 63 6b 20 65 78 70 72 65 73 73 69 6f 6e 26 71 .from.labeled.block.expression&q
55d40 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
55d60 3d 22 6c 69 6e 65 22 3e 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"
55d80 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >var</span>.y:.<span.class="tok-
55da0 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="
55dc0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-number">123</span>;</span>.<
55de0 73 70 61 6e 20 63 6c 61 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.
55e00 63 6c 61 73 73 3d 22 6c 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
55e20 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 62 6c 6b 3a 20 7b 3c 2f 73 k-kw">const</span>.x.=.blk:.{</s
55e40 70 61 6e 3e 0a 3c 73 70 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">........
55e60 79 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c y.+=.<span.class="tok-number">1<
55e80 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
55ea0 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 ">........<span.class="tok-kw">b
55ec0 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e reak</span>.:blk.y;</span>.<span
55ee0 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
55f00 6e 20 63 6c 61 73 73 3d 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="
55f20 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 20 3d 3d 20 3c tok-kw">try</span>.expect(x.==.<
55f40 73 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
55f60 6e 3e 29 3b 3c 2f 73 70 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">.
55f80 20 20 20 3c 73 70 61 6e 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
55fa0 6e 3e 20 65 78 70 65 63 74 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d n>.expect(y.==.<span.class="tok-
55fc0 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
55fe0 6e 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></
56000 70 72 65 3e 3c 2f 66 69 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
56020 20 63 6c 61 73 73 3d 22 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
56040 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
56060 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6c 61 62 65 6c 65 64 5f e">$.<kbd>zig.test.test_labeled_
56080 62 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 break.zig</kbd></span>.<span.cla
560a0 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6c 61 62 65 6c 65 64 ss="line">1/1.test.&quot;labeled
560c0 20 62 72 65 61 6b 20 66 72 6f 6d 20 6c 61 62 65 6c 65 64 20 62 6c 6f 63 6b 20 65 78 70 72 65 73 .break.from.labeled.block.expres
560e0 73 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c sion&quot;....OK</span>.<span.cl
56100 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.</
56120 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>....
56140 20 20 20 3c 70 3e 48 65 72 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ...<p>Here,.<code><span.class="l
56160 69 6e 65 22 3e 62 6c 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 61 6e ine">blk</span></code>.can.be.an
56180 79 20 6e 61 6d 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f y.name.</p>.......<p>See.also:</
561a0 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 77 68 69 p><ul>.<li><a.href="#Labeled-whi
561c0 6c 65 22 3e 4c 61 62 65 6c 65 64 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c le">Labeled.while</a></li>.<li><
561e0 61 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 20 66 6f a.href="#Labeled-for">Labeled.fo
56200 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d r</a></li>.</ul>.........<h3.id=
56220 22 53 68 61 64 6f 77 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 68 61 64 6f 77 "Shadowing"><a.href="#toc-Shadow
56240 69 6e 67 22 3e 53 68 61 64 6f 77 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ing">Shadowing</a>.<a.class="hdr
56260 22 20 68 72 65 66 3d 22 23 53 68 61 64 6f 77 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a ".href="#Shadowing">..</a></h3>.
56280 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 66 69 65 72 73 22 .......<p><a.href="#Identifiers"
562a0 3e 49 64 65 6e 74 69 66 69 65 72 73 3c 2f 61 3e 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77 >Identifiers</a>.are.never.allow
562c0 65 64 20 74 6f 20 22 68 69 64 65 22 20 6f 74 68 65 72 20 69 64 65 6e 74 69 66 69 65 72 73 20 62 ed.to."hide".other.identifiers.b
562e0 79 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 y.using.the.same.name:</p>......
56300 20 3c 66 69 67 75 72 65 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-
56320 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
56340 3c 2f 63 69 74 65 3e 3c 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><
56360 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
56380 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 69 20 3d 20 3c 73 70 61 6e 20 63 ok-kw">const</span>.pi.=.<span.c
563a0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 3b 3c 2f lass="tok-number">3.14</span>;</
563c0 73 70 61 6e 3e 0a 3c 73 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>
563e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
56400 22 74 6f 6b 2d 6b 77 22 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
56420 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 73 69 64 65 20 74 65 73 74 20 62 6c 6f ="tok-str">&quot;inside.test.blo
56440 63 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ck&quot;</span>.{</span>.<span.c
56460 6c 61 73 73 3d 22 6c 69 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
56480 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 65 74 27 73 20 65 76 65 6e 20 67 6f 20 69 6e 73 69 64 -comment">//.Let's.even.go.insid
564a0 65 20 61 6e 6f 74 68 65 72 20 62 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 e.another.block</span></span>.<s
564c0 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
564e0 70 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
56500 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 69 3a 20 3c 73 70 lass="tok-kw">var</span>.pi:.<sp
56520 61 6e 20 63 6c 61 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>.=
56540 20 3c 73 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</
56560 73 70 61 6e 3e 3b 3c 2f 73 70 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"
56580 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"
565a0 3e 7d 3c 2f 73 70 61 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><
565c0 66 69 67 75 72 65 3e 3c 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-
565e0 63 61 70 22 3e 53 68 65 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
56600 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.
56620 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
56640 20 63 6c 61 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"
56660 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 31 33 3a 20 3c 2f 73 70 61 >docgen_tmp/test.zig:6:13:.</spa
56680 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 3c 2f 73 70 n><span.class="t31_1">error:</sp
566a0 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 20 6c 6f 63 61 6c 20 73 68 61 an><span.class="t1_0">.local.sha
566c0 64 6f 77 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 6f 66 20 27 70 69 27 3c 2f 73 70 61 6e 3e 0a dows.declaration.of.'pi'</span>.
566e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 <span.class="line"></span>......
56700 20 20 76 61 72 20 70 69 3a 20 69 33 32 20 3d 20 31 32 33 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ..var.pi:.i32.=.1234;</span>.<sp
56720 61 6e 20 63 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
56740 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 n.class="t32_1">^</span>.<span.c
56760 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 lass="line"></span><span.class="
56780 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 3a 31 3a 20 3c t1_0">docgen_tmp/test.zig:1:1:.<
567a0 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 3c /span><span.class="t36_1">note:<
567c0 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 20 64 65 63 6c 61 72 /span><span.class="t1_0">.declar
567e0 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
56800 22 3e 3c 2f 73 70 61 6e 3e 63 6f 6e 73 74 20 70 69 20 3d 20 33 2e 31 34 3b 3c 2f 73 70 61 6e 3e "></span>const.pi.=.3.14;</span>
56820 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
56840 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 "t32_1">^</span>.<span.class="li
56860 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>
56880 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 65 63 61 75 73 </figure>.......<p>.......Becaus
568a0 65 20 6f 66 20 74 68 69 73 2c 20 77 68 65 6e 20 79 6f 75 20 72 65 61 64 20 5a 69 67 20 63 6f 64 e.of.this,.when.you.read.Zig.cod
568c0 65 20 79 6f 75 20 63 61 6e 20 61 6c 77 61 79 73 20 72 65 6c 79 20 6f 6e 20 61 6e 20 69 64 65 6e e.you.can.always.rely.on.an.iden
568e0 74 69 66 69 65 72 20 74 6f 20 63 6f 6e 73 69 73 74 65 6e 74 6c 79 20 6d 65 61 6e 0a 20 20 20 20 tifier.to.consistently.mean.....
56900 20 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 77 69 74 68 69 6e 20 74 68 65 20 73 63 6f 70 ..the.same.thing.within.the.scop
56920 65 20 69 74 20 69 73 20 64 65 66 69 6e 65 64 2e 20 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 63 e.it.is.defined..Note.that.you.c
56940 61 6e 2c 20 68 6f 77 65 76 65 72 2c 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 69 an,.however,.use.the.same.name.i
56960 66 0a 20 20 20 20 20 20 74 68 65 20 73 63 6f 70 65 73 20 61 72 65 20 73 65 70 61 72 61 74 65 3a f.......the.scopes.are.separate:
56980 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
569a0 70 74 69 6f 6e 20 63 6c 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
569c0 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 73 63 6f 70 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c s="file">test_scopes.zig</cite><
569e0 2f 66 69 67 63 61 70 74 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
56a00 73 73 3d 22 6c 69 6e 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
56a20 65 73 74 3c 2f 73 70 61 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"
56a40 3e 26 71 75 6f 74 3b 73 65 70 61 72 61 74 65 20 73 63 6f 70 65 73 26 71 75 6f 74 3b 3c 2f 73 70 >&quot;separate.scopes&quot;</sp
56a60 61 6e 3e 20 7b 3c 2f 73 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">
56a80 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">
56aa0 20 20 20 20 20 20 20 20 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
56ac0 73 74 3c 2f 73 70 61 6e 3e 20 70 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d st</span>.pi.=.<span.class="tok-
56ae0 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 number">3.14</span>;</span>.<spa
56b00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 70 69 3b 3c 2f n.class="line">........_.=.pi;</
56b20 73 70 61 6e 3e 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">....}</
56b40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c 2f span>.<span.class="line">....{</
56b60 73 70 61 6e 3e 0a 3c 73 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">.......
56b80 20 3c 73 70 61 6e 20 63 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>
56ba0 20 70 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c .pi:.<span.class="tok-type">bool
56bc0 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"
56be0 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >true</span>;</span>.<span.class
56c00 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 70 69 3b 3c 2f 73 70 61 6e 3e 0a 3c ="line">........_.=.pi;</span>.<
56c20 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>.<
56c40 73 70 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
56c60 3e 3c 2f 70 72 65 3e 3c 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
56c80 69 6f 6e 20 63 6c 61 73 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
56ca0 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="
56cc0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 73 63 6f 70 65 line">$.<kbd>zig.test.test_scope
56ce0 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 s.zig</kbd></span>.<span.class="
56d00 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 65 70 61 72 61 74 65 20 73 63 line">1/1.test.&quot;separate.sc
56d20 6f 70 65 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c opes&quot;....OK</span>.<span.cl
56d40 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.</
56d60 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>....
56d80 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 77 69 74 63 68 ..................<h2.id="switch
56da0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f "><a.href="#toc-switch">switch</
56dc0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 a>.<a.class="hdr".href="#switch"
56de0 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 >..</a></h2>........<figure><fig
56e00 63 61 70 74 69 6f 6e 20 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
56e20 61 73 73 3d 22 66 69 6c 65 22 3e 73 77 69 74 63 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 ass="file">switch.zig</cite></fi
56e40 67 63 61 70 74 69 6f 6e 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=
56e60 22 6c 69 6e 65 22 3e 3c 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
56e80 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-
56ea0 62 75 69 6c 74 69 6e 22 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
56ec0 61 73 73 3d 22 74 6f 6b 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
56ee0 70 61 6e 3e 29 3b 3c 2f 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"
56f00 3e 3c 73 70 61 6e 20 63 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
56f20 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 n>.builtin.=.<span.class="tok-bu
56f40 69 6c 74 69 6e 22 3e 40 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
56f60 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c s="tok-str">&quot;builtin&quot;<
56f80 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
56fa0 65 22 3e 3c 73 70 61 6e 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
56fc0 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
56fe0 3b 3c 2f 73 70 61 6e 3e 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
57000 61 6e 3e 0a 3c 73 70 61 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
57020 73 73 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
57040 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 73 69 6d 70 6c ass="tok-str">&quot;switch.simpl
57060 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
57080 61 73 73 3d 22 6c 69 6e 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-
570a0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">const</span>.a:.<span.class=
570c0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c "tok-type">u64</span>.=.<span.cl
570e0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 ass="tok-number">10</span>;</spa
57100 6e 3e 0a 3c 73 70 61 6e 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.
57120 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 7a 3a 20 class="tok-kw">const</span>.zz:.
57140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e <span.class="tok-type">u64</span
57160 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 33 >.=.<span.class="tok-number">103
57180 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
571a0 65 22 3e 3c 2f 73 70 61 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">..
571c0 20 20 3c 73 70 61 6e 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
571e0 6c 6c 20 62 72 61 6e 63 68 65 73 20 6f 66 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 ll.branches.of.a.switch.expressi
57200 6f 6e 20 6d 75 73 74 20 62 65 20 61 62 6c 65 20 74 6f 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f on.must.be.able.to.be.coerced.to
57220 20 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .a</span></span>.<span.class="li
57240 6e 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
57260 22 3e 2f 2f 20 63 6f 6d 6d 6f 6e 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ">//.common.type.</span></span>.
57280 3c 73 70 61 6e 20 63 6c 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
572a0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ss="tok-comment">//</span></span
572c0 3e 0a 3c 73 70 61 6e 20 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
572e0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 72 61 6e 63 68 65 73 20 63 lass="tok-comment">//.Branches.c
57300 61 6e 6e 6f 74 20 66 61 6c 6c 74 68 72 6f 75 67 68 2e 20 49 66 20 66 61 6c 6c 74 68 72 6f 75 67 annot.fallthrough..If.fallthroug
57320 68 20 62 65 68 61 76 69 6f 72 20 69 73 20 64 65 73 69 72 65 64 2c 20 63 6f 6d 62 69 6e 65 3c 2f h.behavior.is.desired,.combine</
57340 73 70 61 6e 3e 3c 2f 73 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">
57360 20 20 20 20 3c 73 70 61 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">//
57380 20 74 68 65 20 63 61 73 65 73 20 61 6e 64 20 75 73 65 20 61 6e 20 69 66 2e 3c 2f 73 70 61 6e 3e .the.cases.and.use.an.if.</span>
573a0 3c 2f 73 70 61 6e 3e 0a 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">....<
573c0 73 70 61 6e 20 63 6c 61 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>
573e0 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 .b.=.<span.class="tok-kw">switch
57400 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 </span>.(a).{</span>.<span.class
57420 3d 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
57440 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4d 75 6c 74 69 70 6c 65 20 63 61 73 65 73 20 63 61 6e 20 -comment">//.Multiple.cases.can.
57460 62 65 20 63 6f 6d 62 69 6e 65 64 20 76 69 61 20 61 20 27 2c 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 be.combined.via.a.','</span></sp
57480 61 6e 3e 0a 3c 73 70 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">........<
574a0 73 70 61 6e 20 63 6c 61 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>
574c0 2c 20 3c 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
574e0 61 6e 3e 2c 20 3c 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<
57500 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 /span>.=&gt;.<span.class="tok-nu
57520 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">0</span>,</span>.<span.cla
57540 73 73 3d 22 6c 69 6e 65 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
57560 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
57580 6d 6d 65 6e 74 22 3e 2f 2f 20 52 61 6e 67 65 73 20 63 61 6e 20 62 65 20 73 70 65 63 69 66 69 65 mment">//.Ranges.can.be.specifie
575a0 64 20 75 73 69 6e 67 20 74 68 65 20 2e 2e 2e 20 73 79 6e 74 61 78 2e 20 54 68 65 73 65 20 61 72 d.using.the.....syntax..These.ar
575c0 65 20 69 6e 63 6c 75 73 69 76 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 e.inclusive</span></span>.<span.
575e0 63 6c 61 73 73 3d 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
57600 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 66 20 62 6f 74 68 20 65 6e 64 73 2e 3c ="tok-comment">//.of.both.ends.<
57620 2f 73 70 61 6e 3e 3c 2f 73 70 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"
57640 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 >........<span.class="tok-number
57660 22 3e 35 3c 2f 73 70 61 6e 3e 2e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ">5</span>...<span.class="tok-nu
57680 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 mber">100</span>.=&gt;.<span.cla
576a0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e ss="tok-number">1</span>,</span>
576c0 0a 3c 73 70 61 6e 20 63 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
576e0 6e 20 63 6c 61 73 73 3d 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
57700 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 72 61 6e 63 68 65 73 20 63 61 6e ss="tok-comment">//.Branches.can
57720 20 62 65 20 61 72 62 69 74 72 61 72 69 6c 79 20 63 6f 6d 70 6c 65 78 2e 3c 2f 73 70 61 6e 3e 3c .be.arbitrarily.complex.</span><
57740 2f 73 70 61 6e 3e 0a 3c 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">......
57760 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 31 3c 2f ..<span.class="tok-number">101</
57780 73 70 61 6e 3e 20 3d 26 67 74 3b 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 span>.=&gt;.blk:.{</span>.<span.
577a0 63 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
577c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 lass="tok-kw">const</span>.c:.<s
577e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">u64</span>.
57800 3d 20 3c 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
57820 61 6e 3e 3b 3c 2f 73 70 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">.
57840 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ...........<span.class="tok-kw">
57860 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 63 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 break</span>.:blk.c.*.<span.clas
57880 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 s="tok-number">2</span>.+.<span.
578a0 63 6c 61 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
578c0 61 6e 3e 0a 3c 73 70 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">........}
578e0 2c 3c 2f 73 70 61 6e 3e 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
57900 61 6e 3e 0a 3c 73 70 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">........<
57920 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 77 69 74 span.class="tok-comment">//.Swit
57940 63 68 69 6e 67 20 6f 6e 20 61 72 62 69 74 72 61 72 79 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 ching.on.arbitrary.expressions.i
57960 73 20 61 6c 6c 6f 77 65 64 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 3c 2f 73 70 61 6e 3e 3c s.allowed.as.long.as.the</span><
57980 2f 73 70 61 6e 3e 0a 3c 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">......
579a0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 ..<span.class="tok-comment">//.e
579c0 78 70 72 65 73 73 69 6f 6e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 xpression.is.known.at.compile-ti
579e0 6d 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c me.</span></span>.<span.class="l
57a00 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7a 7a 20 3d 26 67 74 3b 20 7a 7a 2c 3c 2f 73 70 61 6e 3e ine">........zz.=&gt;.zz,</span>
57a20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 62 6c 6b 3a .<span.class="line">........blk:
57a40 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
57a60 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f .........<span.class="tok-kw">co
57a80 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 nst</span>.d:.<span.class="tok-t
57aa0 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
57ac0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">5</span>;</span>.<spa
57ae0 6e 20 63 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
57b00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 3a 20 .class="tok-kw">const</span>.e:.
57b20 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
57b40 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 >.=.<span.class="tok-number">100
57b60 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
57b80 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-
57ba0 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 64 20 2b 20 65 3b 3c 2f 73 70 kw">break</span>.:blk.d.+.e;</sp
57bc0 61 6e 3e 0a 3c 73 70 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">........}
57be0 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e .=&gt;.<span.class="tok-number">
57c00 31 30 37 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 107</span>,</span>.<span.class="
57c20 6c 69 6e 65 22 3e 3c 2f 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"
57c40 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
57c60 74 22 3e 2f 2f 20 54 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 63 61 74 63 68 65 73 20 65 76 t">//.The.else.branch.catches.ev
57c80 65 72 79 74 68 69 6e 67 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 63 61 70 74 75 72 65 64 2e 3c 2f erything.not.already.captured.</
57ca0 73 70 61 6e 3e 3c 2f 73 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">
57cc0 20 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
57ce0 22 3e 2f 2f 20 45 6c 73 65 20 62 72 61 6e 63 68 65 73 20 61 72 65 20 6d 61 6e 64 61 74 6f 72 79 ">//.Else.branches.are.mandatory
57d00 20 75 6e 6c 65 73 73 20 74 68 65 20 65 6e 74 69 72 65 20 72 61 6e 67 65 20 6f 66 20 76 61 6c 75 .unless.the.entire.range.of.valu
57d20 65 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 es</span></span>.<span.class="li
57d40 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ne">........<span.class="tok-com
57d60 6d 65 6e 74 22 3e 2f 2f 20 69 73 20 68 61 6e 64 6c 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 ment">//.is.handled.</span></spa
57d80 6e 3e 0a 3c 73 70 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
57da0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d pan.class="tok-kw">else</span>.=
57dc0 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c &gt;.<span.class="tok-number">9<
57de0 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
57e00 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
57e20 65 22 3e 3c 2f 73 70 61 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">..
57e40 20 20 3c 73 70 61 6e 20 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
57e60 3e 20 65 78 70 65 63 74 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >.expect(b.==.<span.class="tok-n
57e80 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
57ea0 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
57ec0 3d 22 6c 69 6e 65 22 3e 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
57ee0 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">//.
57f00 53 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 6f Switch.expressions.can.be.used.o
57f20 75 74 73 69 64 65 20 61 20 66 75 6e 63 74 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e utside.a.function:</span></span>
57f40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
57f60 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 5f 6d 73 67 20 3d 20 3c "tok-kw">const</span>.os_msg.=.<
57f80 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
57fa0 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 67 65 74 2e 6f 73 2e 74 61 67 29 20 7b 3c 2f 73 70 61 >.(builtin.target.os.tag).{</spa
57fc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6c 69 6e 75 78 n>.<span.class="line">.....linux
57fe0 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .=&gt;.<span.class="tok-str">&qu
58000 6f 74 3b 77 65 20 66 6f 75 6e 64 20 61 20 6c 69 6e 75 78 20 75 73 65 72 26 71 75 6f 74 3b 3c 2f ot;we.found.a.linux.user&quot;</
58020 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"
58040 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f >....<span.class="tok-kw">else</
58060 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 span>.=&gt;.<span.class="tok-str
58080 22 3e 26 71 75 6f 74 3b 6e 6f 74 20 61 20 6c 69 6e 75 78 20 75 73 65 72 26 71 75 6f 74 3b 3c 2f ">&quot;not.a.linux.user&quot;</
580a0 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"
580c0 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f >};</span>.<span.class="line"></
580e0 73 70 61 6e 3e 0a 3c 73 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
58100 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 73 69 64 65 20 61 20 66 lass="tok-comment">//.Inside.a.f
58120 75 6e 63 74 69 6f 6e 2c 20 73 77 69 74 63 68 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6d 70 6c 69 unction,.switch.statements.impli
58140 63 69 74 6c 79 20 61 72 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 citly.are.compile-time</span></s
58160 70 61 6e 3e 0a 3c 73 70 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
58180 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 76 61 6c 75 61 74 65 64 20 69 ass="tok-comment">//.evaluated.i
581a0 66 20 74 68 65 20 74 61 72 67 65 74 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 63 6f 6d 70 69 f.the.target.expression.is.compi
581c0 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 le-time.known.</span></span>.<sp
581e0 61 6e 20 63 6c 61 73 73 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
58200 2d 6b 77 22 3e 74 65 73 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
58220 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 68 20 69 6e 73 69 64 65 20 66 75 6e 63 74 k-str">&quot;switch.inside.funct
58240 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ion&quot;</span>.{</span>.<span.
58260 63 6c 61 73 73 3d 22 6c 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
58280 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 k-kw">switch</span>.(builtin.tar
582a0 67 65 74 2e 6f 73 2e 74 61 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 get.os.tag).{</span>.<span.class
582c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 75 63 68 73 69 61 20 3d 26 67 74 3b 20 7b ="line">.........fuchsia.=&gt;.{
582e0 3c 2f 73 70 61 6e 3e 0a 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">.....
58300 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"
58320 3e 2f 2f 20 4f 6e 20 61 6e 20 4f 53 20 6f 74 68 65 72 20 74 68 61 6e 20 66 75 63 68 73 69 61 2c >//.On.an.OS.other.than.fuchsia,
58340 20 62 6c 6f 63 6b 20 69 73 20 6e 6f 74 20 65 76 65 6e 20 61 6e 61 6c 79 7a 65 64 2c 3c 2f 73 70 .block.is.not.even.analyzed,</sp
58360 61 6e 3e 3c 2f 73 70 61 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">..
58380 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
583a0 6e 74 22 3e 2f 2f 20 73 6f 20 74 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 nt">//.so.this.compile.error.is.
583c0 6e 6f 74 20 74 72 69 67 67 65 72 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 not.triggered.</span></span>.<sp
583e0 61 6e 20 63 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
58400 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 6e 20 66 75 63 68 n.class="tok-comment">//.On.fuch
58420 73 69 61 20 74 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 77 6f 75 6c 64 20 62 65 20 sia.this.compile.error.would.be.
58440 74 72 69 67 67 65 72 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 triggered.</span></span>.<span.c
58460 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c lass="line">............<span.cl
58480 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c ass="tok-builtin">@compileError<
584a0 2f 73 70 61 6e 3e 28 3c 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
584c0 6f 74 3b 66 75 63 68 73 69 61 20 6e 6f 74 20 73 75 70 70 6f 72 74 65 64 26 71 75 6f 74 3b 3c 2f ot;fuchsia.not.supported&quot;</
584e0 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
58500 22 3e 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">........},</span>.<span.class=
58520 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-
58540 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e kw">else</span>.=&gt;.{},</span>
58560 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>
58580 0a 3c 73 70 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
585a0 64 65 3e 3c 2f 70 72 65 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
585c0 70 74 69 6f 6e 20 63 6c 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
585e0 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
58600 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 77 69 74 63 68 2e 7a ="line">$.<kbd>zig.test.switch.z
58620 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
58640 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 73 77 69 74 63 68 20 73 69 6d 70 6c 65 26 e">1/2.test.&quot;switch.simple&
58660 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;....OK</span>.<span.class="
58680 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 73 77 69 74 63 68 20 69 6e 73 69 line">2/2.test.&quot;switch.insi
586a0 64 65 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c de.function&quot;....OK</span>.<
586c0 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
586e0 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
58700 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.
58720 63 6c 61 73 73 3d 22 6c 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
58740 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
58760 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
58780 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
587a0 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
587c0 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
587e0 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
58800 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
58820 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
58840 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
58860 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
58880 3e 3c 66 69 67 63 61 70 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
588a0 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
588c0 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>
588e0 3c 70 72 65 3e 3c 63 6f 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
58900 70 61 6e 20 63 6c 61 73 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>.
58920 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
58940 6e 22 3e 40 69 6d 70 6f 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
58960 6f 6b 2d 73 74 72 22 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>).
58980 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
589a0 73 73 3d 22 6c 69 6e 65 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
589c0 69 6e 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</
589e0 73 70 61 6e 3e 20 3c 73 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
58a00 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;</
58a20 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
58a40 22 3e 20 20 20 20 3c 73 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
58a60 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
58a80 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
58aa0 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.
58ac0 63 6c 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
58ae0 6e 3e 0a 3c 73 70 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:
58b00 20 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
58b20 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">...
58b40 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">..
58b60 20 20 3c 73 70 61 6e 20 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
58b80 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">
58ba0 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
58bc0 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
58be0 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
58c00 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>.
58c20 3c 73 70 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
58c40 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">.
58c60 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
58c80 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-
58ca0 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
58cc0 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.
58ce0 63 6c 61 73 73 3d 22 6c 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
58d00 3d 22 6c 69 6e 65 22 3e 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"
58d20 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
58d40 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">
58d60 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-
58d80 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
58da0 61 6e 20 63 6c 61 73 73 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
58dc0 61 73 73 3d 22 6c 69 6e 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-
58de0 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
58e00 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></
58e20 73 70 61 6e 3e 0a 3c 73 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
58e40 61 6e 20 63 6c 61 73 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
58e60 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</
58e80 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="
58ea0 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
58ec0 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
58ee0 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
58f00 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
58f20 6c 61 73 73 3d 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=
58f40 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..
58f60 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
58f80 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
58fa0 70 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
58fc0 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
58fe0 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
59000 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
59020 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;.
59040 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=
59060 22 6c 69 6e 65 22 3e 3c 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
59080 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
590a0 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
590c0 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.`*
590e0 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
59100 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;.
59120 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
59140 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.+=
59160 20 3c 73 70 61 6e 20 63 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
59180 6e 3e 3b 3c 2f 73 70 61 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">..
591a0 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
591c0 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
591e0 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
59200 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>.
59220 3c 73 70 61 6e 20 63 6c 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
59240 20 63 6c 61 73 73 3d 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
59260 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
59280 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
592a0 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>
592c0 0a 3c 73 70 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
592e0 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
59300 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="
59320 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=
59340 22 6c 69 6e 65 22 3e 3c 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
59360 22 3e 20 20 20 20 3c 73 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</
59380 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
593a0 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
593c0 61 6e 20 63 6c 61 73 73 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=
593e0 22 74 6f 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
59400 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</
59420 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
59440 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>
59460 3c 66 69 67 75 72 65 3e 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
59480 2d 63 61 70 22 3e 53 68 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
594a0 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
594c0 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
594e0 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
59500 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 77 69 74 63 68 20 6f 6e 20 74 61 67 67 e">1/1.test.&quot;switch.on.tagg
59520 65 64 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ed.union&quot;....OK</span>.<spa
59540 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
59560 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>
59580 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>
595a0 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>
595c0 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f </li>.<li><a.href="#enum">enum</
595e0 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 69 6c 65 45 72 72 a></li>.<li><a.href="#compileErr
59600 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c or">@compileError</a></li>.<li><
59620 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 a.href="#Compile-Variables">Comp
59640 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 ile.Variables</a></li>.</ul>....
59660 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 6e .....<h3.id="Exhaustive-Switchin
59680 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 g"><a.href="#toc-Exhaustive-Swit
596a0 63 68 69 6e 67 22 3e 45 78 68 61 75 73 74 69 76 65 20 53 77 69 74 63 68 69 6e 67 3c 2f 61 3e 20 ching">Exhaustive.Switching</a>.
596c0 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 68 61 75 73 74 69 76 65 <a.class="hdr".href="#Exhaustive
596e0 2d 53 77 69 74 63 68 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c -Switching">..</a></h3>........<
59700 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 p>.......When.a.<code><span.clas
59720 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 s="line"><span.class="tok-kw">sw
59740 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 itch</span></span></code>.expres
59760 73 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 sion.does.not.have.an.<code><spa
59780 6e 20 63 6c 61 73 73 3d 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-
597a0 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6c kw">else</span></span></code>.cl
597c0 61 75 73 65 2c 0a 20 20 20 20 20 20 69 74 20 6d 75 73 74 20 65 78 68 61 75 73 74 69 76 65 6c 79 ause,.......it.must.exhaustively
597e0 20 6c 69 73 74 20 61 6c 6c 20 74 68 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 2e 20 46 .list.all.the.possible.values..F
59800 61 69 6c 75 72 65 20 74 6f 20 64 6f 20 73 6f 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 ailure.to.do.so.is.a.compile.err
59820 6f 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 or:.......</p>.......<figure><fi
59840 67 63 61 70 74 69 6f 6e 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
59860 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
59880 63 61 70 74 69 6f 6e 3e 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="
598a0 6c 69 6e 65 22 3e 3c 73 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
598c0 3c 2f 73 70 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.Color.=.<span.class="tok
598e0 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -kw">enum</span>.{</span>.<span.
59900 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 75 74 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 class="line">....auto,</span>.<s
59920 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 66 66 2c 3c 2f 73 70 61 6e 3e pan.class="line">....off,</span>
59940 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 2c 3c 2f 73 70 61 .<span.class="line">....on,</spa
59960 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>.
59980 3c 73 70 61 6e 20 63 6c 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
599a0 20 63 6c 61 73 73 3d 22 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
599c0 77 22 3e 74 65 73 74 3c 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-
599e0 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 68 61 75 73 74 69 76 65 20 73 77 69 74 63 68 69 6e 67 26 str">&quot;exhaustive.switching&
59a00 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
59a20 73 3d 22 6c 69 6e 65 22 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
59a40 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 6f 66 66 ">const</span>.color.=.Color.off
59a60 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
59a80 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
59aa0 6e 3e 20 28 63 6f 6c 6f 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>.(color).{</span>.<span.class=
59ac0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 43 6f 6c 6f 72 2e 61 75 74 6f 20 3d 26 67 74 3b 20 "line">........Color.auto.=&gt;.
59ae0 7b 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 {},</span>.<span.class="line">..
59b00 20 20 20 20 20 20 43 6f 6c 6f 72 2e 6f 6e 20 3d 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e 0a ......Color.on.=&gt;.{},</span>.
59b20 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>.
59b40 3c 73 70 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
59b60 65 3e 3c 2f 70 72 65 3e 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
59b80 74 69 6f 6e 20 63 6c 61 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
59ba0 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=
59bc0 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<
59be0 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">
59c00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f <span.class="t0_1">./docgen_tmp/
59c20 74 65 73 74 2e 7a 69 67 3a 39 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 test.zig:9:5:.</span><span.class
59c40 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 ="t31_1">error:.</span><span.cla
59c60 73 73 3d 22 74 30 5f 31 22 3e 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 20 27 43 6f 6c ss="t0_1">enumeration.value.'Col
59c80 6f 72 2e 6f 66 66 27 20 6e 6f 74 20 68 61 6e 64 6c 65 64 20 69 6e 20 73 77 69 74 63 68 3c 2f 73 or.off'.not.handled.in.switch</s
59ca0 70 61 6e 3e 3c 2f 73 70 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">.
59cc0 20 20 20 73 77 69 74 63 68 20 28 63 6f 6c 6f 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ...switch.(color).{</span>.<span
59ce0 20 63 6c 61 73 73 3d 22 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
59d00 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 32_1">^</span></span>.</samp></p
59d20 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
59d40 64 3d 22 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 d="Switching-with-Enum-Literals"
59d60 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e ><a.href="#toc-Switching-with-En
59d80 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 53 77 69 74 63 68 69 6e 67 20 77 69 74 68 20 45 6e 75 6d um-Literals">Switching.with.Enum
59da0 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
59dc0 66 3d 22 23 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 f="#Switching-with-Enum-Literals
59de0 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c ">..</a></h3>........<p>.......<
59e00 61 20 68 72 65 66 3d 22 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 a.href="#Enum-Literals">Enum.Lit
59e20 65 72 61 6c 73 3c 2f 61 3e 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 74 6f 20 75 73 65 20 77 erals</a>.can.be.useful.to.use.w
59e40 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 ith.<code><span.class="line"><sp
59e60 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><
59e80 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 61 76 6f 69 64 0a 20 20 20 20 20 20 72 65 70 /span></code>.to.avoid.......rep
59ea0 65 74 69 74 69 76 65 6c 79 20 73 70 65 63 69 66 79 69 6e 67 20 3c 61 20 68 72 65 66 3d 22 23 65 etitively.specifying.<a.href="#e
59ec0 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e num">enum</a>.or.<a.href="#union
59ee0 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ">union</a>.types:.......</p>...
59f00 20 20 20 20 3c 66 69 67 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
59f20 69 67 2d 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_
59f40 65 78 68 61 75 73 74 69 76 65 5f 73 77 69 74 63 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 exhaustive_switch.zig</cite></fi
59f60 67 63 61 70 74 69 6f 6e 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=
59f80 22 6c 69 6e 65 22 3e 3c 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
59fa0 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-
59fc0 62 75 69 6c 74 69 6e 22 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
59fe0 61 73 73 3d 22 74 6f 6b 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
5a000 70 61 6e 3e 29 3b 3c 2f 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"
5a020 3e 3c 73 70 61 6e 20 63 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
5a040 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;<
5a060 2f 73 70 61 6e 3e 0a 3c 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
5a080 3e 0a 3c 73 70 61 6e 20 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
5a0a0 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.=.<
5a0c0 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>.
5a0e0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
5a100 61 75 74 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e auto,</span>.<span.class="line">
5a120 20 20 20 20 6f 66 66 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ....off,</span>.<span.class="lin
5a140 65 22 3e 20 20 20 20 6f 6e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e">....on,</span>.<span.class="l
5a160 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
5a180 22 3e 3c 2f 73 70 61 6e 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
5a1a0 61 6e 20 63 6c 61 73 73 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
5a1c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6c pan.class="tok-str">&quot;enum.l
5a1e0 69 74 65 72 61 6c 73 20 77 69 74 68 20 73 77 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e iterals.with.switch&quot;</span>
5a200 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
5a220 20 3c 73 70 61 6e 20 63 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
5a240 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
5a260 61 6e 20 63 6c 61 73 73 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=
5a280 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c "tok-kw">const</span>.result.=.<
5a2a0 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
5a2c0 3e 20 28 63 6f 6c 6f 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >.(color).{</span>.<span.class="
5a2e0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 75 74 6f 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 line">.........auto.=&gt;.<span.
5a300 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f class="tok-null">false</span>,</
5a320 73 70 61 6e 3e 0a 3c 73 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">.......
5a340 20 2e 6f 6e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c ..on.=&gt;.<span.class="tok-null
5a360 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">false</span>,</span>.<span.cla
5a380 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6f 66 66 20 3d 26 67 74 3b 20 3c 73 70 ss="line">.........off.=&gt;.<sp
5a3a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c an.class="tok-null">true</span>,
5a3c0 3c 2f 73 70 61 6e 3e 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">....}
5a3e0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
5a400 3c 73 70 61 6e 20 63 6c 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>.
5a420 65 78 70 65 63 74 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 expect(result);</span>.<span.cla
5a440 73 73 3d 22 6c 69 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><
5a460 2f 66 69 67 75 72 65 3e 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
5a480 73 3d 22 73 68 65 6c 6c 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>
5a4a0 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">$.
5a4c0 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 78 68 61 75 73 74 69 76 65 5f 73 77 <kbd>zig.test.test_exhaustive_sw
5a4e0 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
5a500 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 65 6e 75 6d 20 6c 69 74 s="line">1/1.test.&quot;enum.lit
5a520 65 72 61 6c 73 20 77 69 74 68 20 73 77 69 74 63 68 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 erals.with.switch&quot;....OK</s
5a540 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
5a560 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>
5a580 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c </figure>......................<
5a5a0 68 32 20 69 64 3d 22 77 68 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 68 69 6c h2.id="while"><a.href="#toc-whil
5a5c0 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 e">while</a>.<a.class="hdr".href
5a5e0 3d 22 23 77 68 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e ="#while">..</a></h2>........<p>
5a600 0a 20 20 20 20 20 20 41 20 77 68 69 6c 65 20 6c 6f 6f 70 20 69 73 20 75 73 65 64 20 74 6f 20 72 .......A.while.loop.is.used.to.r
5a620 65 70 65 61 74 65 64 6c 79 20 65 78 65 63 75 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 epeatedly.execute.an.expression.
5a640 75 6e 74 69 6c 0a 20 20 20 20 20 20 73 6f 6d 65 20 63 6f 6e 64 69 74 69 6f 6e 20 69 73 20 6e 6f until.......some.condition.is.no
5a660 20 6c 6f 6e 67 65 72 20 74 72 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .longer.true........</p>.......<
5a680 66 69 67 75 72 65 3e 3c 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
5a6a0 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c p"><cite.class="file">while.zig<
5a6c0 2f 63 69 74 65 3e 3c 2f 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
5a6e0 70 61 6e 20 63 6c 61 73 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
5a700 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 k-kw">const</span>.expect.=.<spa
5a720 6e 20 63 6c 61 73 73 3d 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
5a740 70 61 6e 3e 28 3c 73 70 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
5a760 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 ;std&quot;</span>).testing.expec
5a780 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
5a7a0 70 61 6e 3e 0a 3c 73 70 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
5a7c0 61 73 73 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
5a7e0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 62 61 73 69 63 lass="tok-str">&quot;while.basic
5a800 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
5a820 73 73 3d 22 6c 69 6e 65 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
5a840 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">var</span>.i:.<span.class="to
5a860 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
5a880 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>
5a8a0 0a 3c 73 70 61 6e 20 63 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
5a8c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 ass="tok-kw">while</span>.(i.&lt
5a8e0 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 ;.<span.class="tok-number">10</s
5a900 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 pan>).{</span>.<span.class="line
5a920 22 3e 20 20 20 20 20 20 20 20 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">........i.+=.<span.class="tok-
5a940 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
5a960 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
5a980 6c 61 73 73 3d 22 6c 69 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
5a9a0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 20 3d 3d 20 3c 73 70 61 -kw">try</span>.expect(i.==.<spa
5a9c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b n.class="tok-number">10</span>);
5a9e0 3c 2f 73 70 61 6e 3e 0a 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
5aa00 61 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
5aa20 3e 3c 66 69 67 63 61 70 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
5aa40 68 65 6c 6c 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
5aa60 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
5aa80 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
5aaa0 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 62 61 s="line">1/1.test.&quot;while.ba
5aac0 73 69 63 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 sic&quot;....OK</span>.<span.cla
5aae0 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
5ab00 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>.....
5ab20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ..<p>.......Use.<code><span.clas
5ab40 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 s="line"><span.class="tok-kw">br
5ab60 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 65 78 69 74 eak</span></span></code>.to.exit
5ab80 20 61 20 77 68 69 6c 65 20 6c 6f 6f 70 20 65 61 72 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a .a.while.loop.early........</p>.
5aba0 20 20 20 20 20 20 3c 66 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=
5abc0 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 "zig-cap"><cite.class="file">whi
5abe0 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c le.zig</cite></figcaption><pre><
5ac00 63 6f 64 65 3e 3c 73 70 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
5ac20 61 73 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
5ac40 20 3d 20 3c 73 70 61 6e 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
5ac60 70 6f 72 74 3c 2f 73 70 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
5ac80 22 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
5aca0 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
5acc0 6e 65 22 3e 3c 2f 73 70 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"><
5ace0 73 70 61 6e 20 63 6c 61 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>.
5ad00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c <span.class="tok-str">&quot;whil
5ad20 65 20 62 72 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 e.break&quot;</span>.{</span>.<s
5ad40 70 61 6e 20 63 6c 61 73 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
5ad60 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c ="tok-kw">var</span>.i:.<span.cl
5ad80 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
5ada0 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>;
5adc0 3c 2f 73 70 61 6e 3e 0a 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">....<
5ade0 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>
5ae00 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 .(<span.class="tok-null">true</s
5ae20 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 pan>).{</span>.<span.class="line
5ae40 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 ">........<span.class="tok-kw">i
5ae60 66 3c 2f 73 70 61 6e 3e 20 28 69 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d f</span>.(i.==.<span.class="tok-
5ae80 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">10</span>)</span>.<span.
5aea0 63 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
5aec0 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
5aee0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 69 20 n>.<span.class="line">........i.
5af00 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
5af20 70 61 6e 3e 3b 3c 2f 73 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">
5af40 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">
5af60 20 20 20 20 3c 73 70 61 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
5af80 61 6e 3e 20 65 78 70 65 63 74 28 69 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b an>.expect(i.==.<span.class="tok
5afa0 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">10</span>);</span>.<spa
5afc0 6e 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></
5afe0 70 72 65 3e 3c 2f 66 69 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
5b000 20 63 6c 61 73 73 3d 22 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
5b020 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
5b040 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
5b060 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
5b080 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 62 72 65 61 6b 26 71 75 6f 74 3b 2e 2e 2e .test.&quot;while.break&quot;...
5b0a0 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
5b0c0 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>
5b0e0 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>.......
5b100 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 Use.<code><span.class="line"><sp
5b120 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e an.class="tok-kw">continue</span
5b140 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 6a 75 6d 70 20 62 61 63 6b 20 74 6f 20 ></span></code>.to.jump.back.to.
5b160 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 6f 6f 70 2e 0a 20 20 20 20 20 the.beginning.of.the.loop.......
5b180 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.
5b1a0 63 6c 61 73 73 3d 22 7a 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
5b1c0 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e e">while.zig</cite></figcaption>
5b1e0 3c 70 72 65 3e 3c 63 6f 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
5b200 70 61 6e 20 63 6c 61 73 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>.
5b220 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
5b240 6e 22 3e 40 69 6d 70 6f 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
5b260 6f 6b 2d 73 74 72 22 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>).
5b280 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
5b2a0 73 73 3d 22 6c 69 6e 65 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
5b2c0 69 6e 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</
5b2e0 73 70 61 6e 3e 20 3c 73 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
5b300 74 3b 77 68 69 6c 65 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c t;while.continue&quot;</span>.{<
5b320 2f 73 70 61 6e 3e 0a 3c 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
5b340 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a pan.class="tok-kw">var</span>.i:
5b360 20 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
5b380 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">
5b3a0 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
5b3c0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 ne">....<span.class="tok-kw">whi
5b3e0 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c le</span>.(<span.class="tok-null
5b400 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ">true</span>).{</span>.<span.cl
5b420 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c ass="line">........i.+=.<span.cl
5b440 61 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
5b460 3e 0a 3c 73 70 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
5b480 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 20 26 an.class="tok-kw">if</span>.(i.&
5b4a0 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<
5b4c0 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>)</span>.<span.class="line
5b4e0 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
5b500 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e w">continue</span>;</span>.<span
5b520 20 63 6c 61 73 73 3d 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
5b540 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-kw">break</span>;</span>.
5b560 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>.
5b580 3c 73 70 61 6e 20 63 6c 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
5b5a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 20 ss="tok-kw">try</span>.expect(i.
5b5c0 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f ==.<span.class="tok-number">10</
5b5e0 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
5b600 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>
5b620 3c 66 69 67 75 72 65 3e 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
5b640 2d 63 61 70 22 3e 53 68 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
5b660 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
5b680 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .test.while.zig</kbd></span>.<sp
5b6a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 an.class="line">1/1.test.&quot;w
5b6c0 68 69 6c 65 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e hile.continue&quot;....OK</span>
5b6e0 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.
5b700 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
5b720 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 69 6c 65 20 6c 6f 6f 70 gure>.......<p>.......While.loop
5b740 73 20 73 75 70 70 6f 72 74 20 61 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 20 s.support.a.continue.expression.
5b760 77 68 69 63 68 20 69 73 20 65 78 65 63 75 74 65 64 20 77 68 65 6e 20 74 68 65 20 6c 6f 6f 70 0a which.is.executed.when.the.loop.
5b780 20 20 20 20 20 20 69 73 20 63 6f 6e 74 69 6e 75 65 64 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 ......is.continued..The.<code><s
5b7a0 70 61 6e 20 63 6c 61 73 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
5b7c0 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f k-kw">continue</span></span></co
5b7e0 64 65 3e 20 6b 65 79 77 6f 72 64 20 72 65 73 70 65 63 74 73 20 74 68 69 73 20 65 78 70 72 65 73 de>.keyword.respects.this.expres
5b800 73 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c sion........</p>.......<figure><
5b820 66 69 67 63 61 70 74 69 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
5b840 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f .class="file">while.zig</cite></
5b860 66 69 67 63 61 70 74 69 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
5b880 73 3d 22 6c 69 6e 65 22 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
5b8a0 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=
5b8c0 22 74 6f 6b 2d 62 75 69 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
5b8e0 61 6e 20 63 6c 61 73 73 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
5b900 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
5b920 3e 0a 3c 73 70 61 6e 20 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
5b940 61 6e 20 63 6c 61 73 73 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
5b960 2d 6b 77 22 3e 74 65 73 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
5b980 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 k-str">&quot;while.loop.continue
5b9a0 20 65 78 70 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e .expression&quot;</span>.{</span
5b9c0 3e 0a 3c 73 70 61 6e 20 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
5b9e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 lass="tok-kw">var</span>.i:.<spa
5ba00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 n.class="tok-type">usize</span>.
5ba20 3d 20 3c 73 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
5ba40 61 6e 3e 3b 3c 2f 73 70 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">.
5ba60 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 ...<span.class="tok-kw">while</s
5ba80 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 pan>.(i.&lt;.<span.class="tok-nu
5baa0 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 mber">10</span>).:.(i.+=.<span.c
5bac0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f lass="tok-number">1</span>).{}</
5bae0 73 70 61 6e 3e 0a 3c 73 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
5bb00 61 6e 20 63 6c 61 73 73 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
5bb20 65 63 74 28 69 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 ect(i.==.<span.class="tok-number
5bb40 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">10</span>);</span>.<span.class
5bb60 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
5bb80 6e 65 22 3e 3c 2f 73 70 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"><
5bba0 73 70 61 6e 20 63 6c 61 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>.
5bbc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c <span.class="tok-str">&quot;whil
5bbe0 65 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 6d 6f 72 65 e.loop.continue.expression,.more
5bc00 20 63 6f 6d 70 6c 69 63 61 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 .complicated&quot;</span>.{</spa
5bc20 6e 3e 0a 3c 73 70 61 6e 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.
5bc40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 class="tok-kw">var</span>.i:.<sp
5bc60 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>
5bc80 20 3d 20 3c 73 70 61 6e 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
5bca0 70 61 6e 3e 3b 3c 2f 73 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">
5bcc0 20 20 20 20 3c 73 70 61 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
5bce0 61 6e 3e 20 6a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 an>.j:.<span.class="tok-type">us
5bd00 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
5bd20 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">1</span>;</span>.<span.cla
5bd40 73 73 3d 22 6c 69 6e 65 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
5bd60 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 2a 20 6a 20 26 6c 74 3b 20 3c 73 70 61 w">while</span>.(i.*.j.&lt;.<spa
5bd80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 30 30 3c 2f 73 70 61 6e 3e n.class="tok-number">2000</span>
5bda0 29 20 3a 20 28 7b 20 69 20 2a 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ).:.({.i.*=.<span.class="tok-num
5bdc0 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 20 6a 20 2a 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ber">2</span>;.j.*=.<span.class=
5bde0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 20 7d 29 20 7b 3c 2f 73 70 61 "tok-number">3</span>;.}).{</spa
5be00 6e 3e 0a 3c 73 70 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
5be20 70 61 6e 20 63 6c 61 73 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>.
5be40 6d 79 5f 69 6a 20 3d 20 69 20 2a 20 6a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 my_ij.=.i.*.j;</span>.<span.clas
5be60 73 3d 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
5be80 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 79 5f 69 6a 20 26 6c k-kw">try</span>.expect(my_ij.&l
5bea0 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 30 30 t;.<span.class="tok-number">2000
5bec0 3c 2f 73 70 61 6e 3e 29 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
5bee0 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
5bf00 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
5bf20 65 3e 3c 66 69 67 75 72 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
5bf40 6c 6c 2d 63 61 70 22 3e 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><
5bf60 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
5bf80 69 67 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c ig.test.while.zig</kbd></span>.<
5bfa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 span.class="line">1/2.test.&quot
5bfc0 3b 77 68 69 6c 65 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 26 ;while.loop.continue.expression&
5bfe0 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;....OK</span>.<span.class="
5c000 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 6c 6f 6f 70 20 line">2/2.test.&quot;while.loop.
5c020 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 continue.expression,.more.compli
5c040 63 61 74 65 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 cated&quot;....OK</span>.<span.c
5c060 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c lass="line">All.2.tests.passed.<
5c080 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>...
5c0a0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 69 6c 65 20 6c 6f 6f 70 73 20 61 72 65 20 65 78 ....<p>.......While.loops.are.ex
5c0c0 70 72 65 73 73 69 6f 6e 73 2e 20 54 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 65 78 70 pressions..The.result.of.the.exp
5c0e0 72 65 73 73 69 6f 6e 20 69 73 20 74 68 65 0a 20 20 20 20 20 20 72 65 73 75 6c 74 20 6f 66 20 74 ression.is.the.......result.of.t
5c100 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
5c120 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
5c140 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6c 61 75 73 65 20 6f 66 20 61 20 77 68 69 6c 65 20 6c 6f 6f an></code>.clause.of.a.while.loo
5c160 70 2c 20 77 68 69 63 68 20 69 73 20 65 78 65 63 75 74 65 64 20 77 68 65 6e 0a 20 20 20 20 20 20 p,.which.is.executed.when.......
5c180 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 77 68 69 6c 65 20 6c 6f 6f 70 20 the.condition.of.the.while.loop.
5c1a0 69 73 20 74 65 73 74 65 64 20 61 73 20 66 61 6c 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 is.tested.as.false........</p>..
5c1c0 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
5c1e0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 ="line"><span.class="tok-kw">bre
5c200 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6c 69 6b 65 20 3c 63 ak</span></span></code>,.like.<c
5c220 6f 64 65 3e 3c 73 70 61 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
5c240 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ss="tok-kw">return</span></span>
5c260 3c 2f 63 6f 64 65 3e 2c 20 61 63 63 65 70 74 73 20 61 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 </code>,.accepts.a.value........
5c280 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 2e 20 54 68 69 73 20 69 73 20 74 68 65 20 72 65 .......parameter..This.is.the.re
5c2a0 73 75 6c 74 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c sult.of.the.<code><span.class="l
5c2c0 69 6e 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<
5c2e0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 2e /span></span></code>.expression.
5c300 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 79 6f 75 20 3c 63 6f 64 ...................When.you.<cod
5c320 65 3e 3c 73 70 61 6e 20 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
5c340 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ="tok-kw">break</span></span></c
5c360 6f 64 65 3e 20 66 72 6f 6d 20 61 20 77 68 69 6c 65 20 6c 6f 6f 70 2c 20 74 68 65 20 3c 63 6f 64 ode>.from.a.while.loop,.the.<cod
5c380 65 3e 3c 73 70 61 6e 20 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
5c3a0 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ="tok-kw">else</span></span></co
5c3c0 64 65 3e 20 62 72 61 6e 63 68 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 65 76 61 6c 75 61 74 65 de>.branch.is.not.......evaluate
5c3e0 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 d........</p>.......<figure><fig
5c400 63 61 70 74 69 6f 6e 20 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
5c420 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ass="file">while.zig</cite></fig
5c440 63 61 70 74 69 6f 6e 3e 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="
5c460 6c 69 6e 65 22 3e 3c 73 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
5c480 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>.expect.=.<span.class="to
5c4a0 6b 2d 62 75 69 6c 74 69 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.
5c4c0 63 6c 61 73 73 3d 22 74 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;<
5c4e0 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c /span>).testing.expect;</span>.<
5c500 73 70 61 6e 20 63 6c 61 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.
5c520 63 6c 61 73 73 3d 22 6c 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
5c540 22 3e 74 65 73 74 3c 2f 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
5c560 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 65 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e tr">&quot;while.else&quot;</span
5c580 3e 20 7b 3c 2f 73 70 61 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">..
5c5a0 20 20 3c 73 70 61 6e 20 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
5c5c0 3e 20 65 78 70 65 63 74 28 72 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 28 3c 73 70 61 6e 20 63 6c >.expect(rangeHasNumber(<span.cl
5c5e0 61 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
5c600 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>,.<
5c620 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>
5c640 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">..
5c660 20 20 3c 73 70 61 6e 20 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
5c680 3e 20 65 78 70 65 63 74 28 21 72 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 28 3c 73 70 61 6e 20 63 >.expect(!rangeHasNumber(<span.c
5c6a0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 lass="tok-number">0</span>,.<spa
5c6c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 n.class="tok-number">10</span>,.
5c6e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 35 3c 2f 73 70 61 <span.class="tok-number">15</spa
5c700 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">
5c720 7d 3c 2f 73 70 61 6e 3e 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
5c740 61 6e 3e 0a 3c 73 70 61 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
5c760 73 73 3d 22 74 6f 6b 2d 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
5c780 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e s="tok-fn">rangeHasNumber</span>
5c7a0 28 62 65 67 69 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 (begin:.<span.class="tok-type">u
5c7c0 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 65 6e 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 size</span>,.end:.<span.class="t
5c7e0 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 6e 75 6d 62 65 72 3a 20 3c ok-type">usize</span>,.number:.<
5c800 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
5c820 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c n>).<span.class="tok-type">bool<
5c840 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
5c860 65 22 3e 20 20 20 20 3c 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<
5c880 2f 73 70 61 6e 3e 20 69 20 3d 20 62 65 67 69 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 /span>.i.=.begin;</span>.<span.c
5c8a0 6c 61 73 73 3d 22 6c 69 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
5c8c0 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="
5c8e0 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 65 6e 64 tok-kw">while</span>.(i.&lt;.end
5c900 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ).:.(i.+=.<span.class="tok-numbe
5c920 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r">1</span>).{</span>.<span.clas
5c940 73 3d 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
5c960 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 20 3d 3d 20 6e 75 6d 62 65 72 29 20 7b 3c k-kw">if</span>.(i.==.number).{<
5c980 2f 73 70 61 6e 3e 0a 3c 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">......
5c9a0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b ......<span.class="tok-kw">break
5c9c0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 </span>.<span.class="tok-null">t
5c9e0 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 rue</span>;</span>.<span.class="
5ca00 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 line">........}</span>.<span.cla
5ca20 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
5ca40 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f -kw">else</span>.<span.class="to
5ca60 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
5ca80 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><
5caa0 2f 70 72 65 3e 3c 2f 66 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
5cac0 6e 20 63 6c 61 73 73 3d 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
5cae0 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
5cb00 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b ne">$.<kbd>zig.test.while.zig</k
5cb20 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/
5cb40 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 65 6c 73 65 26 71 75 6f 74 3b 2e 2e 2e 1.test.&quot;while.else&quot;...
5cb60 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
5cb80 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>
5cba0 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4c 61 </pre></figure>.......<h3.id="La
5cbc0 62 65 6c 65 64 2d 77 68 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4c 61 62 65 6c beled-while"><a.href="#toc-Label
5cbe0 65 64 2d 77 68 69 6c 65 22 3e 4c 61 62 65 6c 65 64 20 77 68 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 ed-while">Labeled.while</a>.<a.c
5cc00 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 77 68 69 6c 65 22 lass="hdr".href="#Labeled-while"
5cc20 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 3c 63 >..</a></h3>........<p>When.a.<c
5cc40 6f 64 65 3e 3c 73 70 61 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
5cc60 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ss="tok-kw">while</span></span><
5cc80 2f 63 6f 64 65 3e 20 6c 6f 6f 70 20 69 73 20 6c 61 62 65 6c 65 64 2c 20 69 74 20 63 61 6e 20 62 /code>.loop.is.labeled,.it.can.b
5cca0 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 e.referenced.from.a.<code><span.
5ccc0 63 6c 61 73 73 3d 22 6c 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
5cce0 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 ">break</span></span></code>....
5cd00 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ...........or.<code><span.class=
5cd20 22 6c 69 6e 65 22 3e 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
5cd40 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 77 inue</span></span></code>.from.w
5cd60 69 74 68 69 6e 20 61 20 6e 65 73 74 65 64 20 6c 6f 6f 70 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ithin.a.nested.loop:</p>.......<
5cd80 66 69 67 75 72 65 3e 3c 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
5cda0 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 65 73 74 65 p"><cite.class="file">test_neste
5cdc0 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c d_break.zig</cite></figcaption><
5cde0 70 72 65 3e 3c 63 6f 64 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
5ce00 61 6e 20 63 6c 61 73 73 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
5ce20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 pan.class="tok-str">&quot;nested
5ce40 20 62 72 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .break&quot;</span>.{</span>.<sp
5ce60 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
5ce80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 .class="tok-kw">while</span>.(<s
5cea0 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>
5cec0 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">..
5cee0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 ......<span.class="tok-kw">while
5cf00 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e </span>.(<span.class="tok-null">
5cf20 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 true</span>).{</span>.<span.clas
5cf40 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
5cf60 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 3c 2f ="tok-kw">break</span>.:outer;</
5cf80 73 70 61 6e 3e 0a 3c 73 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">.......
5cfa0 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">...
5cfc0 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">}</
5cfe0 73 70 61 6e 3e 0a 3c 73 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>
5d000 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
5d020 22 74 6f 6b 2d 6b 77 22 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
5d040 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 ="tok-str">&quot;nested.continue
5d060 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
5d080 73 73 3d 22 6c 69 6e 65 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
5d0a0 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">var</span>.i:.<span.class="to
5d0c0 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
5d0e0 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>
5d100 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 75 74 65 72 3a 20 3c .<span.class="line">....outer:.<
5d120 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>
5d140 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 .(i.&lt;.<span.class="tok-number
5d160 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">10</span>).:.(i.+=.<span.class
5d180 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>
5d1a0 0a 3c 73 70 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
5d1c0 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>.(<
5d1e0 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
5d200 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">.
5d220 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ...........<span.class="tok-kw">
5d240 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c continue</span>.:outer;</span>.<
5d260 73 70 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
5d280 6e 3e 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
5d2a0 6e 3e 0a 3c 73 70 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></
5d2c0 63 6f 64 65 3e 3c 2f 70 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
5d2e0 63 61 70 74 69 6f 6e 20 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<
5d300 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
5d320 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e ss="line">$.<kbd>zig.test.test_n
5d340 65 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ested_break.zig</kbd></span>.<sp
5d360 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 6e an.class="line">1/2.test.&quot;n
5d380 65 73 74 65 64 20 62 72 65 61 6b 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c ested.break&quot;....OK</span>.<
5d3a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 span.class="line">2/2.test.&quot
5d3c0 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 ;nested.continue&quot;....OK</sp
5d3e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 32 20 74 65 73 an>.<span.class="line">All.2.tes
5d400 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><
5d420 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 77 68 /figure>..............<h3.id="wh
5d440 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ile-with-Optionals"><a.href="#to
5d460 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 77 68 69 6c 65 20 77 69 c-while-with-Optionals">while.wi
5d480 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 th.Optionals</a>.<a.class="hdr".
5d4a0 68 72 65 66 3d 22 23 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c href="#while-with-Optionals">..<
5d4c0 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 6c /a></h3>........<p>.......Just.l
5d4e0 69 6b 65 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 73 73 ike.<a.href="#if">if</a>.express
5d500 69 6f 6e 73 2c 20 77 68 69 6c 65 20 6c 6f 6f 70 73 20 63 61 6e 20 74 61 6b 65 20 61 6e 20 6f 70 ions,.while.loops.can.take.an.op
5d520 74 69 6f 6e 61 6c 20 61 73 20 74 68 65 0a 20 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e tional.as.the.......condition.an
5d540 64 20 63 61 70 74 75 72 65 20 74 68 65 20 70 61 79 6c 6f 61 64 2e 20 57 68 65 6e 20 3c 61 20 68 d.capture.the.payload..When.<a.h
5d560 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 69 73 20 65 6e 63 6f 75 6e 74 65 ref="#null">null</a>.is.encounte
5d580 72 65 64 20 74 68 65 20 6c 6f 6f 70 0a 20 20 20 20 20 20 65 78 69 74 73 2e 0a 20 20 20 20 20 20 red.the.loop.......exits........
5d5a0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 74 68 65 20 3c 63 </p>.......<p>.......When.the.<c
5d5c0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7c 78 7c 3c 2f 73 70 61 6e ode><span.class="line">|x|</span
5d5e0 3e 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 69 73 20 70 72 65 73 65 6e 74 20 6f 6e 20 61 20 ></code>.syntax.is.present.on.a.
5d600 3c 63 6f 64 65 3e 3c 73 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
5d620 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e lass="tok-kw">while</span></span
5d640 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 65 20 77 ></code>.expression,.......the.w
5d660 68 69 6c 65 20 63 6f 6e 64 69 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 6e 20 3c 61 20 68 hile.condition.must.have.an.<a.h
5d680 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 4f 70 74 69 6f 6e 61 6c 20 54 79 ref="#Optional-Type">Optional.Ty
5d6a0 70 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 pe</a>........</p>.......<p>....
5d6c0 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">
5d6e0 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>
5d700 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 72 61 6e 63 68 20 69 73 20 61 6c 6c 6f 77 65 64 </span></code>.branch.is.allowed
5d720 20 6f 6e 20 6f 70 74 69 6f 6e 61 6c 20 69 74 65 72 61 74 69 6f 6e 2e 20 49 6e 20 74 68 69 73 20 .on.optional.iteration..In.this.
5d740 63 61 73 65 2c 20 69 74 20 77 69 6c 6c 0a 20 20 20 20 20 20 62 65 20 65 78 65 63 75 74 65 64 20 case,.it.will.......be.executed.
5d760 6f 6e 20 74 68 65 20 66 69 72 73 74 20 6e 75 6c 6c 20 76 61 6c 75 65 20 65 6e 63 6f 75 6e 74 65 on.the.first.null.value.encounte
5d780 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 red........</p>.......<figure><f
5d7a0 69 67 63 61 70 74 69 6f 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.
5d7c0 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 class="file">while.zig</cite></f
5d7e0 69 67 63 61 70 74 69 6f 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
5d800 3d 22 6c 69 6e 65 22 3e 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
5d820 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="
5d840 74 6f 6b 2d 62 75 69 6c 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
5d860 6e 20 63 6c 61 73 73 3d 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
5d880 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>
5d8a0 0a 3c 73 70 61 6e 20 63 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
5d8c0 6e 20 63 6c 61 73 73 3d 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-
5d8e0 6b 77 22 3e 74 65 73 74 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
5d900 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 6e 75 6c 6c 20 63 61 70 74 75 72 65 26 71 -str">&quot;while.null.capture&q
5d920 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
5d940 3d 22 6c 69 6e 65 22 3e 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"
5d960 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >var</span>.sum1:.<span.class="t
5d980 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ok-type">u32</span>.=.<span.clas
5d9a0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-number">0</span>;</span>.
5d9c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c <span.class="line">....numbers_l
5d9e0 65 66 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 eft.=.<span.class="tok-number">3
5da00 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
5da20 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c e">....<span.class="tok-kw">whil
5da40 65 3c 2f 73 70 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c 6c 79 4e 75 6c 6c 53 65 71 75 65 6e 63 65 e</span>.(eventuallyNullSequence
5da60 28 29 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ()).|value|.{</span>.<span.class
5da80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 31 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f ="line">........sum1.+=.value;</
5daa0 73 70 61 6e 3e 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">....}</
5dac0 73 70 61 6e 3e 0a 3c 73 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
5dae0 61 6e 20 63 6c 61 73 73 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
5db00 65 63 74 28 73 75 6d 31 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ect(sum1.==.<span.class="tok-num
5db20 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">3</span>);</span>.<span.cla
5db40 73 73 3d 22 6c 69 6e 65 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
5db60 69 6e 65 22 3e 20 20 20 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
5db80 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d r</span>.sum2:.<span.class="tok-
5dba0 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">u32</span>.=.<span.class="
5dbc0 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
5dbe0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 an.class="line">....numbers_left
5dc00 20 3d 20 3c 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
5dc20 70 61 6e 3e 3b 3c 2f 73 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">
5dc40 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f ....<span.class="tok-kw">while</
5dc60 73 70 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c 6c 79 4e 75 6c 6c 53 65 71 75 65 6e 63 65 28 29 29 span>.(eventuallyNullSequence())
5dc80 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .|value|.{</span>.<span.class="l
5dca0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 32 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 ine">........sum2.+=.value;</spa
5dcc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 n>.<span.class="line">....}.<spa
5dce0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f n.class="tok-kw">else</span>.{</
5dd00 73 70 61 6e 3e 0a 3c 73 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">.......
5dd20 20 3c 73 70 61 6e 20 63 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>
5dd40 20 65 78 70 65 63 74 28 73 75 6d 32 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b .expect(sum2.==.<span.class="tok
5dd60 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">3</span>);</span>.<span
5dd80 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
5dda0 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
5ddc0 73 73 3d 22 6c 69 6e 65 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
5dde0 69 6e 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
5de00 70 61 6e 3e 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>.numbers_left:.<span.class="
5de20 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
5de40 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>;<
5de60 2f 73 70 61 6e 3e 0a 3c 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.
5de80 63 6c 61 73 73 3d 22 74 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
5dea0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 76 65 6e 74 75 61 6c 6c 79 4e 75 6c 6c 53 65 71 75 lass="tok-fn">eventuallyNullSequ
5dec0 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 29 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ence</span>().?<span.class="tok-
5dee0 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 type">u32</span>.{</span>.<span.
5df00 63 6c 61 73 73 3d 22 6c 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
5df20 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=
5df40 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 73 5f 6c 65 66 74 "tok-kw">if</span>.(numbers_left
5df60 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f .==.<span.class="tok-number">0</
5df80 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 span>).<span.class="tok-null">nu
5dfa0 6c 6c 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 ll</span>.<span.class="tok-kw">e
5dfc0 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 lse</span>.blk:.{</span>.<span.c
5dfe0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 lass="line">........numbers_left
5e000 20 2d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f .-=.<span.class="tok-number">1</
5e020 73 70 61 6e 3e 3b 3c 2f 73 70 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"
5e040 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 >........<span.class="tok-kw">br
5e060 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3b 3c 2f 73 eak</span>.:blk.numbers_left;</s
5e080 70 61 6e 3e 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">....};</
5e0a0 73 70 61 6e 3e 0a 3c 73 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
5e0c0 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><
5e0e0 66 69 67 63 61 70 74 69 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
5e100 6c 6c 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.
5e120 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 77 68 69 class="line">$.<kbd>zig.test.whi
5e140 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d le.zig</kbd></span>.<span.class=
5e160 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 6e 75 6c 6c "line">1/1.test.&quot;while.null
5e180 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .capture&quot;....OK</span>.<spa
5e1a0 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
5e1c0 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>
5e1e0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 77 68 69 6c 65 2d 77 69 74 ...............<h3.id="while-wit
5e200 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 68 h-Error-Unions"><a.href="#toc-wh
5e220 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 77 68 69 6c 65 20 77 69 74 ile-with-Error-Unions">while.wit
5e240 68 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 h.Error.Unions</a>.<a.class="hdr
5e260 22 20 68 72 65 66 3d 22 23 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 ".href="#while-with-Error-Unions
5e280 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4a ">..</a></h3>........<p>.......J
5e2a0 75 73 74 20 6c 69 6b 65 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 ust.like.<a.href="#if">if</a>.ex
5e2c0 70 72 65 73 73 69 6f 6e 73 2c 20 77 68 69 6c 65 20 6c 6f 6f 70 73 20 63 61 6e 20 74 61 6b 65 20 pressions,.while.loops.can.take.
5e2e0 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 61 73 0a 20 20 20 20 20 20 74 68 65 20 63 6f 6e 64 an.error.union.as.......the.cond
5e300 69 74 69 6f 6e 20 61 6e 64 20 63 61 70 74 75 72 65 20 74 68 65 20 70 61 79 6c 6f 61 64 20 6f 72 ition.and.capture.the.payload.or
5e320 20 74 68 65 20 65 72 72 6f 72 20 63 6f 64 65 2e 20 57 68 65 6e 20 74 68 65 0a 20 20 20 20 20 20 .the.error.code..When.the.......
5e340 63 6f 6e 64 69 74 69 6f 6e 20 72 65 73 75 6c 74 73 20 69 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f condition.results.in.an.error.co
5e360 64 65 20 74 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 de.the.else.branch.is.evaluated.
5e380 61 6e 64 0a 20 20 20 20 20 20 74 68 65 20 6c 6f 6f 70 20 69 73 20 66 69 6e 69 73 68 65 64 2e 0a and.......the.loop.is.finished..
5e3a0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 ......</p>.......<p>.......When.
5e3c0 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 the.<code><span.class="line"><sp
5e3e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 78 an.class="tok-kw">else</span>.|x
5e400 7c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 69 73 20 70 72 65 73 65 6e |</span></code>.syntax.is.presen
5e420 74 20 6f 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e t.on.a.<code><span.class="line">
5e440 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
5e460 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 ></span></code>.expression,.....
5e480 20 20 74 68 65 20 77 68 69 6c 65 20 63 6f 6e 64 69 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 ..the.while.condition.must.have.
5e4a0 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 an.<a.href="#Error-Union-Type">E
5e4c0 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a rror.Union.Type</a>........</p>.
5e4e0 20 20 20 20 20 20 3c 66 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=
5e500 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 "zig-cap"><cite.class="file">whi
5e520 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c le.zig</cite></figcaption><pre><
5e540 63 6f 64 65 3e 3c 73 70 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
5e560 61 73 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
5e580 20 3d 20 3c 73 70 61 6e 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
5e5a0 70 6f 72 74 3c 2f 73 70 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
5e5c0 22 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
5e5e0 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
5e600 6e 65 22 3e 3c 2f 73 70 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"><
5e620 73 70 61 6e 20 63 6c 61 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>.
5e640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c <span.class="tok-str">&quot;whil
5e660 65 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b 3c 2f 73 70 61 e.error.union.capture&quot;</spa
5e680 6e 3e 20 7b 3c 2f 73 70 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">.
5e6a0 20 20 20 3c 73 70 61 6e 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
5e6c0 6e 3e 20 73 75 6d 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e n>.sum1:.<span.class="tok-type">
5e6e0 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
5e700 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
5e720 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 20 3c 73 70 ss="line">....numbers_left.=.<sp
5e740 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c an.class="tok-number">3</span>;<
5e760 2f 73 70 61 6e 3e 0a 3c 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
5e780 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">while</span>.
5e7a0 28 65 76 65 6e 74 75 61 6c 6c 79 45 72 72 6f 72 53 65 71 75 65 6e 63 65 28 29 29 20 7c 76 61 6c (eventuallyErrorSequence()).|val
5e7c0 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">
5e7e0 20 20 20 20 20 20 20 20 73 75 6d 31 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ........sum1.+=.value;</span>.<s
5e800 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
5e820 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c ss="tok-kw">else</span>.|err|.{<
5e840 2f 73 70 61 6e 3e 0a 3c 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">......
5e860 20 20 3c 73 70 61 6e 20 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
5e880 3e 20 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >.expect(err.==.<span.class="tok
5e8a0 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 52 65 61 63 68 65 64 5a 65 72 6f 29 3b 3c -kw">error</span>.ReachedZero);<
5e8c0 2f 73 70 61 6e 3e 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">....}<
5e8e0 2f 73 70 61 6e 3e 0a 3c 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
5e900 6e 3e 0a 3c 73 70 61 6e 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
5e920 70 61 6e 20 63 6c 61 73 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
5e940 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3a 20 3c k-kw">var</span>.numbers_left:.<
5e960 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>
5e980 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 .=.<span.class="tok-null">undefi
5e9a0 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ned</span>;</span>.<span.class="
5e9c0 6c 69 6e 65 22 3e 3c 2f 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"
5e9e0 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>.
5ea00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 76 65 6e 74 75 61 6c 6c 79 45 <span.class="tok-fn">eventuallyE
5ea20 72 72 6f 72 53 65 71 75 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 rrorSequence</span>().<span.clas
5ea40 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
5ea60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b an.class="tok-type">u32</span>.{
5ea80 3c 2f 73 70 61 6e 3e 0a 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">....<
5eaa0 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
5eac0 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>
5eae0 20 28 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .(numbers_left.==.<span.class="t
5eb00 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">0</span>).<span.class
5eb20 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 52 65 61 63 68 65 64 5a 65 ="tok-kw">error</span>.ReachedZe
5eb40 72 6f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 ro.<span.class="tok-kw">else</sp
5eb60 61 6e 3e 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c an>.blk:.{</span>.<span.class="l
5eb80 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 2d 3d 20 3c 73 70 ine">........numbers_left.-=.<sp
5eba0 61 6e 20 63 6c 61 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>;<
5ebc0 2f 73 70 61 6e 3e 0a 3c 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">......
5ebe0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 ..<span.class="tok-kw">break</sp
5ec00 61 6e 3e 20 3a 62 6c 6b 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 an>.:blk.numbers_left;</span>.<s
5ec20 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>.<
5ec40 73 70 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
5ec60 3e 3c 2f 70 72 65 3e 3c 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
5ec80 69 6f 6e 20 63 6c 61 73 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
5eca0 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="
5ecc0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 3c line">$.<kbd>zig.test.while.zig<
5ece0 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">
5ed00 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 65 72 72 6f 72 20 75 6e 69 6f 6e 1/1.test.&quot;while.error.union
5ed20 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .capture&quot;....OK</span>.<spa
5ed40 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
5ed60 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>
5ed80 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 6c 69 6e 65 2d 77 68 ...............<h3.id="inline-wh
5eda0 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 ile"><a.href="#toc-inline-while"
5edc0 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 >inline.while</a>.<a.class="hdr"
5ede0 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 .href="#inline-while">..</a></h3
5ee00 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 69 6c 65 20 6c 6f 6f 70 73 20 63 >........<p>.......While.loops.c
5ee20 61 6e 20 62 65 20 69 6e 6c 69 6e 65 64 2e 20 54 68 69 73 20 63 61 75 73 65 73 20 74 68 65 20 6c an.be.inlined..This.causes.the.l
5ee40 6f 6f 70 20 74 6f 20 62 65 20 75 6e 72 6f 6c 6c 65 64 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 oop.to.be.unrolled,.which.......
5ee60 61 6c 6c 6f 77 73 20 74 68 65 20 63 6f 64 65 20 74 6f 20 64 6f 20 73 6f 6d 65 20 74 68 69 6e 67 allows.the.code.to.do.some.thing
5ee80 73 20 77 68 69 63 68 20 6f 6e 6c 79 20 77 6f 72 6b 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d s.which.only.work.at.compile.tim
5eea0 65 2c 0a 20 20 20 20 20 20 73 75 63 68 20 61 73 20 75 73 65 20 74 79 70 65 73 20 61 73 20 66 69 e,.......such.as.use.types.as.fi
5eec0 72 73 74 20 63 6c 61 73 73 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 rst.class.values........</p>....
5eee0 20 20 20 3c 66 69 67 75 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
5ef00 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 g-cap"><cite.class="file">test_i
5ef20 6e 6c 69 6e 65 5f 77 68 69 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 nline_while.zig</cite></figcapti
5ef40 6f 6e 3e 3c 70 72 65 3e 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"
5ef60 3e 3c 73 70 61 6e 20 63 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
5ef80 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
5efa0 6c 74 69 6e 22 3e 40 69 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
5efc0 3d 22 74 6f 6b 2d 73 74 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
5efe0 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.
5f000 63 6c 61 73 73 3d 22 6c 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
5f020 3d 22 6c 69 6e 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
5f040 74 3c 2f 73 70 61 6e 3e 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">&
5f060 71 75 6f 74 3b 69 6e 6c 69 6e 65 20 77 68 69 6c 65 20 6c 6f 6f 70 26 71 75 6f 74 3b 3c 2f 73 70 quot;inline.while.loop&quot;</sp
5f080 61 6e 3e 20 7b 3c 2f 73 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">
5f0a0 20 20 20 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
5f0c0 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 e</span>.<span.class="tok-kw">va
5f0e0 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 r</span>.i.=.<span.class="tok-nu
5f100 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
5f120 73 73 3d 22 6c 69 6e 65 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
5f140 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w">var</span>.sum:.<span.class="
5f160 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
5f180 6c 61 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
5f1a0 6e 3e 0a 3c 73 70 61 6e 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.
5f1c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 class="tok-kw">inline</span>.<sp
5f1e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 an.class="tok-kw">while</span>.(
5f200 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">
5f220 33 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 3</span>).:.(i.+=.<span.class="t
5f240 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-number">1</span>).{</span>.<s
5f260 70 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
5f280 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 20 3d 20 3c lass="tok-kw">const</span>.T.=.<
5f2a0 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
5f2c0 3e 20 28 69 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 >.(i).{</span>.<span.class="line
5f2e0 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">............<span.class="tok-n
5f300 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 umber">0</span>.=&gt;.<span.clas
5f320 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>.
5f340 3c 73 70 61 6e 20 63 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">............<
5f360 73 70 61 6e 20 63 6c 61 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>
5f380 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 .=&gt;.<span.class="tok-type">i8
5f3a0 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
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 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 number">2</span>.=&gt;.<span.cla
5f400 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e ss="tok-type">bool</span>,</span
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 20 20 20 20 20 20 20 >.<span.class="line">...........
5f440 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e .<span.class="tok-kw">else</span
5f460 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 >.=&gt;.<span.class="tok-kw">unr
5f480 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c eachable</span>,</span>.<span.cl
5f4a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ass="line">........};</span>.<sp
5f4c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 74 an.class="line">........sum.+=.t
5f4e0 79 70 65 4e 61 6d 65 4c 65 6e 67 74 68 28 54 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ypeNameLength(T);</span>.<span.c
5f500 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
5f520 6c 61 73 73 3d 22 6c 69 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
5f540 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
5f560 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">9</span>)
5f580 3b 3c 2f 73 70 61 6e 3e 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
5f5a0 70 61 6e 3e 0a 3c 73 70 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>.
5f5c0 3c 73 70 61 6e 20 63 6c 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="
5f5e0 74 6f 6b 2d 6b 77 22 3e 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
5f600 6f 6b 2d 66 6e 22 3e 74 79 70 65 4e 61 6d 65 4c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 28 3c 73 70 ok-fn">typeNameLength</span>(<sp
5f620 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
5f640 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
5f660 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">
5f680 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 usize</span>.{</span>.<span.clas
5f6a0 73 3d 22 6c 69 6e 65 22 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
5f6c0 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
5f6e0 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 54 29 2e 6c 65 -builtin">@typeName</span>(T).le
5f700 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f n;</span>.<span.class="line">}</
5f720 73 70 61 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
5f740 72 65 3e 3c 66 69 67 63 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"
5f760 3e 53 68 65 6c 6c 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
5f780 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
5f7a0 20 74 65 73 74 5f 69 6e 6c 69 6e 65 5f 77 68 69 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 .test_inline_while.zig</kbd></sp
5f7c0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 an>.<span.class="line">1/1.test.
5f7e0 26 71 75 6f 74 3b 69 6e 6c 69 6e 65 20 77 68 69 6c 65 20 6c 6f 6f 70 26 71 75 6f 74 3b 2e 2e 2e &quot;inline.while.loop&quot;...
5f800 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
5f820 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>
5f840 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>.......
5f860 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c It.is.recommended.to.use.<code><
5f880 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
5f8a0 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
5f8c0 65 3e 20 6c 6f 6f 70 73 20 6f 6e 6c 79 20 66 6f 72 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 72 e>.loops.only.for.one.of.these.r
5f8e0 65 61 73 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 easons:.......</p>.......<ul>...
5f900 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 6e 65 65 64 20 74 68 65 20 6c 6f 6f 70 20 74 6f 20 65 ......<li>You.need.the.loop.to.e
5f920 78 65 63 75 74 65 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f xecute.at.<a.href="#comptime">co
5f940 6d 70 74 69 6d 65 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 20 74 6f 20 mptime</a>.for.the.semantics.to.
5f960 77 6f 72 6b 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 work.</li>.........<li>.........
5f980 59 6f 75 20 68 61 76 65 20 61 20 62 65 6e 63 68 6d 61 72 6b 20 74 6f 20 70 72 6f 76 65 20 74 68 You.have.a.benchmark.to.prove.th
5f9a0 61 74 20 66 6f 72 63 69 62 6c 79 20 75 6e 72 6f 6c 6c 69 6e 67 20 74 68 65 20 6c 6f 6f 70 20 69 at.forcibly.unrolling.the.loop.i
5f9c0 6e 20 74 68 69 73 20 77 61 79 20 69 73 20 6d 65 61 73 75 72 61 62 6c 79 20 66 61 73 74 65 72 2e n.this.way.is.measurably.faster.
5f9e0 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 .........</li>.......</ul>......
5fa00 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 ........<p>See.also:</p><ul>.<li
5fa20 3e 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c ><a.href="#if">if</a></li>.<li><
5fa40 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 a.href="#Optionals">Optionals</a
5fa60 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 ></li>.<li><a.href="#Errors">Err
5fa80 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 ors</a></li>.<li><a.href="#compt
5faa0 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 ime">comptime</a></li>.<li><a.hr
5fac0 65 66 3d 22 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 ef="#unreachable">unreachable</a
5fae0 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 ></li>.</ul>...............<h2.i
5fb00 64 3d 22 66 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 6f 72 22 3e 66 6f 72 3c 2f d="for"><a.href="#toc-for">for</
5fb20 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 6f 72 22 3e c2 a7 a>.<a.class="hdr".href="#for">..
5fb40 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 </a></h2>........<figure><figcap
5fb60 74 69 6f 6e 20 63 6c 61 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
5fb80 3d 22 66 69 6c 65 22 3e 66 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 ="file">for.zig</cite></figcapti
5fba0 6f 6e 3e 3c 70 72 65 3e 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"
5fbc0 3e 3c 73 70 61 6e 20 63 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
5fbe0 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
5fc00 6c 74 69 6e 22 3e 40 69 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
5fc20 3d 22 74 6f 6b 2d 73 74 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
5fc40 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.
5fc60 63 6c 61 73 73 3d 22 6c 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
5fc80 3d 22 6c 69 6e 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
5fca0 74 3c 2f 73 70 61 6e 3e 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">&
5fcc0 71 75 6f 74 3b 66 6f 72 20 62 61 73 69 63 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f quot;for.basics&quot;</span>.{</
5fce0 73 70 61 6e 3e 0a 3c 73 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
5fd00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 an.class="tok-kw">const</span>.i
5fd20 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 tems.=.[_]<span.class="tok-type"
5fd40 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >i32</span>.{.<span.class="tok-n
5fd60 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
5fd80 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">5</span>,.<span.class=
5fda0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">3</span>,.<span.cla
5fdc0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">4</span>,.<span.
5fde0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f class="tok-number">0</span>.};</
5fe00 73 70 61 6e 3e 0a 3c 73 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
5fe20 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d an.class="tok-kw">var</span>.sum
5fe40 3a 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
5fe60 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
5fe80 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
5fea0 65 22 3e 3c 2f 73 70 61 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">..
5fec0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 ..<span.class="tok-comment">//.F
5fee0 6f 72 20 6c 6f 6f 70 73 20 69 74 65 72 61 74 65 20 6f 76 65 72 20 73 6c 69 63 65 73 20 61 6e 64 or.loops.iterate.over.slices.and
5ff00 20 61 72 72 61 79 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .arrays.</span></span>.<span.cla
5ff20 73 73 3d 22 6c 69 6e 65 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
5ff40 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 29 20 7c 76 61 6c 75 65 7c 20 7b 3c w">for</span>.(items).|value|.{<
5ff60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
5ff80 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 42 ..<span.class="tok-comment">//.B
5ffa0 72 65 61 6b 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 2e reak.and.continue.are.supported.
5ffc0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
5ffe0 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 ">........<span.class="tok-kw">i
60000 66 3c 2f 73 70 61 6e 3e 20 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 f</span>.(value.==.<span.class="
60020 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c tok-number">0</span>).{</span>.<
60040 73 70 61 6e 20 63 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
60060 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
60080 6e 3e 3b 3c 2f 73 70 61 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">..
600a0 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
600c0 22 3e 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c ">........sum.+=.value;</span>.<
600e0 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>.<
60100 73 70 61 6e 20 63 6c 61 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
60120 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d s="tok-kw">try</span>.expect(sum
60140 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 36 3c .==.<span.class="tok-number">16<
60160 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
60180 65 22 3e 3c 2f 73 70 61 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">..
601a0 20 20 3c 73 70 61 6e 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
601c0 6f 20 69 74 65 72 61 74 65 20 6f 76 65 72 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 61 20 73 6c o.iterate.over.a.portion.of.a.sl
601e0 69 63 65 2c 20 72 65 73 6c 69 63 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ice,.reslice.</span></span>.<spa
60200 6e 20 63 6c 61 73 73 3d 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="
60220 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 tok-kw">for</span>.(items[<span.
60240 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 class="tok-number">0</span>..<sp
60260 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 29 an.class="tok-number">1</span>])
60280 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .|value|.{</span>.<span.class="l
602a0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e ine">........sum.+=.value;</span
602c0 3e 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
602e0 3e 0a 3c 73 70 61 6e 20 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
60300 6c 61 73 73 3d 22 74 6f 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(
60320 73 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e sum.==.<span.class="tok-number">
60340 32 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 20</span>);</span>.<span.class="
60360 6c 69 6e 65 22 3e 3c 2f 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"
60380 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">/
603a0 2f 20 54 6f 20 61 63 63 65 73 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 69 74 65 72 61 74 69 /.To.access.the.index.of.iterati
603c0 6f 6e 2c 20 73 70 65 63 69 66 79 20 61 20 73 65 63 6f 6e 64 20 63 61 70 74 75 72 65 20 76 61 6c on,.specify.a.second.capture.val
603e0 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
60400 69 6e 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
60420 74 22 3e 2f 2f 20 54 68 69 73 20 69 73 20 7a 65 72 6f 2d 69 6e 64 65 78 65 64 2e 3c 2f 73 70 61 t">//.This.is.zero-indexed.</spa
60440 6e 3e 3c 2f 73 70 61 6e 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">...
60460 20 3c 73 70 61 6e 20 63 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>
60480 20 73 75 6d 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 .sum2:.<span.class="tok-type">i3
604a0 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
604c0 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
604e0 3d 22 6c 69 6e 65 22 3e 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"
60500 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 29 20 7c 5f 2c 20 69 7c 20 7b 3c 2f 73 70 >for</span>.(items).|_,.i|.{</sp
60520 61 6e 3e 0a 3c 73 70 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">........<
60540 73 70 61 6e 20 63 6c 61 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
60560 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">
60580 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 69 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 @TypeOf</span>(i).==.<span.class
605a0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ="tok-type">usize</span>);</span
605c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d >.<span.class="line">........sum
605e0 32 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 2.+=.<span.class="tok-builtin">@
60600 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d intCast</span>(<span.class="tok-
60620 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 69 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 type">i32</span>,.i);</span>.<sp
60640 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
60660 61 6e 20 63 6c 61 73 73 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=
60680 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 32 20 "tok-kw">try</span>.expect(sum2.
606a0 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f ==.<span.class="tok-number">10</
606c0 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
606e0 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"></
60700 73 70 61 6e 3e 0a 3c 73 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
60720 6c 61 73 73 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.
60740 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 72 20 72 65 66 65 72 65 class="tok-str">&quot;for.refere
60760 6e 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 nce&quot;</span>.{</span>.<span.
60780 63 6c 61 73 73 3d 22 6c 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
607a0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 k-kw">var</span>.items.=.[_]<spa
607c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 n.class="tok-type">i32</span>.{.
607e0 3c 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
60800 3e 2c 20 3c 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
60820 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 pan>,.<span.class="tok-number">2
60840 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
60860 69 6e 65 22 3e 3c 2f 73 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">
60880 20 20 20 20 3c 73 70 61 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">//
608a0 20 49 74 65 72 61 74 65 20 6f 76 65 72 20 74 68 65 20 73 6c 69 63 65 20 62 79 20 72 65 66 65 72 .Iterate.over.the.slice.by.refer
608c0 65 6e 63 65 20 62 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ence.by</span></span>.<span.clas
608e0 73 3d 22 6c 69 6e 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
60900 6d 6d 65 6e 74 22 3e 2f 2f 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 61 74 20 74 68 65 20 63 61 mment">//.specifying.that.the.ca
60920 70 74 75 72 65 20 76 61 6c 75 65 20 69 73 20 61 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e pture.value.is.a.pointer.</span>
60940 3c 2f 73 70 61 6e 3e 0a 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">....<
60960 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 span.class="tok-kw">for</span>.(
60980 69 74 65 6d 73 29 20 7c 2a 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 items).|*value|.{</span>.<span.c
609a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 2b 3d 20 3c lass="line">........value.*.+=.<
609c0 73 70 61 6e 20 63 6c 61 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>
609e0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
60a00 7d 3c 2f 73 70 61 6e 3e 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
60a20 61 6e 3e 0a 3c 73 70 61 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
60a40 20 63 6c 61 73 73 3d 22 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
60a60 74 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 t(items[<span.class="tok-number"
60a80 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >0</span>].==.<span.class="tok-n
60aa0 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
60ac0 6c 61 73 73 3d 22 6c 69 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
60ae0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 69 74 65 6d 73 5b 3c 73 70 -kw">try</span>.expect(items[<sp
60b00 61 6e 20 63 6c 61 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>].
60b20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 ==.<span.class="tok-number">5</s
60b40 70 61 6e 3e 29 3b 3c 2f 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"
60b60 3e 20 20 20 20 3c 73 70 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
60b80 70 61 6e 3e 20 65 78 70 65 63 74 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>.expect(items[<span.class="t
60ba0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c ok-number">2</span>].==.<span.cl
60bc0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ass="tok-number">3</span>);</spa
60be0 6e 3e 0a 3c 73 70 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>.<
60c00 73 70 61 6e 20 63 6c 61 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.
60c20 63 6c 61 73 73 3d 22 6c 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
60c40 22 3e 74 65 73 74 3c 2f 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
60c60 74 72 22 3e 26 71 75 6f 74 3b 66 6f 72 20 65 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 tr">&quot;for.else&quot;</span>.
60c80 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
60ca0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 6f 72 <span.class="tok-comment">//.For
60cc0 20 61 6c 6c 6f 77 73 20 61 6e 20 65 6c 73 65 20 61 74 74 61 63 68 65 64 20 74 6f 20 69 74 2c 20 .allows.an.else.attached.to.it,.
60ce0 74 68 65 20 73 61 6d 65 20 61 73 20 61 20 77 68 69 6c 65 20 6c 6f 6f 70 2e 3c 2f 73 70 61 6e 3e the.same.as.a.while.loop.</span>
60d00 3c 2f 73 70 61 6e 3e 0a 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">....<
60d20 73 70 61 6e 20 63 6c 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
60d40 74 65 6d 73 20 3d 20 5b 5f 5d 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 tems.=.[_]?<span.class="tok-type
60d60 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">i32</span>.{.<span.class="tok-
60d80 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">3</span>,.<span.class="t
60da0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-number">4</span>,.<span.class
60dc0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ="tok-null">null</span>,.<span.c
60de0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 lass="tok-number">5</span>.};</s
60e00 70 61 6e 3e 0a 3c 73 70 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>.
60e20 3c 73 70 61 6e 20 63 6c 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
60e40 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 6f 72 20 6c 6f 6f 70 73 20 63 61 ss="tok-comment">//.For.loops.ca
60e60 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 73 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 3c 2f n.also.be.used.as.expressions.</
60e80 73 70 61 6e 3e 3c 2f 73 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">
60ea0 20 20 20 20 3c 73 70 61 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">//
60ec0 20 53 69 6d 69 6c 61 72 20 74 6f 20 77 68 69 6c 65 20 6c 6f 6f 70 73 2c 20 77 68 65 6e 20 79 6f .Similar.to.while.loops,.when.yo
60ee0 75 20 62 72 65 61 6b 20 66 72 6f 6d 20 61 20 66 6f 72 20 6c 6f 6f 70 2c 20 74 68 65 20 65 6c 73 u.break.from.a.for.loop,.the.els
60f00 65 20 62 72 61 6e 63 68 20 69 73 20 6e 6f 74 20 65 76 61 6c 75 61 74 65 64 2e 3c 2f 73 70 61 6e e.branch.is.not.evaluated.</span
60f20 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
60f40 3c 73 70 61 6e 20 63 6c 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>.
60f60 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c sum:.<span.class="tok-type">i32<
60f80 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
60fa0 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="
60fc0 6c 69 6e 65 22 3e 20 20 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
60fe0 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
61000 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 29 20 7c 76 61 ="tok-kw">for</span>.(items).|va
61020 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 lue|.{</span>.<span.class="line"
61040 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
61060 3c 2f 73 70 61 6e 3e 20 28 76 61 6c 75 65 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>.(value.!=.<span.class="t
61080 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ok-null">null</span>).{</span>.<
610a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 73 75 span.class="line">............su
610c0 6d 20 2b 3d 20 76 61 6c 75 65 2e 3f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 m.+=.value.?;</span>.<span.class
610e0 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
61100 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
61120 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>
61140 0a 3c 73 70 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
61160 6e 20 63 6c 61 73 73 3d 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
61180 63 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 ct(sum.==.<span.class="tok-numbe
611a0 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r">12</span>);</span>.<span.clas
611c0 73 3d 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
611e0 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 73 75 6d 3b 3c 2f 73 70 k-kw">break</span>.:blk.sum;</sp
61200 61 6e 3e 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
61220 70 61 6e 3e 0a 3c 73 70 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
61240 6e 20 63 6c 61 73 73 3d 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
61260 63 74 28 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ct(result.==.<span.class="tok-nu
61280 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mber">12</span>);</span>.<span.c
612a0 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
612c0 3e 3c 2f 66 69 67 75 72 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
612e0 61 73 73 3d 22 73 68 65 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
61300 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">
61320 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 66 6f 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 $.<kbd>zig.test.for.zig</kbd></s
61340 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 33 20 74 65 73 74 pan>.<span.class="line">1/3.test
61360 20 26 71 75 6f 74 3b 66 6f 72 20 62 61 73 69 63 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 .&quot;for.basics&quot;....OK</s
61380 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 33 20 74 65 73 74 pan>.<span.class="line">2/3.test
613a0 20 26 71 75 6f 74 3b 66 6f 72 20 72 65 66 65 72 65 6e 63 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b .&quot;for.reference&quot;....OK
613c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 33 20 74 </span>.<span.class="line">3/3.t
613e0 65 73 74 20 26 71 75 6f 74 3b 66 6f 72 20 65 6c 73 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f est.&quot;for.else&quot;....OK</
61400 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 33 20 74 span>.<span.class="line">All.3.t
61420 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
61440 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4c 61 62 65 6c 65 64 ></figure>.......<h3.id="Labeled
61460 2d 66 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 66 6f 72 22 -for"><a.href="#toc-Labeled-for"
61480 3e 4c 61 62 65 6c 65 64 20 66 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 >Labeled.for</a>.<a.class="hdr".
614a0 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a href="#Labeled-for">..</a></h3>.
614c0 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
614e0 73 73 3d 22 6c 69 6e 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
61500 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 20 69 73 20 or</span></span></code>.loop.is.
61520 6c 61 62 65 6c 65 64 2c 20 69 74 20 63 61 6e 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 labeled,.it.can.be.referenced.fr
61540 6f 6d 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 om.a.<code><span.class="line"><s
61560 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c pan.class="tok-kw">break</span><
61580 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 3c /span></code>...............or.<
615a0 63 6f 64 65 3e 3c 73 70 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
615c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ass="tok-kw">continue</span></sp
615e0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 77 69 74 68 69 6e 20 61 20 6e 65 73 74 65 64 20 an></code>.from.within.a.nested.
61600 6c 6f 6f 70 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 loop:</p>.......<figure><figcapt
61620 69 6f 6e 20 63 6c 61 73 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=
61640 22 66 69 6c 65 22 3e 74 65 73 74 5f 6e 65 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 63 69 "file">test_nested_break.zig</ci
61660 74 65 3e 3c 2f 66 69 67 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
61680 20 63 6c 61 73 73 3d 22 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
616a0 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
616c0 73 3d 22 74 6f 6b 2d 62 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>(<
616e0 73 70 61 6e 20 63 6c 61 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
61700 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
61720 3d 22 6c 69 6e 65 22 3e 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
61740 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
61760 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"
61780 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
617a0 6e 20 63 6c 61 73 73 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
617c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 an.class="tok-str">&quot;nested.
617e0 62 72 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 break&quot;</span>.{</span>.<spa
61800 6e 20 63 6c 61 73 73 3d 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="
61820 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 tok-kw">var</span>.count:.<span.
61840 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 class="tok-type">usize</span>.=.
61860 3c 73 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
61880 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >;</span>.<span.class="line">...
618a0 20 6f 75 74 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 .outer:.<span.class="tok-kw">for
618c0 3c 2f 73 70 61 6e 3e 20 28 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 </span>.([_]<span.class="tok-typ
618e0 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-
61900 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
61920 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
61940 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
61960 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
61980 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 29 20 .class="tok-number">5</span>.}).
619a0 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e |_|.{</span>.<span.class="line">
619c0 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 ........<span.class="tok-kw">for
619e0 3c 2f 73 70 61 6e 3e 20 28 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 </span>.([_]<span.class="tok-typ
61a00 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-
61a20 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
61a40 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
61a60 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
61a80 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
61aa0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 29 20 .class="tok-number">5</span>.}).
61ac0 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e |_|.{</span>.<span.class="line">
61ae0 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ............count.+=.<span.class
61b00 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>.<
61b20 73 70 61 6e 20 63 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
61b40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">break</span>.
61b60 3a 6f 75 74 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 :outer;</span>.<span.class="line
61b80 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">........}</span>.<span.class="
61ba0 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="
61bc0 6c 69 6e 65 22 3e 20 20 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
61be0 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 6f 75 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 ry</span>.expect(count.==.<span.
61c00 63 6c 61 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
61c20 70 61 6e 3e 0a 3c 73 70 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>
61c40 0a 3c 73 70 61 6e 20 63 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
61c60 6e 20 63 6c 61 73 73 3d 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-
61c80 6b 77 22 3e 74 65 73 74 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
61ca0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 -str">&quot;nested.continue&quot
61cc0 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
61ce0 69 6e 65 22 3e 20 20 20 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
61d00 72 3c 2f 73 70 61 6e 3e 20 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r</span>.count:.<span.class="tok
61d20 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -type">usize</span>.=.<span.clas
61d40 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-number">0</span>;</span>.
61d60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6f 75 74 65 72 3a 20 3c 73 <span.class="line">....outer:.<s
61d80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 5b pan.class="tok-kw">for</span>.([
61da0 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
61dc0 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c an>{.<span.class="tok-number">1<
61de0 2f 73 70 61 6e 3e 2c 20 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"
61e00 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >2</span>,.<span.class="tok-numb
61e20 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
61e40 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
61e60 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">5</span>,.<span.class=
61e80 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">6</span>,.<span.cla
61ea0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">7</span>,.<span.
61ec0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 7d 29 20 7c class="tok-number">8</span>.}).|
61ee0 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 _|.{</span>.<span.class="line">.
61f00 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c .......<span.class="tok-kw">for<
61f20 2f 73 70 61 6e 3e 20 28 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 /span>.([_]<span.class="tok-type
61f40 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">i32</span>{.<span.class="tok-n
61f60 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">1</span>,.<span.class="to
61f80 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-number">2</span>,.<span.class=
61fa0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">3</span>,.<span.cla
61fc0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-number">4</span>,.<span.
61fe0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 29 20 7c class="tok-number">5</span>.}).|
62000 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 _|.{</span>.<span.class="line">.
62020 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ...........count.+=.<span.class=
62040 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
62060 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 pan.class="line">............<sp
62080 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e an.class="tok-kw">continue</span
620a0 3e 20 3a 6f 75 74 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >.:outer;</span>.<span.class="li
620c0 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ne">........}</span>.<span.class
620e0 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
62100 3d 22 6c 69 6e 65 22 3e 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
62120 65 22 3e 20 20 20 20 3c 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<
62140 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 63 6f 75 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 /span>.expect(count.==.<span.cla
62160 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ss="tok-number">8</span>);</span
62180 3e 0a 3c 73 70 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
621a0 6f 64 65 3e 3c 2f 70 72 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
621c0 61 70 74 69 6f 6e 20 63 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</
621e0 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
62200 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 65 s="line">$.<kbd>zig.test.test_ne
62220 73 74 65 64 5f 62 72 65 61 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 sted_break.zig</kbd></span>.<spa
62240 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 65 n.class="line">1/2.test.&quot;ne
62260 73 74 65 64 20 62 72 65 61 6b 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 sted.break&quot;....OK</span>.<s
62280 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b pan.class="line">2/2.test.&quot;
622a0 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 nested.continue&quot;....OK</spa
622c0 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
622e0 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></
62300 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 6c figure>..............<h3.id="inl
62320 69 6e 65 2d 66 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 6c 69 6e 65 2d 66 6f ine-for"><a.href="#toc-inline-fo
62340 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 r">inline.for</a>.<a.class="hdr"
62360 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a .href="#inline-for">..</a></h3>.
62380 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 6c 6f 6f 70 73 20 63 61 6e 20 62 .......<p>.......For.loops.can.b
623a0 65 20 69 6e 6c 69 6e 65 64 2e 20 54 68 69 73 20 63 61 75 73 65 73 20 74 68 65 20 6c 6f 6f 70 20 e.inlined..This.causes.the.loop.
623c0 74 6f 20 62 65 20 75 6e 72 6f 6c 6c 65 64 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 61 6c 6c 6f to.be.unrolled,.which.......allo
623e0 77 73 20 74 68 65 20 63 6f 64 65 20 74 6f 20 64 6f 20 73 6f 6d 65 20 74 68 69 6e 67 73 20 77 68 ws.the.code.to.do.some.things.wh
62400 69 63 68 20 6f 6e 6c 79 20 77 6f 72 6b 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2c 0a 20 ich.only.work.at.compile.time,..
62420 20 20 20 20 20 73 75 63 68 20 61 73 20 75 73 65 20 74 79 70 65 73 20 61 73 20 66 69 72 73 74 20 .....such.as.use.types.as.first.
62440 63 6c 61 73 73 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 54 68 65 20 63 61 70 74 75 72 65 20 class.values........The.capture.
62460 76 61 6c 75 65 20 61 6e 64 20 69 74 65 72 61 74 6f 72 20 76 61 6c 75 65 20 6f 66 20 69 6e 6c 69 value.and.iterator.value.of.inli
62480 6e 65 64 20 66 6f 72 20 6c 6f 6f 70 73 20 61 72 65 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d ned.for.loops.are.......compile-
624a0 74 69 6d 65 20 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 time.known........</p>.......<fi
624c0 67 75 72 65 3e 3c 66 69 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"
624e0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 6c 69 6e 65 5f ><cite.class="file">test_inline_
62500 6c 6f 6f 70 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 loop.zig</cite></figcaption><pre
62520 3e 3c 63 6f 64 65 3e 3c 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.
62540 63 6c 61 73 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
62560 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">@
62580 69 6d 70 6f 72 74 3c 2f 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
625a0 74 72 22 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
625c0 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="
625e0 6c 69 6e 65 22 3e 3c 2f 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"
62600 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
62620 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e >.<span.class="tok-str">&quot;in
62640 6c 69 6e 65 20 66 6f 72 20 6c 6f 6f 70 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 line.for.loop&quot;</span>.{</sp
62660 61 6e 3e 0a 3c 73 70 61 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
62680 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d .class="tok-kw">const</span>.num
626a0 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 s.=.[_]<span.class="tok-type">i3
626c0 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 2</span>{<span.class="tok-number
626e0 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
62700 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">4</span>,.<span.class="tok-
62720 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 number">6</span>};</span>.<span.
62740 63 6c 61 73 73 3d 22 6c 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
62760 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
62780 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
627a0 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>;</
627c0 73 70 61 6e 3e 0a 3c 73 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
627e0 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>.
62800 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">for</span>.
62820 28 6e 75 6d 73 29 20 7c 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d (nums).|i|.{</span>.<span.class=
62840 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-
62860 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 kw">const</span>.T.=.<span.class
62880 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 69 29 20 7b 3c 2f 73 ="tok-kw">switch</span>.(i).{</s
628a0 70 61 6e 3e 0a 3c 73 70 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">........
628c0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f ....<span.class="tok-number">2</
628e0 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 span>.=&gt;.<span.class="tok-typ
62900 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
62920 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
62940 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 ="tok-number">4</span>.=&gt;.<sp
62960 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 3c 2f an.class="tok-type">i8</span>,</
62980 73 70 61 6e 3e 0a 3c 73 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">.......
629a0 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c .....<span.class="tok-number">6<
629c0 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 /span>.=&gt;.<span.class="tok-ty
629e0 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c pe">bool</span>,</span>.<span.cl
62a00 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
62a20 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 ss="tok-kw">else</span>.=&gt;.<s
62a40 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</
62a60 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"
62a80 3e 20 20 20 20 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >........};</span>.<span.class="
62aa0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 74 79 70 65 4e 61 6d 65 4c 65 6e line">........sum.+=.typeNameLen
62ac0 67 74 68 28 54 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 gth(T);</span>.<span.class="line
62ae0 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
62b00 22 3e 20 20 20 20 3c 73 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</
62b20 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d span>.expect(sum.==.<span.class=
62b40 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>.<
62b60 73 70 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
62b80 20 63 6c 61 73 73 3d 22 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
62ba0 73 3d 22 6c 69 6e 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
62bc0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 79 70 </span>.<span.class="tok-fn">typ
62be0 65 4e 61 6d 65 4c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 eNameLength</span>(<span.class="
62c00 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
62c20 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>).<
62c40 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
62c60 6e 3e 20 7b 3c 2f 73 70 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">.
62c80 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</
62ca0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e span>.<span.class="tok-builtin">
62cc0 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 54 29 2e 6c 65 6e 3b 3c 2f 73 70 61 6e 3e 0a @typeName</span>(T).len;</span>.
62ce0 3c 73 70 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
62d00 65 3e 3c 2f 70 72 65 3e 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
62d20 74 69 6f 6e 20 63 6c 61 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
62d40 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=
62d60 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 6c 69 "line">$.<kbd>zig.test.test_inli
62d80 6e 65 5f 6c 6f 6f 70 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ne_loop.zig</kbd></span>.<span.c
62da0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 69 6e 6c 69 6e lass="line">1/1.test.&quot;inlin
62dc0 65 20 66 6f 72 20 6c 6f 6f 70 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 e.for.loop&quot;....OK</span>.<s
62de0 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
62e00 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
62e20 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 65 63 6f 6d 6d 65 e>.......<p>.......It.is.recomme
62e40 6e 64 65 64 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c nded.to.use.<code><span.class="l
62e60 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 ine"><span.class="tok-kw">inline
62e80 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 73 20 6f 6e 6c 79 </span></span></code>.loops.only
62ea0 20 66 6f 72 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 72 65 61 73 6f 6e 73 3a 0a 20 20 20 20 20 .for.one.of.these.reasons:......
62ec0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 .</p>.......<ul>.........<li>You
62ee0 20 6e 65 65 64 20 74 68 65 20 6c 6f 6f 70 20 74 6f 20 65 78 65 63 75 74 65 20 61 74 20 3c 61 20 .need.the.loop.to.execute.at.<a.
62f00 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 66 6f href="#comptime">comptime</a>.fo
62f20 72 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 20 74 6f 20 77 6f 72 6b 2e 3c 2f 6c 69 3e 0a 20 20 r.the.semantics.to.work.</li>...
62f40 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 59 6f 75 20 68 61 76 65 20 61 20 62 65 ......<li>.........You.have.a.be
62f60 6e 63 68 6d 61 72 6b 20 74 6f 20 70 72 6f 76 65 20 74 68 61 74 20 66 6f 72 63 69 62 6c 79 20 75 nchmark.to.prove.that.forcibly.u
62f80 6e 72 6f 6c 6c 69 6e 67 20 74 68 65 20 6c 6f 6f 70 20 69 6e 20 74 68 69 73 20 77 61 79 20 69 73 nrolling.the.loop.in.this.way.is
62fa0 20 6d 65 61 73 75 72 61 62 6c 79 20 66 61 73 74 65 72 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 .measurably.faster..........</li
62fc0 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 >.......</ul>..............<p>Se
62fe0 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 77 68 e.also:</p><ul>.<li><a.href="#wh
63000 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d ile">while</a></li>.<li><a.href=
63020 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c "#comptime">comptime</a></li>.<l
63040 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f i><a.href="#Arrays">Arrays</a></
63060 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 li>.<li><a.href="#Slices">Slices
63080 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 </a></li>.</ul>...............<h
630a0 32 20 69 64 3d 22 69 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 66 22 3e 69 66 3c 2f 2.id="if"><a.href="#toc-if">if</
630c0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 66 22 3e c2 a7 3c a>.<a.class="hdr".href="#if">..<
630e0 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 /a></h2>........<figure><figcapt
63100 69 6f 6e 20 63 6c 61 73 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=
63120 22 66 69 6c 65 22 3e 69 66 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e "file">if.zig</cite></figcaption
63140 3e 3c 70 72 65 3e 3c 63 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"><
63160 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 span.class="tok-comment">//.If.e
63180 78 70 72 65 73 73 69 6f 6e 73 20 68 61 76 65 20 74 68 72 65 65 20 75 73 65 73 2c 20 63 6f 72 72 xpressions.have.three.uses,.corr
631a0 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 74 68 72 65 65 20 74 79 70 65 73 3a 3c 2f 73 esponding.to.the.three.types:</s
631c0 70 61 6e 3e 3c 2f 73 70 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"><
631e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 20 62 6f span.class="tok-comment">//.*.bo
63200 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ol</span></span>.<span.class="li
63220 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">//
63240 20 2a 20 3f 54 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .*.?T</span></span>.<span.class=
63260 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"
63280 3e 2f 2f 20 2a 20 61 6e 79 65 72 72 6f 72 21 54 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c >//.*.anyerror!T</span></span>.<
632a0 73 70 61 6e 20 63 6c 61 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.
632c0 63 6c 61 73 73 3d 22 6c 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
632e0 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
63300 61 73 73 3d 22 74 6f 6b 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>
63320 28 3c 73 70 61 6e 20 63 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
63340 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;</
63360 73 70 61 6e 3e 0a 3c 73 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>
63380 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
633a0 22 74 6f 6b 2d 6b 77 22 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
633c0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 65 78 70 72 65 73 73 69 6f 6e 26 71 ="tok-str">&quot;if.expression&q
633e0 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
63400 3d 22 6c 69 6e 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
63420 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 75 73 65 64 ment">//.If.expressions.are.used
63440 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 74 65 72 6e 61 72 79 20 65 78 70 72 65 73 73 69 6f 6e .instead.of.a.ternary.expression
63460 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
63480 65 22 3e 20 20 20 20 3c 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
634a0 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
634c0 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
634e0 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">5</span>;</span>.<span.
63500 63 6c 61 73 73 3d 22 6c 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
63520 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">const</span>.b:.<span.clas
63540 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 s="tok-type">u32</span>.=.<span.
63560 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 class="tok-number">4</span>;</sp
63580 61 6e 3e 0a 3c 73 70 61 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
635a0 20 63 6c 61 73 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
635c0 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 ult.=.<span.class="tok-kw">if</s
635e0 70 61 6e 3e 20 28 61 20 21 3d 20 62 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e pan>.(a.!=.b).<span.class="tok-n
63600 75 6d 62 65 72 22 3e 34 37 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f umber">47</span>.<span.class="to
63620 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 k-kw">else</span>.<span.class="t
63640 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 30 38 39 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c ok-number">3089</span>;</span>.<
63660 73 70 61 6e 20 63 6c 61 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
63680 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 72 65 73 s="tok-kw">try</span>.expect(res
636a0 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ult.==.<span.class="tok-number">
636c0 34 37 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 47</span>);</span>.<span.class="
636e0 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
63700 22 3e 3c 2f 73 70 61 6e 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
63720 61 6e 20 63 6c 61 73 73 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
63740 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 62 6f 6f pan.class="tok-str">&quot;if.boo
63760 6c 65 61 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e lean&quot;</span>.{</span>.<span
63780 20 63 6c 61 73 73 3d 22 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
637a0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 65 ok-comment">//.If.expressions.te
637c0 73 74 20 62 6f 6f 6c 65 61 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 st.boolean.conditions.</span></s
637e0 70 61 6e 3e 0a 3c 73 70 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
63800 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a n.class="tok-kw">const</span>.a:
63820 20 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
63840 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c n>.=.<span.class="tok-number">5<
63860 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
63880 22 3e 20 20 20 20 3c 73 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
638a0 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 </span>.b:.<span.class="tok-type
638c0 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">u32</span>.=.<span.class="tok-
638e0 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 number">4</span>;</span>.<span.c
63900 6c 61 73 73 3d 22 6c 69 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
63920 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 21 3d 20 62 29 20 7b 3c 2f 73 70 61 6e 3e -kw">if</span>.(a.!=.b).{</span>
63940 0a 3c 73 70 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
63960 6e 20 63 6c 61 73 73 3d 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
63980 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f ct(<span.class="tok-null">true</
639a0 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
639c0 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 ">....}.<span.class="tok-kw">els
639e0 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 e</span>.<span.class="tok-kw">if
63a00 3c 2f 73 70 61 6e 3e 20 28 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e </span>.(a.==.<span.class="tok-n
63a20 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 umber">9</span>).{</span>.<span.
63a40 63 6c 61 73 73 3d 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
63a60 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
63a80 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 pan>.<span.class="line">....}.<s
63aa0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b pan.class="tok-kw">else</span>.{
63ac0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
63ae0 20 20 20 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
63b00 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="
63b20 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="
63b40 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
63b60 22 3e 3c 2f 73 70 61 6e 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
63b80 61 6e 20 63 6c 61 73 73 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
63ba0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 6f 70 74 pan.class="tok-str">&quot;if.opt
63bc0 69 6f 6e 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ional&quot;</span>.{</span>.<spa
63be0 6e 20 63 6c 61 73 73 3d 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="
63c00 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 tok-comment">//.If.expressions.t
63c20 65 73 74 20 66 6f 72 20 6e 75 6c 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 est.for.null.</span></span>.<spa
63c40 6e 20 63 6c 61 73 73 3d 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
63c60 73 73 3d 22 6c 69 6e 65 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
63c80 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d w">const</span>.a:.?<span.class=
63ca0 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
63cc0 61 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
63ce0 3e 0a 3c 73 70 61 6e 20 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
63d00 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c lass="tok-kw">if</span>.(a).|val
63d20 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">
63d40 20 20 20 20 20 20 20 20 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
63d60 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c </span>.expect(value.==.<span.cl
63d80 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ass="tok-number">0</span>);</spa
63da0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 n>.<span.class="line">....}.<spa
63dc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f n.class="tok-kw">else</span>.{</
63de0 73 70 61 6e 3e 0a 3c 73 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">.......
63e00 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
63e20 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
63e40 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
63e60 6e 65 22 3e 3c 2f 73 70 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">.
63e80 20 20 20 3c 73 70 61 6e 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
63ea0 70 61 6e 3e 20 62 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e pan>.b:.?<span.class="tok-type">
63ec0 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
63ee0 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
63f00 61 73 73 3d 22 6c 69 6e 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-
63f20 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c kw">if</span>.(b).|_|.{</span>.<
63f40 73 70 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.
63f60 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
63f80 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >;</span>.<span.class="line">...
63fa0 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 .}.<span.class="tok-kw">else</sp
63fc0 61 6e 3e 20 7b 3c 2f 73 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">
63fe0 20 20 20 20 20 20 20 20 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
64000 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-
64020 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e null">true</span>);</span>.<span
64040 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
64060 20 63 6c 61 73 73 3d 22 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
64080 73 3d 22 6c 69 6e 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
640a0 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 6c 73 65 20 69 73 20 6e 6f 74 20 72 65 71 75 69 72 mment">//.The.else.is.not.requir
640c0 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
640e0 69 6e 65 22 3e 20 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
64100 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 </span>.(a).|value|.{</span>.<sp
64120 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
64140 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 ass="tok-kw">try</span>.expect(v
64160 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 alue.==.<span.class="tok-number"
64180 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >0</span>);</span>.<span.class="
641a0 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="
641c0 6c 69 6e 65 22 3e 3c 2f 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"
641e0 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">/
64200 2f 20 54 6f 20 74 65 73 74 20 61 67 61 69 6e 73 74 20 6e 75 6c 6c 20 6f 6e 6c 79 2c 20 75 73 65 /.To.test.against.null.only,.use
64220 20 74 68 65 20 62 69 6e 61 72 79 20 65 71 75 61 6c 69 74 79 20 6f 70 65 72 61 74 6f 72 2e 3c 2f .the.binary.equality.operator.</
64240 73 70 61 6e 3e 3c 2f 73 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">
64260 20 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
64280 6e 3e 20 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e n>.(b.==.<span.class="tok-null">
642a0 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
642c0 73 3d 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
642e0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c k-kw">try</span>.expect(<span.cl
64300 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
64320 61 6e 3e 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
64340 61 6e 3e 0a 3c 73 70 61 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>.<
64360 73 70 61 6e 20 63 6c 61 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
64380 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 63 63 65 73 73 20 74 68 65 20 76 61 s="tok-comment">//.Access.the.va
643a0 6c 75 65 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 75 73 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 lue.by.reference.using.a.pointer
643c0 20 63 61 70 74 75 72 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .capture.</span></span>.<span.cl
643e0 61 73 73 3d 22 6c 69 6e 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-
64400 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 kw">var</span>.c:.?<span.class="
64420 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
64440 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>
64460 0a 3c 73 70 61 6e 20 63 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
64480 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 2a 76 61 6c ass="tok-kw">if</span>.(c).|*val
644a0 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">
644c0 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ........value.*.=.<span.class="t
644e0 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">2</span>;</span>.<spa
64500 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
64520 6e 20 63 6c 61 73 73 3d 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
64540 73 73 3d 22 6c 69 6e 65 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
64560 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e w">if</span>.(c).|value|.{</span
64580 3e 0a 3c 73 70 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
645a0 61 6e 20 63 6c 61 73 73 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
645c0 65 63 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ect(value.==.<span.class="tok-nu
645e0 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">2</span>);</span>.<span.cl
64600 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
64620 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-kw">else</span>.{</span>.<span
64640 20 63 6c 61 73 73 3d 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
64660 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f s="tok-kw">unreachable</span>;</
64680 73 70 61 6e 3e 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">....}</
646a0 73 70 61 6e 3e 0a 3c 73 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
646c0 3e 0a 3c 73 70 61 6e 20 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
646e0 61 6e 20 63 6c 61 73 73 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
64700 2d 6b 77 22 3e 74 65 73 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
64720 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 k-str">&quot;if.error.union&quot
64740 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
64760 69 6e 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
64780 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 65 73 74 20 66 6f 72 20 65 72 t">//.If.expressions.test.for.er
647a0 72 6f 72 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d rors.</span></span>.<span.class=
647c0 22 6c 69 6e 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
647e0 65 6e 74 22 3e 2f 2f 20 4e 6f 74 65 20 74 68 65 20 7c 65 72 72 7c 20 63 61 70 74 75 72 65 20 6f ent">//.Note.the.|err|.capture.o
64800 6e 20 74 68 65 20 65 6c 73 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 n.the.else.</span></span>.<span.
64820 63 6c 61 73 73 3d 22 6c 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
64840 3d 22 6c 69 6e 65 22 3e 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"
64860 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >const</span>.a:.<span.class="to
64880 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
648a0 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
648c0 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>;</
648e0 73 70 61 6e 3e 0a 3c 73 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
64900 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 an.class="tok-kw">if</span>.(a).
64920 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
64940 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"
64960 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
64980 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>);<
649a0 2f 73 70 61 6e 3e 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">....}.
649c0 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>
649e0 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .|err|.{</span>.<span.class="lin
64a00 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e e">........_.=.err;</span>.<span
64a20 20 63 6c 61 73 73 3d 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
64a40 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f s="tok-kw">unreachable</span>;</
64a60 73 70 61 6e 3e 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">....}</
64a80 73 70 61 6e 3e 0a 3c 73 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>
64aa0 0a 3c 73 70 61 6e 20 63 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
64ac0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 ass="tok-kw">const</span>.b:.<sp
64ae0 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
64b00 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</
64b20 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
64b40 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e or</span>.BadValue;</span>.<span
64b60 20 63 6c 61 73 73 3d 22 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
64b80 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f ok-kw">if</span>.(b).|value|.{</
64ba0 73 70 61 6e 3e 0a 3c 73 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">.......
64bc0 20 5f 20 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ._.=.value;</span>.<span.class="
64be0 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
64c00 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
64c20 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
64c40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c ss="tok-kw">else</span>.|err|.{<
64c60 2f 73 70 61 6e 3e 0a 3c 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">......
64c80 20 20 3c 73 70 61 6e 20 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
64ca0 3e 20 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >.expect(err.==.<span.class="tok
64cc0 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 29 3b 3c 2f 73 70 -kw">error</span>.BadValue);</sp
64ce0 61 6e 3e 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
64d00 61 6e 3e 0a 3c 73 70 61 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>.<
64d20 73 70 61 6e 20 63 6c 61 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
64d40 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 6c 73 65 20 61 6e 64 20 s="tok-comment">//.The.else.and.
64d60 7c 65 72 72 7c 20 63 61 70 74 75 72 65 20 69 73 20 73 74 72 69 63 74 6c 79 20 72 65 71 75 69 72 |err|.capture.is.strictly.requir
64d80 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
64da0 69 6e 65 22 3e 20 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
64dc0 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 </span>.(a).|value|.{</span>.<sp
64de0 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
64e00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 ass="tok-kw">try</span>.expect(v
64e20 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 alue.==.<span.class="tok-number"
64e40 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >0</span>);</span>.<span.class="
64e60 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 line">....}.<span.class="tok-kw"
64e80 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >else</span>.|_|.{}</span>.<span
64ea0 20 63 6c 61 73 73 3d 22 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
64ec0 73 3d 22 6c 69 6e 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
64ee0 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 63 68 65 63 6b 20 6f 6e 6c 79 20 74 68 65 20 65 72 72 6f mment">//.To.check.only.the.erro
64f00 72 20 76 61 6c 75 65 2c 20 75 73 65 20 61 6e 20 65 6d 70 74 79 20 62 6c 6f 63 6b 20 65 78 70 72 r.value,.use.an.empty.block.expr
64f20 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ession.</span></span>.<span.clas
64f40 73 3d 22 6c 69 6e 65 22 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
64f60 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 7c 5f 7c 20 7b 7d 20 3c 73 70 61 6e 20 63 6c 61 ">if</span>.(b).|_|.{}.<span.cla
64f80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c ss="tok-kw">else</span>.|err|.{<
64fa0 2f 73 70 61 6e 3e 0a 3c 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">......
64fc0 20 20 3c 73 70 61 6e 20 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
64fe0 3e 20 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >.expect(err.==.<span.class="tok
65000 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 29 3b 3c 2f 73 70 -kw">error</span>.BadValue);</sp
65020 61 6e 3e 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
65040 61 6e 3e 0a 3c 73 70 61 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>.<
65060 73 70 61 6e 20 63 6c 61 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
65080 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 63 63 65 73 73 20 74 68 65 20 76 61 s="tok-comment">//.Access.the.va
650a0 6c 75 65 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 75 73 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 lue.by.reference.using.a.pointer
650c0 20 63 61 70 74 75 72 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .capture.</span></span>.<span.cl
650e0 61 73 73 3d 22 6c 69 6e 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-
65100 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
65120 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
65140 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 lass="tok-type">u32</span>.=.<sp
65160 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c an.class="tok-number">3</span>;<
65180 2f 73 70 61 6e 3e 0a 3c 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
651a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 pan.class="tok-kw">if</span>.(c)
651c0 20 7c 2a 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .|*value|.{</span>.<span.class="
651e0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c line">........value.*.=.<span.cl
65200 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ass="tok-number">9</span>;</span
65220 3e 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
65240 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>.|_|.
65260 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
65280 20 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
652a0 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=
652c0 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=
652e0 22 6c 69 6e 65 22 3e 3c 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
65300 22 3e 20 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
65320 70 61 6e 3e 20 28 63 29 20 7c 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pan>.(c).|value|.{</span>.<span.
65340 63 6c 61 73 73 3d 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
65360 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 76 61 6c 75 ="tok-kw">try</span>.expect(valu
65380 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c e.==.<span.class="tok-number">9<
653a0 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
653c0 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
653e0 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 se</span>.|_|.{</span>.<span.cla
65400 73 73 3d 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
65420 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
65440 3e 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
65460 3e 0a 3c 73 70 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
65480 70 61 6e 20 63 6c 61 73 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
654a0 6c 61 73 73 3d 22 6c 69 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"
654c0 3e 74 65 73 74 3c 2f 73 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
654e0 72 22 3e 26 71 75 6f 74 3b 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 77 69 74 68 20 6f 70 74 r">&quot;if.error.union.with.opt
65500 69 6f 6e 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ional&quot;</span>.{</span>.<spa
65520 6e 20 63 6c 61 73 73 3d 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="
65540 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 69 6f 6e 73 20 74 tok-comment">//.If.expressions.t
65560 65 73 74 20 66 6f 72 20 65 72 72 6f 72 73 20 62 65 66 6f 72 65 20 75 6e 77 72 61 70 70 69 6e 67 est.for.errors.before.unwrapping
65580 20 6f 70 74 69 6f 6e 61 6c 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .optionals.</span></span>.<span.
655a0 63 6c 61 73 73 3d 22 6c 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
655c0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 k-comment">//.The.|optional_valu
655e0 65 7c 20 63 61 70 74 75 72 65 27 73 20 74 79 70 65 20 69 73 20 3f 75 33 32 2e 3c 2f 73 70 61 6e e|.capture's.type.is.?u32.</span
65600 3e 3c 2f 73 70 61 6e 3e 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
65620 61 6e 3e 0a 3c 73 70 61 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
65640 20 63 6c 61 73 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:.
65660 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<
65680 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 /span>!?<span.class="tok-type">u
656a0 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
656c0 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
656e0 73 3d 22 6c 69 6e 65 22 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
65700 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c ">if</span>.(a).|optional_value|
65720 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
65740 20 20 20 20 20 3c 73 70 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
65760 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2e 3f 20 3d 3d 20 pan>.expect(optional_value.?.==.
65780 3c 73 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
657a0 3e 29 3b 3c 2f 73 70 61 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">..
657c0 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
657e0 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.|err|.{</span>.<span.class=
65800 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c "line">........_.=.err;</span>.<
65820 73 70 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.
65840 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
65860 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 >;</span>.<span.class="line">...
65880 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
658a0 70 61 6e 3e 0a 3c 73 70 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
658c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a n.class="tok-kw">const</span>.b:
658e0 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
65900 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e </span>!?<span.class="tok-type">
65920 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
65940 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
65960 61 73 73 3d 22 6c 69 6e 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-
65980 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 kw">if</span>.(b).|optional_valu
659a0 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">.
659c0 20 20 20 20 20 20 20 3c 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<
659e0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d 3d 20 /span>.expect(optional_value.==.
65a00 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
65a20 6e 3e 29 3b 3c 2f 73 70 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">.
65a40 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</
65a60 73 70 61 6e 3e 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>.|_|.{</span>.<span.class="
65a80 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
65aa0 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
65ac0 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
65ae0 70 61 6e 20 63 6c 61 73 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
65b00 6c 61 73 73 3d 22 6c 69 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
65b20 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">const</span>.c:.<span.class
65b40 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 ="tok-type">anyerror</span>!?<sp
65b60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d an.class="tok-type">u32</span>.=
65b80 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
65ba0 6e 3e 2e 42 61 64 56 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>.BadValue;</span>.<span.class=
65bc0 22 6c 69 6e 65 22 3e 20 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">
65be0 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b if</span>.(c).|optional_value|.{
65c00 3c 2f 73 70 61 6e 3e 0a 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">.....
65c20 20 20 20 5f 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ..._.=.optional_value;</span>.<s
65c40 70 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
65c60 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>
65c80 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
65ca0 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 }.<span.class="tok-kw">else</spa
65cc0 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c n>.|err|.{</span>.<span.class="l
65ce0 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
65d00 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 65 72 72 20 3d 3d 20 3c 73 70 61 6e ">try</span>.expect(err.==.<span
65d20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 .class="tok-kw">error</span>.Bad
65d40 56 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 Value);</span>.<span.class="line
65d60 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
65d80 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
65da0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 63 .<span.class="tok-comment">//.Ac
65dc0 63 65 73 73 20 74 68 65 20 76 61 6c 75 65 20 62 79 20 72 65 66 65 72 65 6e 63 65 20 62 79 20 75 cess.the.value.by.reference.by.u
65de0 73 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 20 63 61 70 74 75 72 65 20 65 61 63 68 20 74 69 6d 65 sing.a.pointer.capture.each.time
65e00 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
65e20 65 22 3e 20 20 20 20 3c 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<
65e40 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>.d:.<span.class="tok-type"
65e60 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >anyerror</span>!?<span.class="t
65e80 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ok-type">u32</span>.=.<span.clas
65ea0 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-number">3</span>;</span>.
65ec0 3c 73 70 61 6e 20 63 6c 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
65ee0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 64 29 20 7c 2a 6f 70 74 69 ss="tok-kw">if</span>.(d).|*opti
65f00 6f 6e 61 6c 5f 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 onal_value|.{</span>.<span.class
65f20 3d 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
65f40 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2e 2a -kw">if</span>.(optional_value.*
65f60 29 20 7c 2a 76 61 6c 75 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ).|*value|.{</span>.<span.class=
65f80 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 3d 20 3c 73 70 "line">............value.*.=.<sp
65fa0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 3b 3c an.class="tok-number">9</span>;<
65fc0 2f 73 70 61 6e 3e 0a 3c 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">......
65fe0 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">..
66000 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
66020 70 61 6e 3e 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c pan>.|_|.{</span>.<span.class="l
66040 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
66060 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">unreachable</span>;</span>.<sp
66080 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
660a0 61 6e 20 63 6c 61 73 73 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
660c0 61 73 73 3d 22 6c 69 6e 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-
660e0 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 64 29 20 7c 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 kw">if</span>.(d).|optional_valu
66100 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">.
66120 20 20 20 20 20 20 20 3c 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<
66140 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2e 3f 20 3d /span>.expect(optional_value.?.=
66160 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 =.<span.class="tok-number">9</sp
66180 61 6e 3e 29 3b 3c 2f 73 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">
661a0 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<
661c0 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>.|_|.{</span>.<span.class=
661e0 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-
66200 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c kw">unreachable</span>;</span>.<
66220 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>.<
66240 73 70 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
66260 3e 3c 2f 70 72 65 3e 3c 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
66280 69 6f 6e 20 63 6c 61 73 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
662a0 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="
662c0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 69 66 2e 7a 69 67 3c 2f 6b 62 line">$.<kbd>zig.test.if.zig</kb
662e0 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 35 d></span>.<span.class="line">1/5
66300 20 74 65 73 74 20 26 71 75 6f 74 3b 69 66 20 65 78 70 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 2e .test.&quot;if.expression&quot;.
66320 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">
66340 32 2f 35 20 74 65 73 74 20 26 71 75 6f 74 3b 69 66 20 62 6f 6f 6c 65 61 6e 26 71 75 6f 74 3b 2e 2/5.test.&quot;if.boolean&quot;.
66360 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">
66380 33 2f 35 20 74 65 73 74 20 26 71 75 6f 74 3b 69 66 20 6f 70 74 69 6f 6e 61 6c 26 71 75 6f 74 3b 3/5.test.&quot;if.optional&quot;
663a0 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"
663c0 3e 34 2f 35 20 74 65 73 74 20 26 71 75 6f 74 3b 69 66 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 >4/5.test.&quot;if.error.union&q
663e0 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uot;....OK</span>.<span.class="l
66400 69 6e 65 22 3e 35 2f 35 20 74 65 73 74 20 26 71 75 6f 74 3b 69 66 20 65 72 72 6f 72 20 75 6e 69 ine">5/5.test.&quot;if.error.uni
66420 6f 6e 20 77 69 74 68 20 6f 70 74 69 6f 6e 61 6c 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 on.with.optional&quot;....OK</sp
66440 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 35 20 74 65 73 an>.<span.class="line">All.5.tes
66460 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><
66480 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c /figure>.......<p>See.also:</p><
664a0 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 ul>.<li><a.href="#Optionals">Opt
664c0 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 ionals</a></li>.<li><a.href="#Er
664e0 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 rors">Errors</a></li>.</ul>.....
66500 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 64 65 66 65 72 22 3e 3c 61 20 68 72 65 66 ..........<h2.id="defer"><a.href
66520 3d 22 23 74 6f 63 2d 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 ="#toc-defer">defer</a>.<a.class
66540 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e ="hdr".href="#defer">..</a></h2>
66560 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
66580 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 s="zig-cap"><cite.class="file">d
665a0 65 66 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 efer.zig</cite></figcaption><pre
665c0 3e 3c 63 6f 64 65 3e 3c 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.
665e0 63 6c 61 73 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.
66600 3d 20 3c 73 70 61 6e 20 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
66620 6f 72 74 3c 2f 73 70 61 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"
66640 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>
66660 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
66680 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
666a0 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.
666c0 63 6c 61 73 73 3d 22 6c 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
666e0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 73 74 64 2e 64 65 62 75 67 ">const</span>.print.=.std.debug
66700 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .print;</span>.<span.class="line
66720 22 3e 3c 2f 73 70 61 6e 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
66740 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 65 66 65 72 20 an.class="tok-comment">//.defer.
66760 77 69 6c 6c 20 65 78 65 63 75 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 61 74 20 74 68 will.execute.an.expression.at.th
66780 65 20 65 6e 64 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 63 6f 70 65 2e 3c 2f 73 70 61 e.end.of.the.current.scope.</spa
667a0 6e 3e 3c 2f 73 70 61 6e 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
667c0 61 6e 20 63 6c 61 73 73 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
667e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 66 65 72 45 78 61 6d 70 6c 65 3c 2f 73 n.class="tok-fn">deferExample</s
66800 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 pan>().!<span.class="tok-type">u
66820 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 size</span>.{</span>.<span.class
66840 3d 22 6c 69 6e 65 22 3e 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"
66860 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >var</span>.a:.<span.class="tok-
66880 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 type">usize</span>.=.<span.class
668a0 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>.<
668c0 73 70 61 6e 20 63 6c 61 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.
668e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 class="line">....{</span>.<span.
66900 63 6c 61 73 73 3d 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
66920 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c 73 70 61 6e ="tok-kw">defer</span>.a.=.<span
66940 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
66960 70 61 6e 3e 0a 3c 73 70 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">........
66980 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f a.=.<span.class="tok-number">1</
669a0 73 70 61 6e 3e 3b 3c 2f 73 70 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"
669c0 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"
669e0 3e 20 20 20 20 3c 73 70 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
66a00 70 61 6e 3e 20 65 78 70 65 63 74 28 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pan>.expect(a.==.<span.class="to
66a20 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-number">2</span>);</span>.<spa
66a40 6e 20 63 6c 61 73 73 3d 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
66a60 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ss="line">....a.=.<span.class="t
66a80 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">5</span>;</span>.<spa
66aa0 6e 20 63 6c 61 73 73 3d 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="
66ac0 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 3b 3c 2f 73 70 61 6e 3e 0a tok-kw">return</span>.a;</span>.
66ae0 3c 73 70 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
66b00 6e 20 63 6c 61 73 73 3d 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
66b20 73 73 3d 22 6c 69 6e 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
66b40 65 73 74 3c 2f 73 70 61 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"
66b60 3e 26 71 75 6f 74 3b 64 65 66 65 72 20 62 61 73 69 63 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e >&quot;defer.basics&quot;</span>
66b80 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
66ba0 20 3c 73 70 61 6e 20 63 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>
66bc0 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 .expect((<span.class="tok-kw">tr
66be0 79 3c 2f 73 70 61 6e 3e 20 64 65 66 65 72 45 78 61 6d 70 6c 65 28 29 29 20 3d 3d 20 3c 73 70 61 y</span>.deferExample()).==.<spa
66c00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 3c n.class="tok-number">5</span>);<
66c20 2f 73 70 61 6e 3e 0a 3c 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
66c40 6e 3e 0a 3c 73 70 61 6e 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
66c60 70 61 6e 20 63 6c 61 73 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
66c80 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 6d 75 6c 74 69 70 6c 65 20 64 65 66 65 72 20 k-comment">//.If.multiple.defer.
66ca0 73 74 61 74 65 6d 65 6e 74 73 20 61 72 65 20 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 79 20 77 statements.are.specified,.they.w
66cc0 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ill.be.executed.in</span></span>
66ce0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
66d00 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 72 65 76 65 72 73 65 20 6f 72 64 "tok-comment">//.the.reverse.ord
66d20 65 72 20 74 68 65 79 20 77 65 72 65 20 72 75 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a er.they.were.run.</span></span>.
66d40 3c 73 70 61 6e 20 63 6c 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="
66d60 74 6f 6b 2d 6b 77 22 3e 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
66d80 6f 6b 2d 66 6e 22 3e 64 65 66 65 72 55 6e 77 69 6e 64 45 78 61 6d 70 6c 65 3c 2f 73 70 61 6e 3e ok-fn">deferUnwindExample</span>
66da0 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</
66dc0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
66de0 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ">....print(<span.class="tok-str
66e00 22 3e 26 71 75 6f 74 3b 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f ">&quot;\n&quot;</span>,..{});</
66e20 73 70 61 6e 3e 0a 3c 73 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>
66e40 0a 3c 73 70 61 6e 20 63 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
66e60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ass="tok-kw">defer</span>.{</spa
66e80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 n>.<span.class="line">........pr
66ea0 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;
66ec0 31 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 1.&quot;</span>,..{});</span>.<s
66ee0 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
66f00 70 61 6e 20 63 6c 61 73 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
66f20 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ="tok-kw">defer</span>.{</span>.
66f40 3c 73 70 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
66f60 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 32 20 26 (<span.class="tok-str">&quot;2.&
66f80 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e quot;</span>,..{});</span>.<span
66fa0 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
66fc0 20 63 6c 61 73 73 3d 22 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
66fe0 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
67000 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a ok-null">false</span>).{</span>.
67020 3c 73 70 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
67040 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 65 66 65 72 73 20 61 .class="tok-comment">//.defers.a
67060 72 65 20 6e 6f 74 20 72 75 6e 20 69 66 20 74 68 65 79 20 61 72 65 20 6e 65 76 65 72 20 65 78 65 re.not.run.if.they.are.never.exe
67080 63 75 74 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 cuted.</span></span>.<span.class
670a0 3d 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
670c0 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -kw">defer</span>.{</span>.<span
670e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 .class="line">............print(
67100 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 33 20 26 71 <span.class="tok-str">&quot;3.&q
67120 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.
67140 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
67160 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
67180 70 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.
671a0 63 6c 61 73 73 3d 22 6c 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
671c0 3d 22 6c 69 6e 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
671e0 74 3c 2f 73 70 61 6e 3e 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">&
67200 71 75 6f 74 3b 64 65 66 65 72 20 75 6e 77 69 6e 64 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e quot;defer.unwinding&quot;</span
67220 3e 20 7b 3c 2f 73 70 61 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">..
67240 20 20 64 65 66 65 72 55 6e 77 69 6e 64 45 78 61 6d 70 6c 65 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ..deferUnwindExample();</span>.<
67260 73 70 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
67280 20 63 6c 61 73 73 3d 22 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
672a0 73 3d 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
672c0 74 22 3e 2f 2f 20 54 68 65 20 65 72 72 64 65 66 65 72 20 6b 65 79 77 6f 72 64 20 69 73 20 73 69 t">//.The.errdefer.keyword.is.si
672e0 6d 69 6c 61 72 20 74 6f 20 64 65 66 65 72 2c 20 62 75 74 20 77 69 6c 6c 20 6f 6e 6c 79 20 65 78 milar.to.defer,.but.will.only.ex
67300 65 63 75 74 65 20 69 66 20 74 68 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ecute.if.the</span></span>.<span
67320 20 63 6c 61 73 73 3d 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
67340 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 63 6f 70 65 20 72 65 74 75 72 6e 73 20 77 69 74 68 20 61 6e omment">//.scope.returns.with.an
67360 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
67380 73 3d 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
673a0 74 22 3e 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d t">//</span></span>.<span.class=
673c0 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"
673e0 3e 2f 2f 20 54 68 69 73 20 69 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 69 6e >//.This.is.especially.useful.in
67400 20 61 6c 6c 6f 77 69 6e 67 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 63 6c 65 61 6e 20 75 70 .allowing.a.function.to.clean.up
67420 20 70 72 6f 70 65 72 6c 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .properly</span></span>.<span.cl
67440 61 73 73 3d 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
67460 65 6e 74 22 3e 2f 2f 20 6f 6e 20 65 72 72 6f 72 2c 20 61 6e 64 20 72 65 70 6c 61 63 65 73 20 67 ent">//.on.error,.and.replaces.g
67480 6f 74 6f 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 20 74 61 63 74 69 63 73 20 61 73 20 73 65 oto.error.handling.tactics.as.se
674a0 65 6e 20 69 6e 20 63 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 en.in.c.</span></span>.<span.cla
674c0 73 73 3d 22 6c 69 6e 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
674e0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 n</span>.<span.class="tok-fn">de
67500 66 65 72 45 72 72 6f 72 45 78 61 6d 70 6c 65 3c 2f 73 70 61 6e 3e 28 69 73 5f 65 72 72 6f 72 3a ferErrorExample</span>(is_error:
67520 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
67540 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 an>).!<span.class="tok-type">voi
67560 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
67580 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ine">....print(<span.class="tok-
675a0 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 73 74 61 72 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 5c 6e str">&quot;\nstart.of.function\n
675c0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 &quot;</span>,..{});</span>.<spa
675e0 6e 20 63 6c 61 73 73 3d 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
67600 73 73 3d 22 6c 69 6e 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
67620 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 65 omment">//.This.will.always.be.e
67640 78 65 63 75 74 65 64 20 6f 6e 20 65 78 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 xecuted.on.exit</span></span>.<s
67660 70 61 6e 20 63 6c 61 73 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
67680 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a ="tok-kw">defer</span>.{</span>.
676a0 3c 73 70 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
676c0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 64 (<span.class="tok-str">&quot;end
676e0 20 6f 66 20 66 75 6e 63 74 69 6f 6e 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d .of.function\n&quot;</span>,..{}
67700 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
67720 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
67740 70 61 6e 3e 0a 3c 73 70 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
67760 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>
67780 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
677a0 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 .....print(<span.class="tok-str"
677c0 3e 26 71 75 6f 74 3b 65 6e 63 6f 75 6e 74 65 72 65 64 20 61 6e 20 65 72 72 6f 72 21 5c 6e 26 71 >&quot;encountered.an.error!\n&q
677e0 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.
67800 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.
67820 63 6c 61 73 73 3d 22 6c 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
67840 3d 22 6c 69 6e 65 22 3e 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"
67860 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 73 5f 65 72 72 6f 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c >if</span>.(is_error).{</span>.<
67880 73 70 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.
678a0 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
678c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 44 an.class="tok-kw">error</span>.D
678e0 65 66 65 72 45 72 72 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c eferError;</span>.<span.class="l
67900 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
67920 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"
67940 3e 3c 2f 73 70 61 6e 3e 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
67960 6e 20 63 6c 61 73 73 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
67980 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 72 72 64 65 66 65 an.class="tok-str">&quot;errdefe
679a0 72 20 75 6e 77 69 6e 64 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e r.unwinding&quot;</span>.{</span
679c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 65 66 65 72 45 72 >.<span.class="line">....deferEr
679e0 72 6f 72 45 78 61 6d 70 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c rorExample(<span.class="tok-null
67a00 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">false</span>).<span.class="tok
67a20 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
67a40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 65 66 65 72 45 72 72 6f 72 45 78 an.class="line">....deferErrorEx
67a60 61 6d 70 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 ample(<span.class="tok-null">tru
67a80 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 e</span>).<span.class="tok-kw">c
67aa0 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
67ac0 73 73 3d 22 6c 69 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><
67ae0 2f 66 69 67 75 72 65 3e 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
67b00 73 3d 22 73 68 65 6c 6c 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>
67b20 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">$.
67b40 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 64 65 66 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 <kbd>zig.test.defer.zig</kbd></s
67b60 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 33 20 74 65 73 74 pan>.<span.class="line">1/3.test
67b80 20 26 71 75 6f 74 3b 64 65 66 65 72 20 62 61 73 69 63 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c .&quot;defer.basics&quot;....OK<
67ba0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 33 20 74 65 /span>.<span.class="line">2/3.te
67bc0 73 74 20 26 71 75 6f 74 3b 64 65 66 65 72 20 75 6e 77 69 6e 64 69 6e 67 26 71 75 6f 74 3b 2e 2e st.&quot;defer.unwinding&quot;..
67be0 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 20 31 20 .</span>.<span.class="line">2.1.
67c00 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
67c20 20 74 65 73 74 20 26 71 75 6f 74 3b 65 72 72 64 65 66 65 72 20 75 6e 77 69 6e 64 69 6e 67 26 71 .test.&quot;errdefer.unwinding&q
67c40 75 6f 74 3b 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 uot;...</span>.<span.class="line
67c60 22 3e 73 74 61 72 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">start.of.function</span>.<span
67c80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6e 64 20 6f 66 20 66 75 6e 63 74 69 6f 6e 3c 2f 73 .class="line">end.of.function</s
67ca0 70 61 6e 3e 0a 3c 73 70 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>.
67cc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 61 72 74 20 6f 66 20 66 75 6e 63 <span.class="line">start.of.func
67ce0 74 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 tion</span>.<span.class="line">e
67d00 6e 63 6f 75 6e 74 65 72 65 64 20 61 6e 20 65 72 72 6f 72 21 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ncountered.an.error!</span>.<spa
67d20 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</
67d40 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4f 4b 3c 2f 73 70 61 span>.<span.class="line">OK</spa
67d60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 33 20 74 65 73 74 n>.<span.class="line">All.3.test
67d80 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></
67da0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 figure>.......<p>See.also:</p><u
67dc0 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c l>.<li><a.href="#Errors">Errors<
67de0 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
67e00 20 69 64 3d 22 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d .id="unreachable"><a.href="#toc-
67e20 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 20 3c 61 20 unreachable">unreachable</a>.<a.
67e40 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e class="hdr".href="#unreachable">
67e60 c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 ..</a></h2>........<p>.......In.
67e80 3c 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</
67ea0 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
67ec0 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
67ee0 64 65 3e 20 6d 6f 64 65 2c 20 61 6e 64 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 6b 62 64 3e 7a 69 de>.mode,.and.when.using.<kbd>zi
67f00 67 20 74 65 73 74 3c 2f 6b 62 64 3e 2c 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 g.test</kbd>,.......<code><span.
67f20 63 6c 61 73 73 3d 22 6c 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
67f40 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
67f60 65 3e 20 65 6d 69 74 73 20 61 20 63 61 6c 6c 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 e>.emits.a.call.to.<code><span.c
67f80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 lass="line">panic</span></code>.
67fa0 77 69 74 68 20 74 68 65 20 6d 65 73 73 61 67 65 20 3c 63 6f 64 65 3e 72 65 61 63 68 65 64 20 75 with.the.message.<code>reached.u
67fc0 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f nreachable.code</code>........</
67fe0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 p>.......<p>.......In.<code><spa
68000 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 73 70 61 6e n.class="line">ReleaseFast</span
68020 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2c 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 75 73 65 ></code>.mode,.the.optimizer.use
68040 73 20 74 68 65 20 61 73 73 75 6d 70 74 69 6f 6e 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 s.the.assumption.that.<code><spa
68060 6e 20 63 6c 61 73 73 3d 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-
68080 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
680a0 6f 64 65 3e 20 63 6f 64 65 0a 20 20 20 20 20 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 68 69 ode>.code.......will.never.be.hi
680c0 74 20 74 6f 20 70 65 72 66 6f 72 6d 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2e 20 48 6f 77 65 t.to.perform.optimizations..Howe
680e0 76 65 72 2c 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f 6b 62 64 3e 20 65 76 65 6e 20 69 6e ver,.<kbd>zig.test</kbd>.even.in
68100 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 65 6c 65 61 73 .<code><span.class="line">Releas
68120 65 46 61 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 0a 20 20 20 20 20 20 20 eFast</span></code>.mode........
68140 20 20 20 20 20 20 20 20 20 20 20 73 74 69 6c 6c 20 65 6d 69 74 73 20 3c 63 6f 64 65 3e 3c 73 70 ...........still.emits.<code><sp
68160 61 6e 20 63 6c 61 73 73 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
68180 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f -kw">unreachable</span></span></
681a0 63 6f 64 65 3e 20 61 73 20 63 61 6c 6c 73 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c code>.as.calls.to.<code><span.cl
681c0 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a ass="line">panic</span></code>..
681e0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 42 61 73 69 63 73 22 ......</p>.......<h3.id="Basics"
68200 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 61 73 69 63 73 22 3e 42 61 73 69 63 73 3c 2f 61 ><a.href="#toc-Basics">Basics</a
68220 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 61 73 69 63 73 22 3e >.<a.class="hdr".href="#Basics">
68240 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 ..</a></h3>........<figure><figc
68260 61 70 74 69 6f 6e 20 63 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
68280 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f ss="file">test_unreachable.zig</
682a0 63 69 74 65 3e 3c 2f 66 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
682c0 61 6e 20 63 6c 61 73 73 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
682e0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 72 65 61 63 68 61 62 6c 65 20 69 73 20 75 73 65 64 -comment">//.unreachable.is.used
68300 20 74 6f 20 61 73 73 65 72 74 20 74 68 61 74 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 77 69 6c .to.assert.that.control.flow.wil
68320 6c 20 6e 65 76 65 72 20 72 65 61 63 68 20 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 l.never.reach.a</span></span>.<s
68340 70 61 6e 20 63 6c 61 73 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
68360 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 61 72 74 69 63 75 6c 61 72 20 6c 6f 63 61 74 69 6f k-comment">//.particular.locatio
68380 6e 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n:</span></span>.<span.class="li
683a0 6e 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
683c0 70 61 6e 3e 20 3c 73 70 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
683e0 3b 62 61 73 69 63 20 6d 61 74 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ;basic.math&quot;</span>.{</span
68400 3e 0a 3c 73 70 61 6e 20 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
68420 6c 61 73 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.=.<
68440 73 70 61 6e 20 63 6c 61 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>
68460 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
68480 3c 73 70 61 6e 20 63 6c 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
684a0 3e 20 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 >.y.=.<span.class="tok-number">2
684c0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
684e0 65 22 3e 20 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</
68500 73 70 61 6e 3e 20 28 78 20 2b 20 79 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>.(x.+.y.!=.<span.class="tok
68520 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">3</span>).{</span>.<spa
68540 6e 20 63 6c 61 73 73 3d 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
68560 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c ss="tok-kw">unreachable</span>;<
68580 2f 73 70 61 6e 3e 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">....}<
685a0 2f 73 70 61 6e 3e 0a 3c 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
685c0 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>
685e0 3c 66 69 67 63 61 70 74 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
68600 65 6c 6c 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
68620 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
68640 73 74 5f 75 6e 72 65 61 63 68 61 62 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a st_unreachable.zig</kbd></span>.
68660 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f <span.class="line">1/1.test.&quo
68680 74 3b 62 61 73 69 63 20 6d 61 74 68 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a t;basic.math&quot;....OK</span>.
686a0 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
686c0 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
686e0 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 6e 20 66 61 63 74 2c 20 74 68 69 73 20 69 73 20 68 ure>.......<p>In.fact,.this.is.h
68700 6f 77 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e ow.<code><span.class="line">std.
68720 64 65 62 75 67 2e 61 73 73 65 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 69 6d debug.assert</span></code>.is.im
68740 70 6c 65 6d 65 6e 74 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 plemented:</p>.......<figure><fi
68760 67 63 61 70 74 69 6f 6e 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
68780 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
687a0 63 61 70 74 69 6f 6e 3e 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="
687c0 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">
687e0 2f 2f 20 54 68 69 73 20 69 73 20 68 6f 77 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 20 //.This.is.how.std.debug.assert.
68800 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 is.implemented</span></span>.<sp
68820 61 6e 20 63 6c 61 73 73 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
68840 2d 6b 77 22 3e 66 6e 3c 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-
68860 66 6e 22 3e 61 73 73 65 72 74 3c 2f 73 70 61 6e 3e 28 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 fn">assert</span>(ok:.<span.clas
68880 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 s="tok-type">bool</span>).<span.
688a0 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>.{</
688c0 73 70 61 6e 3e 0a 3c 73 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
688e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 6f 6b an.class="tok-kw">if</span>.(!ok
68900 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 ).<span.class="tok-kw">unreachab
68920 6c 65 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d le</span>;.<span.class="tok-comm
68940 65 6e 74 22 3e 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 3c 2f 73 70 61 6e 3e ent">//.assertion.failure</span>
68960 3c 2f 73 70 61 6e 3e 0a 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
68980 61 6e 3e 0a 3c 73 70 61 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>.<
689a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
689c0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 74 65 73 74 20 77 69 6c 6c 20 66 61 ok-comment">//.This.test.will.fa
689e0 69 6c 20 62 65 63 61 75 73 65 20 77 65 20 68 69 74 20 75 6e 72 65 61 63 68 61 62 6c 65 2e 3c 2f il.because.we.hit.unreachable.</
68a00 73 70 61 6e 3e 3c 2f 73 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">
68a20 3c 73 70 61 6e 20 63 6c 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>
68a40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 .<span.class="tok-str">&quot;thi
68a60 73 20 77 69 6c 6c 20 66 61 69 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e s.will.fail&quot;</span>.{</span
68a80 3e 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(
68aa0 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
68ac0 61 6e 3e 29 3b 3c 2f 73 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">
68ae0 7d 3c 2f 73 70 61 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
68b00 69 67 75 72 65 3e 3c 66 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
68b20 61 70 22 3e 53 68 65 6c 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
68b40 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
68b60 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.
68b80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 74 68 69 73 class="line">1/1.test.&quot;this
68ba0 20 77 69 6c 6c 20 66 61 69 6c 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 31 34 33 31 37 .will.fail&quot;....thread.14317
68bc0 34 31 20 70 61 6e 69 63 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 41.panic:.reached.unreachable.co
68be0 64 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 de</span>.<span.class="line"><sp
68c00 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
68c20 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 34 3c 2f 73 70 61 ig/docgen_tmp/test.zig:3:14</spa
68c40 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 64 62 62 20 n>:.<span.class="t2_0">0x207dbb.
68c60 69 6e 20 61 73 73 65 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c in.assert.(test)</span></span>.<
68c80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 66 20 28 21 6f 6b 29 20 75 span.class="line">....if.(!ok).u
68ca0 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 nreachable;.//.assertion.failure
68cc0 3c 2f 73 70 61 6e 3e 0a 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">.....
68ce0 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
68d00 70 61 6e 3e 3c 2f 73 70 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"><
68d20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 span.class="t1_0">/home/andy/tmp
68d40 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 38 3a 31 31 3c 2f 73 /zig/docgen_tmp/test.zig:8:11</s
68d60 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 38 34 pan>:.<span.class="t2_0">0x20784
68d80 65 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 3b 74 68 69 73 20 77 69 6c 6c 20 66 61 69 6c 26 71 e.in.test.&quot;this.will.fail&q
68da0 75 6f 74 3b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 uot;.(test)</span></span>.<span.
68dc0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 3c class="line">....assert(false);<
68de0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 /span>.<span.class="line">......
68e00 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>
68e20 3c 2f 73 70 61 6e 3e 0a 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
68e40 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 .class="t1_0">/home/andy/tmp/zig
68e60 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 /lib/std/special/test_runner.zig
68e80 3a 38 30 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 :80:28</span>:.<span.class="t2_0
68ea0 22 3e 30 78 32 32 66 31 30 33 20 69 6e 20 73 74 64 2e 73 70 65 63 69 61 6c 2e 6d 61 69 6e 20 28 ">0x22f103.in.std.special.main.(
68ec0 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=
68ee0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 "line">........}.else.test_fn.fu
68f00 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e nc();</span>.<span.class="line">
68f20 20 20 20 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
68f40 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>.<
68f60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
68f80 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
68fa0 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:551:22</span>:.<span.c
68fc0 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 38 34 37 63 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x22847c.in.std.star
68fe0 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a t.callMain.(test)</span></span>.
69000 3c 73 70 61 6e 20 63 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
69020 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="
69040 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
69060 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>.<
69080 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
690a0 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
690c0 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:495:12</span>:.<span.c
690e0 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 30 62 65 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x2090be.in.std.star
69100 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e t.callMainWithArgs.(test)</span>
69120 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 </span>.<span.class="line">....r
69140 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 eturn.@call(.{..modifier.=..alwa
69160 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 ys_inline.},.callMain,..{});</sp
69180 61 6e 3e 0a 3c 73 70 61 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">.........
691a0 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></
691c0 73 70 61 6e 3e 0a 3c 73 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
691e0 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c lass="t1_0">/home/andy/tmp/zig/l
69200 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 ib/std/start.zig:409:17</span>:.
69220 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 38 31 35 36 20 69 6e 20 73 <span.class="t2_0">0x208156.in.s
69240 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 td.start.posixCallMainAndExit.(t
69260 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="
69280 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e line">....std.os.exit(@call(.{..
692a0 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c modifier.=..always_inline.},.cal
692c0 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e lMainWithArgs,..{.argc,.argv,.en
692e0 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 vp.}));</span>.<span.class="line
69300 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
69320 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
69340 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
69360 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 e/andy/tmp/zig/lib/std/start.zig
69380 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 :322:5</span>:.<span.class="t2_0
693a0 22 3e 30 78 32 30 37 66 36 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 ">0x207f62.in.std.start._start.(
693c0 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=
693e0 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 "line">....@call(.{..modifier.=.
69400 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e .never_inline.},.posixCallMainAn
69420 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d dExit,..{});</span>.<span.class=
69440 22 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">^
69460 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
69480 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 65 73 74 20 63 6f 6d 6d ">error:.the.following.test.comm
694a0 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d and.crashed:</span>.<span.class=
694c0 22 6c 69 6e 65 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 65 36 "line">docgen_tmp/zig-cache/o/e6
694e0 32 64 35 62 36 34 33 64 30 38 66 31 61 63 62 62 31 33 38 36 64 62 39 32 65 62 30 66 32 33 2f 74 2d5b643d08f1acbb1386db92eb0f23/t
69500 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c est./home/andy/tmp/zig/build-rel
69520 65 61 73 65 2f 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 ease/zig</span>.</samp></pre></f
69540 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 74 2d 43 igure>..............<h3.id="At-C
69560 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 74 2d 43 6f ompile-Time"><a.href="#toc-At-Co
69580 6d 70 69 6c 65 2d 54 69 6d 65 22 3e 41 74 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 3c 2f 61 3e 20 mpile-Time">At.Compile-Time</a>.
695a0 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 2d 43 6f 6d 70 69 6c 65 <a.class="hdr".href="#At-Compile
695c0 2d 54 69 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 -Time">..</a></h3>........<figur
695e0 65 3e 3c 66 69 67 63 61 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
69600 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>
69620 3c 2f 66 69 67 63 61 70 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
69640 61 73 73 3d 22 6c 69 6e 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">
69660 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 const</span>.assert.=.<span.clas
69680 73 3d 22 74 6f 6b 2d 62 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>(<
696a0 73 70 61 6e 20 63 6c 61 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
696c0 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e uot;</span>).debug.assert;</span
696e0 3e 0a 3c 73 70 61 6e 20 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
69700 61 6e 20 63 6c 61 73 73 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
69720 2d 6b 77 22 3e 74 65 73 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
69740 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 20 6f 66 20 75 6e 72 65 61 63 68 61 62 6c 65 k-str">&quot;type.of.unreachable
69760 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
69780 73 73 3d 22 6c 69 6e 65 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
697a0 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
697c0 6e 20 63 6c 61 73 73 3d 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
697e0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 74 79 70 65 20 6f 66 20 ss="tok-comment">//.The.type.of.
69800 75 6e 72 65 61 63 68 61 62 6c 65 20 69 73 20 6e 6f 72 65 74 75 72 6e 2e 3c 2f 73 70 61 6e 3e 3c unreachable.is.noreturn.</span><
69820 2f 73 70 61 6e 3e 0a 3c 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
69840 3e 0a 3c 73 70 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
69860 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 6f 77 65 76 65 an.class="tok-comment">//.Howeve
69880 72 20 74 68 69 73 20 61 73 73 65 72 74 69 6f 6e 20 77 69 6c 6c 20 73 74 69 6c 6c 20 66 61 69 6c r.this.assertion.will.still.fail
698a0 20 74 6f 20 63 6f 6d 70 69 6c 65 20 62 65 63 61 75 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .to.compile.because</span></span
698c0 3e 0a 3c 73 70 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
698e0 61 6e 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
69900 68 61 62 6c 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 63 6f 6d 70 69 6c 65 20 65 72 hable.expressions.are.compile.er
69920 72 6f 72 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d rors.</span></span>.<span.class=
69940 22 6c 69 6e 65 22 3e 3c 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
69960 22 3e 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">........assert(<span.class="to
69980 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-builtin">@TypeOf</span>(<span.
699a0 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
699c0 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 >).==.<span.class="tok-type">nor
699e0 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 eturn</span>);</span>.<span.clas
69a00 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
69a20 73 3d 22 6c 69 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></
69a40 66 69 67 75 72 65 3e 3c 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
69a60 3d 22 73 68 65 6c 6c 2d 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><
69a80 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">$.<
69aa0 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
69ac0 6e 3e 0a 3c 73 70 61 6e 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
69ae0 73 3d 22 74 31 5f 30 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a s="t1_0">docgen_tmp/test.zig:10:
69b00 31 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 16:.</span><span.class="t31_1">e
69b20 72 72 6f 72 3a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 20 rror:</span><span.class="t1_0">.
69b40 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c unreachable.code</span>.<span.cl
69b60 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 61 73 73 65 72 74 ass="line"></span>........assert
69b80 28 40 54 79 70 65 4f 66 28 75 6e 72 65 61 63 68 61 62 6c 65 29 20 3d 3d 20 6e 6f 72 65 74 75 72 (@TypeOf(unreachable).==.noretur
69ba0 6e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n);</span>.<span.class="line">..
69bc0 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"
69be0 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >^</span>.<span.class="line"></s
69c00 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
69c20 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 32 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 p/test.zig:10:24:.</span><span.c
69c40 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 lass="t36_1">note:</span><span.c
69c60 6c 61 73 73 3d 22 74 31 5f 30 22 3e 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 69 73 20 64 69 76 lass="t1_0">.control.flow.is.div
69c80 65 72 74 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c erted.here</span>.<span.class="l
69ca0 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 40 54 79 70 65 ine"></span>........assert(@Type
69cc0 4f 66 28 75 6e 72 65 61 63 68 61 62 6c 65 29 20 3d 3d 20 6e 6f 72 65 74 75 72 6e 29 3b 3c 2f 73 Of(unreachable).==.noreturn);</s
69ce0 70 61 6e 3e 0a 3c 73 70 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">........
69d00 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_
69d20 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 1">^</span>.<span.class="line"><
69d40 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 /span></span>.</samp></pre></fig
69d60 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a ure>.......<p>See.also:</p><ul>.
69d80 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 54 65 73 74 22 3e 5a 69 67 20 54 65 73 74 <li><a.href="#Zig-Test">Zig.Test
69da0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 42 75 69 6c 64 2d 4d 6f </a></li>.<li><a.href="#Build-Mo
69dc0 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 de">Build.Mode</a></li>.<li><a.h
69de0 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 ref="#comptime">comptime</a></li
69e00 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 >.</ul>......................<h2
69e20 20 69 64 3d 22 6e 6f 72 65 74 75 72 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6e 6f 72 .id="noreturn"><a.href="#toc-nor
69e40 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 eturn">noreturn</a>.<a.class="hd
69e60 72 22 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 75 72 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a r".href="#noreturn">..</a></h2>.
69e80 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
69ea0 73 73 3d 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"
69ec0 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 >noreturn</span></span></code>.i
69ee0 73 20 74 68 65 20 74 79 70 65 20 6f 66 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 s.the.type.of:.......</p>.......
69f00 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
69f20 6c 61 73 73 3d 22 6c 69 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"
69f40 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e >break</span></span></code></li>
69f60 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
69f80 3d 22 6c 69 6e 65 22 3e 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
69fa0 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a tinue</span></span></code></li>.
69fc0 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=
69fe0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 "line"><span.class="tok-kw">retu
6a000 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 rn</span></span></code></li>....
6a020 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
6a040 6e 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
6a060 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 able</span></span></code></li>..
6a080 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="
6a0a0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 line"><span.class="tok-kw">while
6a0c0 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e </span>.(<span.class="tok-null">
6a0e0 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c true</span>).{}</span></code></l
6a100 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 72 65 73 i>.......</ul>.......<p>When.res
6a120 6f 6c 76 69 6e 67 20 74 79 70 65 73 20 74 6f 67 65 74 68 65 72 2c 20 73 75 63 68 20 61 73 20 3c olving.types.together,.such.as.<
6a140 63 6f 64 65 3e 3c 73 70 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
6a160 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ass="tok-kw">if</span></span></c
6a180 6f 64 65 3e 20 63 6c 61 75 73 65 73 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ode>.clauses.or.<code><span.clas
6a1a0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 s="line"><span.class="tok-kw">sw
6a1c0 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 6f 6e 67 73 itch</span></span></code>.prongs
6a1e0 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ,...............the.<code><span.
6a200 63 6c 61 73 73 3d 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
6a220 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
6a240 3e 20 74 79 70 65 20 69 73 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 65 76 65 72 79 20 >.type.is.compatible.with.every.
6a260 6f 74 68 65 72 20 74 79 70 65 2e 20 43 6f 6e 73 69 64 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e other.type..Consider:.......</p>
6a280 0a 20 20 20 20 20 20 3c 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
6a2a0 3d 22 7a 69 67 2d 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
6a2c0 73 74 5f 6e 6f 72 65 74 75 72 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 st_noreturn.zig</cite></figcapti
6a2e0 6f 6e 3e 3c 70 72 65 3e 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"
6a300 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>.
6a320 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>(
6a340 63 6f 6e 64 69 74 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 condition:.<span.class="tok-type
6a360 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">bool</span>,.b:.<span.class="t
6a380 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">u32</span>).<span.class
6a3a0 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>
6a3c0 0a 3c 73 70 61 6e 20 63 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
6a3e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c 73 ass="tok-kw">const</span>.a.=.<s
6a400 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 6f pan.class="tok-kw">if</span>.(co
6a420 6e 64 69 74 69 6f 6e 29 20 62 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ndition).b.<span.class="tok-kw">
6a440 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"
6a460 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >return</span>;</span>.<span.cla
6a480 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ss="line">...._.=.a;</span>.<spa
6a4a0 6e 20 63 6c 61 73 73 3d 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="
6a4c0 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
6a4e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 20 73 6f 6d 65 74 68 .class="tok-str">&quot;do.someth
6a500 69 6e 67 20 77 69 74 68 20 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e ing.with.a&quot;</span>);</span>
6a520 0a 3c 73 70 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
6a540 61 6e 20 63 6c 61 73 73 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
6a560 2d 6b 77 22 3e 74 65 73 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
6a580 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 72 65 74 75 72 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 k-str">&quot;noreturn&quot;</spa
6a5a0 6e 3e 20 7b 3c 2f 73 70 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">.
6a5c0 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 ...foo(<span.class="tok-null">fa
6a5e0 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d lse</span>,.<span.class="tok-num
6a600 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">1</span>);</span>.<span.cla
6a620 73 73 3d 22 6c 69 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><
6a640 2f 66 69 67 75 72 65 3e 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
6a660 73 3d 22 73 68 65 6c 6c 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>
6a680 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">$.
6a6a0 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6e 6f 72 65 74 75 72 6e 2e 7a 69 67 3c <kbd>zig.test.test_noreturn.zig<
6a6c0 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">
6a6e0 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 6f 72 65 74 75 72 6e 26 71 75 6f 74 3b 2e 2e 2e 1/1.test.&quot;noreturn&quot;...
6a700 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
6a720 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>
6a740 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 6e 6f 74 68 65 72 </pre></figure>.......<p>Another
6a760 20 75 73 65 20 63 61 73 65 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .use.case.for.<code><span.class=
6a780 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f "line"><span.class="tok-type">no
6a7a0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 return</span></span></code>.is.t
6a7c0 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 78 69 74 he.<code><span.class="line">exit
6a7e0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 </span></code>.function:</p>....
6a800 20 20 20 3c 66 69 67 75 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
6a820 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 6f 72 65 74 75 g-cap"><cite.class="file">noretu
6a840 72 6e 5f 66 72 6f 6d 5f 65 78 69 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 rn_from_exit.zig</cite></figcapt
6a860 69 6f 6e 3e 3c 70 72 65 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
6a880 22 3e 3c 73 70 61 6e 20 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
6a8a0 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
6a8c0 69 6e 22 3e 40 69 6d 70 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="
6a8e0 74 6f 6b 2d 73 74 72 22 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>)
6a900 3b 3c 2f 73 70 61 6e 3e 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
6a920 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 n.class="tok-kw">const</span>.bu
6a940 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e iltin.=.<span.class="tok-builtin
6a960 22 3e 40 69 6d 70 6f 72 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
6a980 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e k-str">&quot;builtin&quot;</span
6a9a0 3e 29 3b 3c 2f 73 70 61 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
6a9c0 70 61 6e 20 63 6c 61 73 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>.
6a9e0 6e 61 74 69 76 65 5f 61 72 63 68 20 3d 20 62 75 69 6c 74 69 6e 2e 63 70 75 2e 61 72 63 68 3b 3c native_arch.=.builtin.cpu.arch;<
6aa00 2f 73 70 61 6e 3e 0a 3c 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.
6aa20 63 6c 61 73 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
6aa40 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>.
6aa60 3c 73 70 61 6e 20 63 6c 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
6aa80 20 63 6c 61 73 73 3d 22 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
6aaa0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 49 4e 41 50 49 3a 20 73 74 64 2e 62 75 69 6c w">const</span>.WINAPI:.std.buil
6aac0 74 69 6e 2e 43 61 6c 6c 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c tin.CallingConvention.=.<span.cl
6aae0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6e 61 74 69 76 65 5f 61 ass="tok-kw">if</span>.(native_a
6ab00 72 63 68 20 3d 3d 20 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 rch.==..<span.class="tok-type">i
6ab20 33 38 36 3c 2f 73 70 61 6e 3e 29 20 2e 53 74 64 63 61 6c 6c 20 3c 73 70 61 6e 20 63 6c 61 73 73 386</span>)..Stdcall.<span.class
6ab40 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 2e 43 3b 3c 2f 73 70 61 6e 3e ="tok-kw">else</span>..C;</span>
6ab60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
6ab80 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">extern</span>.<span.cla
6aba0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6b 65 72 6e 65 6c 33 32 26 71 75 6f 74 ss="tok-str">&quot;kernel32&quot
6abc0 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e ;</span>.<span.class="tok-kw">fn
6abe0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 45 78 69 </span>.<span.class="tok-fn">Exi
6ac00 74 50 72 6f 63 65 73 73 3c 2f 73 70 61 6e 3e 28 65 78 69 74 5f 63 6f 64 65 3a 20 3c 73 70 61 6e tProcess</span>(exit_code:.<span
6ac20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 69 6e 74 3c 2f 73 70 61 6e 3e 29 .class="tok-type">c_uint</span>)
6ac40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f .<span.class="tok-kw">callconv</
6ac60 73 70 61 6e 3e 28 57 49 4e 41 50 49 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 span>(WINAPI).<span.class="tok-t
6ac80 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ype">noreturn</span>;</span>.<sp
6aca0 61 6e 20 63 6c 61 73 73 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
6acc0 61 73 73 3d 22 6c 69 6e 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">
6ace0 74 65 73 74 3c 2f 73 70 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
6ad00 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ">&quot;foo&quot;</span>.{</span
6ad20 3e 0a 3c 73 70 61 6e 20 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
6ad40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 lass="tok-kw">const</span>.value
6ad60 20 3d 20 62 61 72 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 .=.bar().<span.class="tok-kw">ca
6ad80 74 63 68 3c 2f 73 70 61 6e 3e 20 45 78 69 74 50 72 6f 63 65 73 73 28 3c 73 70 61 6e 20 63 6c 61 tch</span>.ExitProcess(<span.cla
6ada0 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
6adc0 3e 0a 3c 73 70 61 6e 20 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
6ade0 6c 61 73 73 3d 22 74 6f 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(
6ae00 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 value.==.<span.class="tok-number
6ae20 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
6ae40 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="
6ae60 6c 69 6e 65 22 3e 3c 2f 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"
6ae80 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>.
6aea0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 <span.class="tok-fn">bar</span>(
6aec0 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f ).<span.class="tok-type">anyerro
6aee0 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e r</span>!<span.class="tok-type">
6af00 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d u32</span>.{</span>.<span.class=
6af20 22 6c 69 6e 65 22 3e 20 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">
6af40 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e return</span>.<span.class="tok-n
6af60 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e umber">1234</span>;</span>.<span
6af80 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
6afa0 72 65 3e 3c 2f 66 69 67 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.
6afc0 63 6c 61 73 73 3d 22 73 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
6afe0 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
6b000 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 6e 6f 72 65 74 75 72 6e 5f 66 72 6f 6d 5f ">$.<kbd>zig.test.noreturn_from_
6b020 65 78 69 74 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 78 38 36 5f 36 34 2d 77 69 6e 64 6f 77 73 20 exit.zig.-target.x86_64-windows.
6b040 2d 2d 74 65 73 74 2d 6e 6f 2d 65 78 65 63 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 --test-no-exec</kbd></span>.</sa
6b060 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>..............
6b080 20 3c 68 32 20 69 64 3d 22 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f .<h2.id="Functions"><a.href="#to
6b0a0 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c c-Functions">Functions</a>.<a.cl
6b0c0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f ass="hdr".href="#Functions">..</
6b0e0 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 a></h2>........<figure><figcapti
6b100 6f 6e 20 63 6c 61 73 73 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="
6b120 66 69 6c 65 22 3e 66 75 6e 63 74 69 6f 6e 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 file">functions.zig</cite></figc
6b140 61 70 74 69 6f 6e 3e 3c 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
6b160 69 6e 65 22 3e 3c 73 70 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<
6b180 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
6b1a0 69 6c 74 69 6e 22 3e 40 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
6b1c0 73 3d 22 74 6f 6b 2d 73 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
6b1e0 6e 3e 29 3b 3c 2f 73 70 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"><
6b200 73 70 61 6e 20 63 6c 61 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>
6b220 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c .builtin.=.<span.class="tok-buil
6b240 74 69 6e 22 3e 40 69 6d 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=
6b260 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 "tok-str">&quot;builtin&quot;</s
6b280 70 61 6e 3e 29 3b 3c 2f 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"
6b2a0 3e 3c 73 70 61 6e 20 63 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
6b2c0 6e 3e 20 6e 61 74 69 76 65 5f 61 72 63 68 20 3d 20 62 75 69 6c 74 69 6e 2e 63 70 75 2e 61 72 63 n>.native_arch.=.builtin.cpu.arc
6b2e0 68 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 h;</span>.<span.class="line"><sp
6b300 61 6e 20 63 6c 61 73 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
6b320 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
6b340 6e 3e 0a 3c 73 70 61 6e 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
6b360 70 61 6e 20 63 6c 61 73 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
6b380 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 64 65 63 6c k-comment">//.Functions.are.decl
6b3a0 61 72 65 64 20 6c 69 6b 65 20 74 68 69 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ared.like.this</span></span>.<sp
6b3c0 61 6e 20 63 6c 61 73 73 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
6b3e0 2d 6b 77 22 3e 66 6e 3c 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-
6b400 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 fn">add</span>(a:.<span.class="t
6b420 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-type">i8</span>,.b:.<span.cla
6b440 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 ss="tok-type">i8</span>).<span.c
6b460 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 lass="tok-type">i8</span>.{</spa
6b480 6e 3e 0a 3c 73 70 61 6e 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.
6b4a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 3d 3d 20 3c class="tok-kw">if</span>.(a.==.<
6b4c0 73 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>
6b4e0 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">..
6b500 20 20 20 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
6b520 6e 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n</span>.b;</span>.<span.class="
6b540 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="
6b560 6c 69 6e 65 22 3e 3c 2f 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"
6b580 3e 20 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
6b5a0 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 </span>.a.+.b;</span>.<span.clas
6b5c0 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
6b5e0 69 6e 65 22 3e 3c 2f 73 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">
6b600 3c 73 70 61 6e 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
6b620 20 65 78 70 6f 72 74 20 73 70 65 63 69 66 69 65 72 20 6d 61 6b 65 73 20 61 20 66 75 6e 63 74 69 .export.specifier.makes.a.functi
6b640 6f 6e 20 65 78 74 65 72 6e 61 6c 6c 79 20 76 69 73 69 62 6c 65 20 69 6e 20 74 68 65 20 67 65 6e on.externally.visible.in.the.gen
6b660 65 72 61 74 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 erated</span></span>.<span.class
6b680 3d 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
6b6a0 22 3e 2f 2f 20 6f 62 6a 65 63 74 20 66 69 6c 65 2c 20 61 6e 64 20 6d 61 6b 65 73 20 69 74 20 75 ">//.object.file,.and.makes.it.u
6b6c0 73 65 20 74 68 65 20 43 20 41 42 49 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 se.the.C.ABI.</span></span>.<spa
6b6e0 6e 20 63 6c 61 73 73 3d 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-
6b700 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">export</span>.<span.class="t
6b720 6f 6b 2d 6b 77 22 3e 66 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
6b740 6b 2d 66 6e 22 3e 73 75 62 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-fn">sub</span>(a:.<span.class=
6b760 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 "tok-type">i8</span>,.b:.<span.c
6b780 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e lass="tok-type">i8</span>).<span
6b7a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 .class="tok-type">i8</span>.{.<s
6b7c0 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>
6b7e0 20 61 20 2d 20 62 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .a.-.b;.}</span>.<span.class="li
6b800 6e 65 22 3e 3c 2f 73 70 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"><
6b820 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 span.class="tok-comment">//.The.
6b840 65 78 74 65 72 6e 20 73 70 65 63 69 66 69 65 72 20 69 73 20 75 73 65 64 20 74 6f 20 64 65 63 6c extern.specifier.is.used.to.decl
6b860 61 72 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 72 65 73 6f are.a.function.that.will.be.reso
6b880 6c 76 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 lved</span></span>.<span.class="
6b8a0 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">
6b8c0 2f 2f 20 61 74 20 6c 69 6e 6b 20 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 73 74 //.at.link.time,.when.linking.st
6b8e0 61 74 69 63 61 6c 6c 79 2c 20 6f 72 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 atically,.or.at.runtime,.when.li
6b900 6e 6b 69 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d nking</span></span>.<span.class=
6b920 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"
6b940 3e 2f 2f 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c >//.dynamically.</span></span>.<
6b960 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
6b980 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 63 61 6c 6c 63 6f 6e 76 20 73 70 65 63 ok-comment">//.The.callconv.spec
6b9a0 69 66 69 65 72 20 63 68 61 6e 67 65 73 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e ifier.changes.the.calling.conven
6b9c0 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 tion.of.the.function.</span></sp
6b9e0 61 6e 3e 0a 3c 73 70 61 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
6ba00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 49 4e 41 50 49 3a ss="tok-kw">const</span>.WINAPI:
6ba20 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 61 6c 6c 69 6e 67 43 6f 6e 76 65 6e 74 69 6f 6e 20 3d .std.builtin.CallingConvention.=
6ba40 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>.
6ba60 28 6e 61 74 69 76 65 5f 61 72 63 68 20 3d 3d 20 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f (native_arch.==..<span.class="to
6ba80 6b 2d 74 79 70 65 22 3e 69 33 38 36 3c 2f 73 70 61 6e 3e 29 20 2e 53 74 64 63 61 6c 6c 20 3c 73 k-type">i386</span>)..Stdcall.<s
6baa0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 2e pan.class="tok-kw">else</span>..
6bac0 43 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 C;</span>.<span.class="line"><sp
6bae0 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>.
6bb00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6b 65 72 6e <span.class="tok-str">&quot;kern
6bb20 65 6c 33 32 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 el32&quot;</span>.<span.class="t
6bb40 6f 6b 2d 6b 77 22 3e 66 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
6bb60 6b 2d 66 6e 22 3e 45 78 69 74 50 72 6f 63 65 73 73 3c 2f 73 70 61 6e 3e 28 65 78 69 74 5f 63 6f k-fn">ExitProcess</span>(exit_co
6bb80 64 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f de:.<span.class="tok-type">u32</
6bba0 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c span>).<span.class="tok-kw">call
6bbc0 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 57 49 4e 41 50 49 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d conv</span>(WINAPI).<span.class=
6bbe0 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 "tok-type">noreturn</span>;</spa
6bc00 6e 3e 0a 3c 73 70 61 6e 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
6bc20 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
6bc40 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
6bc60 61 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
6bc80 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 74 61 6e 32 3c 2f 73 n>.<span.class="tok-fn">atan2</s
6bca0 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 pan>(a:.<span.class="tok-type">f
6bcc0 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
6bce0 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ype">f64</span>).<span.class="to
6bd00 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-type">f64</span>;</span>.<span
6bd20 20 63 6c 61 73 73 3d 22 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
6bd40 73 3d 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
6bd60 74 22 3e 2f 2f 20 54 68 65 20 40 73 65 74 43 6f 6c 64 20 62 75 69 6c 74 69 6e 20 74 65 6c 6c 73 t">//.The.@setCold.builtin.tells
6bd80 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 .the.optimizer.that.a.function.i
6bda0 73 20 72 61 72 65 6c 79 20 63 61 6c 6c 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c s.rarely.called.</span></span>.<
6bdc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
6bde0 6f 6b 2d 6b 77 22 3e 66 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
6be00 6b 2d 66 6e 22 3e 61 62 6f 72 74 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-fn">abort</span>().<span.class
6be20 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 ="tok-type">noreturn</span>.{</s
6be40 70 61 6e 3e 0a 3c 73 70 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
6be60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 43 6f 6c 64 3c 2f n.class="tok-builtin">@setCold</
6be80 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 span>(<span.class="tok-null">tru
6bea0 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e</span>);</span>.<span.class="l
6bec0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 ine">....<span.class="tok-kw">wh
6bee0 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c ile</span>.(<span.class="tok-nul
6bf00 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 l">true</span>).{}</span>.<span.
6bf20 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
6bf40 73 3d 22 6c 69 6e 65 22 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
6bf60 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">//
6bf80 20 54 68 65 20 6e 61 6b 65 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6d 61 .The.naked.calling.convention.ma
6bfa0 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6e 6f 74 20 68 61 76 65 20 61 6e 79 20 66 75 6e 63 kes.a.function.not.have.any.func
6bfc0 74 69 6f 6e 20 70 72 6f 6c 6f 67 75 65 20 6f 72 20 65 70 69 6c 6f 67 75 65 2e 3c 2f 73 70 61 6e tion.prologue.or.epilogue.</span
6bfe0 3e 3c 2f 73 70 61 6e 3e 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
6c000 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 63 61 n.class="tok-comment">//.This.ca
6c020 6e 20 62 65 20 75 73 65 66 75 6c 20 77 68 65 6e 20 69 6e 74 65 67 72 61 74 69 6e 67 20 77 69 74 n.be.useful.when.integrating.wit
6c040 68 20 61 73 73 65 6d 62 6c 79 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 h.assembly.</span></span>.<span.
6c060 63 6c 61 73 73 3d 22 6c 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
6c080 22 3e 66 6e 3c 2f 73 70 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"
6c0a0 3e 5f 73 74 61 72 74 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >_start</span>().<span.class="to
6c0c0 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 4e 61 6b 65 64 29 20 3c 73 k-kw">callconv</span>(.Naked).<s
6c0e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 pan.class="tok-type">noreturn</s
6c100 70 61 6e 3e 20 7b 3c 2f 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"
6c120 3e 20 20 20 20 61 62 6f 72 74 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >....abort();</span>.<span.class
6c140 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
6c160 6e 65 22 3e 3c 2f 73 70 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"><
6c180 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 span.class="tok-comment">//.The.
6c1a0 69 6e 6c 69 6e 65 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 66 6f 72 63 65 73 inline.calling.convention.forces
6c1c0 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 69 6e 6c 69 6e 65 64 20 61 74 20 61 6c 6c .a.function.to.be.inlined.at.all
6c1e0 20 63 61 6c 6c 20 73 69 74 65 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .call.sites.</span></span>.<span
6c200 20 63 6c 61 73 73 3d 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
6c220 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 6e 6f omment">//.If.the.function.canno
6c240 74 20 62 65 20 69 6e 6c 69 6e 65 64 2c 20 69 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 t.be.inlined,.it.is.a.compile-ti
6c260 6d 65 20 65 72 72 6f 72 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c me.error.</span></span>.<span.cl
6c280 61 73 73 3d 22 6c 69 6e 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">
6c2a0 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 fn</span>.<span.class="tok-fn">s
6c2c0 68 69 66 74 4c 65 66 74 4f 6e 65 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 hiftLeftOne</span>(a:.<span.clas
6c2e0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 s="tok-type">u32</span>).<span.c
6c300 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 49 lass="tok-kw">callconv</span>(.I
6c320 6e 6c 69 6e 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 nline).<span.class="tok-type">u3
6c340 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
6c360 69 6e 65 22 3e 20 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
6c380 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 turn</span>.a.&lt;&lt;.<span.cla
6c3a0 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>
6c3c0 0a 3c 73 70 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
6c3e0 61 6e 20 63 6c 61 73 73 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
6c400 61 73 73 3d 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
6c420 65 6e 74 22 3e 2f 2f 20 54 68 65 20 70 75 62 20 73 70 65 63 69 66 69 65 72 20 61 6c 6c 6f 77 73 ent">//.The.pub.specifier.allows
6c440 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 76 69 73 69 62 6c 65 20 77 68 65 6e .the.function.to.be.visible.when
6c460 20 69 6d 70 6f 72 74 69 6e 67 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .importing.</span></span>.<span.
6c480 63 6c 61 73 73 3d 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
6c4a0 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 6f 74 68 65 72 20 66 69 6c 65 20 63 61 6e 20 75 73 65 20 40 mment">//.Another.file.can.use.@
6c4c0 69 6d 70 6f 72 74 20 61 6e 64 20 63 61 6c 6c 20 73 75 62 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 import.and.call.sub2</span></spa
6c4e0 6e 3e 0a 3c 73 70 61 6e 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
6c500 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
6c520 73 3d 22 74 6f 6b 2d 6b 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
6c540 3d 22 74 6f 6b 2d 66 6e 22 3e 73 75 62 32 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 ="tok-fn">sub2</span>(a:.<span.c
6c560 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 lass="tok-type">i8</span>,.b:.<s
6c580 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 pan.class="tok-type">i8</span>).
6c5a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e <span.class="tok-type">i8</span>
6c5c0 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f .{.<span.class="tok-kw">return</
6c5e0 73 70 61 6e 3e 20 61 20 2d 20 62 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 span>.a.-.b;.}</span>.<span.clas
6c600 73 3d 22 6c 69 6e 65 22 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
6c620 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">//
6c640 20 46 75 6e 63 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 76 61 6c 75 65 73 .Functions.can.be.used.as.values
6c660 20 61 6e 64 20 61 72 65 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 70 6f 69 6e 74 65 72 73 2e .and.are.equivalent.to.pointers.
6c680 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
6c6a0 22 3e 3c 73 70 61 6e 20 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
6c6c0 61 6e 3e 20 63 61 6c 6c 32 5f 6f 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>.call2_op.=.<span.class="tok-
6c6e0 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">fn</span>.(a:.<span.class="t
6c700 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 ok-type">i8</span>,.b:.<span.cla
6c720 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 ss="tok-type">i8</span>).<span.c
6c740 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e lass="tok-type">i8</span>;</span
6c760 3e 0a 3c 73 70 61 6e 20 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
6c780 3d 22 74 6f 6b 2d 6b 77 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=
6c7a0 22 74 6f 6b 2d 66 6e 22 3e 64 6f 5f 6f 70 3c 2f 73 70 61 6e 3e 28 66 6e 5f 63 61 6c 6c 3a 20 63 "tok-fn">do_op</span>(fn_call:.c
6c7c0 61 6c 6c 32 5f 6f 70 2c 20 6f 70 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 all2_op,.op1:.<span.class="tok-t
6c7e0 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 6f 70 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ype">i8</span>,.op2:.<span.class
6c800 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 ="tok-type">i8</span>).<span.cla
6c820 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e ss="tok-type">i8</span>.{</span>
6c840 0a 3c 73 70 61 6e 20 63 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
6c860 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 6e 5f 63 61 ass="tok-kw">return</span>.fn_ca
6c880 6c 6c 28 6f 70 31 2c 20 6f 70 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ll(op1,.op2);</span>.<span.class
6c8a0 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
6c8c0 6e 65 22 3e 3c 2f 73 70 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"><
6c8e0 73 70 61 6e 20 63 6c 61 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>.
6c900 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6e 63 <span.class="tok-str">&quot;func
6c920 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e tion&quot;</span>.{</span>.<span
6c940 20 63 6c 61 73 73 3d 22 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
6c960 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 6f 5f 6f 70 28 61 ok-kw">try</span>.expect(do_op(a
6c980 64 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f dd,.<span.class="tok-number">5</
6c9a0 73 70 61 6e 3e 2c 20 3c 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">
6c9c0 36 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6</span>).==.<span.class="tok-nu
6c9e0 6d 62 65 72 22 3e 31 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mber">11</span>);</span>.<span.c
6ca00 6c 61 73 73 3d 22 6c 69 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
6ca20 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 64 6f 5f 6f 70 28 73 75 62 -kw">try</span>.expect(do_op(sub
6ca40 32 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 2,.<span.class="tok-number">5</s
6ca60 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 pan>,.<span.class="tok-number">6
6ca80 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 </span>).==.-<span.class="tok-nu
6caa0 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
6cac0 61 73 73 3d 22 6c 69 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>
6cae0 3c 2f 66 69 67 75 72 65 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
6cb00 73 73 3d 22 73 68 65 6c 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
6cb20 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">$
6cb40 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 66 75 6e 63 74 69 6f 6e 73 2e 7a 69 67 3c 2f 6b 62 .<kbd>zig.test.functions.zig</kb
6cb60 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
6cb80 20 74 65 73 74 20 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b .test.&quot;function&quot;....OK
6cba0 3c 2f 73 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
6cbc0 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
6cbe0 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 46 75 6e 63 74 69 6f 6e 20 76 re></figure>.......<p>Function.v
6cc00 61 6c 75 65 73 20 61 72 65 20 6c 69 6b 65 20 70 6f 69 6e 74 65 72 73 3a 3c 2f 70 3e 0a 20 20 20 alues.are.like.pointers:</p>....
6cc20 20 20 20 3c 66 69 67 75 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
6cc40 67 2d 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
6cc60 69 67 3c 2f 63 69 74 65 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
6cc80 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
6cca0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c "tok-kw">const</span>.assert.=.<
6ccc0 73 70 61 6e 20 63 6c 61 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
6cce0 3c 2f 73 70 61 6e 3e 28 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
6cd00 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 uot;std&quot;</span>).debug.asse
6cd20 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f rt;</span>.<span.class="line"></
6cd40 73 70 61 6e 3e 0a 3c 73 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
6cd60 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>.{<
6cd80 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 /span>.<span.class="line">....as
6cda0 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 sert(<span.class="tok-builtin">@
6cdc0 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 TypeOf</span>(foo).==.<span.clas
6cde0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 29 3c 73 70 61 6e 20 63 6c 61 73 s="tok-kw">fn</span>()<span.clas
6ce00 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e s="tok-type">void</span>);</span
6ce20 3e 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(
6ce40 3c 73 70 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
6ce60 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e f</span>(<span.class="tok-kw">fn
6ce80 3c 2f 73 70 61 6e 3e 28 29 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e </span>()<span.class="tok-type">
6cea0 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b void</span>).==.<span.class="tok
6cec0 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3f 3c 73 70 61 6e 20 -builtin">@sizeOf</span>(?<span.
6cee0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 29 3c 73 70 61 6e 20 class="tok-kw">fn</span>()<span.
6cf00 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 29 3b 3c class="tok-type">void</span>));<
6cf20 2f 73 70 61 6e 3e 0a 3c 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
6cf40 6e 3e 0a 3c 73 70 61 6e 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
6cf60 70 61 6e 20 63 6c 61 73 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
6cf80 6b 2d 6b 77 22 3e 66 6e 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
6cfa0 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -fn">foo</span>().<span.class="t
6cfc0 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 20 7d 3c 2f 73 70 61 6e 3e 3c ok-type">void</span>.{.}</span><
6cfe0 2f 63 6f 64 65 3e 3c 2f 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
6d000 67 63 61 70 74 69 6f 6e 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
6d020 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
6d040 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 ass="line">$.<kbd>zig.build-obj.
6d060 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 test.zig</kbd></span>.</samp></p
6d080 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 61 73 73 2d re></figure>.......<h3.id="Pass-
6d0a0 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 by-value-Parameters"><a.href="#t
6d0c0 6f 63 2d 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 50 61 73 oc-Pass-by-value-Parameters">Pas
6d0e0 73 2d 62 79 2d 76 61 6c 75 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 s-by-value.Parameters</a>.<a.cla
6d100 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 ss="hdr".href="#Pass-by-value-Pa
6d120 72 61 6d 65 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e rameters">..</a></h3>........<p>
6d140 0a 20 20 20 20 20 20 50 72 69 6d 69 74 69 76 65 20 74 79 70 65 73 20 73 75 63 68 20 61 73 20 3c .......Primitive.types.such.as.<
6d160 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 a.href="#Integers">Integers</a>.
6d180 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e and.<a.href="#Floats">Floats</a>
6d1a0 20 70 61 73 73 65 64 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 20 20 61 72 65 20 .passed.as.parameters.......are.
6d1c0 63 6f 70 69 65 64 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 63 6f 70 79 20 69 73 20 61 76 61 copied,.and.then.the.copy.is.ava
6d1e0 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 62 6f 64 79 2e 20 54 68 69 ilable.in.the.function.body..Thi
6d200 73 20 69 73 20 63 61 6c 6c 65 64 20 22 70 61 73 73 69 6e 67 20 62 79 20 76 61 6c 75 65 22 2e 0a s.is.called."passing.by.value"..
6d220 20 20 20 20 20 20 43 6f 70 79 69 6e 67 20 61 20 70 72 69 6d 69 74 69 76 65 20 74 79 70 65 20 69 ......Copying.a.primitive.type.i
6d240 73 20 65 73 73 65 6e 74 69 61 6c 6c 79 20 66 72 65 65 20 61 6e 64 20 74 79 70 69 63 61 6c 6c 79 s.essentially.free.and.typically
6d260 20 69 6e 76 6f 6c 76 65 73 20 6e 6f 74 68 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 0a 20 20 20 20 .involves.nothing.more.than.....
6d280 20 20 73 65 74 74 69 6e 67 20 61 20 72 65 67 69 73 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ..setting.a.register........</p>
6d2a0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 74 72 75 63 74 73 2c 20 75 6e 69 6f 6e 73 .......<p>.......Structs,.unions
6d2c0 2c 20 61 6e 64 20 61 72 72 61 79 73 20 63 61 6e 20 73 6f 6d 65 74 69 6d 65 73 20 62 65 20 6d 6f ,.and.arrays.can.sometimes.be.mo
6d2e0 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 70 61 73 73 65 64 20 61 73 20 61 20 72 65 66 65 72 re.efficiently.passed.as.a.refer
6d300 65 6e 63 65 2c 20 73 69 6e 63 65 20 61 20 63 6f 70 79 0a 20 20 20 20 20 20 63 6f 75 6c 64 20 62 ence,.since.a.copy.......could.b
6d320 65 20 61 72 62 69 74 72 61 72 69 6c 79 20 65 78 70 65 6e 73 69 76 65 20 64 65 70 65 6e 64 69 6e e.arbitrarily.expensive.dependin
6d340 67 20 6f 6e 20 74 68 65 20 73 69 7a 65 2e 20 57 68 65 6e 20 74 68 65 73 65 20 74 79 70 65 73 20 g.on.the.size..When.these.types.
6d360 61 72 65 20 70 61 73 73 65 64 0a 20 20 20 20 20 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 2c 20 are.passed.......as.parameters,.
6d380 5a 69 67 20 6d 61 79 20 63 68 6f 6f 73 65 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 70 61 73 73 20 Zig.may.choose.to.copy.and.pass.
6d3a0 62 79 20 76 61 6c 75 65 2c 20 6f 72 20 70 61 73 73 20 62 79 20 72 65 66 65 72 65 6e 63 65 2c 20 by.value,.or.pass.by.reference,.
6d3c0 77 68 69 63 68 65 76 65 72 20 77 61 79 0a 20 20 20 20 20 20 5a 69 67 20 64 65 63 69 64 65 73 20 whichever.way.......Zig.decides.
6d3e0 77 69 6c 6c 20 62 65 20 66 61 73 74 65 72 2e 20 54 68 69 73 20 69 73 20 6d 61 64 65 20 70 6f 73 will.be.faster..This.is.made.pos
6d400 73 69 62 6c 65 2c 20 69 6e 20 70 61 72 74 2c 20 62 79 20 74 68 65 20 66 61 63 74 20 74 68 61 74 sible,.in.part,.by.the.fact.that
6d420 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 69 6d 6d 75 74 61 62 6c 65 2e 0a 20 20 20 20 20 .parameters.are.immutable.......
6d440 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.
6d460 63 6c 61 73 73 3d 22 7a 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
6d480 65 22 3e 70 61 73 73 5f 62 79 5f 72 65 66 65 72 65 6e 63 65 5f 6f 72 5f 76 61 6c 75 65 2e 7a 69 e">pass_by_reference_or_value.zi
6d4a0 67 3c 2f 63 69 74 65 3e 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>
6d4c0 3c 73 70 61 6e 20 63 6c 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="
6d4e0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 70 tok-kw">const</span>.Point.=.<sp
6d500 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 an.class="tok-kw">struct</span>.
6d520 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
6d540 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
6d560 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">
6d580 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 ....y:.<span.class="tok-type">i3
6d5a0 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
6d5c0 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"
6d5e0 3e 3c 2f 73 70 61 6e 3e 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
6d600 6e 20 63 6c 61 73 73 3d 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
6d620 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 70 6f 69 6e 74 .class="tok-fn">foo</span>(point
6d640 3a 20 50 6f 69 6e 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e :.Point).<span.class="tok-type">
6d660 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=
6d680 22 6c 69 6e 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
6d6a0 65 6e 74 22 3e 2f 2f 20 48 65 72 65 2c 20 60 70 6f 69 6e 74 60 20 63 6f 75 6c 64 20 62 65 20 61 ent">//.Here,.`point`.could.be.a
6d6c0 20 72 65 66 65 72 65 6e 63 65 2c 20 6f 72 20 61 20 63 6f 70 79 2e 20 54 68 65 20 66 75 6e 63 74 .reference,.or.a.copy..The.funct
6d6e0 69 6f 6e 20 62 6f 64 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ion.body</span></span>.<span.cla
6d700 73 73 3d 22 6c 69 6e 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
6d720 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 61 6e 20 69 67 6e 6f 72 65 20 74 68 65 20 64 69 66 66 65 72 omment">//.can.ignore.the.differ
6d740 65 6e 63 65 20 61 6e 64 20 74 72 65 61 74 20 69 74 20 61 73 20 61 20 76 61 6c 75 65 2e 20 42 65 ence.and.treat.it.as.a.value..Be
6d760 20 76 65 72 79 20 63 61 72 65 66 75 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .very.careful</span></span>.<spa
6d780 6e 20 63 6c 61 73 73 3d 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="
6d7a0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 61 6b 69 6e 67 20 74 68 65 20 61 64 64 72 65 tok-comment">//.taking.the.addre
6d7c0 73 73 20 6f 66 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 2d 20 69 74 20 73 68 6f 75 6c 64 20 ss.of.the.parameter.-.it.should.
6d7e0 62 65 20 74 72 65 61 74 65 64 20 61 73 20 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c be.treated.as.if</span></span>.<
6d800 73 70 61 6e 20 63 6c 61 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
6d820 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 61 64 64 72 65 73 73 20 77 s="tok-comment">//.the.address.w
6d840 69 6c 6c 20 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 20 77 68 65 6e 20 74 68 65 20 66 75 6e 63 ill.become.invalid.when.the.func
6d860 74 69 6f 6e 20 72 65 74 75 72 6e 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tion.returns.</span></span>.<spa
6d880 6e 20 63 6c 61 73 73 3d 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="
6d8a0 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 70 6f 69 6e 74 2e 78 20 2b 20 tok-kw">return</span>.point.x.+.
6d8c0 70 6f 69 6e 74 2e 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e point.y;</span>.<span.class="lin
6d8e0 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"><
6d900 2f 73 70 61 6e 3e 0a 3c 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.
6d920 63 6c 61 73 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
6d940 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">@
6d960 69 6d 70 6f 72 74 3c 2f 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
6d980 74 72 22 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
6d9a0 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="
6d9c0 6c 69 6e 65 22 3e 3c 2f 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"
6d9e0 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
6da00 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 61 >.<span.class="tok-str">&quot;pa
6da20 73 73 20 73 74 72 75 63 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 ss.struct.to.function&quot;</spa
6da40 6e 3e 20 7b 3c 2f 73 70 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">.
6da60 20 20 20 3c 73 70 61 6e 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
6da80 6e 3e 20 65 78 70 65 63 74 28 66 6f 6f 28 50 6f 69 6e 74 7b 20 2e 78 20 3d 20 3c 73 70 61 6e 20 n>.expect(foo(Point{..x.=.<span.
6daa0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2e 79 20 class="tok-number">1</span>,..y.
6dac0 3d 20 3c 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
6dae0 61 6e 3e 20 7d 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 an>.}).==.<span.class="tok-numbe
6db00 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
6db20 3d 22 6c 69 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
6db40 69 67 75 72 65 3e 3c 66 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=
6db60 22 73 68 65 6c 6c 2d 63 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
6db80 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
6dba0 62 64 3e 7a 69 67 20 74 65 73 74 20 70 61 73 73 5f 62 79 5f 72 65 66 65 72 65 6e 63 65 5f 6f 72 bd>zig.test.pass_by_reference_or
6dbc0 5f 76 61 6c 75 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c _value.zig</kbd></span>.<span.cl
6dbe0 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 61 73 73 20 73 ass="line">1/1.test.&quot;pass.s
6dc00 74 72 75 63 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 truct.to.function&quot;....OK</s
6dc20 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
6dc40 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>
6dc60 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 </figure>.......<p>.......For.ex
6dc80 74 65 72 6e 20 66 75 6e 63 74 69 6f 6e 73 2c 20 5a 69 67 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 tern.functions,.Zig.follows.the.
6dca0 43 20 41 42 49 20 66 6f 72 20 70 61 73 73 69 6e 67 20 73 74 72 75 63 74 73 20 61 6e 64 20 75 6e C.ABI.for.passing.structs.and.un
6dcc0 69 6f 6e 73 20 62 79 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ions.by.value........</p>.......
6dce0 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 .......<h3.id="Function-Paramete
6dd00 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d r-Type-Inference"><a.href="#toc-
6dd20 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 Function-Parameter-Type-Inferenc
6dd40 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 72 20 54 79 70 65 20 49 6e 66 65 72 e">Function.Parameter.Type.Infer
6dd60 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 ence</a>.<a.class="hdr".href="#F
6dd80 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 unction-Parameter-Type-Inference
6dda0 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 ">..</a></h3>........<p>.......F
6ddc0 75 6e 63 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 20 63 61 6e 20 62 65 20 64 65 63 6c 61 72 unction.parameters.can.be.declar
6dde0 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ed.with.<code><span.class="line"
6de00 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 ><span.class="tok-kw">anytype</s
6de20 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 74 pan></span></code>.in.place.of.t
6de40 68 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 74 68 65 20 he.type........In.this.case.the.
6de60 70 61 72 61 6d 65 74 65 72 20 74 79 70 65 73 20 77 69 6c 6c 20 62 65 20 69 6e 66 65 72 72 65 64 parameter.types.will.be.inferred
6de80 20 77 68 65 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 2e 0a 20 20 .when.the.function.is.called....
6dea0 20 20 20 20 55 73 65 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 4f 66 22 3e 40 54 79 70 65 4f ....Use.<a.href="#TypeOf">@TypeO
6dec0 66 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 f</a>.and.<a.href="#typeInfo">@t
6dee0 79 70 65 49 6e 66 6f 3c 2f 61 3e 20 74 6f 20 67 65 74 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 ypeInfo</a>.to.get.information.a
6df00 62 6f 75 74 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f bout.the.inferred.type........</
6df20 70 3e 0a 20 20 20 20 20 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
6df40 73 73 3d 22 7a 69 67 2d 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">
6df60 74 65 73 74 5f 66 6e 5f 74 79 70 65 5f 69 6e 66 65 72 65 6e 63 65 2e 7a 69 67 3c 2f 63 69 74 65 test_fn_type_inference.zig</cite
6df80 3e 3c 2f 66 69 67 63 61 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
6dfa0 6c 61 73 73 3d 22 6c 69 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"
6dfc0 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
6dfe0 73 73 3d 22 74 6f 6b 2d 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>(
6e000 3c 73 70 61 6e 20 63 6c 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&
6e020 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
6e040 70 61 6e 3e 0a 3c 73 70 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>.
6e060 3c 73 70 61 6e 20 63 6c 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="
6e080 74 6f 6b 2d 6b 77 22 3e 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
6e0a0 6f 6b 2d 66 6e 22 3e 61 64 64 46 6f 72 74 79 54 77 6f 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 ok-fn">addFortyTwo</span>(x:.<sp
6e0c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e an.class="tok-kw">anytype</span>
6e0e0 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 ).<span.class="tok-builtin">@Typ
6e100 65 4f 66 3c 2f 73 70 61 6e 3e 28 78 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 eOf</span>(x).{</span>.<span.cla
6e120 73 73 3d 22 6c 69 6e 65 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
6e140 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 w">return</span>.x.+.<span.class
6e160 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a ="tok-number">42</span>;</span>.
6e180 3c 73 70 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
6e1a0 6e 20 63 6c 61 73 73 3d 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
6e1c0 73 73 3d 22 6c 69 6e 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
6e1e0 65 73 74 3c 2f 73 70 61 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"
6e200 3e 26 71 75 6f 74 3b 66 6e 20 74 79 70 65 20 69 6e 66 65 72 65 6e 63 65 26 71 75 6f 74 3b 3c 2f >&quot;fn.type.inference&quot;</
6e220 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
6e240 22 3e 20 20 20 20 3c 73 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</
6e260 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 64 64 46 6f 72 74 79 54 77 6f 28 3c 73 70 61 6e 20 63 span>.expect(addFortyTwo(<span.c
6e280 6c 61 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>).==.<
6e2a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 33 3c 2f 73 70 61 6e span.class="tok-number">43</span
6e2c0 3e 29 3b 3c 2f 73 70 61 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">..
6e2e0 20 20 3c 73 70 61 6e 20 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
6e300 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
6e320 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 64 64 46 6f 72 74 79 54 77 6f 28 3c 73 n">@TypeOf</span>(addFortyTwo(<s
6e340 70 61 6e 20 63 6c 61 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>)
6e360 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 ).==.<span.class="tok-type">comp
6e380 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 time_int</span>);</span>.<span.c
6e3a0 6c 61 73 73 3d 22 6c 69 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
6e3c0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">var</span>.y:.<span.class="
6e3e0 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 tok-type">i64</span>.=.<span.cla
6e400 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e ss="tok-number">2</span>;</span>
6e420 0a 3c 73 70 61 6e 20 63 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
6e440 61 73 73 3d 22 74 6f 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
6e460 64 64 46 6f 72 74 79 54 77 6f 28 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ddFortyTwo(y).==.<span.class="to
6e480 6b 2d 6e 75 6d 62 65 72 22 3e 34 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">44</span>);</span>.<sp
6e4a0 61 6e 20 63 6c 61 73 73 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=
6e4c0 22 74 6f 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
6e4e0 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
6e500 61 6e 3e 28 61 64 64 46 6f 72 74 79 54 77 6f 28 79 29 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 an>(addFortyTwo(y)).==.<span.cla
6e520 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ss="tok-type">i64</span>);</span
6e540 3e 0a 3c 73 70 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
6e560 6f 64 65 3e 3c 2f 70 72 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
6e580 61 70 74 69 6f 6e 20 63 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</
6e5a0 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
6e5c0 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 6e s="line">$.<kbd>zig.test.test_fn
6e5e0 5f 74 79 70 65 5f 69 6e 66 65 72 65 6e 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e _type_inference.zig</kbd></span>
6e600 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
6e620 6f 74 3b 66 6e 20 74 79 70 65 20 69 6e 66 65 72 65 6e 63 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b ot;fn.type.inference&quot;....OK
6e640 3c 2f 73 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
6e660 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
6e680 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 re></figure>...............<h3.i
6e6a0 64 3d 22 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d d="Function-Reflection"><a.href=
6e6c0 22 23 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e 46 75 6e 63 74 "#toc-Function-Reflection">Funct
6e6e0 69 6f 6e 20 52 65 66 6c 65 63 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ion.Reflection</a>.<a.class="hdr
6e700 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e c2 a7 ".href="#Function-Reflection">..
6e720 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 </a></h3>........<figure><figcap
6e740 74 69 6f 6e 20 63 6c 61 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
6e760 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 69 6f 6e 2e 7a 69 67 3c 2f ="file">test_fn_reflection.zig</
6e780 63 69 74 65 3e 3c 2f 66 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
6e7a0 61 6e 20 63 6c 61 73 73 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
6e7c0 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
6e7e0 20 63 6c 61 73 73 3d 22 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
6e800 61 6e 3e 28 3c 73 70 61 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;
6e820 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
6e840 3b 3c 2f 73 70 61 6e 3e 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
6e860 61 6e 3e 0a 3c 73 70 61 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
6e880 73 73 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
6e8a0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6e 20 72 65 66 6c 65 63 74 69 6f ass="tok-str">&quot;fn.reflectio
6e8c0 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n&quot;</span>.{</span>.<span.cl
6e8e0 61 73 73 3d 22 6c 69 6e 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-
6e900 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 kw">try</span>.expect(<span.clas
6e920 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e s="tok-builtin">@typeInfo</span>
6e940 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 (<span.class="tok-builtin">@Type
6e960 4f 66 3c 2f 73 70 61 6e 3e 28 65 78 70 65 63 74 29 29 2e 46 6e 2e 61 72 67 73 5b 3c 73 70 61 6e Of</span>(expect)).Fn.args[<span
6e980 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 2e 61 72 .class="tok-number">0</span>].ar
6e9a0 67 5f 74 79 70 65 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 g_type.?.==.<span.class="tok-typ
6e9c0 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e">bool</span>);</span>.<span.cl
6e9e0 61 73 73 3d 22 6c 69 6e 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-
6ea00 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 kw">try</span>.expect(<span.clas
6ea20 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e s="tok-builtin">@typeInfo</span>
6ea40 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 (<span.class="tok-builtin">@Type
6ea60 4f 66 3c 2f 73 70 61 6e 3e 28 65 78 70 65 63 74 29 29 2e 46 6e 2e 69 73 5f 76 61 72 5f 61 72 67 Of</span>(expect)).Fn.is_var_arg
6ea80 73 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 s.==.<span.class="tok-null">fals
6eaa0 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e</span>);</span>.<span.class="l
6eac0 69 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
6eae0 72 65 3e 3c 66 69 67 75 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
6eb00 65 6c 6c 2d 63 61 70 22 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>
6eb20 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>
6eb40 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 66 6e 5f 72 65 66 6c 65 63 74 69 6f 6e 2e 7a 69 67 3c zig.test.test_fn_reflection.zig<
6eb60 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">
6eb80 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 66 6e 20 72 65 66 6c 65 63 74 69 6f 6e 26 71 75 6f 1/1.test.&quot;fn.reflection&quo
6eba0 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e t;....OK</span>.<span.class="lin
6ebc0 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>.</
6ebe0 73 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>............
6ec00 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 45 72 72 6f 72 73 22 3e 3c 61 20 68 72 65 66 .........<h2.id="Errors"><a.href
6ec20 3d 22 23 74 6f 63 2d 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 ="#toc-Errors">Errors</a>.<a.cla
6ec40 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f ss="hdr".href="#Errors">..</a></
6ec60 68 32 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 h2>........<h3.id="Error-Set-Typ
6ec80 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 e"><a.href="#toc-Error-Set-Type"
6eca0 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 >Error.Set.Type</a>.<a.class="hd
6ecc0 72 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e c2 a7 3c 2f 61 3e r".href="#Error-Set-Type">..</a>
6ece0 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 20 65 72 72 6f 72 20 </h3>........<p>.......An.error.
6ed00 73 65 74 20 69 73 20 6c 69 6b 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 set.is.like.an.<a.href="#enum">e
6ed20 6e 75 6d 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 65 61 63 68 20 65 72 72 num</a>........However,.each.err
6ed40 6f 72 20 6e 61 6d 65 20 61 63 72 6f 73 73 20 74 68 65 20 65 6e 74 69 72 65 20 63 6f 6d 70 69 6c or.name.across.the.entire.compil
6ed60 61 74 69 6f 6e 20 67 65 74 73 20 61 73 73 69 67 6e 65 64 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 ation.gets.assigned.an.unsigned.
6ed80 69 6e 74 65 67 65 72 0a 20 20 20 20 20 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 30 2e 20 59 6f integer.......greater.than.0..Yo
6eda0 75 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 74 6f 20 64 65 63 6c 61 72 65 20 74 68 65 20 73 61 6d u.are.allowed.to.declare.the.sam
6edc0 65 20 65 72 72 6f 72 20 6e 61 6d 65 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 2c 20 61 6e 64 e.error.name.more.than.once,.and
6ede0 20 69 66 20 79 6f 75 20 64 6f 2c 20 69 74 0a 20 20 20 20 20 20 67 65 74 73 20 61 73 73 69 67 6e .if.you.do,.it.......gets.assign
6ee00 65 64 20 74 68 65 20 73 61 6d 65 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 ed.the.same.integer.value.......
6ee20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6e 75 6d 62 65 72 .</p>.......<p>.......The.number
6ee40 20 6f 66 20 75 6e 69 71 75 65 20 65 72 72 6f 72 20 76 61 6c 75 65 73 20 61 63 72 6f 73 73 20 74 .of.unique.error.values.across.t
6ee60 68 65 20 65 6e 74 69 72 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 68 6f 75 6c 64 20 64 65 74 he.entire.compilation.should.det
6ee80 65 72 6d 69 6e 65 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 ermine.the.size.of.the.error.set
6eea0 20 74 79 70 65 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 20 72 69 67 68 74 20 6e 6f 77 20 69 .type........However.right.now.i
6eec0 74 20 69 73 20 68 61 72 64 20 63 6f 64 65 64 20 74 6f 20 62 65 20 61 20 3c 63 6f 64 65 3e 3c 73 t.is.hard.coded.to.be.a.<code><s
6eee0 70 61 6e 20 63 6c 61 73 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
6ef00 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-type">u16</span></span></code>
6ef20 2e 20 53 65 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f ..See.<a.href="https://github.co
6ef40 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 37 38 36 22 3e 23 37 36 38 3c 2f m/ziglang/zig/issues/786">#768</
6ef60 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 a>........</p>.......<p>.......Y
6ef80 6f 75 20 63 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e ou.can.<a.href="#Type-Coercion">
6efa0 63 6f 65 72 63 65 3c 2f 61 3e 20 61 6e 20 65 72 72 6f 72 20 66 72 6f 6d 20 61 20 73 75 62 73 65 coerce</a>.an.error.from.a.subse
6efc0 74 20 74 6f 20 61 20 73 75 70 65 72 73 65 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 t.to.a.superset:.......</p>.....
6efe0 20 20 3c 66 69 67 75 72 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
6f000 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 65 72 63 69 6e -cap"><cite.class="file">coercin
6f020 67 5f 73 75 62 73 65 74 5f 74 6f 5f 73 75 70 65 72 73 65 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c g_subset_to_superset.zig</cite><
6f040 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 /figcaption><pre><code><span.cla
6f060 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 ss="line"><span.class="tok-kw">c
6f080 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 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
6f0a0 6f 6b 2d 62 75 69 6c 74 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
6f0c0 20 63 6c 61 73 73 3d 22 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;
6f0e0 3c 2f 73 70 61 6e 3e 29 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
6f100 6e 65 22 3e 3c 2f 73 70 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"><
6f120 73 70 61 6e 20 63 6c 61 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>
6f140 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .FileOpenError.=.<span.class="to
6f160 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-kw">error</span>.{</span>.<spa
6f180 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 41 63 63 65 73 73 44 65 6e 69 65 64 2c n.class="line">....AccessDenied,
6f1a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 4f </span>.<span.class="line">....O
6f1c0 75 74 4f 66 4d 65 6d 6f 72 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 utOfMemory,</span>.<span.class="
6f1e0 6c 69 6e 65 22 3e 20 20 20 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 2c 3c 2f 73 70 61 6e 3e 0a 3c line">....FileNotFound,</span>.<
6f200 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
6f220 6e 20 63 6c 61 73 73 3d 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
6f240 73 73 3d 22 6c 69 6e 65 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
6f260 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 20 3d 20 3c 73 onst</span>.AllocationError.=.<s
6f280 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">error</span>.
6f2a0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
6f2c0 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d OutOfMemory,</span>.<span.class=
6f2e0 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
6f300 6e 65 22 3e 3c 2f 73 70 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"><
6f320 73 70 61 6e 20 63 6c 61 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>.
6f340 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 <span.class="tok-str">&quot;coer
6f360 63 65 20 73 75 62 73 65 74 20 74 6f 20 73 75 70 65 72 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 ce.subset.to.superset&quot;</spa
6f380 6e 3e 20 7b 3c 2f 73 70 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">.
6f3a0 20 20 20 3c 73 70 61 6e 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
6f3c0 70 61 6e 3e 20 65 72 72 20 3d 20 66 6f 6f 28 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 2e 4f pan>.err.=.foo(AllocationError.O
6f3e0 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=
6f400 22 6c 69 6e 65 22 3e 20 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">
6f420 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 65 72 try</span>.std.testing.expect(er
6f440 72 20 3d 3d 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 29 3b r.==.FileOpenError.OutOfMemory);
6f460 3c 2f 73 70 61 6e 3e 0a 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
6f480 61 6e 3e 0a 3c 73 70 61 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>.<
6f4a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
6f4c0 6f 6b 2d 6b 77 22 3e 66 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
6f4e0 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 41 6c 6c 6f 63 61 74 69 6f 6e k-fn">foo</span>(err:.Allocation
6f500 45 72 72 6f 72 29 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 Error).FileOpenError.{</span>.<s
6f520 70 61 6e 20 63 6c 61 73 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
6f540 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 3c 2f 73 70 ="tok-kw">return</span>.err;</sp
6f560 61 6e 3e 0a 3c 73 70 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><
6f580 2f 63 6f 64 65 3e 3c 2f 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
6f5a0 67 63 61 70 74 69 6f 6e 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
6f5c0 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
6f5e0 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 65 72 63 ass="line">$.<kbd>zig.test.coerc
6f600 69 6e 67 5f 73 75 62 73 65 74 5f 74 6f 5f 73 75 70 65 72 73 65 74 2e 7a 69 67 3c 2f 6b 62 64 3e ing_subset_to_superset.zig</kbd>
6f620 3c 2f 73 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
6f640 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 73 75 62 73 65 74 20 74 6f 20 73 75 70 65 72 est.&quot;coerce.subset.to.super
6f660 73 65 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 set&quot;....OK</span>.<span.cla
6f680 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
6f6a0 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>.....
6f6c0 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
6f6e0 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
6f700 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
6f720 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
6f740 69 67 63 61 70 74 69 6f 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.
6f760 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
6f780 67 63 61 70 74 69 6f 6e 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=
6f7a0 22 6c 69 6e 65 22 3e 3c 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
6f7c0 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
6f7e0 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
6f800 61 6e 3e 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
6f820 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
6f840 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
6f860 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,<
6f880 2f 73 70 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
6f8a0 61 6e 3e 0a 3c 73 70 61 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>.<
6f8c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
6f8e0 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
6f900 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
6f920 3c 2f 73 70 61 6e 3e 20 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
6f940 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
6f960 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
6f980 6c 61 73 73 3d 22 6c 69 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=
6f9a0 22 6c 69 6e 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
6f9c0 3c 2f 73 70 61 6e 3e 20 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
6f9e0 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
6fa00 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=
6fa20 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
6fa40 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
6fa60 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
6fa80 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="
6faa0 6c 69 6e 65 22 3e 3c 2f 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"
6fac0 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>.
6fae0 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>(
6fb00 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
6fb20 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">
6fb40 20 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<
6fb60 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="
6fb80 6c 69 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
6fba0 75 72 65 3e 3c 66 69 67 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
6fbc0 68 65 6c 6c 2d 63 61 70 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
6fbe0 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
6fc00 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>.
6fc20 3c 73 70 61 6e 20 63 6c 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="
6fc40 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 36 3a 31 t0_1">./docgen_tmp/test.zig:16:1
6fc60 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 2:.</span><span.class="t31_1">er
6fc80 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 ror:.</span><span.class="t0_1">e
6fca0 78 70 65 63 74 65 64 20 74 79 70 65 20 27 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 27 2c 20 xpected.type.'AllocationError',.
6fcc0 66 6f 75 6e 64 20 27 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 found.'FileOpenError'</span></sp
6fce0 61 6e 3e 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
6fd00 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"
6fd20 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">
6fd40 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
6fd60 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 e"><span.class="t0_1">./docgen_t
6fd80 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c mp/test.zig:2:5:.</span><span.cl
6fda0 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
6fdc0 6c 61 73 73 3d 22 74 30 5f 31 22 3e 27 65 72 72 6f 72 2e 41 63 63 65 73 73 44 65 6e 69 65 64 27 lass="t0_1">'error.AccessDenied'
6fde0 20 6e 6f 74 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 65 72 72 .not.a.member.of.destination.err
6fe00 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 or.set</span></span>.<span.class
6fe20 3d 22 6c 69 6e 65 22 3e 20 20 20 20 41 63 63 65 73 73 44 65 6e 69 65 64 2c 3c 2f 73 70 61 6e 3e ="line">....AccessDenied,</span>
6fe40 0a 3c 73 70 61 6e 20 63 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
6fe60 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
6fe80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 n.class="line"><span.class="t0_1
6fea0 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 35 3a 20 3c 2f 73 ">./docgen_tmp/test.zig:4:5:.</s
6fec0 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:.</
6fee0 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 27 65 72 72 6f 72 2e 46 span><span.class="t0_1">'error.F
6ff00 69 6c 65 4e 6f 74 46 6f 75 6e 64 27 20 6e 6f 74 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 64 65 73 ileNotFound'.not.a.member.of.des
6ff20 74 69 6e 61 74 69 6f 6e 20 65 72 72 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e tination.error.set</span></span>
6ff40 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 46 69 6c 65 4e 6f 74 46 .<span.class="line">....FileNotF
6ff60 6f 75 6e 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ound,</span>.<span.class="line">
6ff80 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>
6ffa0 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>..
6ffc0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 20 73 68 6f 72 74 63 .....<p>.......There.is.a.shortc
6ffe0 75 74 20 66 6f 72 20 64 65 63 6c 61 72 69 6e 67 20 61 6e 20 65 72 72 6f 72 20 73 65 74 20 77 69 ut.for.declaring.an.error.set.wi
70000 74 68 20 6f 6e 6c 79 20 31 20 76 61 6c 75 65 2c 20 61 6e 64 20 74 68 65 6e 20 67 65 74 74 69 6e th.only.1.value,.and.then.gettin
70020 67 20 74 68 61 74 20 76 61 6c 75 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c g.that.value:.......</p>.......<
70040 66 69 67 75 72 65 3e 3c 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
70060 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</
70080 63 69 74 65 3e 3c 2f 66 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
700a0 61 6e 20 63 6c 61 73 73 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
700c0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c -kw">const</span>.err.=.<span.cl
700e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 69 6c 65 4e 6f ass="tok-kw">error</span>.FileNo
70100 74 46 6f 75 6e 64 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 tFound;</span></code></pre></fig
70120 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 ure>.......<p>This.is.equivalent
70140 20 74 6f 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 .to:</p>.......<figure><figcapti
70160 6f 6e 20 63 6c 61 73 73 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="
70180 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
701a0 6e 3e 3c 70 72 65 3e 3c 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">
701c0 3c 73 70 61 6e 20 63 6c 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
701e0 3e 20 65 72 72 20 3d 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 >.err.=.(<span.class="tok-kw">er
70200 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 7d 29 2e 46 69 6c 65 4e ror</span>.{FileNotFound}).FileN
70220 6f 74 46 6f 75 6e 64 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 otFound;</span></code></pre></fi
70240 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 65 63 6f 6d gure>.......<p>.......This.becom
70260 65 73 20 75 73 65 66 75 6c 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 61 20 68 72 65 66 3d 22 23 49 es.useful.when.using.<a.href="#I
70280 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 49 6e 66 65 72 72 65 64 20 45 72 72 nferred-Error-Sets">Inferred.Err
702a0 6f 72 20 53 65 74 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 or.Sets</a>........</p>.......<h
702c0 34 20 69 64 3d 22 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 3c 61 20 68 4.id="The-Global-Error-Set"><a.h
702e0 72 65 66 3d 22 23 74 6f 63 2d 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e ref="#toc-The-Global-Error-Set">
70300 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 The.Global.Error.Set</a>.<a.clas
70320 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d s="hdr".href="#The-Global-Error-
70340 53 65 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 Set">..</a></h4>........<p><code
70360 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
70380 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e "tok-type">anyerror</span></span
703a0 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 65 72 ></code>.refers.to.the.global.er
703c0 72 6f 72 20 73 65 74 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 65 72 72 6f 72 ror.set........This.is.the.error
703e0 20 73 65 74 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 61 6c 6c 20 65 72 72 6f 72 73 20 69 6e .set.that.contains.all.errors.in
70400 20 74 68 65 20 65 6e 74 69 72 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 75 6e 69 74 2e 0a 20 20 .the.entire.compilation.unit....
70420 20 20 20 20 49 74 20 69 73 20 61 20 73 75 70 65 72 73 65 74 20 6f 66 20 61 6c 6c 20 6f 74 68 65 ....It.is.a.superset.of.all.othe
70440 72 20 65 72 72 6f 72 20 73 65 74 73 20 61 6e 64 20 61 20 73 75 62 73 65 74 20 6f 66 20 6e 6f 6e r.error.sets.and.a.subset.of.non
70460 65 20 6f 66 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a e.of.them........</p>.......<p>.
70480 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 ......You.can.<a.href="#Type-Coe
704a0 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 61 6e 79 20 65 72 72 6f 72 20 73 65 74 20 rcion">coerce</a>.any.error.set.
704c0 74 6f 20 74 68 65 20 67 6c 6f 62 61 6c 20 6f 6e 65 2c 20 61 6e 64 20 79 6f 75 20 63 61 6e 20 65 to.the.global.one,.and.you.can.e
704e0 78 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 63 61 73 74 20 61 6e 20 65 72 72 6f 72 20 6f 66 xplicitly.......cast.an.error.of
70500 20 74 68 65 20 67 6c 6f 62 61 6c 20 65 72 72 6f 72 20 73 65 74 20 74 6f 20 61 20 6e 6f 6e 2d 67 .the.global.error.set.to.a.non-g
70520 6c 6f 62 61 6c 20 6f 6e 65 2e 20 54 68 69 73 20 69 6e 73 65 72 74 73 20 61 20 6c 61 6e 67 75 61 lobal.one..This.inserts.a.langua
70540 67 65 2d 6c 65 76 65 6c 0a 20 20 20 20 20 20 61 73 73 65 72 74 20 74 6f 20 6d 61 6b 65 20 73 75 ge-level.......assert.to.make.su
70560 72 65 20 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 20 69 73 20 69 6e 20 66 61 63 74 20 69 6e re.the.error.value.is.in.fact.in
70580 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 65 72 72 6f 72 20 73 65 74 2e 0a 20 20 20 20 .the.destination.error.set......
705a0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 67 6c 6f 62 61 ..</p>.......<p>.......The.globa
705c0 6c 20 65 72 72 6f 72 20 73 65 74 20 73 68 6f 75 6c 64 20 67 65 6e 65 72 61 6c 6c 79 20 62 65 20 l.error.set.should.generally.be.
705e0 61 76 6f 69 64 65 64 20 62 65 63 61 75 73 65 20 69 74 20 70 72 65 76 65 6e 74 73 20 74 68 65 0a avoided.because.it.prevents.the.
70600 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 72 20 66 72 6f 6d 20 6b 6e 6f 77 69 6e 67 20 77 68 61 74 ......compiler.from.knowing.what
70620 20 65 72 72 6f 72 73 20 61 72 65 20 70 6f 73 73 69 62 6c 65 20 61 74 20 63 6f 6d 70 69 6c 65 2d .errors.are.possible.at.compile-
70640 74 69 6d 65 2e 20 4b 6e 6f 77 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 65 72 72 6f 72 20 73 65 time..Knowing.......the.error.se
70660 74 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 69 73 20 62 65 74 74 65 72 20 66 6f 72 20 t.at.compile-time.is.better.for.
70680 67 65 6e 65 72 61 74 65 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 generated.documentation.and.....
706a0 20 20 68 65 6c 70 66 75 6c 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 73 2c 20 73 75 63 68 20 61 ..helpful.error.messages,.such.a
706c0 73 20 66 6f 72 67 65 74 74 69 6e 67 20 61 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 76 61 s.forgetting.a.possible.error.va
706e0 6c 75 65 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 lue.in.a.<a.href="#switch">switc
70700 68 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a h</a>........</p>...............
70720 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e ......<h3.id="Error-Union-Type">
70740 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e <a.href="#toc-Error-Union-Type">
70760 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 Error.Union.Type</a>.<a.class="h
70780 64 72 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e c2 a7 3c dr".href="#Error-Union-Type">..<
707a0 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 20 65 72 72 /a></h3>........<p>.......An.err
707c0 6f 72 20 73 65 74 20 74 79 70 65 20 61 6e 64 20 6e 6f 72 6d 61 6c 20 74 79 70 65 20 63 61 6e 20 or.set.type.and.normal.type.can.
707e0 62 65 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e be.combined.with.the.<code><span
70800 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 .class="line">!</span></code>...
70820 20 20 20 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 20 74 6f 20 66 6f 72 6d 20 61 6e 20 65 ....binary.operator.to.form.an.e
70840 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 2e 20 59 6f 75 20 61 72 65 20 6c 69 6b 65 6c 79 20 rror.union.type..You.are.likely.
70860 74 6f 20 75 73 65 20 61 6e 0a 20 20 20 20 20 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 to.use.an.......error.union.type
70880 20 6d 6f 72 65 20 6f 66 74 65 6e 20 74 68 61 6e 20 61 6e 20 65 72 72 6f 72 20 73 65 74 20 74 79 .more.often.than.an.error.set.ty
708a0 70 65 20 62 79 20 69 74 73 65 6c 66 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c pe.by.itself........</p>.......<
708c0 70 3e 0a 20 20 20 20 20 20 48 65 72 65 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 70 p>.......Here.is.a.function.to.p
708e0 61 72 73 65 20 61 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 61 20 36 34 2d 62 69 74 20 69 6e 74 65 arse.a.string.into.a.64-bit.inte
70900 67 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 ger:.......</p>.......<figure><f
70920 69 67 63 61 70 74 69 6f 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.
70940 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 class="file">error_union_parsing
70960 5f 75 36 34 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 _u64.zig</cite></figcaption><pre
70980 3e 3c 63 6f 64 65 3e 3c 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.
709a0 63 6c 61 73 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.
709c0 3d 20 3c 73 70 61 6e 20 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
709e0 6f 72 74 3c 2f 73 70 61 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"
70a00 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>
70a20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
70a40 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 78 49 6e 74 20 3d 20 73 "tok-kw">const</span>.maxInt.=.s
70a60 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 td.math.maxInt;</span>.<span.cla
70a80 73 73 3d 22 6c 69 6e 65 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
70aa0 69 6e 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
70ac0 70 61 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
70ae0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 61 72 73 65 55 36 an>.<span.class="tok-fn">parseU6
70b00 34 3c 2f 73 70 61 6e 3e 28 62 75 66 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 4</span>(buf:.[]<span.class="tok
70b20 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
70b40 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 72 61 64 69 78 3a 20 3c 73 70 61 6e ok-type">u8</span>,.radix:.<span
70b60 20 63 6c 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
70b80 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 pan.class="tok-type">u64</span>.
70ba0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
70bc0 3c 73 70 61 6e 20 63 6c 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>.
70be0 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 x:.<span.class="tok-type">u64</s
70c00 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">
70c20 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
70c40 6e 65 22 3e 3c 2f 73 70 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">.
70c60 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
70c80 6e 3e 20 28 62 75 66 29 20 7c 63 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 n>.(buf).|c|.{</span>.<span.clas
70ca0 73 3d 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
70cc0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 69 67 69 74 20 3d 20 63 68 61 72 54 k-kw">const</span>.digit.=.charT
70ce0 6f 44 69 67 69 74 28 63 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c oDigit(c);</span>.<span.class="l
70d00 69 6e 65 22 3e 3c 2f 73 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">
70d20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c ........<span.class="tok-kw">if<
70d40 2f 73 70 61 6e 3e 20 28 64 69 67 69 74 20 26 67 74 3b 3d 20 72 61 64 69 78 29 20 7b 3c 2f 73 70 /span>.(digit.&gt;=.radix).{</sp
70d60 61 6e 3e 0a 3c 73 70 61 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">.........
70d80 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</
70da0 73 70 61 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
70dc0 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 43 68 61 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 </span>.InvalidChar;</span>.<spa
70de0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a n.class="line">........}</span>.
70e00 3c 73 70 61 6e 20 63 6c 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
70e20 20 63 6c 61 73 73 3d 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
70e40 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2a 3d 20 72 61 64 69 78 3c 2f 73 s="tok-comment">//.x.*=.radix</s
70e60 70 61 6e 3e 3c 2f 73 70 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">.
70e80 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f .......<span.class="tok-kw">if</
70ea0 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 span>.(<span.class="tok-builtin"
70ec0 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 >@mulWithOverflow</span>(<span.c
70ee0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 2c 20 78 2c 20 72 lass="tok-type">u64</span>,.x,.r
70f00 61 64 69 78 2c 20 26 61 6d 70 3b 78 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c adix,.&amp;x)).{</span>.<span.cl
70f20 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
70f40 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.
70f60 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 class="tok-kw">error</span>.Over
70f80 66 6c 6f 77 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e flow;</span>.<span.class="line">
70fa0 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
70fc0 6e 65 22 3e 3c 2f 73 70 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">.
70fe0 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"
71000 3e 2f 2f 20 78 20 2b 3d 20 64 69 67 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 >//.x.+=.digit</span></span>.<sp
71020 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
71040 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c ass="tok-kw">if</span>.(<span.cl
71060 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c ass="tok-builtin">@addWithOverfl
71080 6f 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 ow</span>(<span.class="tok-type"
710a0 3e 75 36 34 3c 2f 73 70 61 6e 3e 2c 20 78 2c 20 64 69 67 69 74 2c 20 26 61 6d 70 3b 78 29 29 20 >u64</span>,.x,.digit,.&amp;x)).
710c0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
710e0 20 20 20 20 20 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
71100 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">
71120 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 error</span>.Overflow;</span>.<s
71140 70 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
71160 3e 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
71180 3e 0a 3c 73 70 61 6e 20 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
711a0 61 6e 20 63 6c 61 73 73 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=
711c0 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 3b 3c 2f 73 70 61 6e 3e "tok-kw">return</span>.x;</span>
711e0 0a 3c 73 70 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
71200 61 6e 20 63 6c 61 73 73 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
71220 61 73 73 3d 22 6c 69 6e 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">
71240 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 fn</span>.<span.class="tok-fn">c
71260 68 61 72 54 6f 44 69 67 69 74 3c 2f 73 70 61 6e 3e 28 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 harToDigit</span>(c:.<span.class
71280 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 ="tok-type">u8</span>).<span.cla
712a0 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>
712c0 0a 3c 73 70 61 6e 20 63 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
712e0 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
71300 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 .class="tok-kw">switch</span>.(c
71320 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">..
71340 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 30 27 3c ......<span.class="tok-str">'0'<
71360 2f 73 70 61 6e 3e 20 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 /span>.....<span.class="tok-str"
71380 3e 27 39 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 63 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 >'9'</span>.=&gt;.c.-.<span.clas
713a0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 30 27 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c s="tok-str">'0'</span>,</span>.<
713c0 73 70 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.
713e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 41 27 3c 2f 73 70 61 6e 3e 20 2e 2e 2e 20 3c class="tok-str">'A'</span>.....<
71400 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5a 27 3c 2f 73 70 61 6e 3e 20 span.class="tok-str">'Z'</span>.
71420 3d 26 67 74 3b 20 63 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e =&gt;.c.-.<span.class="tok-str">
71440 27 41 27 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 'A'</span>.+.<span.class="tok-nu
71460 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">10</span>,</span>.<span.cl
71480 61 73 73 3d 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="
714a0 74 6f 6b 2d 73 74 72 22 3e 27 61 27 3c 2f 73 70 61 6e 3e 20 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c tok-str">'a'</span>.....<span.cl
714c0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7a 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 63 ass="tok-str">'z'</span>.=&gt;.c
714e0 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 61 27 3c 2f 73 70 .-.<span.class="tok-str">'a'</sp
71500 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 an>.+.<span.class="tok-number">1
71520 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 0</span>,</span>.<span.class="li
71540 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"
71560 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 >else</span>.=&gt;.maxInt(<span.
71580 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 class="tok-type">u8</span>),</sp
715a0 61 6e 3e 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
715c0 70 61 6e 3e 0a 3c 73 70 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>
715e0 0a 3c 73 70 61 6e 20 63 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
71600 6e 20 63 6c 61 73 73 3d 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-
71620 6b 77 22 3e 74 65 73 74 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
71640 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 61 72 73 65 20 75 36 34 26 71 75 6f 74 3b 3c 2f 73 70 61 -str">&quot;parse.u64&quot;</spa
71660 6e 3e 20 7b 3c 2f 73 70 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">.
71680 20 20 20 3c 73 70 61 6e 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
716a0 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b pan>.result.=.<span.class="tok-k
716c0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 28 3c 73 70 61 6e 20 63 6c 61 w">try</span>.parseU64(<span.cla
716e0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 32 33 34 26 71 75 6f 74 3b 3c 2f 73 ss="tok-str">&quot;1234&quot;</s
71700 70 61 6e 3e 2c 20 3c 73 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
71720 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
71740 69 6e 65 22 3e 20 20 20 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
71760 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 72 65 73 75 y</span>.std.testing.expect(resu
71780 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 lt.==.<span.class="tok-number">1
717a0 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 234</span>);</span>.<span.class=
717c0 22 6c 69 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
717e0 67 75 72 65 3e 3c 66 69 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="
71800 73 68 65 6c 6c 2d 63 61 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
71820 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
71840 64 3e 7a 69 67 20 74 65 73 74 20 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 d>zig.test.error_union_parsing_u
71860 36 34 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 64.zig</kbd></span>.<span.class=
71880 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 61 72 73 65 20 75 36 34 26 "line">1/1.test.&quot;parse.u64&
718a0 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;....OK</span>.<span.class="
718c0 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>
718e0 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
71900 3e 0a 20 20 20 20 20 20 4e 6f 74 69 63 65 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 >.......Notice.the.return.type.i
71920 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 73 70 61 s.<code><span.class="line">!<spa
71940 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 n.class="tok-type">u64</span></s
71960 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 pan></code>..This.means.that.the
71980 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 65 69 74 68 65 72 20 72 65 74 75 72 6e 73 20 61 .function.......either.returns.a
719a0 6e 20 75 6e 73 69 67 6e 65 64 20 36 34 20 62 69 74 20 69 6e 74 65 67 65 72 2c 20 6f 72 20 61 6e n.unsigned.64.bit.integer,.or.an
719c0 20 65 72 72 6f 72 2e 20 57 65 20 6c 65 66 74 20 6f 66 66 20 74 68 65 20 65 72 72 6f 72 20 73 65 .error..We.left.off.the.error.se
719e0 74 0a 20 20 20 20 20 20 74 6f 20 74 68 65 20 6c 65 66 74 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 t.......to.the.left.of.the.<code
71a00 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ><span.class="line">!</span></co
71a20 64 65 3e 2c 20 73 6f 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 69 73 20 69 6e 66 65 72 72 65 de>,.so.the.error.set.is.inferre
71a40 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 69 d........</p>.......<p>.......Wi
71a60 74 68 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 79 6f thin.the.function.definition,.yo
71a80 75 20 63 61 6e 20 73 65 65 20 73 6f 6d 65 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 73 u.can.see.some.return.statements
71aa0 20 74 68 61 74 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 61 6e 20 65 72 72 6f 72 2c 20 61 6e 64 .that.return.......an.error,.and
71ac0 20 61 74 20 74 68 65 20 62 6f 74 74 6f 6d 20 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e .at.the.bottom.a.return.statemen
71ae0 74 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 t.that.returns.a.<code><span.cla
71b00 73 73 3d 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"
71b20 3e 75 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 >u64</span></span></code>.......
71b40 20 20 20 20 20 42 6f 74 68 20 74 79 70 65 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 .....Both.types.<a.href="#Type-C
71b60 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 oercion">coerce</a>.to.<code><sp
71b80 61 6e 20 63 6c 61 73 73 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
71ba0 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 -type">anyerror</span>!<span.cla
71bc0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ss="tok-type">u64</span></span><
71be0 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>....
71c00 20 20 20 57 68 61 74 20 69 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 6f 20 75 73 65 20 74 68 69 ...What.it.looks.like.to.use.thi
71c20 73 20 66 75 6e 63 74 69 6f 6e 20 76 61 72 69 65 73 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 s.function.varies.depending.on.w
71c40 68 61 74 20 79 6f 75 27 72 65 0a 20 20 20 20 20 20 74 72 79 69 6e 67 20 74 6f 20 64 6f 2e 20 4f hat.you're.......trying.to.do..O
71c60 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ne.of.the.following:.......</p>.
71c80 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 77 61 6e 74 20 ......<ul>.........<li>You.want.
71ca0 74 6f 20 70 72 6f 76 69 64 65 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 66 20 69 74 to.provide.a.default.value.if.it
71cc0 20 72 65 74 75 72 6e 65 64 20 61 6e 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 .returned.an.error.</li>........
71ce0 20 3c 6c 69 3e 49 66 20 69 74 20 72 65 74 75 72 6e 65 64 20 61 6e 20 65 72 72 6f 72 20 74 68 65 .<li>If.it.returned.an.error.the
71d00 6e 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 73 61 6d 65 20 65 72 n.you.want.to.return.the.same.er
71d20 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 6b 6e 6f 77 20 77 ror.</li>.........<li>You.know.w
71d40 69 74 68 20 63 6f 6d 70 6c 65 74 65 20 63 65 72 74 61 69 6e 74 79 20 69 74 20 77 69 6c 6c 20 6e ith.complete.certainty.it.will.n
71d60 6f 74 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 2c 20 73 6f 20 77 61 6e 74 20 74 6f 20 75 ot.return.an.error,.so.want.to.u
71d80 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 75 6e 77 72 61 70 20 69 74 2e 3c 2f 6c 69 3e 0a 20 nconditionally.unwrap.it.</li>..
71da0 20 20 20 20 20 20 20 3c 6c 69 3e 59 6f 75 20 77 61 6e 74 20 74 6f 20 74 61 6b 65 20 61 20 64 69 .......<li>You.want.to.take.a.di
71dc0 66 66 65 72 65 6e 74 20 61 63 74 69 6f 6e 20 66 6f 72 20 65 61 63 68 20 70 6f 73 73 69 62 6c 65 fferent.action.for.each.possible
71de0 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c .error.</li>.......</ul>.......<
71e00 68 34 20 69 64 3d 22 63 61 74 63 68 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 61 74 63 h4.id="catch"><a.href="#toc-catc
71e20 68 22 3e 63 61 74 63 68 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 h">catch</a>.<a.class="hdr".href
71e40 3d 22 23 63 61 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e ="#catch">..</a></h4>........<p>
71e60 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 64 65 66 61 75 6c 74 If.you.want.to.provide.a.default
71e80 20 76 61 6c 75 65 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 .value,.you.can.use.the.<code><s
71ea0 70 61 6e 20 63 6c 61 73 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
71ec0 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-kw">catch</span></span></code>
71ee0 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 .binary.operator:</p>.......<fig
71f00 75 72 65 3e 3c 66 69 67 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">
71f20 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
71f40 65 3e 3c 2f 66 69 67 63 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.
71f60 63 6c 61 73 73 3d 22 6c 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
71f80 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 20 3d 20 3c 73 70 61 6e 20 ">const</span>.parseU64.=.<span.
71fa0 63 6c 61 73 73 3d 22 74 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
71fc0 6e 3e 28 3c 73 70 61 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
71fe0 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 67 26 71 75 6f 74 3b rror_union_parsing_u64.zig&quot;
72000 3c 2f 73 70 61 6e 3e 29 2e 70 61 72 73 65 55 36 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 </span>).parseU64;</span>.<span.
72020 63 6c 61 73 73 3d 22 6c 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
72040 3d 22 6c 69 6e 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<
72060 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 /span>.<span.class="tok-fn">doAT
72080 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 hing</span>(str:.[]<span.class="
720a0 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
720c0 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>
720e0 0a 3c 73 70 61 6e 20 63 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
72100 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 ass="tok-kw">const</span>.number
72120 20 3d 20 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .=.parseU64(str,.<span.class="to
72140 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-number">10</span>).<span.class
72160 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ="tok-kw">catch</span>.<span.cla
72180 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ss="tok-number">13</span>;</span
721a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6e 75 6d >.<span.class="line">...._.=.num
721c0 62 65 72 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f ber;.<span.class="tok-comment">/
721e0 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=
72200 22 6c 69 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
72220 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 6f gure>.......<p>.......In.this.co
72240 64 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6e 75 6d de,.<code><span.class="line">num
72260 62 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 62 65 20 65 71 75 61 6c 20 ber</span></code>.will.be.equal.
72280 74 6f 20 74 68 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 70 61 72 73 65 64 20 73 74 72 69 6e to.the.successfully.parsed.strin
722a0 67 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 g,.or...........a.default.value.
722c0 6f 66 20 31 33 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 20 68 61 6e of.13..The.type.of.the.right.han
722e0 64 20 73 69 64 65 20 6f 66 20 74 68 65 20 62 69 6e 61 72 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e d.side.of.the.binary.<code><span
72300 20 63 6c 61 73 73 3d 22 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
72320 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 w">catch</span></span></code>.op
72340 65 72 61 74 6f 72 20 6d 75 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 20 erator.must...............match.
72360 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 2c 20 the.unwrapped.error.union.type,.
72380 6f 72 20 62 65 20 6f 66 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d or.be.of.type.<code><span.class=
723a0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f "line"><span.class="tok-type">no
723c0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 return</span></span></code>.....
723e0 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 74 72 79 ...</p>..............<h4.id="try
72400 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 72 79 22 3e 74 72 79 3c 2f 61 3e 20 3c 61 20 "><a.href="#toc-try">try</a>.<a.
72420 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f class="hdr".href="#try">..</a></
72440 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4c 65 74 27 73 20 73 61 79 20 79 6f 75 20 77 61 6e 74 h4>........<p>Let's.say.you.want
72460 65 64 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 65 72 72 6f 72 20 69 66 20 79 6f 75 20 67 6f ed.to.return.the.error.if.you.go
72480 74 20 6f 6e 65 2c 20 6f 74 68 65 72 77 69 73 65 20 63 6f 6e 74 69 6e 75 65 20 77 69 74 68 20 74 t.one,.otherwise.continue.with.t
724a0 68 65 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 69 63 3a 3c 2f 70 3e 0a 20 20 20 he.......function.logic:</p>....
724c0 20 20 20 3c 66 69 67 75 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
724e0 67 2d 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
72500 69 67 3c 2f 63 69 74 65 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
72520 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
72540 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 20 3d "tok-kw">const</span>.parseU64.=
72560 20 3c 73 70 61 6e 20 63 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
72580 72 74 3c 2f 73 70 61 6e 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">
725a0 26 71 75 6f 74 3b 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 73 69 6e 67 5f 75 36 34 2e 7a 69 &quot;error_union_parsing_u64.zi
725c0 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 70 61 72 73 65 55 36 34 3b 3c 2f 73 70 61 6e 3e g&quot;</span>).parseU64;</span>
725e0 0a 3c 73 70 61 6e 20 63 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
72600 6e 20 63 6c 61 73 73 3d 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-
72620 6b 77 22 3e 66 6e 3c 2f 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
72640 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e 20 n">doAThing</span>(str:.[]<span.
72660 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 class="tok-type">u8</span>).!<sp
72680 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>.
726a0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
726c0 3c 73 70 61 6e 20 63 6c 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
726e0 3e 20 6e 75 6d 62 65 72 20 3d 20 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 3c 73 70 61 6e 20 63 >.number.=.parseU64(str,.<span.c
72700 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 lass="tok-number">10</span>).<sp
72720 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7c an.class="tok-kw">catch</span>.|
72740 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e err|.<span.class="tok-kw">return
72760 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>.err;</span>.<span.class=
72780 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 20 3c 73 70 61 6e 20 63 6c 61 "line">...._.=.number;.<span.cla
727a0 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 3c 2f ss="tok-comment">//....</span></
727c0 73 70 61 6e 3e 0a 3c 73 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
727e0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 ></code></pre></figure>.......<p
72800 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 20 73 68 6f 72 74 63 75 74 20 66 6f 72 20 >.......There.is.a.shortcut.for.
72820 74 68 69 73 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e this..The.<code><span.class="lin
72840 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 e"><span.class="tok-kw">try</spa
72860 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 0a 20 20 20 n></span></code>.expression:....
72880 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
728a0 6e 20 63 6c 61 73 73 3d 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
728c0 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
728e0 3e 3c 70 72 65 3e 3c 63 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"><
72900 73 70 61 6e 20 63 6c 61 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>
72920 20 70 61 72 73 65 55 36 34 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 .parseU64.=.<span.class="tok-bui
72940 6c 74 69 6e 22 3e 40 69 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
72960 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 72 72 6f 72 5f 75 6e 69 6f 6e 5f 70 61 72 ="tok-str">&quot;error_union_par
72980 73 69 6e 67 5f 75 36 34 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 70 61 72 73 65 sing_u64.zig&quot;</span>).parse
729a0 55 36 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c U64;</span>.<span.class="line"><
729c0 2f 73 70 61 6e 3e 0a 3c 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.
729e0 63 6c 61 73 73 3d 22 74 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
72a00 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 lass="tok-fn">doAThing</span>(st
72a20 72 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f r:.[]<span.class="tok-type">u8</
72a40 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 span>).!<span.class="tok-type">v
72a60 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=
72a80 22 6c 69 6e 65 22 3e 20 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">
72aa0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 const</span>.number.=.<span.clas
72ac0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 28 73 s="tok-kw">try</span>.parseU64(s
72ae0 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c tr,.<span.class="tok-number">10<
72b00 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
72b20 65 22 3e 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e">...._.=.number;.<span.class="
72b40 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e tok-comment">//....</span></span
72b60 3e 0a 3c 73 70 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
72b80 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>...
72ba0 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
72bc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 an.class="tok-kw">try</span></sp
72be0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 76 61 6c 75 61 74 65 73 20 61 6e 20 65 72 72 6f 72 20 75 6e an></code>.evaluates.an.error.un
72c00 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 2e 20 49 66 20 69 74 20 69 73 20 61 6e 20 65 72 72 6f ion.expression..If.it.is.an.erro
72c20 72 2c 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 66 72 6f 6d 20 74 68 65 20 63 75 72 r,.it.returns.......from.the.cur
72c40 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 65 72 72 6f rent.function.with.the.same.erro
72c60 72 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 72 65 73 r..Otherwise,.the.expression.res
72c80 75 6c 74 73 20 69 6e 0a 20 20 20 20 20 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 76 61 6c 75 ults.in.......the.unwrapped.valu
72ca0 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 0a 20 e........</p>..............<p>..
72cc0 20 20 20 20 20 20 20 4d 61 79 62 65 20 79 6f 75 20 6b 6e 6f 77 20 77 69 74 68 20 63 6f 6d 70 6c .......Maybe.you.know.with.compl
72ce0 65 74 65 20 63 65 72 74 61 69 6e 74 79 20 74 68 61 74 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e ete.certainty.that.an.expression
72d00 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 .will.never.be.an.error.........
72d20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 79 6f 75 20 63 61 6e 20 64 6f 20 74 68 69 73 3a 0a 20 .In.this.case.you.can.do.this:..
72d40 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 .....</p>.......<code><span.clas
72d60 73 3d 22 6c 69 6e 65 22 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
72d80 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 70 61 72 73 65 55 36 34 28 3c 73 70 nst</span>.number.=.parseU64(<sp
72da0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 32 33 34 26 71 75 an.class="tok-str">&quot;1234&qu
72dc0 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ot;</span>,.<span.class="tok-num
72de0 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ber">10</span>).<span.class="tok
72e00 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -kw">catch</span>.<span.class="t
72e20 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
72e40 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 65 72 65 20 77 65 ></code>.......<p>.......Here.we
72e60 20 6b 6e 6f 77 20 66 6f 72 20 73 75 72 65 20 74 68 61 74 20 22 31 32 33 34 22 20 77 69 6c 6c 20 .know.for.sure.that."1234".will.
72e80 70 61 72 73 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 20 53 6f 20 77 65 20 70 75 74 20 74 68 parse.successfully..So.we.put.th
72ea0 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 e.......<code><span.class="line"
72ec0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c ><span.class="tok-kw">unreachabl
72ee0 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 6c 75 65 20 6f 6e 20 e</span></span></code>.value.on.
72f00 74 68 65 20 72 69 67 68 74 20 68 61 6e 64 20 73 69 64 65 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e the.right.hand.side..<code><span
72f20 20 63 6c 61 73 73 3d 22 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
72f40 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f w">unreachable</span></span></co
72f60 64 65 3e 20 67 65 6e 65 72 61 74 65 73 0a 20 20 20 20 20 20 61 20 70 61 6e 69 63 20 69 6e 20 44 de>.generates.......a.panic.in.D
72f80 65 62 75 67 20 61 6e 64 20 52 65 6c 65 61 73 65 53 61 66 65 20 6d 6f 64 65 73 20 61 6e 64 20 75 ebug.and.ReleaseSafe.modes.and.u
72fa0 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 74 ndefined.behavior.in.ReleaseFast
72fc0 20 6d 6f 64 65 2e 20 53 6f 2c 20 77 68 69 6c 65 20 77 65 27 72 65 20 64 65 62 75 67 67 69 6e 67 .mode..So,.while.we're.debugging
72fe0 20 74 68 65 0a 20 20 20 20 20 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 69 66 20 74 68 65 72 65 .the.......application,.if.there
73000 20 3c 65 6d 3e 77 61 73 3c 2f 65 6d 3e 20 61 20 73 75 72 70 72 69 73 65 20 65 72 72 6f 72 20 68 .<em>was</em>.a.surprise.error.h
73020 65 72 65 2c 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 77 6f 75 6c 64 20 63 72 61 73 68 ere,.the.application.would.crash
73040 0a 20 20 20 20 20 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e .......appropriately........</p>
73060 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 69 6e 61 6c 6c 79 2c 20 79 6f 75 20 6d 61 .......<p>.......Finally,.you.ma
73080 79 20 77 61 6e 74 20 74 6f 20 74 61 6b 65 20 61 20 64 69 66 66 65 72 65 6e 74 20 61 63 74 69 6f y.want.to.take.a.different.actio
730a0 6e 20 66 6f 72 20 65 76 65 72 79 20 73 69 74 75 61 74 69 6f 6e 2e 20 46 6f 72 20 74 68 61 74 2c n.for.every.situation..For.that,
730c0 20 77 65 20 63 6f 6d 62 69 6e 65 0a 20 20 20 20 20 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 .we.combine.......the.<a.href="#
730e0 69 66 22 3e 69 66 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 if">if</a>.and.<a.href="#switch"
73100 3e 73 77 69 74 63 68 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f >switch</a>.expression:.......</
73120 70 3e 0a 20 20 20 20 20 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
73140 73 73 3d 22 7a 69 67 2d 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">
73160 68 61 6e 64 6c 65 5f 61 6c 6c 5f 65 72 72 6f 72 5f 73 63 65 6e 61 72 69 6f 73 2e 7a 69 67 3c 2f handle_all_error_scenarios.zig</
73180 63 69 74 65 3e 3c 2f 66 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
731a0 61 6e 20 63 6c 61 73 73 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
731c0 2d 6b 77 22 3e 66 6e 3c 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-
731e0 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
73200 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 .class="tok-type">u8</span>).<sp
73220 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>.
73240 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
73260 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>.(
73280 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e parseU64(str,.<span.class="tok-n
732a0 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 3c 2f 73 umber">10</span>)).|number|.{</s
732c0 70 61 6e 3e 0a 3c 73 70 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">........
732e0 64 6f 53 6f 6d 65 74 68 69 6e 67 57 69 74 68 4e 75 6d 62 65 72 28 6e 75 6d 62 65 72 29 3b 3c 2f doSomethingWithNumber(number);</
73300 73 70 61 6e 3e 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">....}.<
73320 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>.
73340 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 |err|.<span.class="tok-kw">switc
73360 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c h</span>.(err).{</span>.<span.cl
73380 61 73 73 3d 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="
733a0 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 20 3d 26 tok-kw">error</span>.Overflow.=&
733c0 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">
733e0 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ............<span.class="tok-com
73400 6d 65 6e 74 22 3e 2f 2f 20 68 61 6e 64 6c 65 20 6f 76 65 72 66 6c 6f 77 2e 2e 2e 3c 2f 73 70 61 ment">//.handle.overflow...</spa
73420 6e 3e 3c 2f 73 70 61 6e 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">...
73440 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .....},</span>.<span.class="line
73460 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
73480 6e 74 22 3e 2f 2f 20 77 65 20 70 72 6f 6d 69 73 65 20 74 68 61 74 20 49 6e 76 61 6c 69 64 43 68 nt">//.we.promise.that.InvalidCh
734a0 61 72 20 77 6f 6e 27 74 20 68 61 70 70 65 6e 20 28 6f 72 20 63 72 61 73 68 20 69 6e 20 64 65 62 ar.won't.happen.(or.crash.in.deb
734c0 75 67 20 6d 6f 64 65 20 69 66 20 69 74 20 64 6f 65 73 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ug.mode.if.it.does)</span></span
734e0 3e 0a 3c 73 70 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
73500 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 an.class="tok-kw">error</span>.I
73520 6e 76 61 6c 69 64 43 68 61 72 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nvalidChar.=&gt;.<span.class="to
73540 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e k-kw">unreachable</span>,</span>
73560 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>
73580 0a 3c 73 70 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
735a0 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d de></pre></figure>.......<h4.id=
735c0 22 65 72 72 64 65 66 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 64 65 66 65 "errdefer"><a.href="#toc-errdefe
735e0 72 22 3e 65 72 72 64 65 66 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 r">errdefer</a>.<a.class="hdr".h
73600 72 65 66 3d 22 23 65 72 72 64 65 66 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 ref="#errdefer">..</a></h4>.....
73620 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6f 74 68 65 72 20 63 6f 6d 70 6f 6e 65 6e 74 ...<p>.......The.other.component
73640 20 74 6f 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 20 69 73 20 64 65 66 65 72 20 73 74 61 74 .to.error.handling.is.defer.stat
73660 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 61 6e 20 ements........In.addition.to.an.
73680 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e 64 unconditional.<a.href="#defer">d
736a0 65 66 65 72 3c 2f 61 3e 2c 20 5a 69 67 20 68 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c efer</a>,.Zig.has.<code><span.cl
736c0 61 73 73 3d 22 6c 69 6e 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">
736e0 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 errdefer</span></span></code>,..
73700 20 20 20 20 20 77 68 69 63 68 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 20 64 65 66 65 72 72 65 .....which.evaluates.the.deferre
73720 64 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 6e 20 62 6c 6f 63 6b 20 65 78 69 74 20 70 61 74 68 20 d.expression.on.block.exit.path.
73740 69 66 20 61 6e 64 20 6f 6e 6c 79 20 69 66 0a 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f if.and.only.if.......the.functio
73760 6e 20 72 65 74 75 72 6e 65 64 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 66 72 6f 6d 20 74 68 n.returned.with.an.error.from.th
73780 65 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 e.block........</p>.......<p>...
737a0 20 20 20 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 ....Example:.......</p>.......<f
737c0 69 67 75 72 65 3e 3c 66 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
737e0 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 65 72 72 64 65 66 65 72 5f 65 78 "><cite.class="file">errdefer_ex
73800 61 6d 70 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 ample.zig</cite></figcaption><pr
73820 65 3e 3c 63 6f 64 65 3e 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
73840 20 63 6c 61 73 73 3d 22 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.
73860 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 72 65 61 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e 28 class="tok-fn">createFoo</span>(
73880 70 61 72 61 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 param:.<span.class="tok-type">i3
738a0 32 3c 2f 73 70 61 6e 3e 29 20 21 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 2</span>).!Foo.{</span>.<span.cl
738c0 61 73 73 3d 22 6c 69 6e 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-
738e0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 kw">const</span>.foo.=.<span.cla
73900 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 72 79 54 6f 41 6c 6c 6f ss="tok-kw">try</span>.tryToAllo
73920 63 61 74 65 46 6f 6f 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c cateFoo();</span>.<span.class="l
73940 69 6e 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
73960 74 22 3e 2f 2f 20 6e 6f 77 20 77 65 20 68 61 76 65 20 61 6c 6c 6f 63 61 74 65 64 20 66 6f 6f 2e t">//.now.we.have.allocated.foo.
73980 20 77 65 20 6e 65 65 64 20 74 6f 20 66 72 65 65 20 69 74 20 69 66 20 74 68 65 20 66 75 6e 63 74 .we.need.to.free.it.if.the.funct
739a0 69 6f 6e 20 66 61 69 6c 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ion.fails.</span></span>.<span.c
739c0 6c 61 73 73 3d 22 6c 69 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
739e0 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 75 74 20 77 65 20 77 61 6e 74 20 74 6f 20 72 65 74 75 -comment">//.but.we.want.to.retu
73a00 72 6e 20 69 74 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 65 65 64 73 2e 3c rn.it.if.the.function.succeeds.<
73a20 2f 73 70 61 6e 3e 3c 2f 73 70 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"
73a40 3e 20 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
73a60 65 72 3c 2f 73 70 61 6e 3e 20 64 65 61 6c 6c 6f 63 61 74 65 46 6f 6f 28 66 6f 6f 29 3b 3c 2f 73 er</span>.deallocateFoo(foo);</s
73a80 70 61 6e 3e 0a 3c 73 70 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>.
73aa0 3c 73 70 61 6e 20 63 6c 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
73ac0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 6d 70 5f 62 75 66 ss="tok-kw">const</span>.tmp_buf
73ae0 20 3d 20 61 6c 6c 6f 63 61 74 65 54 6d 70 42 75 66 66 65 72 28 29 20 3c 73 70 61 6e 20 63 6c 61 .=.allocateTmpBuffer().<span.cla
73b00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ss="tok-kw">orelse</span>.<span.
73b20 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
73b40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f an.class="tok-kw">error</span>.O
73b60 75 74 4f 66 4d 65 6d 6f 72 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 utOfMemory;</span>.<span.class="
73b80 6c 69 6e 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
73ba0 6e 74 22 3e 2f 2f 20 74 6d 70 5f 62 75 66 20 69 73 20 74 72 75 6c 79 20 61 20 74 65 6d 70 6f 72 nt">//.tmp_buf.is.truly.a.tempor
73bc0 61 72 79 20 72 65 73 6f 75 72 63 65 2c 20 61 6e 64 20 77 65 20 66 6f 72 20 73 75 72 65 20 77 61 ary.resource,.and.we.for.sure.wa
73be0 6e 74 20 74 6f 20 63 6c 65 61 6e 20 69 74 20 75 70 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a nt.to.clean.it.up</span></span>.
73c00 3c 73 70 61 6e 20 63 6c 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
73c20 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 65 66 6f 72 65 20 74 68 69 73 20 ss="tok-comment">//.before.this.
73c40 62 6c 6f 63 6b 20 6c 65 61 76 65 73 20 73 63 6f 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e block.leaves.scope</span></span>
73c60 0a 3c 73 70 61 6e 20 63 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
73c80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 64 65 61 6c 6c 6f ass="tok-kw">defer</span>.deallo
73ca0 63 61 74 65 54 6d 70 42 75 66 66 65 72 28 74 6d 70 5f 62 75 66 29 3b 3c 2f 73 70 61 6e 3e 0a 3c cateTmpBuffer(tmp_buf);</span>.<
73cc0 73 70 61 6e 20 63 6c 61 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.
73ce0 63 6c 61 73 73 3d 22 6c 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
73d00 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 70 61 72 61 6d 20 26 67 74 3b 20 3c 73 70 61 k-kw">if</span>.(param.&gt;.<spa
73d20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 33 37 3c 2f 73 70 61 6e 3e n.class="tok-number">1337</span>
73d40 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 ).<span.class="tok-kw">return</s
73d60 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c pan>.<span.class="tok-kw">error<
73d80 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 50 61 72 61 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 /span>.InvalidParam;</span>.<spa
73da0 6e 20 63 6c 61 73 73 3d 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
73dc0 73 73 3d 22 6c 69 6e 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
73de0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 65 72 65 20 74 68 65 20 65 72 72 64 65 66 65 72 20 77 69 6c omment">//.here.the.errdefer.wil
73e00 6c 20 6e 6f 74 20 72 75 6e 20 73 69 6e 63 65 20 77 65 27 72 65 20 72 65 74 75 72 6e 69 6e 67 20 l.not.run.since.we're.returning.
73e20 73 75 63 63 65 73 73 20 66 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 3c 2f 73 70 61 6e success.from.the.function.</span
73e40 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
73e60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 75 74 <span.class="tok-comment">//.but
73e80 20 74 68 65 20 64 65 66 65 72 20 77 69 6c 6c 20 72 75 6e 21 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 .the.defer.will.run!</span></spa
73ea0 6e 3e 0a 3c 73 70 61 6e 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.
73ec0 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
73ee0 3b 3c 2f 73 70 61 6e 3e 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
73f00 70 61 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>......
73f20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6e 65 61 74 20 74 68 69 6e 67 20 61 62 6f 75 74 20 .<p>.......The.neat.thing.about.
73f40 74 68 69 73 20 69 73 20 74 68 61 74 20 79 6f 75 20 67 65 74 20 72 6f 62 75 73 74 20 65 72 72 6f this.is.that.you.get.robust.erro
73f60 72 20 68 61 6e 64 6c 69 6e 67 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 20 74 68 65 20 76 65 72 r.handling.without.......the.ver
73f80 62 6f 73 69 74 79 20 61 6e 64 20 63 6f 67 6e 69 74 69 76 65 20 6f 76 65 72 68 65 61 64 20 6f 66 bosity.and.cognitive.overhead.of
73fa0 20 74 72 79 69 6e 67 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 65 76 65 72 79 20 65 78 69 74 20 .trying.to.make.sure.every.exit.
73fc0 70 61 74 68 0a 20 20 20 20 20 20 69 73 20 63 6f 76 65 72 65 64 2e 20 54 68 65 20 64 65 61 6c 6c path.......is.covered..The.deall
73fe0 6f 63 61 74 69 6f 6e 20 63 6f 64 65 20 69 73 20 61 6c 77 61 79 73 20 64 69 72 65 63 74 6c 79 20 ocation.code.is.always.directly.
74000 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 63 6f 64 65 2e 0a 20 following.the.allocation.code...
74020 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 .....</p>..............<p>......
74040 20 41 20 63 6f 75 70 6c 65 20 6f 66 20 6f 74 68 65 72 20 74 69 64 62 69 74 73 20 61 62 6f 75 74 .A.couple.of.other.tidbits.about
74060 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .error.handling:.......</p>.....
74080 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 73 65 20 70 72 69 6d 69 74 69 ..<ul>.........<li>These.primiti
740a0 76 65 73 20 67 69 76 65 20 65 6e 6f 75 67 68 20 65 78 70 72 65 73 73 69 76 65 6e 65 73 73 20 74 ves.give.enough.expressiveness.t
740c0 68 61 74 20 69 74 27 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 70 72 61 63 74 69 63 61 6c 0a 20 20 hat.it's.completely.practical...
740e0 20 20 20 20 20 20 20 20 20 20 74 6f 20 68 61 76 65 20 66 61 69 6c 69 6e 67 20 74 6f 20 63 68 65 ..........to.have.failing.to.che
74100 63 6b 20 66 6f 72 20 61 6e 20 65 72 72 6f 72 20 62 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 ck.for.an.error.be.a.compile.err
74120 6f 72 2e 20 49 66 20 79 6f 75 20 72 65 61 6c 6c 79 20 77 61 6e 74 0a 20 20 20 20 20 20 20 20 20 or..If.you.really.want..........
74140 20 20 20 74 6f 20 69 67 6e 6f 72 65 20 74 68 65 20 65 72 72 6f 72 2c 20 79 6f 75 20 63 61 6e 20 ...to.ignore.the.error,.you.can.
74160 61 64 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 add.<code><span.class="line"><sp
74180 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c an.class="tok-kw">catch</span>.<
741a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c span.class="tok-kw">unreachable<
741c0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 /span></span></code>.and........
741e0 20 20 20 20 20 67 65 74 20 74 68 65 20 61 64 64 65 64 20 62 65 6e 65 66 69 74 20 6f 66 20 63 72 .....get.the.added.benefit.of.cr
74200 61 73 68 69 6e 67 20 69 6e 20 44 65 62 75 67 20 61 6e 64 20 52 65 6c 65 61 73 65 53 61 66 65 20 ashing.in.Debug.and.ReleaseSafe.
74220 6d 6f 64 65 73 20 69 66 20 79 6f 75 72 20 61 73 73 75 6d 70 74 69 6f 6e 20 77 61 73 20 77 72 6f modes.if.your.assumption.was.wro
74240 6e 67 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 ng..........</li>.........<li>..
74260 20 20 20 20 20 20 20 20 20 53 69 6e 63 65 20 5a 69 67 20 75 6e 64 65 72 73 74 61 6e 64 73 20 65 .........Since.Zig.understands.e
74280 72 72 6f 72 20 74 79 70 65 73 2c 20 69 74 20 63 61 6e 20 70 72 65 2d 77 65 69 67 68 74 20 62 72 rror.types,.it.can.pre-weight.br
742a0 61 6e 63 68 65 73 20 69 6e 20 66 61 76 6f 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 65 72 72 anches.in.favor.of...........err
742c0 6f 72 73 20 6e 6f 74 20 6f 63 63 75 72 72 69 6e 67 2e 20 4a 75 73 74 20 61 20 73 6d 61 6c 6c 20 ors.not.occurring..Just.a.small.
742e0 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 62 65 6e 65 66 69 74 20 74 68 61 74 20 69 73 20 6e 6f 74 optimization.benefit.that.is.not
74300 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 6f 74 68 65 72 20 6c 61 .available...........in.other.la
74320 6e 67 75 61 67 65 73 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 nguages..........</li>.......</u
74340 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c l>.......<p>See.also:</p><ul>.<l
74360 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 i><a.href="#defer">defer</a></li
74380 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a >.<li><a.href="#if">if</a></li>.
743a0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e <li><a.href="#switch">switch</a>
743c0 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 65 72 72 6f 72 20 </li>.</ul>.........<p>An.error.
743e0 75 6e 69 6f 6e 20 69 73 20 63 72 65 61 74 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e union.is.created.with.the.<code>
74400 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 <span.class="line">!</span></cod
74420 65 3e 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 2e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 e>.binary.operator........You.ca
74440 6e 20 75 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f n.use.compile-time.reflection.to
74460 20 61 63 63 65 73 73 20 74 68 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 .access.the.child.type.of.an.err
74480 6f 72 20 75 6e 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 or.union:</p>.......<figure><fig
744a0 63 61 70 74 69 6f 6e 20 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
744c0 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c ass="file">test_error_union.zig<
744e0 2f 63 69 74 65 3e 3c 2f 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
74500 70 61 6e 20 63 6c 61 73 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
74520 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 k-kw">const</span>.expect.=.<spa
74540 6e 20 63 6c 61 73 73 3d 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
74560 70 61 6e 3e 28 3c 73 70 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
74580 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 ;std&quot;</span>).testing.expec
745a0 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
745c0 70 61 6e 3e 0a 3c 73 70 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
745e0 61 73 73 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
74600 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 72 72 6f 72 20 75 6e 69 6f 6e lass="tok-str">&quot;error.union
74620 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
74640 73 73 3d 22 6c 69 6e 65 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
74660 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w">var</span>.foo:.<span.class="
74680 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 tok-type">anyerror</span>!<span.
746a0 63 6c 61 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
746c0 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</
746e0 73 70 61 6e 3e 3b 3c 2f 73 70 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"
74700 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
74720 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 65 <span.class="tok-comment">//.Coe
74740 72 63 65 20 66 72 6f 6d 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 rce.from.child.type.of.an.error.
74760 75 6e 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 union:</span></span>.<span.class
74780 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
747a0 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>.<
747c0 73 70 61 6e 20 63 6c 61 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.
747e0 63 6c 61 73 73 3d 22 6c 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
74800 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 65 72 63 65 20 66 72 6f 6d 20 61 6e 20 65 72 72 k-comment">//.Coerce.from.an.err
74820 6f 72 20 73 65 74 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 or.set:</span></span>.<span.clas
74840 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 s="line">....foo.=.<span.class="
74860 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6f 6d 65 45 72 72 6f 72 3b 3c tok-kw">error</span>.SomeError;<
74880 2f 73 70 61 6e 3e 0a 3c 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
748a0 3e 0a 3c 73 70 61 6e 20 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
748c0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 65 20 63 6f 6d 70 69 6c lass="tok-comment">//.Use.compil
748e0 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 e-time.reflection.to.access.the.
74900 70 61 79 6c 6f 61 64 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 3a 3c payload.type.of.an.error.union:<
74920 2f 73 70 61 6e 3e 3c 2f 73 70 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"
74940 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 >....<span.class="tok-kw">compti
74960 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 me</span>.<span.class="tok-kw">t
74980 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
749a0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 k-builtin">@typeInfo</span>(<spa
749c0 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
749e0 70 61 6e 3e 28 66 6f 6f 29 29 2e 45 72 72 6f 72 55 6e 69 6f 6e 2e 70 61 79 6c 6f 61 64 20 3d 3d pan>(foo)).ErrorUnion.payload.==
74a00 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
74a20 6e 3e 29 3b 3c 2f 73 70 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"><
74a40 2f 73 70 61 6e 3e 0a 3c 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
74a60 70 61 6e 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
74a80 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
74aa0 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 .the.error.set.type.of.an.error.
74ac0 75 6e 69 6f 6e 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 union:</span></span>.<span.class
74ae0 3d 22 6c 69 6e 65 22 3e 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"
74b00 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >comptime</span>.<span.class="to
74b20 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 63 6c k-kw">try</span>.expect(<span.cl
74b40 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
74b60 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 n>(<span.class="tok-builtin">@Ty
74b80 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 29 2e 45 72 72 6f 72 55 6e 69 6f 6e 2e 65 72 72 peOf</span>(foo)).ErrorUnion.err
74ba0 6f 72 5f 73 65 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 or_set.==.<span.class="tok-type"
74bc0 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >anyerror</span>);</span>.<span.
74be0 63 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
74c00 65 3e 3c 2f 66 69 67 75 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
74c20 6c 61 73 73 3d 22 73 68 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
74c40 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"
74c60 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 65 72 72 6f 72 5f 75 6e 69 6f >$.<kbd>zig.test.test_error_unio
74c80 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.zig</kbd></span>.<span.class="
74ca0 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 65 72 72 6f 72 20 75 6e 69 6f 6e line">1/1.test.&quot;error.union
74cc0 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
74ce0 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
74d00 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>.......<
74d20 68 34 20 69 64 3d 22 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 3c 61 20 68 72 h4.id="Merging-Error-Sets"><a.hr
74d40 65 66 3d 22 23 74 6f 63 2d 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 4d 65 72 ef="#toc-Merging-Error-Sets">Mer
74d60 67 69 6e 67 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 ging.Error.Sets</a>.<a.class="hd
74d80 72 22 20 68 72 65 66 3d 22 23 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e c2 a7 r".href="#Merging-Error-Sets">..
74da0 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 74 </a></h4>........<p>.......Use.t
74dc0 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7c 7c 3c 2f he.<code><span.class="line">||</
74de0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 20 74 6f 20 6d 65 72 67 65 20 74 span></code>.operator.to.merge.t
74e00 77 6f 20 65 72 72 6f 72 20 73 65 74 73 20 74 6f 67 65 74 68 65 72 2e 20 54 68 65 20 72 65 73 75 wo.error.sets.together..The.resu
74e20 6c 74 69 6e 67 0a 20 20 20 20 20 20 65 72 72 6f 72 20 73 65 74 20 63 6f 6e 74 61 69 6e 73 20 74 lting.......error.set.contains.t
74e40 68 65 20 65 72 72 6f 72 73 20 6f 66 20 62 6f 74 68 20 65 72 72 6f 72 20 73 65 74 73 2e 20 44 6f he.errors.of.both.error.sets..Do
74e60 63 20 63 6f 6d 6d 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 6c 65 66 74 2d 68 61 6e 64 0a 20 20 c.comments.from.the.left-hand...
74e80 20 20 20 20 73 69 64 65 20 6f 76 65 72 72 69 64 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 66 ....side.override.doc.comments.f
74ea0 72 6f 6d 20 74 68 65 20 72 69 67 68 74 2d 68 61 6e 64 20 73 69 64 65 2e 20 49 6e 20 74 68 69 73 rom.the.right-hand.side..In.this
74ec0 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 64 6f 63 0a 20 20 20 20 20 20 63 6f 6d 6d 65 6e 74 73 .example,.the.doc.......comments
74ee0 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 2e .for.<code><span.class="line">C.
74f00 50 61 74 68 4e 6f 74 46 6f 75 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 PathNotFound</span></code>.is.<c
74f20 6f 64 65 3e 41 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 ode>A.doc.comment</code>........
74f40 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 65 73 70 </p>.......<p>.......This.is.esp
74f60 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 ecially.useful.for.functions.whi
74f80 63 68 20 72 65 74 75 72 6e 20 64 69 66 66 65 72 65 6e 74 20 65 72 72 6f 72 20 73 65 74 73 20 64 ch.return.different.error.sets.d
74fa0 65 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 6f 6e 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 epending.......on.<a.href="#comp
74fc0 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 72 61 6e 63 68 65 73 2e 20 46 6f 72 time">comptime</a>.branches..For
74fe0 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 5a 69 67 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 .example,.the.Zig.standard.libra
75000 72 79 20 75 73 65 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ry.uses.......<code><span.class=
75020 22 6c 69 6e 65 22 3e 4c 69 6e 75 78 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 20 7c 7c 20 57 69 6e "line">LinuxFileOpenError.||.Win
75040 64 6f 77 73 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 dowsFileOpenError</span></code>.
75060 66 6f 72 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 6f 66 20 6f 70 65 6e 69 6e 67 0a 20 20 20 for.the.error.set.of.opening....
75080 20 20 20 66 69 6c 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 ...files........</p>.......<figu
750a0 72 65 3e 3c 66 69 67 63 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"><
750c0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6d 65 72 67 69 6e 67 5f 65 cite.class="file">test_merging_e
750e0 72 72 6f 72 5f 73 65 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e rror_sets.zig</cite></figcaption
75100 3e 3c 70 72 65 3e 3c 63 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"><
75120 73 70 61 6e 20 63 6c 61 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>
75140 20 41 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c .A.=.<span.class="tok-kw">error<
75160 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>{</span>.<span.class="line
75180 22 3e 20 20 20 20 4e 6f 74 44 69 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">....NotDir,</span>.<span.class
751a0 3d 22 6c 69 6e 65 22 3e 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
751c0 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"
751e0 3e 2f 2f 2f 20 41 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e >///.A.doc.comment</span></span>
75200 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 50 61 74 68 4e 6f 74 46 .<span.class="line">....PathNotF
75220 6f 75 6e 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ound,</span>.<span.class="line">
75240 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
75260 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 an.class="tok-kw">const</span>.B
75280 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 .=.<span.class="tok-kw">error</s
752a0 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pan>{</span>.<span.class="line">
752c0 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ....OutOfMemory,</span>.<span.cl
752e0 61 73 73 3d 22 6c 69 6e 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="
75300 6c 69 6e 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
75320 6e 74 22 3e 2f 2f 2f 20 42 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 nt">///.B.doc.comment</span></sp
75340 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 50 61 74 68 4e an>.<span.class="line">....PathN
75360 6f 74 46 6f 75 6e 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e otFound,</span>.<span.class="lin
75380 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">
753a0 3c 2f 73 70 61 6e 3e 0a 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
753c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 20 3d .class="tok-kw">const</span>.C.=
753e0 20 41 20 7c 7c 20 42 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .A.||.B;</span>.<span.class="lin
75400 65 22 3e 3c 2f 73 70 61 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
75420 70 61 6e 20 63 6c 61 73 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
75440 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 43 an.class="tok-fn">foo</span>().C
75460 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 !<span.class="tok-type">void</sp
75480 61 6e 3e 20 7b 3c 2f 73 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">
754a0 20 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<
754c0 2f 73 70 61 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
754e0 72 3c 2f 73 70 61 6e 3e 2e 4e 6f 74 44 69 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c r</span>.NotDir;</span>.<span.cl
75500 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=
75520 22 6c 69 6e 65 22 3e 3c 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
75540 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
75560 6e 3e 20 3c 73 70 61 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
75580 65 72 67 65 20 65 72 72 6f 72 20 73 65 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f erge.error.sets&quot;</span>.{</
755a0 73 70 61 6e 3e 0a 3c 73 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
755c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 66 6f 6f an.class="tok-kw">if</span>.(foo
755e0 28 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ()).{</span>.<span.class="line">
75600 20 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
75620 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">@panic</span>(<span.class="tok
75640 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 6e 65 78 70 65 63 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 -str">&quot;unexpected&quot;</sp
75660 61 6e 3e 29 3b 3c 2f 73 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">
75680 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<
756a0 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.|err|.<span.class="tok-kw
756c0 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ">switch</span>.(err).{</span>.<
756e0 73 70 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.
75700 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f class="tok-kw">error</span>.OutO
75720 66 4d 65 6d 6f 72 79 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 fMemory.=&gt;.<span.class="tok-b
75740 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 uiltin">@panic</span>(<span.clas
75760 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 6e 65 78 70 65 63 74 65 64 26 71 75 6f s="tok-str">&quot;unexpected&quo
75780 74 3b 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t;</span>),</span>.<span.class="
757a0 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
757c0 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 50 61 74 68 4e 6f 74 46 6f 75 6e 64 20 3d 26 67 w">error</span>.PathNotFound.=&g
757e0 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 t;.<span.class="tok-builtin">@pa
75800 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 nic</span>(<span.class="tok-str"
75820 3e 26 71 75 6f 74 3b 75 6e 65 78 70 65 63 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c >&quot;unexpected&quot;</span>),
75840 3c 2f 73 70 61 6e 3e 0a 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">.....
75860 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 ...<span.class="tok-kw">error</s
75880 70 61 6e 3e 2e 4e 6f 74 44 69 72 20 3d 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 pan>.NotDir.=&gt;.{},</span>.<sp
758a0 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
758c0 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><
758e0 2f 70 72 65 3e 3c 2f 66 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
75900 6e 20 63 6c 61 73 73 3d 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
75920 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
75940 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6d 65 72 67 69 6e 67 ne">$.<kbd>zig.test.test_merging
75960 5f 65 72 72 6f 72 5f 73 65 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 _error_sets.zig</kbd></span>.<sp
75980 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6d an.class="line">1/1.test.&quot;m
759a0 65 72 67 65 20 65 72 72 6f 72 20 73 65 74 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 erge.error.sets&quot;....OK</spa
759c0 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
759e0 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></
75a00 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 49 6e 66 figure>..............<h4.id="Inf
75a20 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d erred-Error-Sets"><a.href="#toc-
75a40 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 49 6e 66 65 72 72 65 64 20 45 72 Inferred-Error-Sets">Inferred.Er
75a60 72 6f 72 20 53 65 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 ror.Sets</a>.<a.class="hdr".href
75a80 3d 22 23 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f ="#Inferred-Error-Sets">..</a></
75aa0 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 65 63 61 75 73 65 20 6d 61 6e h4>........<p>.......Because.man
75ac0 79 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 5a 69 67 20 72 65 74 75 72 6e 20 61 20 70 6f 73 73 y.functions.in.Zig.return.a.poss
75ae0 69 62 6c 65 20 65 72 72 6f 72 2c 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 69 6e 66 65 72 72 69 ible.error,.Zig.supports.inferri
75b00 6e 67 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 2e 0a 20 20 20 20 20 20 54 6f 20 69 6e 66 65 72 ng.the.error.set........To.infer
75b20 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 66 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 70 .the.error.set.for.a.function,.p
75b40 72 65 70 65 6e 64 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 repend.the.<code><span.class="li
75b60 6e 65 22 3e 21 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 20 74 6f 20 ne">!</span></code>.operator.to.
75b80 74 68 65 20 66 75 6e 63 74 69 6f 6e e2 80 99 73 20 72 65 74 75 72 6e 20 74 79 70 65 2c 20 6c 69 the.function...s.return.type,.li
75ba0 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 54 3c 2f ke.<code><span.class="line">!T</
75bc0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 3c 66 69 67 75 72 65 span></code>:.......</p>.<figure
75be0 3e 3c 66 69 67 63 61 70 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
75c00 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 66 65 72 72 65 64 5f 65 72 72 6f 72 5f 73 te.class="file">inferred_error_s
75c20 65 74 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ets.zig</cite></figcaption><pre>
75c40 3c 63 6f 64 65 3e 3c 73 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
75c60 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 69 74 68 20 61 6e 20 69 6e lass="tok-comment">//.With.an.in
75c80 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c ferred.error.set</span></span>.<
75ca0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
75cc0 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
75ce0 6f 6b 2d 6b 77 22 3e 66 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
75d00 6b 2d 66 6e 22 3e 61 64 64 5f 69 6e 66 65 72 72 65 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-fn">add_inferred</span>(<span.
75d20 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
75d40 3a 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
75d60 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 21 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 pan>,.a:.T,.b:.T).!T.{</span>.<s
75d80 70 61 6e 20 63 6c 61 73 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
75da0 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 6e 73 77 65 72 3a 20 54 20 3d ="tok-kw">var</span>.answer:.T.=
75dc0 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
75de0 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d</span>;</span>.<span.class="li
75e00 6e 65 22 3e 20 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
75e20 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">
75e40 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c if</span>.(<span.class="tok-buil
75e60 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 54 2c 20 tin">@addWithOverflow</span>(T,.
75e80 61 2c 20 62 2c 20 26 61 6d 70 3b 61 6e 73 77 65 72 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d a,.b,.&amp;answer)).<span.class=
75ea0 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 20 3c "tok-kw">error</span>.Overflow.<
75ec0 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>.
75ee0 61 6e 73 77 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 answer;</span>.<span.class="line
75f00 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"></
75f20 73 70 61 6e 3e 0a 3c 73 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
75f40 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 69 74 68 20 61 6e 20 65 78 lass="tok-comment">//.With.an.ex
75f60 70 6c 69 63 69 74 20 65 72 72 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c plicit.error.set</span></span>.<
75f80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
75fa0 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
75fc0 6f 6b 2d 6b 77 22 3e 66 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
75fe0 6b 2d 66 6e 22 3e 61 64 64 5f 65 78 70 6c 69 63 69 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-fn">add_explicit</span>(<span.
76000 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
76020 3a 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
76040 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 45 72 72 6f 72 21 54 20 7b 3c 2f 73 70 61 pan>,.a:.T,.b:.T).Error!T.{</spa
76060 6e 3e 0a 3c 73 70 61 6e 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.
76080 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 6e 73 77 65 72 class="tok-kw">var</span>.answer
760a0 3a 20 54 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 :.T.=.<span.class="tok-null">und
760c0 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 efined</span>;</span>.<span.clas
760e0 73 3d 22 6c 69 6e 65 22 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
76100 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
76120 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b -kw">if</span>.(<span.class="tok
76140 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e -builtin">@addWithOverflow</span
76160 3e 28 54 2c 20 61 2c 20 62 2c 20 26 61 6d 70 3b 61 6e 73 77 65 72 29 29 20 3c 73 70 61 6e 20 63 >(T,.a,.b,.&amp;answer)).<span.c
76180 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 lass="tok-kw">error</span>.Overf
761a0 6c 6f 77 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 low.<span.class="tok-kw">else</s
761c0 70 61 6e 3e 20 61 6e 73 77 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.answer;</span>.<span.class=
761e0 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
76200 65 22 3e 3c 2f 73 70 61 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
76220 70 61 6e 20 63 6c 61 73 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>.
76240 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 Error.=.<span.class="tok-kw">err
76260 6f 72 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 or</span>.{</span>.<span.class="
76280 6c 69 6e 65 22 3e 20 20 20 20 4f 76 65 72 66 6c 6f 77 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e line">....Overflow,</span>.<span
762a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .class="line">};</span>.<span.cl
762c0 61 73 73 3d 22 6c 69 6e 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="
762e0 6c 69 6e 65 22 3e 3c 73 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
76300 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
76320 75 69 6c 74 69 6e 22 3e 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
76340 73 73 3d 22 74 6f 6b 2d 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
76360 61 6e 3e 29 3b 3c 2f 73 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">
76380 3c 2f 73 70 61 6e 3e 0a 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
763a0 20 63 6c 61 73 73 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
763c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 66 65 72 72 65 64 n.class="tok-str">&quot;inferred
763e0 20 65 72 72 6f 72 20 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e .error.set&quot;</span>.{</span>
76400 0a 3c 73 70 61 6e 20 63 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
76420 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 64 64 5f 69 6e 66 65 ass="tok-kw">if</span>.(add_infe
76440 72 72 65 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f rred(<span.class="tok-type">u8</
76460 73 70 61 6e 3e 2c 20 3c 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">
76480 32 35 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 255</span>,.<span.class="tok-num
764a0 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 20 7c 5f 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ber">1</span>)).|_|.<span.class=
764c0 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 "tok-kw">unreachable</span>.<spa
764e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 n.class="tok-kw">else</span>.|er
76500 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f r|.<span.class="tok-kw">switch</
76520 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 span>.(err).{</span>.<span.class
76540 3d 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
76560 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 20 3d 26 67 74 3b -kw">error</span>.Overflow.=&gt;
76580 20 7b 7d 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f .{},.<span.class="tok-comment">/
765a0 2f 20 6f 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /.ok</span></span>.<span.class="
765c0 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="
765e0 6c 69 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
76600 75 72 65 3e 3c 66 69 67 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
76620 68 65 6c 6c 2d 63 61 70 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
76640 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
76660 3e 7a 69 67 20 74 65 73 74 20 69 6e 66 65 72 72 65 64 5f 65 72 72 6f 72 5f 73 65 74 73 2e 7a 69 >zig.test.inferred_error_sets.zi
76680 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
766a0 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 ">1/1.test.&quot;inferred.error.
766c0 73 65 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 set&quot;....OK</span>.<span.cla
766e0 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
76700 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>.....
76720 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 ..<p>.......When.a.function.has.
76740 61 6e 20 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 2c 20 74 68 61 74 20 66 75 6e 63 an.inferred.error.set,.that.func
76760 74 69 6f 6e 20 62 65 63 6f 6d 65 73 20 67 65 6e 65 72 69 63 20 61 6e 64 20 74 68 75 73 20 69 74 tion.becomes.generic.and.thus.it
76780 20 62 65 63 6f 6d 65 73 0a 20 20 20 20 20 20 74 72 69 63 6b 69 65 72 20 74 6f 20 64 6f 20 63 65 .becomes.......trickier.to.do.ce
767a0 72 74 61 69 6e 20 74 68 69 6e 67 73 20 77 69 74 68 20 69 74 2c 20 73 75 63 68 20 61 73 20 6f 62 rtain.things.with.it,.such.as.ob
767c0 74 61 69 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 65 72 2c 20 6f 72 20 68 61 76 65 tain.a.function.pointer,.or.have
767e0 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 73 65 74 20 74 68 61 74 20 69 73 20 63 6f 6e 73 .an.error.......set.that.is.cons
76800 69 73 74 65 6e 74 20 61 63 72 6f 73 73 20 64 69 66 66 65 72 65 6e 74 20 62 75 69 6c 64 20 74 61 istent.across.different.build.ta
76820 72 67 65 74 73 2e 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 69 6e 66 65 72 72 65 64 20 65 72 rgets..Additionally,.inferred.er
76840 72 6f 72 20 73 65 74 73 0a 20 20 20 20 20 20 61 72 65 20 69 6e 63 6f 6d 70 61 74 69 62 6c 65 20 ror.sets.......are.incompatible.
76860 77 69 74 68 20 72 65 63 75 72 73 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 with.recursion........</p>......
76880 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 73 65 20 73 69 74 75 61 74 69 6f 6e 73 2c 20 .<p>.......In.these.situations,.
768a0 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 61 6e 20 65 78 70 6c it.is.recommended.to.use.an.expl
768c0 69 63 69 74 20 65 72 72 6f 72 20 73 65 74 2e 20 59 6f 75 20 63 61 6e 20 67 65 6e 65 72 61 6c 6c icit.error.set..You.can.generall
768e0 79 20 73 74 61 72 74 0a 20 20 20 20 20 20 77 69 74 68 20 61 6e 20 65 6d 70 74 79 20 65 72 72 6f y.start.......with.an.empty.erro
76900 72 20 73 65 74 20 61 6e 64 20 6c 65 74 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 20 67 75 69 r.set.and.let.compile.errors.gui
76920 64 65 20 79 6f 75 20 74 6f 77 61 72 64 20 63 6f 6d 70 6c 65 74 69 6e 67 20 74 68 65 20 73 65 74 de.you.toward.completing.the.set
76940 2e 0a 20 20 20 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
76960 73 65 20 6c 69 6d 69 74 61 74 69 6f 6e 73 20 6d 61 79 20 62 65 20 6f 76 65 72 63 6f 6d 65 20 69 se.limitations.may.be.overcome.i
76980 6e 20 61 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 n.a.future.version.of.Zig.......
769a0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 .</p>.....................<h3.id
769c0 3d 22 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 ="Error-Return-Traces"><a.href="
769e0 23 74 6f 63 2d 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 45 72 72 6f 72 20 #toc-Error-Return-Traces">Error.
76a00 52 65 74 75 72 6e 20 54 72 61 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 Return.Traces</a>.<a.class="hdr"
76a20 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e c2 a7 3c .href="#Error-Return-Traces">..<
76a40 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 72 72 6f 72 20 /a></h3>........<p>.......Error.
76a60 52 65 74 75 72 6e 20 54 72 61 63 65 73 20 73 68 6f 77 20 61 6c 6c 20 74 68 65 20 70 6f 69 6e 74 Return.Traces.show.all.the.point
76a80 73 20 69 6e 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 61 6e 20 65 72 72 6f 72 20 77 61 73 20 s.in.the.code.that.an.error.was.
76aa0 72 65 74 75 72 6e 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e returned.to.the.calling.function
76ac0 2e 20 54 68 69 73 20 6d 61 6b 65 73 20 69 74 20 70 72 61 63 74 69 63 61 6c 20 74 6f 20 75 73 65 ..This.makes.it.practical.to.use
76ae0 20 3c 61 20 68 72 65 66 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 20 65 76 65 72 79 77 68 65 .<a.href="#try">try</a>.everywhe
76b00 72 65 20 61 6e 64 20 74 68 65 6e 20 73 74 69 6c 6c 20 62 65 20 61 62 6c 65 20 74 6f 20 6b 6e 6f re.and.then.still.be.able.to.kno
76b20 77 20 77 68 61 74 20 68 61 70 70 65 6e 65 64 20 69 66 20 61 6e 20 65 72 72 6f 72 20 65 6e 64 73 w.what.happened.if.an.error.ends
76b40 20 75 70 20 62 75 62 62 6c 69 6e 67 20 61 6c 6c 20 74 68 65 20 77 61 79 20 6f 75 74 20 6f 66 20 .up.bubbling.all.the.way.out.of.
76b60 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 your.application........</p>....
76b80 20 20 20 3c 66 69 67 75 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
76ba0 67 2d 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
76bc0 69 67 3c 2f 63 69 74 65 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
76be0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
76c00 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=
76c20 22 74 6f 6b 2d 6b 77 22 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="
76c40 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 tok-fn">main</span>().!<span.cla
76c60 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
76c80 6e 3e 0a 3c 73 70 61 6e 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.
76ca0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 66 6f 6f 28 3c 73 class="tok-kw">try</span>.foo(<s
76cc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e pan.class="tok-number">12</span>
76ce0 29 3b 3c 2f 73 70 61 6e 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">}</
76d00 73 70 61 6e 3e 0a 3c 73 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>
76d20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
76d40 22 74 6f 6b 2d 6b 77 22 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="
76d60 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 tok-fn">foo</span>(x:.<span.clas
76d80 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 s="tok-type">i32</span>).!<span.
76da0 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>.{</
76dc0 73 70 61 6e 3e 0a 3c 73 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
76de0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 78 20 26 an.class="tok-kw">if</span>.(x.&
76e00 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c gt;=.<span.class="tok-number">5<
76e20 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
76e40 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"
76e60 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 62 61 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >try</span>.bar();</span>.<span.
76e80 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="
76ea0 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
76ec0 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
76ee0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 32 28 29 3b ass="tok-kw">try</span>.bang2();
76f00 3c 2f 73 70 61 6e 3e 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">....}
76f20 3c 2f 73 70 61 6e 3e 0a 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
76f40 61 6e 3e 0a 3c 73 70 61 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>.<
76f60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
76f80 6f 6b 2d 6b 77 22 3e 66 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
76fa0 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-fn">bar</span>().!<span.class=
76fc0 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>.
76fe0 3c 73 70 61 6e 20 63 6c 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
77000 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 61 7a 28 29 29 20 7b 3c ss="tok-kw">if</span>.(baz()).{<
77020 2f 73 70 61 6e 3e 0a 3c 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">......
77040 20 20 3c 73 70 61 6e 20 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
77060 3e 20 71 75 75 78 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >.quux();</span>.<span.class="li
77080 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
770a0 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f lse</span>.|err|.<span.class="to
770c0 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 3c 2f 73 70 61 k-kw">switch</span>.(err).{</spa
770e0 6e 3e 0a 3c 73 70 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
77100 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>.
77120 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 FileNotFound.=&gt;.<span.class="
77140 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 28 29 2c 3c 2f 73 70 61 tok-kw">try</span>.hello(),</spa
77160 6e 3e 0a 3c 73 70 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
77180 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d pan.class="tok-kw">else</span>.=
771a0 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 &gt;.<span.class="tok-kw">try</s
771c0 70 61 6e 3e 20 61 6e 6f 74 68 65 72 28 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pan>.another(),</span>.<span.cla
771e0 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
77200 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="
77220 6c 69 6e 65 22 3e 3c 2f 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"
77240 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>.
77260 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 7a 3c 2f 73 70 61 6e 3e 28 <span.class="tok-fn">baz</span>(
77280 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f ).!<span.class="tok-type">void</
772a0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
772c0 22 3e 20 20 20 20 3c 73 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</
772e0 73 70 61 6e 3e 20 62 61 6e 67 31 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 span>.bang1();</span>.<span.clas
77300 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
77320 69 6e 65 22 3e 3c 2f 73 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">
77340 3c 73 70 61 6e 20 63 6c 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>.<
77360 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 71 75 75 78 3c 2f 73 70 61 6e 3e 28 span.class="tok-fn">quux</span>(
77380 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f ).!<span.class="tok-type">void</
773a0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
773c0 22 3e 20 20 20 20 3c 73 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</
773e0 73 70 61 6e 3e 20 62 61 6e 67 32 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 span>.bang2();</span>.<span.clas
77400 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
77420 69 6e 65 22 3e 3c 2f 73 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">
77440 3c 73 70 61 6e 20 63 6c 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>.<
77460 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 68 65 6c 6c 6f 3c 2f 73 70 61 6e 3e span.class="tok-fn">hello</span>
77480 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c ().!<span.class="tok-type">void<
774a0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
774c0 65 22 3e 20 20 20 20 3c 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<
774e0 2f 73 70 61 6e 3e 20 62 61 6e 67 32 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 /span>.bang2();</span>.<span.cla
77500 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="
77520 6c 69 6e 65 22 3e 3c 2f 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"
77540 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>.
77560 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6e 6f 74 68 65 72 3c 2f 73 70 <span.class="tok-fn">another</sp
77580 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f an>().!<span.class="tok-type">vo
775a0 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="
775c0 6c 69 6e 65 22 3e 20 20 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
775e0 72 79 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 31 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ry</span>.bang1();</span>.<span.
77600 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
77620 73 3d 22 6c 69 6e 65 22 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
77640 6e 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
77660 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 6e 67 31 3c 2f 73 n>.<span.class="tok-fn">bang1</s
77680 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 pan>().!<span.class="tok-type">v
776a0 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=
776c0 22 6c 69 6e 65 22 3e 20 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">
776e0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b return</span>.<span.class="tok-k
77700 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 73 w">error</span>.FileNotFound;</s
77720 70 61 6e 3e 0a 3c 73 70 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>
77740 0a 3c 73 70 61 6e 20 63 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
77760 6e 20 63 6c 61 73 73 3d 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-
77780 6b 77 22 3e 66 6e 3c 2f 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
777a0 6e 22 3e 62 61 6e 67 32 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n">bang2</span>().!<span.class="
777c0 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>.<
777e0 73 70 61 6e 20 63 6c 61 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
77800 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
77820 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 50 65 72 6d 69 lass="tok-kw">error</span>.Permi
77840 73 73 69 6f 6e 44 65 6e 69 65 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ssionDenied;</span>.<span.class=
77860 22 6c 69 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
77880 67 75 72 65 3e 3c 66 69 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="
778a0 73 68 65 6c 6c 2d 63 61 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
778c0 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
778e0 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f d>zig.build-exe.test.zig</kbd></
77900 73 70 61 6e 3e 0a 3c 73 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>
77920 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 .<span.class="line">$.<kbd>./tes
77940 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 t</kbd></span>.<span.class="line
77960 22 3e 65 72 72 6f 72 3a 20 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3c 2f 73 70 61 6e 3e ">error:.PermissionDenied</span>
77980 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
779a0 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e "t1_0">/home/andy/tmp/zig/docgen
779c0 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 39 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e _tmp/test.zig:39:5</span>:.<span
779e0 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 34 37 32 20 69 6e 20 62 61 6e 67 31 20 .class="t2_0">0x234472.in.bang1.
77a00 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
77a20 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 46 69 6c 65 4e 6f 74 ="line">....return.error.FileNot
77a40 46 6f 75 6e 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 Found;</span>.<span.class="line"
77a60 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
77a80 3e 3c 2f 73 70 61 6e 3e 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
77aa0 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 n.class="t1_0">/home/andy/tmp/zi
77ac0 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 33 3a 35 3c 2f 73 70 61 6e g/docgen_tmp/test.zig:23:5</span
77ae0 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 33 34 66 20 69 >:.<span.class="t2_0">0x23434f.i
77b00 6e 20 62 61 7a 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n.baz.(test)</span></span>.<span
77b20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 62 61 6e 67 31 28 29 3b 3c 2f .class="line">....try.bang1();</
77b40 73 70 61 6e 3e 0a 3c 73 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
77b60 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>
77b80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
77ba0 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e "t1_0">/home/andy/tmp/zig/docgen
77bc0 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e _tmp/test.zig:43:5</span>:.<span
77be0 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 33 31 32 20 69 6e 20 62 61 6e 67 32 20 .class="t2_0">0x234312.in.bang2.
77c00 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
77c20 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 50 65 72 6d 69 73 73 ="line">....return.error.Permiss
77c40 69 6f 6e 44 65 6e 69 65 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ionDenied;</span>.<span.class="l
77c60 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">^</
77c80 73 70 61 6e 3e 3c 2f 73 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">
77ca0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d <span.class="t1_0">/home/andy/tm
77cc0 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 31 3a 35 3c 2f p/zig/docgen_tmp/test.zig:31:5</
77ce0 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 34 span>:.<span.class="t2_0">0x2344
77d00 33 66 20 69 6e 20 68 65 6c 6c 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3f.in.hello.(test)</span></span>
77d20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 20 62 61 6e 67 .<span.class="line">....try.bang
77d40 32 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 2();</span>.<span.class="line">.
77d60 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><
77d80 2f 73 70 61 6e 3e 0a 3c 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.
77da0 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f class="t1_0">/home/andy/tmp/zig/
77dc0 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 3a 33 31 3c 2f 73 70 61 6e 3e docgen_tmp/test.zig:17:31</span>
77de0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 32 64 65 20 69 6e :.<span.class="t2_0">0x2342de.in
77e00 20 62 61 72 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .bar.(test)</span></span>.<span.
77e20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 65 72 72 6f 72 2e 46 69 6c 65 4e class="line">........error.FileN
77e40 6f 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 74 72 79 20 68 65 6c 6c 6f 28 29 2c 3c 2f 73 70 61 6e otFound.=&gt;.try.hello(),</span
77e60 3e 0a 3c 73 70 61 6e 20 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">...........
77e80 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="
77ea0 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
77ec0 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
77ee0 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e me/andy/tmp/zig/docgen_tmp/test.
77f00 7a 69 67 3a 37 3a 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f zig:7:9</span>:.<span.class="t2_
77f20 30 22 3e 30 78 32 33 34 31 63 63 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0">0x2341cc.in.foo.(test)</span>
77f40 3c 2f 73 70 61 6e 3e 0a 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">.....
77f60 20 20 20 74 72 79 20 62 61 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ...try.bar();</span>.<span.class
77f80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 ="line">........<span.class="t32
77fa0 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=
77fc0 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/
77fe0 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 andy/tmp/zig/docgen_tmp/test.zig
78000 3a 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e :2:5</span>:.<span.class="t2_0">
78020 30 78 32 32 63 65 62 34 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 0x22ceb4.in.main.(test)</span></
78040 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 72 79 span>.<span.class="line">....try
78060 20 66 6f 6f 28 31 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .foo(12);</span>.<span.class="li
78080 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
780a0 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
780c0 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 6f 6f 6b 20 63 6c 6f 73 65 6c 79 20 e>.......<p>.......Look.closely.
780e0 61 74 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2e 20 54 68 69 73 20 69 73 20 6e 6f 20 73 74 61 63 at.this.example..This.is.no.stac
78100 6b 20 74 72 61 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 k.trace........</p>.......<p>...
78120 20 20 20 20 59 6f 75 20 63 61 6e 20 73 65 65 20 74 68 61 74 20 74 68 65 20 66 69 6e 61 6c 20 65 ....You.can.see.that.the.final.e
78140 72 72 6f 72 20 62 75 62 62 6c 65 64 20 75 70 20 77 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 rror.bubbled.up.was.<code><span.
78160 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3c 2f 73 class="line">PermissionDenied</s
78180 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 62 75 74 20 74 68 65 20 6f pan></code>,...........but.the.o
781a0 72 69 67 69 6e 61 6c 20 65 72 72 6f 72 20 74 68 61 74 20 73 74 61 72 74 65 64 20 74 68 69 73 20 riginal.error.that.started.this.
781c0 77 68 6f 6c 65 20 74 68 69 6e 67 20 77 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 whole.thing.was.<code><span.clas
781e0 73 3d 22 6c 69 6e 65 22 3e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f s="line">FileNotFound</span></co
78200 64 65 3e 2e 20 49 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c de>..In.the.<code><span.class="l
78220 69 6e 65 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 2c ine">bar</span></code>.function,
78240 20 74 68 65 20 63 6f 64 65 20 68 61 6e 64 6c 65 73 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 65 .the.code.handles.the.original.e
78260 72 72 6f 72 20 63 6f 64 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 65 6e 20 72 65 74 75 72 6e rror.code,.......and.then.return
78280 73 20 61 6e 6f 74 68 65 72 20 6f 6e 65 2c 20 66 72 6f 6d 20 74 68 65 20 73 77 69 74 63 68 20 73 s.another.one,.from.the.switch.s
782a0 74 61 74 65 6d 65 6e 74 2e 20 45 72 72 6f 72 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 20 6d 61 tatement..Error.Return.Traces.ma
782c0 6b 65 20 74 68 69 73 20 63 6c 65 61 72 2c 20 77 68 65 72 65 61 73 20 61 20 73 74 61 63 6b 20 74 ke.this.clear,.whereas.a.stack.t
782e0 72 61 63 65 20 77 6f 75 6c 64 20 6c 6f 6f 6b 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 race.would.look.like.this:......
78300 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.
78320 63 6c 61 73 73 3d 22 7a 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
78340 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><
78360 70 72 65 3e 3c 63 6f 64 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
78380 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
783a0 61 6e 20 63 6c 61 73 73 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
783c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c n.class="tok-fn">main</span>().<
783e0 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
78400 3e 20 7b 3c 2f 73 70 61 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">..
78420 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 ..foo(<span.class="tok-number">1
78440 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 2</span>);</span>.<span.class="l
78460 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"
78480 3e 3c 2f 73 70 61 6e 3e 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
784a0 6e 20 63 6c 61 73 73 3d 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
784c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 .class="tok-fn">foo</span>(x:.<s
784e0 70 61 6e 20 63 6c 61 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>)
78500 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
78520 61 6e 3e 20 7b 3c 2f 73 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">
78540 20 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
78560 6e 3e 20 28 78 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d n>.(x.&gt;=.<span.class="tok-num
78580 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">5</span>).{</span>.<span.cl
785a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 62 61 72 28 29 3b 3c 2f 73 70 61 6e 3e ass="line">........bar();</span>
785c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 .<span.class="line">....}.<span.
785e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 class="tok-kw">else</span>.{</sp
78600 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 62 an>.<span.class="line">........b
78620 61 6e 67 32 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ang2();</span>.<span.class="line
78640 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
78660 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"></
78680 73 70 61 6e 3e 0a 3c 73 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
786a0 6c 61 73 73 3d 22 74 6f 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
786c0 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 ass="tok-fn">bar</span>().<span.
786e0 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>.{</
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 3c 73 70 span>.<span.class="line">....<sp
78720 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 61 7a an.class="tok-kw">if</span>.(baz
78740 28 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ()).{</span>.<span.class="line">
78760 20 20 20 20 20 20 20 20 71 75 75 78 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ........quux();</span>.<span.cla
78780 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
787a0 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -kw">else</span>.{</span>.<span.
787c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 68 65 6c 6c 6f 28 29 3b 3c 2f 73 class="line">........hello();</s
787e0 70 61 6e 3e 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
78800 70 61 6e 3e 0a 3c 73 70 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>
78820 0a 3c 73 70 61 6e 20 63 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
78840 6e 20 63 6c 61 73 73 3d 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-
78860 6b 77 22 3e 66 6e 3c 2f 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
78880 6e 22 3e 62 61 7a 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b n">baz</span>().<span.class="tok
788a0 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -type">bool</span>.{</span>.<spa
788c0 6e 20 63 6c 61 73 73 3d 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="
788e0 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 31 28 29 3b 3c 2f tok-kw">return</span>.bang1();</
78900 73 70 61 6e 3e 0a 3c 73 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
78920 3e 0a 3c 73 70 61 6e 20 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
78940 61 6e 20 63 6c 61 73 73 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
78960 2d 6b 77 22 3e 66 6e 3c 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-
78980 66 6e 22 3e 71 75 75 78 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 fn">quux</span>().<span.class="t
789a0 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
789c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 6e 67 32 28 29 3b 3c 2f 73 pan.class="line">....bang2();</s
789e0 70 61 6e 3e 0a 3c 73 70 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>
78a00 0a 3c 73 70 61 6e 20 63 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
78a20 6e 20 63 6c 61 73 73 3d 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-
78a40 6b 77 22 3e 66 6e 3c 2f 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
78a60 6e 22 3e 68 65 6c 6c 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">hello</span>().<span.class="t
78a80 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
78aa0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 6e 67 32 28 29 3b 3c 2f 73 pan.class="line">....bang2();</s
78ac0 70 61 6e 3e 0a 3c 73 70 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>
78ae0 0a 3c 73 70 61 6e 20 63 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
78b00 6e 20 63 6c 61 73 73 3d 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-
78b20 6b 77 22 3e 66 6e 3c 2f 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
78b40 6e 22 3e 62 61 6e 67 31 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 n">bang1</span>().<span.class="t
78b60 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-type">bool</span>.{</span>.<s
78b80 70 61 6e 20 63 6c 61 73 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
78ba0 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
78bc0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 ass="tok-null">false</span>;</sp
78be0 61 6e 3e 0a 3c 73 70 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>.
78c00 3c 73 70 61 6e 20 63 6c 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
78c20 20 63 6c 61 73 73 3d 22 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
78c40 77 22 3e 66 6e 3c 2f 73 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
78c60 22 3e 62 61 6e 67 32 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">bang2</span>().<span.class="to
78c80 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
78ca0 61 6e 20 63 6c 61 73 73 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=
78cc0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 "tok-builtin">@panic</span>(<spa
78ce0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 50 65 72 6d 69 73 73 69 n.class="tok-str">&quot;Permissi
78d00 6f 6e 44 65 6e 69 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c onDenied&quot;</span>);</span>.<
78d20 73 70 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
78d40 3e 3c 2f 70 72 65 3e 3c 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
78d60 69 6f 6e 20 63 6c 61 73 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
78d80 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="
78da0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e line">$.<kbd>zig.build-exe.test.
78dc0 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
78de0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ne"></span>.<span.class="line">$
78e00 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .<kbd>./test</kbd></span>.<span.
78e20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 33 34 32 33 32 20 70 61 6e 69 class="line">thread.1434232.pani
78e40 63 3a 20 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e c:.PermissionDenied</span>.<span
78e60 20 63 6c 61 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"
78e80 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 >/home/andy/tmp/zig/docgen_tmp/t
78ea0 65 73 74 2e 7a 69 67 3a 33 38 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig:38:5</span>:.<span.class
78ec0 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 66 36 36 20 69 6e 20 62 61 6e 67 32 20 28 74 65 73 74 29 ="t2_0">0x234f66.in.bang2.(test)
78ee0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
78f00 22 3e 20 20 20 20 40 70 61 6e 69 63 28 26 71 75 6f 74 3b 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e ">....@panic(&quot;PermissionDen
78f20 69 65 64 26 71 75 6f 74 3b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ied&quot;);</span>.<span.class="
78f40 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c line">....<span.class="t32_1">^<
78f60 2f 73 70 61 6e 3e 3c 2f 73 70 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"
78f80 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 ><span.class="t1_0">/home/andy/t
78fa0 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 30 3a 31 30 mp/zig/docgen_tmp/test.zig:30:10
78fc0 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 </span>:.<span.class="t2_0">0x23
78fe0 35 32 65 38 20 69 6e 20 68 65 6c 6c 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 52e8.in.hello.(test)</span></spa
79000 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 6e 67 32 28 n>.<span.class="line">....bang2(
79020 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
79040 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
79060 6e 3e 3c 2f 73 70 61 6e 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
79080 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
790a0 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 3a 31 34 3c 2f 73 70 ig/docgen_tmp/test.zig:17:14</sp
790c0 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 66 34 61 an>:.<span.class="t2_0">0x234f4a
790e0 20 69 6e 20 62 61 72 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .in.bar.(test)</span></span>.<sp
79100 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 68 65 6c 6c 6f 28 29 3b an.class="line">........hello();
79120 3c 2f 73 70 61 6e 3e 0a 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">.....
79140 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
79160 70 61 6e 3e 3c 2f 73 70 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"><
79180 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 span.class="t1_0">/home/andy/tmp
791a0 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 31 32 3c 2f 73 /zig/docgen_tmp/test.zig:7:12</s
791c0 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 33 66 37 pan>:.<span.class="t2_0">0x233f7
791e0 35 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 5.in.foo.(test)</span></span>.<s
79200 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 62 61 72 28 29 3b 3c pan.class="line">........bar();<
79220 2f 73 70 61 6e 3e 0a 3c 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">......
79240 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
79260 3e 3c 2f 73 70 61 6e 3e 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
79280 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 n.class="t1_0">/home/andy/tmp/zi
792a0 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 38 3c 2f 73 70 61 6e 3e g/docgen_tmp/test.zig:2:8</span>
792c0 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 63 63 64 20 69 6e :.<span.class="t2_0">0x22cccd.in
792e0 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
79300 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
79320 3e 0a 3c 73 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
79340 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>.
79360 3c 73 70 61 6e 20 63 6c 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="
79380 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 t1_0">/home/andy/tmp/zig/lib/std
793a0 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 /start.zig:551:22</span>:.<span.
793c0 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 33 64 63 20 69 6e 20 73 74 64 2e 73 74 61 class="t2_0">0x2263dc.in.std.sta
793e0 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e rt.callMain.(test)</span></span>
79400 0a 3c 73 70 61 6e 20 63 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">............
79420 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=
79440 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
79460 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>.
79480 3c 73 70 61 6e 20 63 6c 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="
794a0 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 t1_0">/home/andy/tmp/zig/lib/std
794c0 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 /start.zig:495:12</span>:.<span.
794e0 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 66 66 65 20 69 6e 20 73 74 64 2e 73 74 61 class="t2_0">0x206ffe.in.std.sta
79500 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e rt.callMainWithArgs.(test)</span
79520 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
79540 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 return.@call(.{..modifier.=..alw
79560 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 ays_inline.},.callMain,..{});</s
79580 70 61 6e 3e 0a 3c 73 70 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">........
795a0 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><
795c0 2f 73 70 61 6e 3e 0a 3c 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.
795e0 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f class="t1_0">/home/andy/tmp/zig/
79600 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a lib/std/start.zig:409:17</span>:
79620 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 30 39 36 20 69 6e 20 .<span.class="t2_0">0x206096.in.
79640 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 std.start.posixCallMainAndExit.(
79660 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=
79680 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 "line">....std.os.exit(@call(.{.
796a0 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 .modifier.=..always_inline.},.ca
796c0 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 llMainWithArgs,..{.argc,.argv,.e
796e0 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e nvp.}));</span>.<span.class="lin
79700 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e">................<span.class="
79720 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
79740 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
79760 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 me/andy/tmp/zig/lib/std/start.zi
79780 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f g:322:5</span>:.<span.class="t2_
797a0 30 22 3e 30 78 32 30 35 65 61 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 0">0x205ea2.in.std.start._start.
797c0 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
797e0 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.=
79800 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
79820 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
79840 3d 22 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">
79860 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
79880 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
798a0 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>.
798c0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 65 72 65 2c 20 74 68 65 20 73 74 61 63 6b 20 ......<p>.......Here,.the.stack.
798e0 74 72 61 63 65 20 64 6f 65 73 20 6e 6f 74 20 65 78 70 6c 61 69 6e 20 68 6f 77 20 74 68 65 20 63 trace.does.not.explain.how.the.c
79900 6f 6e 74 72 6f 6c 0a 20 20 20 20 20 20 66 6c 6f 77 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ontrol.......flow.in.<code><span
79920 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 .class="line">bar</span></code>.
79940 67 6f 74 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 got.to.the.<code><span.class="li
79960 6e 65 22 3e 68 65 6c 6c 6f 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 2e 0a ne">hello()</span></code>.call..
79980 20 20 20 20 20 20 4f 6e 65 20 77 6f 75 6c 64 20 68 61 76 65 20 74 6f 20 6f 70 65 6e 20 61 20 64 ......One.would.have.to.open.a.d
799a0 65 62 75 67 67 65 72 20 6f 72 20 66 75 72 74 68 65 72 20 69 6e 73 74 72 75 6d 65 6e 74 20 74 68 ebugger.or.further.instrument.th
799c0 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 e.application.......in.order.to.
799e0 66 69 6e 64 20 6f 75 74 2e 20 54 68 65 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 65 find.out..The.error.return.trace
79a00 2c 20 6f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 2c 0a 20 20 20 20 20 20 73 68 6f 77 73 ,.on.the.other.hand,.......shows
79a20 20 65 78 61 63 74 6c 79 20 68 6f 77 20 74 68 65 20 65 72 72 6f 72 20 62 75 62 62 6c 65 64 20 75 .exactly.how.the.error.bubbled.u
79a40 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 p........</p>.......<p>.......Th
79a60 69 73 20 64 65 62 75 67 67 69 6e 67 20 66 65 61 74 75 72 65 20 6d 61 6b 65 73 20 69 74 20 65 61 is.debugging.feature.makes.it.ea
79a80 73 69 65 72 20 74 6f 20 69 74 65 72 61 74 65 20 71 75 69 63 6b 6c 79 20 6f 6e 20 63 6f 64 65 20 sier.to.iterate.quickly.on.code.
79aa0 74 68 61 74 0a 20 20 20 20 20 20 72 6f 62 75 73 74 6c 79 20 68 61 6e 64 6c 65 73 20 61 6c 6c 20 that.......robustly.handles.all.
79ac0 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 error.conditions..This.means.tha
79ae0 74 20 5a 69 67 20 64 65 76 65 6c 6f 70 65 72 73 0a 20 20 20 20 20 20 77 69 6c 6c 20 6e 61 74 75 t.Zig.developers.......will.natu
79b00 72 61 6c 6c 79 20 66 69 6e 64 20 74 68 65 6d 73 65 6c 76 65 73 20 77 72 69 74 69 6e 67 20 63 6f rally.find.themselves.writing.co
79b20 72 72 65 63 74 2c 20 72 6f 62 75 73 74 20 63 6f 64 65 20 69 6e 20 6f 72 64 65 72 0a 20 20 20 20 rrect,.robust.code.in.order.....
79b40 20 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 69 72 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 ..to.increase.their.development.
79b60 70 61 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 pace........</p>.......<p>......
79b80 20 45 72 72 6f 72 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 20 61 72 65 20 65 6e 61 62 6c 65 64 .Error.Return.Traces.are.enabled
79ba0 20 62 79 20 64 65 66 61 75 6c 74 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e .by.default.in.<a.href="#Debug">
79bc0 44 65 62 75 67 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 Debug</a>.and.<a.href="#ReleaseS
79be0 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 20 62 75 69 6c 64 73 20 61 6e 64 20 afe">ReleaseSafe</a>.builds.and.
79c00 64 69 73 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 disabled.by.default.in.<a.href="
79c20 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 20 61 6e #ReleaseFast">ReleaseFast</a>.an
79c40 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 d.<a.href="#ReleaseSmall">Releas
79c60 65 53 6d 61 6c 6c 3c 2f 61 3e 20 62 75 69 6c 64 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 eSmall</a>.builds........</p>...
79c80 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 77 20 77 61 ....<p>.......There.are.a.few.wa
79ca0 79 73 20 74 6f 20 61 63 74 69 76 61 74 65 20 74 68 69 73 20 65 72 72 6f 72 20 72 65 74 75 72 6e ys.to.activate.this.error.return
79cc0 20 74 72 61 63 69 6e 67 20 66 65 61 74 75 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .tracing.feature:.......</p>....
79ce0 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 74 75 72 6e 20 61 6e 20 65 72 ...<ul>.........<li>Return.an.er
79d00 72 6f 72 20 66 72 6f 6d 20 6d 61 69 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 ror.from.main</li>.........<li>A
79d20 6e 20 65 72 72 6f 72 20 6d 61 6b 65 73 20 69 74 73 20 77 61 79 20 74 6f 20 3c 63 6f 64 65 3e 3c n.error.makes.its.way.to.<code><
79d40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
79d60 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-kw">catch</span>.<span.class=
79d80 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 "tok-kw">unreachable</span></spa
79da0 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 79 6f 75 20 68 61 76 65 20 6e 6f 74 20 6f 76 65 72 72 n></code>.and.you.have.not.overr
79dc0 69 64 64 65 6e 20 74 68 65 20 64 65 66 61 75 6c 74 20 70 61 6e 69 63 20 68 61 6e 64 6c 65 72 3c idden.the.default.panic.handler<
79de0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 3c 61 20 68 72 65 66 3d 22 23 65 /li>.........<li>Use.<a.href="#e
79e00 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 rrorReturnTrace">errorReturnTrac
79e20 65 3c 2f 61 3e 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 72 65 74 75 e</a>.to.access.the.current.retu
79e40 72 6e 20 74 72 61 63 65 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 rn.trace..You.can.use.<code><spa
79e60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 64 65 62 75 67 2e 64 75 6d 70 53 74 61 n.class="line">std.debug.dumpSta
79e80 63 6b 54 72 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 70 72 69 6e 74 20 69 ckTrace</span></code>.to.print.i
79ea0 74 2e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 63 6f 6d 70 74 69 6d t..This.function.returns.comptim
79ec0 65 2d 6b 6e 6f 77 6e 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e e-known.<a.href="#null">null</a>
79ee0 20 77 68 65 6e 20 62 75 69 6c 64 69 6e 67 20 77 69 74 68 6f 75 74 20 65 72 72 6f 72 20 72 65 74 .when.building.without.error.ret
79f00 75 72 6e 20 74 72 61 63 69 6e 67 20 73 75 70 70 6f 72 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 urn.tracing.support.</li>.......
79f20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 49 6d 70 6c 65 6d 65 6e 74 61 74 69 </ul>.......<h4.id="Implementati
79f40 6f 6e 2d 44 65 74 61 69 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6d 70 6c 65 6d on-Details"><a.href="#toc-Implem
79f60 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 3e 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e entation-Details">Implementation
79f80 20 44 65 74 61 69 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 .Details</a>.<a.class="hdr".href
79fa0 3d 22 23 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 3e c2 a7 3c 2f 61 ="#Implementation-Details">..</a
79fc0 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 61 6e 61 6c 79 ></h4>........<p>.......To.analy
79fe0 7a 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 63 6f 73 74 2c 20 74 68 65 72 65 20 61 72 65 20 74 ze.performance.cost,.there.are.t
7a000 77 6f 20 63 61 73 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a wo.cases:.......</p>.......<ul>.
7a020 20 20 20 20 20 20 20 20 3c 6c 69 3e 77 68 65 6e 20 6e 6f 20 65 72 72 6f 72 73 20 61 72 65 20 72 ........<li>when.no.errors.are.r
7a040 65 74 75 72 6e 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 77 68 65 6e 20 72 65 eturned</li>.........<li>when.re
7a060 74 75 72 6e 69 6e 67 20 65 72 72 6f 72 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a turning.errors</li>.......</ul>.
7a080 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 74 68 65 20 63 61 73 65 20 77 68 65 ......<p>.......For.the.case.whe
7a0a0 6e 20 6e 6f 20 65 72 72 6f 72 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 2c 20 74 68 65 20 63 6f n.no.errors.are.returned,.the.co
7a0c0 73 74 20 69 73 20 61 20 73 69 6e 67 6c 65 20 6d 65 6d 6f 72 79 20 77 72 69 74 65 20 6f 70 65 72 st.is.a.single.memory.write.oper
7a0e0 61 74 69 6f 6e 2c 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 66 69 72 73 74 20 6e 6f 6e 2d 66 61 69 ation,.only.in.the.first.non-fai
7a100 6c 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 63 61 6c 6c 20 67 72 61 70 68 lable.function.in.the.call.graph
7a120 20 74 68 61 74 20 63 61 6c 6c 73 20 61 20 66 61 69 6c 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 2c .that.calls.a.failable.function,
7a140 20 69 2e 65 2e 20 77 68 65 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 69 6e 67 20 .i.e..when.a.function.returning.
7a160 3c 63 6f 64 65 3e 3c 73 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
7a180 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 lass="tok-type">void</span></spa
7a1a0 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 n></code>.calls.a.function.retur
7a1c0 6e 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 ning.<code><span.class="line"><s
7a1e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c pan.class="tok-kw">error</span><
7a200 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 6f 20 /span></code>........This.is.to.
7a220 69 6e 69 74 69 61 6c 69 7a 65 20 74 68 69 73 20 73 74 72 75 63 74 20 69 6e 20 74 68 65 20 73 74 initialize.this.struct.in.the.st
7a240 61 63 6b 20 6d 65 6d 6f 72 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 ack.memory:.......</p>.......<fi
7a260 67 75 72 65 3e 3c 66 69 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"
7a280 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 61 63 6b 5f 74 72 61 63 65 5f ><cite.class="file">stack_trace_
7a2a0 73 74 72 75 63 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 struct.zig</cite></figcaption><p
7a2c0 72 65 3e 3c 63 6f 64 65 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
7a2e0 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
7a300 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 74 n.class="tok-kw">const</span>.St
7a320 61 63 6b 54 72 61 63 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ackTrace.=.<span.class="tok-kw">
7a340 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 struct</span>.{</span>.<span.cla
7a360 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ss="line">....index:.<span.class
7a380 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e ="tok-type">usize</span>,</span>
7a3a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 73 74 72 75 63 74 .<span.class="line">....instruct
7a3c0 69 6f 6e 5f 61 64 64 72 65 73 73 65 73 3a 20 5b 4e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ion_addresses:.[N]<span.class="t
7a3e0 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
7a400 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 pan.class="line">};</span></code
7a420 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>......
7a440 20 48 65 72 65 2c 20 4e 20 69 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 66 75 6e 63 74 69 6f 6e .Here,.N.is.the.maximum.function
7a460 20 63 61 6c 6c 20 64 65 70 74 68 20 61 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 63 61 6c .call.depth.as.determined.by.cal
7a480 6c 20 67 72 61 70 68 20 61 6e 61 6c 79 73 69 73 2e 20 52 65 63 75 72 73 69 6f 6e 20 69 73 20 69 l.graph.analysis..Recursion.is.i
7a4a0 67 6e 6f 72 65 64 20 61 6e 64 20 63 6f 75 6e 74 73 20 66 6f 72 20 32 2e 0a 20 20 20 20 20 20 3c gnored.and.counts.for.2........<
7a4c0 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 70 6f 69 6e 74 65 72 20 74 6f /p>.......<p>.......A.pointer.to
7a4e0 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 74 61 63 6b 54 .<code><span.class="line">StackT
7a500 72 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 70 61 73 73 65 64 20 61 73 20 race</span></code>.is.passed.as.
7a520 61 20 73 65 63 72 65 74 20 70 61 72 61 6d 65 74 65 72 20 74 6f 20 65 76 65 72 79 20 66 75 6e 63 a.secret.parameter.to.every.func
7a540 74 69 6f 6e 20 74 68 61 74 20 63 61 6e 20 72 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 2c 20 62 tion.that.can.return.an.error,.b
7a560 75 74 20 69 74 27 73 20 61 6c 77 61 79 73 20 74 68 65 20 66 69 72 73 74 20 70 61 72 61 6d 65 74 ut.it's.always.the.first.paramet
7a580 65 72 2c 20 73 6f 20 69 74 20 63 61 6e 20 6c 69 6b 65 6c 79 20 73 69 74 20 69 6e 20 61 20 72 65 er,.so.it.can.likely.sit.in.a.re
7a5a0 67 69 73 74 65 72 20 61 6e 64 20 73 74 61 79 20 74 68 65 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 gister.and.stay.there........</p
7a5c0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 61 74 27 73 20 69 74 20 66 6f 72 20 >.......<p>.......That's.it.for.
7a5e0 74 68 65 20 70 61 74 68 20 77 68 65 6e 20 6e 6f 20 65 72 72 6f 72 73 20 6f 63 63 75 72 2e 20 49 the.path.when.no.errors.occur..I
7a600 74 27 73 20 70 72 61 63 74 69 63 61 6c 6c 79 20 66 72 65 65 20 69 6e 20 74 65 72 6d 73 20 6f 66 t's.practically.free.in.terms.of
7a620 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .performance........</p>.......<
7a640 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 67 65 6e 65 72 61 74 69 6e 67 20 74 68 65 20 63 6f 64 p>.......When.generating.the.cod
7a660 65 20 66 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 6e e.for.a.function.that.returns.an
7a680 20 65 72 72 6f 72 2c 20 6a 75 73 74 20 62 65 66 6f 72 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 .error,.just.before.the.<code><s
7a6a0 70 61 6e 20 63 6c 61 73 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
7a6c0 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-kw">return</span></span></code
7a6e0 3e 20 73 74 61 74 65 6d 65 6e 74 20 28 6f 6e 6c 79 20 66 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e >.statement.(only.for.the.<code>
7a700 3c 73 70 61 6e 20 63 6c 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="
7a720 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-kw">return</span></span></co
7a740 64 65 3e 20 73 74 61 74 65 6d 65 6e 74 73 20 74 68 61 74 20 72 65 74 75 72 6e 20 65 72 72 6f 72 de>.statements.that.return.error
7a760 73 29 2c 20 5a 69 67 20 67 65 6e 65 72 61 74 65 73 20 61 20 63 61 6c 6c 20 74 6f 20 74 68 69 73 s),.Zig.generates.a.call.to.this
7a780 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 .function:.......</p>.......<fig
7a7a0 75 72 65 3e 3c 66 69 67 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">
7a7c0 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 7a 69 67 5f 72 65 74 75 72 6e 5f 65 72 <cite.class="file">zig_return_er
7a7e0 72 6f 72 5f 66 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 ror_fn.zig</cite></figcaption><p
7a800 72 65 3e 3c 63 6f 64 65 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
7a820 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 61 72 6b 65 64 20 n.class="tok-comment">//.marked.
7a840 61 73 20 26 71 75 6f 74 3b 6e 6f 2d 69 6e 6c 69 6e 65 26 71 75 6f 74 3b 20 69 6e 20 4c 4c 56 4d as.&quot;no-inline&quot;.in.LLVM
7a860 20 49 52 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .IR</span></span>.<span.class="l
7a880 69 6e 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
7a8a0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 5f 5f 7a 69 67 5f 72 an>.<span.class="tok-fn">__zig_r
7a8c0 65 74 75 72 6e 5f 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 73 74 61 63 6b 5f 74 72 61 63 65 3a 20 eturn_error</span>(stack_trace:.
7a8e0 2a 53 74 61 63 6b 54 72 61 63 65 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 *StackTrace).<span.class="tok-ty
7a900 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pe">void</span>.{</span>.<span.c
7a920 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 73 74 lass="line">....stack_trace.inst
7a940 72 75 63 74 69 6f 6e 5f 61 64 64 72 65 73 73 65 73 5b 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e ruction_addresses[stack_trace.in
7a960 64 65 78 5d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 dex].=.<span.class="tok-builtin"
7a980 3e 40 72 65 74 75 72 6e 41 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e >@returnAddress</span>();</span>
7a9a0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 61 63 6b 5f 74 72 .<span.class="line">....stack_tr
7a9c0 61 63 65 2e 69 6e 64 65 78 20 3d 20 28 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 64 65 78 20 2b ace.index.=.(stack_trace.index.+
7a9e0 20 3c 73 70 61 6e 20 63 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
7aa00 6e 3e 29 20 25 20 4e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e n>).%.N;</span>.<span.class="lin
7aa20 65 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
7aa40 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 73 74 20 69 73 20 32 20 >.......<p>.......The.cost.is.2.
7aa60 6d 61 74 68 20 6f 70 65 72 61 74 69 6f 6e 73 20 70 6c 75 73 20 73 6f 6d 65 20 6d 65 6d 6f 72 79 math.operations.plus.some.memory
7aa80 20 72 65 61 64 73 20 61 6e 64 20 77 72 69 74 65 73 2e 20 54 68 65 20 6d 65 6d 6f 72 79 20 61 63 .reads.and.writes..The.memory.ac
7aaa0 63 65 73 73 65 64 20 69 73 20 63 6f 6e 73 74 72 61 69 6e 65 64 20 61 6e 64 20 73 68 6f 75 6c 64 cessed.is.constrained.and.should
7aac0 20 72 65 6d 61 69 6e 20 63 61 63 68 65 64 20 66 6f 72 20 74 68 65 20 64 75 72 61 74 69 6f 6e 20 .remain.cached.for.the.duration.
7aae0 6f 66 20 74 68 65 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 62 75 62 62 6c 69 6e 67 2e 0a 20 20 of.the.error.return.bubbling....
7ab00 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 73 20 66 6f 72 20 ....</p>.......<p>.......As.for.
7ab20 63 6f 64 65 20 73 69 7a 65 20 63 6f 73 74 2c 20 31 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 code.size.cost,.1.function.call.
7ab40 62 65 66 6f 72 65 20 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 6e 6f 20 before.a.return.statement.is.no.
7ab60 62 69 67 20 64 65 61 6c 2e 20 45 76 65 6e 20 73 6f 2c 0a 20 20 20 20 20 20 49 20 68 61 76 65 20 big.deal..Even.so,.......I.have.
7ab80 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
7aba0 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 36 39 30 22 3e 61 20 70 6c 61 6e 3c 2f 61 3e 20 74 ang/zig/issues/690">a.plan</a>.t
7abc0 6f 20 6d 61 6b 65 20 74 68 65 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c o.make.the.call.to.......<code><
7abe0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5f 5f 7a 69 67 5f 72 65 74 75 72 6e 5f 65 span.class="line">__zig_return_e
7ac00 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 20 74 61 69 6c 20 63 61 6c 6c 2c 20 rror</span></code>.a.tail.call,.
7ac20 77 68 69 63 68 20 62 72 69 6e 67 73 20 74 68 65 20 63 6f 64 65 20 73 69 7a 65 20 63 6f 73 74 20 which.brings.the.code.size.cost.
7ac40 64 6f 77 6e 20 74 6f 20 61 63 74 75 61 6c 6c 79 20 7a 65 72 6f 2e 20 57 68 61 74 20 69 73 20 61 down.to.actually.zero..What.is.a
7ac60 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 20 69 6e 20 63 6f 64 65 20 77 69 74 68 6f 75 .return.statement.in.code.withou
7ac80 74 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 20 63 61 6e 20 62 65 63 6f 6d t.error.return.tracing.can.becom
7aca0 65 20 61 20 6a 75 6d 70 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 69 6e 20 63 6f 64 65 20 77 69 74 e.a.jump.instruction.in.code.wit
7acc0 68 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f h.error.return.tracing........</
7ace0 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 p>............................<h
7ad00 32 20 69 64 3d 22 4f 70 74 69 6f 6e 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 2.id="Optionals"><a.href="#toc-O
7ad20 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 ptionals">Optionals</a>.<a.class
7ad40 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c ="hdr".href="#Optionals">..</a><
7ad60 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 65 20 61 72 65 61 20 74 /h2>........<p>.......One.area.t
7ad80 68 61 74 20 5a 69 67 20 70 72 6f 76 69 64 65 73 20 73 61 66 65 74 79 20 77 69 74 68 6f 75 74 20 hat.Zig.provides.safety.without.
7ada0 63 6f 6d 70 72 6f 6d 69 73 69 6e 67 20 65 66 66 69 63 69 65 6e 63 79 20 6f 72 0a 20 20 20 20 20 compromising.efficiency.or......
7adc0 20 72 65 61 64 61 62 69 6c 69 74 79 20 69 73 20 77 69 74 68 20 74 68 65 20 6f 70 74 69 6f 6e 61 .readability.is.with.the.optiona
7ade0 6c 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 l.type........</p>.......<p>....
7ae00 20 20 20 54 68 65 20 71 75 65 73 74 69 6f 6e 20 6d 61 72 6b 20 73 79 6d 62 6f 6c 69 7a 65 73 20 ...The.question.mark.symbolizes.
7ae20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e 20 59 6f 75 20 63 61 6e 20 63 6f 6e 76 65 the.optional.type..You.can.conve
7ae40 72 74 20 61 20 74 79 70 65 20 74 6f 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 74 rt.a.type.to.an.optional.......t
7ae60 79 70 65 20 62 79 20 70 75 74 74 69 6e 67 20 61 20 71 75 65 73 74 69 6f 6e 20 6d 61 72 6b 20 69 ype.by.putting.a.question.mark.i
7ae80 6e 20 66 72 6f 6e 74 20 6f 66 20 69 74 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 n.front.of.it,.like.this:.......
7aea0 3c 2f 70 3e 0a 20 20 20 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
7aec0 6c 61 73 73 3d 22 7a 69 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
7aee0 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
7af00 72 65 3e 3c 63 6f 64 65 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
7af20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6e 6f 72 6d 61 6c 20 n.class="tok-comment">//.normal.
7af40 69 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 integer</span></span>.<span.clas
7af60 73 3d 22 6c 69 6e 65 22 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
7af80 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 6f 72 6d 61 6c 5f 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 nst</span>.normal_int:.<span.cla
7afa0 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
7afc0 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>;
7afe0 3c 2f 73 70 61 6e 3e 0a 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
7b000 6e 3e 0a 3c 73 70 61 6e 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
7b020 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 70 74 69 6f 6e 61 6c 20 69 6e 74 65 s="tok-comment">//.optional.inte
7b040 67 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ger</span></span>.<span.class="l
7b060 69 6e 65 22 3e 3c 73 70 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<
7b080 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 69 6e 74 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 /span>.optional_int:.?<span.clas
7b0a0 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.
7b0c0 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>;<
7b0e0 2f 73 70 61 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>....
7b100 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 77 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 3c 63 ...<p>.......Now.the.variable.<c
7b120 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6f 6e 61 6c 5f ode><span.class="line">optional_
7b140 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 75 6c 64 20 62 65 20 61 6e 20 3c 63 int</span></code>.could.be.an.<c
7b160 6f 64 65 3e 3c 73 70 61 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
7b180 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ss="tok-type">i32</span></span><
7b1a0 2f 63 6f 64 65 3e 2c 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /code>,.or.<code><span.class="li
7b1c0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c ne"><span.class="tok-null">null<
7b1e0 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>
7b200 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 73 74 65 61 64 20 6f 66 20 69 6e 74 65 .......<p>.......Instead.of.inte
7b220 67 65 72 73 2c 20 6c 65 74 27 73 20 74 61 6c 6b 20 61 62 6f 75 74 20 70 6f 69 6e 74 65 72 73 2e gers,.let's.talk.about.pointers.
7b240 20 4e 75 6c 6c 20 72 65 66 65 72 65 6e 63 65 73 20 61 72 65 20 74 68 65 20 73 6f 75 72 63 65 20 .Null.references.are.the.source.
7b260 6f 66 20 6d 61 6e 79 20 72 75 6e 74 69 6d 65 0a 20 20 20 20 20 20 65 78 63 65 70 74 69 6f 6e 73 of.many.runtime.......exceptions
7b280 2c 20 61 6e 64 20 65 76 65 6e 20 73 74 61 6e 64 20 61 63 63 75 73 65 64 20 6f 66 20 62 65 69 6e ,.and.even.stand.accused.of.bein
7b2a0 67 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 6c 75 63 g.......<a.href="https://www.luc
7b2c0 69 64 63 68 61 72 74 2e 63 6f 6d 2f 74 65 63 68 62 6c 6f 67 2f 32 30 31 35 2f 30 38 2f 33 31 2f idchart.com/techblog/2015/08/31/
7b2e0 74 68 65 2d 77 6f 72 73 74 2d 6d 69 73 74 61 6b 65 2d 6f 66 2d 63 6f 6d 70 75 74 65 72 2d 73 63 the-worst-mistake-of-computer-sc
7b300 69 65 6e 63 65 2f 22 3e 74 68 65 20 77 6f 72 73 74 20 6d 69 73 74 61 6b 65 20 6f 66 20 63 6f 6d ience/">the.worst.mistake.of.com
7b320 70 75 74 65 72 20 73 63 69 65 6e 63 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 puter.science</a>........</p>...
7b340 20 20 20 20 3c 70 3e 5a 69 67 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 74 68 65 6d 2e 3c 2f ....<p>Zig.does.not.have.them.</
7b360 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 73 74 65 61 64 2c 20 79 6f 75 20 p>.......<p>.......Instead,.you.
7b380 63 61 6e 20 75 73 65 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 2e 20 54 68 69 can.use.an.optional.pointer..Thi
7b3a0 73 20 73 65 63 72 65 74 6c 79 20 63 6f 6d 70 69 6c 65 73 20 64 6f 77 6e 20 74 6f 20 61 20 6e 6f s.secretly.compiles.down.to.a.no
7b3c0 72 6d 61 6c 20 70 6f 69 6e 74 65 72 2c 0a 20 20 20 20 20 20 73 69 6e 63 65 20 77 65 20 6b 6e 6f rmal.pointer,.......since.we.kno
7b3e0 77 20 77 65 20 63 61 6e 20 75 73 65 20 30 20 61 73 20 74 68 65 20 6e 75 6c 6c 20 76 61 6c 75 65 w.we.can.use.0.as.the.null.value
7b400 20 66 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e 20 42 75 74 20 74 68 65 20 .for.the.optional.type..But.the.
7b420 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 63 61 6e 20 63 68 65 63 6b 20 79 6f 75 72 20 77 6f compiler.......can.check.your.wo
7b440 72 6b 20 61 6e 64 20 6d 61 6b 65 20 73 75 72 65 20 79 6f 75 20 64 6f 6e 27 74 20 61 73 73 69 67 rk.and.make.sure.you.don't.assig
7b460 6e 20 6e 75 6c 6c 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 63 61 6e 27 74 20 62 n.null.to.something.that.can't.b
7b480 65 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 e.null........</p>.......<p>....
7b4a0 20 20 20 54 79 70 69 63 61 6c 6c 79 20 74 68 65 20 64 6f 77 6e 73 69 64 65 20 6f 66 20 6e 6f 74 ...Typically.the.downside.of.not
7b4c0 20 68 61 76 69 6e 67 20 6e 75 6c 6c 20 69 73 20 74 68 61 74 20 69 74 20 6d 61 6b 65 73 20 74 68 .having.null.is.that.it.makes.th
7b4e0 65 20 63 6f 64 65 20 6d 6f 72 65 20 76 65 72 62 6f 73 65 20 74 6f 0a 20 20 20 20 20 20 77 72 69 e.code.more.verbose.to.......wri
7b500 74 65 2e 20 42 75 74 2c 20 6c 65 74 27 73 20 63 6f 6d 70 61 72 65 20 73 6f 6d 65 20 65 71 75 69 te..But,.let's.compare.some.equi
7b520 76 61 6c 65 6e 74 20 43 20 63 6f 64 65 20 61 6e 64 20 5a 69 67 20 63 6f 64 65 2e 0a 20 20 20 20 valent.C.code.and.Zig.code......
7b540 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 61 73 6b 3a 20 63 61 6c ..</p>.......<p>.......Task:.cal
7b560 6c 20 6d 61 6c 6c 6f 63 2c 20 69 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 75 6c 6c 2c l.malloc,.if.the.result.is.null,
7b580 20 72 65 74 75 72 6e 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .return.null........</p>.......<
7b5a0 70 3e 43 20 63 6f 64 65 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 p>C.code</p>.......<figure><figc
7b5c0 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 aption.class="c-cap"><cite.class
7b5e0 3d 22 66 69 6c 65 22 3e 63 61 6c 6c 5f 6d 61 6c 6c 6f 63 5f 69 6e 5f 63 2e 63 3c 2f 63 69 74 65 ="file">call_malloc_in_c.c</cite
7b600 3e 3c 2f 66 69 67 63 61 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
7b620 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2f 2f 20 6d 61 6c 6c 6f 63 20 70 72 6f 74 6f 74 79 70 65 20 lass="line">//.malloc.prototype.
7b640 69 6e 63 6c 75 64 65 64 20 66 6f 72 20 72 65 66 65 72 65 6e 63 65 3c 2f 73 70 61 6e 3e 0a 3c 73 included.for.reference</span>.<s
7b660 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 6f 69 64 20 2a 6d 61 6c 6c 6f 63 28 73 69 pan.class="line">void.*malloc(si
7b680 7a 65 5f 74 20 73 69 7a 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ze_t.size);</span>.<span.class="
7b6a0 6c 69 6e 65 22 3e 3c 2f 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"
7b6c0 3e 73 74 72 75 63 74 20 46 6f 6f 20 2a 64 6f 5f 61 5f 74 68 69 6e 67 28 76 6f 69 64 29 20 7b 3c >struct.Foo.*do_a_thing(void).{<
7b6e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 68 /span>.<span.class="line">....ch
7b700 61 72 20 2a 70 74 72 20 3d 20 6d 61 6c 6c 6f 63 28 31 32 33 34 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ar.*ptr.=.malloc(1234);</span>.<
7b720 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 66 20 28 21 70 74 72 29 20 span.class="line">....if.(!ptr).
7b740 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d return.NULL;</span>.<span.class=
7b760 22 6c 69 6e 65 22 3e 20 20 20 20 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 "line">....//....</span>.<span.c
7b780 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
7b7a0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 63 6f 64 65 3c 2f 70 3e ></figure>.......<p>Zig.code</p>
7b7c0 0a 20 20 20 20 20 20 3c 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
7b7e0 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 61 ="zig-cap"><cite.class="file">ca
7b800 6c 6c 5f 6d 61 6c 6c 6f 63 5f 66 72 6f 6d 5f 7a 69 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 ll_malloc_from_zig.zig</cite></f
7b820 69 67 63 61 70 74 69 6f 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
7b840 3d 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
7b860 22 3e 2f 2f 20 6d 61 6c 6c 6f 63 20 70 72 6f 74 6f 74 79 70 65 20 69 6e 63 6c 75 64 65 64 20 66 ">//.malloc.prototype.included.f
7b880 6f 72 20 72 65 66 65 72 65 6e 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e or.reference</span></span>.<span
7b8a0 20 63 6c 61 73 73 3d 22 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
7b8c0 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
7b8e0 6b 2d 6b 77 22 3e 66 6e 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
7b900 2d 66 6e 22 3e 6d 61 6c 6c 6f 63 3c 2f 73 70 61 6e 3e 28 73 69 7a 65 3a 20 73 69 7a 65 5f 74 29 -fn">malloc</span>(size:.size_t)
7b920 20 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 .?*<span.class="tok-type">u8</sp
7b940 61 6e 3e 3b 3c 2f 73 70 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"><
7b960 2f 73 70 61 6e 3e 0a 3c 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.
7b980 63 6c 61 73 73 3d 22 74 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
7b9a0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 29 20 lass="tok-fn">doAThing</span>().
7b9c0 3f 2a 46 6f 6f 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ?*Foo.{</span>.<span.class="line
7b9e0 22 3e 20 20 20 20 3c 73 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
7ba00 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 6d 61 6c 6c 6f 63 28 3c 73 70 61 6e 20 63 6c 61 73 73 </span>.ptr.=.malloc(<span.class
7ba20 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e ="tok-number">1234</span>).<span
7ba40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 .class="tok-kw">orelse</span>.<s
7ba60 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>
7ba80 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
7baa0 61 6e 3e 3b 3c 2f 73 70 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">.
7bac0 20 20 20 5f 20 3d 20 70 74 72 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d ..._.=.ptr;.<span.class="tok-com
7bae0 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ment">//....</span></span>.<span
7bb00 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
7bb20 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 48 re></figure>.......<p>.........H
7bb40 65 72 65 2c 20 5a 69 67 20 69 73 20 61 74 20 6c 65 61 73 74 20 61 73 20 63 6f 6e 76 65 6e 69 65 ere,.Zig.is.at.least.as.convenie
7bb60 6e 74 2c 20 69 66 20 6e 6f 74 20 6d 6f 72 65 2c 20 74 68 61 6e 20 43 2e 20 41 6e 64 2c 20 74 68 nt,.if.not.more,.than.C..And,.th
7bb80 65 20 74 79 70 65 20 6f 66 20 22 70 74 72 22 0a 20 20 20 20 20 20 20 20 69 73 20 3c 63 6f 64 65 e.type.of."ptr".........is.<code
7bba0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 73 70 61 6e 20 63 6c 61 73 73 ><span.class="line">*<span.class
7bbc0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ="tok-type">u8</span></span></co
7bbe0 64 65 3e 20 3c 65 6d 3e 6e 6f 74 3c 2f 65 6d 3e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 de>.<em>not</em>.<code><span.cla
7bc00 73 73 3d 22 6c 69 6e 65 22 3e 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ss="line">?*<span.class="tok-typ
7bc20 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 65 20 e">u8</span></span></code>..The.
7bc40 3c 63 6f 64 65 3e 3c 73 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
7bc60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 lass="tok-kw">orelse</span></spa
7bc80 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n></code>.keyword...............
7bca0 20 20 20 20 20 20 75 6e 77 72 61 70 70 65 64 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 ......unwrapped.the.optional.typ
7bcc0 65 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 e.and.therefore.<code><span.clas
7bce0 73 3d 22 6c 69 6e 65 22 3e 70 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 67 75 s="line">ptr</span></code>.is.gu
7bd00 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 6e 6f 6e 2d 6e 75 6c 6c 20 65 76 65 72 79 77 68 65 aranteed.to.be.non-null.everywhe
7bd20 72 65 0a 20 20 20 20 20 20 20 20 69 74 20 69 73 20 75 73 65 64 20 69 6e 20 74 68 65 20 66 75 6e re.........it.is.used.in.the.fun
7bd40 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 ction........</p>.......<p>.....
7bd60 20 20 20 20 54 68 65 20 6f 74 68 65 72 20 66 6f 72 6d 20 6f 66 20 63 68 65 63 6b 69 6e 67 20 61 ....The.other.form.of.checking.a
7bd80 67 61 69 6e 73 74 20 4e 55 4c 4c 20 79 6f 75 20 6d 69 67 68 74 20 73 65 65 20 6c 6f 6f 6b 73 20 gainst.NULL.you.might.see.looks.
7bda0 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 like.this:.......</p>.......<fig
7bdc0 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
7bde0 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 68 65 63 6b 69 6e 67 5f 6e 75 6c 6c 5f 69 ite.class="file">checking_null_i
7be00 6e 5f 63 2e 63 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 n_c.c</cite></figcaption><pre><c
7be20 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 6f 69 64 20 64 6f 5f 61 ode><span.class="line">void.do_a
7be40 5f 74 68 69 6e 67 28 73 74 72 75 63 74 20 46 6f 6f 20 2a 66 6f 6f 29 20 7b 3c 2f 73 70 61 6e 3e _thing(struct.Foo.*foo).{</span>
7be60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2f 2f 20 64 6f 20 73 6f .<span.class="line">....//.do.so
7be80 6d 65 20 73 74 75 66 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e me.stuff</span>.<span.class="lin
7bea0 65 22 3e 3c 2f 73 70 61 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">..
7bec0 20 20 69 66 20 28 66 6f 6f 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ..if.(foo).{</span>.<span.class=
7bee0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 5f 77 69 74 68 "line">........do_something_with
7bf00 5f 66 6f 6f 28 66 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c _foo(foo);</span>.<span.class="l
7bf20 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
7bf40 69 6e 65 22 3e 3c 2f 73 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">
7bf60 20 20 20 20 2f 2f 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ....//.do.some.stuff</span>.<spa
7bf80 6e 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></
7bfa0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 pre></figure>.......<p>.........
7bfc0 49 6e 20 5a 69 67 20 79 6f 75 20 63 61 6e 20 61 63 63 6f 6d 70 6c 69 73 68 20 74 68 65 20 73 61 In.Zig.you.can.accomplish.the.sa
7bfe0 6d 65 20 74 68 69 6e 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 me.thing:.......</p>.......<figu
7c000 72 65 3e 3c 66 69 67 63 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"><
7c020 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 68 65 63 6b 69 6e 67 5f 6e 75 6c 6c 5f cite.class="file">checking_null_
7c040 69 6e 5f 7a 69 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 in_zig.zig</cite></figcaption><p
7c060 72 65 3e 3c 63 6f 64 65 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
7c080 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f n.class="tok-kw">const</span>.Fo
7c0a0 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c o.=.<span.class="tok-kw">struct<
7c0c0 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
7c0e0 6e 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
7c100 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 53 6f 6d 65 74 68 n>.<span.class="tok-fn">doSometh
7c120 69 6e 67 57 69 74 68 46 6f 6f 3c 2f 73 70 61 6e 3e 28 66 6f 6f 3a 20 2a 46 6f 6f 29 20 3c 73 70 ingWithFoo</span>(foo:.*Foo).<sp
7c140 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>.
7c160 7b 20 5f 20 3d 20 66 6f 6f 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d {._.=.foo;.}</span>.<span.class=
7c180 22 6c 69 6e 65 22 3e 3c 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
7c1a0 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>
7c1c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f .<span.class="tok-fn">doAThing</
7c1e0 73 70 61 6e 3e 28 6f 70 74 69 6f 6e 61 6c 5f 66 6f 6f 3a 20 3f 2a 46 6f 6f 29 20 3c 73 70 61 6e span>(optional_foo:.?*Foo).<span
7c200 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>.{<
7c220 2f 73 70 61 6e 3e 0a 3c 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
7c240 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 20 73 6f pan.class="tok-comment">//.do.so
7c260 6d 65 20 73 74 75 66 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 me.stuff</span></span>.<span.cla
7c280 73 73 3d 22 6c 69 6e 65 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
7c2a0 69 6e 65 22 3e 20 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
7c2c0 3c 2f 73 70 61 6e 3e 20 28 6f 70 74 69 6f 6e 61 6c 5f 66 6f 6f 29 20 7c 66 6f 6f 7c 20 7b 3c 2f </span>.(optional_foo).|foo|.{</
7c2e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 64 span>.<span.class="line">......d
7c300 6f 53 6f 6d 65 74 68 69 6e 67 57 69 74 68 46 6f 6f 28 66 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c oSomethingWithFoo(foo);</span>.<
7c320 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>.<
7c340 73 70 61 6e 20 63 6c 61 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.
7c360 63 6c 61 73 73 3d 22 6c 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
7c380 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 3c 2f 73 70 61 k-comment">//.do.some.stuff</spa
7c3a0 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c 2f n></span>.<span.class="line">}</
7c3c0 73 70 61 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>.....
7c3e0 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 63 65 20 61 67 61 69 6e 2c 20 74 68 65 20 6e 6f 74 61 ..<p>.......Once.again,.the.nota
7c400 62 6c 65 20 74 68 69 6e 67 20 68 65 72 65 20 69 73 20 74 68 61 74 20 69 6e 73 69 64 65 20 74 68 ble.thing.here.is.that.inside.th
7c420 65 20 69 66 20 62 6c 6f 63 6b 2c 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c e.if.block,.......<code><span.cl
7c440 61 73 73 3d 22 6c 69 6e 65 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 ass="line">foo</span></code>.is.
7c460 6e 6f 20 6c 6f 6e 67 65 72 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 2c 20 69 no.longer.an.optional.pointer,.i
7c480 74 20 69 73 20 61 20 70 6f 69 6e 74 65 72 2c 20 77 68 69 63 68 0a 20 20 20 20 20 20 63 61 6e 6e t.is.a.pointer,.which.......cann
7c4a0 6f 74 20 62 65 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e ot.be.null........</p>.......<p>
7c4c0 0a 20 20 20 20 20 20 4f 6e 65 20 62 65 6e 65 66 69 74 20 74 6f 20 74 68 69 73 20 69 73 20 74 68 .......One.benefit.to.this.is.th
7c4e0 61 74 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 74 61 6b 65 20 70 6f 69 6e 74 65 72 73 at.functions.which.take.pointers
7c500 20 61 73 20 61 72 67 75 6d 65 6e 74 73 20 63 61 6e 0a 20 20 20 20 20 20 62 65 20 61 6e 6e 6f 74 .as.arguments.can.......be.annot
7c520 61 74 65 64 20 77 69 74 68 20 74 68 65 20 22 6e 6f 6e 6e 75 6c 6c 22 20 61 74 74 72 69 62 75 74 ated.with.the."nonnull".attribut
7c540 65 20 2d 20 3c 63 6f 64 65 3e 5f 5f 61 74 74 72 69 62 75 74 65 5f 5f 28 28 6e 6f 6e 6e 75 6c 6c e.-.<code>__attribute__((nonnull
7c560 29 29 3c 2f 63 6f 64 65 3e 20 69 6e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 ))</code>.in.......<a.href="http
7c580 73 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2d 34 s://gcc.gnu.org/onlinedocs/gcc-4
7c5a0 2e 30 2e 30 2f 67 63 63 2f 46 75 6e 63 74 69 6f 6e 2d 41 74 74 72 69 62 75 74 65 73 2e 68 74 6d .0.0/gcc/Function-Attributes.htm
7c5c0 6c 22 3e 47 43 43 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 l">GCC</a>........The.optimizer.
7c5e0 63 61 6e 20 73 6f 6d 65 74 69 6d 65 73 20 6d 61 6b 65 20 62 65 74 74 65 72 20 64 65 63 69 73 69 can.sometimes.make.better.decisi
7c600 6f 6e 73 20 6b 6e 6f 77 69 6e 67 20 74 68 61 74 20 70 6f 69 6e 74 65 72 20 61 72 67 75 6d 65 6e ons.knowing.that.pointer.argumen
7c620 74 73 0a 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 62 65 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 3c ts.......cannot.be.null........<
7c640 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 /p>.......<h3.id="Optional-Type"
7c660 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 4f 70 ><a.href="#toc-Optional-Type">Op
7c680 74 69 6f 6e 61 6c 20 54 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 tional.Type</a>.<a.class="hdr".h
7c6a0 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e ref="#Optional-Type">..</a></h3>
7c6c0 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 6f 70 74 69 6f 6e 61 6c 20 69 73 20 63 72 65 61 74 65 ........<p>An.optional.is.create
7c6e0 64 20 62 79 20 70 75 74 74 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 d.by.putting.<code><span.class="
7c700 6c 69 6e 65 22 3e 3f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 66 72 6f 6e 74 20 6f line">?</span></code>.in.front.o
7c720 66 20 61 20 74 79 70 65 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 f.a.type..You.can.use.compile-ti
7c740 6d 65 0a 20 20 20 20 20 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 74 68 me.......reflection.to.access.th
7c760 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 3a 3c 2f 70 3e e.child.type.of.an.optional:</p>
7c780 0a 20 20 20 20 20 20 3c 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
7c7a0 3d 22 7a 69 67 2d 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
7c7c0 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 74 79 70 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 st_optional_type.zig</cite></fig
7c7e0 63 61 70 74 69 6f 6e 3e 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="
7c800 6c 69 6e 65 22 3e 3c 73 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
7c820 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>.expect.=.<span.class="to
7c840 6b 2d 62 75 69 6c 74 69 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.
7c860 63 6c 61 73 73 3d 22 74 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;<
7c880 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c /span>).testing.expect;</span>.<
7c8a0 73 70 61 6e 20 63 6c 61 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.
7c8c0 63 6c 61 73 73 3d 22 6c 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
7c8e0 22 3e 74 65 73 74 3c 2f 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
7c900 74 72 22 3e 26 71 75 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 tr">&quot;optional.type&quot;</s
7c920 70 61 6e 3e 20 7b 3c 2f 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"
7c940 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">/
7c960 2f 20 44 65 63 6c 61 72 65 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 61 6e 64 20 63 6f 65 72 63 65 /.Declare.an.optional.and.coerce
7c980 20 66 72 6f 6d 20 6e 75 6c 6c 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .from.null:</span></span>.<span.
7c9a0 63 6c 61 73 73 3d 22 6c 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
7c9c0 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 k-kw">var</span>.foo:.?<span.cla
7c9e0 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
7ca00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f .class="tok-null">null</span>;</
7ca20 73 70 61 6e 3e 0a 3c 73 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>
7ca40 0a 3c 73 70 61 6e 20 63 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
7ca60 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 65 72 63 65 20 66 72 6f 6d ass="tok-comment">//.Coerce.from
7ca80 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e .child.type.of.an.optional</span
7caa0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
7cac0 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 foo.=.<span.class="tok-number">1
7cae0 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 234</span>;</span>.<span.class="
7cb00 6c 69 6e 65 22 3e 3c 2f 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"
7cb20 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">/
7cb40 2f 20 55 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f /.Use.compile-time.reflection.to
7cb60 20 61 63 63 65 73 73 20 74 68 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 74 68 65 20 6f 70 .access.the.child.type.of.the.op
7cb80 74 69 6f 6e 61 6c 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 tional:</span></span>.<span.clas
7cba0 73 3d 22 6c 69 6e 65 22 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
7cbc0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">comptime</span>.<span.class="t
7cbe0 6f 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
7cc00 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
7cc20 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 an>(<span.class="tok-builtin">@T
7cc40 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 29 2e 4f 70 74 69 6f 6e 61 6c 2e 63 68 69 6c ypeOf</span>(foo)).Optional.chil
7cc60 64 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c d.==.<span.class="tok-type">i32<
7cc80 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
7cca0 65 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
7ccc0 3e 3c 66 69 67 75 72 65 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
7cce0 6c 2d 63 61 70 22 3e 53 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
7cd00 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
7cd20 67 20 74 65 73 74 20 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f 74 79 70 65 2e 7a 69 67 3c 2f 6b g.test.test_optional_type.zig</k
7cd40 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/
7cd60 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 26 71 75 6f 74 3b 1.test.&quot;optional.type&quot;
7cd80 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"
7cda0 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
7cdc0 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>..............
7cde0 3c 68 33 20 69 64 3d 22 6e 75 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6e 75 6c 6c <h3.id="null"><a.href="#toc-null
7ce00 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 ">null</a>.<a.class="hdr".href="
7ce20 23 6e 75 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 #null">..</a></h3>........<p>...
7ce40 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 ....Just.like.<a.href="#undefine
7ce60 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c d">undefined</a>,.<code><span.cl
7ce80 61 73 73 3d 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
7cea0 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 ">null</span></span></code>.has.
7cec0 69 74 73 20 6f 77 6e 20 74 79 70 65 2c 20 61 6e 64 20 74 68 65 20 6f 6e 6c 79 20 77 61 79 20 74 its.own.type,.and.the.only.way.t
7cee0 6f 20 75 73 65 20 69 74 20 69 73 20 74 6f 0a 20 20 20 20 20 20 63 61 73 74 20 69 74 20 74 6f 20 o.use.it.is.to.......cast.it.to.
7cf00 61 20 64 69 66 66 65 72 65 6e 74 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 a.different.type:.......</p>....
7cf20 20 20 20 3c 66 69 67 75 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
7cf40 67 2d 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
7cf60 69 67 3c 2f 63 69 74 65 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
7cf80 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
7cfa0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 76 "tok-kw">const</span>.optional_v
7cfc0 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 alue:.?<span.class="tok-type">i3
7cfe0 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 2</span>.=.<span.class="tok-null
7d000 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ">null</span>;</span></code></pr
7d020 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d e></figure>..............<h3.id=
7d040 22 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f "Optional-Pointers"><a.href="#to
7d060 63 2d 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f c-Optional-Pointers">Optional.Po
7d080 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 inters</a>.<a.class="hdr".href="
7d0a0 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a #Optional-Pointers">..</a></h3>.
7d0c0 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 20 69 73 .......<p>An.optional.pointer.is
7d0e0 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 74 68 65 20 73 61 6d 65 20 73 69 7a 65 20 .guaranteed.to.be.the.same.size.
7d100 61 73 20 61 20 70 6f 69 6e 74 65 72 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c as.a.pointer..The.<code><span.cl
7d120 61 73 73 3d 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
7d140 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 66 0a 20 ">null</span></span></code>.of..
7d160 20 20 20 20 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 .....the.optional.is.guaranteed.
7d180 74 6f 20 62 65 20 61 64 64 72 65 73 73 20 30 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 to.be.address.0.</p>.......<figu
7d1a0 72 65 3e 3c 66 69 67 63 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"><
7d1c0 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f cite.class="file">test_optional_
7d1e0 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c pointer.zig</cite></figcaption><
7d200 70 72 65 3e 3c 63 6f 64 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
7d220 61 6e 20 63 6c 61 73 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
7d240 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e xpect.=.<span.class="tok-builtin
7d260 22 3e 40 69 6d 70 6f 72 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
7d280 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 k-str">&quot;std&quot;</span>).t
7d2a0 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
7d2c0 73 3d 22 6c 69 6e 65 22 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
7d2e0 6e 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
7d300 70 61 6e 3e 20 3c 73 70 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
7d320 3b 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 ;optional.pointers&quot;</span>.
7d340 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
7d360 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 50 6f 69 <span.class="tok-comment">//.Poi
7d380 6e 74 65 72 73 20 63 61 6e 6e 6f 74 20 62 65 20 6e 75 6c 6c 2e 20 49 66 20 79 6f 75 20 77 61 6e nters.cannot.be.null..If.you.wan
7d3a0 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 75 73 65 20 74 68 65 20 6f 70 74 69 6f 6e t.a.null.pointer,.use.the.option
7d3c0 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 al</span></span>.<span.class="li
7d3e0 6e 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
7d400 22 3e 2f 2f 20 70 72 65 66 69 78 20 60 3f 60 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 70 6f 69 6e ">//.prefix.`?`.to.make.the.poin
7d420 74 65 72 20 74 79 70 65 20 6f 70 74 69 6f 6e 61 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ter.type.optional.</span></span>
7d440 0a 3c 73 70 61 6e 20 63 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
7d460 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 3f 2a 3c ass="tok-kw">var</span>.ptr:.?*<
7d480 73 70 61 6e 20 63 6c 61 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>
7d4a0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f .=.<span.class="tok-null">null</
7d4c0 73 70 61 6e 3e 3b 3c 2f 73 70 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"
7d4e0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
7d500 3c 73 70 61 6e 20 63 6c 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>.
7d520 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
7d540 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">
7d560 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
7d580 6e 65 22 3e 20 20 20 20 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ne">....ptr.=.&amp;x;</span>.<sp
7d5a0 61 6e 20 63 6c 61 73 73 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
7d5c0 61 73 73 3d 22 6c 69 6e 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-
7d5e0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 74 72 2e 3f 2e 2a 20 3d 3d kw">try</span>.expect(ptr.?.*.==
7d600 20 3c 73 70 61 6e 20 63 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
7d620 6e 3e 29 3b 3c 2f 73 70 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"><
7d640 2f 73 70 61 6e 3e 0a 3c 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
7d660 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 70 74 69 6f pan.class="tok-comment">//.Optio
7d680 6e 61 6c 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 73 69 7a 65 20 61 nal.pointers.are.the.same.size.a
7d6a0 73 20 6e 6f 72 6d 61 6c 20 70 6f 69 6e 74 65 72 73 2c 20 62 65 63 61 75 73 65 20 70 6f 69 6e 74 s.normal.pointers,.because.point
7d6c0 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 er</span></span>.<span.class="li
7d6e0 6e 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
7d700 22 3e 2f 2f 20 76 61 6c 75 65 20 30 20 69 73 20 75 73 65 64 20 61 73 20 74 68 65 20 6e 75 6c 6c ">//.value.0.is.used.as.the.null
7d720 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .value.</span></span>.<span.clas
7d740 73 3d 22 6c 69 6e 65 22 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
7d760 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=
7d780 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3f 2a 3c "tok-builtin">@sizeOf</span>(?*<
7d7a0 73 70 61 6e 20 63 6c 61 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>
7d7c0 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 ).==.<span.class="tok-builtin">@
7d7e0 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d sizeOf</span>(*<span.class="tok-
7d800 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e type">i32</span>));</span>.<span
7d820 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
7d840 72 65 3e 3c 2f 66 69 67 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.
7d860 63 6c 61 73 73 3d 22 73 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
7d880 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
7d8a0 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 6f 70 74 69 6f 6e 61 6c 5f ">$.<kbd>zig.test.test_optional_
7d8c0 70 6f 69 6e 74 65 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pointer.zig</kbd></span>.<span.c
7d8e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6f 70 74 69 6f lass="line">1/1.test.&quot;optio
7d900 6e 61 6c 20 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a nal.pointers&quot;....OK</span>.
7d920 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
7d940 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
7d960 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d ure>.....................<h2.id=
7d980 22 43 61 73 74 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 73 74 69 6e 67 22 "Casting"><a.href="#toc-Casting"
7d9a0 3e 43 61 73 74 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 >Casting</a>.<a.class="hdr".href
7d9c0 3d 22 23 43 61 73 74 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c ="#Casting">..</a></h2>........<
7d9e0 70 3e 0a 20 20 20 20 20 20 41 20 3c 73 74 72 6f 6e 67 3e 74 79 70 65 20 63 61 73 74 3c 2f 73 74 p>.......A.<strong>type.cast</st
7da00 72 6f 6e 67 3e 20 63 6f 6e 76 65 72 74 73 20 61 20 76 61 6c 75 65 20 6f 66 20 6f 6e 65 20 74 79 rong>.converts.a.value.of.one.ty
7da20 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 3c 61 20 pe.to.another........Zig.has.<a.
7da40 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 href="#Type-Coercion">Type.Coerc
7da60 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 74 68 61 74 20 61 72 65 ion</a>.for.conversions.that.are
7da80 20 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 73 61 66 65 20 61 6e 64 .known.to.be.completely.safe.and
7daa0 20 75 6e 61 6d 62 69 67 75 6f 75 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 3c 61 20 68 72 65 66 3d .unambiguous,.......and.<a.href=
7dac0 22 23 45 78 70 6c 69 63 69 74 2d 43 61 73 74 73 22 3e 45 78 70 6c 69 63 69 74 20 43 61 73 74 73 "#Explicit-Casts">Explicit.Casts
7dae0 3c 2f 61 3e 20 66 6f 72 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 74 68 61 74 20 6f 6e 65 20 77 6f </a>.for.conversions.that.one.wo
7db00 75 6c 64 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 68 61 70 70 65 6e 20 6f 6e 20 61 63 63 69 64 65 uld.not.want.to.happen.on.accide
7db20 6e 74 2e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 74 68 69 72 64 20 nt........There.is.also.a.third.
7db40 6b 69 6e 64 20 6f 66 20 74 79 70 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 63 61 6c 6c 65 64 20 3c kind.of.type.conversion.called.<
7db60 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
7db80 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 0a 20 20 20 20 eer.Type.Resolution</a>.for.....
7dba0 20 20 74 68 65 20 63 61 73 65 20 77 68 65 6e 20 61 20 72 65 73 75 6c 74 20 74 79 70 65 20 6d 75 ..the.case.when.a.result.type.mu
7dbc0 73 74 20 62 65 20 64 65 63 69 64 65 64 20 67 69 76 65 6e 20 6d 75 6c 74 69 70 6c 65 20 6f 70 65 st.be.decided.given.multiple.ope
7dbe0 72 61 6e 64 20 74 79 70 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 rand.types........</p>.......<h3
7dc00 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f .id="Type-Coercion"><a.href="#to
7dc20 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f c-Type-Coercion">Type.Coercion</
7dc40 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f a>.<a.class="hdr".href="#Type-Co
7dc60 65 72 63 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 ercion">..</a></h3>........<p>..
7dc80 20 20 20 20 20 54 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 6f 63 63 75 72 73 20 77 68 65 6e 20 6f .....Type.coercion.occurs.when.o
7dca0 6e 65 20 74 79 70 65 20 69 73 20 65 78 70 65 63 74 65 64 2c 20 62 75 74 20 64 69 66 66 65 72 65 ne.type.is.expected,.but.differe
7dcc0 6e 74 20 74 79 70 65 20 69 73 20 70 72 6f 76 69 64 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a nt.type.is.provided:.......</p>.
7dce0 20 20 20 20 20 20 3c 66 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=
7dd00 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 79 70 "zig-cap"><cite.class="file">typ
7dd20 65 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f e_coercion.zig</cite></figcaptio
7dd40 6e 3e 3c 70 72 65 3e 3c 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">
7dd60 3c 73 70 61 6e 20 63 6c 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>
7dd80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 .<span.class="tok-str">&quot;typ
7dda0 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74 69 6f e.coercion.-.variable.declaratio
7ddc0 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c n&quot;</span>.{</span>.<span.cl
7dde0 61 73 73 3d 22 6c 69 6e 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-
7de00 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">var</span>.a:.<span.class="t
7de20 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">u8</span>.=.<span.class
7de40 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>.<
7de60 73 70 61 6e 20 63 6c 61 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
7de80 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 s="tok-kw">var</span>.b:.<span.c
7dea0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 3c lass="tok-type">u16</span>.=.a;<
7dec0 2f 73 70 61 6e 3e 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">...._.
7dee0 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d =.b;</span>.<span.class="line">}
7df00 3c 2f 73 70 61 6e 3e 0a 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
7df20 6e 3e 0a 3c 73 70 61 6e 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
7df40 73 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
7df60 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 20 63 6f 65 72 63 69 6f 6e ss="tok-str">&quot;type.coercion
7df80 20 2d 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c .-.function.call&quot;</span>.{<
7dfa0 2f 73 70 61 6e 3e 0a 3c 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
7dfc0 70 61 6e 20 63 6c 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:
7dfe0 20 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
7e000 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</
7e020 73 70 61 6e 3e 3b 3c 2f 73 70 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"
7e040 3e 20 20 20 20 66 6f 6f 28 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >....foo(a);</span>.<span.class=
7e060 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
7e080 65 22 3e 3c 2f 73 70 61 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
7e0a0 70 61 6e 20 63 6c 61 73 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
7e0c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 62 3a 20 an.class="tok-fn">foo</span>(b:.
7e0e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e <span.class="tok-type">u16</span
7e100 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f >).<span.class="tok-type">void</
7e120 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
7e140 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=
7e160 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
7e180 65 22 3e 3c 2f 73 70 61 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
7e1a0 70 61 6e 20 63 6c 61 73 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>.<
7e1c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 20 span.class="tok-str">&quot;type.
7e1e0 63 6f 65 72 63 69 6f 6e 20 2d 20 40 61 73 20 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 coercion.-.@as.builtin&quot;</sp
7e200 61 6e 3e 20 7b 3c 2f 73 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">
7e220 20 20 20 20 3c 73 70 61 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
7e240 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 an>.a:.<span.class="tok-type">u8
7e260 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
7e280 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=
7e2a0 22 6c 69 6e 65 22 3e 20 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">
7e2c0 76 61 72 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d var</span>.b.=.<span.class="tok-
7e2e0 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d builtin">@as</span>(<span.class=
7e300 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 2c 20 61 29 3b 3c 2f 73 70 61 6e "tok-type">u16</span>,.a);</span
7e320 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 62 3b 3c >.<span.class="line">...._.=.b;<
7e340 2f 73 70 61 6e 3e 0a 3c 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
7e360 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>
7e380 3c 66 69 67 63 61 70 74 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
7e3a0 65 6c 6c 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
7e3c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 79 .class="line">$.<kbd>zig.test.ty
7e3e0 70 65 5f 63 6f 65 72 63 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 pe_coercion.zig</kbd></span>.<sp
7e400 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 74 an.class="line">1/3.test.&quot;t
7e420 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74 ype.coercion.-.variable.declarat
7e440 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ion&quot;....OK</span>.<span.cla
7e460 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 74 79 70 65 20 63 6f ss="line">2/3.test.&quot;type.co
7e480 65 72 63 69 6f 6e 20 2d 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 26 71 75 6f 74 3b 2e 2e 2e 20 ercion.-.function.call&quot;....
7e4a0 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
7e4c0 20 74 65 73 74 20 26 71 75 6f 74 3b 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 40 61 73 20 .test.&quot;type.coercion.-.@as.
7e4e0 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e builtin&quot;....OK</span>.<span
7e500 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 73 65 64 .class="line">All.3.tests.passed
7e520 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>.
7e540 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 79 70 65 20 63 6f 65 72 63 69 6f 6e 73 20 61 ......<p>.......Type.coercions.a
7e560 72 65 20 6f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 77 68 65 6e 20 69 74 20 69 73 20 63 6f 6d 70 6c re.only.allowed.when.it.is.compl
7e580 65 74 65 6c 79 20 75 6e 61 6d 62 69 67 75 6f 75 73 20 68 6f 77 20 74 6f 20 67 65 74 20 66 72 6f etely.unambiguous.how.to.get.fro
7e5a0 6d 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 m.one.type.to.another,.......and
7e5c0 20 74 68 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 67 75 61 72 61 6e 74 65 65 .the.transformation.is.guarantee
7e5e0 64 20 74 6f 20 62 65 20 73 61 66 65 2e 20 54 68 65 72 65 20 69 73 20 6f 6e 65 20 65 78 63 65 70 d.to.be.safe..There.is.one.excep
7e600 74 69 6f 6e 2c 20 77 68 69 63 68 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 tion,.which.is.<a.href="#C-Point
7e620 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ers">C.Pointers</a>........</p>.
7e640 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 ......<h4.id="Type-Coercion-Stri
7e660 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f cter-Qualification"><a.href="#to
7e680 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 c-Type-Coercion-Stricter-Qualifi
7e6a0 63 61 74 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 53 74 72 69 63 74 65 72 20 cation">Type.Coercion:.Stricter.
7e6c0 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 Qualification</a>.<a.class="hdr"
7e6e0 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 .href="#Type-Coercion-Stricter-Q
7e700 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 ualification">..</a></h4>.......
7e720 20 3c 70 3e 0a 20 20 20 20 20 20 56 61 6c 75 65 73 20 77 68 69 63 68 20 68 61 76 65 20 74 68 65 .<p>.......Values.which.have.the
7e740 20 73 61 6d 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 61 74 20 72 75 6e 74 69 6d 65 20 .same.representation.at.runtime.
7e760 63 61 6e 20 62 65 20 63 61 73 74 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 73 74 72 69 can.be.cast.to.increase.the.stri
7e780 63 74 6e 65 73 73 0a 20 20 20 20 20 20 6f 66 20 74 68 65 20 71 75 61 6c 69 66 69 65 72 73 2c 20 ctness.......of.the.qualifiers,.
7e7a0 6e 6f 20 6d 61 74 74 65 72 20 68 6f 77 20 6e 65 73 74 65 64 20 74 68 65 20 71 75 61 6c 69 66 69 no.matter.how.nested.the.qualifi
7e7c0 65 72 73 20 61 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 ers.are:.......</p>.......<ul>..
7e7e0 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="
7e800 6c 69 6e 65 22 3e 3c 73 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
7e820 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6e 6f 6e 2d 63 6f 6e 73 </span></span></code>.-.non-cons
7e840 74 20 74 6f 20 63 6f 6e 73 74 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 t.to.const.is.allowed</li>......
7e860 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
7e880 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c "><span.class="tok-kw">volatile<
7e8a0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6e 6f 6e 2d 76 6f 6c 61 74 /span></span></code>.-.non-volat
7e8c0 69 6c 65 20 74 6f 20 76 6f 6c 61 74 69 6c 65 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c 69 3e 0a ile.to.volatile.is.allowed</li>.
7e8e0 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=
7e900 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 "line"><span.class="tok-kw">alig
7e920 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 67 67 65 72 20 n</span></span></code>.-.bigger.
7e940 74 6f 20 73 6d 61 6c 6c 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 to.smaller.alignment.is.allowed.
7e960 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 </li>...........<li><a.href="#Er
7e980 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 65 72 72 6f 72 20 73 65 74 73 3c 2f 61 3e 20 74 6f 20 ror-Set-Type">error.sets</a>.to.
7e9a0 73 75 70 65 72 73 65 74 73 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 supersets.is.allowed</li>.......
7e9c0 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 63 61 73 74 </ul>.......<p>.......These.cast
7e9e0 73 20 61 72 65 20 6e 6f 2d 6f 70 73 20 61 74 20 72 75 6e 74 69 6d 65 20 73 69 6e 63 65 20 74 68 s.are.no-ops.at.runtime.since.th
7ea00 65 20 76 61 6c 75 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 e.value.representation.does.not.
7ea20 63 68 61 6e 67 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 change........</p>.......<figure
7ea40 3e 3c 66 69 67 63 61 70 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
7ea60 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 6f 5f 6f 70 5f 63 61 73 74 73 2e 7a 69 67 3c te.class="file">no_op_casts.zig<
7ea80 2f 63 69 74 65 3e 3c 2f 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
7eaa0 70 61 6e 20 63 6c 61 73 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
7eac0 6b 2d 6b 77 22 3e 74 65 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
7eae0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 63 6f ok-str">&quot;type.coercion.-.co
7eb00 6e 73 74 20 71 75 61 6c 69 66 69 63 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b nst.qualification&quot;</span>.{
7eb20 3c 2f 73 70 61 6e 3e 0a 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">....<
7eb40 73 70 61 6e 20 63 6c 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
7eb60 3a 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
7eb80 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 an>.=.<span.class="tok-number">1
7eba0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
7ebc0 65 22 3e 20 20 20 20 3c 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<
7ebe0 2f 73 70 61 6e 3e 20 62 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 /span>.b:.*<span.class="tok-type
7ec00 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ">i32</span>.=.&amp;a;</span>.<s
7ec20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 62 29 3b 3c 2f 73 70 pan.class="line">....foo(b);</sp
7ec40 61 6e 3e 0a 3c 73 70 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>.
7ec60 3c 73 70 61 6e 20 63 6c 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
7ec80 20 63 6c 61 73 73 3d 22 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
7eca0 77 22 3e 66 6e 3c 2f 73 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
7ecc0 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 5f 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">foo</span>(_:.*<span.class="to
7ece0 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="
7ed00 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 tok-type">i32</span>).<span.clas
7ed20 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 s="tok-type">void</span>.{}</spa
7ed40 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>
7ed60 3c 66 69 67 63 61 70 74 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
7ed80 65 6c 6c 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
7eda0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 6e 6f .class="line">$.<kbd>zig.test.no
7edc0 5f 6f 70 5f 63 61 73 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e _op_casts.zig</kbd></span>.<span
7ede0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 74 79 70 .class="line">1/1.test.&quot;typ
7ee00 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 63 6f 6e 73 74 20 71 75 61 6c 69 66 69 63 61 74 69 6f 6e e.coercion.-.const.qualification
7ee20 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
7ee40 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
7ee60 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>.......<
7ee80 70 3e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 70 6f 69 6e 74 65 72 73 20 63 p>.......In.addition,.pointers.c
7eea0 6f 65 72 63 65 20 74 6f 20 63 6f 6e 73 74 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 oerce.to.const.optional.pointers
7eec0 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
7eee0 61 70 74 69 6f 6e 20 63 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
7ef00 73 73 3d 22 66 69 6c 65 22 3e 70 6f 69 6e 74 65 72 5f 63 6f 65 72 63 65 5f 63 6f 6e 73 74 5f 6f ss="file">pointer_coerce_const_o
7ef20 70 74 69 6f 6e 61 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c ptional.zig</cite></figcaption><
7ef40 70 72 65 3e 3c 63 6f 64 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
7ef60 61 6e 20 63 6c 61 73 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
7ef80 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">@
7efa0 69 6d 70 6f 72 74 3c 2f 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
7efc0 74 72 22 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
7efe0 61 6e 3e 0a 3c 73 70 61 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
7f000 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 ss="tok-kw">const</span>.expect.
7f020 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
7f040 61 6e 20 63 6c 61 73 73 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
7f060 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b -kw">const</span>.mem.=.std.mem;
7f080 3c 2f 73 70 61 6e 3e 0a 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
7f0a0 6e 3e 0a 3c 73 70 61 6e 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
7f0c0 73 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
7f0e0 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 61 73 74 20 2a 5b 31 5d 5b 2a 5d 63 ss="tok-str">&quot;cast.*[1][*]c
7f100 6f 6e 73 74 20 75 38 20 74 6f 20 5b 2a 5d 63 6f 6e 73 74 20 3f 5b 2a 5d 63 6f 6e 73 74 20 75 38 onst.u8.to.[*]const.?[*]const.u8
7f120 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
7f140 73 73 3d 22 6c 69 6e 65 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
7f160 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 69 6e 64 6f 77 5f 6e 61 6d 65 20 3d 20 5b 3c w">const</span>.window_name.=.[<
7f180 73 70 61 6e 20 63 6c 61 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>
7f1a0 5d 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f ][*]<span.class="tok-kw">const</
7f1c0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c span>.<span.class="tok-type">u8<
7f1e0 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 /span>{<span.class="tok-str">&qu
7f200 6f 74 3b 77 69 6e 64 6f 77 20 6e 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 3b 3c 2f 73 ot;window.name&quot;</span>};</s
7f220 70 61 6e 3e 0a 3c 73 70 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
7f240 6e 20 63 6c 61 73 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:
7f260 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f .[*]<span.class="tok-kw">const</
7f280 73 70 61 6e 3e 20 3f 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 span>.?[*]<span.class="tok-kw">c
7f2a0 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
7f2c0 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 77 69 6e 64 6f 77 5f 6e 61 6d 65 3b e">u8</span>.=.&amp;window_name;
7f2e0 3c 2f 73 70 61 6e 3e 0a 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">....<
7f300 73 70 61 6e 20 63 6c 61 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
7f320 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 xpect(mem.eql(<span.class="tok-t
7f340 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 74 64 2e 6d 65 6d 2e 73 6c 69 63 65 54 6f 28 ype">u8</span>,.std.mem.sliceTo(
7f360 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 <span.class="tok-builtin">@ptrCa
7f380 73 74 3c 2f 73 70 61 6e 3e 28 5b 2a 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 st</span>([*:<span.class="tok-nu
7f3a0 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d mber">0</span>]<span.class="tok-
7f3c0 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
7f3e0 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">u8</span>,.x[<span.class
7f400 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 2e 3f 29 2c 20 3c 73 70 61 ="tok-number">0</span>].?),.<spa
7f420 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 2c 20 n.class="tok-number">0</span>),.
7f440 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 69 6e 64 <span.class="tok-str">&quot;wind
7f460 6f 77 20 6e 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ow.name&quot;</span>));</span>.<
7f480 73 70 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
7f4a0 3e 3c 2f 70 72 65 3e 3c 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
7f4c0 69 6f 6e 20 63 6c 61 73 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
7f4e0 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="
7f500 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 6f 69 6e 74 65 72 5f 63 6f line">$.<kbd>zig.test.pointer_co
7f520 65 72 63 65 5f 63 6f 6e 73 74 5f 6f 70 74 69 6f 6e 61 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 erce_const_optional.zig</kbd></s
7f540 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
7f560 20 26 71 75 6f 74 3b 63 61 73 74 20 2a 5b 31 5d 5b 2a 5d 63 6f 6e 73 74 20 75 38 20 74 6f 20 5b .&quot;cast.*[1][*]const.u8.to.[
7f580 2a 5d 63 6f 6e 73 74 20 3f 5b 2a 5d 63 6f 6e 73 74 20 75 38 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b *]const.?[*]const.u8&quot;....OK
7f5a0 3c 2f 73 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
7f5c0 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
7f5e0 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 re></figure>..............<h4.id
7f600 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e 64 2d 46 6c 6f 61 ="Type-Coercion-Integer-and-Floa
7f620 74 2d 57 69 64 65 6e 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 t-Widening"><a.href="#toc-Type-C
7f640 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 oercion-Integer-and-Float-Wideni
7f660 6e 67 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 49 6e 74 65 67 65 72 20 61 6e 64 20 46 ng">Type.Coercion:.Integer.and.F
7f680 6c 6f 61 74 20 57 69 64 65 6e 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 loat.Widening</a>.<a.class="hdr"
7f6a0 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e .href="#Type-Coercion-Integer-an
7f6c0 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 d-Float-Widening">..</a></h4>...
7f6e0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 .....<p>.......<a.href="#Integer
7f700 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 63 6f 65 72 63 65 20 74 6f 20 69 6e 74 65 67 65 s">Integers</a>.coerce.to.intege
7f720 72 20 74 79 70 65 73 20 77 68 69 63 68 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 65 76 65 72 r.types.which.can.represent.ever
7f740 79 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 6c 64 20 74 79 70 65 2c 20 61 6e 64 20 6c 69 6b y.value.of.the.old.type,.and.lik
7f760 65 77 69 73 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c ewise.......<a.href="#Floats">Fl
7f780 6f 61 74 73 3c 2f 61 3e 20 63 6f 65 72 63 65 20 74 6f 20 66 6c 6f 61 74 20 74 79 70 65 73 20 77 oats</a>.coerce.to.float.types.w
7f7a0 68 69 63 68 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 65 76 65 72 79 20 76 61 6c 75 65 20 6f hich.can.represent.every.value.o
7f7c0 66 20 74 68 65 20 6f 6c 64 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 f.the.old.type........</p>......
7f7e0 20 3c 66 69 67 75 72 65 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-
7f800 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 5f 69 6e 74 cap"><cite.class="file">test_int
7f820 65 67 65 72 5f 77 69 64 65 6e 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 eger_widening.zig</cite></figcap
7f840 74 69 6f 6e 3e 3c 70 72 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
7f860 65 22 3e 3c 73 70 61 6e 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
7f880 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
7f8a0 74 69 6e 22 3e 40 69 6d 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=
7f8c0 22 74 6f 6b 2d 73 74 72 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>
7f8e0 29 3b 3c 2f 73 70 61 6e 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
7f900 61 6e 20 63 6c 61 73 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
7f920 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 uiltin.=.<span.class="tok-builti
7f940 6e 22 3e 40 69 6d 70 6f 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
7f960 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 ok-str">&quot;builtin&quot;</spa
7f980 6e 3e 29 3b 3c 2f 73 70 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"><
7f9a0 73 70 61 6e 20 63 6c 61 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>
7f9c0 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
7f9e0 70 61 6e 3e 0a 3c 73 70 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
7fa00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 ass="tok-kw">const</span>.mem.=.
7fa20 73 74 64 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e std.mem;</span>.<span.class="lin
7fa40 65 22 3e 3c 2f 73 70 61 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
7fa60 70 61 6e 20 63 6c 61 73 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>.<
7fa80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 65 67 span.class="tok-str">&quot;integ
7faa0 65 72 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e er.widening&quot;</span>.{</span
7fac0 3e 0a 3c 73 70 61 6e 20 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
7fae0 6c 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
7fb00 6e 20 63 6c 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>.=.<
7fb20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 30 3c 2f 73 70 61 span.class="tok-number">250</spa
7fb40 6e 3e 3b 3c 2f 73 70 61 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">..
7fb60 20 20 3c 73 70 61 6e 20 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
7fb80 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c >.b:.<span.class="tok-type">u16<
7fba0 2f 73 70 61 6e 3e 20 3d 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>.=.a;</span>.<span.class="
7fbc0 6c 69 6e 65 22 3e 20 20 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
7fbe0 61 72 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ar</span>.c:.<span.class="tok-ty
7fc00 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pe">u32</span>.=.b;</span>.<span
7fc20 20 63 6c 61 73 73 3d 22 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
7fc40 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">var</span>.d:.<span.class
7fc60 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 63 3b 3c 2f 73 70 61 ="tok-type">u64</span>.=.c;</spa
7fc80 6e 3e 0a 3c 73 70 61 6e 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.
7fca0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 65 3a 20 3c 73 70 class="tok-kw">var</span>.e:.<sp
7fcc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d an.class="tok-type">u64</span>.=
7fce0 20 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .d;</span>.<span.class="line">..
7fd00 20 20 3c 73 70 61 6e 20 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
7fd20 3e 20 66 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 32 38 >.f:.<span.class="tok-type">u128
7fd40 3c 2f 73 70 61 6e 3e 20 3d 20 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>.=.e;</span>.<span.class=
7fd60 22 6c 69 6e 65 22 3e 20 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">
7fd80 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 20 3d 3d 20 61 29 3b 3c 2f 73 70 61 6e try</span>.expect(f.==.a);</span
7fda0 3e 0a 3c 73 70 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
7fdc0 70 61 6e 20 63 6c 61 73 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
7fde0 6c 61 73 73 3d 22 6c 69 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"
7fe00 3e 74 65 73 74 3c 2f 73 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
7fe20 72 22 3e 26 71 75 6f 74 3b 69 6d 70 6c 69 63 69 74 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 r">&quot;implicit.unsigned.integ
7fe40 65 72 20 74 6f 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e er.to.signed.integer&quot;</span
7fe60 3e 20 7b 3c 2f 73 70 61 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">..
7fe80 20 20 3c 73 70 61 6e 20 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
7fea0 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f >.a:.<span.class="tok-type">u8</
7fec0 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"
7fee0 3e 32 35 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >250</span>;</span>.<span.class=
7ff00 22 6c 69 6e 65 22 3e 20 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">
7ff20 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 var</span>.b:.<span.class="tok-t
7ff40 79 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ype">i16</span>.=.a;</span>.<spa
7ff60 6e 20 63 6c 61 73 73 3d 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="
7ff80 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 62 20 3d 3d 20 3c tok-kw">try</span>.expect(b.==.<
7ffa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 30 3c 2f 73 70 61 span.class="tok-number">250</spa
7ffc0 6e 3e 29 3b 3c 2f 73 70 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">}
7ffe0 3c 2f 73 70 61 6e 3e 0a 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
80000 6e 3e 0a 3c 73 70 61 6e 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
80020 73 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
80040 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6c 6f 61 74 20 77 69 64 65 6e 69 6e ss="tok-str">&quot;float.widenin
80060 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c g&quot;</span>.{</span>.<span.cl
80080 61 73 73 3d 22 6c 69 6e 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-
800a0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 74 65 3a 20 74 68 65 72 65 20 69 73 20 61 6e 20 6f 70 comment">//.Note:.there.is.an.op
800c0 65 6e 20 69 73 73 75 65 20 70 72 65 76 65 6e 74 69 6e 67 20 74 68 69 73 20 66 72 6f 6d 20 77 6f en.issue.preventing.this.from.wo
800e0 72 6b 69 6e 67 20 6f 6e 20 61 61 72 63 68 36 34 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a rking.on.aarch64:</span></span>.
80100 3c 73 70 61 6e 20 63 6c 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
80120 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 ss="tok-comment">//.https://gith
80140 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 33 32 38 32 3c 2f ub.com/ziglang/zig/issues/3282</
80160 73 70 61 6e 3e 3c 2f 73 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">
80180 20 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
801a0 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 74 61 72 67 65 74 2e 63 70 75 2e 61 72 63 68 20 3d 3d 20 2e n>.(builtin.target.cpu.arch.==..
801c0 61 61 72 63 68 36 34 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 aarch64).<span.class="tok-kw">re
801e0 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"
80200 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3b 3c 2f 73 70 61 6e >error</span>.SkipZigTest;</span
80220 3e 0a 3c 73 70 61 6e 20 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
80240 61 6e 20 63 6c 61 73 73 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=
80260 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">var</span>.a:.<span.cla
80280 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e ss="tok-type">f16</span>.=.<span
802a0 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>
802c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
802e0 3c 73 70 61 6e 20 63 6c 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>.
80300 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 b:.<span.class="tok-type">f32</s
80320 70 61 6e 3e 20 3d 20 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 pan>.=.a;</span>.<span.class="li
80340 6e 65 22 3e 20 20 20 20 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
80360 3c 2f 73 70 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 </span>.c:.<span.class="tok-type
80380 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ">f64</span>.=.b;</span>.<span.c
803a0 6c 61 73 73 3d 22 6c 69 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
803c0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -kw">var</span>.d:.<span.class="
803e0 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 20 3d 20 63 3b 3c 2f 73 70 61 6e tok-type">f128</span>.=.c;</span
80400 3e 0a 3c 73 70 61 6e 20 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
80420 6c 61 73 73 3d 22 74 6f 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(
80440 64 20 3d 3d 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e d.==.a);</span>.<span.class="lin
80460 65 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
80480 3e 3c 66 69 67 75 72 65 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
804a0 6c 2d 63 61 70 22 3e 53 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
804c0 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
804e0 67 20 74 65 73 74 20 74 65 73 74 5f 69 6e 74 65 67 65 72 5f 77 69 64 65 6e 69 6e 67 2e 7a 69 67 g.test.test_integer_widening.zig
80500 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"
80520 3e 31 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 77 69 64 65 6e 69 6e 67 >1/3.test.&quot;integer.widening
80540 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
80560 22 6c 69 6e 65 22 3e 32 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 69 6d 70 6c 69 63 69 74 20 75 "line">2/3.test.&quot;implicit.u
80580 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 74 6f 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 nsigned.integer.to.signed.intege
805a0 72 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 r&quot;....OK</span>.<span.class
805c0 3d 22 6c 69 6e 65 22 3e 33 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 66 6c 6f 61 74 20 77 69 64 ="line">3/3.test.&quot;float.wid
805e0 65 6e 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ening&quot;....OK</span>.<span.c
80600 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.<
80620 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>...
80640 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e ...........<h4.id="Type-Coercion
80660 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d -Coercion-Float-to-Int"><a.href=
80680 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 65 72 63 69 6f 6e 2d 46 6c 6f "#toc-Type-Coercion-Coercion-Flo
806a0 61 74 2d 74 6f 2d 49 6e 74 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 43 6f 65 72 63 69 at-to-Int">Type.Coercion:.Coerci
806c0 6f 6e 20 46 6c 6f 61 74 20 74 6f 20 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 on.Float.to.Int</a>.<a.class="hd
806e0 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 65 72 63 69 6f 6e r".href="#Type-Coercion-Coercion
80700 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 -Float-to-Int">..</a></h4>......
80720 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 63 6f 6d 70 69 6c 65 72 20 65 72 72 6f 72 20 69 73 20 ..<p>.......A.compiler.error.is.
80740 61 70 70 72 6f 70 72 69 61 74 65 20 62 65 63 61 75 73 65 20 74 68 69 73 20 61 6d 62 69 67 75 6f appropriate.because.this.ambiguo
80760 75 73 20 65 78 70 72 65 73 73 69 6f 6e 20 6c 65 61 76 65 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 us.expression.leaves.the.compile
80780 72 0a 20 20 20 20 20 20 74 77 6f 20 63 68 6f 69 63 65 73 20 61 62 6f 75 74 20 74 68 65 20 63 6f r.......two.choices.about.the.co
807a0 65 72 63 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 ercion........</p>.......<ul>...
807c0 20 20 20 20 20 20 3c 6c 69 3e 20 43 61 73 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ......<li>.Cast.<code><span.clas
807e0 73 3d 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
80800 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.<
80820 63 6f 64 65 3e 3c 73 70 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
80840 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
80860 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
80880 6f 64 65 3e 3c 73 70 61 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
808a0 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
808c0 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<
808e0 2f 73 70 61 6e 3e 2c 20 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"
80900 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
80920 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=
80940 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"
80960 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
80980 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-
809a0 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>
809c0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 20 43 61 73 74 20 3c 63 6f 64 65 3e 3c 73 </li>.........<li>.Cast.<code><s
809e0 70 61 6e 20 63 6c 61 73 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
80a00 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-number">5</span></span></code>
80a20 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
80a40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f an.class="tok-type">comptime_flo
80a60 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 73 75 6c 74 69 6e at</span></span></code>.resultin
80a80 67 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 g.in.<code><span.class="line"><s
80aa0 70 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
80ac0 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 n>(<span.class="tok-type">compti
80ae0 6d 65 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f me_float</span>,.<span.class="to
80b00 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 2e 38 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 k-number">10.8</span>)</span></c
80b20 6f 64 65 3e 2c 20 77 68 69 63 68 20 69 73 20 63 61 73 74 65 64 20 74 6f 20 3c 63 6f 64 65 3e 3c ode>,.which.is.casted.to.<code><
80b40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
80b60 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ok-builtin">@as</span>(<span.cla
80b80 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-type">f32</span>,.<span.
80ba0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 2e 38 3c 2f 73 70 61 6e 3e 29 3c class="tok-number">10.8</span>)<
80bc0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 /span></code></li>.......</ul>..
80be0 20 20 20 20 20 3c 66 69 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="
80c00 7a 69 67 2d 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
80c20 2e 7a 69 67 3c 2f 63 69 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
80c40 64 65 3e 3c 73 70 61 6e 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
80c60 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 6d 70 69 6c 65 20 74 69 6d 65 20 s="tok-comment">//.Compile.time.
80c80 63 6f 65 72 63 69 6f 6e 20 6f 66 20 66 6c 6f 61 74 20 74 6f 20 69 6e 74 3c 2f 73 70 61 6e 3e 3c coercion.of.float.to.int</span><
80ca0 2f 73 70 61 6e 3e 0a 3c 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.
80cc0 63 6c 61 73 73 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
80ce0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6d 70 6c 69 63 69 74 20 .class="tok-str">&quot;implicit.
80d00 63 61 73 74 20 74 6f 20 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e cast.to.comptime_int&quot;</span
80d20 3e 20 7b 3c 2f 73 70 61 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">..
80d40 20 20 3c 73 70 61 6e 20 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
80d60 3e 20 66 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c >.f:.<span.class="tok-type">f32<
80d80 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
80da0 22 3e 35 34 2e 30 3c 2f 73 70 61 6e 3e 20 2f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">54.0</span>./.<span.class="tok
80dc0 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -number">5</span>;</span>.<span.
80de0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 66 3b 3c 2f 73 70 61 6e 3e 0a 3c class="line">...._.=.f;</span>.<
80e00 73 70 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
80e20 3e 3c 2f 70 72 65 3e 3c 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
80e40 69 6f 6e 20 63 6c 61 73 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
80e60 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="
80e80 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</
80ea0 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"><
80ec0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 span.class="t0_1">./docgen_tmp/t
80ee0 65 73 74 2e 7a 69 67 3a 33 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig:3:18:.</span><span.class
80f00 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 ="t31_1">error:.</span><span.cla
80f20 73 73 3d 22 74 30 5f 31 22 3e 66 6c 6f 61 74 20 76 61 6c 75 65 20 35 34 2e 30 30 30 30 30 30 20 ss="t0_1">float.value.54.000000.
80f40 63 61 6e 6e 6f 74 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 74 79 70 65 20 27 63 6f 6d 70 74 cannot.be.coerced.to.type.'compt
80f60 69 6d 65 5f 69 6e 74 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ime_int'</span></span>.<span.cla
80f80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 66 3a 20 66 33 32 20 3d 20 35 34 2e 30 20 ss="line">....var.f:.f32.=.54.0.
80fa0 2f 20 35 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 /.5;</span>.<span.class="line">.
80fc0 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
80fe0 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 _1">^</span></span>.</samp></pre
81000 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="
81020 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-
81040 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 Pointers"><a.href="#toc-Type-Coe
81060 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 61 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 rcion-Slices-Arrays-and-Pointers
81080 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 53 6c 69 63 65 73 2c 20 41 72 72 61 79 73 20 ">Type.Coercion:.Slices,.Arrays.
810a0 61 6e 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 and.Pointers</a>.<a.class="hdr".
810c0 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 6c 69 63 65 73 2d 41 72 72 61 href="#Type-Coercion-Slices-Arra
810e0 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 ys-and-Pointers">..</a></h4>....
81100 20 20 20 20 3c 66 69 67 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
81120 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 65 72 63 ig-cap"><cite.class="file">coerc
81140 65 5f 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 74 72 73 2e 7a 69 67 3c 2f 63 e__slices_arrays_and_ptrs.zig</c
81160 69 74 65 3e 3c 2f 66 69 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
81180 6e 20 63 6c 61 73 73 3d 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-
811a0 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
811c0 73 73 3d 22 74 6f 6b 2d 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>(
811e0 3c 73 70 61 6e 20 63 6c 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&
81200 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
81220 73 3d 22 6c 69 6e 65 22 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
81240 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.
81260 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
81280 22 3e 3c 2f 73 70 61 6e 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
812a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 an.class="tok-comment">//.You.ca
812c0 6e 20 61 73 73 69 67 6e 20 63 6f 6e 73 74 61 6e 74 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 61 72 n.assign.constant.pointers.to.ar
812e0 72 61 79 73 20 74 6f 20 61 20 73 6c 69 63 65 20 77 69 74 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 rays.to.a.slice.with</span></spa
81300 6e 3e 0a 3c 73 70 61 6e 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
81320 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6e 73 74 20 6d 6f 64 69 66 69 65 s="tok-comment">//.const.modifie
81340 72 20 6f 6e 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 2e 20 55 73 65 66 75 6c 20 69 6e r.on.the.element.type..Useful.in
81360 20 70 61 72 74 69 63 75 6c 61 72 20 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 .particular.for</span></span>.<s
81380 70 61 6e 20 63 6c 61 73 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
813a0 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 2e 3c 2f k-comment">//.String.literals.</
813c0 73 70 61 6e 3e 3c 2f 73 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">
813e0 3c 73 70 61 6e 20 63 6c 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>
81400 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 63 6f .<span.class="tok-str">&quot;*co
81420 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 nst.[N]T.to.[]const.T&quot;</spa
81440 6e 3e 20 7b 3c 2f 73 70 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">.
81460 20 20 20 3c 73 70 61 6e 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
81480 6e 3e 20 78 31 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f n>.x1:.[]<span.class="tok-kw">co
814a0 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
814c0 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
814e0 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
81500 70 61 6e 3e 0a 3c 73 70 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
81520 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 n.class="tok-kw">var</span>.x2:.
81540 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 []<span.class="tok-kw">const</sp
81560 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 an>.<span.class="tok-type">u8</s
81580 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 pan>.=.&amp;[<span.class="tok-nu
815a0 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d mber">5</span>]<span.class="tok-
815c0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f type">u8</span>{.<span.class="to
815e0 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-str">'h'</span>,.<span.class="
81600 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 tok-str">'e'</span>,.<span.class
81620 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 ="tok-str">'l'</span>,.<span.cla
81640 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ss="tok-str">'l'</span>,.<span.c
81660 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c lass="tok-number">111</span>.};<
81680 2f 73 70 61 6e 3e 0a 3c 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
816a0 70 61 6e 20 63 6c 61 73 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
816c0 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pect(std.mem.eql(<span.class="to
816e0 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 78 31 2c 20 78 32 29 29 3b 3c 2f 73 70 k-type">u8</span>,.x1,.x2));</sp
81700 61 6e 3e 0a 3c 73 70 61 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>.<
81720 73 70 61 6e 20 63 6c 61 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
81740 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 5b 5d 3c 73 70 61 6e s="tok-kw">var</span>.y:.[]<span
81760 20 63 6c 61 73 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
81780 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d an.class="tok-type">f32</span>.=
817a0 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e .&amp;[<span.class="tok-number">
817c0 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 2</span>]<span.class="tok-type">
817e0 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d f32</span>{.<span.class="tok-num
81800 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ber">1.2</span>,.<span.class="to
81820 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c k-number">3.4</span>.};</span>.<
81840 73 70 61 6e 20 63 6c 61 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
81860 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 5b 3c s="tok-kw">try</span>.expect(y[<
81880 73 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>
818a0 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e ].==.<span.class="tok-number">1.
818c0 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 2</span>);</span>.<span.class="l
818e0 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"
81900 3e 3c 2f 73 70 61 6e 3e 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
81920 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 69 6b 65 77 69 73 n.class="tok-comment">//.Likewis
81940 65 2c 20 69 74 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e e,.it.works.when.the.destination
81960 20 74 79 70 65 20 69 73 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c .type.is.an.error.union.</span><
81980 2f 73 70 61 6e 3e 0a 3c 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.
819a0 63 6c 61 73 73 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
819c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 63 6f 6e 73 74 20 5b 4e .class="tok-str">&quot;*const.[N
819e0 5d 54 20 74 6f 20 45 21 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b ]T.to.E![]const.T&quot;</span>.{
81a00 3c 2f 73 70 61 6e 3e 0a 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">....<
81a20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 span.class="tok-kw">var</span>.x
81a40 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 1:.<span.class="tok-type">anyerr
81a60 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 or</span>![]<span.class="tok-kw"
81a80 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
81aa0 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
81ac0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b k-str">&quot;hello&quot;</span>;
81ae0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
81b00 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 span.class="tok-kw">var</span>.x
81b20 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 2:.<span.class="tok-type">anyerr
81b40 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 or</span>![]<span.class="tok-kw"
81b60 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
81b80 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 ype">u8</span>.=.&amp;[<span.cla
81ba0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 ss="tok-number">5</span>]<span.c
81bc0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e lass="tok-type">u8</span>{.<span
81be0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 .class="tok-str">'h'</span>,.<sp
81c00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c an.class="tok-str">'e'</span>,.<
81c20 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>,
81c40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e .<span.class="tok-str">'l'</span
81c60 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 31 3c >,.<span.class="tok-number">111<
81c80 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>.};</span>.<span.class="li
81ca0 6e 65 22 3e 20 20 20 20 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
81cc0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e </span>.expect(std.mem.eql(<span
81ce0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 .class="tok-type">u8</span>,.<sp
81d00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 31 2c an.class="tok-kw">try</span>.x1,
81d20 20 3c 73 70 61 6e 20 63 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>
81d40 20 78 32 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .x2));</span>.<span.class="line"
81d60 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
81d80 3c 73 70 61 6e 20 63 6c 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>.
81da0 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 y:.<span.class="tok-type">anyerr
81dc0 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 or</span>![]<span.class="tok-kw"
81de0 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
81e00 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c ype">f32</span>.=.&amp;[<span.cl
81e20 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 ass="tok-number">2</span>]<span.
81e40 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 class="tok-type">f32</span>{.<sp
81e60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e an.class="tok-number">1.2</span>
81e80 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 3c 2f ,.<span.class="tok-number">3.4</
81ea0 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
81ec0 65 22 3e 20 20 20 20 3c 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<
81ee0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>.expect((<span.class="tok-
81f00 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 79 29 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">try</span>.y)[<span.class="t
81f20 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c ok-number">0</span>].==.<span.cl
81f40 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 ass="tok-number">1.2</span>);</s
81f60 70 61 6e 3e 0a 3c 73 70 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>
81f80 0a 3c 73 70 61 6e 20 63 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
81fa0 6e 20 63 6c 61 73 73 3d 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-
81fc0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 69 6b 65 77 69 73 65 2c 20 69 74 20 77 6f 72 6b 73 20 77 comment">//.Likewise,.it.works.w
81fe0 68 65 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 69 73 20 61 6e 20 6f hen.the.destination.type.is.an.o
82000 70 74 69 6f 6e 61 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ptional.</span></span>.<span.cla
82020 73 73 3d 22 6c 69 6e 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
82040 65 73 74 3c 2f 73 70 61 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"
82060 3e 26 71 75 6f 74 3b 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 3f 5b 5d 63 6f 6e 73 74 20 54 >&quot;*const.[N]T.to.?[]const.T
82080 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
820a0 73 73 3d 22 6c 69 6e 65 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
820c0 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 31 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 w">var</span>.x1:.?[]<span.class
820e0 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
82100 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 ss="tok-type">u8</span>.=.<span.
82120 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 class="tok-str">&quot;hello&quot
82140 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ;</span>;</span>.<span.class="li
82160 6e 65 22 3e 20 20 20 20 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
82180 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.x2:.?[]<span.class="tok-
821a0 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
821c0 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 k-type">u8</span>.=.&amp;[<span.
821e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 class="tok-number">5</span>]<spa
82200 6e 20 63 6c 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
82220 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 pan.class="tok-str">'h'</span>,.
82240 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e <span.class="tok-str">'e'</span>
82260 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 ,.<span.class="tok-str">'l'</spa
82280 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 n>,.<span.class="tok-str">'l'</s
822a0 70 61 6e 3e 2c 20 3c 73 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
822c0 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 11</span>.};</span>.<span.class=
822e0 22 6c 69 6e 65 22 3e 20 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">
82300 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 try</span>.expect(std.mem.eql(<s
82320 70 61 6e 20 63 6c 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>,.
82340 78 31 2e 3f 2c 20 78 32 2e 3f 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 x1.?,.x2.?));</span>.<span.class
82360 3d 22 6c 69 6e 65 22 3e 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
82380 65 22 3e 20 20 20 20 3c 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<
823a0 2f 73 70 61 6e 3e 20 79 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>.y:.?[]<span.class="tok-kw
823c0 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-
823e0 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 type">f32</span>.=.&amp;[<span.c
82400 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e lass="tok-number">2</span>]<span
82420 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 .class="tok-type">f32</span>{.<s
82440 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e pan.class="tok-number">1.2</span
82460 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 3c >,.<span.class="tok-number">3.4<
82480 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>.};</span>.<span.class="li
824a0 6e 65 22 3e 20 20 20 20 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
824c0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 2e 3f 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>.expect(y.?[<span.class="
824e0 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
82500 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f lass="tok-number">1.2</span>);</
82520 73 70 61 6e 3e 0a 3c 73 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
82540 3e 0a 3c 73 70 61 6e 20 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
82560 61 6e 20 63 6c 61 73 73 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
82580 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 20 74 68 69 73 20 63 61 73 74 2c 20 74 68 65 20 61 -comment">//.In.this.cast,.the.a
825a0 72 72 61 79 20 6c 65 6e 67 74 68 20 62 65 63 6f 6d 65 73 20 74 68 65 20 73 6c 69 63 65 20 6c 65 rray.length.becomes.the.slice.le
825c0 6e 67 74 68 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ngth.</span></span>.<span.class=
825e0 22 6c 69 6e 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
82600 3c 2f 73 70 61 6e 3e 20 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
82620 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 5b 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c uot;*[N]T.to.[]T&quot;</span>.{<
82640 2f 73 70 61 6e 3e 0a 3c 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
82660 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 75 pan.class="tok-kw">var</span>.bu
82680 66 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f f:.[<span.class="tok-number">5</
826a0 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<
826c0 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 /span>.=.<span.class="tok-str">&
826e0 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e quot;hello&quot;</span>.*;</span
82700 3e 0a 3c 73 70 61 6e 20 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
82720 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 5b 5d lass="tok-kw">const</span>.x:.[]
82740 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>
82760 20 3d 20 26 61 6d 70 3b 62 75 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .=.&amp;buf;</span>.<span.class=
82780 22 6c 69 6e 65 22 3e 20 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">
827a0 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 try</span>.expect(std.mem.eql(<s
827c0 70 61 6e 20 63 6c 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>,.
827e0 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 x,.<span.class="tok-str">&quot;h
82800 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ello&quot;</span>));</span>.<spa
82820 6e 20 63 6c 61 73 73 3d 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
82840 73 73 3d 22 6c 69 6e 65 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
82860 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 66 32 20 3d 20 5b 3c 73 70 61 6e 20 63 6c w">const</span>.buf2.=.[<span.cl
82880 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 ass="tok-number">2</span>]<span.
828a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 class="tok-type">f32</span>{.<sp
828c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e an.class="tok-number">1.2</span>
828e0 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 3c 2f ,.<span.class="tok-number">3.4</
82900 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
82920 65 22 3e 20 20 20 20 3c 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
82940 74 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d t</span>.x2:.[]<span.class="tok-
82960 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
82980 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 32 3b 3c k-type">f32</span>.=.&amp;buf2;<
829a0 2f 73 70 61 6e 3e 0a 3c 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
829c0 70 61 6e 20 63 6c 61 73 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
829e0 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pect(std.mem.eql(<span.class="to
82a00 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 78 32 2c 20 26 61 6d 70 3b 5b 3c 73 k-type">f32</span>,.x2,.&amp;[<s
82a20 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>]
82a40 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
82a60 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c >{.<span.class="tok-number">1.2<
82a80 2f 73 70 61 6e 3e 2c 20 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"
82aa0 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >3.4</span>.}));</span>.<span.cl
82ac0 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=
82ae0 22 6c 69 6e 65 22 3e 3c 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
82b00 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 "><span.class="tok-comment">//.S
82b20 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 61 72 72 61 79 73 20 63 61 ingle-item.pointers.to.arrays.ca
82b40 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 n.be.coerced.to.many-item.pointe
82b60 72 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c rs.</span></span>.<span.class="l
82b80 69 6e 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</
82ba0 73 70 61 6e 3e 20 3c 73 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
82bc0 74 3b 2a 5b 4e 5d 54 20 74 6f 20 5b 2a 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f t;*[N]T.to.[*]T&quot;</span>.{</
82be0 73 70 61 6e 3e 0a 3c 73 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
82c00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 75 66 an.class="tok-kw">var</span>.buf
82c20 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 :.[<span.class="tok-number">5</s
82c40 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f pan>]<span.class="tok-type">u8</
82c60 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 span>.=.<span.class="tok-str">&q
82c80 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e uot;hello&quot;</span>.*;</span>
82ca0 0a 3c 73 70 61 6e 20 63 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
82cc0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 5b 2a 5d ass="tok-kw">const</span>.x:.[*]
82ce0 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>
82d00 20 3d 20 26 61 6d 70 3b 62 75 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .=.&amp;buf;</span>.<span.class=
82d20 22 6c 69 6e 65 22 3e 20 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">
82d40 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d try</span>.expect(x[<span.class=
82d60 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 "tok-number">4</span>].==.<span.
82d80 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 class="tok-str">'o'</span>);</sp
82da0 61 6e 3e 0a 3c 73 70 61 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
82dc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 5b 35 5d 20 77 6f 75 .class="tok-comment">//.x[5].wou
82de0 6c 64 20 62 65 20 61 6e 20 75 6e 63 61 75 67 68 74 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 20 ld.be.an.uncaught.out.of.bounds.
82e00 70 6f 69 6e 74 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 21 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 pointer.dereference!</span></spa
82e20 6e 3e 0a 3c 73 70 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>.<
82e40 73 70 61 6e 20 63 6c 61 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.
82e60 63 6c 61 73 73 3d 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
82e80 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 69 6b 65 77 69 73 65 2c 20 69 74 20 77 6f 72 6b 73 20 77 68 65 mment">//.Likewise,.it.works.whe
82ea0 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 69 73 20 61 6e 20 6f 70 74 n.the.destination.type.is.an.opt
82ec0 69 6f 6e 61 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ional.</span></span>.<span.class
82ee0 3d 22 6c 69 6e 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
82f00 74 3c 2f 73 70 61 6e 3e 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">&
82f20 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 3f 5b 2a 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e quot;*[N]T.to.?[*]T&quot;</span>
82f40 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
82f60 20 3c 73 70 61 6e 20 63 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>
82f80 20 62 75 66 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e .buf:.[<span.class="tok-number">
82fa0 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 5</span>]<span.class="tok-type">
82fc0 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 u8</span>.=.<span.class="tok-str
82fe0 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 ">&quot;hello&quot;</span>.*;</s
83000 70 61 6e 3e 0a 3c 73 70 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
83020 6e 20 63 6c 61 73 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:
83040 20 3f 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f .?[*]<span.class="tok-type">u8</
83060 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 span>.=.&amp;buf;</span>.<span.c
83080 6c 61 73 73 3d 22 6c 69 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
830a0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 2e 3f 5b 3c 73 70 61 6e -kw">try</span>.expect(x.?[<span
830c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 20 3d 3d .class="tok-number">4</span>].==
830e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e .<span.class="tok-str">'o'</span
83100 3e 29 3b 3c 2f 73 70 61 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">}<
83120 2f 73 70 61 6e 3e 0a 3c 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
83140 3e 0a 3c 73 70 61 6e 20 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
83160 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f ="tok-comment">//.Single-item.po
83180 69 6e 74 65 72 73 20 63 61 6e 20 62 65 20 63 61 73 74 20 74 6f 20 6c 65 6e 2d 31 20 73 69 6e 67 inters.can.be.cast.to.len-1.sing
831a0 6c 65 2d 69 74 65 6d 20 61 72 72 61 79 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 le-item.arrays.</span></span>.<s
831c0 70 61 6e 20 63 6c 61 73 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
831e0 6b 2d 6b 77 22 3e 74 65 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
83200 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 54 20 74 6f 20 2a 5b 31 5d 54 26 71 75 6f 74 3b 3c ok-str">&quot;*T.to.*[1]T&quot;<
83220 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
83240 65 22 3e 20 20 20 20 3c 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<
83260 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 /span>.x:.<span.class="tok-type"
83280 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >i32</span>.=.<span.class="tok-n
832a0 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e umber">1234</span>;</span>.<span
832c0 20 63 6c 61 73 73 3d 22 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
832e0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 2a 5b 3c 73 70 61 6e 20 63 ok-kw">const</span>.y:.*[<span.c
83300 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e lass="tok-number">1</span>]<span
83320 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 .class="tok-type">i32</span>.=.&
83340 61 6d 70 3b 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 amp;x;</span>.<span.class="line"
83360 3e 20 20 20 20 3c 73 70 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<
83380 2f 73 70 61 6e 3e 20 7a 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 /span>.z:.[*]<span.class="tok-ty
833a0 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pe">i32</span>.=.y;</span>.<span
833c0 20 63 6c 61 73 73 3d 22 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
833e0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 7a 5b 3c 73 70 61 6e ok-kw">try</span>.expect(z[<span
83400 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>].==
83420 20 3c 73 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</
83440 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
83460 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>
83480 3c 66 69 67 75 72 65 3e 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
834a0 2d 63 61 70 22 3e 53 68 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
834c0 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
834e0 20 74 65 73 74 20 63 6f 65 72 63 65 5f 5f 73 6c 69 63 65 73 5f 61 72 72 61 79 73 5f 61 6e 64 5f .test.coerce__slices_arrays_and_
83500 70 74 72 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ptrs.zig</kbd></span>.<span.clas
83520 73 3d 22 6c 69 6e 65 22 3e 31 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 2a 63 6f 6e 73 74 20 5b s="line">1/7.test.&quot;*const.[
83540 4e 5d 54 20 74 6f 20 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 N]T.to.[]const.T&quot;....OK</sp
83560 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 37 20 74 65 73 74 20 an>.<span.class="line">2/7.test.
83580 26 71 75 6f 74 3b 2a 63 6f 6e 73 74 20 5b 4e 5d 54 20 74 6f 20 45 21 5b 5d 63 6f 6e 73 74 20 54 &quot;*const.[N]T.to.E![]const.T
835a0 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
835c0 22 6c 69 6e 65 22 3e 33 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 2a 63 6f 6e 73 74 20 5b 4e 5d "line">3/7.test.&quot;*const.[N]
835e0 54 20 74 6f 20 3f 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 T.to.?[]const.T&quot;....OK</spa
83600 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 37 20 74 65 73 74 20 26 n>.<span.class="line">4/7.test.&
83620 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 5b 5d 54 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 quot;*[N]T.to.[]T&quot;....OK</s
83640 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 35 2f 37 20 74 65 73 74 pan>.<span.class="line">5/7.test
83660 20 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 5b 2a 5d 54 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b .&quot;*[N]T.to.[*]T&quot;....OK
83680 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 36 2f 37 20 74 </span>.<span.class="line">6/7.t
836a0 65 73 74 20 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 3f 5b 2a 5d 54 26 71 75 6f 74 3b 2e 2e est.&quot;*[N]T.to.?[*]T&quot;..
836c0 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
836e0 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 2a 54 20 74 6f 20 2a 5b 31 5d 54 26 71 75 6f 74 3b 2e /7.test.&quot;*T.to.*[1]T&quot;.
83700 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">
83720 41 6c 6c 20 37 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d All.7.tests.passed.</span>.</sam
83740 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
83760 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 lso:</p><ul>.<li><a.href="#C-Poi
83780 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e nters">C.Pointers</a></li>.</ul>
837a0 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 ...............<h4.id="Type-Coer
837c0 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 cion-Optionals"><a.href="#toc-Ty
837e0 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 54 79 70 65 20 43 6f 65 72 pe-Coercion-Optionals">Type.Coer
83800 63 69 6f 6e 3a 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 cion:.Optionals</a>.<a.class="hd
83820 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 4f 70 74 69 6f 6e 61 6c r".href="#Type-Coercion-Optional
83840 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 s">..</a></h4>........<p>.......
83860 54 68 65 20 70 61 79 6c 6f 61 64 20 74 79 70 65 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 The.payload.type.of.<a.href="#Op
83880 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 2c 20 61 73 20 77 65 6c 6c 20 tionals">Optionals</a>,.as.well.
838a0 61 73 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 2c 20 63 6f 65 as.<a.href="#null">null</a>,.coe
838c0 72 63 65 20 74 6f 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e 0a 20 20 20 20 20 20 rce.to.the.optional.type........
838e0 3c 2f 70 3e 0a 20 20 20 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
83900 6c 61 73 73 3d 22 7a 69 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
83920 22 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 74 69 6f 6e 61 6c 73 2e 7a 69 67 3c 2f 63 69 74 ">test_coerce_optionals.zig</cit
83940 65 3e 3c 2f 66 69 67 63 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.
83960 63 6c 61 73 73 3d 22 6c 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
83980 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
839a0 3d 22 74 6f 6b 2d 62 75 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
839c0 70 61 6e 20 63 6c 61 73 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
839e0 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=
83a00 22 6c 69 6e 65 22 3e 3c 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
83a20 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
83a40 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">
83a60 3c 2f 73 70 61 6e 3e 0a 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
83a80 20 63 6c 61 73 73 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
83aa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 n.class="tok-str">&quot;coerce.t
83ac0 6f 20 6f 70 74 69 6f 6e 61 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e o.optionals&quot;</span>.{</span
83ae0 3e 0a 3c 73 70 61 6e 20 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
83b00 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3f 3c lass="tok-kw">const</span>.x:.?<
83b20 73 70 61 6e 20 63 6c 61 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>
83b40 20 3d 20 3c 73 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
83b60 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
83b80 65 22 3e 20 20 20 20 3c 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
83ba0 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 t</span>.y:.?<span.class="tok-ty
83bc0 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
83be0 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-null">null</span>;</span>.<spa
83c00 6e 20 63 6c 61 73 73 3d 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
83c20 73 73 3d 22 6c 69 6e 65 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
83c40 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 78 2e 3f 20 3d 3d 20 3c 73 70 61 w">try</span>.expect(x.?.==.<spa
83c60 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>
83c80 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
83ca0 20 3c 73 70 61 6e 20 63 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>
83cc0 20 65 78 70 65 63 74 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 .expect(y.==.<span.class="tok-nu
83ce0 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ll">null</span>);</span>.<span.c
83d00 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
83d20 3e 3c 2f 66 69 67 75 72 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
83d40 61 73 73 3d 22 73 68 65 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
83d60 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">
83d80 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 74 69 $.<kbd>zig.test.test_coerce_opti
83da0 6f 6e 61 6c 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 onals.zig</kbd></span>.<span.cla
83dc0 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 ss="line">1/1.test.&quot;coerce.
83de0 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a to.optionals&quot;....OK</span>.
83e00 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
83e20 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
83e40 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 49 74 20 77 6f 72 6b 73 20 6e 65 73 74 65 64 20 69 6e ure>.......<p>It.works.nested.in
83e60 73 69 64 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 side.the.<a.href="#Error-Union-T
83e80 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 2c 20 74 6f 6f 3a 3c ype">Error.Union.Type</a>,.too:<
83ea0 2f 70 3e 0a 20 20 20 20 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
83ec0 61 73 73 3d 22 7a 69 67 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"
83ee0 3e 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 74 69 6f 6e 61 6c 5f 77 72 61 70 70 65 64 5f 65 72 >test_coerce_optional_wrapped_er
83f00 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e ror_union.zig</cite></figcaption
83f20 3e 3c 70 72 65 3e 3c 63 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"><
83f40 73 70 61 6e 20 63 6c 61 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>
83f60 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"
83f80 3e 40 69 6d 70 6f 72 74 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
83fa0 2d 73 74 72 22 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>);</
83fc0 73 70 61 6e 3e 0a 3c 73 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
83fe0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 lass="tok-kw">const</span>.expec
84000 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c t.=.std.testing.expect;</span>.<
84020 73 70 61 6e 20 63 6c 61 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.
84040 63 6c 61 73 73 3d 22 6c 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
84060 22 3e 74 65 73 74 3c 2f 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
84080 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 20 77 72 tr">&quot;coerce.to.optionals.wr
840a0 61 70 70 65 64 20 69 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e apped.in.error.union&quot;</span
840c0 3e 20 7b 3c 2f 73 70 61 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">..
840e0 20 20 3c 73 70 61 6e 20 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
84100 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e an>.x:.<span.class="tok-type">an
84120 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d yerror</span>!?<span.class="tok-
84140 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="
84160 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a tok-number">1234</span>;</span>.
84180 3c 73 70 61 6e 20 63 6c 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
841a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 ss="tok-kw">const</span>.y:.<spa
841c0 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
841e0 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f n>!?<span.class="tok-type">i32</
84200 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e span>.=.<span.class="tok-null">n
84220 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ull</span>;</span>.<span.class="
84240 6c 69 6e 65 22 3e 3c 2f 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"
84260 3e 20 20 20 20 3c 73 70 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
84280 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 pan>.expect((<span.class="tok-kw
842a0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 29 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">try</span>.x).?.==.<span.class
842c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ="tok-number">1234</span>);</spa
842e0 6e 3e 0a 3c 73 70 61 6e 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.
84300 63 6c 61 73 73 3d 22 74 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
84320 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e ((<span.class="tok-kw">try</span
84340 3e 20 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e >.y).==.<span.class="tok-null">n
84360 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ull</span>);</span>.<span.class=
84380 22 6c 69 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
843a0 67 75 72 65 3e 3c 66 69 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="
843c0 73 68 65 6c 6c 2d 63 61 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
843e0 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
84400 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 6f 70 74 69 6f 6e 61 6c 5f d>zig.test.test_coerce_optional_
84420 77 72 61 70 70 65 64 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 wrapped_error_union.zig</kbd></s
84440 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
84460 20 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 20 77 72 61 70 70 .&quot;coerce.to.optionals.wrapp
84480 65 64 20 69 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 ed.in.error.union&quot;....OK</s
844a0 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
844c0 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>
844e0 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 </figure>..............<h4.id="T
84500 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 3c 61 20 68 72 ype-Coercion-Error-Unions"><a.hr
84520 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 ef="#toc-Type-Coercion-Error-Uni
84540 6f 6e 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 ons">Type.Coercion:.Error.Unions
84560 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d </a>.<a.class="hdr".href="#Type-
84580 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 Coercion-Error-Unions">..</a></h
845a0 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 70 61 79 6c 6f 61 64 20 74 79 70 65 20 6f 66 4>........<p>The.payload.type.of
845c0 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e .an.<a.href="#Error-Union-Type">
845e0 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 20 61 73 20 77 65 6c 6c 20 61 73 20 Error.Union.Type</a>.as.well.as.
84600 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 the.<a.href="#Error-Set-Type">Er
84620 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 0a 20 20 20 20 20 20 63 6f 65 72 63 65 20 74 6f ror.Set.Type</a>.......coerce.to
84640 20 74 68 65 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 .the.error.union.type:.......</p
84660 3e 0a 20 20 20 20 20 20 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
84680 73 3d 22 7a 69 67 2d 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
846a0 65 73 74 5f 63 6f 65 72 63 65 5f 74 6f 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 63 est_coerce_to_error_union.zig</c
846c0 69 74 65 3e 3c 2f 66 69 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
846e0 6e 20 63 6c 61 73 73 3d 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-
84700 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
84720 73 73 3d 22 74 6f 6b 2d 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>(
84740 3c 73 70 61 6e 20 63 6c 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&
84760 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
84780 73 3d 22 6c 69 6e 65 22 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
847a0 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.
847c0 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
847e0 22 3e 3c 2f 73 70 61 6e 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
84800 61 6e 20 63 6c 61 73 73 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
84820 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 pan.class="tok-str">&quot;coerci
84840 6f 6e 20 74 6f 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 on.to.error.unions&quot;</span>.
84860 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
84880 3c 73 70 61 6e 20 63 6c 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
848a0 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 >.x:.<span.class="tok-type">anye
848c0 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
848e0 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
84900 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -number">1234</span>;</span>.<sp
84920 61 6e 20 63 6c 61 73 73 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=
84940 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 "tok-kw">const</span>.y:.<span.c
84960 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>!
84980 3c 73 70 61 6e 20 63 6c 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
849a0 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f >.=.<span.class="tok-kw">error</
849c0 73 70 61 6e 3e 2e 46 61 69 6c 75 72 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 span>.Failure;</span>.<span.clas
849e0 73 3d 22 6c 69 6e 65 22 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
84a00 6e 65 22 3e 20 20 20 20 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
84a20 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.expect((<span.class="tok
84a40 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">try</span>.x).==.<span.clas
84a60 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 s="tok-number">1234</span>);</sp
84a80 61 6e 3e 0a 3c 73 70 61 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
84aa0 20 63 6c 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
84ac0 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 esting.expectError(<span.class="
84ae0 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 61 69 6c 75 72 65 2c 20 79 29 tok-kw">error</span>.Failure,.y)
84b00 3b 3c 2f 73 70 61 6e 3e 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
84b20 70 61 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
84b40 65 3e 3c 66 69 67 63 61 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">
84b60 53 68 65 6c 6c 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
84b80 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.
84ba0 74 65 73 74 5f 63 6f 65 72 63 65 5f 74 6f 5f 65 72 72 6f 72 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f test_coerce_to_error_union.zig</
84bc0 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
84be0 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 74 6f 20 65 72 72 6f 72 20 /1.test.&quot;coercion.to.error.
84c00 75 6e 69 6f 6e 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 unions&quot;....OK</span>.<span.
84c20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e class="line">All.1.tests.passed.
84c40 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>..
84c60 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
84c80 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e 3c 61 n-Compile-Time-Known-Numbers"><a
84ca0 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c .href="#toc-Type-Coercion-Compil
84cc0 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e 54 79 70 65 20 43 6f 65 72 63 e-Time-Known-Numbers">Type.Coerc
84ce0 69 6f 6e 3a 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 4b 6e 6f 77 6e 20 4e 75 6d 62 65 72 73 3c ion:.Compile-Time.Known.Numbers<
84d00 2f 61 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
84d20 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 oercion-Compile-Time-Known-Numbe
84d40 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 rs">..</a></h4>........<p>When.a
84d60 20 6e 75 6d 62 65 72 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 .number.is.<a.href="#comptime">c
84d80 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 72 65 70 72 65 73 65 6e omptime</a>-known.to.be.represen
84da0 74 61 62 6c 65 20 69 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 0a 20 table.in.the.destination.type,..
84dc0 20 20 20 20 20 69 74 20 6d 61 79 20 62 65 20 63 6f 65 72 63 65 64 3a 0a 20 20 20 20 20 20 3c 2f .....it.may.be.coerced:.......</
84de0 70 3e 0a 20 20 20 20 20 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
84e00 73 73 3d 22 7a 69 67 2d 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">
84e20 74 65 73 74 5f 63 6f 65 72 63 65 5f 6c 61 72 67 65 5f 74 6f 5f 73 6d 61 6c 6c 2e 7a 69 67 3c 2f test_coerce_large_to_small.zig</
84e40 63 69 74 65 3e 3c 2f 66 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
84e60 61 6e 20 63 6c 61 73 73 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
84e80 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
84ea0 61 73 73 3d 22 74 6f 6b 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>
84ec0 28 3c 73 70 61 6e 20 63 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
84ee0 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
84f00 73 73 3d 22 6c 69 6e 65 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
84f20 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
84f40 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
84f60 65 22 3e 3c 2f 73 70 61 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
84f80 70 61 6e 20 63 6c 61 73 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>.<
84fa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 span.class="tok-str">&quot;coerc
84fc0 69 6e 67 20 6c 61 72 67 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 74 6f 20 73 6d 61 6c 6c 65 ing.large.integer.type.to.smalle
84fe0 72 20 6f 6e 65 20 77 68 65 6e 20 76 61 6c 75 65 20 69 73 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f r.one.when.value.is.comptime.kno
85000 77 6e 20 74 6f 20 66 69 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a wn.to.fit&quot;</span>.{</span>.
85020 3c 73 70 61 6e 20 63 6c 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
85040 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 ss="tok-kw">const</span>.x:.<spa
85060 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 n.class="tok-type">u64</span>.=.
85080 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 <span.class="tok-number">255</sp
850a0 61 6e 3e 3b 3c 2f 73 70 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">.
850c0 20 20 20 3c 73 70 61 6e 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
850e0 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 pan>.y:.<span.class="tok-type">u
85100 38 3c 2f 73 70 61 6e 3e 20 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 8</span>.=.x;</span>.<span.class
85120 3d 22 6c 69 6e 65 22 3e 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"
85140 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c >try</span>.expect(y.==.<span.cl
85160 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 ass="tok-number">255</span>);</s
85180 70 61 6e 3e 0a 3c 73 70 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>
851a0 3c 2f 63 6f 64 65 3e 3c 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
851c0 69 67 63 61 70 74 69 6f 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
851e0 6c 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
85200 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
85220 5f 63 6f 65 72 63 65 5f 6c 61 72 67 65 5f 74 6f 5f 73 6d 61 6c 6c 2e 7a 69 67 3c 2f 6b 62 64 3e _coerce_large_to_small.zig</kbd>
85240 3c 2f 73 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
85260 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 69 6e 67 20 6c 61 72 67 65 20 69 6e 74 65 67 65 72 est.&quot;coercing.large.integer
85280 20 74 79 70 65 20 74 6f 20 73 6d 61 6c 6c 65 72 20 6f 6e 65 20 77 68 65 6e 20 76 61 6c 75 65 20 .type.to.smaller.one.when.value.
852a0 69 73 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 20 74 6f 20 66 69 74 26 71 75 6f 74 3b 2e 2e is.comptime.known.to.fit&quot;..
852c0 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
852e0 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
85300 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 ></pre></figure>..............<h
85320 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 69 6f 6e 73 2d 61 6e 64 2d 65 4.id="Type-Coercion-unions-and-e
85340 6e 75 6d 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f nums"><a.href="#toc-Type-Coercio
85360 6e 2d 75 6e 69 6f 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f n-unions-and-enums">Type.Coercio
85380 6e 3a 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 n:.unions.and.enums</a>.<a.class
853a0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 69 6f ="hdr".href="#Type-Coercion-unio
853c0 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 ns-and-enums">..</a></h4>.......
853e0 20 3c 70 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 73 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 .<p>Tagged.unions.can.be.coerced
85400 20 74 6f 20 65 6e 75 6d 73 2c 20 61 6e 64 20 65 6e 75 6d 73 20 63 61 6e 20 62 65 20 63 6f 65 72 .to.enums,.and.enums.can.be.coer
85420 63 65 64 20 74 6f 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 73 0a 20 20 20 20 20 20 77 68 65 6e 20 ced.to.tagged.unions.......when.
85440 74 68 65 79 20 61 72 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d they.are.<a.href="#comptime">com
85460 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 61 20 66 69 65 6c 64 20 6f 66 ptime</a>-known.to.be.a.field.of
85480 20 74 68 65 20 75 6e 69 6f 6e 20 74 68 61 74 20 68 61 73 20 6f 6e 6c 79 20 6f 6e 65 20 70 6f 73 .the.union.that.has.only.one.pos
854a0 73 69 62 6c 65 20 76 61 6c 75 65 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 61 20 68 72 sible.value,.such.as.......<a.hr
854c0 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ef="#void">void</a>:.......</p>.
854e0 20 20 20 20 20 20 3c 66 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=
85500 22 7a 69 67 2d 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
85520 74 5f 63 6f 65 72 63 65 5f 75 6e 69 6f 6e 73 5f 65 6e 75 6d 73 2e 7a 69 67 3c 2f 63 69 74 65 3e t_coerce_unions_enums.zig</cite>
85540 3c 2f 66 69 67 63 61 70 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
85560 61 73 73 3d 22 6c 69 6e 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">
85580 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="
855a0 74 6f 6b 2d 62 75 69 6c 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
855c0 6e 20 63 6c 61 73 73 3d 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
855e0 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
85600 69 6e 65 22 3e 3c 73 70 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<
85620 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
85640 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"></
85660 73 70 61 6e 3e 0a 3c 73 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
85680 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 20 3d 20 3c lass="tok-kw">const</span>.E.=.<
856a0 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>.
856c0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
856e0 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">.
85700 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
85720 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=
85740 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
85760 6e 65 22 3e 3c 2f 73 70 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"><
85780 73 70 61 6e 20 63 6c 61 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>
857a0 20 55 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c .U.=.<span.class="tok-kw">union<
857c0 2f 73 70 61 6e 3e 28 45 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>(E).{</span>.<span.class="
857e0 6c 69 6e 65 22 3e 20 20 20 20 6f 6e 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d line">....one:.<span.class="tok-
85800 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
85820 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 77 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 lass="line">....two:.<span.class
85840 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c ="tok-type">f32</span>,</span>.<
85860 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 68 72 65 65 2c 3c 2f 73 70 span.class="line">....three,</sp
85880 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>
858a0 0a 3c 73 70 61 6e 20 63 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
858c0 6e 20 63 6c 61 73 73 3d 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-
858e0 6b 77 22 3e 74 65 73 74 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
85900 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 62 65 74 77 65 65 6e 20 75 6e 69 -str">&quot;coercion.between.uni
85920 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 ons.and.enums&quot;</span>.{</sp
85940 61 6e 3e 0a 3c 73 70 61 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
85960 20 63 6c 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
85980 7b 20 2e 74 77 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 {..two.=.<span.class="tok-number
859a0 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ">12.34</span>.};</span>.<span.c
859c0 6c 61 73 73 3d 22 6c 69 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
859e0 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 65 3a 20 45 20 3d 20 75 3b 3c 2f 73 70 61 6e 3e -kw">var</span>.e:.E.=.u;</span>
85a00 0a 3c 73 70 61 6e 20 63 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
85a20 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 65 ass="tok-kw">try</span>.expect(e
85a40 20 3d 3d 20 45 2e 74 77 6f 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .==.E.two);</span>.<span.class="
85a60 6c 69 6e 65 22 3e 3c 2f 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"
85a80 3e 20 20 20 20 3c 73 70 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<
85aa0 2f 73 70 61 6e 3e 20 74 68 72 65 65 20 3d 20 45 2e 74 68 72 65 65 3b 3c 2f 73 70 61 6e 3e 0a 3c /span>.three.=.E.three;</span>.<
85ac0 73 70 61 6e 20 63 6c 61 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
85ae0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 68 65 72 5f 75 3a s="tok-kw">var</span>.another_u:
85b00 20 55 20 3d 20 74 68 72 65 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .U.=.three;</span>.<span.class="
85b20 6c 69 6e 65 22 3e 20 20 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
85b40 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 6e 6f 74 68 65 72 5f 75 20 3d 3d 20 45 2e ry</span>.expect(another_u.==.E.
85b60 74 68 72 65 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 three);</span>.<span.class="line
85b80 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>
85ba0 3c 66 69 67 75 72 65 3e 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
85bc0 2d 63 61 70 22 3e 53 68 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
85be0 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
85c00 20 74 65 73 74 20 74 65 73 74 5f 63 6f 65 72 63 65 5f 75 6e 69 6f 6e 73 5f 65 6e 75 6d 73 2e 7a .test.test_coerce_unions_enums.z
85c20 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
85c40 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 62 65 74 77 65 e">1/1.test.&quot;coercion.betwe
85c60 65 6e 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c en.unions.and.enums&quot;....OK<
85c80 2f 73 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.
85ca0 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
85cc0 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:</
85ce0 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f p><ul>.<li><a.href="#union">unio
85d00 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 n</a></li>.<li><a.href="#enum">e
85d20 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 num</a></li>.</ul>..............
85d40 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 5a 65 72 6f 2d 42 69 74 2d .<h4.id="Type-Coercion-Zero-Bit-
85d60 54 79 70 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 Types"><a.href="#toc-Type-Coerci
85d80 6f 6e 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e on-Zero-Bit-Types">Type.Coercion
85da0 3a 20 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 :.Zero.Bit.Types</a>.<a.class="h
85dc0 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 5a 65 72 6f 2d 42 69 dr".href="#Type-Coercion-Zero-Bi
85de0 74 2d 54 79 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c t-Types">..</a></h4>........<p><
85e00 61 20 68 72 65 66 3d 22 23 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 5a 65 72 6f 20 42 69 a.href="#Zero-Bit-Types">Zero.Bi
85e20 74 20 54 79 70 65 73 3c 2f 61 3e 20 6d 61 79 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 73 69 t.Types</a>.may.be.coerced.to.si
85e40 6e 67 6c 65 2d 69 74 65 6d 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f ngle-item.<a.href="#Pointers">Po
85e60 69 6e 74 65 72 73 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 inters</a>,.......regardless.of.
85e80 63 6f 6e 73 74 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 20 64 6f 63 75 6d 65 6e const.</p>.......<p>TODO.documen
85ea0 74 20 74 68 65 20 72 65 61 73 6f 6e 69 6e 67 20 66 6f 72 20 74 68 69 73 3c 2f 70 3e 0a 20 20 20 t.the.reasoning.for.this</p>....
85ec0 20 20 20 3c 70 3e 54 4f 44 4f 20 64 6f 63 75 6d 65 6e 74 20 77 68 65 74 68 65 72 20 76 69 63 65 ...<p>TODO.document.whether.vice
85ee0 20 76 65 72 73 61 20 73 68 6f 75 6c 64 20 77 6f 72 6b 20 61 6e 64 20 77 68 79 3c 2f 70 3e 0a 20 .versa.should.work.and.why</p>..
85f00 20 20 20 20 20 3c 66 69 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="
85f20 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 65 72 zig-cap"><cite.class="file">coer
85f40 63 65 5f 7a 65 72 6f 5f 62 69 74 5f 74 79 70 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 ce_zero_bit_types.zig</cite></fi
85f60 67 63 61 70 74 69 6f 6e 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=
85f80 22 6c 69 6e 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
85fa0 3c 2f 73 70 61 6e 3e 20 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
85fc0 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 6f 66 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 73 26 71 uot;coercion.of.zero.bit.types&q
85fe0 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
86000 3d 22 6c 69 6e 65 22 3e 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"
86020 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >var</span>.x:.<span.class="tok-
86040 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 3d 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c type">void</span>.=.{};</span>.<
86060 73 70 61 6e 20 63 6c 61 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
86080 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 2a 3c 73 70 61 6e 20 s="tok-kw">var</span>.y:.*<span.
860a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 3d 20 78 class="tok-type">void</span>.=.x
860c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
860e0 5f 20 3d 20 79 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 _.=.y;</span>.<span.class="line"
86100 3e 7d 3c 2f 73 70 61 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><
86120 66 69 67 75 72 65 3e 3c 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-
86140 63 61 70 22 3e 53 68 65 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
86160 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.
86180 74 65 73 74 20 63 6f 65 72 63 65 5f 7a 65 72 6f 5f 62 69 74 5f 74 79 70 65 73 2e 7a 69 67 3c 2f test.coerce_zero_bit_types.zig</
861a0 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
861c0 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 6f 66 20 7a 65 72 6f 20 62 /1.test.&quot;coercion.of.zero.b
861e0 69 74 20 74 79 70 65 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 it.types&quot;....OK</span>.<spa
86200 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
86220 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>
86240 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 ..............<h4.id="Type-Coerc
86260 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 ion-undefined"><a.href="#toc-Typ
86280 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e 54 79 70 65 20 43 6f 65 72 63 e-Coercion-undefined">Type.Coerc
862a0 69 6f 6e 3a 20 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ion:.undefined</a>.<a.class="hdr
862c0 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 ".href="#Type-Coercion-undefined
862e0 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d ">..</a></h4>........<p><a.href=
86300 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 63 61 6e 20 62 "#undefined">undefined</a>.can.b
86320 65 20 63 61 73 74 20 74 6f 20 61 6e 79 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 e.cast.to.any.type.</p>.........
86340 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 70 6c 69 63 69 74 2d 43 61 .............<h3.id="Explicit-Ca
86360 73 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 70 6c 69 63 69 74 2d 43 61 73 74 sts"><a.href="#toc-Explicit-Cast
86380 73 22 3e 45 78 70 6c 69 63 69 74 20 43 61 73 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 s">Explicit.Casts</a>.<a.class="
863a0 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 70 6c 69 63 69 74 2d 43 61 73 74 73 22 3e c2 a7 3c 2f hdr".href="#Explicit-Casts">..</
863c0 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 70 6c 69 63 69 a></h3>........<p>.......Explici
863e0 74 20 63 61 73 74 73 20 61 72 65 20 70 65 72 66 6f 72 6d 65 64 20 76 69 61 20 3c 61 20 68 72 65 t.casts.are.performed.via.<a.hre
86400 66 3d 22 23 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 46 f="#Builtin-Functions">Builtin.F
86420 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 53 6f 6d 65 20 65 78 70 6c 69 63 69 unctions</a>........Some.explici
86440 74 20 63 61 73 74 73 20 61 72 65 20 73 61 66 65 3b 20 73 6f 6d 65 20 61 72 65 20 6e 6f 74 2e 0a t.casts.are.safe;.some.are.not..
86460 20 20 20 20 20 20 53 6f 6d 65 20 65 78 70 6c 69 63 69 74 20 63 61 73 74 73 20 70 65 72 66 6f 72 ......Some.explicit.casts.perfor
86480 6d 20 6c 61 6e 67 75 61 67 65 2d 6c 65 76 65 6c 20 61 73 73 65 72 74 69 6f 6e 73 3b 20 73 6f 6d m.language-level.assertions;.som
864a0 65 20 64 6f 20 6e 6f 74 2e 0a 20 20 20 20 20 20 53 6f 6d 65 20 65 78 70 6c 69 63 69 74 20 63 61 e.do.not........Some.explicit.ca
864c0 73 74 73 20 61 72 65 20 6e 6f 2d 6f 70 73 20 61 74 20 72 75 6e 74 69 6d 65 3b 20 73 6f 6d 65 20 sts.are.no-ops.at.runtime;.some.
864e0 61 72 65 20 6e 6f 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 are.not........</p>.......<ul>..
86500 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 69 74 43 61 73 74 22 3e .........<li><a.href="#bitCast">
86520 40 62 69 74 43 61 73 74 3c 2f 61 3e 20 2d 20 63 68 61 6e 67 65 20 74 79 70 65 20 62 75 74 20 6d @bitCast</a>.-.change.type.but.m
86540 61 69 6e 74 61 69 6e 20 62 69 74 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 3c 2f 6c 69 3e 0a aintain.bit.representation</li>.
86560 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 ..........<li><a.href="#alignCas
86580 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 20 2d 20 6d 61 6b 65 20 61 20 70 6f 69 6e 74 t">@alignCast</a>.-.make.a.point
865a0 65 72 20 68 61 76 65 20 6d 6f 72 65 20 61 6c 69 67 6e 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 er.have.more.alignment</li>.....
865c0 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 6f 6f 6c 54 6f 49 6e 74 22 3e 40 ......<li><a.href="#boolToInt">@
865e0 62 6f 6f 6c 54 6f 49 6e 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 74 72 75 65 20 74 6f 20 boolToInt</a>.-.convert.true.to.
86600 31 20 61 6e 64 20 66 61 6c 73 65 20 74 6f 20 30 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 1.and.false.to.0</li>...........
86620 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 54 6f 49 6e 74 22 3e 40 65 6e 75 6d 54 6f <li><a.href="#enumToInt">@enumTo
86640 49 6e 74 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 61 67 Int</a>.-.obtain.the.integer.tag
86660 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 65 6e 75 6d 20 6f 72 20 74 61 67 67 65 64 20 75 6e 69 6f .value.of.an.enum.or.tagged.unio
86680 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 n</li>...........<li><a.href="#e
866a0 72 72 53 65 74 43 61 73 74 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 61 3e 20 2d 20 63 6f 6e rrSetCast">@errSetCast</a>.-.con
866c0 76 65 72 74 20 74 6f 20 61 20 73 6d 61 6c 6c 65 72 20 65 72 72 6f 72 20 73 65 74 3c 2f 6c 69 3e vert.to.a.smaller.error.set</li>
866e0 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 72 72 6f 72 54 6f ...........<li><a.href="#errorTo
86700 49 6e 74 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 74 68 Int">@errorToInt</a>.-.obtain.th
86720 65 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 e.integer.value.of.an.error.code
86740 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6c </li>...........<li><a.href="#fl
86760 6f 61 74 43 61 73 74 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 oatCast">@floatCast</a>.-.conver
86780 74 20 61 20 6c 61 72 67 65 72 20 66 6c 6f 61 74 20 74 6f 20 61 20 73 6d 61 6c 6c 65 72 20 66 6c t.a.larger.float.to.a.smaller.fl
867a0 6f 61 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 oat</li>...........<li><a.href="
867c0 23 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 74 54 6f 49 6e 74 3c 2f 61 3e 20 2d 20 6f #floatToInt">@floatToInt</a>.-.o
867e0 62 74 61 69 6e 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 6f 66 20 61 20 66 6c 6f 61 btain.the.integer.part.of.a.floa
86800 74 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 t.value</li>...........<li><a.hr
86820 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 20 2d 20 63 6f 6e ef="#intCast">@intCast</a>.-.con
86840 76 65 72 74 20 62 65 74 77 65 65 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 73 3c 2f 6c 69 3e 0a vert.between.integer.types</li>.
86860 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 6e 75 ..........<li><a.href="#intToEnu
86880 6d 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 61 6e 20 65 6e m">@intToEnum</a>.-.obtain.an.en
868a0 75 6d 20 76 61 6c 75 65 20 62 61 73 65 64 20 6f 6e 20 69 74 73 20 69 6e 74 65 67 65 72 20 74 61 um.value.based.on.its.integer.ta
868c0 67 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 g.value</li>...........<li><a.hr
868e0 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>
86900 20 2d 20 6f 62 74 61 69 6e 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 20 62 61 73 65 64 20 6f 6e .-.obtain.an.error.code.based.on
86920 20 69 74 73 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 .its.integer.value</li>.........
86940 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 46 6c 6f 61 74 22 3e 40 69 6e 74 ..<li><a.href="#intToFloat">@int
86960 54 6f 46 6c 6f 61 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 ToFloat</a>.-.convert.an.integer
86980 20 74 6f 20 61 20 66 6c 6f 61 74 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 .to.a.float.value</li>..........
869a0 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 50 74 72 22 3e 40 69 6e 74 54 6f 50 .<li><a.href="#intToPtr">@intToP
869c0 74 72 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 61 6e 20 61 64 64 72 65 73 73 20 74 6f 20 61 tr</a>.-.convert.an.address.to.a
869e0 20 70 6f 69 6e 74 65 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 .pointer</li>...........<li><a.h
86a00 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 20 2d 20 63 6f ref="#ptrCast">@ptrCast</a>.-.co
86a20 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 3c 2f 6c 69 3e nvert.between.pointer.types</li>
86a40 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 74 72 54 6f 49 6e ...........<li><a.href="#ptrToIn
86a60 74 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 74 68 65 20 61 64 t">@ptrToInt</a>.-.obtain.the.ad
86a80 64 72 65 73 73 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 dress.of.a.pointer</li>.........
86aa0 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 ..<li><a.href="#truncate">@trunc
86ac0 61 74 65 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 69 6e 74 65 67 65 ate</a>.-.convert.between.intege
86ae0 72 20 74 79 70 65 73 2c 20 63 68 6f 70 70 69 6e 67 20 6f 66 66 20 62 69 74 73 3c 2f 6c 69 3e 0a r.types,.chopping.off.bits</li>.
86b00 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 ......</ul>...............<h3.id
86b20 3d 22 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d ="Peer-Type-Resolution"><a.href=
86b40 22 23 74 6f 63 2d 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 "#toc-Peer-Type-Resolution">Peer
86b60 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 .Type.Resolution</a>.<a.class="h
86b80 64 72 22 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 dr".href="#Peer-Type-Resolution"
86ba0 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 50 65 65 72 20 54 79 70 65 >..</a></h3>........<p>Peer.Type
86bc0 20 52 65 73 6f 6c 75 74 69 6f 6e 20 6f 63 63 75 72 73 20 69 6e 20 74 68 65 73 65 20 70 6c 61 63 .Resolution.occurs.in.these.plac
86be0 65 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c es:</p>.......<ul>.........<li><
86c00 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 65 78 70 72 a.href="#switch">switch</a>.expr
86c20 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 essions</li>.........<li><a.href
86c40 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 ="#if">if</a>.expressions</li>..
86c60 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c .......<li><a.href="#while">whil
86c80 65 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c e</a>.expressions</li>.........<
86ca0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 20 65 78 70 72 65 73 li><a.href="#for">for</a>.expres
86cc0 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 75 6c 74 69 70 6c 65 20 sions</li>.........<li>Multiple.
86ce0 62 72 65 61 6b 20 73 74 61 74 65 6d 65 6e 74 73 20 69 6e 20 61 20 62 6c 6f 63 6b 3c 2f 6c 69 3e break.statements.in.a.block</li>
86d00 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6f 6d 65 20 3c 61 20 68 72 65 66 3d 22 23 54 61 62 6c .........<li>Some.<a.href="#Tabl
86d20 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e 62 69 6e 61 72 79 20 6f 70 65 72 61 74 69 6f 6e e-of-Operators">binary.operation
86d40 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e s</a></li>.......</ul>.......<p>
86d60 0a 20 20 20 20 20 20 54 68 69 73 20 6b 69 6e 64 20 6f 66 20 74 79 70 65 20 72 65 73 6f 6c 75 74 .......This.kind.of.type.resolut
86d80 69 6f 6e 20 63 68 6f 6f 73 65 73 20 61 20 74 79 70 65 20 74 68 61 74 20 61 6c 6c 20 70 65 65 72 ion.chooses.a.type.that.all.peer
86da0 20 74 79 70 65 73 20 63 61 6e 20 63 6f 65 72 63 65 20 69 6e 74 6f 2e 20 48 65 72 65 20 61 72 65 .types.can.coerce.into..Here.are
86dc0 0a 20 20 20 20 20 20 73 6f 6d 65 20 65 78 61 6d 70 6c 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e .......some.examples:.......</p>
86de0 0a 20 20 20 20 20 20 3c 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
86e00 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 65 ="zig-cap"><cite.class="file">pe
86e20 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 er_type_resolution.zig</cite></f
86e40 69 67 63 61 70 74 69 6f 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
86e60 3d 22 6c 69 6e 65 22 3e 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
86e80 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
86ea0 2d 62 75 69 6c 74 69 6e 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
86ec0 6c 61 73 73 3d 22 74 6f 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;</
86ee0 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
86f00 22 3e 3c 73 70 61 6e 20 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
86f20 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;
86f40 3c 2f 73 70 61 6e 3e 0a 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
86f60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d .class="tok-kw">const</span>.mem
86f80 20 3d 20 73 74 64 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .=.std.mem;</span>.<span.class="
86fa0 6c 69 6e 65 22 3e 3c 2f 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"
86fc0 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
86fe0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 >.<span.class="tok-str">&quot;pe
87000 65 72 20 72 65 73 6f 6c 76 65 20 69 6e 74 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 er.resolve.int.widening&quot;</s
87020 70 61 6e 3e 20 7b 3c 2f 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"
87040 3e 20 20 20 20 3c 73 70 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
87060 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 pan>.a:.<span.class="tok-type">i
87080 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
870a0 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">12</span>;</span>.<span.clas
870c0 73 3d 22 6c 69 6e 65 22 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
870e0 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">var</span>.b:.<span.class="tok
87100 2d 74 79 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">i16</span>.=.<span.class=
87120 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c "tok-number">34</span>;</span>.<
87140 73 70 61 6e 20 63 6c 61 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
87160 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 2b 20 62 3b s="tok-kw">var</span>.c.=.a.+.b;
87180 3c 2f 73 70 61 6e 3e 0a 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">....<
871a0 73 70 61 6e 20 63 6c 61 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
871c0 78 70 65 63 74 28 63 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 xpect(c.==.<span.class="tok-numb
871e0 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 er">46</span>);</span>.<span.cla
87200 73 73 3d 22 6c 69 6e 65 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
87220 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
87240 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 63 29 ="tok-builtin">@TypeOf</span>(c)
87260 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 31 36 3c 2f .==.<span.class="tok-type">i16</
87280 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
872a0 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"></
872c0 73 70 61 6e 3e 0a 3c 73 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
872e0 6c 61 73 73 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.
87300 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c class="tok-str">&quot;peer.resol
87320 76 65 20 61 72 72 61 79 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 73 69 7a 65 20 74 6f 20 63 ve.arrays.of.different.size.to.c
87340 6f 6e 73 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e onst.slice&quot;</span>.{</span>
87360 0a 3c 73 70 61 6e 20 63 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
87380 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d ass="tok-kw">try</span>.expect(m
873a0 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 em.eql(<span.class="tok-type">u8
873c0 3c 2f 73 70 61 6e 3e 2c 20 62 6f 6f 6c 54 6f 53 74 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>,.boolToStr(<span.class="
873e0 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c tok-null">true</span>),.<span.cl
87400 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 75 65 26 71 75 6f 74 3b 3c 2f ass="tok-str">&quot;true&quot;</
87420 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
87440 65 22 3e 20 20 20 20 3c 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<
87460 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
87480 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 6f 6f 6c 54 6f 53 74 s="tok-type">u8</span>,.boolToSt
874a0 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f r(<span.class="tok-null">false</
874c0 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
874e0 75 6f 74 3b 66 61 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e uot;false&quot;</span>));</span>
87500 0a 3c 73 70 61 6e 20 63 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
87520 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 ass="tok-kw">comptime</span>.<sp
87540 61 6e 20 63 6c 61 73 73 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
87560 65 63 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ect(mem.eql(<span.class="tok-typ
87580 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 6f 6f 6c 54 6f 53 74 72 28 3c 73 70 61 6e 20 63 6c e">u8</span>,.boolToStr(<span.cl
875a0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 ass="tok-null">true</span>),.<sp
875c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 75 65 26 71 75 an.class="tok-str">&quot;true&qu
875e0 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
87600 3d 22 6c 69 6e 65 22 3e 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"
87620 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >comptime</span>.<span.class="to
87640 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 65 6d 2e 65 71 6c 28 k-kw">try</span>.expect(mem.eql(
87660 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>
87680 2c 20 62 6f 6f 6c 54 6f 53 74 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c ,.boolToStr(<span.class="tok-nul
876a0 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 l">false</span>),.<span.class="t
876c0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 61 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ok-str">&quot;false&quot;</span>
876e0 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c ));</span>.<span.class="line">}<
87700 2f 73 70 61 6e 3e 0a 3c 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.
87720 63 6c 61 73 73 3d 22 74 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
87740 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 6f 6f 6c 54 6f 53 74 72 3c 2f 73 70 61 6e 3e 28 62 lass="tok-fn">boolToStr</span>(b
87760 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 :.<span.class="tok-type">bool</s
87780 70 61 6e 3e 29 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e pan>).[]<span.class="tok-kw">con
877a0 73 74 3c 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"
877c0 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >u8</span>.{</span>.<span.class=
877e0 22 6c 69 6e 65 22 3e 20 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">
87800 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b return</span>.<span.class="tok-k
87820 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f w">if</span>.(b).<span.class="to
87840 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c k-str">&quot;true&quot;</span>.<
87860 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>.
87880 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 61 6c 73 <span.class="tok-str">&quot;fals
878a0 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 e&quot;</span>;</span>.<span.cla
878c0 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="
878e0 6c 69 6e 65 22 3e 3c 2f 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"
87900 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
87920 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 >.<span.class="tok-str">&quot;pe
87940 65 72 20 72 65 73 6f 6c 76 65 20 61 72 72 61 79 20 61 6e 64 20 63 6f 6e 73 74 20 73 6c 69 63 65 er.resolve.array.and.const.slice
87960 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
87980 73 73 3d 22 6c 69 6e 65 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
879a0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 65 73 74 50 65 65 72 52 65 73 6f 6c 76 65 41 72 72 w">try</span>.testPeerResolveArr
879c0 61 79 43 6f 6e 73 74 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 ayConstSlice(<span.class="tok-nu
879e0 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ll">true</span>);</span>.<span.c
87a00 6c 61 73 73 3d 22 6c 69 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
87a20 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 -kw">comptime</span>.<span.class
87a40 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 74 65 73 74 50 65 65 72 52 65 73 ="tok-kw">try</span>.testPeerRes
87a60 6f 6c 76 65 41 72 72 61 79 43 6f 6e 73 74 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d olveArrayConstSlice(<span.class=
87a80 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a "tok-null">true</span>);</span>.
87aa0 3c 73 70 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
87ac0 6e 20 63 6c 61 73 73 3d 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-
87ae0 6b 77 22 3e 66 6e 3c 2f 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
87b00 6e 22 3e 74 65 73 74 50 65 65 72 52 65 73 6f 6c 76 65 41 72 72 61 79 43 6f 6e 73 74 53 6c 69 63 n">testPeerResolveArrayConstSlic
87b20 65 3c 2f 73 70 61 6e 3e 28 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 e</span>(b:.<span.class="tok-typ
87b40 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f e">bool</span>).!<span.class="to
87b60 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
87b80 61 6e 20 63 6c 61 73 73 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=
87ba0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 31 20 3d 20 3c "tok-kw">const</span>.value1.=.<
87bc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 span.class="tok-kw">if</span>.(b
87be0 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6f ).<span.class="tok-str">&quot;ao
87c00 65 75 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b eu&quot;</span>.<span.class="tok
87c20 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f -kw">else</span>.<span.class="to
87c40 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 5b 5d 3c 73 70 61 6e 20 63 6c k-builtin">@as</span>([]<span.cl
87c60 61 73 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.
87c80 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 class="tok-type">u8</span>,.<spa
87ca0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 7a 26 71 75 6f 74 3b n.class="tok-str">&quot;zz&quot;
87cc0 3c 2f 73 70 61 6e 3e 29 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
87ce0 6e 65 22 3e 20 20 20 20 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
87d00 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 st</span>.value2.=.<span.class="
87d20 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 70 61 6e 20 63 6c 61 73 tok-kw">if</span>.(b).<span.clas
87d40 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 5b 5d 3c 73 70 s="tok-builtin">@as</span>([]<sp
87d60 61 6e 20 63 6c 61 73 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>.<
87d80 73 70 61 6e 20 63 6c 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>,
87da0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 7a 26 .<span.class="tok-str">&quot;zz&
87dc0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b quot;</span>).<span.class="tok-k
87de0 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d w">else</span>.<span.class="tok-
87e00 73 74 72 22 3e 26 71 75 6f 74 3b 61 6f 65 75 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 str">&quot;aoeu&quot;</span>;</s
87e20 70 61 6e 3e 0a 3c 73 70 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
87e40 6e 20 63 6c 61 73 73 3d 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
87e60 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
87e80 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 31 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">u8</span>,.value1,.<span.class
87ea0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6f 65 75 26 71 75 6f 74 3b 3c 2f 73 70 61 ="tok-str">&quot;aoeu&quot;</spa
87ec0 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">
87ee0 20 20 20 20 3c 73 70 61 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
87f00 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="
87f20 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 32 2c 20 3c 73 70 tok-type">u8</span>,.value2,.<sp
87f40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 7a 26 71 75 6f 74 an.class="tok-str">&quot;zz&quot
87f60 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="
87f80 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
87fa0 22 3e 3c 2f 73 70 61 6e 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
87fc0 61 6e 20 63 6c 61 73 73 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
87fe0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 pan.class="tok-str">&quot;peer.t
88000 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 3f 54 20 61 6e 64 20 54 26 71 75 6f 74 3b 3c 2f ype.resolution:.?T.and.T&quot;</
88020 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
88040 22 3e 20 20 20 20 3c 73 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</
88060 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
88080 6c 54 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f lT(<span.class="tok-null">true</
880a0 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 span>,.<span.class="tok-null">fa
880c0 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f lse</span>).?.==.<span.class="to
880e0 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
88100 6e 20 63 6c 61 73 73 3d 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="
88120 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 65 72 54 79 tok-kw">try</span>.expect(peerTy
88140 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b peTAndOptionalT(<span.class="tok
88160 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 -null">false</span>,.<span.class
88180 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 20 3d 3d 20 3c ="tok-null">false</span>).?.==.<
881a0 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>
881c0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
881e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f .<span.class="tok-kw">comptime</
88200 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
88220 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ">........<span.class="tok-kw">t
88240 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 65 72 54 79 70 65 54 41 6e 64 4f 70 74 ry</span>.expect(peerTypeTAndOpt
88260 69 6f 6e 61 6c 54 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 ionalT(<span.class="tok-null">tr
88280 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c ue</span>,.<span.class="tok-null
882a0 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">false</span>).?.==.<span.class
882c0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a ="tok-number">0</span>);</span>.
882e0 3c 73 70 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
88300 20 63 6c 61 73 73 3d 22 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
88320 74 28 70 65 65 72 54 79 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 28 3c 73 70 61 6e 20 63 6c t(peerTypeTAndOptionalT(<span.cl
88340 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 ass="tok-null">false</span>,.<sp
88360 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>
88380 29 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ).?.==.<span.class="tok-number">
883a0 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
883c0 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
883e0 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"
88400 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>.
88420 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 65 72 54 79 70 65 54 41 6e <span.class="tok-fn">peerTypeTAn
88440 64 4f 70 74 69 6f 6e 61 6c 54 3c 2f 73 70 61 6e 3e 28 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 dOptionalT</span>(c:.<span.class
88460 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 ="tok-type">bool</span>,.b:.<spa
88480 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>).
884a0 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 ?<span.class="tok-type">usize</s
884c0 70 61 6e 3e 20 7b 3c 2f 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"
884e0 3e 20 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
88500 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 an>.(c).{</span>.<span.class="li
88520 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"
88540 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-
88560 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 kw">if</span>.(b).<span.class="t
88580 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-null">null</span>.<span.class
885a0 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 ="tok-kw">else</span>.<span.clas
885c0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e s="tok-builtin">@as</span>(<span
885e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 .class="tok-type">usize</span>,.
88600 3c 73 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
88620 3e 29 3b 3c 2f 73 70 61 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">..
88640 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"></
88660 73 70 61 6e 3e 0a 3c 73 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
88680 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>.
886a0 3c 73 70 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
886c0 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a pan>(<span.class="tok-type">usiz
886e0 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 e</span>,.<span.class="tok-numbe
88700 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
88720 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
88740 6e 65 22 3e 3c 2f 73 70 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"><
88760 73 70 61 6e 20 63 6c 61 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>.
88780 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 <span.class="tok-str">&quot;peer
887a0 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 5d 75 38 20 61 6e 64 20 5b 5d 63 .type.resolution:.*[0]u8.and.[]c
887c0 6f 6e 73 74 20 75 38 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 onst.u8&quot;</span>.{</span>.<s
887e0 70 61 6e 20 63 6c 61 73 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
88800 3d 22 74 6f 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
88820 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 TypeEmptyArrayAndSlice(<span.cla
88840 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ss="tok-null">true</span>,.<span
88860 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c .class="tok-str">&quot;hi&quot;<
88880 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>).len.==.<span.class="tok-
888a0 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.
888c0 63 6c 61 73 73 3d 22 6c 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
888e0 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
88900 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 EmptyArrayAndSlice(<span.class="
88920 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c tok-null">false</span>,.<span.cl
88940 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 ass="tok-str">&quot;hi&quot;</sp
88960 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d an>).len.==.<span.class="tok-num
88980 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">1</span>);</span>.<span.cla
889a0 73 73 3d 22 6c 69 6e 65 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
889c0 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
889e0 6e 20 63 6c 61 73 73 3d 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
88a00 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 ss="tok-kw">try</span>.expect(pe
88a20 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 erTypeEmptyArrayAndSlice(<span.c
88a40 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 lass="tok-null">true</span>,.<sp
88a60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 an.class="tok-str">&quot;hi&quot
88a80 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ;</span>).len.==.<span.class="to
88aa0 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
88ac0 6e 20 63 6c 61 73 73 3d 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
88ae0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 ss="tok-kw">try</span>.expect(pe
88b00 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 erTypeEmptyArrayAndSlice(<span.c
88b20 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 lass="tok-null">false</span>,.<s
88b40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f pan.class="tok-str">&quot;hi&quo
88b60 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 t;</span>).len.==.<span.class="t
88b80 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
88ba0 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
88bc0 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
88be0 6c 61 73 73 3d 22 6c 69 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"
88c00 3e 66 6e 3c 2f 73 70 61 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">
88c20 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 3c 2f 73 70 61 6e peerTypeEmptyArrayAndSlice</span
88c40 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c >(a:.<span.class="tok-type">bool
88c60 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 </span>,.slice:.[]<span.class="t
88c80 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=
88ca0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 5b 5d 3c 73 70 61 6e 20 63 6c "tok-type">u8</span>).[]<span.cl
88cc0 61 73 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.
88ce0 63 6c 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
88d00 61 6e 3e 0a 3c 73 70 61 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
88d20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7b 3c .class="tok-kw">if</span>.(a).{<
88d40 2f 73 70 61 6e 3e 0a 3c 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">......
88d60 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
88d80 70 61 6e 3e 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 pan>.&amp;[_]<span.class="tok-ty
88da0 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c pe">u8</span>{};</span>.<span.cl
88dc0 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
88de0 61 73 73 3d 22 6c 69 6e 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="
88e00 6c 69 6e 65 22 3e 20 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
88e20 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 eturn</span>.slice[<span.class="
88e40 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 tok-number">0</span>..<span.clas
88e60 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e s="tok-number">1</span>];</span>
88e80 0a 3c 73 70 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
88ea0 61 6e 20 63 6c 61 73 73 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
88ec0 2d 6b 77 22 3e 74 65 73 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
88ee0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f k-str">&quot;peer.type.resolutio
88f00 6e 3a 20 2a 5b 30 5d 75 38 2c 20 5b 5d 63 6f 6e 73 74 20 75 38 2c 20 61 6e 64 20 61 6e 79 65 72 n:.*[0]u8,.[]const.u8,.and.anyer
88f20 72 6f 72 21 5b 5d 75 38 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ror![]u8&quot;</span>.{</span>.<
88f40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c span.class="line">....{</span>.<
88f60 73 70 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.
88f80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 61 74 61 20 3d class="tok-kw">var</span>.data.=
88fa0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 .<span.class="tok-str">&quot;hi&
88fc0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 quot;</span>.*;</span>.<span.cla
88fe0 73 73 3d 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
89000 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 64 61 74 61 ok-kw">const</span>.slice.=.data
89020 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
89040 6e 3e 2e 2e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 n>..];</span>.<span.class="line"
89060 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
89080 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f y</span>.expect((<span.class="to
890a0 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 k-kw">try</span>.peerTypeEmptyAr
890c0 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d rayAndSliceAndError(<span.class=
890e0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 29 29 2e "tok-null">true</span>,.slice)).
89100 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e len.==.<span.class="tok-number">
89120 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
89140 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
89160 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
89180 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 65 45 6d 70 ="tok-kw">try</span>.peerTypeEmp
891a0 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c tyArrayAndSliceAndError(<span.cl
891c0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 ass="tok-null">false</span>,.sli
891e0 63 65 29 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ce)).len.==.<span.class="tok-num
89200 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">1</span>);</span>.<span.cla
89220 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
89240 73 73 3d 22 6c 69 6e 65 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
89260 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
89280 6e 20 63 6c 61 73 73 3d 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
892a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 61 74 61 20 3d 20 3c 73 ss="tok-kw">var</span>.data.=.<s
892c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f pan.class="tok-str">&quot;hi&quo
892e0 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d t;</span>.*;</span>.<span.class=
89300 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-
89320 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 64 61 74 61 5b 3c 73 kw">const</span>.slice.=.data[<s
89340 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>.
89360 2e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .];</span>.<span.class="line">..
89380 20 20 20 20 20 20 3c 73 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</
893a0 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b span>.expect((<span.class="tok-k
893c0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 w">try</span>.peerTypeEmptyArray
893e0 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f AndSliceAndError(<span.class="to
89400 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 6e k-null">true</span>,.slice)).len
89420 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f .==.<span.class="tok-number">0</
89440 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
89460 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 ">........<span.class="tok-kw">t
89480 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ry</span>.expect((<span.class="t
894a0 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 ok-kw">try</span>.peerTypeEmptyA
894c0 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 rrayAndSliceAndError(<span.class
894e0 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 29 ="tok-null">false</span>,.slice)
89500 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 ).len.==.<span.class="tok-number
89520 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">1</span>);</span>.<span.class=
89540 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=
89560 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
89580 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
895a0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 65 72 54 79 70 65 45 >.<span.class="tok-fn">peerTypeE
895c0 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 3c 2f 73 70 61 6e 3e mptyArrayAndSliceAndError</span>
895e0 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c (a:.<span.class="tok-type">bool<
89600 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>,.slice:.[]<span.class="to
89620 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-type">u8</span>).<span.class="
89640 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 61 tok-type">anyerror</span>![]<spa
89660 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f n.class="tok-type">u8</span>.{</
89680 73 70 61 6e 3e 0a 3c 73 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
896a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 an.class="tok-kw">if</span>.(a).
896c0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
896e0 20 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<
89700 2f 73 70 61 6e 3e 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>.&amp;[_]<span.class="tok-
89720 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 type">u8</span>{};</span>.<span.
89740 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.
89760 63 6c 61 73 73 3d 22 6c 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
89780 3d 22 6c 69 6e 65 22 3e 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"
897a0 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 >return</span>.slice[<span.class
897c0 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
897e0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 ass="tok-number">1</span>];</spa
89800 6e 3e 0a 3c 73 70 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>.<
89820 73 70 61 6e 20 63 6c 61 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.
89840 63 6c 61 73 73 3d 22 6c 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
89860 22 3e 74 65 73 74 3c 2f 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
89880 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 tr">&quot;peer.type.resolution:.
898a0 2a 63 6f 6e 73 74 20 54 20 61 6e 64 20 3f 2a 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c *const.T.and.?*T&quot;</span>.{<
898c0 2f 73 70 61 6e 3e 0a 3c 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
898e0 70 61 6e 20 63 6c 61 73 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>.
89900 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 a.=.<span.class="tok-builtin">@i
89920 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ntToPtr</span>(*<span.class="tok
89940 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
89960 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 ok-type">usize</span>,.<span.cla
89980 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 33 34 35 36 37 38 30 3c 2f 73 70 61 ss="tok-number">0x123456780</spa
899a0 6e 3e 29 3b 3c 2f 73 70 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">.
899c0 20 20 20 3c 73 70 61 6e 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
899e0 70 61 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 pan>.b.=.<span.class="tok-builti
89a00 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 n">@intToPtr</span>(?*<span.clas
89a20 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e s="tok-type">usize</span>,.<span
89a40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 33 34 35 36 37 38 30 3c .class="tok-number">0x123456780<
89a60 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
89a80 65 22 3e 20 20 20 20 3c 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<
89aa0 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 61 20 3d 3d 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 /span>.expect(a.==.b);</span>.<s
89ac0 70 61 6e 20 63 6c 61 73 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
89ae0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 62 20 3d 3d ="tok-kw">try</span>.expect(b.==
89b00 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d .a);</span>.<span.class="line">}
89b20 3c 2f 73 70 61 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
89b40 67 75 72 65 3e 3c 66 69 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
89b60 70 22 3e 53 68 65 6c 6c 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>
89b80 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
89ba0 73 74 20 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 st.peer_type_resolution.zig</kbd
89bc0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 37 20 ></span>.<span.class="line">1/7.
89be0 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 69 6e 74 20 77 69 64 65 test.&quot;peer.resolve.int.wide
89c00 6e 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ning&quot;....OK</span>.<span.cl
89c20 61 73 73 3d 22 6c 69 6e 65 22 3e 32 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 72 20 72 ass="line">2/7.test.&quot;peer.r
89c40 65 73 6f 6c 76 65 20 61 72 72 61 79 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 73 69 7a 65 20 esolve.arrays.of.different.size.
89c60 74 6f 20 63 6f 6e 73 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e to.const.slice&quot;....OK</span
89c80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 33 2f 37 20 74 65 73 74 20 26 71 >.<span.class="line">3/7.test.&q
89ca0 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 61 72 72 61 79 20 61 6e 64 20 63 6f 6e 73 74 uot;peer.resolve.array.and.const
89cc0 20 73 6c 69 63 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .slice&quot;....OK</span>.<span.
89ce0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 34 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 72 class="line">4/7.test.&quot;peer
89d00 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 3f 54 20 61 6e 64 20 54 26 71 75 6f 74 3b .type.resolution:.?T.and.T&quot;
89d20 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"
89d40 3e 35 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 >5/7.test.&quot;peer.type.resolu
89d60 74 69 6f 6e 3a 20 2a 5b 30 5d 75 38 20 61 6e 64 20 5b 5d 63 6f 6e 73 74 20 75 38 26 71 75 6f 74 tion:.*[0]u8.and.[]const.u8&quot
89d80 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
89da0 22 3e 36 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c ">6/7.test.&quot;peer.type.resol
89dc0 75 74 69 6f 6e 3a 20 2a 5b 30 5d 75 38 2c 20 5b 5d 63 6f 6e 73 74 20 75 38 2c 20 61 6e 64 20 61 ution:.*[0]u8,.[]const.u8,.and.a
89de0 6e 79 65 72 72 6f 72 21 5b 5d 75 38 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a nyerror![]u8&quot;....OK</span>.
89e00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 37 2f 37 20 74 65 73 74 20 26 71 75 6f <span.class="line">7/7.test.&quo
89e20 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 63 6f 6e 73 74 20 54 t;peer.type.resolution:.*const.T
89e40 20 61 6e 64 20 3f 2a 54 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .and.?*T&quot;....OK</span>.<spa
89e60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 37 20 74 65 73 74 73 20 70 61 73 73 65 n.class="line">All.7.tests.passe
89e80 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>
89ea0 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 65 ......................<h2.id="Ze
89ec0 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 65 72 6f ro-Bit-Types"><a.href="#toc-Zero
89ee0 2d 42 69 74 2d 54 79 70 65 73 22 3e 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 20 3c -Bit-Types">Zero.Bit.Types</a>.<
89f00 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 5a 65 72 6f 2d 42 69 74 2d 54 79 a.class="hdr".href="#Zero-Bit-Ty
89f20 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 73 pes">..</a></h2>........<p>For.s
89f40 6f 6d 65 20 74 79 70 65 73 2c 20 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 ome.types,.<a.href="#sizeOf">@si
89f60 7a 65 4f 66 3c 2f 61 3e 20 69 73 20 30 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 zeOf</a>.is.0:</p>.......<ul>...
89f80 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 ........<li><a.href="#void">void
89fa0 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 3c 61 20 68 </a></li>...........<li>The.<a.h
89fc0 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 3c 63 6f ref="#Integers">Integers</a>.<co
89fe0 64 65 3e 3c 73 70 61 6e 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
8a000 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 s="tok-type">u0</span></span></c
8a020 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ode>.and.<code><span.class="line
8a040 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 30 3c 2f 73 70 61 "><span.class="tok-type">i0</spa
8a060 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 n></span></code>.</li>..........
8a080 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 .<li><a.href="#Arrays">Arrays</a
8a0a0 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
8a0c0 3c 2f 61 3e 20 77 69 74 68 20 6c 65 6e 20 30 2c 20 6f 72 20 77 69 74 68 20 61 6e 20 65 6c 65 6d </a>.with.len.0,.or.with.an.elem
8a0e0 65 6e 74 20 74 79 70 65 20 74 68 61 74 20 69 73 20 61 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 ent.type.that.is.a.zero.bit.type
8a100 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6e 20 3c 61 20 68 72 65 66 3d .</li>...........<li>An.<a.href=
8a120 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 20 77 69 74 68 20 6f 6e 6c 79 20 31 20 74 61 67 "#enum">enum</a>.with.only.1.tag
8a140 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 .</li>...........<li>A.<a.href="
8a160 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 77 69 74 68 20 61 6c 6c 20 66 69 65 #struct">struct</a>.with.all.fie
8a180 6c 64 73 20 62 65 69 6e 67 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 lds.being.zero.bit.types.</li>..
8a1a0 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e .........<li>A.<a.href="#union">
8a1c0 75 6e 69 6f 6e 3c 2f 61 3e 20 77 69 74 68 20 6f 6e 6c 79 20 31 20 66 69 65 6c 64 20 77 68 69 63 union</a>.with.only.1.field.whic
8a1e0 68 20 69 73 20 61 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 h.is.a.zero.bit.type.</li>......
8a200 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 2d 74 6f 2d 5a .....<li><a.href="#Pointers-to-Z
8a220 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 50 6f 69 6e 74 65 72 73 20 74 6f 20 5a 65 72 6f 20 ero-Bit-Types">Pointers.to.Zero.
8a240 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 20 61 72 65 20 74 68 65 6d 73 65 6c 76 65 73 20 7a 65 72 Bit.Types</a>.are.themselves.zer
8a260 6f 20 62 69 74 20 74 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 o.bit.types.</li>.......</ul>...
8a280 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
8a2a0 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,
8a2c0 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
8a2e0 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
8a300 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
8a320 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
8a340 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
8a360 63 61 70 74 69 6f 6e 20 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
8a380 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
8a3a0 61 70 74 69 6f 6e 3e 3c 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
8a3c0 69 6e 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
8a3e0 3c 2f 73 70 61 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<
8a400 2f 73 70 61 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
8a420 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
8a440 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
8a460 73 73 3d 22 6c 69 6e 65 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
8a480 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
8a4a0 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>
8a4c0 0a 3c 73 70 61 6e 20 63 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
8a4e0 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
8a500 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>.=.
8a520 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">..
8a540 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
8a560 65 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
8a580 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.
8a5a0 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
8a5c0 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
8a5e0 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
8a600 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
8a620 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
8a640 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
8a660 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;
8a680 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
8a6a0 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........
8a6c0 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.
8a6e0 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..
8a700 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.
8a720 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
8a740 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
8a760 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
8a780 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
8a7a0 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
8a7c0 6e 64 20 65 70 69 6c 6f 67 2e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 76 6f nd.epilog.</p>........<h3.id="vo
8a7e0 69 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e id"><a.href="#toc-void">void</a>
8a800 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e c2 a7 3c .<a.class="hdr".href="#void">..<
8a820 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e /a></h3>........<p>.......<code>
8a840 3c 73 70 61 6e 20 63 6c 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="
8a860 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
8a880 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 69 6e 73 74 61 6e 74 69 61 74 de>.can.be.useful.for.instantiat
8a8a0 69 6e 67 20 67 65 6e 65 72 69 63 20 74 79 70 65 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 ing.generic.types..For.example,.
8a8c0 67 69 76 65 6e 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c given.a...........<code><span.cl
8a8e0 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 61 70 28 4b 65 79 2c 20 56 61 6c 75 65 29 3c 2f 73 70 61 6e ass="line">Map(Key,.Value)</span
8a900 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 6e 65 20 63 61 6e 20 70 61 73 73 20 3c 63 6f 64 65 3e 3c 73 70 ></code>,.one.can.pass.<code><sp
8a920 61 6e 20 63 6c 61 73 73 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
8a940 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e -type">void</span></span></code>
8a960 20 66 6f 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .for.the.<code><span.class="line
8a980 22 3e 56 61 6c 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 ">Value</span></code>...........
8a9a0 20 20 20 20 20 20 20 20 20 20 20 20 74 79 70 65 20 74 6f 20 6d 61 6b 65 20 69 74 20 69 6e 74 6f ............type.to.make.it.into
8a9c0 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 65 74 3c .a.<code><span.class="line">Set<
8a9e0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 /span></code>:.......</p>.......
8aa00 3c 66 69 67 75 72 65 3e 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
8aa20 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 6f 69 64 5f 69 6e 5f 68 ap"><cite.class="file">void_in_h
8aa40 61 73 68 6d 61 70 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 ashmap.zig</cite></figcaption><p
8aa60 72 65 3e 3c 63 6f 64 65 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
8aa80 6e 20 63 6c 61 73 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
8aaa0 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
8aac0 6d 70 6f 72 74 3c 2f 73 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
8aae0 72 22 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
8ab00 6e 3e 0a 3c 73 70 61 6e 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
8ab20 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.=
8ab40 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
8ab60 6e 20 63 6c 61 73 73 3d 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
8ab80 73 73 3d 22 6c 69 6e 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
8aba0 65 73 74 3c 2f 73 70 61 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"
8abc0 3e 26 71 75 6f 74 3b 74 75 72 6e 20 48 61 73 68 4d 61 70 20 69 6e 74 6f 20 61 20 73 65 74 20 77 >&quot;turn.HashMap.into.a.set.w
8abe0 69 74 68 20 76 6f 69 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c ith.void&quot;</span>.{</span>.<
8ac00 73 70 61 6e 20 63 6c 61 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
8ac20 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6d 61 70 20 3d 20 73 74 64 2e s="tok-kw">var</span>.map.=.std.
8ac40 41 75 74 6f 48 61 73 68 4d 61 70 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 AutoHashMap(<span.class="tok-typ
8ac60 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-
8ac80 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 2e 69 6e 69 74 28 73 74 64 2e 74 65 73 74 type">void</span>).init(std.test
8aca0 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ing.allocator);</span>.<span.cla
8acc0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ss="line">....<span.class="tok-k
8ace0 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 6d 61 70 2e 64 65 69 6e 69 74 28 29 3b 3c 2f 73 w">defer</span>.map.deinit();</s
8ad00 70 61 6e 3e 0a 3c 73 70 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>.
8ad20 3c 73 70 61 6e 20 63 6c 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
8ad40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 6d 61 70 2e 70 75 74 28 3c ss="tok-kw">try</span>.map.put(<
8ad60 73 70 61 6e 20 63 6c 61 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>
8ad80 2c 20 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ,.{});</span>.<span.class="line"
8ada0 3e 20 20 20 20 3c 73 70 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
8adc0 70 61 6e 3e 20 6d 61 70 2e 70 75 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 pan>.map.put(<span.class="tok-nu
8ade0 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 mber">2</span>,.{});</span>.<spa
8ae00 6e 20 63 6c 61 73 73 3d 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
8ae20 73 73 3d 22 6c 69 6e 65 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
8ae40 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 61 70 2e 63 6f 6e 74 61 69 6e w">try</span>.expect(map.contain
8ae60 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 s(<span.class="tok-number">2</sp
8ae80 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"
8aea0 3e 20 20 20 20 3c 73 70 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
8aec0 70 61 6e 3e 20 65 78 70 65 63 74 28 21 6d 61 70 2e 63 6f 6e 74 61 69 6e 73 28 3c 73 70 61 6e 20 pan>.expect(!map.contains(<span.
8aee0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f class="tok-number">3</span>));</
8af00 73 70 61 6e 3e 0a 3c 73 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>
8af20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6d 61 70 2e .<span.class="line">...._.=.map.
8af40 72 65 6d 6f 76 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e remove(<span.class="tok-number">
8af60 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 2</span>);</span>.<span.class="l
8af80 69 6e 65 22 3e 20 20 20 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
8afa0 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 6d 61 70 2e 63 6f 6e 74 61 69 6e 73 28 3c 73 y</span>.expect(!map.contains(<s
8afc0 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>)
8afe0 29 3b 3c 2f 73 70 61 6e 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">}</
8b000 73 70 61 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
8b020 72 65 3e 3c 66 69 67 63 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"
8b040 3e 53 68 65 6c 6c 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
8b060 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
8b080 20 76 6f 69 64 5f 69 6e 5f 68 61 73 68 6d 61 70 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e .void_in_hashmap.zig</kbd></span
8b0a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 >.<span.class="line">1/1.test.&q
8b0c0 75 6f 74 3b 74 75 72 6e 20 48 61 73 68 4d 61 70 20 69 6e 74 6f 20 61 20 73 65 74 20 77 69 74 68 uot;turn.HashMap.into.a.set.with
8b0e0 20 76 6f 69 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .void&quot;....OK</span>.<span.c
8b100 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.<
8b120 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>...
8b140 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 69 73 20 64 69 66 66 65 72 65 ....<p>Note.that.this.is.differe
8b160 6e 74 20 66 72 6f 6d 20 75 73 69 6e 67 20 61 20 64 75 6d 6d 79 20 76 61 6c 75 65 20 66 6f 72 20 nt.from.using.a.dummy.value.for.
8b180 74 68 65 20 68 61 73 68 20 6d 61 70 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 42 79 20 75 73 69 the.hash.map.value........By.usi
8b1a0 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ng.<code><span.class="line"><spa
8b1c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-type">void</span></
8b1e0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 span></code>.as.the.type.of.the.
8b200 76 61 6c 75 65 2c 20 74 68 65 20 68 61 73 68 20 6d 61 70 20 65 6e 74 72 79 20 74 79 70 65 20 68 value,.the.hash.map.entry.type.h
8b220 61 73 20 6e 6f 20 76 61 6c 75 65 20 66 69 65 6c 64 2c 20 61 6e 64 0a 20 20 20 20 20 20 74 68 75 as.no.value.field,.and.......thu
8b240 73 20 74 68 65 20 68 61 73 68 20 6d 61 70 20 74 61 6b 65 73 20 75 70 20 6c 65 73 73 20 73 70 61 s.the.hash.map.takes.up.less.spa
8b260 63 65 2e 20 46 75 72 74 68 65 72 2c 20 61 6c 6c 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 64 ce..Further,.all.the.code.that.d
8b280 65 61 6c 73 20 77 69 74 68 20 73 74 6f 72 69 6e 67 20 61 6e 64 20 6c 6f 61 64 69 6e 67 20 74 68 eals.with.storing.and.loading.th
8b2a0 65 0a 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 64 65 6c 65 74 65 64 2c 20 61 73 20 73 65 65 e.......value.is.deleted,.as.see
8b2c0 6e 20 61 62 6f 76 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 n.above........</p>.......<p>...
8b2e0 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
8b300 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><
8b320 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 64 69 73 74 69 6e 63 74 20 66 72 6f 6d 20 3c /span></code>.is.distinct.from.<
8b340 63 6f 64 65 3e 3c 73 70 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
8b360 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c ass="tok-type">anyopaque</span><
8b380 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e /span></code>........<code><span
8b3a0 20 63 6c 61 73 73 3d 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
8b3c0 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 ype">void</span></span></code>.h
8b3e0 61 73 20 61 20 6b 6e 6f 77 6e 20 73 69 7a 65 20 6f 66 20 30 20 62 79 74 65 73 2c 20 61 6e 64 20 as.a.known.size.of.0.bytes,.and.
8b400 3c 63 6f 64 65 3e 3c 73 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
8b420 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e lass="tok-type">anyopaque</span>
8b440 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 6e 20 75 6e 6b 6e 6f 77 6e 2c 20 62 </span></code>.has.an.unknown,.b
8b460 75 74 20 6e 6f 6e 2d 7a 65 72 6f 2c 20 73 69 7a 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ut.non-zero,.size........</p>...
8b480 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 70 72 65 73 73 69 6f 6e 73 20 6f 66 20 74 79 70 ....<p>.......Expressions.of.typ
8b4a0 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
8b4c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 .class="tok-type">void</span></s
8b4e0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 74 68 65 20 6f 6e 6c 79 20 6f 6e 65 73 20 77 68 pan></code>.are.the.only.ones.wh
8b500 6f 73 65 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 69 67 6e 6f 72 65 64 2e 20 46 6f 72 20 65 78 ose.value.can.be.ignored..For.ex
8b520 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>
8b540 3c 66 69 67 63 61 70 74 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
8b560 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></
8b580 66 69 67 63 61 70 74 69 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
8b5a0 73 3d 22 6c 69 6e 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
8b5c0 73 74 3c 2f 73 70 61 6e 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">
8b5e0 26 71 75 6f 74 3b 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 76 61 6c 75 65 26 &quot;ignoring.expression.value&
8b600 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
8b620 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e s="line">....foo();</span>.<span
8b640 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
8b660 73 73 3d 22 6c 69 6e 65 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
8b680 69 6e 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
8b6a0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 an>.<span.class="tok-fn">foo</sp
8b6c0 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 an>().<span.class="tok-type">i32
8b6e0 3c 2f 73 70 61 6e 3e 20 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
8b700 6e 65 22 3e 20 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
8b720 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 urn</span>.<span.class="tok-numb
8b740 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
8b760 61 73 73 3d 22 6c 69 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>
8b780 3c 2f 66 69 67 75 72 65 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
8b7a0 73 73 3d 22 73 68 65 6c 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
8b7c0 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">$
8b7e0 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
8b800 70 61 6e 3e 0a 3c 73 70 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
8b820 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 ass="t0_1">./docgen_tmp/test.zig
8b840 3a 32 3a 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 :2:8:.</span><span.class="t31_1"
8b860 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 >error:.</span><span.class="t0_1
8b880 22 3e 65 78 70 72 65 73 73 69 6f 6e 20 76 61 6c 75 65 20 69 73 20 69 67 6e 6f 72 65 64 3c 2f 73 ">expression.value.is.ignored</s
8b8a0 70 61 6e 3e 3c 2f 73 70 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">.
8b8c0 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
8b8e0 6e 65 22 3e 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e ne">.......<span.class="t32_1">^
8b900 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
8b920 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 48 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 65 gure>.......<p>However,.if.the.e
8b940 78 70 72 65 73 73 69 6f 6e 20 68 61 73 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 xpression.has.type.<code><span.c
8b960 6c 61 73 73 3d 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
8b980 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 e">void</span></span></code>,.th
8b9a0 65 72 65 20 77 69 6c 6c 20 62 65 20 6e 6f 20 65 72 72 6f 72 2e 20 46 75 6e 63 74 69 6f 6e 20 72 ere.will.be.no.error..Function.r
8b9c0 65 74 75 72 6e 20 76 61 6c 75 65 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 65 78 70 6c 69 63 69 eturn.values.can.also.be.explici
8b9e0 74 6c 79 20 69 67 6e 6f 72 65 64 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 68 65 6d 20 74 6f tly.ignored.by.assigning.them.to
8ba00 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5f 3c 2f 73 70 61 .<code><span.class="line">_</spa
8ba20 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 n></code>..</p>.......<figure><f
8ba40 69 67 63 61 70 74 69 6f 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.
8ba60 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 6f 69 64 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3c 2f 63 class="file">void_ignored.zig</c
8ba80 69 74 65 3e 3c 2f 66 69 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
8baa0 6e 20 63 6c 61 73 73 3d 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-
8bac0 6b 77 22 3e 74 65 73 74 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
8bae0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 6f 69 64 20 69 73 20 69 67 6e 6f 72 65 64 26 71 75 6f 74 -str">&quot;void.is.ignored&quot
8bb00 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
8bb20 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 73 56 6f 69 64 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ine">....returnsVoid();</span>.<
8bb40 73 70 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
8bb60 20 63 6c 61 73 73 3d 22 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
8bb80 73 3d 22 6c 69 6e 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
8bba0 73 74 3c 2f 73 70 61 6e 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">
8bbc0 26 71 75 6f 74 3b 65 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 73 &quot;explicitly.ignoring.expres
8bbe0 73 69 6f 6e 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e sion.value&quot;</span>.{</span>
8bc00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 66 6f 6f 28 .<span.class="line">...._.=.foo(
8bc20 29 3b 3c 2f 73 70 61 6e 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">}</
8bc40 73 70 61 6e 3e 0a 3c 73 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>
8bc60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
8bc80 22 74 6f 6b 2d 6b 77 22 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="
8bca0 74 6f 6b 2d 66 6e 22 3e 72 65 74 75 72 6e 73 56 6f 69 64 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 tok-fn">returnsVoid</span>().<sp
8bcc0 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>.
8bce0 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
8bd00 70 61 6e 3e 0a 3c 73 70 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
8bd20 61 73 73 3d 22 74 6f 6b 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
8bd40 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 ss="tok-fn">foo</span>().<span.c
8bd60 6c 61 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
8bd80 61 6e 3e 0a 3c 73 70 61 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
8bda0 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
8bdc0 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
8bde0 6e 3e 3b 3c 2f 73 70 61 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">}<
8be00 2f 73 70 61 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
8be20 75 72 65 3e 3c 66 69 67 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
8be40 22 3e 53 68 65 6c 6c 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><
8be60 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
8be80 74 20 76 6f 69 64 5f 69 67 6e 6f 72 65 64 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a t.void_ignored.zig</kbd></span>.
8bea0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 73 74 20 26 71 75 6f <span.class="line">1/2.test.&quo
8bec0 74 3b 76 6f 69 64 20 69 73 20 69 67 6e 6f 72 65 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 t;void.is.ignored&quot;....OK</s
8bee0 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
8bf00 20 26 71 75 6f 74 3b 65 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 .&quot;explicitly.ignoring.expre
8bf20 73 73 69 6f 6e 20 76 61 6c 75 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c ssion.value&quot;....OK</span>.<
8bf40 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
8bf60 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
8bf80 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 6f 69 6e 74 65 re>...............<h3.id="Pointe
8bfa0 72 73 2d 74 6f 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 rs-to-Zero-Bit-Types"><a.href="#
8bfc0 74 6f 63 2d 50 6f 69 6e 74 65 72 73 2d 74 6f 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e toc-Pointers-to-Zero-Bit-Types">
8bfe0 50 6f 69 6e 74 65 72 73 20 74 6f 20 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 20 3c Pointers.to.Zero.Bit.Types</a>.<
8c000 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 2d 74 6f a.class="hdr".href="#Pointers-to
8c020 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 -Zero-Bit-Types">..</a></h3>....
8c040 20 20 20 20 3c 70 3e 50 6f 69 6e 74 65 72 73 20 74 6f 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 ....<p>Pointers.to.zero.bit.type
8c060 73 20 61 6c 73 6f 20 68 61 76 65 20 7a 65 72 6f 20 62 69 74 73 2e 20 54 68 65 79 20 61 6c 77 61 s.also.have.zero.bits..They.alwa
8c080 79 73 20 63 6f 6d 70 61 72 65 20 65 71 75 61 6c 20 74 6f 20 65 61 63 68 20 6f 74 68 65 72 3a 3c ys.compare.equal.to.each.other:<
8c0a0 2f 70 3e 0a 20 20 20 20 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
8c0c0 61 73 73 3d 22 7a 69 67 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"
8c0e0 3e 70 6f 69 6e 74 65 72 73 5f 74 6f 5f 7a 65 72 6f 5f 62 69 74 73 2e 7a 69 67 3c 2f 63 69 74 65 >pointers_to_zero_bits.zig</cite
8c100 3e 3c 2f 66 69 67 63 61 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
8c120 6c 61 73 73 3d 22 6c 69 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"
8c140 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=
8c160 22 74 6f 6b 2d 62 75 69 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
8c180 61 6e 20 63 6c 61 73 73 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
8c1a0 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="
8c1c0 6c 69 6e 65 22 3e 3c 73 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
8c1e0 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
8c200 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"><
8c220 2f 73 70 61 6e 3e 0a 3c 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.
8c240 63 6c 61 73 73 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
8c260 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 .class="tok-str">&quot;pointer.t
8c280 6f 20 65 6d 70 74 79 20 73 74 72 75 63 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 o.empty.struct&quot;</span>.{</s
8c2a0 70 61 6e 3e 0a 3c 73 70 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
8c2c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 6d n.class="tok-kw">const</span>.Em
8c2e0 70 74 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 pty.=.<span.class="tok-kw">struc
8c300 74 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d t</span>.{};</span>.<span.class=
8c320 22 6c 69 6e 65 22 3e 20 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">
8c340 76 61 72 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 45 6d 70 74 79 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c var</span>.a.=.Empty{};</span>.<
8c360 73 70 61 6e 20 63 6c 61 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
8c380 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 45 6d 70 74 79 7b s="tok-kw">var</span>.b.=.Empty{
8c3a0 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">...
8c3c0 20 3c 73 70 61 6e 20 63 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>
8c3e0 20 70 74 72 5f 61 20 3d 20 26 61 6d 70 3b 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .ptr_a.=.&amp;a;</span>.<span.cl
8c400 61 73 73 3d 22 6c 69 6e 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-
8c420 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 74 72 5f 62 20 3d 20 26 61 6d 70 3b 62 3b 3c 2f kw">var</span>.ptr_b.=.&amp;b;</
8c440 73 70 61 6e 3e 0a 3c 73 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
8c460 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
8c480 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e >.<span.class="tok-kw">try</span
8c4a0 3e 20 65 78 70 65 63 74 28 70 74 72 5f 61 20 3d 3d 20 70 74 72 5f 62 29 3b 3c 2f 73 70 61 6e 3e >.expect(ptr_a.==.ptr_b);</span>
8c4c0 0a 3c 73 70 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
8c4e0 64 65 3e 3c 2f 70 72 65 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
8c500 70 74 69 6f 6e 20 63 6c 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
8c520 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
8c540 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 70 6f 69 6e 74 65 72 73 ="line">$.<kbd>zig.test.pointers
8c560 5f 74 6f 5f 7a 65 72 6f 5f 62 69 74 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c _to_zero_bits.zig</kbd></span>.<
8c580 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 span.class="line">1/1.test.&quot
8c5a0 3b 70 6f 69 6e 74 65 72 20 74 6f 20 65 6d 70 74 79 20 73 74 72 75 63 74 26 71 75 6f 74 3b 2e 2e ;pointer.to.empty.struct&quot;..
8c5c0 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
8c5e0 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
8c600 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 74 79 ></pre></figure>.......<p>The.ty
8c620 70 65 20 62 65 69 6e 67 20 70 6f 69 6e 74 65 64 20 74 6f 20 63 61 6e 20 6f 6e 6c 79 20 65 76 65 pe.being.pointed.to.can.only.eve
8c640 72 20 62 65 20 6f 6e 65 20 76 61 6c 75 65 3b 20 74 68 65 72 65 66 6f 72 65 20 6c 6f 61 64 73 20 r.be.one.value;.therefore.loads.
8c660 61 6e 64 20 73 74 6f 72 65 73 20 61 72 65 0a 20 20 20 20 20 20 6e 65 76 65 72 20 67 65 6e 65 72 and.stores.are.......never.gener
8c680 61 74 65 64 2e 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e 70 74 72 54 6f 49 ated..<a.href="#ptrToInt">ptrToI
8c6a0 6e 74 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 50 74 72 22 3e 69 nt</a>.and.<a.href="#intToPtr">i
8c6c0 6e 74 54 6f 50 74 72 3c 2f 61 3e 20 61 72 65 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 3a 3c 2f 70 3e ntToPtr</a>.are.not.allowed:</p>
8c6e0 0a 20 20 20 20 20 20 3c 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
8c700 3d 22 7a 69 67 2d 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
8c720 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><
8c740 63 6f 64 65 3e 3c 73 70 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
8c760 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 6d 70 74 79 20 ass="tok-kw">const</span>.Empty.
8c780 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
8c7a0 70 61 6e 3e 20 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e pan>.{};</span>.<span.class="lin
8c7c0 65 22 3e 3c 2f 73 70 61 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
8c7e0 70 61 6e 20 63 6c 61 73 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>.<
8c800 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 70 74 72 54 span.class="tok-str">&quot;@ptrT
8c820 6f 49 6e 74 20 66 6f 72 20 70 6f 69 6e 74 65 72 20 74 6f 20 7a 65 72 6f 20 62 69 74 20 74 79 70 oInt.for.pointer.to.zero.bit.typ
8c840 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
8c860 61 73 73 3d 22 6c 69 6e 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-
8c880 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 45 6d 70 74 79 7b 7d 3b 3c 2f 73 70 61 kw">var</span>.a.=.Empty{};</spa
8c8a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 3c 73 n>.<span.class="line">...._.=.<s
8c8c0 70 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
8c8e0 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 t</span>(&amp;a);</span>.<span.c
8c900 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
8c920 3d 22 6c 69 6e 65 22 3e 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
8c940 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
8c960 61 6e 3e 20 3c 73 70 61 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;
8c980 40 69 6e 74 54 6f 50 74 72 20 66 6f 72 20 70 6f 69 6e 74 65 72 20 74 6f 20 7a 65 72 6f 20 62 69 @intToPtr.for.pointer.to.zero.bi
8c9a0 74 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 t.type&quot;</span>.{</span>.<sp
8c9c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c an.class="line">...._.=.<span.cl
8c9e0 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
8ca00 6e 3e 28 2a 45 6d 70 74 79 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 n>(*Empty,.<span.class="tok-numb
8ca20 65 72 22 3e 30 78 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er">0x1</span>);</span>.<span.cl
8ca40 61 73 73 3d 22 6c 69 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>
8ca60 3c 2f 66 69 67 75 72 65 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
8ca80 73 73 3d 22 73 68 65 6c 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
8caa0 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">$
8cac0 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
8cae0 70 61 6e 3e 0a 3c 73 70 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
8cb00 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 ass="t0_1">./docgen_tmp/test.zig
8cb20 3a 34 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 :4:5:.</span><span.class="t31_1"
8cb40 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 >error:.</span><span.class="t0_1
8cb60 22 3e 70 6f 69 6e 74 65 72 20 74 6f 20 73 69 7a 65 20 30 20 74 79 70 65 20 68 61 73 20 6e 6f 20 ">pointer.to.size.0.type.has.no.
8cb80 61 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 address</span></span>.<span.clas
8cba0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 61 20 3d 20 45 6d 70 74 79 7b 7d 3b 3c 2f 73 s="line">....var.a.=.Empty{};</s
8cbc0 70 61 6e 3e 0a 3c 73 70 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
8cbe0 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>.
8cc00 3c 73 70 61 6e 20 63 6c 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="
8cc20 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 39 3a 31 39 t0_1">./docgen_tmp/test.zig:9:19
8cc40 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
8cc60 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 74 79 or:.</span><span.class="t0_1">ty
8cc80 70 65 20 27 2a 45 6d 70 74 79 27 20 68 61 73 20 30 20 62 69 74 73 20 61 6e 64 20 63 61 6e 6e 6f pe.'*Empty'.has.0.bits.and.canno
8cca0 74 20 73 74 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e t.store.information</span></span
8ccc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 40 69 6e >.<span.class="line">...._.=.@in
8cce0 74 54 6f 50 74 72 28 2a 45 6d 70 74 79 2c 20 30 78 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 tToPtr(*Empty,.0x1);</span>.<spa
8cd00 6e 20 63 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">.................
8cd20 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
8cd40 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>.....
8cd60 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 52 65 73 75 6c 74 2d .................<h2.id="Result-
8cd80 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f Location-Semantics"><a.href="#to
8cda0 63 2d 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 52 65 73 c-Result-Location-Semantics">Res
8cdc0 75 6c 74 20 4c 6f 63 61 74 69 6f 6e 20 53 65 6d 61 6e 74 69 63 73 3c 2f 61 3e 20 3c 61 20 63 6c ult.Location.Semantics</a>.<a.cl
8cde0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e ass="hdr".href="#Result-Location
8ce00 2d 53 65 6d 61 6e 74 69 63 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c -Semantics">..</a></h2>........<
8ce20 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 p>.......<a.href="https://github
8ce40 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 32 38 30 39 22 3e 54 4f .com/ziglang/zig/issues/2809">TO
8ce60 44 4f 20 61 64 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 3c 2f 61 DO.add.documentation.for.this</a
8ce80 3e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 >.......</p>...............<h2.i
8cea0 64 3d 22 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 d="usingnamespace"><a.href="#toc
8cec0 2d 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c -usingnamespace">usingnamespace<
8cee0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 73 69 6e 67 6e /a>.<a.class="hdr".href="#usingn
8cf00 61 6d 65 73 70 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e amespace">..</a></h2>........<p>
8cf20 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .......<code><span.class="line">
8cf40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 <span.class="tok-kw">usingnamesp
8cf60 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 64 65 ace</span></span></code>.is.a.de
8cf80 63 6c 61 72 61 74 69 6f 6e 20 74 68 61 74 20 6d 69 78 65 73 20 61 6c 6c 20 74 68 65 20 70 75 62 claration.that.mixes.all.the.pub
8cfa0 6c 69 63 0a 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6f 70 lic.......declarations.of.the.op
8cfc0 65 72 61 6e 64 2c 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 61 20 3c 61 20 68 72 65 66 3d 22 erand,.which.must.be.a.<a.href="
8cfe0 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 75 #struct">struct</a>,.<a.href="#u
8d000 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 nion">union</a>,.<a.href="#enum"
8d020 3e 65 6e 75 6d 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 >enum</a>,.......or.<a.href="#op
8d040 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 2c 20 69 6e 74 6f 20 74 68 65 20 6e 61 6d 65 73 aque">opaque</a>,.into.the.names
8d060 70 61 63 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c pace:.......</p>.......<figure><
8d080 66 69 67 63 61 70 74 69 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
8d0a0 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 2e 7a 69 67 .class="file">usingnamespace.zig
8d0c0 3c 2f 63 69 74 65 3e 3c 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><
8d0e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
8d100 6f 6b 2d 6b 77 22 3e 74 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="
8d120 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 73 69 6e 67 20 73 74 64 20 6e 61 6d 65 73 70 61 tok-str">&quot;using.std.namespa
8d140 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ce&quot;</span>.{</span>.<span.c
8d160 6c 61 73 73 3d 22 6c 69 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
8d180 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 -kw">const</span>.S.=.<span.clas
8d1a0 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
8d1c0 3e 0a 3c 73 70 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
8d1e0 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
8d200 3c 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
8d220 22 3e 40 69 6d 70 6f 72 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
8d240 6b 2d 73 74 72 22 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>);<
8d260 2f 73 70 61 6e 3e 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">....};
8d280 3c 2f 73 70 61 6e 3e 0a 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">....<
8d2a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 53 span.class="tok-kw">try</span>.S
8d2c0 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
8d2e0 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -null">true</span>);</span>.<spa
8d300 6e 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></
8d320 70 72 65 3e 3c 2f 66 69 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
8d340 20 63 6c 61 73 73 3d 22 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
8d360 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
8d380 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 e">$.<kbd>zig.test.usingnamespac
8d3a0 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="
8d3c0 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 75 73 69 6e 67 20 73 74 64 20 6e line">1/1.test.&quot;using.std.n
8d3e0 61 6d 65 73 70 61 63 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 amespace&quot;....OK</span>.<spa
8d400 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
8d420 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>
8d440 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
8d460 73 73 3d 22 6c 69 6e 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
8d480 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
8d4a0 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
8d4c0 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
8d4e0 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
8d500 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=
8d520 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.
8d540 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-
8d560 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>:...
8d580 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
8d5a0 6f 6e 20 63 6c 61 73 73 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="
8d5c0 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><
8d5e0 70 72 65 3e 3c 63 6f 64 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
8d600 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
8d620 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
8d640 3c 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
8d660 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
8d680 20 63 6c 61 73 73 3d 22 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
8d6a0 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
8d6c0 61 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
8d6e0 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.
8d700 63 6c 61 73 73 3d 22 6c 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
8d720 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
8d740 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
8d760 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
8d780 20 63 6c 61 73 73 3d 22 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
8d7a0 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
8d7c0 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
8d7e0 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=
8d800 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>);<
8d820 2f 73 70 61 6e 3e 0a 3c 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
8d840 70 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
8d860 3c 2f 73 70 61 6e 3e 28 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
8d880 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>,.
8d8a0 3c 73 70 61 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
8d8c0 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="
8d8e0 6c 69 6e 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
8d900 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
8d920 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
8d940 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="
8d960 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
8d980 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
8d9a0 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
8d9c0 65 3e 3c 73 70 61 6e 20 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
8d9e0 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
8da00 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
8da20 70 61 6e 20 63 6c 61 73 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
8da40 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
8da60 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
8da80 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
8daa0 64 65 3e 3c 73 70 61 6e 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
8dac0 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
8dae0 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
8db00 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
8db20 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
8db40 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........<
8db60 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
8db80 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
8dba0 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="#
8dbc0 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>
8dbe0 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.
8dc00 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
8dc20 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...
8dc40 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
8dc60 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.
8dc80 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..
8dca0 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,
8dcc0 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........<
8dce0 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
8dd00 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=
8dd20 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
8dd40 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
8dd60 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
8dd80 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
8dda0 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>....
8ddc0 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
8dde0 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-
8de00 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
8de20 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
8de40 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
8de60 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
8de80 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
8dea0 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
8dec0 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
8dee0 67 75 72 65 3e 3c 66 69 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"
8df00 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
8df20 74 65 3e 3c 2f 66 69 67 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
8df40 20 63 6c 61 73 73 3d 22 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
8df60 77 22 3e 66 6e 3c 2f 73 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
8df80 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
8dfa0 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
8dfc0 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
8dfe0 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
8e000 65 22 3e 20 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
8e020 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
8e040 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
8e060 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>
8e080 0a 3c 73 70 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
8e0a0 61 6e 20 63 6c 61 73 73 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
8e0c0 2d 6b 77 22 3e 66 6e 3c 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-
8e0e0 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
8e100 3a 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
8e120 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
8e140 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
8e160 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
8e180 73 3d 22 6c 69 6e 65 22 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
8e1a0 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=
8e1c0 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
8e1e0 70 61 6e 3e 0a 3c 73 70 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>
8e200 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
8e220 22 74 6f 6b 2d 6b 77 22 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="
8e240 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
8e260 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
8e280 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
8e2a0 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
8e2c0 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
8e2e0 6e 20 63 6c 61 73 73 3d 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="
8e300 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.
8e320 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,.
8e340 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">}<
8e360 2f 73 70 61 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>....
8e380 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
8e3a0 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
8e3c0 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
8e3e0 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,......
8e400 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
8e420 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.
8e440 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.<
8e460 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
8e480 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
8e4a0 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>.
8e4c0 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
8e4e0 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
8e500 22 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<
8e520 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>
8e540 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
8e560 6c 61 73 73 3d 22 6c 69 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"
8e580 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
8e5a0 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>.
8e5c0 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
8e5e0 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.
8e600 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
8e620 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
8e640 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
8e660 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>
8e680 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
8e6a0 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
8e6c0 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.
8e6e0 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
8e700 65 3e 3c 66 69 67 63 61 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
8e720 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>
8e740 3c 2f 66 69 67 63 61 70 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
8e760 61 73 73 3d 22 6c 69 6e 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">
8e780 66 6e 3c 2f 73 70 61 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
8e7a0 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
8e7c0 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
8e7e0 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
8e800 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">
8e820 20 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<
8e840 2f 73 70 61 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</
8e860 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="
8e880 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
8e8a0 70 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.
8e8c0 63 6c 61 73 73 3d 22 6c 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
8e8e0 22 3e 74 65 73 74 3c 2f 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
8e900 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.
8e920 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
8e940 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
8e960 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
8e980 6e 3e 0a 3c 73 70 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>.<
8e9a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
8e9c0 6f 6b 2d 6b 77 22 3e 66 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
8e9e0 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
8ea00 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>).
8ea20 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
8ea40 6e 3e 20 7b 3c 2f 73 70 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">.
8ea60 20 20 20 3c 73 70 61 6e 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
8ea80 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.
8eaa0 63 6c 61 73 73 3d 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
8eac0 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).
8eae0 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
8eb00 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
8eb20 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
8eb40 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">
8eb60 20 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"
8eb80 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
8eba0 3d 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
8ebc0 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
8ebe0 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;
8ec00 3c 2f 73 70 61 6e 3e 0a 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
8ec20 61 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
8ec40 3e 3c 66 69 67 63 61 70 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
8ec60 68 65 6c 6c 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
8ec80 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
8eca0 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
8ecc0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 ="line"><span.class="t0_1">./doc
8ece0 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 39 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 gen_tmp/test.zig:9:9:.</span><sp
8ed00 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><
8ed20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 76 61 6c 75 65 73 20 6f 66 20 74 79 70 65 span.class="t0_1">values.of.type
8ed40 20 27 74 79 70 65 27 20 6d 75 73 74 20 62 65 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 3c 2f .'type'.must.be.comptime.known</
8ed60 73 70 61 6e 3e 3c 2f 73 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">
8ed80 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6e 64 69 74 69 6f 6e 29 20 66 33 32 20 65 6c 73 65 20 ........if.(condition).f32.else.
8eda0 75 36 34 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 u64,</span>.<span.class="line">.
8edc0 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
8ede0 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
8ee00 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 6e 20 65 72 72 >.......<p>.......This.is.an.err
8ee20 6f 72 20 62 65 63 61 75 73 65 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 61 74 74 65 6d 70 or.because.the.programmer.attemp
8ee40 74 65 64 20 74 6f 20 70 61 73 73 20 61 20 76 61 6c 75 65 20 6f 6e 6c 79 20 6b 6e 6f 77 6e 20 61 ted.to.pass.a.value.only.known.a
8ee60 74 20 72 75 6e 2d 74 69 6d 65 0a 20 20 20 20 20 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 t.run-time.......to.a.function.w
8ee80 68 69 63 68 20 65 78 70 65 63 74 73 20 61 20 76 61 6c 75 65 20 6b 6e 6f 77 6e 20 61 74 20 63 6f hich.expects.a.value.known.at.co
8eea0 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e mpile-time........</p>.......<p>
8eec0 0a 20 20 20 20 20 20 41 6e 6f 74 68 65 72 20 77 61 79 20 74 6f 20 67 65 74 20 61 6e 20 65 72 72 .......Another.way.to.get.an.err
8eee0 6f 72 20 69 73 20 69 66 20 77 65 20 70 61 73 73 20 61 20 74 79 70 65 20 74 68 61 74 20 76 69 6f or.is.if.we.pass.a.type.that.vio
8ef00 6c 61 74 65 73 20 74 68 65 20 74 79 70 65 20 63 68 65 63 6b 65 72 20 77 68 65 6e 20 74 68 65 0a lates.the.type.checker.when.the.
8ef20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 61 6c 79 7a 65 64 2e 20 54 68 69 73 ......function.is.analyzed..This
8ef40 20 69 73 20 77 68 61 74 20 69 74 20 6d 65 61 6e 73 20 74 6f 20 68 61 76 65 20 3c 65 6d 3e 63 6f .is.what.it.means.to.have.<em>co
8ef60 6d 70 69 6c 65 2d 74 69 6d 65 20 64 75 63 6b 20 74 79 70 69 6e 67 3c 2f 65 6d 3e 2e 0a 20 20 20 mpile-time.duck.typing</em>.....
8ef80 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d ...</p>.......<p>.......For.exam
8efa0 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 ple:.......</p>.......<figure><f
8efc0 69 67 63 61 70 74 69 6f 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.
8efe0 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
8f000 67 63 61 70 74 69 6f 6e 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=
8f020 22 6c 69 6e 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</
8f040 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f span>.<span.class="tok-fn">max</
8f060 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
8f080 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ime</span>.T:.<span.class="tok-t
8f0a0 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 ype">type</span>,.a:.T,.b:.T).T.
8f0c0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
8f0e0 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
8f100 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e n>.<span.class="tok-kw">if</span
8f120 3e 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >.(a.&gt;.b).a.<span.class="tok-
8f140 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 kw">else</span>.b;</span>.<span.
8f160 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
8f180 73 3d 22 6c 69 6e 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
8f1a0 73 74 3c 2f 73 70 61 6e 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">
8f1c0 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 26 71 75 6f 74 3b &quot;try.to.compare.bools&quot;
8f1e0 3c 2f 73 70 61 6e 3e 20 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
8f200 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ne">...._.=.max(<span.class="tok
8f220 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">bool</span>,.<span.class=
8f240 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c "tok-null">true</span>,.<span.cl
8f260 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 ass="tok-null">false</span>);</s
8f280 70 61 6e 3e 0a 3c 73 70 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>
8f2a0 3c 2f 63 6f 64 65 3e 3c 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
8f2c0 69 67 63 61 70 74 69 6f 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
8f2e0 6c 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
8f300 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
8f320 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
8f340 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e ine"><span.class="t0_1">./docgen
8f360 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e _tmp/test.zig:2:18:.</span><span
8f380 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 .class="t31_1">error:.</span><sp
8f3a0 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 6f 70 65 72 61 74 6f 72 20 6e 6f 74 20 61 6c 6c an.class="t0_1">operator.not.all
8f3c0 6f 77 65 64 20 66 6f 72 20 74 79 70 65 20 27 62 6f 6f 6c 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 owed.for.type.'bool'</span></spa
8f3e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e n>.<span.class="line">....return
8f400 20 69 66 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 65 6c 73 65 20 62 3b 3c 2f 73 70 61 6e 3e 0a .if.(a.&gt;.b).a.else.b;</span>.
8f420 3c 73 70 61 6e 20 63 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">.............
8f440 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>
8f460 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e </span>.<span.class="line"><span
8f480 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.
8f4a0 7a 69 67 3a 35 3a 31 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 zig:5:12:.</span><span.class="t3
8f4c0 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
8f4e0 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 0_1">called.from.here</span></sp
8f500 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6d an>.<span.class="line">...._.=.m
8f520 61 78 28 62 6f 6f 6c 2c 20 74 72 75 65 2c 20 66 61 6c 73 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ax(bool,.true,.false);</span>.<s
8f540 70 61 6e 20 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
8f560 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>.
8f580 3c 73 70 61 6e 20 63 6c 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="
8f5a0 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 32 39 t0_1">./docgen_tmp/test.zig:4:29
8f5c0 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 :.</span><span.class="t36_1">not
8f5e0 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c e:.</span><span.class="t0_1">cal
8f600 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 led.from.here</span></span>.<spa
8f620 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 65 73 74 20 26 71 75 6f 74 3b 74 72 79 20 74 6f n.class="line">test.&quot;try.to
8f640 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 26 71 75 6f 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 .compare.bools&quot;.{</span>.<s
8f660 70 61 6e 20 63 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">...............
8f680 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"
8f6a0 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></
8f6c0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 20 74 68 65 20 66 figure>.......<p>.......On.the.f
8f6e0 6c 69 70 20 73 69 64 65 2c 20 69 6e 73 69 64 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 lip.side,.inside.the.function.de
8f700 66 69 6e 69 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c finition.with.the.<code><span.cl
8f720 61 73 73 3d 22 6c 69 6e 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">
8f740 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 comptime</span></span></code>.pa
8f760 72 61 6d 65 74 65 72 2c 20 74 68 65 0a 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6b 6e 6f 77 rameter,.the.......value.is.know
8f780 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 n.at.compile-time..This.means.th
8f7a0 61 74 20 77 65 20 61 63 74 75 61 6c 6c 79 20 63 6f 75 6c 64 20 6d 61 6b 65 20 74 68 69 73 20 77 at.we.actually.could.make.this.w
8f7c0 6f 72 6b 20 66 6f 72 20 74 68 65 20 62 6f 6f 6c 20 74 79 70 65 0a 20 20 20 20 20 20 69 66 20 77 ork.for.the.bool.type.......if.w
8f7e0 65 20 77 61 6e 74 65 64 20 74 6f 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 e.wanted.to:.......</p>.......<f
8f800 69 67 75 72 65 3e 3c 66 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
8f820 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 6d 61 "><cite.class="file">comptime_ma
8f840 78 5f 77 69 74 68 5f 62 6f 6f 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 x_with_bool.zig</cite></figcapti
8f860 6f 6e 3e 3c 70 72 65 3e 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"
8f880 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>.
8f8a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 <span.class="tok-fn">max</span>(
8f8c0 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
8f8e0 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
8f900 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 3c 2f 73 70 61 ype</span>,.a:.T,.b:.T).T.{</spa
8f920 6e 3e 0a 3c 73 70 61 6e 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.
8f940 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 54 20 3d 3d 20 3c class="tok-kw">if</span>.(T.==.<
8f960 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
8f980 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">.
8f9a0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 .......<span.class="tok-kw">retu
8f9c0 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 rn</span>.a.<span.class="tok-kw"
8f9e0 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >or</span>.b;</span>.<span.class
8fa00 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
8fa20 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d w">else</span>.<span.class="tok-
8fa40 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 74 3b 20 62 29 20 7b 3c 2f 73 70 61 6e kw">if</span>.(a.&gt;.b).{</span
8fa60 3e 0a 3c 73 70 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
8fa80 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>.
8faa0 61 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 a;</span>.<span.class="line">...
8fac0 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 .}.<span.class="tok-kw">else</sp
8fae0 61 6e 3e 20 7b 3c 2f 73 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">
8fb00 20 20 20 20 20 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
8fb20 75 72 6e 3c 2f 73 70 61 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 urn</span>.b;</span>.<span.class
8fb40 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
8fb60 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
8fb80 6e 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
8fba0 70 61 6e 3e 20 3c 73 70 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
8fbc0 3b 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 ;try.to.compare.bools&quot;</spa
8fbe0 6e 3e 20 7b 3c 2f 73 70 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">.
8fc00 20 20 20 3c 73 70 61 6e 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
8fc20 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d n>.<span.class="tok-builtin">@im
8fc40 70 6f 72 74 3c 2f 73 70 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
8fc60 22 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
8fc80 67 2e 65 78 70 65 63 74 28 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 g.expect(max(<span.class="tok-ty
8fca0 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">bool</span>,.<span.class="to
8fcc0 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 k-null">false</span>,.<span.clas
8fce0 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 s="tok-null">true</span>).==.<sp
8fd00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 an.class="tok-null">true</span>)
8fd20 3b 3c 2f 73 70 61 6e 3e 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
8fd40 70 61 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
8fd60 65 3e 3c 66 69 67 63 61 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">
8fd80 53 68 65 6c 6c 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
8fda0 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.
8fdc0 63 6f 6d 70 74 69 6d 65 5f 6d 61 78 5f 77 69 74 68 5f 62 6f 6f 6c 2e 7a 69 67 3c 2f 6b 62 64 3e comptime_max_with_bool.zig</kbd>
8fde0 3c 2f 73 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
8fe00 65 73 74 20 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 6f 6f 6c 73 26 71 est.&quot;try.to.compare.bools&q
8fe20 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uot;....OK</span>.<span.class="l
8fe40 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>.
8fe60 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>
8fe80 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 62 65 63 61 75 73 65 20 5a 69 67 20 69 6d .......This.works.because.Zig.im
8fea0 70 6c 69 63 69 74 6c 79 20 69 6e 6c 69 6e 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 plicitly.inlines.<code><span.cla
8fec0 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 ss="line"><span.class="tok-kw">i
8fee0 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f f</span></span></code>.expressio
8ff00 6e 73 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 0a 20 20 20 20 20 20 69 73 20 6b ns.when.the.condition.......is.k
8ff20 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 61 6e 64 20 74 68 65 20 63 6f nown.at.compile-time,.and.the.co
8ff40 6d 70 69 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 73 mpiler.guarantees.that.it.will.s
8ff60 6b 69 70 20 61 6e 61 6c 79 73 69 73 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 62 72 61 6e 63 68 kip.analysis.of.......the.branch
8ff80 20 6e 6f 74 20 74 61 6b 65 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e .not.taken........</p>.......<p>
8ffa0 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 61 63 74 75 61 .......This.means.that.the.actua
8ffc0 6c 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20 3c 63 6f 64 65 3e 3c l.function.generated.for.<code><
8ffe0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f span.class="line">max</span></co
90000 64 65 3e 20 69 6e 20 74 68 69 73 20 73 69 74 75 61 74 69 6f 6e 20 6c 6f 6f 6b 73 20 6c 69 6b 65 de>.in.this.situation.looks.like
90020 0a 20 20 20 20 20 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 .......this:.......</p>.......<f
90040 69 67 75 72 65 3e 3c 66 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
90060 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
90080 69 74 65 3e 3c 2f 66 69 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
900a0 6e 20 63 6c 61 73 73 3d 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-
900c0 6b 77 22 3e 66 6e 3c 2f 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
900e0 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n">max</span>(a:.<span.class="to
90100 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c k-type">bool</span>,.b:.<span.cl
90120 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 ass="tok-type">bool</span>).<spa
90140 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b n.class="tok-type">bool</span>.{
90160 3c 2f 73 70 61 6e 3e 0a 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">....<
90180 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
901a0 3e 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 >.a.<span.class="tok-kw">or</spa
901c0 6e 3e 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>.b;</span>.<span.class="line">
901e0 7d 3c 2f 73 70 61 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>..
90200 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 6c 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 .....<p>.......All.the.code.that
90220 20 64 65 61 6c 74 20 77 69 74 68 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 .dealt.with.compile-time.known.v
90240 61 6c 75 65 73 20 69 73 20 65 6c 69 6d 69 6e 61 74 65 64 20 61 6e 64 20 77 65 20 61 72 65 20 6c alues.is.eliminated.and.we.are.l
90260 65 66 74 20 77 69 74 68 20 6f 6e 6c 79 0a 20 20 20 20 20 20 74 68 65 20 6e 65 63 65 73 73 61 72 eft.with.only.......the.necessar
90280 79 20 72 75 6e 2d 74 69 6d 65 20 63 6f 64 65 20 74 6f 20 61 63 63 6f 6d 70 6c 69 73 68 20 74 68 y.run-time.code.to.accomplish.th
902a0 65 20 74 61 73 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 e.task........</p>.......<p>....
902c0 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 66 6f 72 20 3c ...This.works.the.same.way.for.<
902e0 63 6f 64 65 3e 3c 73 70 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
90300 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ass="tok-kw">switch</span></span
90320 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 2d 20 74 68 65 79 20 61 72 65 20 ></code>.expressions.-.they.are.
90340 69 6d 70 6c 69 63 69 74 6c 79 20 69 6e 6c 69 6e 65 64 0a 20 20 20 20 20 20 77 68 65 6e 20 74 68 implicitly.inlined.......when.th
90360 65 20 74 61 72 67 65 74 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 63 6f 6d 70 69 6c 65 2d 74 e.target.expression.is.compile-t
90380 69 6d 65 20 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 ime.known........</p>...........
903a0 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 ...<h4.id="Compile-Time-Variable
903c0 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 s"><a.href="#toc-Compile-Time-Va
903e0 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 56 61 72 69 61 62 6c 65 73 3c riables">Compile-Time.Variables<
90400 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c /a>.<a.class="hdr".href="#Compil
90420 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 e-Time-Variables">..</a></h4>...
90440 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 74 68 65 20 70 72 6f 67 72 .....<p>.......In.Zig,.the.progr
90460 61 6d 6d 65 72 20 63 61 6e 20 6c 61 62 65 6c 20 76 61 72 69 61 62 6c 65 73 20 61 73 20 3c 63 6f ammer.can.label.variables.as.<co
90480 64 65 3e 3c 73 70 61 6e 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
904a0 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
904c0 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 67 75 61 72 61 6e 74 65 65 73 20 74 6f 20 74 68 65 ></code>..This.guarantees.to.the
904e0 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 74 68 61 74 20 65 76 65 72 79 20 6c 6f 61 64 20 .compiler.......that.every.load.
90500 61 6e 64 20 73 74 6f 72 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 70 65 72 and.store.of.the.variable.is.per
90520 66 6f 72 6d 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 41 6e 79 20 76 69 6f 6c formed.at.compile-time..Any.viol
90540 61 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 72 65 73 75 6c 74 73 20 69 6e 20 61 0a 20 20 20 20 20 ation.of.this.results.in.a......
90560 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 .compile.error........</p>......
90580 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 63 6f 6d 62 69 6e 65 64 20 77 69 74 68 20 74 68 .<p>.......This.combined.with.th
905a0 65 20 66 61 63 74 20 74 68 61 74 20 77 65 20 63 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 e.fact.that.we.can.<code><span.c
905c0 6c 61 73 73 3d 22 6c 69 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"
905e0 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f >inline</span></span></code>.loo
90600 70 73 20 61 6c 6c 6f 77 73 20 75 73 20 74 6f 20 77 72 69 74 65 0a 20 20 20 20 20 20 61 20 66 75 ps.allows.us.to.write.......a.fu
90620 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 69 73 20 70 61 72 74 69 61 6c 6c 79 20 65 76 61 6c 75 61 nction.which.is.partially.evalua
90640 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 6e 64 20 70 61 72 74 69 61 6c 6c ted.at.compile-time.and.partiall
90660 79 20 61 74 20 72 75 6e 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 y.at.run-time........</p>.......
90680 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 <p>.......For.example:.......</p
906a0 3e 0a 20 20 20 20 20 20 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
906c0 73 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 s="zig-cap"><cite.class="file">c
906e0 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 omptime_vars.zig</cite></figcapt
90700 69 6f 6e 3e 3c 70 72 65 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
90720 22 3e 3c 73 70 61 6e 20 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
90740 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 an>.expect.=.<span.class="tok-bu
90760 69 6c 74 69 6e 22 3e 40 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
90780 73 3d 22 74 6f 6b 2d 73 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
907a0 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n>).testing.expect;</span>.<span
907c0 20 63 6c 61 73 73 3d 22 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
907e0 73 3d 22 6c 69 6e 65 22 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
90800 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6d 64 46 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nst</span>.CmdFn.=.<span.class="
90820 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>.<
90840 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 61 6d 65 3a 20 5b 5d 3c 73 span.class="line">....name:.[]<s
90860 70 61 6e 20 63 6c 61 73 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>.
90880 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>
908a0 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
908c0 66 75 6e 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 func:.<span.class="tok-kw">fn</s
908e0 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c pan>(<span.class="tok-type">i32<
90900 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
90920 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
90940 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
90960 22 3e 3c 2f 73 70 61 6e 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
90980 61 6e 20 63 6c 61 73 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
909a0 6d 64 5f 66 6e 73 20 3d 20 5b 5f 5d 43 6d 64 46 6e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 md_fns.=.[_]CmdFn{</span>.<span.
909c0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 43 6d 64 46 6e 20 7b 2e 6e 61 6d 65 20 3d 20 class="line">....CmdFn.{.name.=.
909e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 6e 65 26 <span.class="tok-str">&quot;one&
90a00 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 6f 6e 65 7d 2c 3c 2f 73 70 61 quot;</span>,..func.=.one},</spa
90a20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 43 6d 64 46 6e 20 n>.<span.class="line">....CmdFn.
90a40 7b 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 {.name.=.<span.class="tok-str">&
90a60 71 75 6f 74 3b 74 77 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 74 quot;two&quot;</span>,..func.=.t
90a80 77 6f 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 wo},</span>.<span.class="line">.
90aa0 20 20 20 43 6d 64 46 6e 20 7b 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ...CmdFn.{.name.=.<span.class="t
90ac0 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 72 65 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ok-str">&quot;three&quot;</span>
90ae0 2c 20 2e 66 75 6e 63 20 3d 20 74 68 72 65 65 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ,..func.=.three},</span>.<span.c
90b00 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
90b20 73 3d 22 6c 69 6e 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
90b40 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6f 6e 65 </span>.<span.class="tok-fn">one
90b60 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-
90b80 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
90ba0 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
90bc0 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.+
90be0 20 3c 73 70 61 6e 20 63 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
90c00 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">
90c20 3c 73 70 61 6e 20 63 6c 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>.<
90c40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 77 6f 3c 2f 73 70 61 6e 3e 28 76 span.class="tok-fn">two</span>(v
90c60 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 alue:.<span.class="tok-type">i32
90c80 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">
90ca0 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 i32</span>.{.<span.class="tok-kw
90cc0 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 20 2b 20 3c 73 70 61 6e 20 63 6c ">return</span>.value.+.<span.cl
90ce0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 20 7d 3c 2f 73 70 ass="tok-number">2</span>;.}</sp
90d00 61 6e 3e 0a 3c 73 70 61 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
90d20 73 73 3d 22 74 6f 6b 2d 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
90d40 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 68 72 65 65 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c s="tok-fn">three</span>(value:.<
90d60 73 70 61 6e 20 63 6c 61 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>
90d80 29 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
90da0 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
90dc0 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
90de0 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">3</span>;.}</span>.<sp
90e00 61 6e 20 63 6c 61 73 73 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
90e20 61 73 73 3d 22 6c 69 6e 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">
90e40 66 6e 3c 2f 73 70 61 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
90e60 65 72 66 6f 72 6d 46 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b erformFn</span>(<span.class="tok
90e80 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 70 72 65 66 69 78 5f 63 68 61 72 -kw">comptime</span>.prefix_char
90ea0 3a 20 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
90ec0 6e 3e 2c 20 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f n>,.start_value:.<span.class="to
90ee0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">i32</span>).<span.class=
90f00 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c "tok-type">i32</span>.{</span>.<
90f20 73 70 61 6e 20 63 6c 61 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
90f40 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 s="tok-kw">var</span>.result:.<s
90f60 70 61 6e 20 63 6c 61 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>.
90f80 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 =.start_value;</span>.<span.clas
90fa0 73 3d 22 6c 69 6e 65 22 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
90fc0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">comptime</span>.<span.class="t
90fe0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ok-kw">var</span>.i.=.<span.clas
91000 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-number">0</span>;</span>.
91020 3c 73 70 61 6e 20 63 6c 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
91040 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ss="tok-kw">inline</span>.<span.
91060 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.&
91080 6c 74 3b 20 63 6d 64 5f 66 6e 73 2e 6c 65 6e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 lt;.cmd_fns.len).:.(i.+=.<span.c
910a0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 lass="tok-number">1</span>).{</s
910c0 70 61 6e 3e 0a 3c 73 70 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">........
910e0 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>.(
91100 63 6d 64 5f 66 6e 73 5b 69 5d 2e 6e 61 6d 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b cmd_fns[i].name[<span.class="tok
91120 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 70 72 65 66 69 78 5f 63 68 61 -number">0</span>].==.prefix_cha
91140 72 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 r).{</span>.<span.class="line">.
91160 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 20 3d 20 63 6d 64 5f 66 6e 73 5b 69 5d 2e 66 ...........result.=.cmd_fns[i].f
91180 75 6e 63 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d unc(result);</span>.<span.class=
911a0 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
911c0 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
911e0 61 73 73 3d 22 6c 69 6e 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-
91200 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>
91220 0a 3c 73 70 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
91240 61 6e 20 63 6c 61 73 73 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
91260 61 73 73 3d 22 6c 69 6e 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">
91280 74 65 73 74 3c 2f 73 70 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
912a0 22 3e 26 71 75 6f 74 3b 70 65 72 66 6f 72 6d 20 66 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 ">&quot;perform.fn&quot;</span>.
912c0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
912e0 3c 73 70 61 6e 20 63 6c 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>.
91300 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f expect(performFn(<span.class="to
91320 6b 2d 73 74 72 22 3e 27 74 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 k-str">'t'</span>,.<span.class="
91340 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 tok-number">1</span>).==.<span.c
91360 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 lass="tok-number">6</span>);</sp
91380 61 6e 3e 0a 3c 73 70 61 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
913a0 20 63 6c 61 73 73 3d 22 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
913c0 74 28 70 65 72 66 6f 72 6d 46 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 t(performFn(<span.class="tok-str
913e0 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">'o'</span>,.<span.class="tok-n
91400 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d umber">0</span>).==.<span.class=
91420 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>.<
91440 73 70 61 6e 20 63 6c 61 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
91460 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 70 65 72 s="tok-kw">try</span>.expect(per
91480 66 6f 72 6d 46 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 77 27 formFn(<span.class="tok-str">'w'
914a0 3c 2f 73 70 61 6e 3e 2c 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
914c0 22 3e 39 39 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">99</span>).==.<span.class="tok
914e0 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">99</span>);</span>.<spa
91500 6e 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></
91520 70 72 65 3e 3c 2f 66 69 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
91540 20 63 6c 61 73 73 3d 22 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
91560 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
91580 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 e">$.<kbd>zig.test.comptime_vars
915a0 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
915c0 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 65 72 66 6f 72 6d 20 66 6e 26 71 ine">1/1.test.&quot;perform.fn&q
915e0 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c uot;....OK</span>.<span.class="l
91600 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>.
91620 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>
91640 0a 20 20 20 20 20 20 54 68 69 73 20 65 78 61 6d 70 6c 65 20 69 73 20 61 20 62 69 74 20 63 6f 6e .......This.example.is.a.bit.con
91660 74 72 69 76 65 64 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 trived,.because.the.compile-time
91680 20 65 76 61 6c 75 61 74 69 6f 6e 20 63 6f 6d 70 6f 6e 65 6e 74 20 69 73 20 75 6e 6e 65 63 65 73 .evaluation.component.is.unneces
916a0 73 61 72 79 3b 0a 20 20 20 20 20 20 74 68 69 73 20 63 6f 64 65 20 77 6f 75 6c 64 20 77 6f 72 6b sary;.......this.code.would.work
916c0 20 66 69 6e 65 20 69 66 20 69 74 20 77 61 73 20 61 6c 6c 20 64 6f 6e 65 20 61 74 20 72 75 6e 2d .fine.if.it.was.all.done.at.run-
916e0 74 69 6d 65 2e 20 42 75 74 20 69 74 20 64 6f 65 73 20 65 6e 64 20 75 70 20 67 65 6e 65 72 61 74 time..But.it.does.end.up.generat
91700 69 6e 67 0a 20 20 20 20 20 20 64 69 66 66 65 72 65 6e 74 20 63 6f 64 65 2e 20 49 6e 20 74 68 69 ing.......different.code..In.thi
91720 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 63 6f 64 65 3e 3c 73 s.example,.the.function.<code><s
91740 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 73 70 61 6e pan.class="line">performFn</span
91760 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 74 68 72 65 65 20 64 69 66 66 ></code>.is.generated.three.diff
91780 65 72 65 6e 74 20 74 69 6d 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 64 erent.times,...........for.the.d
917a0 69 66 66 65 72 65 6e 74 20 76 61 6c 75 65 73 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 ifferent.values.of.<code><span.c
917c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 65 66 69 78 5f 63 68 61 72 3c 2f 73 70 61 6e 3e 3c 2f lass="line">prefix_char</span></
917e0 63 6f 64 65 3e 20 70 72 6f 76 69 64 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 code>.provided:.......</p>......
91800 20 3c 66 69 67 75 72 65 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-
91820 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 65 72 66 6f 72 6d 46 cap"><cite.class="file">performF
91840 6e 5f 31 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f 64 n_1</cite></figcaption><pre><cod
91860 65 3e 3c 73 70 61 6e 20 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
91880 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 72 6f 6d 20 74 68 65 20 6c 69 6e 65 3a ="tok-comment">//.From.the.line:
918a0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
918c0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 "><span.class="tok-comment">//.e
918e0 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 27 74 27 2c 20 31 29 20 3d 3d 20 36 29 3b 3c 2f xpect(performFn('t',.1).==.6);</
91900 73 70 61 6e 3e 3c 2f 73 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">
91920 3c 73 70 61 6e 20 63 6c 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>.<
91940 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 73 span.class="tok-fn">performFn</s
91960 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>(start_value:.<span.class="t
91980 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
919a0 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>.
919c0 3c 73 70 61 6e 20 63 6c 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
919e0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c ss="tok-kw">var</span>.result:.<
91a00 73 70 61 6e 20 63 6c 61 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>
91a20 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .=.start_value;</span>.<span.cla
91a40 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 73 75 6c 74 20 3d 20 74 77 6f 28 72 65 73 75 6c ss="line">....result.=.two(resul
91a60 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">..
91a80 20 20 72 65 73 75 6c 74 20 3d 20 74 68 72 65 65 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e ..result.=.three(result);</span>
91aa0 0a 3c 73 70 61 6e 20 63 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
91ac0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c ass="tok-kw">return</span>.resul
91ae0 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">}</
91b00 73 70 61 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>.....
91b20 20 20 3c 66 69 67 75 72 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
91b40 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 65 72 66 6f 72 6d -cap"><cite.class="file">perform
91b60 46 6e 5f 32 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 6f Fn_2</cite></figcaption><pre><co
91b80 64 65 3e 3c 73 70 61 6e 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
91ba0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 72 6f 6d 20 74 68 65 20 6c 69 6e 65 s="tok-comment">//.From.the.line
91bc0 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
91be0 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">//.
91c00 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 27 6f 27 2c 20 30 29 20 3d 3d 20 31 29 3b 3c expect(performFn('o',.0).==.1);<
91c20 2f 73 70 61 6e 3e 3c 2f 73 70 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"
91c40 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>.
91c60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f <span.class="tok-fn">performFn</
91c80 73 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 span>(start_value:.<span.class="
91ca0 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 tok-type">i32</span>).<span.clas
91cc0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e s="tok-type">i32</span>.{</span>
91ce0 0a 3c 73 70 61 6e 20 63 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
91d00 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 ass="tok-kw">var</span>.result:.
91d20 3c 73 70 61 6e 20 63 6c 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
91d40 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >.=.start_value;</span>.<span.cl
91d60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 73 75 6c 74 20 3d 20 6f 6e 65 28 72 65 73 75 ass="line">....result.=.one(resu
91d80 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 lt);</span>.<span.class="line">.
91da0 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</
91dc0 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 span>.result;</span>.<span.class
91de0 3d 22 6c 69 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
91e00 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
91e20 20 63 6c 61 73 73 3d 22 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
91e40 6c 65 22 3e 70 65 72 66 6f 72 6d 46 6e 5f 33 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 le">performFn_3</cite></figcapti
91e60 6f 6e 3e 3c 70 72 65 3e 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"
91e80 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 72 ><span.class="tok-comment">//.Fr
91ea0 6f 6d 20 74 68 65 20 6c 69 6e 65 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e om.the.line:</span></span>.<span
91ec0 20 63 6c 61 73 73 3d 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
91ee0 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 70 65 63 74 28 70 65 72 66 6f 72 6d 46 6e 28 27 77 27 2c omment">//.expect(performFn('w',
91f00 20 39 39 29 20 3d 3d 20 39 39 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .99).==.99);</span></span>.<span
91f20 20 63 6c 61 73 73 3d 22 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
91f40 77 22 3e 66 6e 3c 2f 73 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
91f60 22 3e 70 65 72 66 6f 72 6d 46 6e 3c 2f 73 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 ">performFn</span>(start_value:.
91f80 3c 73 70 61 6e 20 63 6c 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
91fa0 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
91fc0 70 61 6e 3e 20 7b 3c 2f 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"
91fe0 3e 20 20 20 20 3c 73 70 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
92000 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
92020 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 3c 2f 73 pe">i32</span>.=.start_value;</s
92040 70 61 6e 3e 0a 3c 73 70 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
92060 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
92080 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"
920a0 3e 7d 3c 2f 73 70 61 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>.
920c0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 68 ......<p>.......Note.that.this.h
920e0 61 70 70 65 6e 73 20 65 76 65 6e 20 69 6e 20 61 20 64 65 62 75 67 20 62 75 69 6c 64 3b 20 69 6e appens.even.in.a.debug.build;.in
92100 20 61 20 72 65 6c 65 61 73 65 20 62 75 69 6c 64 20 74 68 65 73 65 20 67 65 6e 65 72 61 74 65 64 .a.release.build.these.generated
92120 20 66 75 6e 63 74 69 6f 6e 73 20 73 74 69 6c 6c 0a 20 20 20 20 20 20 70 61 73 73 20 74 68 72 6f .functions.still.......pass.thro
92140 75 67 68 20 72 69 67 6f 72 6f 75 73 20 4c 4c 56 4d 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2e ugh.rigorous.LLVM.optimizations.
92160 20 54 68 65 20 69 6d 70 6f 72 74 61 6e 74 20 74 68 69 6e 67 20 74 6f 20 6e 6f 74 65 2c 20 68 6f .The.important.thing.to.note,.ho
92180 77 65 76 65 72 2c 20 69 73 20 6e 6f 74 20 74 68 61 74 20 74 68 69 73 0a 20 20 20 20 20 20 69 73 wever,.is.not.that.this.......is
921a0 20 61 20 77 61 79 20 74 6f 20 77 72 69 74 65 20 6d 6f 72 65 20 6f 70 74 69 6d 69 7a 65 64 20 63 .a.way.to.write.more.optimized.c
921c0 6f 64 65 2c 20 62 75 74 20 74 68 61 74 20 69 74 20 69 73 20 61 20 77 61 79 20 74 6f 20 6d 61 6b ode,.but.that.it.is.a.way.to.mak
921e0 65 20 73 75 72 65 20 74 68 61 74 20 77 68 61 74 20 3c 65 6d 3e 73 68 6f 75 6c 64 3c 2f 65 6d 3e e.sure.that.what.<em>should</em>
92200 20 68 61 70 70 65 6e 0a 20 20 20 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 3c .happen.......at.compile-time,.<
92220 65 6d 3e 64 6f 65 73 3c 2f 65 6d 3e 20 68 61 70 70 65 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 em>does</em>.happen.at.compile-t
92240 69 6d 65 2e 20 54 68 69 73 20 63 61 74 63 68 65 73 20 6d 6f 72 65 20 65 72 72 6f 72 73 20 61 6e ime..This.catches.more.errors.an
92260 64 20 61 73 20 64 65 6d 6f 6e 73 74 72 61 74 65 64 0a 20 20 20 20 20 20 6c 61 74 65 72 20 69 6e d.as.demonstrated.......later.in
92280 20 74 68 69 73 20 61 72 74 69 63 6c 65 2c 20 61 6c 6c 6f 77 73 20 65 78 70 72 65 73 73 69 76 65 .this.article,.allows.expressive
922a0 6e 65 73 73 20 74 68 61 74 20 69 6e 20 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 73 20 72 65 71 ness.that.in.other.languages.req
922c0 75 69 72 65 73 20 75 73 69 6e 67 20 6d 61 63 72 6f 73 2c 0a 20 20 20 20 20 20 67 65 6e 65 72 61 uires.using.macros,.......genera
922e0 74 65 64 20 63 6f 64 65 2c 20 6f 72 20 61 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 74 6f 20 61 ted.code,.or.a.preprocessor.to.a
92300 63 63 6f 6d 70 6c 69 73 68 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 ccomplish........</p>...........
92320 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 45 78 70 72 65 73 73 69 ...<h4.id="Compile-Time-Expressi
92340 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d ons"><a.href="#toc-Compile-Time-
92360 45 78 70 72 65 73 73 69 6f 6e 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 45 78 70 72 65 73 Expressions">Compile-Time.Expres
92380 73 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 sions</a>.<a.class="hdr".href="#
923a0 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 45 78 70 72 65 73 73 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e Compile-Time-Expressions">..</a>
923c0 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 69 </h4>........<p>.......In.Zig,.i
923e0 74 20 6d 61 74 74 65 72 73 20 77 68 65 74 68 65 72 20 61 20 67 69 76 65 6e 20 65 78 70 72 65 73 t.matters.whether.a.given.expres
92400 73 69 6f 6e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 72 sion.is.known.at.compile-time.or
92420 20 72 75 6e 2d 74 69 6d 65 2e 20 41 20 70 72 6f 67 72 61 6d 6d 65 72 20 63 61 6e 0a 20 20 20 20 .run-time..A.programmer.can.....
92440 20 20 75 73 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ..use.a.<code><span.class="line"
92460 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f ><span.class="tok-kw">comptime</
92480 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 74 span></span></code>.expression.t
924a0 6f 20 67 75 61 72 61 6e 74 65 65 20 74 68 61 74 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 o.guarantee.that.the.expression.
924c0 77 69 6c 6c 20 62 65 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d will.be.evaluated.at.compile-tim
924e0 65 2e 0a 20 20 20 20 20 20 49 66 20 74 68 69 73 20 63 61 6e 6e 6f 74 20 62 65 20 61 63 63 6f 6d e........If.this.cannot.be.accom
92500 70 6c 69 73 68 65 64 2c 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 77 69 6c 6c 20 65 6d 69 74 20 plished,.the.compiler.will.emit.
92520 61 6e 20 65 72 72 6f 72 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 an.error..For.example:.......</p
92540 3e 0a 20 20 20 20 20 20 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
92560 73 3d 22 7a 69 67 2d 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
92580 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>
925a0 3c 63 6f 64 65 3e 3c 73 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
925c0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 lass="tok-kw">extern</span>.<spa
925e0 6e 20 63 6c 61 73 73 3d 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
92600 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 78 69 74 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 .class="tok-fn">exit</span>().<s
92620 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 pan.class="tok-type">noreturn</s
92640 70 61 6e 3e 3b 3c 2f 73 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">
92660 3c 2f 73 70 61 6e 3e 0a 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
92680 20 63 6c 61 73 73 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
926a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 n.class="tok-str">&quot;foo&quot
926c0 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
926e0 69 6e 65 22 3e 20 20 20 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
92700 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
92720 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 65 78 69 74 28 29 3b 3c 2f 73 70 61 6e 3e ss="line">........exit();</span>
92740 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>
92760 0a 3c 73 70 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
92780 64 65 3e 3c 2f 70 72 65 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
927a0 70 74 69 6f 6e 20 63 6c 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
927c0 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
927e0 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 ="line">$.<kbd>zig.test.test.zig
92800 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"
92820 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 ><span.class="t0_1">./docgen_tmp
92840 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 /test.zig:5:9:.</span><span.clas
92860 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c s="t31_1">error:.</span><span.cl
92880 61 73 73 3d 22 74 30 5f 31 22 3e 75 6e 61 62 6c 65 20 74 6f 20 65 76 61 6c 75 61 74 65 20 63 6f ass="t0_1">unable.to.evaluate.co
928a0 6e 73 74 61 6e 74 20 65 78 70 72 65 73 73 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a nstant.expression</span></span>.
928c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 65 78 69 74 28 <span.class="line">........exit(
928e0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
92900 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
92920 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>.
92940 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 64 6f 65 73 6e 27 74 20 6d 61 6b 65 20 ......<p>.......It.doesn't.make.
92960 73 65 6e 73 65 20 74 68 61 74 20 61 20 70 72 6f 67 72 61 6d 20 63 6f 75 6c 64 20 63 61 6c 6c 20 sense.that.a.program.could.call.
92980 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 78 69 74 28 29 3c <code><span.class="line">exit()<
929a0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 65 78 74 65 /span></code>.(or.any.other.exte
929c0 72 6e 61 6c 20 66 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 61 74 20 63 6f 6d 70 rnal.function)...........at.comp
929e0 69 6c 65 2d 74 69 6d 65 2c 20 73 6f 20 74 68 69 73 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 ile-time,.so.this.is.a.compile.e
92a00 72 72 6f 72 2e 20 48 6f 77 65 76 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 rror..However,.a.<code><span.cla
92a20 73 73 3d 22 6c 69 6e 65 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
92a40 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 omptime</span></span></code>.exp
92a60 72 65 73 73 69 6f 6e 20 64 6f 65 73 20 6d 75 63 68 0a 20 20 20 20 20 20 6d 6f 72 65 20 74 68 61 ression.does.much.......more.tha
92a80 6e 20 73 6f 6d 65 74 69 6d 65 73 20 63 61 75 73 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f n.sometimes.cause.a.compile.erro
92aa0 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 69 r........</p>.......<p>.......Wi
92ac0 74 68 69 6e 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e thin.a.<code><span.class="line">
92ae0 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
92b00 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 0a 20 pan></span></code>.expression:..
92b20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c .....</p>.......<ul>...........<
92b40 6c 69 3e 41 6c 6c 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e li>All.variables.are.<code><span
92b60 20 63 6c 61 73 73 3d 22 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
92b80 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e w">comptime</span></span></code>
92ba0 20 76 61 72 69 61 62 6c 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 .variables.</li>...........<li>A
92bc0 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ll.<code><span.class="line"><spa
92be0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e n.class="tok-kw">if</span></span
92c00 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ></code>,.<code><span.class="lin
92c20 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 e"><span.class="tok-kw">while</s
92c40 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 pan></span></code>,.<code><span.
92c60 63 6c 61 73 73 3d 22 6c 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
92c80 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 ">for</span></span></code>,.and.
92ca0 3c 63 6f 64 65 3e 3c 73 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
92cc0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 lass="tok-kw">switch</span></spa
92ce0 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e 73 20 n></code>...........expressions.
92d00 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 6f are.evaluated.at.compile-time,.o
92d20 72 20 65 6d 69 74 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 69 73 20 69 r.emit.a.compile.error.if.this.i
92d40 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 s.not.possible.</li>.........<li
92d60 3e 41 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 63 61 75 73 65 20 74 68 65 20 63 6f >All.function.calls.cause.the.co
92d80 6d 70 69 6c 65 72 20 74 6f 20 69 6e 74 65 72 70 72 65 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e mpiler.to.interpret.the.function
92da0 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 65 6d 69 74 74 69 6e 67 20 61 0a 20 20 20 .at.compile-time,.emitting.a....
92dc0 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 65 20 66 75 6e 63 .......compile.error.if.the.func
92de0 74 69 6f 6e 20 74 72 69 65 73 20 74 6f 20 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 61 74 20 tion.tries.to.do.something.that.
92e00 68 61 73 20 67 6c 6f 62 61 6c 20 72 75 6e 2d 74 69 6d 65 20 73 69 64 65 20 65 66 66 65 63 74 73 has.global.run-time.side.effects
92e20 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 .</li>.......</ul>.......<p>....
92e40 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 61 20 70 72 6f 67 72 61 6d 6d 65 72 20 ...This.means.that.a.programmer.
92e60 63 61 6e 20 63 72 65 61 74 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 69 73 20 63 can.create.a.function.which.is.c
92e80 61 6c 6c 65 64 20 62 6f 74 68 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 6e 64 20 72 alled.both.at.compile-time.and.r
92ea0 75 6e 2d 74 69 6d 65 2c 20 77 69 74 68 0a 20 20 20 20 20 20 6e 6f 20 6d 6f 64 69 66 69 63 61 74 un-time,.with.......no.modificat
92ec0 69 6f 6e 20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 64 2e 0a 20 20 ion.to.the.function.required....
92ee0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 65 74 27 73 20 6c ....</p>.......<p>.......Let's.l
92f00 6f 6f 6b 20 61 74 20 61 6e 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 ook.at.an.example:.......</p>...
92f20 20 20 20 20 3c 66 69 67 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
92f40 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 69 62 6f 6e ig-cap"><cite.class="file">fibon
92f60 61 63 63 69 5f 72 65 63 75 72 73 69 6f 6e 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 acci_recursion.zig</cite></figca
92f80 70 74 69 6f 6e 3e 3c 70 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
92fa0 6e 65 22 3e 3c 73 70 61 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</
92fc0 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-
92fe0 62 75 69 6c 74 69 6e 22 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
93000 61 73 73 3d 22 74 6f 6b 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
93020 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
93040 61 6e 20 63 6c 61 73 73 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
93060 61 73 73 3d 22 6c 69 6e 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">
93080 66 6e 3c 2f 73 70 61 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
930a0 69 62 6f 6e 61 63 63 69 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 ibonacci</span>(index:.<span.cla
930c0 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.
930e0 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
93100 70 61 6e 3e 0a 3c 73 70 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
93120 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 6e 64 65 n.class="tok-kw">if</span>.(inde
93140 78 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e x.&lt;.<span.class="tok-number">
93160 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 2</span>).<span.class="tok-kw">r
93180 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e eturn</span>.index;</span>.<span
931a0 20 63 6c 61 73 73 3d 22 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
931c0 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 69 ok-kw">return</span>.fibonacci(i
931e0 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ndex.-.<span.class="tok-number">
93200 31 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 1</span>).+.fibonacci(index.-.<s
93220 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>)
93240 3b 3c 2f 73 70 61 6e 3e 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
93260 70 61 6e 3e 0a 3c 73 70 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>.
93280 3c 73 70 61 6e 20 63 6c 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="
932a0 74 6f 6b 2d 6b 77 22 3e 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=
932c0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c "tok-str">&quot;fibonacci&quot;<
932e0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
93300 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"
93320 3e 2f 2f 20 74 65 73 74 20 66 69 62 6f 6e 61 63 63 69 20 61 74 20 72 75 6e 2d 74 69 6d 65 3c 2f >//.test.fibonacci.at.run-time</
93340 73 70 61 6e 3e 3c 2f 73 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">
93360 20 20 20 20 3c 73 70 61 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
93380 61 6e 3e 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 an>.expect(fibonacci(<span.class
933a0 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e ="tok-number">7</span>).==.<span
933c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 3c .class="tok-number">13</span>);<
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 3c 2f 73 70 61 6e /span>.<span.class="line"></span
93400 3e 0a 3c 73 70 61 6e 20 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
93420 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 65 73 74 20 66 69 62 6f 6e lass="tok-comment">//.test.fibon
93440 61 63 63 69 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 acci.at.compile-time</span></spa
93460 6e 3e 0a 3c 73 70 61 6e 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.
93480 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b class="tok-kw">comptime</span>.{
934a0 3c 2f 73 70 61 6e 3e 0a 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">.....
934c0 20 20 20 3c 73 70 61 6e 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
934e0 6e 3e 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>.expect(fibonacci(<span.class=
93500 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 "tok-number">7</span>).==.<span.
93520 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 3c 2f class="tok-number">13</span>);</
93540 73 70 61 6e 3e 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">....}</
93560 73 70 61 6e 3e 0a 3c 73 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
93580 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><
935a0 66 69 67 63 61 70 74 69 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
935c0 6c 6c 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.
935e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 66 69 62 class="line">$.<kbd>zig.test.fib
93600 6f 6e 61 63 63 69 5f 72 65 63 75 72 73 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e onacci_recursion.zig</kbd></span
93620 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 >.<span.class="line">1/1.test.&q
93640 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e uot;fibonacci&quot;....OK</span>
93660 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.
93680 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
936a0 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6d 61 67 69 6e 65 20 69 66 gure>.......<p>.......Imagine.if
936c0 20 77 65 20 68 61 64 20 66 6f 72 67 6f 74 74 65 6e 20 74 68 65 20 62 61 73 65 20 63 61 73 65 20 .we.had.forgotten.the.base.case.
936e0 6f 66 20 74 68 65 20 72 65 63 75 72 73 69 76 65 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 74 72 of.the.recursive.function.and.tr
93700 69 65 64 20 74 6f 20 72 75 6e 20 74 68 65 20 74 65 73 74 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e ied.to.run.the.tests:.......</p>
93720 0a 20 20 20 20 20 20 3c 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
93740 3d 22 7a 69 67 2d 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
93760 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><
93780 63 6f 64 65 3e 3c 73 70 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
937a0 61 73 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
937c0 20 3d 20 3c 73 70 61 6e 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
937e0 70 6f 72 74 3c 2f 73 70 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
93800 22 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
93820 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
93840 6e 65 22 3e 3c 2f 73 70 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"><
93860 73 70 61 6e 20 63 6c 61 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
93880 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 3c 2f 73 70 pan.class="tok-fn">fibonacci</sp
938a0 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 an>(index:.<span.class="tok-type
938c0 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 ">u32</span>).<span.class="tok-t
938e0 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
93900 6c 61 73 73 3d 22 6c 69 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
93920 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 69 66 20 28 69 6e 64 65 78 20 26 6c 74 3b 20 32 29 20 72 65 -comment">//if.(index.&lt;.2).re
93940 74 75 72 6e 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 turn.index;</span></span>.<span.
93960 63 6c 61 73 73 3d 22 6c 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
93980 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e k-kw">return</span>.fibonacci(in
939a0 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 dex.-.<span.class="tok-number">1
939c0 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 </span>).+.fibonacci(index.-.<sp
939e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b an.class="tok-number">2</span>);
93a00 3c 2f 73 70 61 6e 3e 0a 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
93a20 61 6e 3e 0a 3c 73 70 61 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>.<
93a40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
93a60 6f 6b 2d 6b 77 22 3e 74 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="
93a80 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f tok-str">&quot;fibonacci&quot;</
93aa0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
93ac0 22 3e 20 20 20 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
93ae0 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ime</span>.{</span>.<span.class=
93b00 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-
93b20 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 28 kw">try</span>.expect(fibonacci(
93b40 3c 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
93b60 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 >).==.<span.class="tok-number">1
93b80 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
93ba0 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
93bc0 69 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
93be0 72 65 3e 3c 66 69 67 75 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
93c00 65 6c 6c 2d 63 61 70 22 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>
93c20 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>
93c40 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>.<
93c60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
93c80 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 38 3a 0_1">./docgen_tmp/test.zig:5:28:
93ca0 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
93cc0 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 6f 70 65 r:.</span><span.class="t0_1">ope
93ce0 72 61 74 69 6f 6e 20 63 61 75 73 65 64 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 3c 2f 73 ration.caused.overflow</span></s
93d00 70 61 6e 3e 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
93d20 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 rn.fibonacci(index.-.1).+.fibona
93d40 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 cci(index.-.2);</span>.<span.cla
93d60 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">......................
93d80 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
93da0 3e 3c 2f 73 70 61 6e 3e 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
93dc0 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 n.class="t0_1">./docgen_tmp/test
93de0 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .zig:5:21:.</span><span.class="t
93e00 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 36_1">note:.</span><span.class="
93e20 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 t0_1">called.from.here</span></s
93e40 70 61 6e 3e 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
93e60 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 rn.fibonacci(index.-.1).+.fibona
93e80 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 cci(index.-.2);</span>.<span.cla
93ea0 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
93ec0 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
93ee0 3e 0a 3c 73 70 61 6e 20 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
93f00 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a ="t0_1">./docgen_tmp/test.zig:5:
93f20 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 21:.</span><span.class="t36_1">n
93f40 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 ote:.</span><span.class="t0_1">c
93f60 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 alled.from.here</span></span>.<s
93f80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f pan.class="line">....return.fibo
93fa0 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 nacci(index.-.1).+.fibonacci(ind
93fc0 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ex.-.2);</span>.<span.class="lin
93fe0 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 e">....................<span.cla
94000 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
94020 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 .class="line"><span.class="t0_1"
94040 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 >./docgen_tmp/test.zig:5:21:.</s
94060 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:.</
94080 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 span><span.class="t0_1">called.f
940a0 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 rom.here</span></span>.<span.cla
940c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 ss="line">....return.fibonacci(i
940e0 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 ndex.-.1).+.fibonacci(index.-.2)
94100 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
94120 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
94140 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=
94160 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
94180 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 en_tmp/test.zig:5:21:.</span><sp
941a0 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
941c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 pan.class="t0_1">called.from.her
941e0 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e</span></span>.<span.class="lin
94200 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 e">....return.fibonacci(index.-.
94220 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 1).+.fibonacci(index.-.2);</span
94240 3e 0a 3c 73 70 61 6e 20 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">...........
94260 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">^</
94280 73 70 61 6e 3e 3c 2f 73 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">
942a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f <span.class="t0_1">./docgen_tmp/
942c0 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
942e0 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
94300 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e ss="t0_1">called.from.here</span
94320 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
94340 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
94360 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
94380 20 63 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">..................
943a0 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></
943c0 73 70 61 6e 3e 0a 3c 73 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
943e0 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 lass="t0_1">./docgen_tmp/test.zi
94400 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f g:5:21:.</span><span.class="t36_
94420 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 1">note:.</span><span.class="t0_
94440 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 1">called.from.here</span></span
94460 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 >.<span.class="line">....return.
94480 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 fibonacci(index.-.1).+.fibonacci
944a0 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d (index.-.2);</span>.<span.class=
944c0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e "line">....................<span
944e0 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>.<
94500 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
94520 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 0_1">./docgen_tmp/test.zig:5:21:
94540 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
94560 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c :.</span><span.class="t0_1">call
94580 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ed.from.here</span></span>.<span
945a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 .class="line">....return.fibonac
945c0 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 ci(index.-.1).+.fibonacci(index.
945e0 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e -.2);</span>.<span.class="line">
94600 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=
94620 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
94640 61 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">./
94660 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 32 39 3a 20 3c 2f 73 70 61 docgen_tmp/test.zig:10:29:.</spa
94680 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 n><span.class="t36_1">note:.</sp
946a0 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f an><span.class="t0_1">called.fro
946c0 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 m.here</span></span>.<span.class
946e0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 74 72 79 20 65 78 70 65 63 74 28 66 69 62 6f 6e ="line">........try.expect(fibon
94700 61 63 63 69 28 37 29 20 3d 3d 20 31 33 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 acci(7).==.13);</span>.<span.cla
94720 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">......................
94740 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
94760 6e 3e 3c 2f 73 70 61 6e 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
94780 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 an.class="t0_1">./docgen_tmp/tes
947a0 74 2e 7a 69 67 3a 38 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t.zig:8:18:.</span><span.class="
947c0 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=
947e0 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f "t0_1">called.from.here</span></
94800 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 65 73 74 20 26 71 span>.<span.class="line">test.&q
94820 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 uot;fibonacci&quot;.{</span>.<sp
94840 61 6e 20 63 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">................
94860 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
94880 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>.....
948a0 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 6d 70 69 6c 65 72 20 70 72 6f 64 75 63 65 ..<p>.......The.compiler.produce
948c0 73 20 61 6e 20 65 72 72 6f 72 20 77 68 69 63 68 20 69 73 20 61 20 73 74 61 63 6b 20 74 72 61 63 s.an.error.which.is.a.stack.trac
948e0 65 20 66 72 6f 6d 20 74 72 79 69 6e 67 20 74 6f 20 65 76 61 6c 75 61 74 65 20 74 68 65 0a 20 20 e.from.trying.to.evaluate.the...
94900 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 ....function.at.compile-time....
94920 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 75 63 6b 69 6c 79 ....</p>.......<p>.......Luckily
94940 2c 20 77 65 20 75 73 65 64 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 2c 20 61 ,.we.used.an.unsigned.integer,.a
94960 6e 64 20 73 6f 20 77 68 65 6e 20 77 65 20 74 72 69 65 64 20 74 6f 20 73 75 62 74 72 61 63 74 20 nd.so.when.we.tried.to.subtract.
94980 31 20 66 72 6f 6d 20 30 2c 20 69 74 20 74 72 69 67 67 65 72 65 64 0a 20 20 20 20 20 20 75 6e 64 1.from.0,.it.triggered.......und
949a0 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2c 20 77 68 69 63 68 20 69 73 20 61 6c 77 61 79 73 efined.behavior,.which.is.always
949c0 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 .a.compile.error.if.the.compiler
949e0 20 6b 6e 6f 77 73 20 69 74 20 68 61 70 70 65 6e 65 64 2e 0a 20 20 20 20 20 20 42 75 74 20 77 68 .knows.it.happened........But.wh
94a00 61 74 20 77 6f 75 6c 64 20 68 61 76 65 20 68 61 70 70 65 6e 65 64 20 69 66 20 77 65 20 75 73 65 at.would.have.happened.if.we.use
94a20 64 20 61 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 d.a.signed.integer?.......</p>..
94a40 20 20 20 20 20 3c 66 69 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="
94a60 7a 69 67 2d 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
94a80 2e 7a 69 67 3c 2f 63 69 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
94aa0 64 65 3e 3c 73 70 61 6e 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
94ac0 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.=
94ae0 20 3c 73 70 61 6e 20 63 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
94b00 72 74 3c 2f 73 70 61 6e 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">
94b20 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.
94b40 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
94b60 22 3e 3c 2f 73 70 61 6e 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
94b80 61 6e 20 63 6c 61 73 73 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
94ba0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 3c 2f 73 70 61 6e n.class="tok-fn">fibonacci</span
94bc0 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">
94be0 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 i32</span>).<span.class="tok-typ
94c00 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
94c20 73 73 3d 22 6c 69 6e 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
94c40 6f 6d 6d 65 6e 74 22 3e 2f 2f 69 66 20 28 69 6e 64 65 78 20 26 6c 74 3b 20 32 29 20 72 65 74 75 omment">//if.(index.&lt;.2).retu
94c60 72 6e 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c rn.index;</span></span>.<span.cl
94c80 61 73 73 3d 22 6c 69 6e 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-
94ca0 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
94cc0 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</
94ce0 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
94d00 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>);</
94d20 73 70 61 6e 3e 0a 3c 73 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
94d40 3e 0a 3c 73 70 61 6e 20 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
94d60 61 6e 20 63 6c 61 73 73 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
94d80 2d 6b 77 22 3e 74 65 73 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
94da0 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
94dc0 61 6e 3e 20 7b 3c 2f 73 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">
94de0 20 20 20 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
94e00 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
94e20 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
94e40 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 ">try</span>.expect(fibonacci(<s
94e60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 pan.class="tok-number">7</span>)
94e80 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c .==.<span.class="tok-number">13<
94ea0 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
94ec0 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
94ee0 65 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
94f00 3e 3c 66 69 67 75 72 65 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
94f20 6c 2d 63 61 70 22 3e 53 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
94f40 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
94f60 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 g.test.test.zig</kbd></span>.<sp
94f80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f an.class="line"><span.class="t0_
94fa0 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 1">./docgen_tmp/test.zig:5:21:.<
94fc0 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:
94fe0 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 76 61 6c 75 .</span><span.class="t0_1">evalu
95000 61 74 69 6f 6e 20 65 78 63 65 65 64 65 64 20 31 30 30 30 20 62 61 63 6b 77 61 72 64 73 20 62 72 ation.exceeded.1000.backwards.br
95020 61 6e 63 68 65 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 anches</span></span>.<span.class
95040 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 ="line">....return.fibonacci(ind
95060 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c ex.-.1).+.fibonacci(index.-.2);<
95080 2f 73 70 61 6e 3e 0a 3c 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">......
950a0 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
950c0 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
950e0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e ine"><span.class="t0_1">./docgen
95100 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e _tmp/test.zig:5:21:.</span><span
95120 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
95140 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c n.class="t0_1">called.from.here<
95160 2f 73 70 61 6e 3e 3c 2f 73 70 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"
95180 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 >....return.fibonacci(index.-.1)
951a0 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a .+.fibonacci(index.-.2);</span>.
951c0 3c 73 70 61 6e 20 63 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">.............
951e0 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
95200 61 6e 3e 3c 2f 73 70 61 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
95220 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 pan.class="t0_1">./docgen_tmp/te
95240 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig:5:21:.</span><span.class=
95260 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
95280 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c ="t0_1">called.from.here</span><
952a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 /span>.<span.class="line">....re
952c0 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f turn.fibonacci(index.-.1).+.fibo
952e0 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 nacci(index.-.2);</span>.<span.c
95300 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">....................
95320 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
95340 61 6e 3e 0a 3c 73 70 61 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
95360 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a ss="t0_1">./docgen_tmp/test.zig:
95380 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 5:21:.</span><span.class="t36_1"
953a0 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 >note:.</span><span.class="t0_1"
953c0 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a >called.from.here</span></span>.
953e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 <span.class="line">....return.fi
95400 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 bonacci(index.-.1).+.fibonacci(i
95420 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ndex.-.2);</span>.<span.class="l
95440 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 ine">....................<span.c
95460 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
95480 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f an.class="line"><span.class="t0_
954a0 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 1">./docgen_tmp/test.zig:5:21:.<
954c0 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 /span><span.class="t36_1">note:.
954e0 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 </span><span.class="t0_1">called
95500 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .from.here</span></span>.<span.c
95520 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 lass="line">....return.fibonacci
95540 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 (index.-.1).+.fibonacci(index.-.
95560 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 2);</span>.<span.class="line">..
95580 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
955a0 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
955c0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f s="line"><span.class="t0_1">./do
955e0 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c cgen_tmp/test.zig:5:21:.</span><
95600 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>
95620 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 <span.class="t0_1">called.from.h
95640 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ere</span></span>.<span.class="l
95660 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 ine">....return.fibonacci(index.
95680 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 -.1).+.fibonacci(index.-.2);</sp
956a0 61 6e 3e 0a 3c 73 70 61 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">.........
956c0 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e ...........<span.class="t32_1">^
956e0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
95700 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d "><span.class="t0_1">./docgen_tm
95720 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c p/test.zig:5:21:.</span><span.cl
95740 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
95760 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 lass="t0_1">called.from.here</sp
95780 61 6e 3e 3c 2f 73 70 61 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">..
957a0 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 ..return.fibonacci(index.-.1).+.
957c0 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 fibonacci(index.-.2);</span>.<sp
957e0 61 6e 20 63 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">................
95800 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>
95820 3c 2f 73 70 61 6e 3e 0a 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
95840 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.
95860 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 zig:5:21:.</span><span.class="t3
95880 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
958a0 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 0_1">called.from.here</span></sp
958c0 61 6e 3e 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
958e0 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 n.fibonacci(index.-.1).+.fibonac
95900 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ci(index.-.2);</span>.<span.clas
95920 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
95940 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>
95960 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
95980 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 "t0_1">./docgen_tmp/test.zig:5:2
959a0 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 1:.</span><span.class="t36_1">no
959c0 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 te:.</span><span.class="t0_1">ca
959e0 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lled.from.here</span></span>.<sp
95a00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e an.class="line">....return.fibon
95a20 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 acci(index.-.1).+.fibonacci(inde
95a40 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 x.-.2);</span>.<span.class="line
95a60 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ">....................<span.clas
95a80 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.
95aa0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e class="line"><span.class="t0_1">
95ac0 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 ./docgen_tmp/test.zig:5:21:.</sp
95ae0 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 an><span.class="t36_1">note:.</s
95b00 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 pan><span.class="t0_1">called.fr
95b20 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 om.here</span></span>.<span.clas
95b40 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e s="line">....return.fibonacci(in
95b60 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b dex.-.1).+.fibonacci(index.-.2);
95b80 3c 2f 73 70 61 6e 3e 0a 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">.....
95ba0 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_
95bc0 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="
95be0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 line"><span.class="t0_1">./docge
95c00 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 n_tmp/test.zig:5:21:.</span><spa
95c20 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
95c40 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 an.class="t0_1">called.from.here
95c60 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
95c80 22 3e 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 ">....return.fibonacci(index.-.1
95ca0 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e ).+.fibonacci(index.-.2);</span>
95cc0 0a 3c 73 70 61 6e 20 63 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">............
95ce0 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
95d00 70 61 6e 3e 3c 2f 73 70 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"><
95d20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 span.class="t0_1">./docgen_tmp/t
95d40 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 est.zig:5:21:.</span><span.class
95d60 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
95d80 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e s="t0_1">called.from.here</span>
95da0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 </span>.<span.class="line">....r
95dc0 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 eturn.fibonacci(index.-.1).+.fib
95de0 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 onacci(index.-.2);</span>.<span.
95e00 63 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">...................
95e20 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
95e40 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>.....
95e60 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 6d 70 69 6c 65 72 20 6e 6f 74 69 63 65 64 ..<p>.......The.compiler.noticed
95e80 20 74 68 61 74 20 65 76 61 6c 75 61 74 69 6e 67 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 .that.evaluating.this.function.a
95ea0 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 74 6f 6f 6b 20 61 20 6c 6f 6e 67 20 74 69 6d 65 2c t.compile-time.took.a.long.time,
95ec0 0a 20 20 20 20 20 20 61 6e 64 20 74 68 75 73 20 65 6d 69 74 74 65 64 20 61 20 63 6f 6d 70 69 6c .......and.thus.emitted.a.compil
95ee0 65 20 65 72 72 6f 72 20 61 6e 64 20 67 61 76 65 20 75 70 2e 20 49 66 20 74 68 65 20 70 72 6f 67 e.error.and.gave.up..If.the.prog
95f00 72 61 6d 6d 65 72 20 77 61 6e 74 73 20 74 6f 20 69 6e 63 72 65 61 73 65 0a 20 20 20 20 20 20 74 rammer.wants.to.increase.......t
95f20 68 65 20 62 75 64 67 65 74 20 66 6f 72 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 6d 70 75 he.budget.for.compile-time.compu
95f40 74 61 74 69 6f 6e 2c 20 74 68 65 79 20 63 61 6e 20 75 73 65 20 61 20 62 75 69 6c 74 2d 69 6e 20 tation,.they.can.use.a.built-in.
95f60 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 65 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 function.called.......<a.href="#
95f80 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e setEvalBranchQuota">@setEvalBran
95fa0 63 68 51 75 6f 74 61 3c 2f 61 3e 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 64 65 66 61 75 6c chQuota</a>.to.change.the.defaul
95fc0 74 20 6e 75 6d 62 65 72 20 31 30 30 30 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 20 65 6c 73 65 2e t.number.1000.to.something.else.
95fe0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 61 74 .......</p>.......<p>.......What
96000 20 69 66 20 77 65 20 66 69 78 20 74 68 65 20 62 61 73 65 20 63 61 73 65 2c 20 62 75 74 20 70 75 .if.we.fix.the.base.case,.but.pu
96020 74 20 74 68 65 20 77 72 6f 6e 67 20 76 61 6c 75 65 20 69 6e 20 74 68 65 20 3c 63 6f 64 65 3e 3c t.the.wrong.value.in.the.<code><
96040 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 78 70 65 63 74 3c 2f 73 70 61 6e 3e 3c span.class="line">expect</span><
96060 2f 63 6f 64 65 3e 20 6c 69 6e 65 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 /code>.line?.......</p>.......<f
96080 69 67 75 72 65 3e 3c 66 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
960a0 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
960c0 69 74 65 3e 3c 2f 66 69 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
960e0 6e 20 63 6c 61 73 73 3d 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-
96100 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 70 61 6e 20 kw">const</span>.expect.=.<span.
96120 63 6c 61 73 73 3d 22 74 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
96140 6e 3e 28 3c 73 70 61 6e 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
96160 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b td&quot;</span>).testing.expect;
96180 3c 2f 73 70 61 6e 3e 0a 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
961a0 6e 3e 0a 3c 73 70 61 6e 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
961c0 73 3d 22 74 6f 6b 2d 6b 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
961e0 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 78 ="tok-fn">fibonacci</span>(index
96200 3a 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
96220 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c an>).<span.class="tok-type">i32<
96240 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
96260 65 22 3e 20 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</
96280 73 70 61 6e 3e 20 28 69 6e 64 65 78 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.(index.&lt;.<span.class="t
962a0 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
962c0 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 64 65 78 3b 3c 2f ="tok-kw">return</span>.index;</
962e0 73 70 61 6e 3e 0a 3c 73 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
96300 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>.
96320 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 fibonacci(index.-.<span.class="t
96340 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 ok-number">1</span>).+.fibonacci
96360 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 (index.-.<span.class="tok-number
96380 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=
963a0 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
963c0 65 22 3e 3c 2f 73 70 61 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
963e0 70 61 6e 20 63 6c 61 73 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>.<
96400 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 62 6f 6e span.class="tok-str">&quot;fibon
96420 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e acci&quot;</span>.{</span>.<span
96440 20 63 6c 61 73 73 3d 22 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
96460 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>.
96480 3c 73 70 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
964a0 20 63 6c 61 73 73 3d 22 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
964c0 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d t(fibonacci(<span.class="tok-num
964e0 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ber">7</span>).==.<span.class="t
96500 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 39 39 39 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e ok-number">99999</span>);</span>
96520 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3c 2f 73 70 61 6e 3e .<span.class="line">....}</span>
96540 0a 3c 73 70 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
96560 64 65 3e 3c 2f 70 72 65 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
96580 70 74 69 6f 6e 20 63 6c 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
965a0 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
965c0 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 ="line">$.<kbd>zig.test.test.zig
965e0 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"
96600 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 2e >1/1.test.&quot;fibonacci&quot;.
96620 2e 2e 20 74 65 73 74 20 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 2e 2e 2e ...test.&quot;fibonacci&quot;...
96640 20 46 41 49 4c 20 28 54 65 73 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 6c 74 29 3c 2f 73 70 .FAIL.(TestUnexpectedResult)</sp
96660 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 41 49 4c 20 28 54 65 73 an>.<span.class="line">FAIL.(Tes
96680 74 55 6e 65 78 70 65 63 74 65 64 52 65 73 75 6c 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 tUnexpectedResult)</span>.<span.
966a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 30 20 70 61 73 73 65 64 3b 20 30 20 73 6b 69 70 70 65 64 class="line">0.passed;.0.skipped
966c0 3b 20 31 20 66 61 69 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ;.1.failed.</span>.<span.class="
966e0 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.
96700 63 6f 6d 6d 61 6e 64 20 66 61 69 6c 65 64 20 77 69 74 68 20 65 78 69 74 20 63 6f 64 65 20 31 3a command.failed.with.exit.code.1:
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 64 6f 63 67 65 </span>.<span.class="line">docge
96740 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 36 34 33 64 30 38 66 31 n_tmp/zig-cache/o/e62d5b643d08f1
96760 61 63 62 62 31 33 38 36 64 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e acbb1386db92eb0f23/test./home/an
96780 64 79 2f 74 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 3c 2f 73 70 dy/tmp/zig/build-release/zig</sp
967a0 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>......
967c0 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 61 74 20 68 61 70 70 65 6e 65 64 20 69 73 20 5a 69 67 20 .<p>.......What.happened.is.Zig.
967e0 73 74 61 72 74 65 64 20 69 6e 74 65 72 70 72 65 74 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c started.interpreting.the.<code><
96800 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 78 70 65 63 74 3c 2f 73 70 61 6e 3e 3c span.class="line">expect</span><
96820 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 20 /code>.function.with.the........
96840 20 20 20 70 61 72 61 6d 65 74 65 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ...parameter.<code><span.class="
96860 6c 69 6e 65 22 3e 6f 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 65 74 20 74 6f 20 3c 63 line">ok</span></code>.set.to.<c
96880 6f 64 65 3e 3c 73 70 61 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
968a0 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ss="tok-null">false</span></span
968c0 3e 3c 2f 63 6f 64 65 3e 2e 20 57 68 65 6e 20 74 68 65 20 69 6e 74 65 72 70 72 65 74 65 72 20 68 ></code>..When.the.interpreter.h
968e0 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e it...................<code><span
96900 20 63 6c 61 73 73 3d 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
96920 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f uiltin">@panic</span></span></co
96940 64 65 3e 20 69 74 20 65 6d 69 74 74 65 64 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 62 de>.it.emitted.a.compile.error.b
96960 65 63 61 75 73 65 20 61 20 70 61 6e 69 63 20 64 75 72 69 6e 67 20 63 6f 6d 70 69 6c 65 0a 20 20 ecause.a.panic.during.compile...
96980 20 20 20 20 63 61 75 73 65 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 66 20 69 74 ....causes.a.compile.error.if.it
969a0 20 69 73 20 64 65 74 65 63 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 .is.detected.at.compile-time....
969c0 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 74 20 63 6f 6e ....</p>........<p>.......At.con
969e0 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 28 6f 75 74 73 69 64 65 20 6f 66 20 61 6e 79 20 66 75 6e tainer.level.(outside.of.any.fun
96a00 63 74 69 6f 6e 29 2c 20 61 6c 6c 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 69 6d 70 6c ction),.all.expressions.are.impl
96a20 69 63 69 74 6c 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 icitly.......<code><span.class="
96a40 6c 69 6e 65 22 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
96a60 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 ime</span></span></code>.express
96a80 69 6f 6e 73 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 77 65 20 63 61 6e 20 75 73 65 ions..This.means.that.we.can.use
96aa0 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 0a 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 65 20 63 .functions.to.......initialize.c
96ac0 6f 6d 70 6c 65 78 20 73 74 61 74 69 63 20 64 61 74 61 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a omplex.static.data..For.example:
96ae0 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
96b00 70 74 69 6f 6e 20 63 6c 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
96b20 73 3d 22 66 69 6c 65 22 3e 4e 5f 70 72 69 6d 65 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 s="file">N_primes.zig</cite></fi
96b40 67 63 61 70 74 69 6f 6e 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=
96b60 22 6c 69 6e 65 22 3e 3c 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
96b80 74 3c 2f 73 70 61 6e 3e 20 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 20 3d 20 66 69 72 73 74 t</span>.first_25_primes.=.first
96ba0 4e 50 72 69 6d 65 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 NPrimes(<span.class="tok-number"
96bc0 3e 32 35 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >25</span>);</span>.<span.class=
96be0 22 6c 69 6e 65 22 3e 3c 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
96c00 74 3c 2f 73 70 61 6e 3e 20 73 75 6d 5f 6f 66 5f 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 20 t</span>.sum_of_first_25_primes.
96c20 3d 20 73 75 6d 28 26 61 6d 70 3b 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 29 3b 3c 2f 73 70 =.sum(&amp;first_25_primes);</sp
96c40 61 6e 3e 0a 3c 73 70 61 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>.<
96c60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
96c80 6f 6b 2d 6b 77 22 3e 66 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
96ca0 6b 2d 66 6e 22 3e 66 69 72 73 74 4e 50 72 69 6d 65 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 k-fn">firstNPrimes</span>(<span.
96cc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e class="tok-kw">comptime</span>.n
96ce0 3a 20 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</
96d00 73 70 61 6e 3e 29 20 5b 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 span>).[n]<span.class="tok-type"
96d20 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
96d40 3d 22 6c 69 6e 65 22 3e 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"
96d60 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 72 69 6d 65 5f 6c 69 73 74 3a 20 5b 6e 5d 3c 73 70 61 6e >var</span>.prime_list:.[n]<span
96d80 20 63 6c 61 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>.=.<
96da0 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<
96dc0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
96de0 22 3e 20 20 20 20 3c 73 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</
96e00 73 70 61 6e 3e 20 6e 65 78 74 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span>.next_index:.<span.class="t
96e20 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
96e40 61 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
96e60 3e 0a 3c 73 70 61 6e 20 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
96e80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 74 65 73 74 5f 6e 75 lass="tok-kw">var</span>.test_nu
96ea0 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 mber:.<span.class="tok-type">i32
96ec0 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
96ee0 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d r">2</span>;</span>.<span.class=
96f00 22 6c 69 6e 65 22 3e 20 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">
96f20 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 6e 65 78 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 70 72 while</span>.(next_index.&lt;.pr
96f40 69 6d 65 5f 6c 69 73 74 2e 6c 65 6e 29 20 3a 20 28 74 65 73 74 5f 6e 75 6d 62 65 72 20 2b 3d 20 ime_list.len).:.(test_number.+=.
96f60 3c 73 70 61 6e 20 63 6c 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
96f80 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">.
96fa0 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c .......<span.class="tok-kw">var<
96fc0 2f 73 70 61 6e 3e 20 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 /span>.test_prime_index:.<span.c
96fe0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c lass="tok-type">usize</span>.=.<
97000 73 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>
97020 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
97040 20 20 20 20 3c 73 70 61 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
97060 61 6e 3e 20 69 73 5f 70 72 69 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d an>.is_prime.=.<span.class="tok-
97080 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 null">true</span>;</span>.<span.
970a0 63 6c 61 73 73 3d 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
970c0 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 74 65 73 74 5f 70 72 69 ="tok-kw">while</span>.(test_pri
970e0 6d 65 5f 69 6e 64 65 78 20 26 6c 74 3b 20 6e 65 78 74 5f 69 6e 64 65 78 29 20 3a 20 28 74 65 73 me_index.&lt;.next_index).:.(tes
97100 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f t_prime_index.+=.<span.class="to
97120 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 k-number">1</span>).{</span>.<sp
97140 61 6e 20 63 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
97160 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 74 65 73 74 n.class="tok-kw">if</span>.(test
97180 5f 6e 75 6d 62 65 72 20 25 20 70 72 69 6d 65 5f 6c 69 73 74 5b 74 65 73 74 5f 70 72 69 6d 65 5f _number.%.prime_list[test_prime_
971a0 69 6e 64 65 78 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 index].==.<span.class="tok-numbe
971c0 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
971e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 5f 70 72 69 6d s="line">................is_prim
97200 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
97220 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
97240 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e">................<span.class="
97260 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-kw">break</span>;</span>.<sp
97280 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 2f 73 an.class="line">............}</s
972a0 70 61 6e 3e 0a 3c 73 70 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">........
972c0 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 }</span>.<span.class="line">....
972e0 20 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
97300 6e 3e 20 28 69 73 5f 70 72 69 6d 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 n>.(is_prime).{</span>.<span.cla
97320 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6d 65 5f 6c 69 73 74 ss="line">............prime_list
97340 5b 6e 65 78 74 5f 69 6e 64 65 78 5d 20 3d 20 74 65 73 74 5f 6e 75 6d 62 65 72 3b 3c 2f 73 70 61 [next_index].=.test_number;</spa
97360 6e 3e 0a 3c 73 70 61 6e 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">..........
97380 20 20 6e 65 78 74 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ..next_index.+=.<span.class="tok
973a0 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.
973c0 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
973e0 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
97400 70 61 6e 20 63 6c 61 73 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
97420 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 70 72 69 6d 65 5f 6c 69 ="tok-kw">return</span>.prime_li
97440 73 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c st;</span>.<span.class="line">}<
97460 2f 73 70 61 6e 3e 0a 3c 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
97480 3e 0a 3c 73 70 61 6e 20 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
974a0 3d 22 74 6f 6b 2d 6b 77 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=
974c0 22 74 6f 6b 2d 66 6e 22 3e 73 75 6d 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 73 3a 20 5b 5d 3c "tok-fn">sum</span>(numbers:.[]<
974e0 73 70 61 6e 20 63 6c 61 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>
97500 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
97520 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</
97540 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
97560 22 3e 20 20 20 20 3c 73 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</
97580 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
975a0 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
975c0 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
975e0 6e 20 63 6c 61 73 73 3d 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="
97600 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 73 29 20 7c 78 7c tok-kw">for</span>.(numbers).|x|
97620 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
97640 20 20 20 20 20 72 65 73 75 6c 74 20 2b 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .....result.+=.x;</span>.<span.c
97660 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
97680 6c 61 73 73 3d 22 6c 69 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
976a0 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e -kw">return</span>.result;</span
976c0 3e 0a 3c 73 70 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
976e0 70 61 6e 20 63 6c 61 73 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
97700 6c 61 73 73 3d 22 6c 69 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"
97720 3e 74 65 73 74 3c 2f 73 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
97740 72 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 73 26 71 75 6f 74 3b 3c 2f r">&quot;variable.values&quot;</
97760 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
97780 22 3e 20 20 20 20 3c 73 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</
977a0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e span>.<span.class="tok-builtin">
977c0 40 69 6d 70 6f 72 74 3c 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-
977e0 73 74 72 22 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
97800 74 69 6e 67 2e 65 78 70 65 63 74 28 73 75 6d 5f 6f 66 5f 66 69 72 73 74 5f 32 35 5f 70 72 69 6d ting.expect(sum_of_first_25_prim
97820 65 73 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 es.==.<span.class="tok-number">1
97840 30 36 30 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 060</span>);</span>.<span.class=
97860 22 6c 69 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
97880 67 75 72 65 3e 3c 66 69 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="
978a0 73 68 65 6c 6c 2d 63 61 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
978c0 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
978e0 64 3e 7a 69 67 20 74 65 73 74 20 4e 5f 70 72 69 6d 65 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 d>zig.test.N_primes.zig</kbd></s
97900 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
97920 20 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 73 26 71 75 6f 74 3b 2e 2e 2e 20 .&quot;variable.values&quot;....
97940 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
97960 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><
97980 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 /pre></figure>.......<p>.......W
979a0 68 65 6e 20 77 65 20 63 6f 6d 70 69 6c 65 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2c 20 5a 69 67 hen.we.compile.this.program,.Zig
979c0 20 67 65 6e 65 72 61 74 65 73 20 74 68 65 20 63 6f 6e 73 74 61 6e 74 73 0a 20 20 20 20 20 20 77 .generates.the.constants.......w
979e0 69 74 68 20 74 68 65 20 61 6e 73 77 65 72 20 70 72 65 2d 63 6f 6d 70 75 74 65 64 2e 20 48 65 72 ith.the.answer.pre-computed..Her
97a00 65 20 61 72 65 20 74 68 65 20 6c 69 6e 65 73 20 66 72 6f 6d 20 74 68 65 20 67 65 6e 65 72 61 74 e.are.the.lines.from.the.generat
97a20 65 64 20 4c 4c 56 4d 20 49 52 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 ed.LLVM.IR:.......</p>.......<pr
97a40 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 6c 6c 76 6d 22 3e 40 30 20 3d 20 69 6e 74 65 72 6e e><code.class="llvm">@0.=.intern
97a60 61 6c 20 75 6e 6e 61 6d 65 64 5f 61 64 64 72 20 63 6f 6e 73 74 61 6e 74 20 5b 32 35 20 78 20 69 al.unnamed_addr.constant.[25.x.i
97a80 33 32 5d 20 5b 69 33 32 20 32 2c 20 69 33 32 20 33 2c 20 69 33 32 20 35 2c 20 69 33 32 20 37 2c 32].[i32.2,.i32.3,.i32.5,.i32.7,
97aa0 20 69 33 32 20 31 31 2c 20 69 33 32 20 31 33 2c 20 69 33 32 20 31 37 2c 20 69 33 32 20 31 39 2c .i32.11,.i32.13,.i32.17,.i32.19,
97ac0 20 69 33 32 20 32 33 2c 20 69 33 32 20 32 39 2c 20 69 33 32 20 33 31 2c 20 69 33 32 20 33 37 2c .i32.23,.i32.29,.i32.31,.i32.37,
97ae0 20 69 33 32 20 34 31 2c 20 69 33 32 20 34 33 2c 20 69 33 32 20 34 37 2c 20 69 33 32 20 35 33 2c .i32.41,.i32.43,.i32.47,.i32.53,
97b00 20 69 33 32 20 35 39 2c 20 69 33 32 20 36 31 2c 20 69 33 32 20 36 37 2c 20 69 33 32 20 37 31 2c .i32.59,.i32.61,.i32.67,.i32.71,
97b20 20 69 33 32 20 37 33 2c 20 69 33 32 20 37 39 2c 20 69 33 32 20 38 33 2c 20 69 33 32 20 38 39 2c .i32.73,.i32.79,.i32.83,.i32.89,
97b40 20 69 33 32 20 39 37 5d 0a 40 31 20 3d 20 69 6e 74 65 72 6e 61 6c 20 75 6e 6e 61 6d 65 64 5f 61 .i32.97].@1.=.internal.unnamed_a
97b60 64 64 72 20 63 6f 6e 73 74 61 6e 74 20 69 33 32 20 31 30 36 30 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ddr.constant.i32.1060</code></pr
97b80 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 77 65 20 e>.......<p>.......Note.that.we.
97ba0 64 69 64 20 6e 6f 74 20 68 61 76 65 20 74 6f 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 73 70 65 63 did.not.have.to.do.anything.spec
97bc0 69 61 6c 20 77 69 74 68 20 74 68 65 20 73 79 6e 74 61 78 20 6f 66 20 74 68 65 73 65 20 66 75 6e ial.with.the.syntax.of.these.fun
97be0 63 74 69 6f 6e 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 20 20 20 20 20 20 77 65 20 63 6f ctions..For.example,.......we.co
97c00 75 6c 64 20 63 61 6c 6c 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 uld.call.the.<code><span.class="
97c20 6c 69 6e 65 22 3e 73 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e line">sum</span></code>.function
97c40 20 61 73 20 69 73 20 77 69 74 68 20 61 20 73 6c 69 63 65 20 6f 66 20 6e 75 6d 62 65 72 73 20 77 .as.is.with.a.slice.of.numbers.w
97c60 68 6f 73 65 20 6c 65 6e 67 74 68 20 61 6e 64 20 76 61 6c 75 65 73 20 77 65 72 65 0a 20 20 20 20 hose.length.and.values.were.....
97c80 20 20 6f 6e 6c 79 20 6b 6e 6f 77 6e 20 61 74 20 72 75 6e 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 ..only.known.at.run-time........
97ca0 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d </p>.....................<h3.id=
97cc0 22 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 3e 3c 61 20 68 72 65 "Generic-Data-Structures"><a.hre
97ce0 66 3d 22 23 74 6f 63 2d 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 f="#toc-Generic-Data-Structures"
97d00 3e 47 65 6e 65 72 69 63 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 3c 2f 61 3e 20 3c 61 20 >Generic.Data.Structures</a>.<a.
97d20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 47 65 6e 65 72 69 63 2d 44 61 74 61 2d class="hdr".href="#Generic-Data-
97d40 53 74 72 75 63 74 75 72 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c Structures">..</a></h3>........<
97d60 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 75 73 65 73 20 74 68 65 73 65 20 63 61 70 61 62 69 6c 69 p>.......Zig.uses.these.capabili
97d80 74 69 65 73 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 67 65 6e 65 72 69 63 20 64 61 74 61 20 73 ties.to.implement.generic.data.s
97da0 74 72 75 63 74 75 72 65 73 20 77 69 74 68 6f 75 74 20 69 6e 74 72 6f 64 75 63 69 6e 67 20 61 6e tructures.without.introducing.an
97dc0 79 0a 20 20 20 20 20 20 73 70 65 63 69 61 6c 2d 63 61 73 65 20 73 79 6e 74 61 78 2e 20 49 66 20 y.......special-case.syntax..If.
97de0 79 6f 75 20 66 6f 6c 6c 6f 77 65 64 20 61 6c 6f 6e 67 20 73 6f 20 66 61 72 2c 20 79 6f 75 20 6d you.followed.along.so.far,.you.m
97e00 61 79 20 61 6c 72 65 61 64 79 20 6b 6e 6f 77 20 68 6f 77 20 74 6f 20 63 72 65 61 74 65 20 61 0a ay.already.know.how.to.create.a.
97e20 20 20 20 20 20 20 67 65 6e 65 72 69 63 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 2e 0a 20 20 ......generic.data.structure....
97e40 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 09 09 09 48 65 72 65 20 69 73 20 61 6e ....</p>.......<p>....Here.is.an
97e60 20 65 78 61 6d 70 6c 65 20 6f 66 20 61 20 67 65 6e 65 72 69 63 20 3c 63 6f 64 65 3e 3c 73 70 61 .example.of.a.generic.<code><spa
97e80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 69 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 n.class="line">List</span></code
97ea0 3e 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 >.data.structure........</p>....
97ec0 20 20 20 3c 66 69 67 75 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
97ee0 67 2d 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
97f00 69 67 3c 2f 63 69 74 65 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
97f20 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
97f40 22 74 6f 6b 2d 6b 77 22 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="
97f60 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tok-fn">List</span>(<span.class=
97f80 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 "tok-kw">comptime</span>.T:.<spa
97fa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 n.class="tok-type">type</span>).
97fc0 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
97fe0 6e 3e 20 7b 3c 2f 73 70 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">.
98000 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</
98020 73 70 61 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
98040 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
98060 69 6e 65 22 3e 20 20 20 20 20 20 20 20 69 74 65 6d 73 3a 20 5b 5d 54 2c 3c 2f 73 70 61 6e 3e 0a ine">........items:.[]T,</span>.
98080 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6c 65 6e 3a 20 <span.class="line">........len:.
980a0 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
980c0 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">.
980e0 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">
98100 7d 3c 2f 73 70 61 6e 3e 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
98120 61 6e 3e 0a 3c 73 70 61 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
98140 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 67 65 6e 65 72 69 63 20 ss="tok-comment">//.The.generic.
98160 4c 69 73 74 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 20 63 61 6e 20 62 65 20 69 6e 73 74 61 List.data.structure.can.be.insta
98180 6e 74 69 61 74 65 64 20 62 79 20 70 61 73 73 69 6e 67 20 69 6e 20 61 20 74 79 70 65 3a 3c 2f 73 ntiated.by.passing.in.a.type:</s
981a0 70 61 6e 3e 3c 2f 73 70 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"><
981c0 73 70 61 6e 20 63 6c 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
981e0 75 66 66 65 72 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 uffer:.[<span.class="tok-number"
98200 3e 31 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 >10</span>]<span.class="tok-type
98220 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">i32</span>.=.<span.class="tok-
98240 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c null">undefined</span>;</span>.<
98260 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
98280 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 20 3d 20 4c 69 73 74 28 3c 73 ok-kw">var</span>.list.=.List(<s
982a0 70 61 6e 20 63 6c 61 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>)
982c0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
982e0 2e 69 74 65 6d 73 20 3d 20 26 61 6d 70 3b 62 75 66 66 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .items.=.&amp;buffer,</span>.<sp
98300 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 6e an.class="line">.....len.=.<span
98320 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
98340 70 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
98360 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 ></code></pre></figure>.......<p
98380 3e 0a 20 20 20 20 20 20 54 68 61 74 27 73 20 69 74 2e 20 49 74 27 73 20 61 20 66 75 6e 63 74 69 >.......That's.it..It's.a.functi
983a0 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 3c 63 6f on.that.returns.an.anonymous.<co
983c0 64 65 3e 3c 73 70 61 6e 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
983e0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c s="tok-kw">struct</span></span><
98400 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 6f 20 6b 65 65 70 20 74 68 65 20 6c 61 6e 67 75 61 /code>........To.keep.the.langua
98420 67 65 20 73 6d 61 6c 6c 20 61 6e 64 20 75 6e 69 66 6f 72 6d 2c 20 61 6c 6c 20 61 67 67 72 65 67 ge.small.and.uniform,.all.aggreg
98440 61 74 65 20 74 79 70 65 73 20 69 6e 20 5a 69 67 20 61 72 65 20 61 6e 6f 6e 79 6d 6f 75 73 2e 0a ate.types.in.Zig.are.anonymous..
98460 20 20 20 20 20 20 46 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 73 20 6f 66 20 65 72 72 6f 72 20 ......For.the.purposes.of.error.
98480 6d 65 73 73 61 67 65 73 20 61 6e 64 20 64 65 62 75 67 67 69 6e 67 2c 20 5a 69 67 20 69 6e 66 65 messages.and.debugging,.Zig.infe
984a0 72 73 20 74 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c rs.the.name.......<code><span.cl
984c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ass="line"><span.class="tok-str"
984e0 3e 26 71 75 6f 74 3b 4c 69 73 74 28 69 33 32 29 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 >&quot;List(i32)&quot;</span></s
98500 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6e 61 pan></code>.from.the.function.na
98520 6d 65 20 61 6e 64 20 70 61 72 61 6d 65 74 65 72 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 63 me.and.parameters.invoked.when.c
98540 72 65 61 74 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 reating.......the.anonymous.stru
98560 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 ct........</p>.......<p>.......T
98580 6f 20 65 78 70 6c 69 63 69 74 6c 79 20 67 69 76 65 20 61 20 74 79 70 65 20 61 20 6e 61 6d 65 2c o.explicitly.give.a.type.a.name,
985a0 20 77 65 20 61 73 73 69 67 6e 20 69 74 20 74 6f 20 61 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 20 20 .we.assign.it.to.a.constant.....
985c0 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
985e0 6e 20 63 6c 61 73 73 3d 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
98600 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
98620 3e 3c 70 72 65 3e 3c 63 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"><
98640 73 70 61 6e 20 63 6c 61 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>
98660 20 4e 6f 64 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 .Node.=.<span.class="tok-kw">str
98680 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=
986a0 22 6c 69 6e 65 22 3e 20 20 20 20 6e 65 78 74 3a 20 3f 2a 4e 6f 64 65 2c 3c 2f 73 70 61 6e 3e 0a "line">....next:.?*Node,</span>.
986c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 61 6d 65 3a 20 5b 5d 3c <span.class="line">....name:.[]<
986e0 73 70 61 6e 20 63 6c 61 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>
98700 20 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
98720 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">};<
98740 2f 73 70 61 6e 3e 0a 3c 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
98760 3e 0a 3c 73 70 61 6e 20 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
98780 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 6f 64 65 5f 61 20 3d 20 4e 6f ="tok-kw">var</span>.node_a.=.No
987a0 64 65 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 de{</span>.<span.class="line">..
987c0 20 20 2e 6e 65 78 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 ...next.=.<span.class="tok-null"
987e0 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
98800 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6e 61 6d 65 20 3d 20 26 61 6d 70 3b 3c 73 70 61 6e 20 63 ="line">.....name.=.&amp;<span.c
98820 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4e 6f 64 65 20 41 26 71 75 6f 74 lass="tok-str">&quot;Node.A&quot
98840 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ;</span>,</span>.<span.class="li
98860 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"
98880 3e 3c 2f 73 70 61 6e 3e 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
988a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 6f 64 65 n.class="tok-kw">var</span>.node
988c0 5f 62 20 3d 20 4e 6f 64 65 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c _b.=.Node{</span>.<span.class="l
988e0 69 6e 65 22 3e 20 20 20 20 2e 6e 65 78 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 5f 61 2c 3c 2f 73 ine">.....next.=.&amp;node_a,</s
98900 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 6e 61 6d pan>.<span.class="line">.....nam
98920 65 20 3d 20 26 61 6d 70 3b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 e.=.&amp;<span.class="tok-str">&
98940 71 75 6f 74 3b 4e 6f 64 65 20 42 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e quot;Node.B&quot;</span>,</span>
98960 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
98980 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>...
989a0 20 20 20 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c ....In.this.example,.the.<code><
989c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4e 6f 64 65 3c 2f 73 70 61 6e 3e 3c 2f 63 span.class="line">Node</span></c
989e0 6f 64 65 3e 20 73 74 72 75 63 74 20 72 65 66 65 72 73 20 74 6f 20 69 74 73 65 6c 66 2e 0a 20 20 ode>.struct.refers.to.itself....
98a00 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 62 65 63 61 75 73 65 20 61 6c 6c 20 74 6f 70 20 6c ....This.works.because.all.top.l
98a20 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 6f 72 64 65 72 2d 69 6e 64 65 evel.declarations.are.order-inde
98a40 70 65 6e 64 65 6e 74 2e 0a 20 20 20 20 20 20 41 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 63 6f pendent........As.long.as.the.co
98a60 6d 70 69 6c 65 72 20 63 61 6e 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 73 69 7a 65 20 6f 66 mpiler.can.determine.the.size.of
98a80 20 74 68 65 20 73 74 72 75 63 74 2c 20 69 74 20 69 73 20 66 72 65 65 20 74 6f 20 72 65 66 65 72 .the.struct,.it.is.free.to.refer
98aa0 20 74 6f 20 69 74 73 65 6c 66 2e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 .to.itself........In.this.case,.
98ac0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4e 6f 64 65 3c 2f 73 <code><span.class="line">Node</s
98ae0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 6f 20 69 74 73 65 6c 66 20 61 73 20 pan></code>.refers.to.itself.as.
98b00 61 20 70 6f 69 6e 74 65 72 2c 20 77 68 69 63 68 20 68 61 73 20 61 0a 20 20 20 20 20 20 77 65 6c a.pointer,.which.has.a.......wel
98b20 6c 2d 64 65 66 69 6e 65 64 20 73 69 7a 65 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2c 20 l-defined.size.at.compile.time,.
98b40 73 6f 20 69 74 20 77 6f 72 6b 73 20 66 69 6e 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 so.it.works.fine........</p>....
98b60 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 ..........<h3.id="Case-Study-pri
98b80 6e 74 2d 69 6e 2d 5a 69 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 73 65 2d 53 74 nt-in-Zig"><a.href="#toc-Case-St
98ba0 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 3e 43 61 73 65 20 53 74 75 64 79 3a 20 70 72 udy-print-in-Zig">Case.Study:.pr
98bc0 69 6e 74 20 69 6e 20 5a 69 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 int.in.Zig</a>.<a.class="hdr".hr
98be0 65 66 3d 22 23 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 2d 69 6e 2d 5a 69 67 22 3e c2 a7 ef="#Case-Study-print-in-Zig">..
98c00 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 75 74 74 69 </a></h3>........<p>.......Putti
98c20 6e 67 20 61 6c 6c 20 6f 66 20 74 68 69 73 20 74 6f 67 65 74 68 65 72 2c 20 6c 65 74 27 73 20 73 ng.all.of.this.together,.let's.s
98c40 65 65 20 68 6f 77 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ee.how.<code><span.class="line">
98c60 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 6f 72 6b 73 20 69 6e 20 5a 69 67 print</span></code>.works.in.Zig
98c80 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
98ca0 61 70 74 69 6f 6e 20 63 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
98cc0 73 73 3d 22 66 69 6c 65 22 3e 70 72 69 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ss="file">print.zig</cite></figc
98ce0 61 70 74 69 6f 6e 3e 3c 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
98d00 69 6e 65 22 3e 3c 73 70 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<
98d20 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-
98d40 62 75 69 6c 74 69 6e 22 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
98d60 61 73 73 3d 22 74 6f 6b 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
98d80 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.
98da0 63 6c 61 73 73 3d 22 6c 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
98dc0 3d 22 6c 69 6e 65 22 3e 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
98de0 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d st</span>.a_number:.<span.class=
98e00 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
98e20 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 ass="tok-number">1234</span>;</s
98e40 70 61 6e 3e 0a 3c 73 70 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
98e60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 73 74 72 69 ass="tok-kw">const</span>.a_stri
98e80 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 ng.=.<span.class="tok-str">&quot
98ea0 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ;foobar&quot;</span>;</span>.<sp
98ec0 61 6e 20 63 6c 61 73 73 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
98ee0 61 73 73 3d 22 6c 69 6e 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">
98f00 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">
98f20 66 6e 3c 2f 73 70 61 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
98f40 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ain</span>().<span.class="tok-ty
98f60 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pe">void</span>.{</span>.<span.c
98f80 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
98fa0 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
98fc0 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
98fe0 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 61 5f 73 74 72 69 6e 67 2c 20 61 5f 6e 75 6d &quot;</span>,..{a_string,.a_num
99000 62 65 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ber});</span>.<span.class="line"
99020 3e 7d 3c 2f 73 70 61 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><
99040 66 69 67 75 72 65 3e 3c 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-
99060 63 61 70 22 3e 53 68 65 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
99080 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.
990a0 62 75 69 6c 64 2d 65 78 65 20 70 72 69 6e 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e build-exe.print.zig</kbd></span>
990c0 0a 3c 73 70 61 6e 20 63 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
990e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 70 72 69 6e 74 3c 2f 6b n.class="line">$.<kbd>./print</k
99100 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 bd></span>.<span.class="line">he
99120 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 66 6f 6f 62 61 72 27 20 68 65 72 65 20 69 73 re.is.a.string:.'foobar'.here.is
99140 20 61 20 6e 75 6d 62 65 72 3a 20 31 32 33 34 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f .a.number:.1234</span>.</samp></
99160 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c pre></figure>........<p>.......L
99180 65 74 27 73 20 63 72 61 63 6b 20 6f 70 65 6e 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 et's.crack.open.the.implementati
991a0 6f 6e 20 6f 66 20 74 68 69 73 20 61 6e 64 20 73 65 65 20 68 6f 77 20 69 74 20 77 6f 72 6b 73 3a on.of.this.and.see.how.it.works:
991c0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 .......</p>........<figure><figc
991e0 61 70 74 69 6f 6e 20 63 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
99200 73 73 3d 22 66 69 6c 65 22 3e 70 6f 63 5f 70 72 69 6e 74 5f 66 6e 2e 7a 69 67 3c 2f 63 69 74 65 ss="file">poc_print_fn.zig</cite
99220 3e 3c 2f 66 69 67 63 61 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
99240 6c 61 73 73 3d 22 6c 69 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"
99260 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 72 69 74 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 >const</span>.Writer.=.<span.cla
99280 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 ss="tok-kw">struct</span>.{</spa
992a0 6e 3e 0a 3c 73 70 61 6e 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.
992c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 43 61 6c 6c 73 20 70 72 class="tok-comment">///.Calls.pr
992e0 69 6e 74 20 61 6e 64 20 74 68 65 6e 20 66 6c 75 73 68 65 73 20 74 68 65 20 62 75 66 66 65 72 2e int.and.then.flushes.the.buffer.
99300 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
99320 22 3e 20 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</
99340 73 70 61 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
99360 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 3c pan>.<span.class="tok-fn">print<
99380 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 /span>(self:.*Writer,.<span.clas
993a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 6f 72 6d 61 s="tok-kw">comptime</span>.forma
993c0 74 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c t:.[]<span.class="tok-kw">const<
993e0 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
99400 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>,.args:.<span.class="tok-
99420 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=
99440 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e "tok-type">anyerror</span>!<span
99460 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>.{<
99480 2f 73 70 61 6e 3e 0a 3c 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">......
994a0 20 20 3c 73 70 61 6e 20 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
994c0 61 6e 3e 20 53 74 61 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 an>.State.=.<span.class="tok-kw"
994e0 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >enum</span>.{</span>.<span.clas
99500 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 2c 3c 2f 73 70 61 s="line">............start,</spa
99520 6e 3e 0a 3c 73 70 61 6e 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">..........
99540 20 20 6f 70 65 6e 5f 62 72 61 63 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ..open_brace,</span>.<span.class
99560 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 63 6c 6f 73 65 5f 62 72 61 63 65 2c ="line">............close_brace,
99580 3c 2f 73 70 61 6e 3e 0a 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">.....
995a0 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">
995c0 3c 2f 73 70 61 6e 3e 0a 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">.....
995e0 20 20 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
99600 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 </span>.<span.class="tok-kw">var
99620 3c 2f 73 70 61 6e 3e 20 73 74 61 72 74 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 </span>.start_index:.<span.class
99640 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
99660 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
99680 70 61 6e 3e 0a 3c 73 70 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">........
996a0 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
996c0 70 61 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
996e0 70 61 6e 3e 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 73 74 61 72 74 3b 3c 2f 73 70 61 6e 3e pan>.state.=.State.start;</span>
99700 0a 3c 73 70 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
99720 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>
99740 20 3c 73 70 61 6e 20 63 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>
99760 20 6e 65 78 74 5f 61 72 67 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 .next_arg:.<span.class="tok-type
99780 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">usize</span>.=.<span.class="to
997a0 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
997c0 20 63 6c 61 73 73 3d 22 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
997e0 73 3d 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
99800 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=
99820 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 66 6f 72 6d 61 74 29 20 7c 63 2c "tok-kw">for</span>.(format).|c,
99840 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .i|.{</span>.<span.class="line">
99860 20 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"
99880 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 73 74 61 74 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a >switch</span>.(state).{</span>.
998a0 3c 73 70 61 6e 20 63 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">.............
998c0 20 20 20 53 74 61 74 65 2e 73 74 61 72 74 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 ...State.start.=&gt;.<span.class
998e0 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
99900 70 61 6e 3e 0a 3c 73 70 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">........
99920 20 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
99940 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
99960 6e 20 63 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">.................
99980 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f .......<span.class="tok-kw">if</
999a0 73 70 61 6e 3e 20 28 73 74 61 72 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 69 29 20 3c 73 70 61 6e span>.(start_index.&lt;.i).<span
999c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e .class="tok-kw">try</span>.self.
999e0 77 72 69 74 65 28 66 6f 72 6d 61 74 5b 73 74 61 72 74 5f 69 6e 64 65 78 2e 2e 69 5d 29 3b 3c 2f write(format[start_index..i]);</
99a00 73 70 61 6e 3e 0a 3c 73 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">.......
99a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 6f .................state.=.State.o
99a40 70 65 6e 5f 62 72 61 63 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c pen_brace;</span>.<span.class="l
99a60 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 ine">....................},</spa
99a80 6e 3e 0a 3c 73 70 61 6e 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">..........
99aa0 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e ..........<span.class="tok-str">
99ac0 27 7d 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 '}'</span>.=&gt;.{</span>.<span.
99ae0 63 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">...................
99b00 20 20 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
99b20 61 6e 3e 20 28 73 74 61 72 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 69 29 20 3c 73 70 61 6e 20 63 an>.(start_index.&lt;.i).<span.c
99b40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 lass="tok-kw">try</span>.self.wr
99b60 69 74 65 28 66 6f 72 6d 61 74 5b 73 74 61 72 74 5f 69 6e 64 65 78 2e 2e 69 5d 29 3b 3c 2f 73 70 ite(format[start_index..i]);</sp
99b80 61 6e 3e 0a 3c 73 70 61 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">.........
99ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 63 6c 6f ...............state.=.State.clo
99bc0 73 65 5f 62 72 61 63 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 se_brace;</span>.<span.class="li
99be0 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e ne">....................},</span
99c00 3e 0a 3c 73 70 61 6e 20 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">...........
99c20 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
99c40 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e se</span>.=&gt;.{},</span>.<span
99c60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c .class="line">................},
99c80 3c 2f 73 70 61 6e 3e 0a 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">.....
99ca0 20 20 20 20 20 20 20 20 20 20 20 53 74 61 74 65 2e 6f 70 65 6e 5f 62 72 61 63 65 20 3d 26 67 74 ...........State.open_brace.=&gt
99cc0 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 ;.<span.class="tok-kw">switch</s
99ce0 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c pan>.(c).{</span>.<span.class="l
99d00 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 ine">....................<span.c
99d20 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7b 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 lass="tok-str">'{'</span>.=&gt;.
99d40 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
99d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 ....................state.=.Stat
99d80 65 2e 73 74 61 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e.start;</span>.<span.class="lin
99da0 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 e">........................start
99dc0 5f 69 6e 64 65 78 20 3d 20 69 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 _index.=.i;</span>.<span.class="
99de0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 line">....................},</sp
99e00 61 6e 3e 0a 3c 73 70 61 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">.........
99e20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ...........<span.class="tok-str"
99e40 3e 27 7d 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >'}'</span>.=&gt;.{</span>.<span
99e60 20 63 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">..................
99e80 20 20 20 20 20 20 3c 73 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</
99ea0 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 56 61 6c 75 65 28 61 72 67 73 5b 6e 65 78 74 5f span>.self.printValue(args[next_
99ec0 61 72 67 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 arg]);</span>.<span.class="line"
99ee0 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 5f 61 72 >........................next_ar
99f00 67 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c g.+=.<span.class="tok-number">1<
99f20 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
99f40 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 ">........................state.
99f60 3d 20 53 74 61 74 65 2e 73 74 61 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 =.State.start;</span>.<span.clas
99f80 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">.......................
99fa0 20 73 74 61 72 74 5f 69 6e 64 65 78 20 3d 20 69 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .start_index.=.i.+.<span.class="
99fc0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">1</span>;</span>.<sp
99fe0 61 6e 20 63 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">................
9a000 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"
9a020 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 >....................<span.class
9a040 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 73 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 ="tok-str">'s'</span>.=&gt;.{</s
9a060 70 61 6e 3e 0a 3c 73 70 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">........
9a080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ................<span.class="tok
9a0a0 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 -kw">continue</span>;</span>.<sp
9a0c0 61 6e 20 63 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">................
9a0e0 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"
9a100 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 >....................<span.class
9a120 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
9a140 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
9a160 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"
9a180 3e 26 71 75 6f 74 3b 55 6e 6b 6e 6f 77 6e 20 66 6f 72 6d 61 74 20 63 68 61 72 61 63 74 65 72 3a >&quot;Unknown.format.character:
9a1a0 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .&quot;</span>.++.[<span.class="
9a1c0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 tok-number">1</span>]<span.class
9a1e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 63 7d 29 2c 3c 2f 73 70 61 6e ="tok-type">u8</span>{c}),</span
9a200 3e 0a 3c 73 70 61 6e 20 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">...........
9a220 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .....},</span>.<span.class="line
9a240 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 74 61 74 65 2e 63 6c 6f 73 65 5f 62 72 ">................State.close_br
9a260 61 63 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 ace.=&gt;.<span.class="tok-kw">s
9a280 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 witch</span>.(c).{</span>.<span.
9a2a0 63 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">...................
9a2c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7d 27 3c 2f 73 70 61 6e .<span.class="tok-str">'}'</span
9a2e0 3e 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >.=&gt;.{</span>.<span.class="li
9a300 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 ne">........................stat
9a320 65 20 3d 20 53 74 61 74 65 2e 73 74 61 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e.=.State.start;</span>.<span.cl
9a340 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">.....................
9a360 20 20 20 73 74 61 72 74 5f 69 6e 64 65 78 20 3d 20 69 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ...start_index.=.i;</span>.<span
9a380 20 63 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">..................
9a3a0 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">.
9a3c0 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="
9a3e0 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 tok-kw">else</span>.=&gt;.<span.
9a400 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f class="tok-builtin">@compileErro
9a420 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 r</span>(<span.class="tok-str">&
9a440 71 75 6f 74 3b 53 69 6e 67 6c 65 20 27 7d 27 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 69 6e 20 66 quot;Single.'}'.encountered.in.f
9a460 6f 72 6d 61 74 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 3c 2f 73 70 61 ormat.string&quot;</span>),</spa
9a480 6e 3e 0a 3c 73 70 61 6e 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">..........
9a4a0 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
9a4c0 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e">............}</span>.<span.cl
9a4e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="line">........}</span>.<spa
9a500 6e 20 63 6c 61 73 73 3d 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
9a520 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
9a540 70 61 6e 3e 0a 3c 73 70 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">........
9a560 20 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
9a580 6e 3e 20 28 61 72 67 73 2e 6c 65 6e 20 21 3d 20 6e 65 78 74 5f 61 72 67 29 20 7b 3c 2f 73 70 61 n>.(args.len.!=.next_arg).{</spa
9a5a0 6e 3e 0a 3c 73 70 61 6e 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">..........
9a5c0 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">
9a5e0 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
9a600 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 6e 75 73 65 64 20 61 72 67 75 6d 65 6e 74 ="tok-str">&quot;Unused.argument
9a620 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c s&quot;</span>);</span>.<span.cl
9a640 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a ass="line">............}</span>.
9a660 3c 73 70 61 6e 20 63 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">............<
9a680 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 span.class="tok-kw">if</span>.(s
9a6a0 74 61 74 65 20 21 3d 20 53 74 61 74 65 2e 73 74 61 72 74 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 tate.!=.State.start).{</span>.<s
9a6c0 70 61 6e 20 63 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">...............
9a6e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 .<span.class="tok-builtin">@comp
9a700 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ileError</span>(<span.class="tok
9a720 2d 73 74 72 22 3e 26 71 75 6f 74 3b 49 6e 63 6f 6d 70 6c 65 74 65 20 66 6f 72 6d 61 74 20 73 74 -str">&quot;Incomplete.format.st
9a740 72 69 6e 67 3a 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 66 6f 72 6d 61 74 29 3b 3c ring:.&quot;</span>.++.format);<
9a760 2f 73 70 61 6e 3e 0a 3c 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">......
9a780 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
9a7a0 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">........}</span>.<span.class="
9a7c0 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
9a7e0 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 72 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 66 w">if</span>.(start_index.&lt;.f
9a800 6f 72 6d 61 74 2e 6c 65 6e 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ormat.len).{</span>.<span.class=
9a820 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="
9a840 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f tok-kw">try</span>.self.write(fo
9a860 72 6d 61 74 5b 73 74 61 72 74 5f 69 6e 64 65 78 2e 2e 66 6f 72 6d 61 74 2e 6c 65 6e 5d 29 3b 3c rmat[start_index..format.len]);<
9a880 2f 73 70 61 6e 3e 0a 3c 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">......
9a8a0 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">..
9a8c0 20 20 20 20 20 20 3c 73 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</
9a8e0 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
9a900 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
9a920 20 63 6c 61 73 73 3d 22 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
9a940 73 3d 22 6c 69 6e 65 22 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
9a960 22 3e 66 6e 3c 2f 73 70 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"
9a980 3e 77 72 69 74 65 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c >write</span>(self:.*Writer,.val
9a9a0 75 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ue:.[]<span.class="tok-kw">const
9a9c0 3c 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
9a9e0 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
9aa00 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
9aa20 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 ss="line">........_.=.self;</spa
9aa40 6e 3e 0a 3c 73 70 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">........_.
9aa60 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e =.value;</span>.<span.class="lin
9aa80 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
9aaa0 65 22 3e 20 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<
9aac0 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f /span>.<span.class="tok-kw">fn</
9aae0 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 span>.<span.class="tok-fn">print
9ab00 56 61 6c 75 65 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 Value</span>(self:.*Writer,.valu
9ab20 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c e:.<span.class="tok-kw">anytype<
9ab40 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">
9ab60 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
9ab80 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>
9aba0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 .<span.class="line">........_.=.
9abc0 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 value;</span>.<span.class="line"
9abe0 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"
9ac00 3e 20 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
9ac20 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6c 75 73 68 3c 2f an>.<span.class="tok-fn">flush</
9ac40 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 span>(self:.*Writer).!<span.clas
9ac60 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
9ac80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d >.<span.class="line">........_.=
9aca0 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .self;</span>.<span.class="line"
9acc0 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"
9ace0 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e >};</span></code></pre></figure>
9ad00 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 70 72 6f 6f 66 .......<p>.......This.is.a.proof
9ad20 20 6f 66 20 63 6f 6e 63 65 70 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 3b 20 74 68 65 20 .of.concept.implementation;.the.
9ad40 61 63 74 75 61 6c 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 actual.function.in.the.standard.
9ad60 6c 69 62 72 61 72 79 20 68 61 73 20 6d 6f 72 65 0a 20 20 20 20 20 20 66 6f 72 6d 61 74 74 69 6e library.has.more.......formattin
9ad80 67 20 63 61 70 61 62 69 6c 69 74 69 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 g.capabilities........</p>......
9ada0 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 69 73 20 6e 6f 74 .<p>.......Note.that.this.is.not
9adc0 20 68 61 72 64 2d 63 6f 64 65 64 20 69 6e 74 6f 20 74 68 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 .hard-coded.into.the.Zig.compile
9ade0 72 3b 20 74 68 69 73 20 69 73 20 75 73 65 72 6c 61 6e 64 20 63 6f 64 65 20 69 6e 20 74 68 65 20 r;.this.is.userland.code.in.the.
9ae00 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 standard.library........</p>....
9ae20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 ...<p>.......When.this.function.
9ae40 69 73 20 61 6e 61 6c 79 7a 65 64 20 66 72 6f 6d 20 6f 75 72 20 65 78 61 6d 70 6c 65 20 63 6f 64 is.analyzed.from.our.example.cod
9ae60 65 20 61 62 6f 76 65 2c 20 5a 69 67 20 70 61 72 74 69 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 73 e.above,.Zig.partially.evaluates
9ae80 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 61 6e 64 20 65 6d 69 74 73 20 61 20 .the.function.......and.emits.a.
9aea0 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 61 63 74 75 61 6c 6c 79 20 6c 6f 6f 6b 73 20 6c 69 6b function.that.actually.looks.lik
9aec0 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 e.this:.......</p>.......<figure
9aee0 3e 3c 66 69 67 63 61 70 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
9af00 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 45 6d 69 74 74 65 64 20 70 72 69 6e 74 20 46 75 te.class="file">Emitted.print.Fu
9af20 6e 63 74 69 6f 6e 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c nction</cite></figcaption><pre><
9af40 63 6f 64 65 3e 3c 73 70 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
9af60 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
9af80 61 73 73 3d 22 74 6f 6b 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
9afa0 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a ss="tok-fn">print</span>(self:.*
9afc0 57 72 69 74 65 72 2c 20 61 72 67 30 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b Writer,.arg0:.[]<span.class="tok
9afe0 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
9b000 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 31 3a 20 3c 73 70 61 6e 20 ok-type">u8</span>,.arg1:.<span.
9b020 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 class="tok-type">i32</span>).!<s
9b040 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>
9b060 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
9b080 20 3c 73 70 61 6e 20 63 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>
9b0a0 20 73 65 6c 66 2e 77 72 69 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 .self.write(<span.class="tok-str
9b0c0 22 3e 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 26 71 75 6f 74 ">&quot;here.is.a.string:.'&quot
9b0e0 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
9b100 69 6e 65 22 3e 20 20 20 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
9b120 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 56 61 6c 75 65 28 61 72 67 30 29 3b 3c y</span>.self.printValue(arg0);<
9b140 2f 73 70 61 6e 3e 0a 3c 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
9b160 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 pan.class="tok-kw">try</span>.se
9b180 6c 66 2e 77 72 69 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 lf.write(<span.class="tok-str">&
9b1a0 71 75 6f 74 3b 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 26 71 75 6f 74 3b 3c quot;'.here.is.a.number:.&quot;<
9b1c0 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>);</span>.<span.class="lin
9b1e0 65 22 3e 20 20 20 20 3c 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<
9b200 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 56 61 6c 75 65 28 61 72 67 31 29 3b 3c 2f 73 /span>.self.printValue(arg1);</s
9b220 70 61 6e 3e 0a 3c 73 70 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
9b240 6e 20 63 6c 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
9b260 2e 77 72 69 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .write(<span.class="tok-str">&qu
9b280 6f 74 3b 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ot;\n&quot;</span>);</span>.<spa
9b2a0 6e 20 63 6c 61 73 73 3d 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="
9b2c0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 66 6c 75 73 68 28 29 3b tok-kw">try</span>.self.flush();
9b2e0 3c 2f 73 70 61 6e 3e 0a 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
9b300 61 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>.......
9b320 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
9b340 65 22 3e 70 72 69 6e 74 56 61 6c 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 e">printValue</span></code>.is.a
9b360 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 70 61 72 61 6d 65 74 65 72 .function.that.takes.a.parameter
9b380 20 6f 66 20 61 6e 79 20 74 79 70 65 2c 20 61 6e 64 20 64 6f 65 73 20 64 69 66 66 65 72 65 6e 74 .of.any.type,.and.does.different
9b3a0 20 74 68 69 6e 67 73 20 64 65 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 6f 6e 20 74 68 65 20 74 .things.depending.......on.the.t
9b3c0 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 ype:.......</p>.......<figure><f
9b3e0 69 67 63 61 70 74 69 6f 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.
9b400 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 6f 63 5f 70 72 69 6e 74 56 61 6c 75 65 5f 66 6e 2e 7a class="file">poc_printValue_fn.z
9b420 69 67 3c 2f 63 69 74 65 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
9b440 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
9b460 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 57 72 69 74 65 72 20 3d 20 3c "tok-kw">const</span>.Writer.=.<
9b480 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
9b4a0 3e 20 7b 3c 2f 73 70 61 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">..
9b4c0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e ..<span.class="tok-kw">pub</span
9b4e0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e >.<span.class="tok-kw">fn</span>
9b500 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 6e 74 56 61 6c 75 65 .<span.class="tok-fn">printValue
9b520 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c 73 </span>(self:.*Writer,.value:.<s
9b540 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
9b560 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c >).!<span.class="tok-type">void<
9b580 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
9b5a0 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">
9b5c0 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d switch</span>.(<span.class="tok-
9b5e0 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.
9b600 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
9b620 6e 3e 28 76 61 6c 75 65 29 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 n>(value))).{</span>.<span.class
9b640 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 49 6e 74 20 3d 26 67 74 3b 20 7b ="line">.............Int.=&gt;.{
9b660 3c 2f 73 70 61 6e 3e 0a 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">.....
9b680 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ...........<span.class="tok-kw">
9b6a0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 49 6e 74 28 76 61 6c 75 return</span>.self.writeInt(valu
9b6c0 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">..
9b6e0 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ..........},</span>.<span.class=
9b700 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 46 6c 6f 61 74 20 3d 26 67 74 3b 20 "line">.............Float.=&gt;.
9b720 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
9b740 20 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"
9b760 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 46 6c 6f 61 74 28 76 >return</span>.self.writeFloat(v
9b780 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 alue);</span>.<span.class="line"
9b7a0 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >............},</span>.<span.cla
9b7c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 50 6f 69 6e 74 65 72 20 3d ss="line">.............Pointer.=
9b7e0 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"
9b800 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >................<span.class="to
9b820 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 76 k-kw">return</span>.self.write(v
9b840 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 alue);</span>.<span.class="line"
9b860 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >............},</span>.<span.cla
9b880 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ss="line">............<span.clas
9b8a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 3c 2f s="tok-kw">else</span>.=&gt;.{</
9b8c0 73 70 61 6e 3e 0a 3c 73 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">.......
9b8e0 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 .........<span.class="tok-builti
9b900 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c n">@compileError</span>(<span.cl
9b920 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 6e 61 62 6c 65 20 74 6f 20 70 72 ass="tok-str">&quot;Unable.to.pr
9b940 69 6e 74 20 74 79 70 65 20 27 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2b 2b 20 3c 73 70 61 6e int.type.'&quot;</span>.++.<span
9b960 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f .class="tok-builtin">@typeName</
9b980 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e span>(<span.class="tok-builtin">
9b9a0 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 29 20 2b 2b 20 3c 73 70 61 6e 20 @TypeOf</span>(value)).++.<span.
9b9c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 3c 2f 73 class="tok-str">&quot;'&quot;</s
9b9e0 70 61 6e 3e 29 3b 3c 2f 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"
9ba00 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >............},</span>.<span.cla
9ba20 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="line">........}</span>.<span
9ba40 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
9ba60 20 63 6c 61 73 73 3d 22 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
9ba80 73 3d 22 6c 69 6e 65 22 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
9baa0 22 3e 66 6e 3c 2f 73 70 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"
9bac0 3e 77 72 69 74 65 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c >write</span>(self:.*Writer,.val
9bae0 75 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 ue:.[]<span.class="tok-kw">const
9bb00 3c 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
9bb20 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
9bb40 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
9bb60 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 ss="line">........_.=.self;</spa
9bb80 6e 3e 0a 3c 73 70 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">........_.
9bba0 3d 20 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e =.value;</span>.<span.class="lin
9bbc0 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
9bbe0 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f e">....<span.class="tok-kw">fn</
9bc00 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 72 69 74 65 span>.<span.class="tok-fn">write
9bc20 49 6e 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a Int</span>(self:.*Writer,.value:
9bc40 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
9bc60 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f pan>).!<span.class="tok-type">vo
9bc80 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="
9bca0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c line">........_.=.self;</span>.<
9bcc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 span.class="line">........_.=.va
9bce0 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 lue;</span>.<span.class="line">.
9bd00 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">.
9bd20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e ...<span.class="tok-kw">fn</span
9bd40 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 77 72 69 74 65 46 6c 6f 61 >.<span.class="tok-fn">writeFloa
9bd60 74 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 57 72 69 74 65 72 2c 20 76 61 6c 75 65 3a 20 3c t</span>(self:.*Writer,.value:.<
9bd80 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
9bda0 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 n>).!<span.class="tok-type">void
9bdc0 3c 2f 73 70 61 6e 3e 20 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
9bde0 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 73 65 6c 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ne">........_.=.self;</span>.<sp
9be00 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5f 20 3d 20 76 61 6c 75 an.class="line">........_.=.valu
9be20 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">...
9be40 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c .}</span>.<span.class="line">};<
9be60 2f 73 70 61 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>....
9be80 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e 64 20 6e 6f 77 2c 20 77 68 61 74 20 68 61 70 70 65 ...<p>.......And.now,.what.happe
9bea0 6e 73 20 69 66 20 77 65 20 67 69 76 65 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 ns.if.we.give.too.many.arguments
9bec0 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 69 .to.<code><span.class="line">pri
9bee0 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 nt</span></code>?.......</p>....
9bf00 20 20 20 3c 66 69 67 75 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
9bf20 67 2d 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
9bf40 69 67 3c 2f 63 69 74 65 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
9bf60 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
9bf80 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 "tok-kw">const</span>.print.=.<s
9bfa0 70 61 6e 20 63 6c 61 73 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<
9bfc0 2f 73 70 61 6e 3e 28 3c 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
9bfe0 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 ot;std&quot;</span>).debug.print
9c000 3b 3c 2f 73 70 61 6e 3e 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
9c020 61 6e 3e 0a 3c 73 70 61 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
9c040 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d 62 65 ss="tok-kw">const</span>.a_numbe
9c060 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 r:.<span.class="tok-type">i32</s
9c080 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">
9c0a0 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 1234</span>;</span>.<span.class=
9c0c0 22 6c 69 6e 65 22 3e 3c 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
9c0e0 74 3c 2f 73 70 61 6e 3e 20 61 5f 73 74 72 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d t</span>.a_string.=.<span.class=
9c100 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b 3c 2f 73 70 "tok-str">&quot;foobar&quot;</sp
9c120 61 6e 3e 3b 3c 2f 73 70 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"><
9c140 2f 73 70 61 6e 3e 0a 3c 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.
9c160 63 6c 61 73 73 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
9c180 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 72 69 6e 74 20 74 6f 6f .class="tok-str">&quot;print.too
9c1a0 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f .many.arguments&quot;</span>.{</
9c1c0 73 70 61 6e 3e 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
9c1e0 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 nt(<span.class="tok-str">&quot;h
9c200 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d 27 20 68 65 72 65 20 69 73 20 61 ere.is.a.string:.'{s}'.here.is.a
9c220 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 2f .number:.{}\n&quot;</span>,..{</
9c240 73 70 61 6e 3e 0a 3c 73 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">.......
9c260 20 61 5f 73 74 72 69 6e 67 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .a_string,</span>.<span.class="l
9c280 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 5f 6e 75 6d 62 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ine">........a_number,</span>.<s
9c2a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 5f 6e 75 6d 62 65 pan.class="line">........a_numbe
9c2c0 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 r,</span>.<span.class="line">...
9c2e0 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d .});</span>.<span.class="line">}
9c300 3c 2f 73 70 61 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
9c320 67 75 72 65 3e 3c 66 69 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
9c340 70 22 3e 53 68 65 6c 6c 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>
9c360 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
9c380 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
9c3a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e lass="line"><span.class="t0_1">.
9c3c0 2f 6c 69 62 2f 73 74 64 2f 66 6d 74 2e 7a 69 67 3a 31 39 37 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e /lib/std/fmt.zig:197:18:.</span>
9c3e0 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
9c400 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 55 6e 75 73 65 64 20 61 72 67 75 n><span.class="t0_1">Unused.argu
9c420 6d 65 6e 74 20 69 6e 20 27 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d 27 ment.in.'here.is.a.string:.'{s}'
9c440 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .here.is.a.number:.{}</span>.<sp
9c460 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a an.class="line">'</span></span>.
9c480 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 31 <span.class="line">............1
9c4a0 20 3d 26 67 74 3b 20 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 28 26 71 75 6f 74 3b 55 6e 75 73 65 .=&gt;.@compileError(&quot;Unuse
9c4c0 64 20 61 72 67 75 6d 65 6e 74 20 69 6e 20 27 26 71 75 6f 74 3b 20 2b 2b 20 66 6d 74 20 2b 2b 20 d.argument.in.'&quot;.++.fmt.++.
9c4e0 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 &quot;'&quot;),</span>.<span.cla
9c500 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e ss="line">.................<span
9c520 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>.<
9c540 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
9c560 30 5f 31 22 3e 2e 2f 6c 69 62 2f 73 74 64 2f 69 6f 2f 77 72 69 74 65 72 2e 7a 69 67 3a 32 38 3a 0_1">./lib/std/io/writer.zig:28:
9c580 33 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 34:.</span><span.class="t36_1">n
9c5a0 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 ote:.</span><span.class="t0_1">c
9c5c0 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 alled.from.here</span></span>.<s
9c5e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 pan.class="line">............ret
9c600 75 72 6e 20 73 74 64 2e 66 6d 74 2e 66 6f 72 6d 61 74 28 73 65 6c 66 2c 20 66 6f 72 6d 61 74 2c urn.std.fmt.format(self,.format,
9c620 20 61 72 67 73 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .args);</span>.<span.class="line
9c640 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 ">..............................
9c660 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><
9c680 2f 73 70 61 6e 3e 0a 3c 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.
9c6a0 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 6c 69 62 2f 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 class="t0_1">./lib/std/debug.zig
9c6c0 3a 36 37 3a 32 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f :67:27:.</span><span.class="t36_
9c6e0 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 1">note:.</span><span.class="t0_
9c700 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 1">called.from.here</span></span
9c720 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 73 75 73 70 65 >.<span.class="line">....nosuspe
9c740 6e 64 20 73 74 64 65 72 72 2e 70 72 69 6e 74 28 66 6d 74 2c 20 61 72 67 73 29 20 63 61 74 63 68 nd.stderr.print(fmt,.args).catch
9c760 20 72 65 74 75 72 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .return;</span>.<span.class="lin
9c780 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 e">..........................<sp
9c7a0 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>
9c7c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
9c7e0 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 31 "t0_1">./docgen_tmp/test.zig:7:1
9c800 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 0:.</span><span.class="t36_1">no
9c820 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 te:.</span><span.class="t0_1">ca
9c840 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lled.from.here</span></span>.<sp
9c860 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 26 71 75 6f 74 3b an.class="line">....print(&quot;
9c880 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d 27 20 68 65 72 65 20 69 73 20 here.is.a.string:.'{s}'.here.is.
9c8a0 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a a.number:.{}\n&quot;,..{</span>.
9c8c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 3c 73 70 61 <span.class="line">.........<spa
9c8e0 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>.
9c900 3c 73 70 61 6e 20 63 6c 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="
9c920 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 33 33 t0_1">./docgen_tmp/test.zig:6:33
9c940 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 :.</span><span.class="t36_1">not
9c960 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c e:.</span><span.class="t0_1">cal
9c980 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 led.from.here</span></span>.<spa
9c9a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 65 73 74 20 26 71 75 6f 74 3b 70 72 69 6e 74 20 n.class="line">test.&quot;print.
9c9c0 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 26 71 75 6f 74 3b 20 7b 3c 2f 73 70 61 6e too.many.arguments&quot;.{</span
9c9e0 3e 0a 3c 73 70 61 6e 20 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">...........
9ca00 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
9ca20 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
9ca40 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e lass="line"><span.class="t0_1">.
9ca60 2f 6c 69 62 2f 73 74 64 2f 69 6f 2f 77 72 69 74 65 72 2e 7a 69 67 3a 32 38 3a 33 34 3a 20 3c 2f /lib/std/io/writer.zig:28:34:.</
9ca80 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:.
9caa0 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 70 65 63 74 </span><span.class="t0_1">expect
9cac0 65 64 20 74 79 70 65 20 27 73 74 64 2e 6f 73 2e 57 72 69 74 65 45 72 72 6f 72 21 76 6f 69 64 27 ed.type.'std.os.WriteError!void'
9cae0 2c 20 66 6f 75 6e 64 20 27 40 74 79 70 65 49 6e 66 6f 28 40 74 79 70 65 49 6e 66 6f 28 40 54 79 ,.found.'@typeInfo(@typeInfo(@Ty
9cb00 70 65 4f 66 28 73 74 64 2e 66 6d 74 2e 66 6f 72 6d 61 74 29 29 2e 46 6e 2e 72 65 74 75 72 6e 5f peOf(std.fmt.format)).Fn.return_
9cb20 74 79 70 65 2e 3f 29 2e 45 72 72 6f 72 55 6e 69 6f 6e 2e 65 72 72 6f 72 5f 73 65 74 21 76 6f 69 type.?).ErrorUnion.error_set!voi
9cb40 64 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d'</span></span>.<span.class="li
9cb60 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 64 2e 66 6d 74 2e 66 ne">............return.std.fmt.f
9cb80 6f 72 6d 61 74 28 73 65 6c 66 2c 20 66 6f 72 6d 61 74 2c 20 61 72 67 73 29 3b 3c 2f 73 70 61 6e ormat(self,.format,.args);</span
9cba0 3e 0a 3c 73 70 61 6e 20 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">...........
9cbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ......................<span.clas
9cbe0 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.
9cc00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e class="line"><span.class="t0_1">
9cc20 2e 2f 6c 69 62 2f 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 3a 36 37 3a 32 37 3a 20 3c 2f 73 70 61 ./lib/std/debug.zig:67:27:.</spa
9cc40 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 n><span.class="t36_1">note:.</sp
9cc60 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f an><span.class="t0_1">called.fro
9cc80 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 m.here</span></span>.<span.class
9cca0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 73 75 73 70 65 6e 64 20 73 74 64 65 72 72 2e 70 72 69 ="line">....nosuspend.stderr.pri
9ccc0 6e 74 28 66 6d 74 2c 20 61 72 67 73 29 20 63 61 74 63 68 20 72 65 74 75 72 6e 3b 3c 2f 73 70 61 nt(fmt,.args).catch.return;</spa
9cce0 6e 3e 0a 3c 73 70 61 6e 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">..........
9cd00 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
9cd20 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=
9cd40 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
9cd60 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 31 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 en_tmp/test.zig:7:10:.</span><sp
9cd80 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
9cda0 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 pan.class="t0_1">called.from.her
9cdc0 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e e</span></span>.<span.class="lin
9cde0 65 22 3e 20 20 20 20 70 72 69 6e 74 28 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 e">....print(&quot;here.is.a.str
9ce00 69 6e 67 3a 20 27 7b 73 7d 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c ing:.'{s}'.here.is.a.number:.{}\
9ce20 6e 26 71 75 6f 74 3b 2c 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n&quot;,..{</span>.<span.class="
9ce40 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f line">.........<span.class="t32_
9ce60 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="
9ce80 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 line"><span.class="t0_1">./docge
9cea0 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 33 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 n_tmp/test.zig:6:33:.</span><spa
9cec0 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
9cee0 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 an.class="t0_1">called.from.here
9cf00 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
9cf20 22 3e 74 65 73 74 20 26 71 75 6f 74 3b 70 72 69 6e 74 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 ">test.&quot;print.too.many.argu
9cf40 6d 65 6e 74 73 26 71 75 6f 74 3b 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ments&quot;.{</span>.<span.class
9cf60 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ="line">........................
9cf80 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
9cfa0 70 61 6e 3e 3c 2f 73 70 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"><
9cfc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 6c 69 62 2f 73 74 64 2f 69 6f 2f 77 span.class="t0_1">./lib/std/io/w
9cfe0 72 69 74 65 72 2e 7a 69 67 3a 32 38 3a 33 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c riter.zig:28:34:.</span><span.cl
9d000 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
9d020 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 72 72 6f 72 20 73 65 74 20 27 40 74 79 70 65 49 6e 66 6f lass="t0_1">error.set.'@typeInfo
9d040 28 40 74 79 70 65 49 6e 66 6f 28 40 54 79 70 65 4f 66 28 73 74 64 2e 66 6d 74 2e 66 6f 72 6d 61 (@typeInfo(@TypeOf(std.fmt.forma
9d060 74 29 29 2e 46 6e 2e 72 65 74 75 72 6e 5f 74 79 70 65 2e 3f 29 2e 45 72 72 6f 72 55 6e 69 6f 6e t)).Fn.return_type.?).ErrorUnion
9d080 2e 65 72 72 6f 72 5f 73 65 74 27 20 63 61 6e 6e 6f 74 20 63 61 73 74 20 69 6e 74 6f 20 65 72 72 .error_set'.cannot.cast.into.err
9d0a0 6f 72 20 73 65 74 20 27 73 74 64 2e 6f 73 2e 57 72 69 74 65 45 72 72 6f 72 27 3c 2f 73 70 61 6e or.set.'std.os.WriteError'</span
9d0c0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
9d0e0 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 73 74 64 2e 66 6d 74 2e 66 6f 72 6d 61 74 28 73 65 ........return.std.fmt.format(se
9d100 6c 66 2c 20 66 6f 72 6d 61 74 2c 20 61 72 67 73 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 lf,.format,.args);</span>.<span.
9d120 63 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">...................
9d140 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
9d160 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c ">^</span></span>.</samp></pre><
9d180 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 67 69 76 /figure>.......<p>.......Zig.giv
9d1a0 65 73 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 74 68 65 20 74 6f 6f 6c 73 20 6e 65 65 64 65 64 20 es.programmers.the.tools.needed.
9d1c0 74 6f 20 70 72 6f 74 65 63 74 20 74 68 65 6d 73 65 6c 76 65 73 20 61 67 61 69 6e 73 74 20 74 68 to.protect.themselves.against.th
9d1e0 65 69 72 20 6f 77 6e 20 6d 69 73 74 61 6b 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 eir.own.mistakes........</p>....
9d200 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 64 6f 65 73 6e 27 74 20 63 61 72 65 20 77 68 ...<p>.......Zig.doesn't.care.wh
9d220 65 74 68 65 72 20 74 68 65 20 66 6f 72 6d 61 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 73 ether.the.format.argument.is.a.s
9d240 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2c 0a 20 20 20 20 20 20 6f 6e 6c 79 20 74 68 61 74 20 69 tring.literal,.......only.that.i
9d260 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 t.is.a.compile-time.known.value.
9d280 74 68 61 74 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 61 20 3c 63 6f 64 65 3e 3c that.can.be.coerced.to.a.<code><
9d2a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d span.class="line">[]<span.class=
9d2c0 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
9d2e0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 s="tok-type">u8</span></span></c
9d300 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c ode>:.......</p>.......<figure><
9d320 66 69 67 63 61 70 74 69 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
9d340 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 72 69 6e 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f .class="file">print.zig</cite></
9d360 66 69 67 63 61 70 74 69 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
9d380 73 3d 22 6c 69 6e 65 22 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
9d3a0 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nst</span>.print.=.<span.class="
9d3c0 74 6f 6b 2d 62 75 69 6c 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
9d3e0 6e 20 63 6c 61 73 73 3d 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
9d400 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ;</span>).debug.print;</span>.<s
9d420 70 61 6e 20 63 6c 61 73 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
9d440 6c 61 73 73 3d 22 6c 69 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"
9d460 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c >const</span>.a_number:.<span.cl
9d480 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 ass="tok-type">i32</span>.=.<spa
9d4a0 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>
9d4c0 3b 3c 2f 73 70 61 6e 3e 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
9d4e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f n.class="tok-kw">const</span>.a_
9d500 73 74 72 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 string.=.<span.class="tok-str">&
9d520 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e quot;foobar&quot;</span>;</span>
9d540 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
9d560 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6d 74 20 3d 20 3c 73 70 61 "tok-kw">const</span>.fmt.=.<spa
9d580 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 n.class="tok-str">&quot;here.is.
9d5a0 61 20 73 74 72 69 6e 67 3a 20 27 7b 73 7d 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 a.string:.'{s}'.here.is.a.number
9d5c0 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 :.{}\n&quot;</span>;</span>.<spa
9d5e0 6e 20 63 6c 61 73 73 3d 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
9d600 73 73 3d 22 6c 69 6e 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
9d620 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
9d640 6e 3c 2f 73 70 61 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
9d660 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 in</span>().<span.class="tok-typ
9d680 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
9d6a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 66 6d 74 2c 20 2e 7b 61 5f 73 74 ass="line">....print(fmt,..{a_st
9d6c0 72 69 6e 67 2c 20 61 5f 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ring,.a_number});</span>.<span.c
9d6e0 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
9d700 3e 3c 2f 66 69 67 75 72 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
9d720 61 73 73 3d 22 73 68 65 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
9d740 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">
9d760 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 70 72 69 6e 74 2e 7a 69 67 3c 2f $.<kbd>zig.build-exe.print.zig</
9d780 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"><
9d7a0 2f 73 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
9d7c0 3e 2e 2f 70 72 69 6e 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >./print</kbd></span>.<span.clas
9d7e0 73 3d 22 6c 69 6e 65 22 3e 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 66 6f 6f 62 s="line">here.is.a.string:.'foob
9d800 61 72 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 31 32 33 34 3c 2f 73 70 61 6e ar'.here.is.a.number:.1234</span
9d820 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>.......<
9d840 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 77 6f 72 6b 73 20 66 69 6e 65 2e 0a 20 20 20 20 20 20 p>.......This.works.fine........
9d860 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 64 6f 65 73 20 6e 6f </p>.......<p>.......Zig.does.no
9d880 74 20 73 70 65 63 69 61 6c 20 63 61 73 65 20 73 74 72 69 6e 67 20 66 6f 72 6d 61 74 74 69 6e 67 t.special.case.string.formatting
9d8a0 20 69 6e 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 69 6e 73 74 65 61 64 20 65 78 70 .in.the.compiler.and.instead.exp
9d8c0 6f 73 65 73 20 65 6e 6f 75 67 68 20 70 6f 77 65 72 20 74 6f 20 61 63 63 6f 6d 70 6c 69 73 68 20 oses.enough.power.to.accomplish.
9d8e0 74 68 69 73 0a 20 20 20 20 20 20 74 61 73 6b 20 69 6e 20 75 73 65 72 6c 61 6e 64 2e 20 49 74 20 this.......task.in.userland..It.
9d900 64 6f 65 73 20 73 6f 20 77 69 74 68 6f 75 74 20 69 6e 74 72 6f 64 75 63 69 6e 67 20 61 6e 6f 74 does.so.without.introducing.anot
9d920 68 65 72 20 6c 61 6e 67 75 61 67 65 20 6f 6e 20 74 6f 70 20 6f 66 20 5a 69 67 2c 20 73 75 63 68 her.language.on.top.of.Zig,.such
9d940 20 61 73 0a 20 20 20 20 20 20 61 20 6d 61 63 72 6f 20 6c 61 6e 67 75 61 67 65 20 6f 72 20 61 20 .as.......a.macro.language.or.a.
9d960 70 72 65 70 72 6f 63 65 73 73 6f 72 20 6c 61 6e 67 75 61 67 65 2e 20 49 74 27 73 20 5a 69 67 20 preprocessor.language..It's.Zig.
9d980 61 6c 6c 20 74 68 65 20 77 61 79 20 64 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 all.the.way.down........</p>....
9d9a0 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>.<
9d9c0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e 69 6e 6c 69 6e li><a.href="#inline-while">inlin
9d9e0 65 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 e.while</a></li>.<li><a.href="#i
9da00 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c nline-for">inline.for</a></li>.<
9da20 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 73 73 65 6d /ul>...............<h2.id="Assem
9da40 62 6c 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 73 73 65 6d 62 6c 79 22 3e 41 73 73 bly"><a.href="#toc-Assembly">Ass
9da60 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 embly</a>.<a.class="hdr".href="#
9da80 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e Assembly">..</a></h2>........<p>
9daa0 0a 20 20 20 20 20 20 46 6f 72 20 73 6f 6d 65 20 75 73 65 20 63 61 73 65 73 2c 20 69 74 20 6d 61 .......For.some.use.cases,.it.ma
9dac0 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 64 69 72 65 63 74 6c 79 20 63 6f 6e 74 72 y.be.necessary.to.directly.contr
9dae0 6f 6c 20 74 68 65 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 20 67 65 6e 65 72 61 74 65 64 0a 20 20 ol.the.machine.code.generated...
9db00 20 20 20 20 62 79 20 5a 69 67 20 70 72 6f 67 72 61 6d 73 2c 20 72 61 74 68 65 72 20 74 68 61 6e ....by.Zig.programs,.rather.than
9db20 20 72 65 6c 79 69 6e 67 20 6f 6e 20 5a 69 67 27 73 20 63 6f 64 65 20 67 65 6e 65 72 61 74 69 6f .relying.on.Zig's.code.generatio
9db40 6e 2e 20 46 6f 72 20 74 68 65 73 65 20 63 61 73 65 73 2c 20 6f 6e 65 0a 20 20 20 20 20 20 63 61 n..For.these.cases,.one.......ca
9db60 6e 20 75 73 65 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 2e 20 48 65 72 65 20 69 73 20 61 n.use.inline.assembly..Here.is.a
9db80 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 48 65 6c 6c 6f 2c n.example.of.implementing.Hello,
9dba0 20 57 6f 72 6c 64 20 6f 6e 20 78 38 36 5f 36 34 20 4c 69 6e 75 78 0a 20 20 20 20 20 20 75 73 69 .World.on.x86_64.Linux.......usi
9dbc0 6e 67 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 ng.inline.assembly:.......</p>..
9dbe0 20 20 20 20 20 3c 66 69 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="
9dc00 7a 69 67 2d 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
9dc20 2e 7a 69 67 3c 2f 63 69 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
9dc40 64 65 3e 3c 73 70 61 6e 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
9dc60 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
9dc80 73 3d 22 74 6f 6b 2d 6b 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
9dca0 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
9dcc0 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 7b ass="tok-type">noreturn</span>.{
9dce0 3c 2f 73 70 61 6e 3e 0a 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">....<
9dd00 73 70 61 6e 20 63 6c 61 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>
9dd20 20 6d 73 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 .msg.=.<span.class="tok-str">&qu
9dd40 6f 74 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 3c 2f ot;hello.world\n&quot;</span>;</
9dd60 73 70 61 6e 3e 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">...._.=
9dd80 20 73 79 73 63 61 6c 6c 33 28 53 59 53 5f 77 72 69 74 65 2c 20 53 54 44 4f 55 54 5f 46 49 4c 45 .syscall3(SYS_write,.STDOUT_FILE
9dda0 4e 4f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 NO,.<span.class="tok-builtin">@p
9ddc0 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 6d 73 67 29 2c 20 6d 73 67 2e 6c 65 6e 29 3b 3c 2f trToInt</span>(msg),.msg.len);</
9dde0 73 70 61 6e 3e 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">...._.=
9de00 20 73 79 73 63 61 6c 6c 31 28 53 59 53 5f 65 78 69 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .syscall1(SYS_exit,.<span.class=
9de20 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>.<
9de40 73 70 61 6e 20 63 6c 61 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
9de60 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f s="tok-kw">unreachable</span>;</
9de80 73 70 61 6e 3e 0a 3c 73 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
9dea0 3e 0a 3c 73 70 61 6e 20 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
9dec0 61 6e 20 63 6c 61 73 73 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
9dee0 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
9df00 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 59 53 5f 77 72 69 74 65 20 3d 20 3c 73 -kw">const</span>.SYS_write.=.<s
9df20 70 61 6e 20 63 6c 61 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>;
9df40 3c 2f 73 70 61 6e 3e 0a 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
9df60 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
9df80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 59 53 .class="tok-kw">const</span>.SYS
9dfa0 5f 65 78 69 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 _exit.=.<span.class="tok-number"
9dfc0 3e 36 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >60</span>;</span>.<span.class="
9dfe0 6c 69 6e 65 22 3e 3c 2f 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"
9e000 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>
9e020 20 3c 73 70 61 6e 20 63 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
9e040 6e 3e 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n>.STDOUT_FILENO.=.<span.class="
9e060 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">1</span>;</span>.<sp
9e080 61 6e 20 63 6c 61 73 73 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
9e0a0 61 73 73 3d 22 6c 69 6e 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">
9e0c0 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">
9e0e0 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 fn</span>.<span.class="tok-fn">s
9e100 79 73 63 61 6c 6c 31 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 yscall1</span>(number:.<span.cla
9e120 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 31 ss="tok-type">usize</span>,.arg1
9e140 3a 20 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</
9e160 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 span>).<span.class="tok-type">us
9e180 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ize</span>.{</span>.<span.class=
9e1a0 22 6c 69 6e 65 22 3e 20 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">
9e1c0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b return</span>.<span.class="tok-k
9e1e0 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b w">asm</span>.<span.class="tok-k
9e200 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d w">volatile</span>.(<span.class=
9e220 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 79 73 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 "tok-str">&quot;syscall&quot;</s
9e240 70 61 6e 3e 3c 2f 73 70 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">.
9e260 20 20 20 20 20 20 20 3a 20 5b 72 65 74 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .......:.[ret].<span.class="tok-
9e280 73 74 72 22 3e 26 71 75 6f 74 3b 3d 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 str">&quot;={rax}&quot;</span>.(
9e2a0 2d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 -&gt;.<span.class="tok-type">usi
9e2c0 7a 65 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ze</span>)</span>.<span.class="l
9e2e0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3a 20 5b 6e 75 6d 62 65 72 5d 20 3c 73 70 61 6e 20 63 6c ine">........:.[number].<span.cl
9e300 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 61 78 7d 26 71 75 6f 74 3b 3c ass="tok-str">&quot;{rax}&quot;<
9e320 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c /span>.(number),</span>.<span.cl
9e340 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 31 5d 20 3c 73 70 61 ass="line">..........[arg1].<spa
9e360 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 64 69 7d 26 71 75 n.class="tok-str">&quot;{rdi}&qu
9e380 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ot;</span>.(arg1)</span>.<span.c
9e3a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3a 20 3c 73 70 61 6e 20 63 6c 61 73 lass="line">........:.<span.clas
9e3c0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 63 78 26 71 75 6f 74 3b 3c 2f 73 70 61 s="tok-str">&quot;rcx&quot;</spa
9e3e0 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;
9e400 72 31 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c r11&quot;</span></span>.<span.cl
9e420 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....);</span>.<span.c
9e440 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
9e460 3d 22 6c 69 6e 65 22 3e 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
9e480 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
9e4a0 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
9e4c0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 79 73 63 61 6c 6c 33 3c >.<span.class="tok-fn">syscall3<
9e4e0 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>(number:.<span.class="tok-
9e500 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 31 3a 20 3c 73 70 61 6e 20 type">usize</span>,.arg1:.<span.
9e520 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 61 class="tok-type">usize</span>,.a
9e540 72 67 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a rg2:.<span.class="tok-type">usiz
9e560 65 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 33 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e</span>,.arg3:.<span.class="tok
9e580 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 -type">usize</span>).<span.class
9e5a0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e ="tok-type">usize</span>.{</span
9e5c0 3e 0a 3c 73 70 61 6e 20 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
9e5e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 lass="tok-kw">return</span>.<spa
9e600 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 n.class="tok-kw">asm</span>.<spa
9e620 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e n.class="tok-kw">volatile</span>
9e640 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 79 .(<span.class="tok-str">&quot;sy
9e660 73 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 scall&quot;</span></span>.<span.
9e680 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3a 20 5b 72 65 74 5d 20 3c 73 70 class="line">........:.[ret].<sp
9e6a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 3d 7b 72 61 78 7d 26 an.class="tok-str">&quot;={rax}&
9e6c0 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 2d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d quot;</span>.(-&gt;.<span.class=
9e6e0 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 0a "tok-type">usize</span>)</span>.
9e700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 3a 20 5b 6e 75 <span.class="line">........:.[nu
9e720 6d 62 65 72 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f mber].<span.class="tok-str">&quo
9e740 74 3b 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 3c 2f t;{rax}&quot;</span>.(number),</
9e760 73 70 61 6e 3e 0a 3c 73 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">.......
9e780 20 20 20 5b 61 72 67 31 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e ...[arg1].<span.class="tok-str">
9e7a0 26 71 75 6f 74 3b 7b 72 64 69 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 2c &quot;{rdi}&quot;</span>.(arg1),
9e7c0 3c 2f 73 70 61 6e 3e 0a 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">.....
9e7e0 20 20 20 20 20 5b 61 72 67 32 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 .....[arg2].<span.class="tok-str
9e800 22 3e 26 71 75 6f 74 3b 7b 72 73 69 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 32 ">&quot;{rsi}&quot;</span>.(arg2
9e820 29 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 ),</span>.<span.class="line">...
9e840 20 20 20 20 20 20 20 5b 61 72 67 33 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 .......[arg3].<span.class="tok-s
9e860 74 72 22 3e 26 71 75 6f 74 3b 7b 72 64 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 tr">&quot;{rdx}&quot;</span>.(ar
9e880 67 33 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 g3)</span>.<span.class="line">..
9e8a0 20 20 20 20 20 20 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 ......:.<span.class="tok-str">&q
9e8c0 75 6f 74 3b 72 63 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 uot;rcx&quot;</span>,.<span.clas
9e8e0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 31 31 26 71 75 6f 74 3b 3c 2f 73 70 61 s="tok-str">&quot;r11&quot;</spa
9e900 6e 3e 3c 2f 73 70 61 6e 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">...
9e920 20 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c .);</span>.<span.class="line">}<
9e940 2f 73 70 61 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
9e960 75 72 65 3e 3c 66 69 67 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
9e980 22 3e 53 68 65 6c 6c 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><
9e9a0 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
9e9c0 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 78 38 36 5f 36 34 2d 6c ld-exe.test.zig.-target.x86_64-l
9e9e0 69 6e 75 78 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c inux</kbd></span>.<span.class="l
9ea00 69 6e 65 22 3e 3c 2f 73 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">
9ea20 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e $.<kbd>./test</kbd></span>.<span
9ea40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 6c 6c 6f 20 77 6f 72 6c 64 3c 2f 73 70 61 6e 3e .class="line">hello.world</span>
9ea60 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
9ea80 3e 0a 20 20 20 20 20 20 44 69 73 73 65 63 74 69 6e 67 20 74 68 65 20 73 79 6e 74 61 78 3a 0a 20 >.......Dissecting.the.syntax:..
9eaa0 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
9eac0 69 6f 6e 20 63 6c 61 73 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=
9eae0 22 66 69 6c 65 22 3e 41 73 73 65 6d 62 6c 79 20 53 79 6e 74 61 78 20 45 78 70 6c 61 69 6e 65 64 "file">Assembly.Syntax.Explained
9eb00 3c 2f 63 69 74 65 3e 3c 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><
9eb20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
9eb40 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 69 ok-comment">//.Inline.assembly.i
9eb60 73 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 20 s.an.expression.which.returns.a.
9eb80 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 value.</span></span>.<span.class
9eba0 3d 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
9ebc0 22 3e 2f 2f 20 74 68 65 20 60 61 73 6d 60 20 6b 65 79 77 6f 72 64 20 62 65 67 69 6e 73 20 74 68 ">//.the.`asm`.keyword.begins.th
9ebe0 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 e.expression.</span></span>.<spa
9ec00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 n.class="line">_.=.<span.class="
9ec20 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 tok-kw">asm</span></span>.<span.
9ec40 63 6c 61 73 73 3d 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
9ec60 6d 6d 65 6e 74 22 3e 2f 2f 20 60 76 6f 6c 61 74 69 6c 65 60 20 69 73 20 61 6e 20 6f 70 74 69 6f mment">//.`volatile`.is.an.optio
9ec80 6e 61 6c 20 6d 6f 64 69 66 69 65 72 20 74 68 61 74 20 74 65 6c 6c 73 20 5a 69 67 20 74 68 69 73 nal.modifier.that.tells.Zig.this
9eca0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
9ecc0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 "><span.class="tok-comment">//.i
9ece0 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 20 68 61 73 20 73 69 nline.assembly.expression.has.si
9ed00 64 65 2d 65 66 66 65 63 74 73 2e 20 57 69 74 68 6f 75 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e de-effects..Without</span></span
9ed20 3e 0a 3c 73 70 61 6e 20 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
9ed40 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 76 6f 6c 61 74 69 6c 65 60 2c 20 5a 69 ="tok-comment">//.`volatile`,.Zi
9ed60 67 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 64 65 6c 65 74 65 20 74 68 65 20 69 6e 6c 69 6e g.is.allowed.to.delete.the.inlin
9ed80 65 20 61 73 73 65 6d 62 6c 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e.assembly</span></span>.<span.c
9eda0 6c 61 73 73 3d 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
9edc0 6d 65 6e 74 22 3e 2f 2f 20 63 6f 64 65 20 69 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 75 ment">//.code.if.the.result.is.u
9ede0 6e 75 73 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 nused.</span></span>.<span.class
9ee00 3d 22 6c 69 6e 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
9ee20 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 atile</span>.(</span>.<span.clas
9ee40 73 3d 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
9ee60 74 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 61 20 63 6f 6d 70 74 69 6d 65 20 73 74 72 69 6e 67 20 t">//.Next.is.a.comptime.string.
9ee80 77 68 69 63 68 20 69 73 20 74 68 65 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 2e 3c 2f 73 70 61 which.is.the.assembly.code.</spa
9eea0 6e 3e 3c 2f 73 70 61 6e 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
9eec0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 73 69 64 65 an.class="tok-comment">//.Inside
9eee0 20 74 68 69 73 20 73 74 72 69 6e 67 20 6f 6e 65 20 6d 61 79 20 75 73 65 20 60 25 5b 72 65 74 5d .this.string.one.may.use.`%[ret]
9ef00 60 2c 20 60 25 5b 6e 75 6d 62 65 72 5d 60 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 `,.`%[number]`,</span></span>.<s
9ef20 70 61 6e 20 63 6c 61 73 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
9ef40 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 72 20 60 25 5b 61 72 67 31 5d 60 20 77 68 65 72 65 k-comment">//.or.`%[arg1]`.where
9ef60 20 61 20 72 65 67 69 73 74 65 72 20 69 73 20 65 78 70 65 63 74 65 64 2c 20 74 6f 20 73 70 65 63 .a.register.is.expected,.to.spec
9ef80 69 66 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ify</span></span>.<span.class="l
9efa0 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">/
9efc0 2f 20 74 68 65 20 72 65 67 69 73 74 65 72 20 74 68 61 74 20 5a 69 67 20 75 73 65 73 20 66 6f 72 /.the.register.that.Zig.uses.for
9efe0 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 6f 72 20 72 65 74 75 72 6e 20 76 61 6c 75 65 2c 3c 2f .the.argument.or.return.value,</
9f000 73 70 61 6e 3e 3c 2f 73 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">
9f020 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 66 20 <span.class="tok-comment">//.if.
9f040 74 68 65 20 72 65 67 69 73 74 65 72 20 63 6f 6e 73 74 72 61 69 6e 74 20 73 74 72 69 6e 67 73 20 the.register.constraint.strings.
9f060 61 72 65 20 75 73 65 64 2e 20 48 6f 77 65 76 65 72 20 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 are.used..However.in</span></spa
9f080 6e 3e 0a 3c 73 70 61 6e 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
9f0a0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 62 65 6c 6f 77 20 63 6f 64 s="tok-comment">//.the.below.cod
9f0c0 65 2c 20 74 68 69 73 20 69 73 20 6e 6f 74 20 75 73 65 64 2e 20 41 20 6c 69 74 65 72 61 6c 20 60 e,.this.is.not.used..A.literal.`
9f0e0 25 60 20 63 61 6e 20 62 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c %`.can.be</span></span>.<span.cl
9f100 61 73 73 3d 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
9f120 65 6e 74 22 3e 2f 2f 20 6f 62 74 61 69 6e 65 64 20 62 79 20 65 73 63 61 70 69 6e 67 20 69 74 20 ent">//.obtained.by.escaping.it.
9f140 77 69 74 68 20 61 20 64 6f 75 62 6c 65 20 70 65 72 63 65 6e 74 3a 20 60 25 25 60 2e 3c 2f 73 70 with.a.double.percent:.`%%`.</sp
9f160 61 6e 3e 3c 2f 73 70 61 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
9f180 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 66 74 65 6e pan.class="tok-comment">//.Often
9f1a0 20 6d 75 6c 74 69 6c 69 6e 65 20 73 74 72 69 6e 67 20 73 79 6e 74 61 78 20 63 6f 6d 65 73 20 69 .multiline.string.syntax.comes.i
9f1c0 6e 20 68 61 6e 64 79 20 68 65 72 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.handy.here.</span></span>.<spa
9f1e0 6e 20 63 6c 61 73 73 3d 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="
9f200 74 6f 6b 2d 73 74 72 22 3e 5c 5c 73 79 73 63 61 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e tok-str">\\syscall</span></span>
9f220 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
9f240 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 74 68 65 20 6f 75 74 "tok-comment">//.Next.is.the.out
9f260 70 75 74 2e 20 49 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 69 6e 20 74 68 65 20 66 75 74 75 72 put..It.is.possible.in.the.futur
9f280 65 20 5a 69 67 20 77 69 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e.Zig.will</span></span>.<span.c
9f2a0 6c 61 73 73 3d 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
9f2c0 6d 65 6e 74 22 3e 2f 2f 20 73 75 70 70 6f 72 74 20 6d 75 6c 74 69 70 6c 65 20 6f 75 74 70 75 74 ment">//.support.multiple.output
9f2e0 73 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 68 6f 77 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e s,.depending.on.how</span></span
9f300 3e 0a 3c 73 70 61 6e 20 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
9f320 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 ="tok-comment">//.https://github
9f340 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 32 31 35 20 69 73 20 72 .com/ziglang/zig/issues/215.is.r
9f360 65 73 6f 6c 76 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 esolved.</span></span>.<span.cla
9f380 73 73 3d 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
9f3a0 6e 74 22 3e 2f 2f 20 49 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 74 68 65 72 65 20 74 nt">//.It.is.allowed.for.there.t
9f3c0 6f 20 62 65 20 6e 6f 20 6f 75 74 70 75 74 73 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 3c 2f o.be.no.outputs,.in.which.case</
9f3e0 73 70 61 6e 3e 3c 2f 73 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">
9f400 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 69 <span.class="tok-comment">//.thi
9f420 73 20 63 6f 6c 6f 6e 20 77 6f 75 6c 64 20 62 65 20 64 69 72 65 63 74 6c 79 20 66 6f 6c 6c 6f 77 s.colon.would.be.directly.follow
9f440 65 64 20 62 79 20 74 68 65 20 63 6f 6c 6f 6e 20 66 6f 72 20 74 68 65 20 69 6e 70 75 74 73 2e 3c ed.by.the.colon.for.the.inputs.<
9f460 2f 73 70 61 6e 3e 3c 2f 73 70 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"
9f480 3e 20 20 20 20 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 >....:</span>.<span.class="line"
9f4a0 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
9f4c0 69 73 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 62 65 20 75 73 65 64 is.specifies.the.name.to.be.used
9f4e0 20 69 6e 20 60 25 5b 72 65 74 5d 60 20 73 79 6e 74 61 78 20 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 .in.`%[ret]`.syntax.in</span></s
9f500 70 61 6e 3e 0a 3c 73 70 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
9f520 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 61 62 6f 76 65 20 61 ass="tok-comment">//.the.above.a
9f540 73 73 65 6d 62 6c 79 20 73 74 72 69 6e 67 2e 20 54 68 69 73 20 65 78 61 6d 70 6c 65 20 64 6f 65 ssembly.string..This.example.doe
9f560 73 20 6e 6f 74 20 75 73 65 20 69 74 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 s.not.use.it,</span></span>.<spa
9f580 6e 20 63 6c 61 73 73 3d 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-
9f5a0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 75 74 20 74 68 65 20 73 79 6e 74 61 78 20 69 73 20 6d 61 comment">//.but.the.syntax.is.ma
9f5c0 6e 64 61 74 6f 72 79 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ndatory.</span></span>.<span.cla
9f5e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5b 72 65 74 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ss="line">....[ret]</span>.<span
9f600 20 63 6c 61 73 73 3d 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
9f620 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 74 68 65 20 6f 75 74 70 75 74 20 63 6f omment">//.Next.is.the.output.co
9f640 6e 73 74 72 61 69 6e 74 20 73 74 72 69 6e 67 2e 20 54 68 69 73 20 66 65 61 74 75 72 65 20 69 73 nstraint.string..This.feature.is
9f660 20 73 74 69 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .still</span></span>.<span.class
9f680 3d 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
9f6a0 22 3e 2f 2f 20 63 6f 6e 73 69 64 65 72 65 64 20 75 6e 73 74 61 62 6c 65 20 69 6e 20 5a 69 67 2c ">//.considered.unstable.in.Zig,
9f6c0 20 61 6e 64 20 73 6f 20 4c 4c 56 4d 2f 47 43 43 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f .and.so.LLVM/GCC.documentation</
9f6e0 73 70 61 6e 3e 3c 2f 73 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">
9f700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 75 73 <span.class="tok-comment">//.mus
9f720 74 20 62 65 20 75 73 65 64 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 73 65 6d 61 t.be.used.to.understand.the.sema
9f740 6e 74 69 63 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ntics.</span></span>.<span.class
9f760 3d 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
9f780 22 3e 2f 2f 20 68 74 74 70 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 30 ">//.http://releases.llvm.org/10
9f7a0 2e 30 2e 30 2f 64 6f 63 73 2f 4c 61 6e 67 52 65 66 2e 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 61 73 .0.0/docs/LangRef.html#inline-as
9f7c0 6d 2d 63 6f 6e 73 74 72 61 69 6e 74 2d 73 74 72 69 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e m-constraint-string</span></span
9f7e0 3e 0a 3c 73 70 61 6e 20 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
9f800 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 74 74 70 73 3a 2f 2f 67 63 63 2e 67 6e ="tok-comment">//.https://gcc.gn
9f820 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2f 45 78 74 65 6e 64 65 64 2d 41 73 u.org/onlinedocs/gcc/Extended-As
9f840 6d 2e 68 74 6d 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 m.html</span></span>.<span.class
9f860 3d 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
9f880 22 3e 2f 2f 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 63 6f 6e 73 74 72 ">//.In.this.example,.the.constr
9f8a0 61 69 6e 74 20 73 74 72 69 6e 67 20 6d 65 61 6e 73 20 26 71 75 6f 74 3b 74 68 65 20 72 65 73 75 aint.string.means.&quot;the.resu
9f8c0 6c 74 20 76 61 6c 75 65 20 6f 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 lt.value.of</span></span>.<span.
9f8e0 63 6c 61 73 73 3d 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
9f900 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 69 mment">//.this.inline.assembly.i
9f920 6e 73 74 72 75 63 74 69 6f 6e 20 69 73 20 77 68 61 74 65 76 65 72 20 69 73 20 69 6e 20 24 72 61 nstruction.is.whatever.is.in.$ra
9f940 78 26 71 75 6f 74 3b 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 x&quot;.</span></span>.<span.cla
9f960 73 73 3d 22 6c 69 6e 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
9f980 74 72 22 3e 26 71 75 6f 74 3b 3d 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 tr">&quot;={rax}&quot;</span></s
9f9a0 70 61 6e 3e 0a 3c 73 70 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
9f9c0 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 65 69 74 ass="tok-comment">//.Next.is.eit
9f9e0 68 65 72 20 61 20 76 61 6c 75 65 20 62 69 6e 64 69 6e 67 2c 20 6f 72 20 60 2d 26 67 74 3b 60 20 her.a.value.binding,.or.`-&gt;`.
9fa00 61 6e 64 20 74 68 65 6e 20 61 20 74 79 70 65 2e 20 54 68 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 and.then.a.type..The</span></spa
9fa20 6e 3e 0a 3c 73 70 61 6e 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
9fa40 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 79 70 65 20 69 73 20 74 68 65 20 72 s="tok-comment">//.type.is.the.r
9fa60 65 73 75 6c 74 20 74 79 70 65 20 6f 66 20 74 68 65 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c esult.type.of.the.inline.assembl
9fa80 79 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 y.expression.</span></span>.<spa
9faa0 6e 20 63 6c 61 73 73 3d 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-
9fac0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 69 74 20 69 73 20 61 20 76 61 6c 75 65 20 62 69 6e comment">//.If.it.is.a.value.bin
9fae0 64 69 6e 67 2c 20 74 68 65 6e 20 60 25 5b 72 65 74 5d 60 20 73 79 6e 74 61 78 20 77 6f 75 6c 64 ding,.then.`%[ret]`.syntax.would
9fb00 20 62 65 20 75 73 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .be.used</span></span>.<span.cla
9fb20 73 73 3d 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
9fb40 6e 74 22 3e 2f 2f 20 74 6f 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 72 65 67 69 73 74 65 72 20 nt">//.to.refer.to.the.register.
9fb60 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e bound.to.the.value.</span></span
9fb80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 28 2d 26 67 74 3b 20 >.<span.class="line">....(-&gt;.
9fba0 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
9fbc0 61 6e 3e 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c an>)</span>.<span.class="line"><
9fbe0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 span.class="tok-comment">//.Next
9fc00 20 69 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 69 6e 70 75 74 73 2e 3c 2f 73 70 61 6e 3e 3c 2f .is.the.list.of.inputs.</span></
9fc20 73 70 61 6e 3e 0a 3c 73 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
9fc40 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 63 6f 6e 73 74 72 lass="tok-comment">//.The.constr
9fc60 61 69 6e 74 20 66 6f 72 20 74 68 65 73 65 20 69 6e 70 75 74 73 20 6d 65 61 6e 73 2c 20 26 71 75 aint.for.these.inputs.means,.&qu
9fc80 6f 74 3b 77 68 65 6e 20 74 68 65 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 20 69 73 3c 2f 73 70 ot;when.the.assembly.code.is</sp
9fca0 61 6e 3e 3c 2f 73 70 61 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
9fcc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 65 63 75 pan.class="tok-comment">//.execu
9fce0 74 65 64 2c 20 24 72 61 78 20 73 68 61 6c 6c 20 68 61 76 65 20 74 68 65 20 76 61 6c 75 65 20 6f ted,.$rax.shall.have.the.value.o
9fd00 66 20 60 6e 75 6d 62 65 72 60 20 61 6e 64 20 24 72 64 69 20 73 68 61 6c 6c 20 68 61 76 65 3c 2f f.`number`.and.$rdi.shall.have</
9fd20 73 70 61 6e 3e 3c 2f 73 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">
9fd40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 <span.class="tok-comment">//.the
9fd60 20 76 61 6c 75 65 20 6f 66 20 60 61 72 67 31 60 26 71 75 6f 74 3b 2e 20 41 6e 79 20 6e 75 6d 62 .value.of.`arg1`&quot;..Any.numb
9fd80 65 72 20 6f 66 20 69 6e 70 75 74 20 70 61 72 61 6d 65 74 65 72 73 20 69 73 20 61 6c 6c 6f 77 65 er.of.input.parameters.is.allowe
9fda0 64 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d,</span></span>.<span.class="li
9fdc0 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">//
9fde0 20 69 6e 63 6c 75 64 69 6e 67 20 6e 6f 6e 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .including.none.</span></span>.<
9fe00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3a 20 5b 6e 75 6d 62 65 72 5d span.class="line">....:.[number]
9fe20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 61 .<span.class="tok-str">&quot;{ra
9fe40 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 3c 2f 73 70 61 6e 3e x}&quot;</span>.(number),</span>
9fe60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 5b 61 72 67 .<span.class="line">........[arg
9fe80 31 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 1].<span.class="tok-str">&quot;{
9fea0 72 64 69 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 3c 2f 73 70 61 6e 3e 0a rdi}&quot;</span>.(arg1)</span>.
9fec0 3c 73 70 61 6e 20 63 6c 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="
9fee0 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 74 68 65 20 6c 69 73 74 tok-comment">//.Next.is.the.list
9ff00 20 6f 66 20 63 6c 6f 62 62 65 72 73 2e 20 54 68 65 73 65 20 64 65 63 6c 61 72 65 20 61 20 73 65 .of.clobbers..These.declare.a.se
9ff20 74 20 6f 66 20 72 65 67 69 73 74 65 72 73 20 77 68 6f 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 t.of.registers.whose</span></spa
9ff40 6e 3e 0a 3c 73 70 61 6e 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
9ff60 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 6c 75 65 73 20 77 69 6c 6c 20 6e s="tok-comment">//.values.will.n
9ff80 6f 74 20 62 65 20 70 72 65 73 65 72 76 65 64 20 62 79 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e ot.be.preserved.by.the.execution
9ffa0 20 6f 66 20 74 68 69 73 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 2e 3c 2f 73 70 61 6e 3e 3c 2f .of.this.assembly.code.</span></
9ffc0 73 70 61 6e 3e 0a 3c 73 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
9ffe0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 73 65 20 64 6f 20 6e lass="tok-comment">//.These.do.n
a0000 6f 74 20 69 6e 63 6c 75 64 65 20 6f 75 74 70 75 74 20 6f 72 20 69 6e 70 75 74 20 72 65 67 69 73 ot.include.output.or.input.regis
a0020 74 65 72 73 2e 20 54 68 65 20 73 70 65 63 69 61 6c 20 63 6c 6f 62 62 65 72 3c 2f 73 70 61 6e 3e ters..The.special.clobber</span>
a0040 3c 2f 73 70 61 6e 3e 0a 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
a0060 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 6c 75 65 20 6f 66 .class="tok-comment">//.value.of
a0080 20 26 71 75 6f 74 3b 6d 65 6d 6f 72 79 26 71 75 6f 74 3b 20 6d 65 61 6e 73 20 74 68 61 74 20 74 .&quot;memory&quot;.means.that.t
a00a0 68 65 20 61 73 73 65 6d 62 6c 79 20 77 72 69 74 65 73 20 74 6f 20 61 72 62 69 74 72 61 72 79 20 he.assembly.writes.to.arbitrary.
a00c0 75 6e 64 65 63 6c 61 72 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 undeclared</span></span>.<span.c
a00e0 6c 61 73 73 3d 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
a0100 6d 65 6e 74 22 3e 2f 2f 20 6d 65 6d 6f 72 79 20 6c 6f 63 61 74 69 6f 6e 73 20 2d 20 6e 6f 74 20 ment">//.memory.locations.-.not.
a0120 6f 6e 6c 79 20 74 68 65 20 6d 65 6d 6f 72 79 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 61 20 only.the.memory.pointed.to.by.a.
a0140 64 65 63 6c 61 72 65 64 20 69 6e 64 69 72 65 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a declared.indirect</span></span>.
a0160 3c 73 70 61 6e 20 63 6c 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="
a0180 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 75 74 70 75 74 2e 20 49 6e 20 74 68 69 73 20 tok-comment">//.output..In.this.
a01a0 65 78 61 6d 70 6c 65 20 77 65 20 6c 69 73 74 20 24 72 63 78 20 61 6e 64 20 24 72 31 31 20 62 65 example.we.list.$rcx.and.$r11.be
a01c0 63 61 75 73 65 20 69 74 20 69 73 20 6b 6e 6f 77 6e 20 74 68 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 cause.it.is.known.the</span></sp
a01e0 61 6e 3e 0a 3c 73 70 61 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
a0200 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6b 65 72 6e 65 6c 20 73 79 73 63 61 ss="tok-comment">//.kernel.sysca
a0220 6c 6c 20 64 6f 65 73 20 6e 6f 74 20 70 72 65 73 65 72 76 65 20 74 68 65 73 65 20 72 65 67 69 73 ll.does.not.preserve.these.regis
a0240 74 65 72 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ters.</span></span>.<span.class=
a0260 22 6c 69 6e 65 22 3e 20 20 20 20 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 "line">....:.<span.class="tok-st
a0280 72 22 3e 26 71 75 6f 74 3b 72 63 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e r">&quot;rcx&quot;</span>,.<span
a02a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 31 31 26 71 75 6f 74 3b .class="tok-str">&quot;r11&quot;
a02c0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
a02e0 22 3e 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 ">);</span></code></pre></figure
a0300 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 69 33 38 36 20 61 6e 64 20 78 >.......<p>.......For.i386.and.x
a0320 38 36 5f 36 34 20 74 61 72 67 65 74 73 2c 20 74 68 65 20 73 79 6e 74 61 78 20 69 73 20 41 54 26 86_64.targets,.the.syntax.is.AT&
a0340 61 6d 70 3b 54 20 73 79 6e 74 61 78 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6d 6f amp;T.syntax,.rather.than.the.mo
a0360 72 65 0a 20 20 20 20 20 20 70 6f 70 75 6c 61 72 20 49 6e 74 65 6c 20 73 79 6e 74 61 78 2e 20 54 re.......popular.Intel.syntax..T
a0380 68 69 73 20 69 73 20 64 75 65 20 74 6f 20 74 65 63 68 6e 69 63 61 6c 20 63 6f 6e 73 74 72 61 69 his.is.due.to.technical.constrai
a03a0 6e 74 73 3b 20 61 73 73 65 6d 62 6c 79 20 70 61 72 73 69 6e 67 20 69 73 0a 20 20 20 20 20 20 70 nts;.assembly.parsing.is.......p
a03c0 72 6f 76 69 64 65 64 20 62 79 20 4c 4c 56 4d 20 61 6e 64 20 69 74 73 20 73 75 70 70 6f 72 74 20 rovided.by.LLVM.and.its.support.
a03e0 66 6f 72 20 49 6e 74 65 6c 20 73 79 6e 74 61 78 20 69 73 20 62 75 67 67 79 20 61 6e 64 20 6e 6f for.Intel.syntax.is.buggy.and.no
a0400 74 20 77 65 6c 6c 20 74 65 73 74 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 t.well.tested........</p>.......
a0420 3c 70 3e 0a 20 20 20 20 20 20 53 6f 6d 65 20 64 61 79 20 5a 69 67 20 6d 61 79 20 68 61 76 65 20 <p>.......Some.day.Zig.may.have.
a0440 69 74 73 20 6f 77 6e 20 61 73 73 65 6d 62 6c 65 72 2e 20 54 68 69 73 20 77 6f 75 6c 64 20 61 6c its.own.assembler..This.would.al
a0460 6c 6f 77 20 69 74 20 74 6f 20 69 6e 74 65 67 72 61 74 65 20 6d 6f 72 65 20 73 65 61 6d 6c 65 73 low.it.to.integrate.more.seamles
a0480 73 6c 79 0a 20 20 20 20 20 20 69 6e 74 6f 20 74 68 65 20 6c 61 6e 67 75 61 67 65 2c 20 61 73 20 sly.......into.the.language,.as.
a04a0 77 65 6c 6c 20 61 73 20 62 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 70 well.as.be.compatible.with.the.p
a04c0 6f 70 75 6c 61 72 20 4e 41 53 4d 20 73 79 6e 74 61 78 2e 20 54 68 69 73 20 64 6f 63 75 6d 65 6e opular.NASM.syntax..This.documen
a04e0 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 73 65 63 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 75 70 64 tation.......section.will.be.upd
a0500 61 74 65 64 20 62 65 66 6f 72 65 20 31 2e 30 2e 30 20 69 73 20 72 65 6c 65 61 73 65 64 2c 20 77 ated.before.1.0.0.is.released,.w
a0520 69 74 68 20 61 20 63 6f 6e 63 6c 75 73 69 76 65 20 73 74 61 74 65 6d 65 6e 74 20 61 62 6f 75 74 ith.a.conclusive.statement.about
a0540 20 74 68 65 20 73 74 61 74 75 73 0a 20 20 20 20 20 20 6f 66 20 41 54 26 61 6d 70 3b 54 20 76 73 .the.status.......of.AT&amp;T.vs
a0560 20 49 6e 74 65 6c 2f 4e 41 53 4d 20 73 79 6e 74 61 78 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 .Intel/NASM.syntax........</p>..
a0580 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 .....<h3.id="Output-Constraints"
a05a0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 ><a.href="#toc-Output-Constraint
a05c0 73 22 3e 4f 75 74 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 s">Output.Constraints</a>.<a.cla
a05e0 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e ss="hdr".href="#Output-Constrain
a0600 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 ts">..</a></h3>........<p>......
a0620 20 4f 75 74 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 73 74 69 6c 6c 20 63 6f .Output.constraints.are.still.co
a0640 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 75 6e 73 74 61 62 6c 65 20 69 6e 20 5a 69 67 2c 20 nsidered.to.be.unstable.in.Zig,.
a0660 61 6e 64 0a 20 20 20 20 20 20 73 6f 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 and.......so.......<a.href="http
a0680 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 30 2e 30 2e 30 2f 64 6f 63 73 ://releases.llvm.org/10.0.0/docs
a06a0 2f 4c 61 6e 67 52 65 66 2e 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 61 73 6d 2d 63 6f 6e 73 74 72 61 /LangRef.html#inline-asm-constra
a06c0 69 6e 74 2d 73 74 72 69 6e 67 22 3e 4c 4c 56 4d 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f int-string">LLVM.documentation</
a06e0 61 3e 0a 20 20 20 20 20 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 a>.......and.......<a.href="http
a0700 73 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2f 45 s://gcc.gnu.org/onlinedocs/gcc/E
a0720 78 74 65 6e 64 65 64 2d 41 73 6d 2e 68 74 6d 6c 22 3e 47 43 43 20 64 6f 63 75 6d 65 6e 74 61 74 xtended-Asm.html">GCC.documentat
a0740 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20 75 6e ion</a>.......must.be.used.to.un
a0760 64 65 72 73 74 61 6e 64 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 2e 0a 20 20 20 20 20 20 3c 2f derstand.the.semantics........</
a0780 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 73 6f 6d p>.......<p>.......Note.that.som
a07a0 65 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 73 20 74 6f 20 6f 75 74 70 75 74 20 63 6f 6e e.breaking.changes.to.output.con
a07c0 73 74 72 61 69 6e 74 73 20 61 72 65 20 70 6c 61 6e 6e 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 straints.are.planned.with.......
a07e0 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
a0800 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 32 31 35 22 3e 69 73 73 75 65 20 23 32 31 35 3c 2f ang/zig/issues/215">issue.#215</
a0820 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
a0840 20 69 64 3d 22 49 6e 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 3c 61 20 68 72 65 66 3d .id="Input-Constraints"><a.href=
a0860 22 23 74 6f 63 2d 49 6e 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e 49 6e 70 75 74 20 43 "#toc-Input-Constraints">Input.C
a0880 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
a08a0 65 66 3d 22 23 49 6e 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f ef="#Input-Constraints">..</a></
a08c0 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 70 75 74 20 63 6f 6e 73 74 h3>........<p>.......Input.const
a08e0 72 61 69 6e 74 73 20 61 72 65 20 73 74 69 6c 6c 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 raints.are.still.considered.to.b
a0900 65 20 75 6e 73 74 61 62 6c 65 20 69 6e 20 5a 69 67 2c 20 61 6e 64 0a 20 20 20 20 20 20 73 6f 0a e.unstable.in.Zig,.and.......so.
a0920 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c ......<a.href="http://releases.l
a0940 6c 76 6d 2e 6f 72 67 2f 31 30 2e 30 2e 30 2f 64 6f 63 73 2f 4c 61 6e 67 52 65 66 2e 68 74 6d 6c lvm.org/10.0.0/docs/LangRef.html
a0960 23 69 6e 6c 69 6e 65 2d 61 73 6d 2d 63 6f 6e 73 74 72 61 69 6e 74 2d 73 74 72 69 6e 67 22 3e 4c #inline-asm-constraint-string">L
a0980 4c 56 4d 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 61 6e 64 0a LVM.documentation</a>.......and.
a09a0 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f ......<a.href="https://gcc.gnu.o
a09c0 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2f 45 78 74 65 6e 64 65 64 2d 41 73 6d 2e 68 rg/onlinedocs/gcc/Extended-Asm.h
a09e0 74 6d 6c 22 3e 47 43 43 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 tml">GCC.documentation</a>......
a0a00 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 .must.be.used.to.understand.the.
a0a20 73 65 6d 61 6e 74 69 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a semantics........</p>.......<p>.
a0a40 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 73 6f 6d 65 20 62 72 65 61 6b 69 6e 67 20 63 68 ......Note.that.some.breaking.ch
a0a60 61 6e 67 65 73 20 74 6f 20 69 6e 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 70 anges.to.input.constraints.are.p
a0a80 6c 61 6e 6e 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 lanned.with.......<a.href="https
a0aa0 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
a0ac0 2f 32 31 35 22 3e 69 73 73 75 65 20 23 32 31 35 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e /215">issue.#215</a>........</p>
a0ae0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 6c 6f 62 62 65 72 73 22 ...............<h3.id="Clobbers"
a0b00 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6c 6f 62 62 65 72 73 22 3e 43 6c 6f 62 62 65 72 ><a.href="#toc-Clobbers">Clobber
a0b20 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6c 6f 62 s</a>.<a.class="hdr".href="#Clob
a0b40 62 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 bers">..</a></h3>........<p>....
a0b60 20 20 20 43 6c 6f 62 62 65 72 73 20 61 72 65 20 74 68 65 20 73 65 74 20 6f 66 20 72 65 67 69 73 ...Clobbers.are.the.set.of.regis
a0b80 74 65 72 73 20 77 68 6f 73 65 20 76 61 6c 75 65 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 70 72 ters.whose.values.will.not.be.pr
a0ba0 65 73 65 72 76 65 64 20 62 79 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 0a 20 20 20 20 eserved.by.the.execution.of.....
a0bc0 20 20 74 68 65 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 65 2e 20 54 68 65 73 65 20 64 6f 20 6e 6f ..the.assembly.code..These.do.no
a0be0 74 20 69 6e 63 6c 75 64 65 20 6f 75 74 70 75 74 20 6f 72 20 69 6e 70 75 74 20 72 65 67 69 73 74 t.include.output.or.input.regist
a0c00 65 72 73 2e 20 54 68 65 20 73 70 65 63 69 61 6c 20 63 6c 6f 62 62 65 72 0a 20 20 20 20 20 20 76 ers..The.special.clobber.......v
a0c20 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 alue.of.<code><span.class="line"
a0c40 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 65 6d ><span.class="tok-str">&quot;mem
a0c60 6f 72 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d ory&quot;</span></span></code>.m
a0c80 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 61 73 73 65 6d 62 6c 79 20 63 61 75 73 65 73 20 77 72 eans.that.the.assembly.causes.wr
a0ca0 69 74 65 73 20 74 6f 0a 20 20 20 20 20 20 61 72 62 69 74 72 61 72 79 20 75 6e 64 65 63 6c 61 72 ites.to.......arbitrary.undeclar
a0cc0 65 64 20 6d 65 6d 6f 72 79 20 6c 6f 63 61 74 69 6f 6e 73 20 2d 20 6e 6f 74 20 6f 6e 6c 79 20 74 ed.memory.locations.-.not.only.t
a0ce0 68 65 20 6d 65 6d 6f 72 79 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 61 20 64 65 63 6c 61 72 he.memory.pointed.to.by.a.declar
a0d00 65 64 0a 20 20 20 20 20 20 69 6e 64 69 72 65 63 74 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 ed.......indirect.output........
a0d20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 61 69 6c 75 72 65 20 74 6f 20 </p>.......<p>.......Failure.to.
a0d40 64 65 63 6c 61 72 65 20 74 68 65 20 66 75 6c 6c 20 73 65 74 20 6f 66 20 63 6c 6f 62 62 65 72 73 declare.the.full.set.of.clobbers
a0d60 20 66 6f 72 20 61 20 67 69 76 65 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 0a 20 20 20 .for.a.given.inline.assembly....
a0d80 20 20 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 75 6e 63 68 65 63 6b 65 64 20 3c 61 20 68 72 ...expression.is.unchecked.<a.hr
a0da0 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
a0dc0 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>.....
a0de0 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c ..........<h3.id="Global-Assembl
a0e00 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 y"><a.href="#toc-Global-Assembly
a0e20 22 3e 47 6c 6f 62 61 6c 20 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 ">Global.Assembly</a>.<a.class="
a0e40 68 64 72 22 20 68 72 65 66 3d 22 23 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c hdr".href="#Global-Assembly">..<
a0e60 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 /a></h3>........<p>.......When.a
a0e80 6e 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 63 63 75 72 73 20 69 6e 20 n.assembly.expression.occurs.in.
a0ea0 61 20 63 6f 6e 74 61 69 6e 65 72 20 6c 65 76 65 6c 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 a.container.level.<a.href="#comp
a0ec0 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 6c 6f 63 6b 2c 20 74 68 69 73 20 69 time">comptime</a>.block,.this.i
a0ee0 73 0a 20 20 20 20 20 20 3c 73 74 72 6f 6e 67 3e 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 3c s.......<strong>global.assembly<
a0f00 2f 73 74 72 6f 6e 67 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 /strong>........</p>.......<p>..
a0f20 20 20 20 20 20 54 68 69 73 20 6b 69 6e 64 20 6f 66 20 61 73 73 65 6d 62 6c 79 20 68 61 73 20 64 .....This.kind.of.assembly.has.d
a0f40 69 66 66 65 72 65 6e 74 20 72 75 6c 65 73 20 74 68 61 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d ifferent.rules.than.inline.assem
a0f60 62 6c 79 2e 20 46 69 72 73 74 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c bly..First,.<code><span.class="l
a0f80 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 ine"><span.class="tok-kw">volati
a0fa0 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 73 le</span></span></code>.......is
a0fc0 20 6e 6f 74 20 76 61 6c 69 64 20 62 65 63 61 75 73 65 20 61 6c 6c 20 67 6c 6f 62 61 6c 20 61 73 .not.valid.because.all.global.as
a0fe0 73 65 6d 62 6c 79 20 69 73 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 69 6e 63 6c 75 64 sembly.is.unconditionally.includ
a1000 65 64 2e 0a 20 20 20 20 20 20 53 65 63 6f 6e 64 2c 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 69 ed........Second,.there.are.no.i
a1020 6e 70 75 74 73 2c 20 6f 75 74 70 75 74 73 2c 20 6f 72 20 63 6c 6f 62 62 65 72 73 2e 20 41 6c 6c nputs,.outputs,.or.clobbers..All
a1040 20 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 20 69 73 20 63 6f 6e 63 61 74 65 6e 61 74 65 64 .global.assembly.is.concatenated
a1060 0a 20 20 20 20 20 20 76 65 72 62 61 74 69 6d 20 69 6e 74 6f 20 6f 6e 65 20 6c 6f 6e 67 20 73 74 .......verbatim.into.one.long.st
a1080 72 69 6e 67 20 61 6e 64 20 61 73 73 65 6d 62 6c 65 64 20 74 6f 67 65 74 68 65 72 2e 20 54 68 65 ring.and.assembled.together..The
a10a0 72 65 20 61 72 65 20 6e 6f 20 74 65 6d 70 6c 61 74 65 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 re.are.no.template.substitution.
a10c0 72 75 6c 65 73 20 72 65 67 61 72 64 69 6e 67 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 25 3c 2f 63 rules.regarding.......<code>%</c
a10e0 6f 64 65 3e 20 61 73 20 74 68 65 72 65 20 61 72 65 20 69 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 ode>.as.there.are.in.inline.asse
a1100 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 mbly.expressions........</p>....
a1120 20 20 20 3c 66 69 67 75 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
a1140 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 67 6c 6f 62 61 6c g-cap"><cite.class="file">global
a1160 2d 61 73 6d 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 -asm.zig</cite></figcaption><pre
a1180 3e 3c 63 6f 64 65 3e 3c 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.
a11a0 63 6c 61 73 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.
a11c0 3d 20 3c 73 70 61 6e 20 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
a11e0 6f 72 74 3c 2f 73 70 61 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"
a1200 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>
a1220 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
a1240 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
a1260 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.
a1280 63 6c 61 73 73 3d 22 6c 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
a12a0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d ="line"><span.class="tok-kw">com
a12c0 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
a12e0 73 3d 22 6c 69 6e 65 22 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
a1300 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 20 28 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">asm</span>.(</span>.<span.clas
a1320 73 3d 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
a1340 6b 2d 73 74 72 22 3e 5c 5c 2e 67 6c 6f 62 61 6c 20 6d 79 5f 66 75 6e 63 3b 3c 2f 73 70 61 6e 3e k-str">\\.global.my_func;</span>
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 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 2e 74 79 70 65 ...<span.class="tok-str">\\.type
a13a0 20 6d 79 5f 66 75 6e 63 2c 20 40 66 75 6e 63 74 69 6f 6e 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 .my_func,.@function;</span></spa
a13c0 6e 3e 0a 3c 73 70 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
a13e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 6d 79 5f 66 75 6e 63 3a 3c 2f pan.class="tok-str">\\my_func:</
a1400 73 70 61 6e 3e 3c 2f 73 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">
a1420 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c ........<span.class="tok-str">\\
a1440 20 20 6c 65 61 20 28 25 72 64 69 2c 25 72 73 69 2c 31 29 2c 25 65 61 78 3c 2f 73 70 61 6e 3e 3c ..lea.(%rdi,%rsi,1),%eax</span><
a1460 2f 73 70 61 6e 3e 0a 3c 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">......
a1480 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 20 20 72 65 74 71 ..<span.class="tok-str">\\..retq
a14a0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
a14c0 22 3e 20 20 20 20 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ">....);</span>.<span.class="lin
a14e0 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"><
a1500 2f 73 70 61 6e 3e 0a 3c 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.
a1520 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 class="tok-kw">extern</span>.<sp
a1540 61 6e 20 63 6c 61 73 73 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
a1560 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 79 5f 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 n.class="tok-fn">my_func</span>(
a1580 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 a:.<span.class="tok-type">i32</s
a15a0 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e pan>,.b:.<span.class="tok-type">
a15c0 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 i32</span>).<span.class="tok-typ
a15e0 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 e">i32</span>;</span>.<span.clas
a1600 73 3d 22 6c 69 6e 65 22 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
a1620 6e 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
a1640 70 61 6e 3e 20 3c 73 70 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
a1660 3b 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c ;global.assembly&quot;</span>.{<
a1680 2f 73 70 61 6e 3e 0a 3c 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
a16a0 70 61 6e 20 63 6c 61 73 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
a16c0 70 65 63 74 28 6d 79 5f 66 75 6e 63 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 pect(my_func(<span.class="tok-nu
a16e0 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f mber">12</span>,.<span.class="to
a1700 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c k-number">34</span>).==.<span.cl
a1720 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 ass="tok-number">46</span>);</sp
a1740 61 6e 3e 0a 3c 73 70 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><
a1760 2f 63 6f 64 65 3e 3c 2f 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
a1780 67 63 61 70 74 69 6f 6e 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
a17a0 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
a17c0 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 67 6c 6f 62 61 ass="line">$.<kbd>zig.test.globa
a17e0 6c 2d 61 73 6d 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 3c 2f l-asm.zig.-target.x86_64-linux</
a1800 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
a1820 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 26 71 75 /1.test.&quot;global.assembly&qu
a1840 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
a1860 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>.<
a1880 2f 73 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>...........
a18a0 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 74 6f 6d 69 63 73 22 3e 3c 61 20 68 ...........<h2.id="Atomics"><a.h
a18c0 72 65 66 3d 22 23 74 6f 63 2d 41 74 6f 6d 69 63 73 22 3e 41 74 6f 6d 69 63 73 3c 2f 61 3e 20 3c ref="#toc-Atomics">Atomics</a>.<
a18e0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 6f 6d 69 63 73 22 3e c2 a7 a.class="hdr".href="#Atomics">..
a1900 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 40 66 65 6e 63 65 </a></h2>........<p>TODO:.@fence
a1920 28 29 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 40 61 74 6f 6d 69 63 20 72 6d ()</p>.......<p>TODO:.@atomic.rm
a1940 77 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 62 75 69 6c 74 69 6e 20 61 74 6f w</p>.......<p>TODO:.builtin.ato
a1960 6d 69 63 20 6d 65 6d 6f 72 79 20 6f 72 64 65 72 69 6e 67 20 65 6e 75 6d 3c 2f 70 3e 0a 20 20 20 mic.memory.ordering.enum</p>....
a1980 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e ..........<h2.id="Async-Function
a19a0 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 s"><a.href="#toc-Async-Functions
a19c0 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 ">Async.Functions</a>.<a.class="
a19e0 68 64 72 22 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c hdr".href="#Async-Functions">..<
a1a00 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 /a></h2>........<p>.......When.a
a1a20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 2c 20 61 20 66 72 61 6d 65 20 69 73 20 .function.is.called,.a.frame.is.
a1a40 70 75 73 68 65 64 20 74 6f 20 74 68 65 20 73 74 61 63 6b 2c 0a 20 20 20 20 20 20 74 68 65 20 66 pushed.to.the.stack,.......the.f
a1a60 75 6e 63 74 69 6f 6e 20 72 75 6e 73 20 75 6e 74 69 6c 20 69 74 20 72 65 61 63 68 65 73 20 61 20 unction.runs.until.it.reaches.a.
a1a80 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 66 return.statement,.and.then.the.f
a1aa0 72 61 6d 65 20 69 73 20 70 6f 70 70 65 64 20 66 72 6f 6d 20 74 68 65 20 73 74 61 63 6b 2e 0a 20 rame.is.popped.from.the.stack...
a1ac0 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 63 61 6c 6c .....The.code.following.the.call
a1ae0 73 69 74 65 20 64 6f 65 73 20 6e 6f 74 20 72 75 6e 20 75 6e 74 69 6c 20 74 68 65 20 66 75 6e 63 site.does.not.run.until.the.func
a1b00 74 69 6f 6e 20 72 65 74 75 72 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c tion.returns........</p>.......<
a1b20 70 3e 0a 20 20 20 20 20 20 41 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 p>.......An.async.function.is.a.
a1b40 66 75 6e 63 74 69 6f 6e 20 77 68 6f 73 65 20 65 78 65 63 75 74 69 6f 6e 20 69 73 20 73 70 6c 69 function.whose.execution.is.spli
a1b60 74 20 69 6e 74 6f 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e t.into.an.<code><span.class="lin
a1b80 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 e"><span.class="tok-kw">async</s
a1ba0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 69 74 69 61 74 69 6f 6e 2c 0a 20 pan></span></code>.initiation,..
a1bc0 20 20 20 20 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .....followed.by.an.<code><span.
a1be0 63 6c 61 73 73 3d 22 6c 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
a1c00 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 6d ">await</span></span></code>.com
a1c20 70 6c 65 74 69 6f 6e 2e 20 49 74 73 20 66 72 61 6d 65 20 69 73 0a 20 20 20 20 20 20 70 72 6f 76 pletion..Its.frame.is.......prov
a1c40 69 64 65 64 20 65 78 70 6c 69 63 69 74 6c 79 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 2c 20 61 ided.explicitly.by.the.caller,.a
a1c60 6e 64 20 69 74 20 63 61 6e 20 62 65 20 73 75 73 70 65 6e 64 65 64 20 61 6e 64 20 72 65 73 75 6d nd.it.can.be.suspended.and.resum
a1c80 65 64 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 74 69 6d 65 73 2e 0a 20 20 20 20 20 20 3c 2f ed.any.number.of.times........</
a1ca0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 63 6f 64 65 20 66 6f 6c 6c p>.......<p>.......The.code.foll
a1cc0 6f 77 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e owing.the.<code><span.class="lin
a1ce0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 e"><span.class="tok-kw">async</s
a1d00 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 69 74 65 20 72 75 6e 73 pan></span></code>.callsite.runs
a1d20 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 61 66 74 65 72 20 74 68 65 20 61 73 79 6e 63 0a 20 20 20 .immediately.after.the.async....
a1d40 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 69 72 73 74 20 73 75 73 70 65 6e 64 73 2e 20 57 68 65 6e ...function.first.suspends..When
a1d60 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 61 73 79 6e 63 20 66 .the.return.value.of.the.async.f
a1d80 75 6e 63 74 69 6f 6e 20 69 73 20 6e 65 65 64 65 64 2c 0a 20 20 20 20 20 20 74 68 65 20 63 61 6c unction.is.needed,.......the.cal
a1da0 6c 69 6e 67 20 63 6f 64 65 20 63 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ling.code.can.<code><span.class=
a1dc0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 "line"><span.class="tok-kw">awai
a1de0 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 20 74 68 65 20 61 73 t</span></span></code>.on.the.as
a1e00 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 77 ync.function.frame........This.w
a1e20 69 6c 6c 20 73 75 73 70 65 6e 64 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 63 6f 64 65 20 75 6e 74 ill.suspend.the.calling.code.unt
a1e40 69 6c 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 6c 65 74 65 73 2c il.the.async.function.completes,
a1e60 20 61 74 20 77 68 69 63 68 20 70 6f 69 6e 74 0a 20 20 20 20 20 20 65 78 65 63 75 74 69 6f 6e 20 .at.which.point.......execution.
a1e80 72 65 73 75 6d 65 73 20 6a 75 73 74 20 61 66 74 65 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 resumes.just.after.the.<code><sp
a1ea0 61 6e 20 63 6c 61 73 73 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
a1ec0 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>.
a1ee0 63 61 6c 6c 73 69 74 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 callsite........</p>.......<p>..
a1f00 20 20 20 20 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 .....Zig.infers.that.a.function.
a1f20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 is.<code><span.class="line"><spa
a1f40 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
a1f60 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 65 6e 20 69 74 20 6f 62 73 65 72 76 65 73 20 74 68 61 pan></code>.when.it.observes.tha
a1f80 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 74 61 69 6e 73 0a 20 20 20 20 20 20 61 20 t.the.function.contains.......a.
a1fa0 3c 73 74 72 6f 6e 67 3e 73 75 73 70 65 6e 73 69 6f 6e 20 70 6f 69 6e 74 3c 2f 73 74 72 6f 6e 67 <strong>suspension.point</strong
a1fc0 3e 2e 20 41 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 >..Async.functions.can.be.called
a1fe0 20 74 68 65 20 73 61 6d 65 20 61 73 20 6e 6f 72 6d 61 6c 20 66 75 6e 63 74 69 6f 6e 73 2e 20 41 .the.same.as.normal.functions..A
a2000 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 6f 66 20 61 6e 20 61 73 79 6e 63 .......function.call.of.an.async
a2020 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 73 75 73 70 65 6e 64 20 70 6f 69 6e 74 2e 0a 20 20 .function.is.a.suspend.point....
a2040 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 75 73 70 65 6e 64 2d 61 ....</p>.......<h3.id="Suspend-a
a2060 6e 64 2d 52 65 73 75 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 75 73 70 65 6e 64 nd-Resume"><a.href="#toc-Suspend
a2080 2d 61 6e 64 2d 52 65 73 75 6d 65 22 3e 53 75 73 70 65 6e 64 20 61 6e 64 20 52 65 73 75 6d 65 3c -and-Resume">Suspend.and.Resume<
a20a0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 75 73 70 65 6e /a>.<a.class="hdr".href="#Suspen
a20c0 64 2d 61 6e 64 2d 52 65 73 75 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 d-and-Resume">..</a></h3>.......
a20e0 20 3c 70 3e 0a 20 20 20 20 20 20 41 74 20 61 6e 79 20 70 6f 69 6e 74 2c 20 61 20 66 75 6e 63 74 .<p>.......At.any.point,.a.funct
a2100 69 6f 6e 20 6d 61 79 20 73 75 73 70 65 6e 64 20 69 74 73 65 6c 66 2e 20 54 68 69 73 20 63 61 75 ion.may.suspend.itself..This.cau
a2120 73 65 73 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 74 6f 0a 20 20 20 20 20 20 72 65 74 75 72 6e ses.control.flow.to.......return
a2140 20 74 6f 20 74 68 65 20 63 61 6c 6c 73 69 74 65 20 28 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 .to.the.callsite.(in.the.case.of
a2160 20 74 68 65 20 66 69 72 73 74 20 73 75 73 70 65 6e 73 69 6f 6e 29 2c 0a 20 20 20 20 20 20 6f 72 .the.first.suspension),.......or
a2180 20 72 65 73 75 6d 65 72 20 28 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 73 75 62 73 65 71 75 .resumer.(in.the.case.of.subsequ
a21a0 65 6e 74 20 73 75 73 70 65 6e 73 69 6f 6e 73 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ent.suspensions)........</p>....
a21c0 20 20 20 3c 66 69 67 75 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
a21e0 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 75 73 70 65 6e g-cap"><cite.class="file">suspen
a2200 64 5f 6e 6f 5f 72 65 73 75 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 d_no_resume.zig</cite></figcapti
a2220 6f 6e 3e 3c 70 72 65 3e 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"
a2240 3e 3c 73 70 61 6e 20 63 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
a2260 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
a2280 6e 22 3e 40 69 6d 70 6f 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
a22a0 6f 6b 2d 73 74 72 22 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>);
a22c0 3c 2f 73 70 61 6e 3e 0a 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
a22e0 20 63 6c 61 73 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
a2300 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>
a2320 0a 3c 73 70 61 6e 20 63 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
a2340 6e 20 63 6c 61 73 73 3d 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-
a2360 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
a2380 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
a23a0 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>.
a23c0 3c 73 70 61 6e 20 63 6c 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
a23e0 20 63 6c 61 73 73 3d 22 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
a2400 77 22 3e 74 65 73 74 3c 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-
a2420 73 74 72 22 3e 26 71 75 6f 74 3b 73 75 73 70 65 6e 64 20 77 69 74 68 20 6e 6f 20 72 65 73 75 6d str">&quot;suspend.with.no.resum
a2440 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
a2460 61 73 73 3d 22 6c 69 6e 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-
a2480 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 kw">var</span>.frame.=.<span.cla
a24a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 28 29 3b ss="tok-kw">async</span>.func();
a24c0 3c 2f 73 70 61 6e 3e 0a 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">....<
a24e0 73 70 61 6e 20 63 6c 61 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
a2500 78 70 65 63 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 xpect(x.==.<span.class="tok-numb
a2520 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">2</span>);</span>.<span.clas
a2540 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c s="line">...._.=.frame;</span>.<
a2560 73 70 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
a2580 20 63 6c 61 73 73 3d 22 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
a25a0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e s="line"><span.class="tok-kw">fn
a25c0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 75 6e </span>.<span.class="tok-fn">fun
a25e0 63 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 c</span>().<span.class="tok-type
a2600 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
a2620 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ss="line">....x.+=.<span.class="
a2640 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">1</span>;</span>.<sp
a2660 61 6e 20 63 6c 61 73 73 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=
a2680 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e "tok-kw">suspend</span>.{}</span
a26a0 3e 0a 3c 73 70 61 6e 20 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
a26c0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 6c 69 6e 65 20 lass="tok-comment">//.This.line.
a26e0 69 73 20 6e 65 76 65 72 20 72 65 61 63 68 65 64 20 62 65 63 61 75 73 65 20 74 68 65 20 73 75 73 is.never.reached.because.the.sus
a2700 70 65 6e 64 20 68 61 73 20 6e 6f 20 6d 61 74 63 68 69 6e 67 20 72 65 73 75 6d 65 2e 3c 2f 73 70 pend.has.no.matching.resume.</sp
a2720 61 6e 3e 3c 2f 73 70 61 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">..
a2740 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e ..x.+=.<span.class="tok-number">
a2760 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
a2780 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
a27a0 65 3e 3c 66 69 67 75 72 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
a27c0 6c 6c 2d 63 61 70 22 3e 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><
a27e0 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
a2800 69 67 20 74 65 73 74 20 73 75 73 70 65 6e 64 5f 6e 6f 5f 72 65 73 75 6d 65 2e 7a 69 67 3c 2f 6b ig.test.suspend_no_resume.zig</k
a2820 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/
a2840 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 75 73 70 65 6e 64 20 77 69 74 68 20 6e 6f 20 72 65 73 1.test.&quot;suspend.with.no.res
a2860 75 6d 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ume&quot;....OK</span>.<span.cla
a2880 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
a28a0 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>.....
a28c0 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 ..<p>.......In.the.same.way.that
a28e0 20 65 61 63 68 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 63 .each.allocation.should.have.a.c
a2900 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 66 72 65 65 2c 0a 20 20 20 20 20 20 45 61 63 68 20 3c 63 orresponding.free,.......Each.<c
a2920 6f 64 65 3e 3c 73 70 61 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
a2940 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ss="tok-kw">suspend</span></span
a2960 3e 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 20 63 6f 72 72 65 73 70 6f 6e ></code>.should.have.a.correspon
a2980 64 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 ding.<code><span.class="line"><s
a29a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e pan.class="tok-kw">resume</span>
a29c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 41 20 3c 73 74 72 6f 6e 67 3e </span></code>........A.<strong>
a29e0 73 75 73 70 65 6e 64 20 62 6c 6f 63 6b 3c 2f 73 74 72 6f 6e 67 3e 20 61 6c 6c 6f 77 73 20 61 20 suspend.block</strong>.allows.a.
a2a00 66 75 6e 63 74 69 6f 6e 20 74 6f 20 70 75 74 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 69 74 73 function.to.put.a.pointer.to.its
a2a20 20 6f 77 6e 0a 20 20 20 20 20 20 66 72 61 6d 65 20 73 6f 6d 65 77 68 65 72 65 2c 20 66 6f 72 20 .own.......frame.somewhere,.for.
a2a40 65 78 61 6d 70 6c 65 20 69 6e 74 6f 20 61 6e 20 65 76 65 6e 74 20 6c 6f 6f 70 2c 20 65 76 65 6e example.into.an.event.loop,.even
a2a60 20 69 66 20 74 68 61 74 20 61 63 74 69 6f 6e 20 77 69 6c 6c 20 70 65 72 66 6f 72 6d 20 61 0a 20 .if.that.action.will.perform.a..
a2a80 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
a2aa0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e pan.class="tok-kw">resume</span>
a2ac0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 69 6f 6e 20 6f 6e 20 61 20 64 69 </span></code>.operation.on.a.di
a2ae0 66 66 65 72 65 6e 74 20 74 68 72 65 61 64 2e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 fferent.thread........<a.href="#
a2b00 66 72 61 6d 65 22 3e 40 66 72 61 6d 65 3c 2f 61 3e 20 70 72 6f 76 69 64 65 73 20 61 63 63 65 73 frame">@frame</a>.provides.acces
a2b20 73 20 74 6f 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 20 70 6f s.to.the.async.function.frame.po
a2b40 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e inter........</p>.......<figure>
a2b60 3c 66 69 67 63 61 70 74 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
a2b80 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 79 6e 63 5f 73 75 73 70 65 6e 64 5f 62 6c 6f e.class="file">async_suspend_blo
a2ba0 63 6b 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ck.zig</cite></figcaption><pre><
a2bc0 63 6f 64 65 3e 3c 73 70 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
a2be0 61 73 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.=.
a2c00 3c 73 70 61 6e 20 63 6c 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
a2c20 74 3c 2f 73 70 61 6e 3e 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">&
a2c40 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>.<
a2c60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
a2c80 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
a2ca0 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
a2cc0 61 73 73 3d 22 6c 69 6e 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="
a2ce0 6c 69 6e 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</
a2d00 73 70 61 6e 3e 20 74 68 65 5f 66 72 61 6d 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.the_frame:.<span.class="to
a2d20 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c k-kw">anyframe</span>.=.<span.cl
a2d40 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b ass="tok-null">undefined</span>;
a2d60 3c 2f 73 70 61 6e 3e 0a 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
a2d80 20 63 6c 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
a2da0 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 t.=.<span.class="tok-null">false
a2dc0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
a2de0 65 22 3e 3c 2f 73 70 61 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
a2e00 70 61 6e 20 63 6c 61 73 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>.<
a2e20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 73 79 6e 63 span.class="tok-str">&quot;async
a2e40 20 66 75 6e 63 74 69 6f 6e 20 73 75 73 70 65 6e 64 20 77 69 74 68 20 62 6c 6f 63 6b 26 71 75 6f .function.suspend.with.block&quo
a2e60 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="
a2e80 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b line">...._.=.<span.class="tok-k
a2ea0 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 74 65 73 74 53 75 73 70 65 6e 64 42 6c 6f 63 6b w">async</span>.testSuspendBlock
a2ec0 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">..
a2ee0 20 20 3c 73 70 61 6e 20 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
a2f00 3e 20 65 78 70 65 63 74 28 21 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 >.expect(!result);</span>.<span.
a2f20 63 6c 61 73 73 3d 22 6c 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
a2f40 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 74 68 65 5f 66 72 61 6d 65 3b 3c 2f k-kw">resume</span>.the_frame;</
a2f60 73 70 61 6e 3e 0a 3c 73 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
a2f80 61 6e 20 63 6c 61 73 73 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
a2fa0 65 63 74 28 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ect(result);</span>.<span.class=
a2fc0 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
a2fe0 65 22 3e 3c 2f 73 70 61 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
a3000 70 61 6e 20 63 6c 61 73 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
a3020 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 65 73 74 53 75 73 70 65 6e 64 42 6c 6f an.class="tok-fn">testSuspendBlo
a3040 63 6b 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 ck</span>().<span.class="tok-typ
a3060 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
a3080 61 73 73 3d 22 6c 69 6e 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-
a30a0 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 kw">suspend</span>.{</span>.<spa
a30c0 6e 20 63 6c 61 73 73 3d 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
a30e0 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
a3100 6e 20 63 6c 61 73 73 3d 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
a3120 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 ct(<span.class="tok-builtin">@Ty
a3140 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 peOf</span>(<span.class="tok-bui
a3160 6c 74 69 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 29 20 3d 3d 20 2a 3c 73 70 61 6e ltin">@frame</span>()).==.*<span
a3180 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 .class="tok-builtin">@Frame</spa
a31a0 6e 3e 28 74 65 73 74 53 75 73 70 65 6e 64 42 6c 6f 63 6b 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 n>(testSuspendBlock));</span>.<s
a31c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 74 68 65 5f 66 72 61 pan.class="line">........the_fra
a31e0 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 me.=.<span.class="tok-builtin">@
a3200 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 frame</span>();</span>.<span.cla
a3220 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
a3240 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 ss="line">....result.=.<span.cla
a3260 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ss="tok-null">true</span>;</span
a3280 3e 0a 3c 73 70 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
a32a0 6f 64 65 3e 3c 2f 70 72 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
a32c0 61 70 74 69 6f 6e 20 63 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</
a32e0 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
a3300 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 73 79 6e 63 5f 73 s="line">$.<kbd>zig.test.async_s
a3320 75 73 70 65 6e 64 5f 62 6c 6f 63 6b 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 uspend_block.zig</kbd></span>.<s
a3340 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b pan.class="line">1/1.test.&quot;
a3360 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 73 70 65 6e 64 20 77 69 74 68 20 62 6c 6f 63 async.function.suspend.with.bloc
a3380 6b 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 k&quot;....OK</span>.<span.class
a33a0 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
a33c0 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>.......
a33e0 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
a3400 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<
a3420 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 75 73 65 73 20 61 20 66 75 /span></span></code>.causes.a.fu
a3440 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nction.to.be.<code><span.class="
a3460 6c 69 6e 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
a3480 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
a34a0 3e 0a 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 52 65 73 75 6d 69 6e 67 2d 66 72 6f 6d 2d 53 >........<h4.id="Resuming-from-S
a34c0 75 73 70 65 6e 64 2d 42 6c 6f 63 6b 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 73 uspend-Blocks"><a.href="#toc-Res
a34e0 75 6d 69 6e 67 2d 66 72 6f 6d 2d 53 75 73 70 65 6e 64 2d 42 6c 6f 63 6b 73 22 3e 52 65 73 75 6d uming-from-Suspend-Blocks">Resum
a3500 69 6e 67 20 66 72 6f 6d 20 53 75 73 70 65 6e 64 20 42 6c 6f 63 6b 73 3c 2f 61 3e 20 3c 61 20 63 ing.from.Suspend.Blocks</a>.<a.c
a3520 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 73 75 6d 69 6e 67 2d 66 72 6f 6d 2d lass="hdr".href="#Resuming-from-
a3540 53 75 73 70 65 6e 64 2d 42 6c 6f 63 6b 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 Suspend-Blocks">..</a></h4>.....
a3560 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 70 6f 6e 20 65 6e 74 65 72 69 6e 67 20 61 20 3c 63 6f ...<p>.......Upon.entering.a.<co
a3580 64 65 3e 3c 73 70 61 6e 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
a35a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e s="tok-kw">suspend</span></span>
a35c0 3c 2f 63 6f 64 65 3e 20 62 6c 6f 63 6b 2c 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f </code>.block,.the.async.functio
a35e0 6e 20 69 73 20 61 6c 72 65 61 64 79 20 63 6f 6e 73 69 64 65 72 65 64 0a 20 20 20 20 20 20 73 75 n.is.already.considered.......su
a3600 73 70 65 6e 64 65 64 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 72 65 73 75 6d 65 64 2e 20 46 6f 72 spended,.and.can.be.resumed..For
a3620 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f 75 20 73 74 61 72 74 65 64 20 61 6e 6f 74 68 65 72 .example,.if.you.started.another
a3640 20 6b 65 72 6e 65 6c 20 74 68 72 65 61 64 2c 0a 20 20 20 20 20 20 61 6e 64 20 68 61 64 20 74 68 .kernel.thread,.......and.had.th
a3660 61 74 20 74 68 72 65 61 64 20 63 61 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 at.thread.call.<code><span.class
a3680 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 ="line"><span.class="tok-kw">res
a36a0 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 20 74 68 65 20 ume</span></span></code>.on.the.
a36c0 66 72 61 6d 65 20 70 6f 69 6e 74 65 72 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 0a 20 20 frame.pointer.provided.by.the...
a36e0 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 66 72 61 6d 65 22 3e 40 66 72 61 6d 65 3c 2f 61 3e 2c ....<a.href="#frame">@frame</a>,
a3700 20 74 68 65 20 6e 65 77 20 74 68 72 65 61 64 20 77 6f 75 6c 64 20 62 65 67 69 6e 20 65 78 65 63 .the.new.thread.would.begin.exec
a3720 75 74 69 6e 67 20 61 66 74 65 72 20 74 68 65 20 73 75 73 70 65 6e 64 0a 20 20 20 20 20 20 62 6c uting.after.the.suspend.......bl
a3740 6f 63 6b 2c 20 77 68 69 6c 65 20 74 68 65 20 6f 6c 64 20 74 68 72 65 61 64 20 63 6f 6e 74 69 6e ock,.while.the.old.thread.contin
a3760 75 65 64 20 65 78 65 63 75 74 69 6e 67 20 74 68 65 20 73 75 73 70 65 6e 64 20 62 6c 6f 63 6b 2e ued.executing.the.suspend.block.
a3780 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 6f 77 65 .......</p>.......<p>.......Howe
a37a0 76 65 72 2c 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 64 ver,.the.async.function.can.be.d
a37c0 69 72 65 63 74 6c 79 20 72 65 73 75 6d 65 64 20 66 72 6f 6d 20 74 68 65 20 73 75 73 70 65 6e 64 irectly.resumed.from.the.suspend
a37e0 20 62 6c 6f 63 6b 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 69 74 0a 20 20 20 20 20 20 6e .block,.in.which.case.it.......n
a3800 65 76 65 72 20 72 65 74 75 72 6e 73 20 74 6f 20 69 74 73 20 72 65 73 75 6d 65 72 20 61 6e 64 20 ever.returns.to.its.resumer.and.
a3820 63 6f 6e 74 69 6e 75 65 73 20 65 78 65 63 75 74 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a continues.executing........</p>.
a3840 20 20 20 20 20 20 3c 66 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=
a3860 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 72 65 73 "zig-cap"><cite.class="file">res
a3880 75 6d 65 5f 66 72 6f 6d 5f 73 75 73 70 65 6e 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ume_from_suspend.zig</cite></fig
a38a0 63 61 70 74 69 6f 6e 3e 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="
a38c0 6c 69 6e 65 22 3e 3c 73 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
a38e0 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
a3900 75 69 6c 74 69 6e 22 3e 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
a3920 73 73 3d 22 74 6f 6b 2d 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
a3940 61 6e 3e 29 3b 3c 2f 73 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">
a3960 3c 73 70 61 6e 20 63 6c 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
a3980 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;</
a39a0 73 70 61 6e 3e 0a 3c 73 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>
a39c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
a39e0 22 74 6f 6b 2d 6b 77 22 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
a3a00 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 65 73 75 6d 65 20 66 72 6f 6d 20 73 75 73 ="tok-str">&quot;resume.from.sus
a3a20 70 65 6e 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pend&quot;</span>.{</span>.<span
a3a40 20 63 6c 61 73 73 3d 22 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
a3a60 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6d 79 5f 72 65 73 75 6c 74 3a 20 3c 73 70 ok-kw">var</span>.my_result:.<sp
a3a80 61 6e 20 63 6c 61 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>.=
a3aa0 20 3c 73 70 61 6e 20 63 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
a3ac0 6e 3e 3b 3c 2f 73 70 61 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">..
a3ae0 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 .._.=.<span.class="tok-kw">async
a3b00 3c 2f 73 70 61 6e 3e 20 74 65 73 74 52 65 73 75 6d 65 46 72 6f 6d 53 75 73 70 65 6e 64 28 26 61 </span>.testResumeFromSuspend(&a
a3b20 6d 70 3b 6d 79 5f 72 65 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 mp;my_result);</span>.<span.clas
a3b40 73 3d 22 6c 69 6e 65 22 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
a3b60 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 28 ">try</span>.std.testing.expect(
a3b80 6d 79 5f 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 my_result.==.<span.class="tok-nu
a3ba0 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c mber">2</span>);</span>.<span.cl
a3bc0 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=
a3be0 22 6c 69 6e 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</
a3c00 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 65 73 74 52 span>.<span.class="tok-fn">testR
a3c20 65 73 75 6d 65 46 72 6f 6d 53 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 28 6d 79 5f 72 65 73 75 6c esumeFromSuspend</span>(my_resul
a3c40 74 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f t:.*<span.class="tok-type">i32</
a3c60 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f span>).<span.class="tok-type">vo
a3c80 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="
a3ca0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 line">....<span.class="tok-kw">s
a3cc0 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 uspend</span>.{</span>.<span.cla
a3ce0 73 73 3d 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
a3d00 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-kw">resume</span>.<span.class
a3d20 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>();<
a3d40 2f 73 70 61 6e 3e 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">....}<
a3d60 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6d 79 /span>.<span.class="line">....my
a3d80 5f 72 65 73 75 6c 74 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 _result.*.+=.<span.class="tok-nu
a3da0 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 mber">1</span>;</span>.<span.cla
a3dc0 73 73 3d 22 6c 69 6e 65 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
a3de0 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 w">suspend</span>.{}</span>.<spa
a3e00 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.*.+
a3e20 3d 20 3c 73 70 61 6e 20 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
a3e40 61 6e 3e 3b 3c 2f 73 70 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">}
a3e60 3c 2f 73 70 61 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
a3e80 67 75 72 65 3e 3c 66 69 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
a3ea0 70 22 3e 53 68 65 6c 6c 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>
a3ec0 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
a3ee0 73 74 20 72 65 73 75 6d 65 5f 66 72 6f 6d 5f 73 75 73 70 65 6e 64 2e 7a 69 67 3c 2f 6b 62 64 3e st.resume_from_suspend.zig</kbd>
a3f00 3c 2f 73 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
a3f20 65 73 74 20 26 71 75 6f 74 3b 72 65 73 75 6d 65 20 66 72 6f 6d 20 73 75 73 70 65 6e 64 26 71 75 est.&quot;resume.from.suspend&qu
a3f40 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
a3f60 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>.<
a3f80 2f 73 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>.
a3fa0 20 20 20 20 20 20 54 68 69 73 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 74 61 69 6c ......This.is.guaranteed.to.tail
a3fc0 20 63 61 6c 6c 2c 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 77 69 6c 6c 20 6e 6f 74 20 63 61 .call,.and.therefore.will.not.ca
a3fe0 75 73 65 20 61 20 6e 65 77 20 73 74 61 63 6b 20 66 72 61 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 use.a.new.stack.frame........</p
a4000 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 >......................<h3.id="A
a4020 73 79 6e 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 73 sync-and-Await"><a.href="#toc-As
a4040 79 6e 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e 41 73 79 6e 63 20 61 6e 64 20 41 77 61 69 74 3c 2f ync-and-Await">Async.and.Await</
a4060 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 61 a>.<a.class="hdr".href="#Async-a
a4080 6e 64 2d 41 77 61 69 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e nd-Await">..</a></h3>........<p>
a40a0 0a 20 20 20 20 20 20 49 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 20 65 76 65 72 .......In.the.same.way.that.ever
a40c0 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e y.<code><span.class="line"><span
a40e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f .class="tok-kw">suspend</span></
a4100 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 20 6d 61 74 63 68 69 6e 67 0a 20 20 20 20 span></code>.has.a.matching.....
a4120 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
a4140 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 .class="tok-kw">resume</span></s
a4160 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 76 65 72 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 pan></code>,.every.<code><span.c
a4180 6c 61 73 73 3d 22 6c 69 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"
a41a0 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 >async</span></span></code>.has.
a41c0 61 20 6d 61 74 63 68 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 a.matching.<code><span.class="li
a41e0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f ne"><span.class="tok-kw">await</
a4200 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 6e 20 73 74 61 span></span></code>.......in.sta
a4220 6e 64 61 72 64 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e ndard.code........</p>.......<p>
a4240 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 .......However,.it.is.possible.t
a4260 6f 20 68 61 76 65 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e o.have.an.<code><span.class="lin
a4280 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 e"><span.class="tok-kw">async</s
a42a0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 0a 20 20 20 20 20 20 77 69 pan></span></code>.call.......wi
a42c0 74 68 6f 75 74 20 61 20 6d 61 74 63 68 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 thout.a.matching.<code><span.cla
a42e0 73 73 3d 22 6c 69 6e 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
a4300 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 55 70 6f 6e 20 wait</span></span></code>..Upon.
a4320 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 66 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e completion.of.the.async.function
a4340 2c 0a 20 20 20 20 20 20 65 78 65 63 75 74 69 6f 6e 20 77 6f 75 6c 64 20 63 6f 6e 74 69 6e 75 65 ,.......execution.would.continue
a4360 20 61 74 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .at.the.most.recent.<code><span.
a4380 63 6c 61 73 73 3d 22 6c 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
a43a0 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c ">async</span></span></code>.cal
a43c0 6c 73 69 74 65 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 lsite.or.<code><span.class="line
a43e0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 "><span.class="tok-kw">resume</s
a4400 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 69 74 65 2c 0a 20 20 20 pan></span></code>.callsite,....
a4420 20 20 20 61 6e 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 61 ...and.the.return.value.of.the.a
a4440 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 77 6f 75 6c 64 20 62 65 20 6c 6f 73 74 2e 0a 20 20 20 sync.function.would.be.lost.....
a4460 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
a4480 6e 20 63 6c 61 73 73 3d 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
a44a0 69 6c 65 22 3e 61 73 79 6e 63 5f 61 77 61 69 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ile">async_await.zig</cite></fig
a44c0 63 61 70 74 69 6f 6e 3e 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="
a44e0 6c 69 6e 65 22 3e 3c 73 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
a4500 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
a4520 75 69 6c 74 69 6e 22 3e 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
a4540 73 73 3d 22 74 6f 6b 2d 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
a4560 61 6e 3e 29 3b 3c 2f 73 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">
a4580 3c 73 70 61 6e 20 63 6c 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
a45a0 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;</
a45c0 73 70 61 6e 3e 0a 3c 73 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>
a45e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
a4600 22 74 6f 6b 2d 6b 77 22 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
a4620 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 73 79 6e 63 20 61 6e 64 20 61 77 61 69 74 ="tok-str">&quot;async.and.await
a4640 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
a4660 73 73 3d 22 6c 69 6e 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
a4680 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 74 65 73 74 20 62 6c 6f 63 6b 20 69 73 20 6e 6f 74 omment">//.The.test.block.is.not
a46a0 20 61 73 79 6e 63 20 61 6e 64 20 73 6f 20 63 61 6e 6e 6f 74 20 68 61 76 65 20 61 20 73 75 73 70 .async.and.so.cannot.have.a.susp
a46c0 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c end</span></span>.<span.class="l
a46e0 69 6e 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
a4700 74 22 3e 2f 2f 20 70 6f 69 6e 74 20 69 6e 20 69 74 2e 20 42 79 20 75 73 69 6e 67 20 74 68 65 20 t">//.point.in.it..By.using.the.
a4720 6e 6f 73 75 73 70 65 6e 64 20 6b 65 79 77 6f 72 64 2c 20 77 65 20 70 72 6f 6d 69 73 65 20 74 68 nosuspend.keyword,.we.promise.th
a4740 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 at</span></span>.<span.class="li
a4760 6e 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
a4780 22 3e 2f 2f 20 74 68 65 20 63 6f 64 65 20 69 6e 20 61 6d 61 69 6e 20 77 69 6c 6c 20 66 69 6e 69 ">//.the.code.in.amain.will.fini
a47a0 73 68 20 65 78 65 63 75 74 69 6e 67 20 77 69 74 68 6f 75 74 20 73 75 73 70 65 6e 64 69 6e 67 3c sh.executing.without.suspending<
a47c0 2f 73 70 61 6e 3e 3c 2f 73 70 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"
a47e0 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">/
a4800 2f 20 62 61 63 6b 20 74 6f 20 74 68 65 20 74 65 73 74 20 62 6c 6f 63 6b 2e 3c 2f 73 70 61 6e 3e /.back.to.the.test.block.</span>
a4820 3c 2f 73 70 61 6e 3e 0a 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">....<
a4840 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f 73 span.class="tok-kw">nosuspend</s
a4860 70 61 6e 3e 20 61 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 pan>.amain();</span>.<span.class
a4880 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
a48a0 6e 65 22 3e 3c 2f 73 70 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"><
a48c0 73 70 61 6e 20 63 6c 61 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
a48e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 pan.class="tok-fn">amain</span>(
a4900 29 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
a4920 70 61 6e 3e 20 7b 3c 2f 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"
a4940 3e 20 20 20 20 3c 73 70 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
a4960 70 61 6e 3e 20 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 pan>.frame.=.<span.class="tok-kw
a4980 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ">async</span>.func();</span>.<s
a49a0 70 61 6e 20 63 6c 61 73 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
a49c0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 ="tok-kw">comptime</span>.<span.
a49e0 63 6c 61 73 73 3d 22 74 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
a4a00 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 (<span.class="tok-builtin">@Type
a4a20 4f 66 3c 2f 73 70 61 6e 3e 28 66 72 61 6d 65 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d Of</span>(frame).==.<span.class=
a4a40 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 "tok-builtin">@Frame</span>(func
a4a60 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"></
a4a80 73 70 61 6e 3e 0a 3c 73 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
a4aa0 61 6e 20 63 6c 61 73 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
a4ac0 74 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d tr:.<span.class="tok-kw">anyfram
a4ae0 65 3c 2f 73 70 61 6e 3e 2d 26 67 74 3b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 e</span>-&gt;<span.class="tok-ty
a4b00 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 66 72 61 6d 65 3b 3c 2f 73 pe">void</span>.=.&amp;frame;</s
a4b20 70 61 6e 3e 0a 3c 73 70 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
a4b40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6e n.class="tok-kw">const</span>.an
a4b60 79 5f 70 74 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 y_ptr:.<span.class="tok-kw">anyf
a4b80 72 61 6d 65 3c 2f 73 70 61 6e 3e 20 3d 20 70 74 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 rame</span>.=.ptr;</span>.<span.
a4ba0 63 6c 61 73 73 3d 22 6c 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
a4bc0 3d 22 6c 69 6e 65 22 3e 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"
a4be0 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 61 6e 79 5f 70 74 72 3b 3c 2f 73 70 61 6e 3e 0a 3c >resume</span>.any_ptr;</span>.<
a4c00 73 70 61 6e 20 63 6c 61 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
a4c20 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3b 3c 2f 73 70 s="tok-kw">await</span>.ptr;</sp
a4c40 61 6e 3e 0a 3c 73 70 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>.
a4c60 3c 73 70 61 6e 20 63 6c 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
a4c80 20 63 6c 61 73 73 3d 22 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
a4ca0 77 22 3e 66 6e 3c 2f 73 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
a4cc0 22 3e 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">func</span>().<span.class="tok
a4ce0 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
a4d00 6e 20 63 6c 61 73 73 3d 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="
a4d20 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e tok-kw">suspend</span>.{}</span>
a4d40 0a 3c 73 70 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
a4d60 64 65 3e 3c 2f 70 72 65 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
a4d80 70 74 69 6f 6e 20 63 6c 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
a4da0 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
a4dc0 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
a4de0 61 69 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ait.zig</kbd></span>.<span.class
a4e00 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 61 6e 64 ="line">1/1.test.&quot;async.and
a4e20 20 61 77 61 69 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .await&quot;....OK</span>.<span.
a4e40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e class="line">All.1.tests.passed.
a4e60 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>..
a4e80 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .....<p>.......The.<code><span.c
a4ea0 6c 61 73 73 3d 22 6c 69 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"
a4ec0 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 >await</span></span></code>.keyw
a4ee0 6f 72 64 20 69 73 20 75 73 65 64 20 74 6f 20 63 6f 6f 72 64 69 6e 61 74 65 20 77 69 74 68 20 61 ord.is.used.to.coordinate.with.a
a4f00 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 27 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c n.async.function's.......<code><
a4f20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
a4f40 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-kw">return</span></span></cod
a4f60 65 3e 20 73 74 61 74 65 6d 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c e>.statement........</p>.......<
a4f80 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
a4fa0 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
a4fc0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 73 75 73 70 65 6e 64 20 70 an></span></code>.is.a.suspend.p
a4fe0 6f 69 6e 74 2c 20 61 6e 64 20 74 61 6b 65 73 20 61 73 20 61 6e 20 6f 70 65 72 61 6e 64 20 61 6e oint,.and.takes.as.an.operand.an
a5000 79 74 68 69 6e 67 20 74 68 61 74 0a 20 20 20 20 20 20 63 6f 65 72 63 65 73 20 74 6f 20 3c 63 6f ything.that.......coerces.to.<co
a5020 64 65 3e 3c 73 70 61 6e 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
a5040 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 2d 26 67 74 3b 54 s="tok-kw">anyframe</span>-&gt;T
a5060 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 </span></code>..Calling.<code><s
a5080 70 61 6e 20 63 6c 61 73 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
a50a0 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-kw">await</span></span></code>
a50c0 20 6f 6e 0a 20 20 20 20 20 20 74 68 65 20 66 72 61 6d 65 20 6f 66 20 61 6e 20 61 73 79 6e 63 20 .on.......the.frame.of.an.async.
a50e0 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 63 61 75 73 65 20 65 78 65 63 75 74 69 6f 6e 20 74 6f function.will.cause.execution.to
a5100 20 63 6f 6e 74 69 6e 75 65 20 61 74 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 .continue.at.the.......<code><sp
a5120 61 6e 20 63 6c 61 73 73 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
a5140 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>.
a5160 63 61 6c 6c 73 69 74 65 20 6f 6e 63 65 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f callsite.once.the.target.functio
a5180 6e 20 63 6f 6d 70 6c 65 74 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 n.completes........</p>.......<p
a51a0 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 20 63 6f 6d 6d 6f 6e 20 6d 69 73 63 6f 6e >.......There.is.a.common.miscon
a51c0 63 65 70 74 69 6f 6e 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ception.that.<code><span.class="
a51e0 6c 69 6e 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
a5200 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 73 75 6d 65 73 20 74 68 </span></span></code>.resumes.th
a5220 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 74 e.target.function........It.is.t
a5240 68 65 20 6f 74 68 65 72 20 77 61 79 20 61 72 6f 75 6e 64 3a 20 69 74 20 73 75 73 70 65 6e 64 73 he.other.way.around:.it.suspends
a5260 20 75 6e 74 69 6c 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6d 70 6c .until.the.target.function.compl
a5280 65 74 65 73 2e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 20 65 76 65 6e 74 20 74 68 61 74 20 74 68 etes........In.the.event.that.th
a52a0 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 61 6c 72 65 61 64 79 20 63 6f e.target.function.has.already.co
a52c0 6d 70 6c 65 74 65 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 mpleted,.<code><span.class="line
a52e0 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
a5300 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 an></span></code>.......does.not
a5320 20 73 75 73 70 65 6e 64 3b 20 69 6e 73 74 65 61 64 20 69 74 20 63 6f 70 69 65 73 20 74 68 65 0a .suspend;.instead.it.copies.the.
a5340 20 20 20 20 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 64 69 72 65 63 74 6c 79 20 66 72 6f 6d ......return.value.directly.from
a5360 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 27 73 20 66 72 61 6d 65 2e 0a 20 20 .the.target.function's.frame....
a5380 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
a53a0 6f 6e 20 63 6c 61 73 73 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="
a53c0 66 69 6c 65 22 3e 61 73 79 6e 63 5f 61 77 61 69 74 5f 73 65 71 75 65 6e 63 65 2e 7a 69 67 3c 2f file">async_await_sequence.zig</
a53e0 63 69 74 65 3e 3c 2f 66 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
a5400 61 6e 20 63 6c 61 73 73 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
a5420 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
a5440 61 73 73 3d 22 74 6f 6b 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>
a5460 28 3c 73 70 61 6e 20 63 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
a5480 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
a54a0 73 73 3d 22 6c 69 6e 65 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
a54c0 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
a54e0 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
a5500 65 22 3e 3c 2f 73 70 61 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
a5520 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 74 68 pan.class="tok-kw">var</span>.th
a5540 65 5f 66 72 61 6d 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e e_frame:.<span.class="tok-kw">an
a5560 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b yframe</span>.=.<span.class="tok
a5580 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>.
a55a0 3c 73 70 61 6e 20 63 6c 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="
a55c0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 69 6e 61 6c 5f 72 65 73 75 6c 74 3a tok-kw">var</span>.final_result:
a55e0 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
a5600 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<
a5620 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
a5640 22 3e 3c 2f 73 70 61 6e 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
a5660 61 6e 20 63 6c 61 73 73 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
a5680 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 73 79 6e 63 20 pan.class="tok-str">&quot;async.
a56a0 66 75 6e 63 74 69 6f 6e 20 61 77 61 69 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 function.await&quot;</span>.{</s
a56c0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 28 pan>.<span.class="line">....seq(
a56e0 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>
a5700 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
a5720 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<
a5740 2f 73 70 61 6e 3e 20 61 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 /span>.amain();</span>.<span.cla
a5760 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
a5780 6f 6b 2d 73 74 72 22 3e 27 66 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-str">'f'</span>);</span>.<spa
a57a0 6e 20 63 6c 61 73 73 3d 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="
a57c0 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 74 68 65 5f 66 72 61 6d 65 3b tok-kw">resume</span>.the_frame;
a57e0 3c 2f 73 70 61 6e 3e 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
a5800 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 69 27 3c 2f 73 70 eq(<span.class="tok-str">'i'</sp
a5820 61 6e 3e 29 3b 3c 2f 73 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">
a5840 20 20 20 20 3c 73 70 61 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
a5860 61 6e 3e 20 65 78 70 65 63 74 28 66 69 6e 61 6c 5f 72 65 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e an>.expect(final_result.==.<span
a5880 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 .class="tok-number">1234</span>)
a58a0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
a58c0 3c 73 70 61 6e 20 63 6c 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>.
a58e0 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 expect(std.mem.eql(<span.class="
a5900 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 73 65 71 5f 70 6f tok-type">u8</span>,.&amp;seq_po
a5920 69 6e 74 73 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f ints,.<span.class="tok-str">&quo
a5940 74 3b 61 62 63 64 65 66 67 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 t;abcdefghi&quot;</span>));</spa
a5960 6e 3e 0a 3c 73 70 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>.<
a5980 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
a59a0 6f 6b 2d 6b 77 22 3e 66 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
a59c0 6b 2d 66 6e 22 3e 61 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-fn">amain</span>().<span.class
a59e0 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>
a5a00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 28 3c 73 70 61 .<span.class="line">....seq(<spa
a5a20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 62 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f n.class="tok-str">'b'</span>);</
a5a40 73 70 61 6e 3e 0a 3c 73 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
a5a60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d an.class="tok-kw">var</span>.f.=
a5a80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 .<span.class="tok-kw">async</spa
a5aa0 6e 3e 20 61 6e 6f 74 68 65 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 n>.another();</span>.<span.class
a5ac0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ="line">....seq(<span.class="tok
a5ae0 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 -str">'e'</span>);</span>.<span.
a5b00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 69 6e 61 6c 5f 72 65 73 75 6c 74 20 3d 20 class="line">....final_result.=.
a5b20 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
a5b40 3e 20 66 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 >.f;</span>.<span.class="line">.
a5b60 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 ...seq(<span.class="tok-str">'h'
a5b80 3c 2f 73 70 61 6e 3e 29 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
a5ba0 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">
a5bc0 3c 73 70 61 6e 20 63 6c 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>.<
a5be0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6e 6f 74 68 65 72 3c 2f 73 70 61 span.class="tok-fn">another</spa
a5c00 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c n>().<span.class="tok-type">i32<
a5c20 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
a5c40 65 22 3e 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 e">....seq(<span.class="tok-str"
a5c60 3e 27 63 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 >'c'</span>);</span>.<span.class
a5c80 3d 22 6c 69 6e 65 22 3e 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"
a5ca0 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 >suspend</span>.{</span>.<span.c
a5cc0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c lass="line">........seq(<span.cl
a5ce0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 64 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ass="tok-str">'d'</span>);</span
a5d00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 74 68 65 >.<span.class="line">........the
a5d20 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 _frame.=.<span.class="tok-builti
a5d40 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e n">@frame</span>();</span>.<span
a5d60 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
a5d80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 .class="line">....seq(<span.clas
a5da0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 67 27 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a s="tok-str">'g'</span>);</span>.
a5dc0 3c 73 70 61 6e 20 63 6c 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
a5de0 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.
a5e00 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>;<
a5e20 2f 73 70 61 6e 3e 0a 3c 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
a5e40 6e 3e 0a 3c 73 70 61 6e 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
a5e60 70 61 6e 20 63 6c 61 73 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
a5e80 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 65 71 5f 70 6f 69 6e 74 73 20 3d 20 5b 5f k-kw">var</span>.seq_points.=.[_
a5ea0 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
a5ec0 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 >{<span.class="tok-number">0</sp
a5ee0 61 6e 3e 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 an>}.**.<span.class="tok-str">&q
a5f00 75 6f 74 3b 61 62 63 64 65 66 67 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 6c 65 6e 3b 3c uot;abcdefghi&quot;</span>.len;<
a5f20 2f 73 70 61 6e 3e 0a 3c 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.
a5f40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 65 71 5f 69 6e class="tok-kw">var</span>.seq_in
a5f60 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
a5f80 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
a5fa0 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
a5fc0 3d 22 6c 69 6e 65 22 3e 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
a5fe0 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
a6000 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 65 71 3c 2f 73 70 61 6e >.<span.class="tok-fn">seq</span
a6020 3e 28 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f >(c:.<span.class="tok-type">u8</
a6040 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f span>).<span.class="tok-type">vo
a6060 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="
a6080 6c 69 6e 65 22 3e 20 20 20 20 73 65 71 5f 70 6f 69 6e 74 73 5b 73 65 71 5f 69 6e 64 65 78 5d 20 line">....seq_points[seq_index].
a60a0 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 =.c;</span>.<span.class="line">.
a60c0 20 20 20 73 65 71 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ...seq_index.+=.<span.class="tok
a60e0 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.
a6100 63 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
a6120 65 3e 3c 2f 66 69 67 75 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
a6140 6c 61 73 73 3d 22 73 68 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
a6160 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"
a6180 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 61 73 79 6e 63 5f 61 77 61 69 74 5f 73 65 71 >$.<kbd>zig.test.async_await_seq
a61a0 75 65 6e 63 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 uence.zig</kbd></span>.<span.cla
a61c0 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 66 ss="line">1/1.test.&quot;async.f
a61e0 75 6e 63 74 69 6f 6e 20 61 77 61 69 74 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e unction.await&quot;....OK</span>
a6200 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.
a6220 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
a6240 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 67 65 6e 65 72 61 6c gure>.......<p>.......In.general
a6260 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
a6280 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f .class="tok-kw">suspend</span></
a62a0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6c 6f 77 65 72 20 6c 65 76 65 6c 20 74 68 61 6e span></code>.is.lower.level.than
a62c0 20 3c 63 6f 64 65 3e 3c 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.
a62e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 class="tok-kw">await</span></spa
a6300 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4d 6f 73 74 20 61 70 70 6c 69 63 61 74 69 6f 6e 0a 20 20 20 20 n></code>..Most.application.....
a6320 20 20 63 6f 64 65 20 77 69 6c 6c 20 75 73 65 20 6f 6e 6c 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ..code.will.use.only.<code><span
a6340 20 63 6c 61 73 73 3d 22 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
a6360 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e w">async</span></span></code>.an
a6380 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e d.<code><span.class="line"><span
a63a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 .class="tok-kw">await</span></sp
a63c0 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 62 75 74 20 65 76 65 6e 74 20 6c 6f 6f 70 0a 20 20 20 20 20 an></code>,.but.event.loop......
a63e0 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 77 69 6c 6c 20 6d 61 6b 65 20 75 73 65 20 6f .implementations.will.make.use.o
a6400 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e f.<code><span.class="line"><span
a6420 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f .class="tok-kw">suspend</span></
a6440 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 74 65 72 6e 61 6c 6c 79 2e 0a 20 20 20 20 20 20 3c span></code>.internally........<
a6460 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 41 73 79 6e 63 2d /p>...............<h3.id="Async-
a6480 46 75 6e 63 74 69 6f 6e 2d 45 78 61 6d 70 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d Function-Example"><a.href="#toc-
a64a0 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 2d 45 78 61 6d 70 6c 65 22 3e 41 73 79 6e 63 20 46 75 Async-Function-Example">Async.Fu
a64c0 6e 63 74 69 6f 6e 20 45 78 61 6d 70 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 nction.Example</a>.<a.class="hdr
a64e0 22 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 2d 45 78 61 6d 70 6c 65 22 ".href="#Async-Function-Example"
a6500 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 75 >..</a></h3>........<p>.......Pu
a6520 74 74 69 6e 67 20 61 6c 6c 20 6f 66 20 74 68 69 73 20 74 6f 67 65 74 68 65 72 2c 20 68 65 72 65 tting.all.of.this.together,.here
a6540 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 74 79 70 69 63 61 6c 0a 20 20 20 20 20 20 .is.an.example.of.typical.......
a6560 3c 63 6f 64 65 3e 3c 73 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
a6580 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e lass="tok-kw">async</span></span
a65a0 3e 3c 2f 63 6f 64 65 3e 2f 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ></code>/<code><span.class="line
a65c0 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
a65e0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 75 73 61 67 65 3a 0a 20 20 20 20 20 20 3c an></span></code>.usage:.......<
a6600 2f 70 3e 0a 20 20 20 20 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
a6620 61 73 73 3d 22 7a 69 67 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"
a6640 3e 61 73 79 6e 63 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 >async.zig</cite></figcaption><p
a6660 72 65 3e 3c 63 6f 64 65 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
a6680 6e 20 63 6c 61 73 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
a66a0 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
a66c0 6d 70 6f 72 74 3c 2f 73 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
a66e0 72 22 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
a6700 6e 3e 0a 3c 73 70 61 6e 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
a6720 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 6f s="tok-kw">const</span>.Allocato
a6740 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 r.=.std.mem.Allocator;</span>.<s
a6760 70 61 6e 20 63 6c 61 73 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
a6780 6c 61 73 73 3d 22 6c 69 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"
a67a0 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"
a67c0 3e 66 6e 3c 2f 73 70 61 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">
a67e0 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
a6800 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.
a6820 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 class="line">...._.=.<span.class
a6840 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 61 6d 61 69 6e 57 72 61 70 ="tok-kw">async</span>.amainWrap
a6860 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"></
a6880 73 70 61 6e 3e 0a 3c 73 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
a68a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 79 70 69 63 61 an.class="tok-comment">//.Typica
a68c0 6c 6c 79 20 77 65 20 77 6f 75 6c 64 20 75 73 65 20 61 6e 20 65 76 65 6e 74 20 6c 6f 6f 70 20 74 lly.we.would.use.an.event.loop.t
a68e0 6f 20 6d 61 6e 61 67 65 20 72 65 73 75 6d 69 6e 67 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e o.manage.resuming.async.function
a6900 73 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s,</span></span>.<span.class="li
a6920 6e 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
a6940 22 3e 2f 2f 20 62 75 74 20 69 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 77 65 20 68 61 72 64 ">//.but.in.this.example.we.hard
a6960 20 63 6f 64 65 20 77 68 61 74 20 74 68 65 20 65 76 65 6e 74 20 6c 6f 6f 70 20 77 6f 75 6c 64 20 .code.what.the.event.loop.would.
a6980 64 6f 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c do,</span></span>.<span.class="l
a69a0 69 6e 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
a69c0 74 22 3e 2f 2f 20 74 6f 20 6d 61 6b 65 20 74 68 69 6e 67 73 20 64 65 74 65 72 6d 69 6e 69 73 74 t">//.to.make.things.determinist
a69e0 69 63 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ic.</span></span>.<span.class="l
a6a00 69 6e 65 22 3e 20 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
a6a20 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 67 6c 6f 62 61 6c 5f 66 69 6c 65 5f 66 72 61 6d 65 3b 3c 2f sume</span>.global_file_frame;</
a6a40 73 70 61 6e 3e 0a 3c 73 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
a6a60 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>.
a6a80 67 6c 6f 62 61 6c 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 global_download_frame;</span>.<s
a6aa0 70 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.
a6ac0 63 6c 61 73 73 3d 22 6c 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
a6ae0 3d 22 6c 69 6e 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<
a6b00 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 /span>.<span.class="tok-fn">amai
a6b20 6e 57 72 61 70 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d nWrap</span>().<span.class="tok-
a6b40 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
a6b60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 6d 61 69 6e 28 29 20 3c 73 70 61 6e 20 .class="line">....amain().<span.
a6b80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7c 65 7c 20 class="tok-kw">catch</span>.|e|.
a6ba0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
a6bc0 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=
a6be0 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
a6c00 3e 2c 20 2e 7b 65 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >,..{e});</span>.<span.class="li
a6c20 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"
a6c40 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 >if</span>.(<span.class="tok-bui
a6c60 6c 74 69 6e 22 3e 40 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 73 70 61 6e 3e 28 29 ltin">@errorReturnTrace</span>()
a6c80 29 20 7c 74 72 61 63 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ).|trace|.{</span>.<span.class="
a6ca0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 64 75 6d 70 line">............std.debug.dump
a6cc0 53 74 61 63 6b 54 72 61 63 65 28 74 72 61 63 65 2e 2a 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 StackTrace(trace.*);</span>.<spa
a6ce0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a n.class="line">........}</span>.
a6d00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 74 64 2e 70 <span.class="line">........std.p
a6d20 72 6f 63 65 73 73 2e 65 78 69 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d rocess.exit(<span.class="tok-num
a6d40 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">1</span>);</span>.<span.cla
a6d60 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
a6d80 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=
a6da0 22 6c 69 6e 65 22 3e 3c 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
a6dc0 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>
a6de0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e 3c 2f 73 70 61 .<span.class="tok-fn">amain</spa
a6e00 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
a6e20 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
a6e40 69 6e 65 22 3e 20 20 20 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
a6e60 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 68 65 61 70 2e nst</span>.allocator.=.std.heap.
a6e80 70 61 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 page_allocator;</span>.<span.cla
a6ea0 73 73 3d 22 6c 69 6e 65 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
a6ec0 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c w">var</span>.download_frame.=.<
a6ee0 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>
a6f00 20 66 65 74 63 68 55 72 6c 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 .fetchUrl(allocator,.<span.class
a6f20 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 74 74 70 73 3a 2f 2f 65 78 61 6d 70 6c 65 ="tok-str">&quot;https://example
a6f40 2e 63 6f 6d 2f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .com/&quot;</span>);</span>.<spa
a6f60 6e 20 63 6c 61 73 73 3d 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="
a6f80 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 77 61 69 74 65 64 5f 64 6f 77 6e 6c tok-kw">var</span>.awaited_downl
a6fa0 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c oad_frame.=.<span.class="tok-nul
a6fc0 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c l">false</span>;</span>.<span.cl
a6fe0 61 73 73 3d 22 6c 69 6e 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-
a7000 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">errdefer</span>.<span.class=
a7020 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 61 77 61 69 74 65 64 5f 64 6f 77 "tok-kw">if</span>.(!awaited_dow
a7040 6e 6c 6f 61 64 5f 66 72 61 6d 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 nload_frame).{</span>.<span.clas
a7060 73 3d 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
a7080 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
a70a0 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d k-kw">await</span>.download_fram
a70c0 65 29 20 7c 72 7c 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 29 20 3c 73 70 61 6e 20 63 e).|r|.allocator.free(r).<span.c
a70e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d lass="tok-kw">else</span>.|_|.{}
a7100 3c 2f 73 70 61 6e 3e 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">....}
a7120 3b 3c 2f 73 70 61 6e 3e 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
a7140 61 6e 3e 0a 3c 73 70 61 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
a7160 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f .class="tok-kw">var</span>.file_
a7180 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 frame.=.<span.class="tok-kw">asy
a71a0 6e 63 3c 2f 73 70 61 6e 3e 20 72 65 61 64 46 69 6c 65 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 nc</span>.readFile(allocator,.<s
a71c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 6f 6d 65 74 68 pan.class="tok-str">&quot;someth
a71e0 69 6e 67 2e 74 78 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ing.txt&quot;</span>);</span>.<s
a7200 70 61 6e 20 63 6c 61 73 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
a7220 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 77 61 69 74 65 64 5f 66 69 6c ="tok-kw">var</span>.awaited_fil
a7240 65 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 e_frame.=.<span.class="tok-null"
a7260 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >false</span>;</span>.<span.clas
a7280 73 3d 22 6c 69 6e 65 22 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
a72a0 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">errdefer</span>.<span.class="t
a72c0 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 61 77 61 69 74 65 64 5f 66 69 6c 65 5f ok-kw">if</span>.(!awaited_file_
a72e0 66 72 61 6d 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e frame).{</span>.<span.class="lin
a7300 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">
a7320 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e if</span>.(<span.class="tok-kw">
a7340 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 6d 65 29 20 7c 72 7c 20 61 6c 6c await</span>.file_frame).|r|.all
a7360 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ocator.free(r).<span.class="tok-
a7380 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 kw">else</span>.|_|.{}</span>.<s
a73a0 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>.<
a73c0 73 70 61 6e 20 63 6c 61 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.
a73e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 77 61 69 74 65 64 5f 66 69 6c 65 5f 66 72 class="line">....awaited_file_fr
a7400 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 ame.=.<span.class="tok-null">tru
a7420 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
a7440 6e 65 22 3e 20 20 20 20 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
a7460 73 74 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 74 65 78 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 st</span>.file_text.=.<span.clas
a7480 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 s="tok-kw">try</span>.<span.clas
a74a0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 s="tok-kw">await</span>.file_fra
a74c0 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 me;</span>.<span.class="line">..
a74e0 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 ..<span.class="tok-kw">defer</sp
a7500 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 66 69 6c 65 5f 74 65 78 74 29 3b 3c 2f an>.allocator.free(file_text);</
a7520 73 70 61 6e 3e 0a 3c 73 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>
a7540 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 77 61 69 74 65 64 5f .<span.class="line">....awaited_
a7560 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f download_frame.=.<span.class="to
a7580 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-null">true</span>;</span>.<spa
a75a0 6e 20 63 6c 61 73 73 3d 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="
a75c0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 74 65 tok-kw">const</span>.download_te
a75e0 78 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 xt.=.<span.class="tok-kw">try</s
a7600 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c pan>.<span.class="tok-kw">await<
a7620 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 /span>.download_frame;</span>.<s
a7640 70 61 6e 20 63 6c 61 73 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
a7660 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 ="tok-kw">defer</span>.allocator
a7680 2e 66 72 65 65 28 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .free(download_text);</span>.<sp
a76a0 61 6e 20 63 6c 61 73 73 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
a76c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c ass="line">....std.debug.print(<
a76e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 77 6e 6c span.class="tok-str">&quot;downl
a7700 6f 61 64 5f 74 65 78 74 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b oad_text:.{s}\n&quot;</span>,..{
a7720 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c download_text});</span>.<span.cl
a7740 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c ass="line">....std.debug.print(<
a7760 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 6c 65 5f span.class="tok-str">&quot;file_
a7780 74 65 78 74 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 69 6c 65 text:.{s}\n&quot;</span>,..{file
a77a0 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
a77c0 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"><
a77e0 2f 73 70 61 6e 3e 0a 3c 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.
a7800 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 6c 6f 62 61 6c class="tok-kw">var</span>.global
a7820 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f _download_frame:.<span.class="to
a7840 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c k-kw">anyframe</span>.=.<span.cl
a7860 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b ass="tok-null">undefined</span>;
a7880 3c 2f 73 70 61 6e 3e 0a 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
a78a0 20 63 6c 61 73 73 3d 22 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.
a78c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 65 74 63 68 55 72 6c 3c 2f 73 70 61 6e 3e 28 61 class="tok-fn">fetchUrl</span>(a
a78e0 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 75 72 6c 3a 20 5b 5d 3c 73 70 61 llocator:.Allocator,.url:.[]<spa
a7900 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 n.class="tok-kw">const</span>.<s
a7920 70 61 6e 20 63 6c 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>).
a7940 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 ![]<span.class="tok-type">u8</sp
a7960 61 6e 3e 20 7b 3c 2f 73 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">
a7980 20 20 20 20 5f 20 3d 20 75 72 6c 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f ...._.=.url;.<span.class="tok-co
a79a0 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 69 73 20 6a 75 73 74 20 61 6e 20 65 78 61 6d 70 6c mment">//.this.is.just.an.exampl
a79c0 65 2c 20 77 65 20 64 6f 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 64 6f 20 69 74 21 3c 2f 73 70 61 e,.we.don't.actually.do.it!</spa
a79e0 6e 3e 3c 2f 73 70 61 6e 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">...
a7a00 20 3c 73 70 61 6e 20 63 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
a7a20 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"
a7a40 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 75 70 65 28 3c 73 70 61 6e >try</span>.allocator.dupe(<span
a7a60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 .class="tok-type">u8</span>,.<sp
a7a80 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 an.class="tok-str">&quot;this.is
a7aa0 20 74 68 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 75 72 6c 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f .the.downloaded.url.contents&quo
a7ac0 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="
a7ae0 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 line">....<span.class="tok-kw">e
a7b00 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 65 rrdefer</span>.allocator.free(re
a7b20 73 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 sult);</span>.<span.class="line"
a7b40 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e >....<span.class="tok-kw">suspen
a7b60 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
a7b80 69 6e 65 22 3e 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 ine">........global_download_fra
a7ba0 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 me.=.<span.class="tok-builtin">@
a7bc0 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 frame</span>();</span>.<span.cla
a7be0 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
a7c00 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
a7c20 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 65 74 63 68 55 pan.class="tok-str">&quot;fetchU
a7c40 72 6c 20 72 65 74 75 72 6e 69 6e 67 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d rl.returning\n&quot;</span>,..{}
a7c60 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
a7c80 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
a7ca0 61 6e 3e 20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 an>.result;</span>.<span.class="
a7cc0 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
a7ce0 22 3e 3c 2f 73 70 61 6e 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
a7d00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 6c 6f an.class="tok-kw">var</span>.glo
a7d20 62 61 6c 5f 66 69 6c 65 5f 66 72 61 6d 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b bal_file_frame:.<span.class="tok
a7d40 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
a7d60 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>;<
a7d80 2f 73 70 61 6e 3e 0a 3c 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.
a7da0 63 6c 61 73 73 3d 22 74 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
a7dc0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 65 61 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 28 61 6c lass="tok-fn">readFile</span>(al
a7de0 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 66 69 6c 65 6e 61 6d 65 3a 20 5b 5d locator:.Allocator,.filename:.[]
a7e00 3c 73 70 61 6e 20 63 6c 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
a7e20 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
a7e40 6e 3e 29 20 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 n>).![]<span.class="tok-type">u8
a7e60 3c 2f 73 70 61 6e 3e 20 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
a7e80 6e 65 22 3e 20 20 20 20 5f 20 3d 20 66 69 6c 65 6e 61 6d 65 3b 20 3c 73 70 61 6e 20 63 6c 61 73 ne">...._.=.filename;.<span.clas
a7ea0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 69 73 20 6a 75 73 74 20 s="tok-comment">//.this.is.just.
a7ec0 61 6e 20 65 78 61 6d 70 6c 65 2c 20 77 65 20 64 6f 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 64 6f an.example,.we.don't.actually.do
a7ee0 20 69 74 21 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .it!</span></span>.<span.class="
a7f00 6c 69 6e 65 22 3e 20 20 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
a7f20 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
a7f40 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 ="tok-kw">try</span>.allocator.d
a7f60 75 70 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 upe(<span.class="tok-type">u8</s
a7f80 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
a7fa0 74 3b 74 68 69 73 20 69 73 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f 74 t;this.is.the.file.contents&quot
a7fc0 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
a7fe0 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 ine">....<span.class="tok-kw">er
a8000 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 65 73 rdefer</span>.allocator.free(res
a8020 75 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ult);</span>.<span.class="line">
a8040 20 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
a8060 3c 2f 73 70 61 6e 3e 20 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
a8080 6e 65 22 3e 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 5f 66 69 6c 65 5f 66 72 61 6d 65 20 3d 20 ne">........global_file_frame.=.
a80a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 <span.class="tok-builtin">@frame
a80c0 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c </span>();</span>.<span.class="l
a80e0 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
a8100 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 ine">....std.debug.print(<span.c
a8120 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 65 61 64 46 69 6c 65 20 72 65 lass="tok-str">&quot;readFile.re
a8140 74 75 72 6e 69 6e 67 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 turning\n&quot;</span>,..{});</s
a8160 70 61 6e 3e 0a 3c 73 70 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
a8180 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
a81a0 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"
a81c0 3e 7d 3c 2f 73 70 61 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><
a81e0 66 69 67 75 72 65 3e 3c 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-
a8200 63 61 70 22 3e 53 68 65 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
a8220 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.
a8240 62 75 69 6c 64 2d 65 78 65 20 61 73 79 6e 63 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e build-exe.async.zig</kbd></span>
a8260 0a 3c 73 70 61 6e 20 63 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
a8280 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 61 73 79 6e 63 3c 2f 6b n.class="line">$.<kbd>./async</k
a82a0 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 bd></span>.<span.class="line">re
a82c0 61 64 46 69 6c 65 20 72 65 74 75 72 6e 69 6e 67 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c adFile.returning</span>.<span.cl
a82e0 61 73 73 3d 22 6c 69 6e 65 22 3e 66 65 74 63 68 55 72 6c 20 72 65 74 75 72 6e 69 6e 67 3c 2f 73 ass="line">fetchUrl.returning</s
a8300 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 77 6e 6c 6f 61 64 pan>.<span.class="line">download
a8320 5f 74 65 78 74 3a 20 74 68 69 73 20 69 73 20 74 68 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 75 72 _text:.this.is.the.downloaded.ur
a8340 6c 20 63 6f 6e 74 65 6e 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c l.contents</span>.<span.class="l
a8360 69 6e 65 22 3e 66 69 6c 65 5f 74 65 78 74 3a 20 74 68 69 73 20 69 73 20 74 68 65 20 66 69 6c 65 ine">file_text:.this.is.the.file
a8380 20 63 6f 6e 74 65 6e 74 73 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f .contents</span>.</samp></pre></
a83a0 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 77 20 77 65 20 72 figure>.......<p>.......Now.we.r
a83c0 65 6d 6f 76 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e emove.the.<code><span.class="lin
a83e0 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<
a8400 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c /span></span></code>.and.<code><
a8420 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
a8440 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-kw">resume</span></span></cod
a8460 65 3e 20 63 6f 64 65 2c 20 61 6e 64 0a 20 20 20 20 20 20 6f 62 73 65 72 76 65 20 74 68 65 20 73 e>.code,.and.......observe.the.s
a8480 61 6d 65 20 62 65 68 61 76 69 6f 72 2c 20 77 69 74 68 20 6f 6e 65 20 74 69 6e 79 20 64 69 66 66 ame.behavior,.with.one.tiny.diff
a84a0 65 72 65 6e 63 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 erence:.......</p>.......<figure
a84c0 3e 3c 66 69 67 63 61 70 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
a84e0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 6c 6f 63 6b 69 6e 67 2e 7a 69 67 3c 2f 63 69 te.class="file">blocking.zig</ci
a8500 74 65 3e 3c 2f 66 69 67 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
a8520 20 63 6c 61 73 73 3d 22 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
a8540 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
a8560 73 3d 22 74 6f 6b 2d 62 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>(<
a8580 73 70 61 6e 20 63 6c 61 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
a85a0 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
a85c0 3d 22 6c 69 6e 65 22 3e 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
a85e0 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c st</span>.Allocator.=.std.mem.Al
a8600 6c 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e locator;</span>.<span.class="lin
a8620 65 22 3e 3c 2f 73 70 61 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
a8640 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
a8660 70 61 6e 20 63 6c 61 73 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
a8680 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>().
a86a0 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
a86c0 6e 3e 20 7b 3c 2f 73 70 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">.
a86e0 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e ..._.=.<span.class="tok-kw">asyn
a8700 63 3c 2f 73 70 61 6e 3e 20 61 6d 61 69 6e 57 72 61 70 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 c</span>.amainWrap();</span>.<sp
a8720 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
a8740 6c 61 73 73 3d 22 6c 69 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=
a8760 22 6c 69 6e 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</
a8780 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e span>.<span.class="tok-fn">amain
a87a0 57 72 61 70 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 Wrap</span>().<span.class="tok-t
a87c0 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.
a87e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 6d 61 69 6e 28 29 20 3c 73 70 61 6e 20 63 class="line">....amain().<span.c
a8800 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7c 65 7c 20 7b lass="tok-kw">catch</span>.|e|.{
a8820 3c 2f 73 70 61 6e 3e 0a 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">.....
a8840 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ...std.debug.print(<span.class="
a8860 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e tok-str">&quot;{}\n&quot;</span>
a8880 2c 20 2e 7b 65 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ,..{e});</span>.<span.class="lin
a88a0 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">
a88c0 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c if</span>.(<span.class="tok-buil
a88e0 74 69 6e 22 3e 40 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 73 70 61 6e 3e 28 29 29 tin">@errorReturnTrace</span>())
a8900 20 7c 74 72 61 63 65 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .|trace|.{</span>.<span.class="l
a8920 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 64 75 6d 70 53 ine">............std.debug.dumpS
a8940 74 61 63 6b 54 72 61 63 65 28 74 72 61 63 65 2e 2a 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e tackTrace(trace.*);</span>.<span
a8960 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c .class="line">........}</span>.<
a8980 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 73 74 64 2e 70 72 span.class="line">........std.pr
a89a0 6f 63 65 73 73 2e 65 78 69 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ocess.exit(<span.class="tok-numb
a89c0 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
a89e0 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
a8a00 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="
a8a20 6c 69 6e 65 22 3e 3c 2f 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"
a8a40 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>.
a8a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e 3c 2f 73 70 61 6e <span.class="tok-fn">amain</span
a8a80 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 >().!<span.class="tok-type">void
a8aa0 3c 2f 73 70 61 6e 3e 20 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
a8ac0 6e 65 22 3e 20 20 20 20 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
a8ae0 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 68 65 61 70 2e 70 st</span>.allocator.=.std.heap.p
a8b00 61 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 age_allocator;</span>.<span.clas
a8b20 73 3d 22 6c 69 6e 65 22 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
a8b40 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c 73 ">var</span>.download_frame.=.<s
a8b60 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 pan.class="tok-kw">async</span>.
a8b80 66 65 74 63 68 55 72 6c 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d fetchUrl(allocator,.<span.class=
a8ba0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 74 74 70 73 3a 2f 2f 65 78 61 6d 70 6c 65 2e "tok-str">&quot;https://example.
a8bc0 63 6f 6d 2f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e com/&quot;</span>);</span>.<span
a8be0 20 63 6c 61 73 73 3d 22 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
a8c00 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 77 61 69 74 65 64 5f 64 6f 77 6e 6c 6f ok-kw">var</span>.awaited_downlo
a8c20 61 64 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c ad_frame.=.<span.class="tok-null
a8c40 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ">false</span>;</span>.<span.cla
a8c60 73 73 3d 22 6c 69 6e 65 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
a8c80 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 w">errdefer</span>.<span.class="
a8ca0 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 61 77 61 69 74 65 64 5f 64 6f 77 6e tok-kw">if</span>.(!awaited_down
a8cc0 6c 6f 61 64 5f 66 72 61 6d 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 load_frame).{</span>.<span.class
a8ce0 3d 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
a8d00 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b -kw">if</span>.(<span.class="tok
a8d20 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 -kw">await</span>.download_frame
a8d40 29 20 7c 72 7c 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 29 20 3c 73 70 61 6e 20 63 6c ).|r|.allocator.free(r).<span.cl
a8d60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d 3c ass="tok-kw">else</span>.|_|.{}<
a8d80 2f 73 70 61 6e 3e 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">....};
a8da0 3c 2f 73 70 61 6e 3e 0a 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
a8dc0 6e 3e 0a 3c 73 70 61 6e 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.
a8de0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 class="tok-kw">var</span>.file_f
a8e00 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e rame.=.<span.class="tok-kw">asyn
a8e20 63 3c 2f 73 70 61 6e 3e 20 72 65 61 64 46 69 6c 65 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 c</span>.readFile(allocator,.<sp
a8e40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 6f 6d 65 74 68 69 an.class="tok-str">&quot;somethi
a8e60 6e 67 2e 74 78 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ng.txt&quot;</span>);</span>.<sp
a8e80 61 6e 20 63 6c 61 73 73 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=
a8ea0 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 77 61 69 74 65 64 5f 66 69 6c 65 "tok-kw">var</span>.awaited_file
a8ec0 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">
a8ee0 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 false</span>;</span>.<span.class
a8f00 3d 22 6c 69 6e 65 22 3e 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"
a8f20 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >errdefer</span>.<span.class="to
a8f40 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 61 77 61 69 74 65 64 5f 66 69 6c 65 5f 66 k-kw">if</span>.(!awaited_file_f
a8f60 72 61 6d 65 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 rame).{</span>.<span.class="line
a8f80 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 ">........<span.class="tok-kw">i
a8fa0 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 f</span>.(<span.class="tok-kw">a
a8fc0 77 61 69 74 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 6d 65 29 20 7c 72 7c 20 61 6c 6c 6f wait</span>.file_frame).|r|.allo
a8fe0 63 61 74 6f 72 2e 66 72 65 65 28 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b cator.free(r).<span.class="tok-k
a9000 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 w">else</span>.|_|.{}</span>.<sp
a9020 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 an.class="line">....};</span>.<s
a9040 70 61 6e 20 63 6c 61 73 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
a9060 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 77 61 69 74 65 64 5f 66 69 6c 65 5f 66 72 61 lass="line">....awaited_file_fra
a9080 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 me.=.<span.class="tok-null">true
a90a0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
a90c0 65 22 3e 20 20 20 20 3c 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
a90e0 74 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 74 65 78 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 t</span>.file_text.=.<span.class
a9100 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
a9120 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 6d ="tok-kw">await</span>.file_fram
a9140 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">...
a9160 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 .<span.class="tok-kw">defer</spa
a9180 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 66 69 6c 65 5f 74 65 78 74 29 3b 3c 2f 73 n>.allocator.free(file_text);</s
a91a0 70 61 6e 3e 0a 3c 73 70 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>.
a91c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 77 61 69 74 65 64 5f 64 <span.class="line">....awaited_d
a91e0 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ownload_frame.=.<span.class="tok
a9200 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -null">true</span>;</span>.<span
a9220 20 63 6c 61 73 73 3d 22 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
a9240 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 ok-kw">const</span>.download_tex
a9260 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 t.=.<span.class="tok-kw">try</sp
a9280 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f an>.<span.class="tok-kw">await</
a92a0 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 span>.download_frame;</span>.<sp
a92c0 61 6e 20 63 6c 61 73 73 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=
a92e0 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e "tok-kw">defer</span>.allocator.
a9300 66 72 65 65 28 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 free(download_text);</span>.<spa
a9320 6e 20 63 6c 61 73 73 3d 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
a9340 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
a9360 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 77 6e 6c 6f pan.class="tok-str">&quot;downlo
a9380 61 64 5f 74 65 78 74 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 64 ad_text:.{s}\n&quot;</span>,..{d
a93a0 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ownload_text});</span>.<span.cla
a93c0 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
a93e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 6c 65 5f 74 pan.class="tok-str">&quot;file_t
a9400 65 78 74 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 69 6c 65 5f ext:.{s}\n&quot;</span>,..{file_
a9420 74 65 78 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 text});</span>.<span.class="line
a9440 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"></
a9460 73 70 61 6e 3e 0a 3c 73 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
a9480 6c 61 73 73 3d 22 74 6f 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
a94a0 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 65 74 63 68 55 72 6c 3c 2f 73 70 61 6e 3e 28 61 6c 6c ass="tok-fn">fetchUrl</span>(all
a94c0 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 75 72 6c 3a 20 5b 5d 3c 73 70 61 6e 20 ocator:.Allocator,.url:.[]<span.
a94e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 class="tok-kw">const</span>.<spa
a9500 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b n.class="tok-type">u8</span>).![
a9520 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
a9540 3e 20 7b 3c 2f 73 70 61 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">..
a9560 20 20 5f 20 3d 20 75 72 6c 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d .._.=.url;.<span.class="tok-comm
a9580 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 69 73 20 6a 75 73 74 20 61 6e 20 65 78 61 6d 70 6c 65 2c ent">//.this.is.just.an.example,
a95a0 20 77 65 20 64 6f 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 64 6f 20 69 74 21 3c 2f 73 70 61 6e 3e .we.don't.actually.do.it!</span>
a95c0 3c 2f 73 70 61 6e 3e 0a 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">....<
a95e0 73 70 61 6e 20 63 6c 61 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>
a9600 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 .result.=.<span.class="tok-kw">t
a9620 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 75 70 65 28 3c 73 70 61 6e 20 63 ry</span>.allocator.dupe(<span.c
a9640 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e lass="tok-type">u8</span>,.<span
a9660 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 74 .class="tok-str">&quot;this.is.t
a9680 68 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 75 72 6c 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f 74 3b he.downloaded.url.contents&quot;
a96a0 3c 2f 73 70 61 6e 3e 29 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
a96c0 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 ne">....<span.class="tok-kw">err
a96e0 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 65 73 75 defer</span>.allocator.free(resu
a9700 6c 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 lt);</span>.<span.class="line">.
a9720 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ...std.debug.print(<span.class="
a9740 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 65 74 63 68 55 72 6c 20 72 65 74 75 72 6e 69 6e tok-str">&quot;fetchUrl.returnin
a9760 67 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c g\n&quot;</span>,..{});</span>.<
a9780 73 70 61 6e 20 63 6c 61 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
a97a0 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;
a97c0 3c 2f 73 70 61 6e 3e 0a 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
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 66 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
a9840 6b 2d 66 6e 22 3e 72 65 61 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a k-fn">readFile</span>(allocator:
a9860 20 41 6c 6c 6f 63 61 74 6f 72 2c 20 66 69 6c 65 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c .Allocator,.filename:.[]<span.cl
a9880 61 73 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.
a98a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 3c class="tok-type">u8</span>).![]<
a98c0 73 70 61 6e 20 63 6c 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>.
a98e0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
a9900 5f 20 3d 20 66 69 6c 65 6e 61 6d 65 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 _.=.filename;.<span.class="tok-c
a9920 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 69 73 20 6a 75 73 74 20 61 6e 20 65 78 61 6d 70 omment">//.this.is.just.an.examp
a9940 6c 65 2c 20 77 65 20 64 6f 6e 27 74 20 61 63 74 75 61 6c 6c 79 20 64 6f 20 69 74 21 3c 2f 73 70 le,.we.don't.actually.do.it!</sp
a9960 61 6e 3e 3c 2f 73 70 61 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">..
a9980 20 20 3c 73 70 61 6e 20 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
a99a0 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
a99c0 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 64 75 70 65 28 3c 73 70 61 ">try</span>.allocator.dupe(<spa
a99e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 n.class="tok-type">u8</span>,.<s
a9a00 70 61 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
a9a20 73 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e s.the.file.contents&quot;</span>
a9a40 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
a9a60 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</
a9a80 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
a9aa0 70 61 6e 3e 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.
a9ac0 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
a9ae0 22 3e 26 71 75 6f 74 3b 72 65 61 64 46 69 6c 65 20 72 65 74 75 72 6e 69 6e 67 5c 6e 26 71 75 6f ">&quot;readFile.returning\n&quo
a9b00 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
a9b20 61 73 73 3d 22 6c 69 6e 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-
a9b40 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>
a9b60 0a 3c 73 70 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
a9b80 64 65 3e 3c 2f 70 72 65 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
a9ba0 70 74 69 6f 6e 20 63 6c 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
a9bc0 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
a9be0 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 62 6c 6f ="line">$.<kbd>zig.build-exe.blo
a9c00 63 6b 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 cking.zig</kbd></span>.<span.cla
a9c20 73 73 3d 22 6c 69 6e 65 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
a9c40 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 62 6c 6f 63 6b 69 6e 67 3c 2f 6b 62 64 3e 3c 2f 73 70 ine">$.<kbd>./blocking</kbd></sp
a9c60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 65 74 63 68 55 72 6c 20 an>.<span.class="line">fetchUrl.
a9c80 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
a9ca0 6e 65 22 3e 72 65 61 64 46 69 6c 65 20 72 65 74 75 72 6e 69 6e 67 3c 2f 73 70 61 6e 3e 0a 3c 73 ne">readFile.returning</span>.<s
a9cc0 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:.
a9ce0 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
a9d00 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
a9d20 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
a9d40 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>
a9d60 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 65 76 69 6f 75 73 6c 79 2c 20 74 68 65 .......<p>.......Previously,.the
a9d80 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 65 74 63 68 55 .<code><span.class="line">fetchU
a9da0 72 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e rl</span></code>.and.<code><span
a9dc0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 61 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 .class="line">readFile</span></c
a9de0 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 73 20 73 75 73 70 65 6e 64 65 64 2c 0a 20 20 20 20 20 20 ode>.functions.suspended,.......
a9e00 61 6e 64 20 77 65 72 65 20 72 65 73 75 6d 65 64 20 69 6e 20 61 6e 20 6f 72 64 65 72 20 64 65 74 and.were.resumed.in.an.order.det
a9e20 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ermined.by.the.<code><span.class
a9e40 3d 22 6c 69 6e 65 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 ="line">main</span></code>.funct
a9e60 69 6f 6e 2e 20 4e 6f 77 2c 0a 20 20 20 20 20 20 73 69 6e 63 65 20 74 68 65 72 65 20 61 72 65 20 ion..Now,.......since.there.are.
a9e80 6e 6f 20 73 75 73 70 65 6e 64 20 70 6f 69 6e 74 73 2c 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 no.suspend.points,.the.order.of.
a9ea0 74 68 65 20 70 72 69 6e 74 65 64 20 22 2e 2e 2e 20 72 65 74 75 72 6e 69 6e 67 22 20 6d 65 73 73 the.printed."....returning".mess
a9ec0 61 67 65 73 0a 20 20 20 20 20 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 ages.......is.determined.by.the.
a9ee0 6f 72 64 65 72 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 order.of.<code><span.class="line
a9f00 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 "><span.class="tok-kw">async</sp
a9f20 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 69 74 65 73 2e 0a 20 20 20 an></span></code>.callsites.....
a9f40 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 3c ...</p>........................<
a9f60 68 32 20 69 64 3d 22 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 h2.id="Builtin-Functions"><a.hre
a9f80 66 3d 22 23 74 6f 63 2d 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 f="#toc-Builtin-Functions">Built
a9fa0 69 6e 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 in.Functions</a>.<a.class="hdr".
a9fc0 68 72 65 66 3d 22 23 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e href="#Builtin-Functions">..</a>
a9fe0 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 75 69 6c 74 69 6e 20 66 </h2>........<p>.......Builtin.f
aa000 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 63 6f 6d unctions.are.provided.by.the.com
aa020 70 69 6c 65 72 20 61 6e 64 20 61 72 65 20 70 72 65 66 69 78 65 64 20 77 69 74 68 20 3c 63 6f 64 piler.and.are.prefixed.with.<cod
aa040 65 3e 40 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 e>@</code>........The.<code><spa
aa060 6e 20 63 6c 61 73 73 3d 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-
aa080 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 kw">comptime</span></span></code
aa0a0 3e 20 6b 65 79 77 6f 72 64 20 6f 6e 20 61 20 70 61 72 61 6d 65 74 65 72 20 6d 65 61 6e 73 20 74 >.keyword.on.a.parameter.means.t
aa0c0 68 61 74 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 6d 75 73 74 20 62 65 20 6b 6e 6f 77 6e 0a hat.the.parameter.must.be.known.
aa0e0 20 20 20 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 ......at.compile.time........</p
aa100 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 >.......<h3.id="addWithOverflow"
aa120 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e ><a.href="#toc-addWithOverflow">
aa140 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 @addWithOverflow</a>.<a.class="h
aa160 64 72 22 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f dr".href="#addWithOverflow">..</
aa180 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.
aa1a0 63 6c 61 73 73 3d 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
aa1c0 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 3c iltin">@addWithOverflow</span>(<
aa1e0 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
aa200 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
aa220 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:.*
aa240 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</
aa260 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>.......
aa280 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
aa2a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 2e 2a 20 3d 20 61 20 2b 20 62 3c 2f 73 70 lass="line">result.*.=.a.+.b</sp
aa2c0 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
aa2e0 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
aa300 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
aa320 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
aa340 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
aa360 3d 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
aa380 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>........
aa3a0 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
aa3c0 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
aa3e0 70 61 6e 20 63 6c 61 73 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
aa400 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
aa420 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 e>........</p>..............<h3.
aa440 69 64 3d 22 61 6c 69 67 6e 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 6c 69 id="alignCast"><a.href="#toc-ali
aa460 67 6e 43 61 73 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d gnCast">@alignCast</a>.<a.class=
aa480 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f "hdr".href="#alignCast">..</a></
aa4a0 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
aa4c0 73 3d 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
aa4e0 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 n">@alignCast</span>(<span.class
aa500 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 6e 6d ="tok-kw">comptime</span>.alignm
aa520 65 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 39 3c ent:.<span.class="tok-type">u29<
aa540 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 /span>,.ptr:.<span.class="tok-kw
aa560 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">anytype</span>).<span.class="t
aa580 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
aa5a0 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e de></pre>.......<p>.......<code>
aa5c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 <span.class="line">ptr</span></c
aa5e0 6f 64 65 3e 20 63 61 6e 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ode>.can.be.<code><span.class="l
aa600 69 6e 65 22 3e 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 ine">*T</span></code>,.<code><sp
aa620 61 6e 20 63 6c 61 73 73 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
aa640 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 -kw">fn</span>()</span></code>,.
aa660 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3f 2a 54 3c 2f 73 70 <code><span.class="line">?*T</sp
aa680 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 an></code>,.....................
aa6a0 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3f 3c 73 70 61 ..<code><span.class="line">?<spa
aa6c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 29 3c 2f 73 70 n.class="tok-kw">fn</span>()</sp
aa6e0 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 an></code>,.or.<code><span.class
aa700 3d 22 6c 69 6e 65 22 3e 5b 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 49 74 20 72 65 ="line">[]T</span></code>..It.re
aa720 74 75 72 6e 73 20 74 68 65 20 73 61 6d 65 20 74 79 70 65 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 turns.the.same.type.as.<code><sp
aa740 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 an.class="line">ptr</span></code
aa760 3e 0a 20 20 20 20 20 20 65 78 63 65 70 74 20 77 69 74 68 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e >.......except.with.the.alignmen
aa780 74 20 61 64 6a 75 73 74 65 64 20 74 6f 20 74 68 65 20 6e 65 77 20 76 61 6c 75 65 2e 0a 20 20 20 t.adjusted.to.the.new.value.....
aa7a0 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 63 ...</p>.......<p>A.<a.href="#Inc
aa7c0 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 70 6f 69 6e 74 65 orrect-Pointer-Alignment">pointe
aa7e0 72 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 66 65 74 79 20 63 68 65 63 6b 3c 2f 61 3e 20 69 73 20 r.alignment.safety.check</a>.is.
aa800 61 64 64 65 64 0a 20 20 20 20 20 20 74 6f 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 added.......to.the.generated.cod
aa820 65 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 65 20 70 6f 69 6e 74 65 72 20 69 73 20 61 6c e.to.make.sure.the.pointer.is.al
aa840 69 67 6e 65 64 20 61 73 20 70 72 6f 6d 69 73 65 64 2e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 0a 20 igned.as.promised.</p>..........
aa860 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 6c 69 67 6e 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 .....<h3.id="alignOf"><a.href="#
aa880 74 6f 63 2d 61 6c 69 67 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 toc-alignOf">@alignOf</a>.<a.cla
aa8a0 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 4f 66 22 3e c2 a7 3c 2f 61 3e 3c ss="hdr".href="#alignOf">..</a><
aa8c0 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
aa8e0 73 73 3d 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
aa900 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d in">@alignOf</span>(<span.class=
aa920 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 "tok-kw">comptime</span>.T:.<spa
aa940 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 n.class="tok-type">type</span>).
aa960 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_
aa980 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 int</span></span></code></pre>..
aa9a0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 .....<p>.......This.function.ret
aa9c0 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 68 61 74 20 74 68 urns.the.number.of.bytes.that.th
aa9e0 69 73 20 74 79 70 65 20 73 68 6f 75 6c 64 20 62 65 20 61 6c 69 67 6e 65 64 20 74 6f 0a 20 20 20 is.type.should.be.aligned.to....
aaa00 20 20 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 61 72 67 65 74 20 74 6f 20 6d 61 74 ...for.the.current.target.to.mat
aaa20 63 68 20 74 68 65 20 43 20 41 42 49 2e 20 57 68 65 6e 20 74 68 65 20 63 68 69 6c 64 20 74 79 70 ch.the.C.ABI..When.the.child.typ
aaa40 65 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 68 61 73 0a 20 20 20 20 20 20 74 68 69 73 20 61 6c e.of.a.pointer.has.......this.al
aaa60 69 67 6e 6d 65 6e 74 2c 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 63 61 6e 20 62 65 20 6f 6d ignment,.the.alignment.can.be.om
aaa80 69 74 74 65 64 20 66 72 6f 6d 20 74 68 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a itted.from.the.type........</p>.
aaaa0 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
aaac0 6e 65 22 3e 3c 73 70 61 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</
aaae0 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-
aab00 62 75 69 6c 74 69 6e 22 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
aab20 61 73 73 3d 22 74 6f 6b 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
aab40 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e pan>).debug.assert;</span>.<span
aab60 20 63 6c 61 73 73 3d 22 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
aab80 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
aaba0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 2a 3c 73 70 61 6e n.class="line">....assert(*<span
aabc0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 .class="tok-type">u32</span>.==.
aabe0 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 *<span.class="tok-kw">align</spa
aac00 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c n>(<span.class="tok-builtin">@al
aac20 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ignOf</span>(<span.class="tok-ty
aac40 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f pe">u32</span>)).<span.class="to
aac60 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-type">u32</span>);</span>.<spa
aac80 6e 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></
aaca0 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 pre>.......<p>.......The.result.
aacc0 69 73 20 61 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c 65 20 74 69 6d is.a.target-specific.compile.tim
aace0 65 20 63 6f 6e 73 74 61 6e 74 2e 20 49 74 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 e.constant..It.is.guaranteed.to.
aad00 62 65 0a 20 20 20 20 20 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 3c be.......less.than.or.equal.to.<
aad20 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 28 54 29 3c 2f 61 3e 2e a.href="#sizeOf">@sizeOf(T)</a>.
aad40 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f .......</p>.......<p>See.also:</
aad60 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 6c 69 67 6e 6d 65 6e 74 22 3e p><ul>.<li><a.href="#Alignment">
aad80 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 Alignment</a></li>.</ul>........
aada0 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ........<h3.id="as"><a.href="#to
aadc0 63 2d 61 73 22 3e 40 61 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 c-as">@as</a>.<a.class="hdr".hre
aade0 66 3d 22 23 61 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e f="#as">..</a></h3>........<pre>
aae00 3c 63 6f 64 65 3e 3c 73 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
aae20 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 lass="tok-builtin">@as</span>(<s
aae40 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
aae60 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
aae80 65 3c 2f 73 70 61 6e 3e 2c 20 65 78 70 72 65 73 73 69 6f 6e 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f e</span>,.expression).T</span></
aaea0 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 code></pre>.......<p>.......Perf
aaec0 6f 72 6d 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 orms.<a.href="#Type-Coercion">Ty
aaee0 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 2e 20 54 68 69 73 20 63 61 73 74 20 69 73 20 61 6c pe.Coercion</a>..This.cast.is.al
aaf00 6c 6f 77 65 64 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 69 73 20 75 6e 61 lowed.when.the.conversion.is.una
aaf20 6d 62 69 67 75 6f 75 73 20 61 6e 64 20 73 61 66 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 69 73 20 mbiguous.and.safe,.......and.is.
aaf40 74 68 65 20 70 72 65 66 65 72 72 65 64 20 77 61 79 20 74 6f 20 63 6f 6e 76 65 72 74 20 62 65 74 the.preferred.way.to.convert.bet
aaf60 77 65 65 6e 20 74 79 70 65 73 2c 20 77 68 65 6e 65 76 65 72 20 70 6f 73 73 69 62 6c 65 2e 0a 20 ween.types,.whenever.possible...
aaf80 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 .....</p>...............<h3.id="
aafa0 61 73 79 6e 63 43 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 73 79 6e 63 43 61 asyncCall"><a.href="#toc-asyncCa
aafc0 6c 6c 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 ll">@asyncCall</a>.<a.class="hdr
aafe0 22 20 68 72 65 66 3d 22 23 61 73 79 6e 63 43 61 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a ".href="#asyncCall">..</a></h3>.
ab000 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
ab020 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">@
ab040 61 73 79 6e 63 43 61 6c 6c 3c 2f 73 70 61 6e 3e 28 66 72 61 6d 65 5f 62 75 66 66 65 72 3a 20 5b asyncCall</span>(frame_buffer:.[
ab060 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 ]<span.class="tok-kw">align</spa
ab080 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c n>(<span.class="tok-builtin">@al
ab0a0 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 ignOf</span>(<span.class="tok-bu
ab0c0 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 61 6e 79 41 73 79 6e 63 46 75 6e iltin">@Frame</span>(anyAsyncFun
ab0e0 63 74 69 6f 6e 29 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e ction))).<span.class="tok-type">
ab100 75 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 5f 70 74 72 2c 20 66 75 6e 63 74 69 6f 6e 5f u8</span>,.result_ptr,.function_
ab120 70 74 72 2c 20 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ptr,.args:.<span.class="tok-kw">
ab140 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
ab160 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 2d 26 67 74 3b 54 3c 2f 73 70 61 6e -kw">anyframe</span>-&gt;T</span
ab180 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c ></code></pre>.......<p>.......<
ab1a0 63 6f 64 65 3e 3c 73 70 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
ab1c0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 73 70 ass="tok-builtin">@asyncCall</sp
ab1e0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 65 72 66 6f 72 6d 73 20 61 6e 20 3c 63 an></span></code>.performs.an.<c
ab200 6f 64 65 3e 3c 73 70 61 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
ab220 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ss="tok-kw">async</span></span><
ab240 2f 63 6f 64 65 3e 20 63 61 6c 6c 20 6f 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 65 /code>.call.on.a.function.pointe
ab260 72 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 62 65 r,.......which.may.or.may.not.be
ab280 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 61 .an.<a.href="#Async-Functions">a
ab2a0 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 sync.function</a>........</p>...
ab2c0 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 70 72 6f 76 69 64 65 64 20 3c 63 6f 64 65 ....<p>.......The.provided.<code
ab2e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 72 61 6d 65 5f 62 75 66 66 65 72 ><span.class="line">frame_buffer
ab300 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 6c 61 72 67 65 20 65 6e 6f </span></code>.must.be.large.eno
ab320 75 67 68 20 74 6f 20 66 69 74 20 74 68 65 20 65 6e 74 69 72 65 20 66 75 6e 63 74 69 6f 6e 20 66 ugh.to.fit.the.entire.function.f
ab340 72 61 6d 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 73 69 7a 65 20 63 61 6e 20 62 65 20 64 65 74 rame........This.size.can.be.det
ab360 65 72 6d 69 6e 65 64 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 66 72 61 6d 65 53 69 7a 65 ermined.with.<a.href="#frameSize
ab380 22 3e 40 66 72 61 6d 65 53 69 7a 65 3c 2f 61 3e 2e 20 54 6f 20 70 72 6f 76 69 64 65 20 61 20 74 ">@frameSize</a>..To.provide.a.t
ab3a0 6f 6f 2d 73 6d 61 6c 6c 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 69 6e 76 6f 6b 65 73 20 73 61 oo-small.buffer.......invokes.sa
ab3c0 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 fety-checked.<a.href="#Undefined
ab3e0 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 -Behavior">Undefined.Behavior</a
ab400 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 >........</p>.......<p>.......<c
ab420 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 5f 70 74 ode><span.class="line">result_pt
ab440 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6f 70 74 69 6f 6e 61 6c 20 28 3c 61 20 r</span></code>.is.optional.(<a.
ab460 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 6d 61 79 20 62 65 20 70 72 6f href="#null">null</a>.may.be.pro
ab480 76 69 64 65 64 29 2e 20 49 66 20 70 72 6f 76 69 64 65 64 2c 0a 20 20 20 20 20 20 74 68 65 20 66 vided)..If.provided,.......the.f
ab4a0 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 77 69 6c 6c 20 77 72 69 74 65 20 69 74 73 20 72 65 73 75 unction.call.will.write.its.resu
ab4c0 6c 74 20 64 69 72 65 63 74 6c 79 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 70 6f 69 6e 74 65 lt.directly.to.the.result.pointe
ab4e0 72 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 0a 20 20 r,.which.will.be.available.to...
ab500 20 20 20 20 72 65 61 64 20 61 66 74 65 72 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 61 ....read.after.<a.href="#Async-a
ab520 6e 64 2d 41 77 61 69 74 22 3e 61 77 61 69 74 3c 2f 61 3e 20 63 6f 6d 70 6c 65 74 65 73 2e 20 41 nd-Await">await</a>.completes..A
ab540 6e 79 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 20 74 6f 0a 20 ny.result.location.provided.to..
ab560 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
ab580 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c pan.class="tok-kw">await</span><
ab5a0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 63 6f 70 79 20 74 68 65 20 72 65 73 75 /span></code>.will.copy.the.resu
ab5c0 6c 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 lt.from.<code><span.class="line"
ab5e0 3e 72 65 73 75 6c 74 5f 70 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 >result_ptr</span></code>.......
ab600 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.
ab620 63 6c 61 73 73 3d 22 7a 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
ab640 65 22 3e 61 73 79 6e 63 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 5f 66 6e 5f 70 6f 69 6e 74 65 72 e">async_struct_field_fn_pointer
ab660 2e 7a 69 67 3c 2f 63 69 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
ab680 64 65 3e 3c 73 70 61 6e 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
ab6a0 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
ab6c0 70 61 6e 20 63 6c 61 73 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<
ab6e0 2f 73 70 61 6e 3e 28 3c 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
ab700 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
ab720 61 6e 20 63 6c 61 73 73 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
ab740 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
ab760 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
ab780 73 3d 22 6c 69 6e 65 22 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
ab7a0 6e 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
ab7c0 70 61 6e 3e 20 3c 73 70 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
ab7e0 3b 61 73 79 6e 63 20 66 6e 20 70 6f 69 6e 74 65 72 20 69 6e 20 61 20 73 74 72 75 63 74 20 66 69 ;async.fn.pointer.in.a.struct.fi
ab800 65 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 eld&quot;</span>.{</span>.<span.
ab820 63 6c 61 73 73 3d 22 6c 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
ab840 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 61 74 61 3a 20 3c 73 70 61 6e 20 63 6c 61 k-kw">var</span>.data:.<span.cla
ab860 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
ab880 20 63 6c 61 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
ab8a0 70 61 6e 3e 0a 3c 73 70 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
ab8c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f n.class="tok-kw">const</span>.Fo
ab8e0 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c o.=.<span.class="tok-kw">struct<
ab900 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
ab920 65 22 3e 20 20 20 20 20 20 20 20 62 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">........bar:.<span.class="tok
ab940 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f -kw">fn</span>.(*<span.class="to
ab960 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">i32</span>).<span.class=
ab980 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 41 73 79 6e 63 29 "tok-kw">callconv</span>(.Async)
ab9a0 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
ab9c0 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">.
ab9e0 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">
aba00 20 20 20 20 3c 73 70 61 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
aba20 61 6e 3e 20 66 6f 6f 20 3d 20 46 6f 6f 7b 20 2e 62 61 72 20 3d 20 66 75 6e 63 20 7d 3b 3c 2f 73 an>.foo.=.Foo{..bar.=.func.};</s
aba40 70 61 6e 3e 0a 3c 73 70 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
aba60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 n.class="tok-kw">var</span>.byte
aba80 73 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 34 3c s:.[<span.class="tok-number">64<
abaa0 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 /span>]<span.class="tok-type">u8
abac0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 </span>.<span.class="tok-kw">ali
abae0 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 gn</span>(<span.class="tok-built
abb00 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d in">@alignOf</span>(<span.class=
abb20 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 "tok-builtin">@Frame</span>(func
abb40 29 29 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 ))).=.<span.class="tok-null">und
abb60 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 efined</span>;</span>.<span.clas
abb80 73 3d 22 6c 69 6e 65 22 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
abba0 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">const</span>.f.=.<span.class="
abbc0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 73 70 61 6e 3e 28 26 tok-builtin">@asyncCall</span>(&
abbe0 61 6d 70 3b 62 79 74 65 73 2c 20 7b 7d 2c 20 66 6f 6f 2e 62 61 72 2c 20 2e 7b 26 61 6d 70 3b 64 amp;bytes,.{},.foo.bar,..{&amp;d
abc00 61 74 61 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ata});</span>.<span.class="line"
abc20 3e 20 20 20 20 3c 73 70 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
abc40 70 61 6e 3e 20 65 78 70 65 63 74 28 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>.expect(data.==.<span.class=
abc60 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>.<
abc80 73 70 61 6e 20 63 6c 61 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
abca0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 66 3b 3c 2f 73 70 61 s="tok-kw">resume</span>.f;</spa
abcc0 6e 3e 0a 3c 73 70 61 6e 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.
abce0 63 6c 61 73 73 3d 22 74 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
abd00 28 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 (data.==.<span.class="tok-number
abd20 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">4</span>);</span>.<span.class=
abd40 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
abd60 65 22 3e 3c 2f 73 70 61 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
abd80 70 61 6e 20 63 6c 61 73 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
abda0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 79 3a an.class="tok-fn">func</span>(y:
abdc0 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 .*<span.class="tok-type">i32</sp
abde0 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 an>).<span.class="tok-type">void
abe00 3c 2f 73 70 61 6e 3e 20 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
abe20 6e 65 22 3e 20 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
abe40 65 72 3c 2f 73 70 61 6e 3e 20 79 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f er</span>.y.*.+=.<span.class="to
abe60 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-number">2</span>;</span>.<span
abe80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 79 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 .class="line">....y.*.+=.<span.c
abea0 6c 61 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
abec0 6e 3e 0a 3c 73 70 61 6e 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.
abee0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 7d class="tok-kw">suspend</span>.{}
abf00 3c 2f 73 70 61 6e 3e 0a 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
abf20 61 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
abf40 3e 3c 66 69 67 63 61 70 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
abf60 68 65 6c 6c 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
abf80 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
abfa0 73 79 6e 63 5f 73 74 72 75 63 74 5f 66 69 65 6c 64 5f 66 6e 5f 70 6f 69 6e 74 65 72 2e 7a 69 67 sync_struct_field_fn_pointer.zig
abfc0 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"
abfe0 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 66 6e 20 70 6f 69 6e 74 65 72 >1/1.test.&quot;async.fn.pointer
ac000 20 69 6e 20 61 20 73 74 72 75 63 74 20 66 69 65 6c 64 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f .in.a.struct.field&quot;....OK</
ac020 73 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
ac040 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
ac060 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d ></figure>...............<h3.id=
ac080 22 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 74 6f 6d 69 "atomicLoad"><a.href="#toc-atomi
ac0a0 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d cLoad">@atomicLoad</a>.<a.class=
ac0c0 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e c2 a7 3c 2f 61 3e 3c "hdr".href="#atomicLoad">..</a><
ac0e0 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
ac100 73 73 3d 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
ac120 69 6e 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 in">@atomicLoad</span>(<span.cla
ac140 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:.<
ac160 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
ac180 3e 2c 20 70 74 72 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f >,.ptr:.*<span.class="tok-kw">co
ac1a0 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b nst</span>.T,.<span.class="tok-k
ac1c0 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 69 6e 67 3a 20 62 75 69 w">comptime</span>.ordering:.bui
ac1e0 6c 74 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ltin.AtomicOrder).T</span></code
ac200 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 ></pre>.......<p>.......This.bui
ac220 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 64 65 72 65 66 65 72 ltin.function.atomically.derefer
ac240 65 6e 63 65 73 20 61 20 70 6f 69 6e 74 65 72 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 ences.a.pointer.and.returns.the.
ac260 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>.....
ac280 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 ..<code><span.class="line">T</sp
ac2a0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 6e 74 65 72 2c 20 61 20 an></code>.must.be.a.pointer,.a.
ac2c0 3c 63 6f 64 65 3e 3c 73 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
ac2e0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 lass="tok-type">bool</span></spa
ac300 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 n></code>,.a.float,.......an.int
ac320 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 eger.or.an.enum........</p>.....
ac340 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
ac360 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</
ac380 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 a></li>.<li><a.href="#atomicRmw"
ac3a0 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 >@atomicRmw</a></li>.<li><a.href
ac3c0 3d 22 23 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 ="#fence">@fence</a></li>.<li><a
ac3e0 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 .href="#cmpxchgWeak">@cmpxchgWea
ac400 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 k</a></li>.<li><a.href="#cmpxchg
ac420 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a Strong">@cmpxchgStrong</a></li>.
ac440 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 74 6f </ul>................<h3.id="ato
ac460 6d 69 63 52 6d 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 74 6f 6d 69 63 52 6d 77 22 micRmw"><a.href="#toc-atomicRmw"
ac480 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 >@atomicRmw</a>.<a.class="hdr".h
ac4a0 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 ref="#atomicRmw">..</a></h3>....
ac4c0 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
ac4e0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 74 6f "><span.class="tok-builtin">@ato
ac500 6d 69 63 52 6d 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b micRmw</span>(<span.class="tok-k
ac520 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
ac540 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a s="tok-type">type</span>,.ptr:.*
ac560 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 T,.<span.class="tok-kw">comptime
ac580 3c 2f 73 70 61 6e 3e 20 6f 70 3a 20 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 52 6d 77 4f 70 2c </span>.op:.builtin.AtomicRmwOp,
ac5a0 20 6f 70 65 72 61 6e 64 3a 20 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 .operand:.T,.<span.class="tok-kw
ac5c0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 69 6e 67 3a 20 62 75 69 6c ">comptime</span>.ordering:.buil
ac5e0 74 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e tin.AtomicOrder).T</span></code>
ac600 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 6c </pre>.......<p>.......This.buil
ac620 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 6d 6f 64 69 66 69 65 73 tin.function.atomically.modifies
ac640 20 6d 65 6d 6f 72 79 20 61 6e 64 20 74 68 65 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 65 .memory.and.then.returns.the.pre
ac660 76 69 6f 75 73 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 vious.value........</p>.......<p
ac680 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"
ac6a0 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 6e 74 >T</span></code>.must.be.a.point
ac6c0 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c er,.a.<code><span.class="line"><
ac6e0 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
ac700 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 ></span></code>,.a.float,.......
ac720 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 an.integer.or.an.enum........</p
ac740 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 65 64 20 6f 70 65 72 >.......<p>.......Supported.oper
ac760 61 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 ations:.......</p>.......<ul>...
ac780 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
ac7a0 65 22 3e 2e 58 63 68 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 73 74 6f 72 65 73 20 e">.Xchg</span></code>.-.stores.
ac7c0 74 68 65 20 6f 70 65 72 61 6e 64 20 75 6e 6d 6f 64 69 66 69 65 64 2e 20 53 75 70 70 6f 72 74 73 the.operand.unmodified..Supports
ac7e0 20 65 6e 75 6d 73 2c 20 69 6e 74 65 67 65 72 73 20 61 6e 64 20 66 6c 6f 61 74 73 2e 3c 2f 6c 69 .enums,.integers.and.floats.</li
ac800 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=
ac820 22 6c 69 6e 65 22 3e 2e 41 64 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 66 6f 72 20 "line">.Add</span></code>.-.for.
ac840 69 6e 74 65 67 65 72 73 2c 20 74 77 6f 73 20 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 61 72 integers,.twos.complement.wrapar
ac860 6f 75 6e 64 20 61 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 73 6f 20 ound.addition..............Also.
ac880 73 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 supports.<a.href="#Floats">Float
ac8a0 73 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 s</a>.</li>.........<li><code><s
ac8c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 53 75 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f pan.class="line">.Sub</span></co
ac8e0 64 65 3e 20 2d 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2c 20 74 77 6f 73 20 63 6f 6d 70 6c 65 6d de>.-.for.integers,.twos.complem
ac900 65 6e 74 20 77 72 61 70 61 72 6f 75 6e 64 20 73 75 62 74 72 61 63 74 69 6f 6e 2e 0a 20 20 20 20 ent.wraparound.subtraction......
ac920 20 20 20 20 20 20 20 20 41 6c 73 6f 20 73 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 ........Also.supports.<a.href="#
ac940 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 Floats">Floats</a>.</li>........
ac960 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 41 .<li><code><span.class="line">.A
ac980 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 74 77 69 73 65 20 61 6e 64 3c 2f nd</span></code>.-.bitwise.and</
ac9a0 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 li>.........<li><code><span.clas
ac9c0 73 3d 22 6c 69 6e 65 22 3e 2e 4e 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 s="line">.Nand</span></code>.-.b
ac9e0 69 74 77 69 73 65 20 6e 61 6e 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f itwise.nand</li>.........<li><co
aca00 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4f 72 3c 2f 73 70 61 6e 3e de><span.class="line">.Or</span>
aca20 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 74 77 69 73 65 20 6f 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 </code>.-.bitwise.or</li>.......
aca40 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e ..<li><code><span.class="line">.
aca60 58 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 74 77 69 73 65 20 78 6f 72 3c Xor</span></code>.-.bitwise.xor<
aca80 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 /li>.........<li><code><span.cla
acaa0 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 61 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 73 ss="line">.Max</span></code>.-.s
acac0 74 6f 72 65 73 20 74 68 65 20 6f 70 65 72 61 6e 64 20 69 66 20 69 74 20 69 73 20 6c 61 72 67 65 tores.the.operand.if.it.is.large
acae0 72 2e 20 53 75 70 70 6f 72 74 73 20 69 6e 74 65 67 65 72 73 20 61 6e 64 20 66 6c 6f 61 74 73 2e r..Supports.integers.and.floats.
acb00 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c </li>.........<li><code><span.cl
acb20 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 ass="line">.Min</span></code>.-.
acb40 73 74 6f 72 65 73 20 74 68 65 20 6f 70 65 72 61 6e 64 20 69 66 20 69 74 20 69 73 20 73 6d 61 6c stores.the.operand.if.it.is.smal
acb60 6c 65 72 2e 20 53 75 70 70 6f 72 74 73 20 69 6e 74 65 67 65 72 73 20 61 6e 64 20 66 6c 6f 61 74 ler..Supports.integers.and.float
acb80 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 s.</li>.......</ul>.......<p>See
acba0 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f .also:</p><ul>.<li><a.href="#ato
acbc0 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a micStore">@atomicStore</a></li>.
acbe0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 <li><a.href="#atomicLoad">@atomi
acc00 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 6e cLoad</a></li>.<li><a.href="#fen
acc20 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=
acc40 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><
acc60 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 /li>.<li><a.href="#cmpxchgStrong
acc80 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a ">@cmpxchgStrong</a></li>.</ul>.
acca0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 61 74 6f 6d 69 63 53 74 6f ...............<h3.id="atomicSto
accc0 72 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 re"><a.href="#toc-atomicStore">@
acce0 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 atomicStore</a>.<a.class="hdr".h
acd00 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ref="#atomicStore">..</a></h3>..
acd20 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
acd40 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
acd60 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 tomicStore</span>(<span.class="t
acd80 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.
acda0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 class="tok-type">type</span>,.pt
acdc0 72 3a 20 2a 54 2c 20 76 61 6c 75 65 3a 20 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f r:.*T,.value:.T,.<span.class="to
acde0 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 69 6e 67 3a 20 k-kw">comptime</span>.ordering:.
ace00 62 75 69 6c 74 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 builtin.AtomicOrder).<span.class
ace20 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></
ace40 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
ace60 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 73 74 6f .builtin.function.atomically.sto
ace80 72 65 73 20 61 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 res.a.value........</p>.......<p
acea0 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"
acec0 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 6e 74 >T</span></code>.must.be.a.point
acee0 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c er,.a.<code><span.class="line"><
acf00 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
acf20 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 ></span></code>,.a.float,.......
acf40 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 an.integer.or.an.enum........</p
acf60 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
acf80 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f ><a.href="#atomicLoad">@atomicLo
acfa0 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 ad</a></li>.<li><a.href="#atomic
acfc0 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 Rmw">@atomicRmw</a></li>.<li><a.
acfe0 68 72 65 66 3d 22 23 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c href="#fence">@fence</a></li>.<l
ad000 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 i><a.href="#cmpxchgWeak">@cmpxch
ad020 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 gWeak</a></li>.<li><a.href="#cmp
ad040 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 3c 2f xchgStrong">@cmpxchgStrong</a></
ad060 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=
ad080 22 62 69 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 74 43 61 73 74 22 "bitCast"><a.href="#toc-bitCast"
ad0a0 3e 40 62 69 74 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 >@bitCast</a>.<a.class="hdr".hre
ad0c0 66 3d 22 23 62 69 74 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 f="#bitCast">..</a></h3>........
ad0e0 3c 70 72 65 3e 3c 63 6f 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
ad100 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 43 61 73 74 pan.class="tok-builtin">@bitCast
ad120 3c 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
ad140 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 ptime</span>.DestType:.<span.cla
ad160 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 ss="tok-type">type</span>,.value
ad180 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</
ad1a0 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 span>).DestType</span></code></p
ad1c0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 20 76 re>.......<p>.......Converts.a.v
ad1e0 61 6c 75 65 20 6f 66 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 20 74 79 70 65 alue.of.one.type.to.another.type
ad200 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 73 73 ........</p>.......<p>.......Ass
ad220 65 72 74 73 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e erts.that.<code><span.class="lin
ad240 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 e"><span.class="tok-builtin">@si
ad260 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 zeOf</span>(<span.class="tok-bui
ad280 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 29 20 3d 3d 20 ltin">@TypeOf</span>(value)).==.
ad2a0 3c 73 70 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
ad2c0 66 3c 2f 73 70 61 6e 3e 28 44 65 73 74 54 79 70 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e f</span>(DestType)</span></code>
ad2e0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 73 73 ........</p>.......<p>.......Ass
ad300 65 72 74 73 20 74 68 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e erts.that.<code><span.class="lin
ad320 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 e"><span.class="tok-builtin">@ty
ad340 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 44 65 73 74 54 79 70 65 29 20 21 3d 20 2e 50 6f 69 6e peInfo</span>(DestType).!=..Poin
ad360 74 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 55 73 65 20 3c 63 6f 64 65 3e 3c 73 70 ter</span></code>..Use.<code><sp
ad380 61 6e 20 63 6c 61 73 73 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
ad3a0 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e -builtin">@ptrCast</span></span>
ad3c0 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 </code>.or.<code><span.class="li
ad3e0 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
ad400 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 ntToPtr</span></span></code>.if.
ad420 79 6f 75 20 6e 65 65 64 20 74 68 69 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 you.need.this........</p>.......
ad440 3c 70 3e 0a 20 20 20 20 20 20 43 61 6e 20 62 65 20 75 73 65 64 20 66 6f 72 20 74 68 65 73 65 20 <p>.......Can.be.used.for.these.
ad460 74 68 69 6e 67 73 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 things.for.example:.......</p>..
ad480 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6e 76 65 72 74 20 .....<ul>...........<li>Convert.
ad4a0 3c 63 6f 64 65 3e 3c 73 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
ad4c0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e lass="tok-type">f32</span></span
ad4e0 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ></code>.to.<code><span.class="l
ad500 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c ine"><span.class="tok-type">u32<
ad520 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 69 74 73 3c 2f 6c 69 3e 0a 20 /span></span></code>.bits</li>..
ad540 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6e 76 65 72 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e .........<li>Convert.<code><span
ad560 20 63 6c 61 73 73 3d 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
ad580 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f ype">i32</span></span></code>.to
ad5a0 20 3c 63 6f 64 65 3e 3c 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.
ad5c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 class="tok-type">u32</span></spa
ad5e0 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 65 73 65 72 76 69 6e 67 20 74 77 6f 73 20 63 6f 6d 70 6c 65 n></code>.preserving.twos.comple
ad600 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a ment</li>.......</ul>.......<p>.
ad620 20 20 20 20 20 20 57 6f 72 6b 73 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 69 66 20 3c ......Works.at.compile-time.if.<
ad640 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3c 2f 73 code><span.class="line">value</s
ad660 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 20 pan></code>.is.known.at.compile.
ad680 74 69 6d 65 2e 20 49 74 27 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 74 6f 20 62 69 time..It's.a.compile.error.to.bi
ad6a0 74 63 61 73 74 20 61 20 73 74 72 75 63 74 20 74 6f 20 61 20 73 63 61 6c 61 72 20 74 79 70 65 20 tcast.a.struct.to.a.scalar.type.
ad6c0 6f 66 20 74 68 65 20 73 61 6d 65 20 73 69 7a 65 20 73 69 6e 63 65 20 73 74 72 75 63 74 73 20 68 of.the.same.size.since.structs.h
ad6e0 61 76 65 20 75 6e 64 65 66 69 6e 65 64 20 6c 61 79 6f 75 74 2e 20 48 6f 77 65 76 65 72 20 69 66 ave.undefined.layout..However.if
ad700 20 74 68 65 20 73 74 72 75 63 74 20 69 73 20 70 61 63 6b 65 64 20 74 68 65 6e 20 69 74 20 77 6f .the.struct.is.packed.then.it.wo
ad720 72 6b 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 rks........</p>...............<h
ad740 33 20 69 64 3d 22 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 3.id="bitOffsetOf"><a.href="#toc
ad760 2d 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 20 3c -bitOffsetOf">@bitOffsetOf</a>.<
ad780 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 69 74 4f 66 66 73 65 74 4f 66 a.class="hdr".href="#bitOffsetOf
ad7a0 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>
ad7c0 3c 73 70 61 6e 20 63 6c 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="
ad7e0 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e tok-builtin">@bitOffsetOf</span>
ad800 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</
ad820 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">
ad840 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
ad860 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d ">comptime</span>.field_name:.[]
ad880 3c 73 70 61 6e 20 63 6c 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
ad8a0 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
ad8c0 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 n>).<span.class="tok-type">compt
ad8e0 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ime_int</span></span></code></pr
ad900 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 62 e>.......<p>.......Returns.the.b
ad920 69 74 20 6f 66 66 73 65 74 20 6f 66 20 61 20 66 69 65 6c 64 20 72 65 6c 61 74 69 76 65 20 74 6f it.offset.of.a.field.relative.to
ad940 20 69 74 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f .its.containing.struct........</
ad960 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 6e 6f 6e 20 3c 61 20 68 72 p>.......<p>.......For.non.<a.hr
ad980 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 ef="#packed-struct">packed.struc
ad9a0 74 73 3c 2f 61 3e 2c 20 74 68 69 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 64 69 76 69 ts</a>,.this.will.always.be.divi
ad9c0 73 69 62 6c 65 20 62 79 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 sible.by.<code><span.class="line
ad9e0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 "><span.class="tok-number">8</sp
ada00 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 46 6f 72 20 70 61 63 an></span></code>........For.pac
ada20 6b 65 64 20 73 74 72 75 63 74 73 2c 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 ked.structs,.non-byte-aligned.fi
ada40 65 6c 64 73 20 77 69 6c 6c 20 73 68 61 72 65 20 61 20 62 79 74 65 20 6f 66 66 73 65 74 2c 20 62 elds.will.share.a.byte.offset,.b
ada60 75 74 20 74 68 65 79 20 77 69 6c 6c 20 68 61 76 65 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 ut.they.will.have.different.....
ada80 20 20 62 69 74 20 6f 66 66 73 65 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ..bit.offsets........</p>.......
adaa0 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
adac0 3d 22 23 6f 66 66 73 65 74 4f 66 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a ="#offsetOf">@offsetOf</a></li>.
adae0 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 6f 6f </ul>................<h3.id="boo
adb00 6c 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 6f 6f 6c 54 6f 49 6e 74 22 lToInt"><a.href="#toc-boolToInt"
adb20 3e 40 62 6f 6f 6c 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 >@boolToInt</a>.<a.class="hdr".h
adb40 72 65 66 3d 22 23 62 6f 6f 6c 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 ref="#boolToInt">..</a></h3>....
adb60 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
adb80 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 6f 6f "><span.class="tok-builtin">@boo
adba0 6c 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 lToInt</span>(value:.<span.class
adbc0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 ="tok-type">bool</span>).<span.c
adbe0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e lass="tok-type">u1</span></span>
adc00 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f </code></pre>.......<p>.......Co
adc20 6e 76 65 72 74 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e nverts.<code><span.class="line">
adc40 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
adc60 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.
adc80 63 6c 61 73 73 3d 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
adca0 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
adcc0 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-type">u1</span>,.<span.class=
adce0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-number">1</span>)</span></c
add00 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ode>.and.<code><span.class="line
add20 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f "><span.class="tok-null">false</
add40 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 0a 20 20 20 20 20 20 20 20 20 span></span></code>.to..........
add60 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
add80 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c "><span.class="tok-builtin">@as<
adda0 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 /span>(<span.class="tok-type">u1
addc0 3c 2f 73 70 61 6e 3e 2c 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
adde0 22 3e 30 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 ">0</span>)</span></code>.......
ade00 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 76 61 6c .</p>.......<p>.......If.the.val
ade20 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 74 68 65 ue.is.known.at.compile-time,.the
ade40 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 .return.type.is.<code><span.clas
ade60 73 3d 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">
ade80 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 comptime_int</span></span></code
adea0 3e 0a 20 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 >...........instead.of.<code><sp
adec0 61 6e 20 63 6c 61 73 73 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
adee0 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a -type">u1</span></span></code>..
adf00 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d ......</p>...............<h3.id=
adf20 22 62 69 74 53 69 7a 65 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 74 53 69 7a "bitSizeOf"><a.href="#toc-bitSiz
adf40 65 4f 66 22 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 eOf">@bitSizeOf</a>.<a.class="hd
adf60 72 22 20 68 72 65 66 3d 22 23 62 69 74 53 69 7a 65 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e r".href="#bitSizeOf">..</a></h3>
adf80 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="
adfa0 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">
adfc0 40 62 69 74 53 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 @bitSizeOf</span>(<span.class="t
adfe0 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.
ae000 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 class="tok-type">type</span>).<s
ae020 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
ae040 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 t</span></span></code></pre>....
ae060 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
ae080 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 73 20 69 74 20 74 61 6b 65 73 20 74 ns.the.number.of.bits.it.takes.t
ae0a0 6f 20 73 74 6f 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 o.store.<code><span.class="line"
ae0c0 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 6d 65 6d 6f 72 79 20 69 66 20 74 68 >T</span></code>.in.memory.if.th
ae0e0 65 20 74 79 70 65 0a 20 20 20 20 20 20 77 65 72 65 20 61 20 66 69 65 6c 64 20 69 6e 20 61 20 70 e.type.......were.a.field.in.a.p
ae100 61 63 6b 65 64 20 73 74 72 75 63 74 2f 75 6e 69 6f 6e 2e 0a 20 20 20 20 20 20 54 68 65 20 72 65 acked.struct/union........The.re
ae120 73 75 6c 74 20 69 73 20 61 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c sult.is.a.target-specific.compil
ae140 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 e.time.constant........</p>.....
ae160 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 65 61 73 75 72 ..<p>.......This.function.measur
ae180 65 73 20 74 68 65 20 73 69 7a 65 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 46 6f 72 20 74 79 70 65 es.the.size.at.runtime..For.type
ae1a0 73 20 74 68 61 74 20 61 72 65 20 64 69 73 61 6c 6c 6f 77 65 64 20 61 74 20 72 75 6e 74 69 6d 65 s.that.are.disallowed.at.runtime
ae1c0 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ,.such.as.......<code><span.clas
ae1e0 73 3d 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">
ae200 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 comptime_int</span></span></code
ae220 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c >.and.<code><span.class="line"><
ae240 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
ae260 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c ></span></code>,.the.result.is.<
ae280 63 6f 64 65 3e 3c 73 70 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
ae2a0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ass="tok-number">0</span></span>
ae2c0 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 </code>........</p>.......<p>See
ae2e0 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 69 7a .also:</p><ul>.<li><a.href="#siz
ae300 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 eOf">@sizeOf</a></li>.<li><a.hre
ae320 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 3c 2f 6c 69 3e f="#typeInfo">@typeInfo</a></li>
ae340 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 72 .</ul>................<h3.id="br
ae360 65 61 6b 70 6f 69 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 72 65 61 6b 70 6f 69 eakpoint"><a.href="#toc-breakpoi
ae380 6e 74 22 3e 40 62 72 65 61 6b 70 6f 69 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 nt">@breakpoint</a>.<a.class="hd
ae3a0 72 22 20 68 72 65 66 3d 22 23 62 72 65 61 6b 70 6f 69 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 r".href="#breakpoint">..</a></h3
ae3c0 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=
ae3e0 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"
ae400 3e 40 62 72 65 61 6b 70 6f 69 6e 74 3c 2f 73 70 61 6e 3e 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f >@breakpoint</span>()</span></co
ae420 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 de></pre>.......<p>.......This.f
ae440 75 6e 63 74 69 6f 6e 20 69 6e 73 65 72 74 73 20 61 20 70 6c 61 74 66 6f 72 6d 2d 73 70 65 63 69 unction.inserts.a.platform-speci
ae460 66 69 63 20 64 65 62 75 67 20 74 72 61 70 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 69 63 68 fic.debug.trap.instruction.which
ae480 20 63 61 75 73 65 73 0a 20 20 20 20 20 20 64 65 62 75 67 67 65 72 73 20 74 6f 20 62 72 65 61 6b .causes.......debuggers.to.break
ae4a0 20 74 68 65 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 .there........</p>.......<p>....
ae4c0 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 20 76 61 6c 69 64 20 77 ...This.function.is.only.valid.w
ae4e0 69 74 68 69 6e 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ithin.function.scope........</p>
ae500 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 75 6c 41 64 64 22 3e 3c ...............<h3.id="mulAdd"><
ae520 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 75 6c 41 64 64 22 3e 40 6d 75 6c 41 64 64 3c 2f 61 3e a.href="#toc-mulAdd">@mulAdd</a>
ae540 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 75 6c 41 64 64 22 3e c2 .<a.class="hdr".href="#mulAdd">.
ae560 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
ae580 61 6e 20 63 6c 61 73 73 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
ae5a0 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 75 6c 41 64 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 -builtin">@mulAdd</span>(<span.c
ae5c0 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:
ae5e0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 .<span.class="tok-type">type</sp
ae600 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 2c 20 63 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e 3c an>,.a:.T,.b:.T,.c:.T).T</span><
ae620 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 75 73 /code></pre>.......<p>.......Fus
ae640 65 64 20 6d 75 6c 74 69 70 6c 79 20 61 64 64 2c 20 73 69 6d 69 6c 61 72 20 74 6f 20 3c 63 6f 64 ed.multiply.add,.similar.to.<cod
ae660 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 61 20 2a 20 62 29 20 2b 20 63 e><span.class="line">(a.*.b).+.c
ae680 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 78 63 65 70 74 0a 20 20 20 20 20 20 6f 6e 6c </span></code>,.except.......onl
ae6a0 79 20 72 6f 75 6e 64 73 20 6f 6e 63 65 2c 20 61 6e 64 20 69 73 20 74 68 75 73 20 6d 6f 72 65 20 y.rounds.once,.and.is.thus.more.
ae6c0 61 63 63 75 72 61 74 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 accurate........</p>.......<p>..
ae6e0 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 46 6c 6f 61 74 73 20 61 6e 64 20 56 65 63 74 6f 72 73 .....Supports.Floats.and.Vectors
ae700 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 .of.floats........</p>..........
ae720 20 20 20 20 20 3c 68 33 20 69 64 3d 22 62 79 74 65 53 77 61 70 22 3e 3c 61 20 68 72 65 66 3d 22 .....<h3.id="byteSwap"><a.href="
ae740 23 74 6f 63 2d 62 79 74 65 53 77 61 70 22 3e 40 62 79 74 65 53 77 61 70 3c 2f 61 3e 20 3c 61 20 #toc-byteSwap">@byteSwap</a>.<a.
ae760 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 79 74 65 53 77 61 70 22 3e c2 a7 3c class="hdr".href="#byteSwap">..<
ae780 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
ae7a0 20 63 6c 61 73 73 3d 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
ae7c0 75 69 6c 74 69 6e 22 3e 40 62 79 74 65 53 77 61 70 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 uiltin">@byteSwap</span>(<span.c
ae7e0 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:
ae800 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 .<span.class="tok-type">type</sp
ae820 61 6e 3e 2c 20 6f 70 65 72 61 6e 64 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e an>,.operand:.T).T</span></code>
ae840 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 </pre>.......<p><code><span.clas
ae860 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
ae880 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 77 69 74 68 20 62 69 74 20 63 6f 75 6e 74 20 .an.integer.type.with.bit.count.
ae8a0 65 76 65 6e 6c 79 20 64 69 76 69 73 69 62 6c 65 20 62 79 20 38 2e 3c 2f 70 3e 0a 20 20 20 20 20 evenly.divisible.by.8.</p>......
ae8c0 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 .<p><code><span.class="line">ope
ae8e0 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c 61 20 rand</span></code>.may.be.an.<a.
ae900 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 6f 72 20 href="#Integers">integer</a>.or.
ae920 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 2e 3c 2f <a.href="#Vectors">vector</a>.</
ae940 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 77 61 70 73 20 74 68 65 20 62 79 74 p>.......<p>.......Swaps.the.byt
ae960 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 2e 20 54 68 69 73 20 63 6f 6e e.order.of.the.integer..This.con
ae980 76 65 72 74 73 20 61 20 62 69 67 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 verts.a.big.endian.integer.to.a.
ae9a0 6c 69 74 74 6c 65 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 little.endian.integer,.......and
ae9c0 20 63 6f 6e 76 65 72 74 73 20 61 20 6c 69 74 74 6c 65 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 .converts.a.little.endian.intege
ae9e0 72 20 74 6f 20 61 20 62 69 67 20 65 6e 64 69 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 20 20 20 20 r.to.a.big.endian.integer.......
aea00 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.
aea20 66 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 73 20 6f 66 20 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 for.the.purposes.of.memory.layou
aea40 74 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 65 6e 64 69 61 6e 6e 65 73 73 2c 20 74 68 t.with.respect.to.endianness,.th
aea60 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 72 e.integer.type.should.be.......r
aea80 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 72 65 elated.to.the.number.of.bytes.re
aeaa0 70 6f 72 74 65 64 20 62 79 20 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a ported.by.<a.href="#sizeOf">@siz
aeac0 65 4f 66 3c 2f 61 3e 20 62 79 74 65 73 2e 20 54 68 69 73 20 69 73 20 64 65 6d 6f 6e 73 74 72 61 eOf</a>.bytes..This.is.demonstra
aeae0 74 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ted.with.......<code><span.class
aeb00 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 ="line"><span.class="tok-type">u
aeb20 32 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 3c 63 6f 64 65 3e 3c 24</span></span></code>..<code><
aeb40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
aeb60 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ok-builtin">@sizeOf</span>(<span
aeb80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 70 61 6e 3e 29 20 3d 3d .class="tok-type">u24</span>).==
aeba0 20 3c 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
aebc0 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 n></span></code>,.which.means.th
aebe0 61 74 20 61 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 at.a.......<code><span.class="li
aec00 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f ne"><span.class="tok-type">u24</
aec20 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 6f 72 65 64 20 69 6e 20 6d 65 span></span></code>.stored.in.me
aec40 6d 6f 72 79 20 74 61 6b 65 73 20 34 20 62 79 74 65 73 2c 20 61 6e 64 20 74 68 6f 73 65 20 34 20 mory.takes.4.bytes,.and.those.4.
aec60 62 79 74 65 73 20 61 72 65 20 77 68 61 74 20 61 72 65 20 73 77 61 70 70 65 64 20 6f 6e 0a 20 20 bytes.are.what.are.swapped.on...
aec80 20 20 20 20 61 20 6c 69 74 74 6c 65 20 76 73 20 62 69 67 20 65 6e 64 69 61 6e 20 73 79 73 74 65 ....a.little.vs.big.endian.syste
aeca0 6d 2e 20 4f 6e 20 74 68 65 20 6f 74 68 65 72 20 68 61 6e 64 2c 20 69 66 20 3c 63 6f 64 65 3e 3c m..On.the.other.hand,.if.<code><
aecc0 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
aece0 3e 20 69 73 20 73 70 65 63 69 66 69 65 64 20 74 6f 0a 20 20 20 20 20 20 62 65 20 3c 63 6f 64 65 >.is.specified.to.......be.<code
aed00 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
aed20 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f "tok-type">u24</span></span></co
aed40 64 65 3e 2c 20 74 68 65 6e 20 6f 6e 6c 79 20 33 20 62 79 74 65 73 20 61 72 65 20 72 65 76 65 72 de>,.then.only.3.bytes.are.rever
aed60 73 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 sed........</p>...............<h
aed80 33 20 69 64 3d 22 62 69 74 52 65 76 65 72 73 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 3.id="bitReverse"><a.href="#toc-
aeda0 62 69 74 52 65 76 65 72 73 65 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 61 3e 20 3c 61 20 63 bitReverse">@bitReverse</a>.<a.c
aedc0 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 69 74 52 65 76 65 72 73 65 22 3e c2 a7 lass="hdr".href="#bitReverse">..
aede0 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
aee00 6e 20 63 6c 61 73 73 3d 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-
aee20 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 builtin">@bitReverse</span>(<spa
aee40 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>
aee60 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<
aee80 2f 73 70 61 6e 3e 2c 20 69 6e 74 65 67 65 72 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f /span>,.integer:.T).T</span></co
aeea0 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 de></pre>.......<p><code><span.c
aeec0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 63 63 65 lass="line">T</span></code>.acce
aeee0 70 74 73 20 61 6e 79 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 pts.any.integer.type.</p>.......
aef00 3c 70 3e 0a 20 20 20 20 20 20 52 65 76 65 72 73 65 73 20 74 68 65 20 62 69 74 70 61 74 74 65 72 <p>.......Reverses.the.bitpatter
aef20 6e 20 6f 66 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 2c 20 69 6e 63 6c 75 64 69 6e 67 n.of.an.integer.value,.including
aef40 20 74 68 65 20 73 69 67 6e 20 62 69 74 20 69 66 20 61 70 70 6c 69 63 61 62 6c 65 2e 0a 20 20 20 .the.sign.bit.if.applicable.....
aef60 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d ...</p>.......<p>.......For.exam
aef80 70 6c 65 20 30 62 31 30 31 31 30 31 31 30 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ple.0b10110110.(<code><span.clas
aefa0 73 3d 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">
aefc0 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d u8</span>.=.<span.class="tok-num
aefe0 62 65 72 22 3e 31 38 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c ber">182</span></span></code>,.<
af000 63 6f 64 65 3e 3c 73 70 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
af020 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 3d 20 2d 3c 73 70 61 ass="tok-type">i8</span>.=.-<spa
af040 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 34 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-number">74</span></
af060 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 0a 20 20 20 20 20 20 62 65 63 6f 6d 65 73 20 30 62 30 31 span></code>).......becomes.0b01
af080 31 30 31 31 30 31 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 101101.(<code><span.class="line"
af0a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e ><span.class="tok-type">u8</span
af0c0 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 39 >.=.<span.class="tok-number">109
af0e0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 </span></span></code>,.<code><sp
af100 61 6e 20 63 6c 61 73 73 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
af120 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -type">i8</span>.=.<span.class="
af140 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 39 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 tok-number">109</span></span></c
af160 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 ode>)........</p>...............
af180 3c 68 33 20 69 64 3d 22 6f 66 66 73 65 74 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d <h3.id="offsetOf"><a.href="#toc-
af1a0 6f 66 66 73 65 74 4f 66 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 offsetOf">@offsetOf</a>.<a.class
af1c0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6f 66 66 73 65 74 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f ="hdr".href="#offsetOf">..</a></
af1e0 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
af200 73 3d 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
af220 6e 22 3e 40 6f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d n">@offsetOf</span>(<span.class=
af240 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 "tok-kw">comptime</span>.T:.<spa
af260 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>,.
af280 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
af2a0 70 61 6e 3e 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>.field_name:.[]<span.class="
af2c0 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
af2e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 ="tok-type">u8</span>).<span.cla
af300 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
af320 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>.
af340 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 62 79 74 65 20 6f 66 66 73 65 74 20 6f 66 ......Returns.the.byte.offset.of
af360 20 61 20 66 69 65 6c 64 20 72 65 6c 61 74 69 76 65 20 74 6f 20 69 74 73 20 63 6f 6e 74 61 69 6e .a.field.relative.to.its.contain
af380 69 6e 67 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e ing.struct........</p>.......<p>
af3a0 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="#
af3c0 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c bitOffsetOf">@bitOffsetOf</a></l
af3e0 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="
af400 63 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 61 6c 6c 22 3e 40 63 61 6c 6c 3c call"><a.href="#toc-call">@call<
af420 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 61 6c 6c 22 3e /a>.<a.class="hdr".href="#call">
af440 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
af460 70 61 6e 20 63 6c 61 73 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
af480 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e 3e 28 6f 70 74 69 6f 6e 73 3a k-builtin">@call</span>(options:
af4a0 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 61 6c 6c 4f 70 74 69 6f 6e 73 2c 20 66 75 6e 63 74 69 .std.builtin.CallOptions,.functi
af4c0 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 on:.<span.class="tok-kw">anytype
af4e0 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>,.args:.<span.class="tok-
af500 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=
af520 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f "tok-kw">anytype</span></span></
af540 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 61 6c 6c code></pre>.......<p>.......Call
af560 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 s.a.function,.in.the.same.way.th
af580 61 74 20 69 6e 76 6f 6b 69 6e 67 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 74 68 20 70 at.invoking.an.expression.with.p
af5a0 61 72 65 6e 74 68 65 73 65 73 20 64 6f 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 arentheses.does:.......</p>.....
af5c0 20 20 3c 66 69 67 75 72 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
af5e0 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 61 6c 6c 2e 7a 69 -cap"><cite.class="file">call.zi
af600 67 3c 2f 63 69 74 65 3e 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>
af620 3c 73 70 61 6e 20 63 6c 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="
af640 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 3c 73 tok-kw">const</span>.expect.=.<s
af660 70 61 6e 20 63 6c 61 73 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<
af680 2f 73 70 61 6e 3e 28 3c 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
af6a0 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 74 65 73 74 69 6e 67 2e 65 78 70 ot;std&quot;</span>).testing.exp
af6c0 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"><
af6e0 2f 73 70 61 6e 3e 0a 3c 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.
af700 63 6c 61 73 73 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
af720 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 69 6e 6c 69 6e 65 20 .class="tok-str">&quot;noinline.
af740 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 function.call&quot;</span>.{</sp
af760 61 6e 3e 0a 3c 73 70 61 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
af780 20 63 6c 61 73 73 3d 22 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
af7a0 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 61 6c t(<span.class="tok-builtin">@cal
af7c0 6c 3c 2f 73 70 61 6e 3e 28 2e 7b 7d 2c 20 61 64 64 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 l</span>(.{},.add,..{<span.class
af7e0 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
af800 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 7d 29 20 3d 3d 20 3c ass="tok-number">9</span>}).==.<
af820 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e span.class="tok-number">12</span
af840 3e 29 3b 3c 2f 73 70 61 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">}<
af860 2f 73 70 61 6e 3e 0a 3c 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
af880 3e 0a 3c 73 70 61 6e 20 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
af8a0 3d 22 74 6f 6b 2d 6b 77 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=
af8c0 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 "tok-fn">add</span>(a:.<span.cla
af8e0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 ss="tok-type">i32</span>,.b:.<sp
af900 61 6e 20 63 6c 61 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>).
af920 3c 73 70 61 6e 20 63 6c 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
af940 3e 20 7b 3c 2f 73 70 61 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">..
af960 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
af980 70 61 6e 3e 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pan>.a.+.b;</span>.<span.class="
af9a0 6c 69 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
af9c0 75 72 65 3e 3c 66 69 67 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
af9e0 68 65 6c 6c 2d 63 61 70 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
afa00 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
afa20 3e 7a 69 67 20 74 65 73 74 20 63 61 6c 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a >zig.test.call.zig</kbd></span>.
afa40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f <span.class="line">1/1.test.&quo
afa60 74 3b 6e 6f 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 26 71 75 6f 74 3b 2e 2e t;noinline.function.call&quot;..
afa80 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
afaa0 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
afac0 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>......
afae0 20 3c 63 6f 64 65 3e 3c 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.
afb00 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e 3e class="tok-builtin">@call</span>
afb20 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6c 6c 6f 77 73 20 6d 6f 72 65 20 66 6c 65 78 69 </span></code>.allows.more.flexi
afb40 62 69 6c 69 74 79 20 74 68 61 6e 20 6e 6f 72 6d 61 6c 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c bility.than.normal.function.call
afb60 20 73 79 6e 74 61 78 20 64 6f 65 73 2e 20 54 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 .syntax.does..The.......<code><s
afb80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 61 6c 6c 4f 70 74 69 6f 6e 73 3c 2f 73 70 pan.class="line">CallOptions</sp
afba0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 20 69 73 20 72 65 70 72 6f 64 75 63 65 64 20 an></code>.struct.is.reproduced.
afbc0 68 65 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c here:.......</p>.......<figure><
afbe0 66 69 67 63 61 70 74 69 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
afc00 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 74 69 6e 2e 43 61 6c 6c 4f 70 74 69 6f 6e .class="file">builtin.CallOption
afc20 73 20 73 74 72 75 63 74 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 s.struct</cite></figcaption><pre
afc40 3e 3c 63 6f 64 65 3e 3c 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.
afc60 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.
afc80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 61 6c 6c class="tok-kw">const</span>.Call
afca0 4f 70 74 69 6f 6e 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 Options.=.<span.class="tok-kw">s
afcc0 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
afce0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6d 6f 64 69 66 69 65 72 3a 20 4d 6f 64 69 66 69 65 72 20 s="line">....modifier:.Modifier.
afd00 3d 20 2e 61 75 74 6f 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e =..auto,</span>.<span.class="lin
afd20 65 22 3e 3c 2f 73 70 61 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">..
afd40 20 20 3c 73 70 61 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">///.
afd60 4f 6e 6c 79 20 76 61 6c 69 64 20 77 68 65 6e 20 60 4d 6f 64 69 66 69 65 72 60 20 69 73 20 60 4d Only.valid.when.`Modifier`.is.`M
afd80 6f 64 69 66 69 65 72 2e 61 73 79 6e 63 5f 6b 77 60 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e odifier.async_kw`.</span></span>
afda0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 61 63 6b 3a 20 3f .<span.class="line">....stack:.?
afdc0 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 []<span.class="tok-kw">align</sp
afde0 61 6e 3e 28 73 74 64 2e 54 61 72 67 65 74 2e 73 74 61 63 6b 5f 61 6c 69 67 6e 29 20 3c 73 70 61 an>(std.Target.stack_align).<spa
afe00 6e 20 63 6c 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>.=.<
afe20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e span.class="tok-null">null</span
afe40 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 >,</span>.<span.class="line"></s
afe60 70 61 6e 3e 0a 3c 73 70 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
afe80 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
afea0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4d 6f n.class="tok-kw">const</span>.Mo
afec0 64 69 66 69 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e difier.=.<span.class="tok-kw">en
afee0 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 um</span>.{</span>.<span.class="
aff00 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
aff20 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 66 75 6e 63 74 69 omment">///.Equivalent.to.functi
aff40 6f 6e 20 63 61 6c 6c 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 on.call.syntax.</span></span>.<s
aff60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 75 74 6f 2c 3c 2f pan.class="line">........auto,</
aff80 73 70 61 6e 3e 0a 3c 73 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>
affa0 0a 3c 73 70 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
affc0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 71 75 69 76 61 n.class="tok-comment">///.Equiva
affe0 6c 65 6e 74 20 74 6f 20 61 73 79 6e 63 20 6b 65 79 77 6f 72 64 20 75 73 65 64 20 77 69 74 68 20 lent.to.async.keyword.used.with.
b0000 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 function.call.syntax.</span></sp
b0020 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 an>.<span.class="line">........a
b0040 73 79 6e 63 5f 6b 77 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e sync_kw,</span>.<span.class="lin
b0060 65 22 3e 3c 2f 73 70 61 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">..
b0080 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">
b00a0 2f 2f 2f 20 50 72 65 76 65 6e 74 73 20 74 61 69 6c 20 63 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 74 ///.Prevents.tail.call.optimizat
b00c0 69 6f 6e 2e 20 54 68 69 73 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 72 65 ion..This.guarantees.that.the.re
b00e0 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 turn</span></span>.<span.class="
b0100 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
b0120 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 70 6f 69 6e 74 20 74 omment">///.address.will.point.t
b0140 6f 20 74 68 65 20 63 61 6c 6c 73 69 74 65 2c 20 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 74 68 o.the.callsite,.as.opposed.to.th
b0160 65 20 63 61 6c 6c 73 69 74 65 27 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e e.callsite's</span></span>.<span
b0180 20 63 6c 61 73 73 3d 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
b01a0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 63 61 6c 6c 73 69 74 65 2e 20 49 66 s="tok-comment">///.callsite..If
b01c0 20 74 68 65 20 63 61 6c 6c 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 72 65 71 75 69 72 65 64 20 .the.call.is.otherwise.required.
b01e0 74 6f 20 62 65 20 74 61 69 6c 2d 63 61 6c 6c 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a to.be.tail-called</span></span>.
b0200 3c 73 70 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
b0220 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6f 72 20 69 6e 6c 69 .class="tok-comment">///.or.inli
b0240 6e 65 64 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 ned,.a.compile.error.is.emitted.
b0260 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 instead.</span></span>.<span.cla
b0280 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 65 76 65 72 5f 74 61 69 6c 2c 3c 2f 73 ss="line">........never_tail,</s
b02a0 70 61 6e 3e 0a 3c 73 70 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>.
b02c0 3c 73 70 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
b02e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 47 75 61 72 61 6e 74 .class="tok-comment">///.Guarant
b0300 65 65 73 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 69 6e ees.that.the.call.will.not.be.in
b0320 6c 69 6e 65 64 2e 20 49 66 20 74 68 65 20 63 61 6c 6c 20 69 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 lined..If.the.call.is</span></sp
b0340 61 6e 3e 0a 3c 73 70 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">........<
b0360 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6f 74 68 span.class="tok-comment">///.oth
b0380 65 72 77 69 73 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 65 20 69 6e 6c 69 6e 65 64 2c 20 61 erwise.required.to.be.inlined,.a
b03a0 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 .compile.error.is.emitted.instea
b03c0 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
b03e0 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 2c 3c 2f 73 70 61 6e 3e ne">........never_inline,</span>
b0400 0a 3c 73 70 61 6e 20 63 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
b0420 6e 20 63 6c 61 73 73 3d 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
b0440 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 41 73 73 65 72 74 73 20 74 68 61 ss="tok-comment">///.Asserts.tha
b0460 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 77 69 6c 6c 20 6e 6f 74 20 73 75 73 t.the.function.call.will.not.sus
b0480 70 65 6e 64 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e pend..This.allows.a</span></span
b04a0 3e 0a 3c 73 70 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
b04c0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6e 6f 6e 2d 61 an.class="tok-comment">///.non-a
b04e0 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 63 61 6c 6c 20 61 6e 20 61 73 79 6e 63 20 66 sync.function.to.call.an.async.f
b0500 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
b0520 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 6e 6f 5f 61 73 79 6e 63 2c 3c 2f 73 70 61 ss="line">........no_async,</spa
b0540 6e 3e 0a 3c 73 70 61 6e 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
b0560 70 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
b0580 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 47 75 61 72 61 6e 74 65 65 lass="tok-comment">///.Guarantee
b05a0 73 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 s.that.the.call.will.be.generate
b05c0 64 20 77 69 74 68 20 74 61 69 6c 20 63 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 3c 2f d.with.tail.call.optimization.</
b05e0 73 70 61 6e 3e 3c 2f 73 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">
b0600 20 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
b0620 22 3e 2f 2f 2f 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2c 20 61 ">///.If.this.is.not.possible,.a
b0640 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 .compile.error.is.emitted.instea
b0660 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
b0680 6e 65 22 3e 20 20 20 20 20 20 20 20 61 6c 77 61 79 73 5f 74 61 69 6c 2c 3c 2f 73 70 61 6e 3e 0a ne">........always_tail,</span>.
b06a0 3c 73 70 61 6e 20 63 6c 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
b06c0 20 63 6c 61 73 73 3d 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
b06e0 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 47 75 61 72 61 6e 74 65 65 73 20 74 s="tok-comment">///.Guarantees.t
b0700 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c 6c 20 69 6e 6c 69 6e 65 64 20 61 74 20 74 68 65 hat.the.call.will.inlined.at.the
b0720 20 63 61 6c 6c 73 69 74 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .callsite.</span></span>.<span.c
b0740 6c 61 73 73 3d 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=
b0760 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 "tok-comment">///.If.this.is.not
b0780 20 70 6f 73 73 69 62 6c 65 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d .possible,.a.compile.error.is.em
b07a0 69 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 itted.instead.</span></span>.<sp
b07c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 61 6c 77 61 79 73 5f 69 an.class="line">........always_i
b07e0 6e 6c 69 6e 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 nline,</span>.<span.class="line"
b0800 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
b0820 20 20 20 20 3c 73 70 61 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">//
b0840 2f 20 45 76 61 6c 75 61 74 65 73 20 74 68 65 20 63 61 6c 6c 20 61 74 20 63 6f 6d 70 69 6c 65 2d /.Evaluates.the.call.at.compile-
b0860 74 69 6d 65 2e 20 49 66 20 74 68 65 20 63 61 6c 6c 20 63 61 6e 6e 6f 74 20 62 65 20 63 6f 6d 70 time..If.the.call.cannot.be.comp
b0880 6c 65 74 65 64 20 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 leted.at</span></span>.<span.cla
b08a0 73 73 3d 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
b08c0 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 61 20 ok-comment">///.compile-time,.a.
b08e0 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 compile.error.is.emitted.instead
b0900 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
b0920 65 22 3e 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 74 69 6d 65 2c 3c 2f 73 70 61 6e 3e 0a e">........compile_time,</span>.
b0940 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>
b0960 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
b0980 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 ode></pre></figure>.............
b09a0 20 20 3c 68 33 20 69 64 3d 22 63 44 65 66 69 6e 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ..<h3.id="cDefine"><a.href="#toc
b09c0 2d 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d -cDefine">@cDefine</a>.<a.class=
b09e0 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 "hdr".href="#cDefine">..</a></h3
b0a00 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=
b0a20 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"
b0a40 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >@cDefine</span>(<span.class="to
b0a60 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 3a 20 5b 5d 3c 73 k-kw">comptime</span>.name:.[]<s
b0a80 70 61 6e 20 63 6c 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>,.
b0aa0 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 value)</span></code></pre>......
b0ac0 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 6f 6e 6c .<p>.......This.function.can.onl
b0ae0 79 20 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 y.occur.inside.<code><span.class
b0b00 3d 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
b0b20 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e ">@cImport</span></span></code>.
b0b40 0a 20 20 20 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
b0b60 20 61 70 70 65 6e 64 73 20 3c 63 6f 64 65 3e 23 64 65 66 69 6e 65 20 24 6e 61 6d 65 20 24 76 61 .appends.<code>#define.$name.$va
b0b80 6c 75 65 3c 2f 63 6f 64 65 3e 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c lue</code>.to.the.<code><span.cl
b0ba0 61 73 73 3d 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
b0bc0 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
b0be0 65 3e 0a 20 20 20 20 20 20 74 65 6d 70 6f 72 61 72 79 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 e>.......temporary.buffer.......
b0c00 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 64 65 66 69 6e 65 20 .</p>.......<p>.......To.define.
b0c20 77 69 74 68 6f 75 74 20 61 20 76 61 6c 75 65 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 without.a.value,.like.this:.....
b0c40 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 ..</p>.......<pre><code.class="c
b0c60 22 3e 23 64 65 66 69 6e 65 20 5f 47 4e 55 5f 53 4f 55 52 43 45 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ">#define._GNU_SOURCE</code></pr
b0c80 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 74 68 65 20 76 6f 69 64 20 e>.......<p>.......Use.the.void.
b0ca0 76 61 6c 75 65 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 value,.like.this:.......</p>....
b0cc0 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"
b0ce0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 ><span.class="tok-builtin">@cDef
b0d00 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ine</span>(<span.class="tok-str"
b0d20 3e 26 71 75 6f 74 3b 5f 47 4e 55 5f 53 4f 55 52 43 45 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c >&quot;_GNU_SOURCE&quot;</span>,
b0d40 20 7b 7d 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c .{})</span></code></pre>.......<
b0d60 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=
b0d80 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 "#Import-from-C-Header-File">Imp
b0da0 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a ort.from.C.Header.File</a></li>.
b0dc0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 <li><a.href="#cInclude">@cInclud
b0de0 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 e</a></li>.<li><a.href="#cImport
b0e00 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d ">@cImport</a></li>.<li><a.href=
b0e20 22 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c "#cUndef">@cUndef</a></li>.<li><
b0e40 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 a.href="#void">void</a></li>.</u
b0e60 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 49 6d 70 6f 72 74 l>...............<h3.id="cImport
b0e80 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 "><a.href="#toc-cImport">@cImpor
b0ea0 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 49 6d 70 t</a>.<a.class="hdr".href="#cImp
b0ec0 6f 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f ort">..</a></h3>........<pre><co
b0ee0 64 65 3e 3c 73 70 61 6e 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
b0f00 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 s="tok-builtin">@cImport</span>(
b0f20 65 78 70 72 65 73 73 69 6f 6e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 expression).<span.class="tok-typ
b0f40 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 e">type</span></span></code></pr
b0f60 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e>.......<p>.......This.function
b0f80 20 70 61 72 73 65 73 20 43 20 63 6f 64 65 20 61 6e 64 20 69 6d 70 6f 72 74 73 20 74 68 65 20 66 .parses.C.code.and.imports.the.f
b0fa0 75 6e 63 74 69 6f 6e 73 2c 20 74 79 70 65 73 2c 20 76 61 72 69 61 62 6c 65 73 2c 0a 20 20 20 20 unctions,.types,.variables,.....
b0fc0 20 20 61 6e 64 20 63 6f 6d 70 61 74 69 62 6c 65 20 6d 61 63 72 6f 20 64 65 66 69 6e 69 74 69 6f ..and.compatible.macro.definitio
b0fe0 6e 73 20 69 6e 74 6f 20 61 20 6e 65 77 20 65 6d 70 74 79 20 73 74 72 75 63 74 20 74 79 70 65 2c ns.into.a.new.empty.struct.type,
b1000 20 61 6e 64 20 74 68 65 6e 0a 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 74 68 61 74 20 74 79 70 .and.then.......returns.that.typ
b1020 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 e........</p>.......<p>.......<c
b1040 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 78 70 72 65 73 73 69 6f ode><span.class="line">expressio
b1060 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 n</span></code>.is.interpreted.a
b1080 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 20 54 68 65 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 t.compile.time..The.builtin.func
b10a0 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 tions...........<code><span.clas
b10c0 73 3d 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
b10e0 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 n">@cInclude</span></span></code
b1100 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
b1120 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f n.class="tok-builtin">@cDefine</
b1140 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c span></span></code>,.and.<code><
b1160 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
b1180 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ok-builtin">@cUndef</span></span
b11a0 3e 3c 2f 63 6f 64 65 3e 20 77 6f 72 6b 0a 20 20 20 20 20 20 77 69 74 68 69 6e 20 74 68 69 73 20 ></code>.work.......within.this.
b11c0 65 78 70 72 65 73 73 69 6f 6e 2c 20 61 70 70 65 6e 64 69 6e 67 20 74 6f 20 61 20 74 65 6d 70 6f expression,.appending.to.a.tempo
b11e0 72 61 72 79 20 62 75 66 66 65 72 20 77 68 69 63 68 20 69 73 20 74 68 65 6e 20 70 61 72 73 65 64 rary.buffer.which.is.then.parsed
b1200 20 61 73 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e .as.C.code........</p>.......<p>
b1220 0a 20 20 20 20 20 20 55 73 75 61 6c 6c 79 20 79 6f 75 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 68 .......Usually.you.should.only.h
b1240 61 76 65 20 6f 6e 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ave.one.<code><span.class="line"
b1260 3e 3c 73 70 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
b1280 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 79 6f 75 72 ort</span></span></code>.in.your
b12a0 20 65 6e 74 69 72 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 2c 20 62 65 63 61 75 73 65 20 69 74 20 .entire.application,.because.it.
b12c0 73 61 76 65 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 66 72 6f 6d 20 69 6e saves.the.compiler.......from.in
b12e0 76 6f 6b 69 6e 67 20 63 6c 61 6e 67 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 2c 20 61 6e 64 voking.clang.multiple.times,.and
b1300 20 70 72 65 76 65 6e 74 73 20 69 6e 6c 69 6e 65 20 66 75 6e 63 74 69 6f 6e 73 20 66 72 6f 6d 20 .prevents.inline.functions.from.
b1320 62 65 69 6e 67 20 64 75 70 6c 69 63 61 74 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 being.duplicated........</p>....
b1340 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 61 73 6f 6e 73 20 66 6f 72 20 68 61 76 69 6e 67 20 ...<p>.......Reasons.for.having.
b1360 6d 75 6c 74 69 70 6c 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 multiple.<code><span.class="line
b1380 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d "><span.class="tok-builtin">@cIm
b13a0 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 port</span></span></code>.expres
b13c0 73 69 6f 6e 73 20 77 6f 75 6c 64 20 62 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 sions.would.be:.......</p>......
b13e0 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 6f 20 61 76 6f 69 64 20 61 20 73 .<ul>...........<li>To.avoid.a.s
b1400 79 6d 62 6f 6c 20 63 6f 6c 6c 69 73 69 6f 6e 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 69 66 20 ymbol.collision,.for.example.if.
b1420 66 6f 6f 2e 68 20 61 6e 64 20 62 61 72 2e 68 20 62 6f 74 68 20 3c 63 6f 64 65 3e 23 64 65 66 69 foo.h.and.bar.h.both.<code>#defi
b1440 6e 65 20 43 4f 4e 4e 45 43 54 49 4f 4e 5f 43 4f 55 4e 54 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a ne.CONNECTION_COUNT</code></li>.
b1460 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 6f 20 61 6e 61 6c 79 7a 65 20 74 68 65 20 43 20 63 6f 64 ........<li>To.analyze.the.C.cod
b1480 65 20 77 69 74 68 20 64 69 66 66 65 72 65 6e 74 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 64 65 e.with.different.preprocessor.de
b14a0 66 69 6e 65 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e fines</li>.......</ul>.......<p>
b14c0 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="#
b14e0 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 Import-from-C-Header-File">Impor
b1500 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c t.from.C.Header.File</a></li>.<l
b1520 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c i><a.href="#cInclude">@cInclude<
b1540 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e /a></li>.<li><a.href="#cDefine">
b1560 40 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 @cDefine</a></li>.<li><a.href="#
b1580 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a cUndef">@cUndef</a></li>.</ul>..
b15a0 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 49 6e 63 6c 75 64 65 22 3e 3c .............<h3.id="cInclude"><
b15c0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 a.href="#toc-cInclude">@cInclude
b15e0 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 49 6e 63 6c </a>.<a.class="hdr".href="#cIncl
b1600 75 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f ude">..</a></h3>........<pre><co
b1620 64 65 3e 3c 73 70 61 6e 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
b1640 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e s="tok-builtin">@cInclude</span>
b1660 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</
b1680 73 70 61 6e 3e 20 70 61 74 68 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 span>.path:.[]<span.class="tok-t
b16a0 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ype">u8</span>)</span></code></p
b16c0 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
b16e0 6e 20 63 61 6e 20 6f 6e 6c 79 20 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c 63 6f 64 65 3e 3c 73 n.can.only.occur.inside.<code><s
b1700 70 61 6e 20 63 6c 61 73 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
b1720 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e k-builtin">@cImport</span></span
b1740 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>..
b1760 20 20 20 20 20 54 68 69 73 20 61 70 70 65 6e 64 73 20 3c 63 6f 64 65 3e 23 69 6e 63 6c 75 64 65 .....This.appends.<code>#include
b1780 20 26 6c 74 3b 24 70 61 74 68 26 67 74 3b 5c 6e 3c 2f 63 6f 64 65 3e 20 74 6f 20 74 68 65 20 3c .&lt;$path&gt;\n</code>.to.the.<
b17a0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 5f 69 6d 70 6f 72 74 code><span.class="line">c_import
b17c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 74 65 6d 70 6f 72 61 72 79 20 62 </span></code>.......temporary.b
b17e0 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 uffer........</p>.......<p>See.a
b1800 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 lso:</p><ul>.<li><a.href="#Impor
b1820 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f t-from-C-Header-File">Import.fro
b1840 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 m.C.Header.File</a></li>.<li><a.
b1860 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 href="#cImport">@cImport</a></li
b1880 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e >.<li><a.href="#cDefine">@cDefin
b18a0 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 22 e</a></li>.<li><a.href="#cUndef"
b18c0 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a >@cUndef</a></li>.</ul>.........
b18e0 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6c 7a 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f .......<h3.id="clz"><a.href="#to
b1900 63 2d 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 c-clz">@clz</a>.<a.class="hdr".h
b1920 72 65 66 3d 22 23 63 6c 7a 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 ref="#clz">..</a></h3>........<p
b1940 72 65 3e 3c 63 6f 64 65 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
b1960 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6c 7a 3c 2f 73 70 61 6e n.class="tok-builtin">@clz</span
b1980 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<
b19a0 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"
b19c0 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 6f 70 65 72 61 6e 64 3a 20 54 29 3c 2f 73 70 61 6e 3e >type</span>,.operand:.T)</span>
b19e0 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 </code></pre>.......<p><code><sp
b1a00 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>.
b1a20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 20 must.be.an.integer.type.</p>....
b1a40 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f ...<p><code><span.class="line">o
b1a60 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c perand</span></code>.may.be.an.<
b1a80 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 6f a.href="#Integers">integer</a>.o
b1aa0 72 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 2e r.<a.href="#Vectors">vector</a>.
b1ac0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 </p>.......<p>.......This.functi
b1ae0 6f 6e 20 63 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6d 6f 73 74 2d 73 69 67 on.counts.the.number.of.most-sig
b1b00 6e 69 66 69 63 61 6e 74 20 28 6c 65 61 64 69 6e 67 20 69 6e 20 61 20 62 69 67 2d 45 6e 64 69 61 nificant.(leading.in.a.big-Endia
b1b20 6e 20 73 65 6e 73 65 29 20 7a 65 72 6f 65 73 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 2e 0a 20 n.sense).zeroes.in.an.integer...
b1b40 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f .....</p>.......<p>.......If.<co
b1b60 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 de><span.class="line">operand</s
b1b80 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 pan></code>.is.a.<a.href="#compt
b1ba0 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 69 6e 74 65 67 65 72 2c ime">comptime</a>-known.integer,
b1bc0 0a 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e .......the.return.type.is.<code>
b1be0 3c 73 70 61 6e 20 63 6c 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="
b1c00 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 tok-type">comptime_int</span></s
b1c20 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 pan></code>........Otherwise,.th
b1c40 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 e.return.type.is.an.unsigned.int
b1c60 65 67 65 72 20 6f 72 20 76 65 63 74 6f 72 20 6f 66 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 eger.or.vector.of.unsigned.integ
b1c80 65 72 73 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 ers.with.the.minimum.number.....
b1ca0 20 20 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 ..of.bits.that.can.represent.the
b1cc0 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 0a .bit.count.of.the.integer.type..
b1ce0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 ......</p>.......<p>.......If.<c
b1d00 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f ode><span.class="line">operand</
b1d20 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 7a 65 72 6f 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 span></code>.is.zero,.<code><spa
b1d40 6e 20 63 6c 61 73 73 3d 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-
b1d60 62 75 69 6c 74 69 6e 22 3e 40 63 6c 7a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 builtin">@clz</span></span></cod
b1d80 65 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 62 69 74 20 77 69 64 74 68 0a 20 20 20 20 20 20 6f e>.returns.the.bit.width.......o
b1da0 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 f.integer.type.<code><span.class
b1dc0 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c ="line">T</span></code>........<
b1de0 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>.<
b1e00 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a li><a.href="#ctz">@ctz</a></li>.
b1e20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e <li><a.href="#popCount">@popCoun
b1e40 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 t</a></li>.</ul>................
b1e60 3c 68 33 20 69 64 3d 22 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 <h3.id="cmpxchgStrong"><a.href="
b1e80 23 74 6f 63 2d 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f #toc-cmpxchgStrong">@cmpxchgStro
b1ea0 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6d 70 ng</a>.<a.class="hdr".href="#cmp
b1ec0 78 63 68 67 53 74 72 6f 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c xchgStrong">..</a></h3>........<
b1ee0 70 72 65 3e 3c 63 6f 64 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
b1f00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6d 70 78 63 68 67 53 an.class="tok-builtin">@cmpxchgS
b1f20 74 72 6f 6e 67 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 trong</span>(<span.class="tok-kw
b1f40 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
b1f60 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 ="tok-type">type</span>,.ptr:.*T
b1f80 2c 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 3a 20 54 2c 20 6e 65 77 5f 76 61 6c 75 65 3a 20 ,.expected_value:.T,.new_value:.
b1fa0 54 2c 20 73 75 63 63 65 73 73 5f 6f 72 64 65 72 3a 20 41 74 6f 6d 69 63 4f 72 64 65 72 2c 20 66 T,.success_order:.AtomicOrder,.f
b1fc0 61 69 6c 5f 6f 72 64 65 72 3a 20 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 3f 54 3c 2f 73 70 61 6e ail_order:.AtomicOrder).?T</span
b1fe0 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
b2000 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 61 20 73 74 72 6f 6e 67 20 61 his.function.performs.a.strong.a
b2020 74 6f 6d 69 63 20 63 6f 6d 70 61 72 65 20 65 78 63 68 61 6e 67 65 20 6f 70 65 72 61 74 69 6f 6e tomic.compare.exchange.operation
b2040 2e 20 49 74 27 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 74 68 69 73 20 63 6f ..It's.the.equivalent.of.this.co
b2060 64 65 2c 0a 20 20 20 20 20 20 65 78 63 65 70 74 20 61 74 6f 6d 69 63 3a 0a 20 20 20 20 20 20 3c de,.......except.atomic:.......<
b2080 2f 70 3e 0a 20 20 20 20 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
b20a0 61 73 73 3d 22 7a 69 67 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"
b20c0 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
b20e0 65 3e 3c 63 6f 64 65 3e 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
b2100 20 63 6c 61 73 73 3d 22 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.
b2120 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 42 75 74 4e class="tok-fn">cmpxchgStrongButN
b2140 6f 74 41 74 6f 6d 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b otAtomic</span>(<span.class="tok
b2160 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
b2180 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a ass="tok-type">type</span>,.ptr:
b21a0 20 2a 54 2c 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 3a 20 54 2c 20 6e 65 77 5f 76 61 6c 75 .*T,.expected_value:.T,.new_valu
b21c0 65 3a 20 54 29 20 3f 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e:.T).?T.{</span>.<span.class="l
b21e0 69 6e 65 22 3e 20 20 20 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
b2200 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 20 3d 20 70 74 72 2e 2a 3b 3c 2f 73 nst</span>.old_value.=.ptr.*;</s
b2220 70 61 6e 3e 0a 3c 73 70 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
b2240 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 6c 64 5f n.class="tok-kw">if</span>.(old_
b2260 76 61 6c 75 65 20 3d 3d 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 29 20 7b 3c 2f 73 70 61 6e value.==.expected_value).{</span
b2280 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 74 72 >.<span.class="line">........ptr
b22a0 2e 2a 20 3d 20 6e 65 77 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .*.=.new_value;</span>.<span.cla
b22c0 73 73 3d 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
b22e0 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
b2300 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a ="tok-null">null</span>;</span>.
b2320 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
b2340 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
b2360 6e 3e 0a 3c 73 70 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
b2380 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>
b23a0 20 6f 6c 64 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .old_value;</span>.<span.class="
b23c0 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="
b23e0 6c 69 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
b2400 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 79 6f 75 20 61 72 65 20 ure>.......<p>.......If.you.are.
b2420 75 73 69 6e 67 20 63 6d 70 78 63 68 67 20 69 6e 20 61 20 6c 6f 6f 70 2c 20 3c 61 20 68 72 65 66 using.cmpxchg.in.a.loop,.<a.href
b2440 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e ="#cmpxchgWeak">@cmpxchgWeak</a>
b2460 20 69 73 20 74 68 65 20 62 65 74 74 65 72 20 63 68 6f 69 63 65 2c 20 62 65 63 61 75 73 65 20 69 .is.the.better.choice,.because.i
b2480 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 20 6d 6f 72 65 20 t.can.be.implemented.......more.
b24a0 65 66 66 69 63 69 65 6e 74 6c 79 20 69 6e 20 6d 61 63 68 69 6e 65 20 69 6e 73 74 72 75 63 74 69 efficiently.in.machine.instructi
b24c0 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>.......
b24e0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e <code><span.class="line">T</span
b2500 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 6e 74 65 72 2c 20 61 20 3c 63 ></code>.must.be.a.pointer,.a.<c
b2520 6f 64 65 3e 3c 73 70 61 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
b2540 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ss="tok-type">bool</span></span>
b2560 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 </code>,.a.float,.......an.integ
b2580 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 er.or.an.enum........</p>.......
b25a0 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 <p><code><span.class="line"><spa
b25c0 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<
b25e0 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 /span>(<span.class="tok-builtin"
b2600 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 70 74 72 29 29 2e 50 6f 69 6e 74 65 72 2e 61 6c >@TypeOf</span>(ptr)).Pointer.al
b2620 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 63 ignment</span></code>.must.be.<c
b2640 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 67 74 3b 3d 20 3c 73 70 ode><span.class="line">&gt;=.<sp
b2660 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f an.class="tok-builtin">@sizeOf</
b2680 73 70 61 6e 3e 28 54 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 span>(T).</span></code></p>.....
b26a0 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
b26c0 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</
b26e0 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
b2700 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
b2720 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f ef="#atomicRmw">@atomicRmw</a></
b2740 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c li>.<li><a.href="#fence">@fence<
b2760 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
b2780 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a ak">@cmpxchgWeak</a></li>.</ul>.
b27a0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 6d 70 78 63 68 67 57 65 ...............<h3.id="cmpxchgWe
b27c0 61 6b 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 ak"><a.href="#toc-cmpxchgWeak">@
b27e0 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 cmpxchgWeak</a>.<a.class="hdr".h
b2800 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ref="#cmpxchgWeak">..</a></h3>..
b2820 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
b2840 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 ne"><span.class="tok-builtin">@c
b2860 6d 70 78 63 68 67 57 65 61 6b 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 mpxchgWeak</span>(<span.class="t
b2880 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.
b28a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 class="tok-type">type</span>,.pt
b28c0 72 3a 20 2a 54 2c 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 3a 20 54 2c 20 6e 65 77 5f 76 61 r:.*T,.expected_value:.T,.new_va
b28e0 6c 75 65 3a 20 54 2c 20 73 75 63 63 65 73 73 5f 6f 72 64 65 72 3a 20 41 74 6f 6d 69 63 4f 72 64 lue:.T,.success_order:.AtomicOrd
b2900 65 72 2c 20 66 61 69 6c 5f 6f 72 64 65 72 3a 20 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 3f 54 3c er,.fail_order:.AtomicOrder).?T<
b2920 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>...
b2940 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 61 20 77 65 61 ....This.function.performs.a.wea
b2960 6b 20 61 74 6f 6d 69 63 20 63 6f 6d 70 61 72 65 20 65 78 63 68 61 6e 67 65 20 6f 70 65 72 61 74 k.atomic.compare.exchange.operat
b2980 69 6f 6e 2e 20 49 74 27 73 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 74 68 69 73 ion..It's.the.equivalent.of.this
b29a0 20 63 6f 64 65 2c 0a 20 20 20 20 20 20 65 78 63 65 70 74 20 61 74 6f 6d 69 63 3a 0a 20 20 20 20 .code,.......except.atomic:.....
b29c0 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
b29e0 20 63 6c 61 73 73 3d 22 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
b2a00 6c 65 22 3e 63 6d 70 78 63 68 67 57 65 61 6b 42 75 74 4e 6f 74 41 74 6f 6d 69 63 3c 2f 63 69 74 le">cmpxchgWeakButNotAtomic</cit
b2a20 65 3e 3c 2f 66 69 67 63 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.
b2a40 63 6c 61 73 73 3d 22 6c 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
b2a60 22 3e 66 6e 3c 2f 73 70 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"
b2a80 3e 63 6d 70 78 63 68 67 57 65 61 6b 42 75 74 4e 6f 74 41 74 6f 6d 69 63 3c 2f 73 70 61 6e 3e 28 >cmpxchgWeakButNotAtomic</span>(
b2aa0 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
b2ac0 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
b2ae0 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 65 78 70 65 63 74 65 64 5f 76 61 ype</span>,.ptr:.*T,.expected_va
b2b00 6c 75 65 3a 20 54 2c 20 6e 65 77 5f 76 61 6c 75 65 3a 20 54 29 20 3f 54 20 7b 3c 2f 73 70 61 6e lue:.T,.new_value:.T).?T.{</span
b2b20 3e 0a 3c 73 70 61 6e 20 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
b2b40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 lass="tok-kw">const</span>.old_v
b2b60 61 6c 75 65 20 3d 20 70 74 72 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 alue.=.ptr.*;</span>.<span.class
b2b80 3d 22 6c 69 6e 65 22 3e 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"
b2ba0 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 6c 64 5f 76 61 6c 75 65 20 3d 3d 20 65 78 70 65 63 74 65 >if</span>.(old_value.==.expecte
b2bc0 64 5f 76 61 6c 75 65 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 d_value.<span.class="tok-kw">and
b2be0 3c 2f 73 70 61 6e 3e 20 75 73 75 61 6c 6c 79 54 72 75 65 42 75 74 53 6f 6d 65 74 69 6d 65 73 46 </span>.usuallyTrueButSometimesF
b2c00 61 6c 73 65 28 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 alse()).{</span>.<span.class="li
b2c20 6e 65 22 3e 20 20 20 20 20 20 20 20 70 74 72 2e 2a 20 3d 20 6e 65 77 5f 76 61 6c 75 65 3b 3c 2f ne">........ptr.*.=.new_value;</
b2c40 73 70 61 6e 3e 0a 3c 73 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">.......
b2c60 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
b2c80 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c an>.<span.class="tok-null">null<
b2ca0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
b2cc0 22 3e 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 ">....}.<span.class="tok-kw">els
b2ce0 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
b2d00 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
b2d20 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 3b 3c 2f 73 70 61 6e ">return</span>.old_value;</span
b2d40 3e 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
b2d60 3e 0a 3c 73 70 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
b2d80 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>...
b2da0 20 20 20 20 49 66 20 79 6f 75 20 61 72 65 20 75 73 69 6e 67 20 63 6d 70 78 63 68 67 20 69 6e 20 ....If.you.are.using.cmpxchg.in.
b2dc0 61 20 6c 6f 6f 70 2c 20 74 68 65 20 73 70 6f 72 61 64 69 63 20 66 61 69 6c 75 72 65 20 77 69 6c a.loop,.the.sporadic.failure.wil
b2de0 6c 20 62 65 20 6e 6f 20 70 72 6f 62 6c 65 6d 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e l.be.no.problem,.and.<code><span
b2e00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 73 70 61 6e 3e .class="line">cmpxchgWeak</span>
b2e20 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 73 20 74 68 65 20 62 65 74 74 65 72 20 63 68 6f 69 </code>.......is.the.better.choi
b2e40 63 65 2c 20 62 65 63 61 75 73 65 20 69 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 65 ce,.because.it.can.be.implemente
b2e60 64 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 69 6e 20 6d 61 63 68 69 6e 65 20 69 6e d.more.efficiently.in.machine.in
b2e80 73 74 72 75 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 20 69 66 20 79 6f 75 structions........However.if.you
b2ea0 20 6e 65 65 64 20 61 20 73 74 72 6f 6e 67 65 72 20 67 75 61 72 61 6e 74 65 65 2c 20 75 73 65 20 .need.a.stronger.guarantee,.use.
b2ec0 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
b2ee0 67 53 74 72 6f 6e 67 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 gStrong</a>........</p>.......<p
b2f00 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"
b2f20 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 70 6f 69 6e 74 >T</span></code>.must.be.a.point
b2f40 65 72 2c 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c er,.a.<code><span.class="line"><
b2f60 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
b2f80 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 ></span></code>,.a.float,.......
b2fa0 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 an.integer.or.an.enum........</p
b2fc0 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >.......<p><code><span.class="li
b2fe0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 ne"><span.class="tok-builtin">@t
b3000 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ypeInfo</span>(<span.class="tok-
b3020 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 70 74 72 29 29 2e 50 6f builtin">@TypeOf</span>(ptr)).Po
b3040 69 6e 74 65 72 2e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 inter.alignment</span></code>.mu
b3060 73 74 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 st.be.<code><span.class="line">&
b3080 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 gt;=.<span.class="tok-builtin">@
b30a0 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 54 29 2e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c sizeOf</span>(T).</span></code><
b30c0 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>.<
b30e0 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
b3100 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
b3120 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c omicLoad">@atomicLoad</a></li>.<
b3140 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 li><a.href="#atomicRmw">@atomicR
b3160 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 65 6e 63 65 22 mw</a></li>.<li><a.href="#fence"
b3180 3e 40 66 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 >@fence</a></li>.<li><a.href="#c
b31a0 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e mpxchgStrong">@cmpxchgStrong</a>
b31c0 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
b31e0 64 3d 22 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 d="compileError"><a.href="#toc-c
b3200 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 61 3e 20 3c ompileError">@compileError</a>.<
b3220 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6f 6d 70 69 6c 65 45 72 72 6f a.class="hdr".href="#compileErro
b3240 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 r">..</a></h3>........<pre><code
b3260 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
b3280 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
b32a0 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
b32c0 3c 2f 73 70 61 6e 3e 20 6d 73 67 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d </span>.msg:.[]<span.class="tok-
b32e0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f type">u8</span>)</span></code></
b3300 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 pre>.......<p>.......This.functi
b3320 6f 6e 2c 20 77 68 65 6e 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 61 6e 61 6c 79 7a 65 64 2c 20 on,.when.semantically.analyzed,.
b3340 63 61 75 73 65 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 77 69 74 68 20 74 68 65 0a causes.a.compile.error.with.the.
b3360 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ......message.<code><span.class=
b3380 22 6c 69 6e 65 22 3e 6d 73 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 "line">msg</span></code>........
b33a0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 73 </p>.......<p>.......There.are.s
b33c0 65 76 65 72 61 6c 20 77 61 79 73 20 74 68 61 74 20 63 6f 64 65 20 61 76 6f 69 64 73 20 62 65 69 everal.ways.that.code.avoids.bei
b33e0 6e 67 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 63 68 65 63 6b 65 64 2c 20 73 75 63 68 20 61 73 ng.semantically.checked,.such.as
b3400 0a 20 20 20 20 20 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .......using.<code><span.class="
b3420 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 line"><span.class="tok-kw">if</s
b3440 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 pan></span></code>.or.<code><spa
b3460 6e 20 63 6c 61 73 73 3d 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-
b3480 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 kw">switch</span></span></code>.
b34a0 77 69 74 68 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 73 2c 0a 20 20 20 with.compile.time.constants,....
b34c0 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ...........and.<code><span.class
b34e0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d ="line"><span.class="tok-kw">com
b3500 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 ptime</span></span></code>.funct
b3520 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c ions........</p>...............<
b3540 68 33 20 69 64 3d 22 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 h3.id="compileLog"><a.href="#toc
b3560 2d 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 61 3e 20 3c 61 20 -compileLog">@compileLog</a>.<a.
b3580 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e c2 class="hdr".href="#compileLog">.
b35a0 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
b35c0 61 6e 20 63 6c 61 73 73 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
b35e0 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 28 61 72 67 -builtin">@compileLog</span>(arg
b3600 73 3a 20 2e 2e 2e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 s:....)</span></code></pre>.....
b3620 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 72 69 6e 74 73 ..<p>.......This.function.prints
b3640 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 6f 20 69 74 20 61 74 20 63 .the.arguments.passed.to.it.at.c
b3660 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
b3680 3e 0a 20 20 20 20 20 20 54 6f 20 70 72 65 76 65 6e 74 20 61 63 63 69 64 65 6e 74 61 6c 6c 79 20 >.......To.prevent.accidentally.
b36a0 6c 65 61 76 69 6e 67 20 63 6f 6d 70 69 6c 65 20 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 73 20 69 leaving.compile.log.statements.i
b36c0 6e 20 61 20 63 6f 64 65 62 61 73 65 2c 0a 20 20 20 20 20 20 61 20 63 6f 6d 70 69 6c 61 74 69 6f n.a.codebase,.......a.compilatio
b36e0 6e 20 65 72 72 6f 72 20 69 73 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 62 75 69 6c 64 2c 20 70 n.error.is.added.to.the.build,.p
b3700 6f 69 6e 74 69 6e 67 20 74 6f 20 74 68 65 20 63 6f 6d 70 69 6c 65 0a 20 20 20 20 20 20 6c 6f 67 ointing.to.the.compile.......log
b3720 20 73 74 61 74 65 6d 65 6e 74 2e 20 54 68 69 73 20 65 72 72 6f 72 20 70 72 65 76 65 6e 74 73 20 .statement..This.error.prevents.
b3740 63 6f 64 65 20 66 72 6f 6d 20 62 65 69 6e 67 20 67 65 6e 65 72 61 74 65 64 2c 20 62 75 74 0a 20 code.from.being.generated,.but..
b3760 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 6f 74 68 65 72 77 69 73 65 20 69 6e 74 65 72 66 65 72 .....does.not.otherwise.interfer
b3780 65 20 77 69 74 68 20 61 6e 61 6c 79 73 69 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 e.with.analysis........</p>.....
b37a0 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 ..<p>.......This.function.can.be
b37c0 20 75 73 65 64 20 74 6f 20 64 6f 20 22 70 72 69 6e 74 66 20 64 65 62 75 67 67 69 6e 67 22 20 6f .used.to.do."printf.debugging".o
b37e0 6e 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 65 78 65 63 75 74 69 6e 67 20 63 n.......compile-time.executing.c
b3800 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 ode........</p>.......<figure><f
b3820 69 67 63 61 70 74 69 6f 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.
b3840 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
b3860 67 63 61 70 74 69 6f 6e 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=
b3880 22 6c 69 6e 65 22 3e 3c 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
b38a0 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
b38c0 6b 2d 62 75 69 6c 74 69 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.
b38e0 63 6c 61 73 73 3d 22 74 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;<
b3900 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
b3920 6e 20 63 6c 61 73 73 3d 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
b3940 73 73 3d 22 6c 69 6e 65 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
b3960 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 31 20 3d 20 62 6c 6b 3a 20 7b 3c 2f 73 70 61 6e 3e onst</span>.num1.=.blk:.{</span>
b3980 0a 3c 73 70 61 6e 20 63 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
b39a0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 61 6c 31 3a 20 3c 73 ass="tok-kw">var</span>.val1:.<s
b39c0 70 61 6e 20 63 6c 61 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>.
b39e0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 =.<span.class="tok-number">99</s
b3a00 70 61 6e 3e 3b 3c 2f 73 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">
b3a20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 ....<span.class="tok-builtin">@c
b3a40 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ompileLog</span>(<span.class="to
b3a60 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 6c 31 20 3d 20 26 71 75 k-str">&quot;comptime.val1.=.&qu
b3a80 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ot;</span>,.val1);</span>.<span.
b3aa0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 6c 31 20 3d 20 76 61 6c 31 20 2b 20 3c class="line">....val1.=.val1.+.<
b3ac0 73 70 61 6e 20 63 6c 61 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>
b3ae0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
b3b00 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
b3b20 3e 20 3a 62 6c 6b 20 76 61 6c 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >.:blk.val1;</span>.<span.class=
b3b40 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
b3b60 6e 65 22 3e 3c 2f 73 70 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"><
b3b80 73 70 61 6e 20 63 6c 61 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>.
b3ba0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 61 69 6e <span.class="tok-str">&quot;main
b3bc0 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
b3be0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 ss="line">....<span.class="tok-b
b3c00 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e uiltin">@compileLog</span>(<span
b3c20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 .class="tok-str">&quot;comptime.
b3c40 69 6e 20 6d 61 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 in.main&quot;</span>);</span>.<s
b3c60 70 61 6e 20 63 6c 61 73 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
b3c80 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
b3ca0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 52 75 6e 74 69 6d 65 20 69 6e 20 6d 61 69 s="tok-str">&quot;Runtime.in.mai
b3cc0 6e 2c 20 6e 75 6d 31 20 3d 20 7b 7d 2e 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b n,.num1.=.{}.\n&quot;</span>,..{
b3ce0 6e 75 6d 31 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 num1});</span>.<span.class="line
b3d00 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>
b3d20 3c 66 69 67 75 72 65 3e 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
b3d40 2d 63 61 70 22 3e 53 68 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
b3d60 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
b3d80 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .test.test.zig</kbd></span>.<spa
b3da0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7c 20 2a 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 n.class="line">|.*&quot;comptime
b3dc0 20 69 6e 20 6d 61 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .in.main&quot;</span>.<span.clas
b3de0 73 3d 22 6c 69 6e 65 22 3e 7c 20 2a 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 6c 31 20 s="line">|.*&quot;comptime.val1.
b3e00 3d 20 26 71 75 6f 74 3b 2c 20 39 39 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d =.&quot;,.99</span>.<span.class=
b3e20 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
b3e40 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 31 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 en_tmp/test.zig:11:5:.</span><sp
b3e60 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><
b3e80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 66 6f 75 6e 64 20 63 6f 6d 70 69 6c 65 20 span.class="t0_1">found.compile.
b3ea0 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 log.statement</span></span>.<spa
b3ec0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 6f 6d 70 69 6c 65 4c 6f 67 28 26 n.class="line">....@compileLog(&
b3ee0 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 69 6e 20 6d 61 69 6e 26 71 75 6f 74 3b 29 3b 3c 2f 73 quot;comptime.in.main&quot;);</s
b3f00 70 61 6e 3e 0a 3c 73 70 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
b3f20 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>.
b3f40 3c 73 70 61 6e 20 63 6c 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="
b3f60 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 35 3a t0_1">./docgen_tmp/test.zig:5:5:
b3f80 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
b3fa0 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 66 6f 75 r:.</span><span.class="t0_1">fou
b3fc0 6e 64 20 63 6f 6d 70 69 6c 65 20 6c 6f 67 20 73 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 3c nd.compile.log.statement</span><
b3fe0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 /span>.<span.class="line">....@c
b4000 6f 6d 70 69 6c 65 4c 6f 67 28 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 6c 31 20 3d 20 ompileLog(&quot;comptime.val1.=.
b4020 26 71 75 6f 74 3b 2c 20 76 61 6c 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 &quot;,.val1);</span>.<span.clas
b4040 73 3d 22 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"
b4060 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></
b4080 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 77 69 6c 6c 20 6f 75 74 figure>.......<p>.......will.out
b40a0 70 75 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 put:.......</p>.......<p>.......
b40c0 49 66 20 61 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e If.all.<code><span.class="line">
b40e0 3c 73 70 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
b4100 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 73 leLog</span></span></code>.calls
b4120 20 61 72 65 20 72 65 6d 6f 76 65 64 20 6f 72 0a 20 20 20 20 20 20 6e 6f 74 20 65 6e 63 6f 75 6e .are.removed.or.......not.encoun
b4140 74 65 72 65 64 20 62 79 20 61 6e 61 6c 79 73 69 73 2c 20 74 68 65 0a 20 20 20 20 20 20 70 72 6f tered.by.analysis,.the.......pro
b4160 67 72 61 6d 20 63 6f 6d 70 69 6c 65 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 61 6e 64 20 74 gram.compiles.successfully.and.t
b4180 68 65 20 67 65 6e 65 72 61 74 65 64 20 65 78 65 63 75 74 61 62 6c 65 20 70 72 69 6e 74 73 3a 0a he.generated.executable.prints:.
b41a0 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
b41c0 74 69 6f 6e 20 63 6c 61 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
b41e0 3d 22 66 69 6c 65 22 3e 77 69 74 68 6f 75 74 5f 63 6f 6d 70 69 6c 65 4c 6f 67 2e 7a 69 67 3c 2f ="file">without_compileLog.zig</
b4200 63 69 74 65 3e 3c 2f 66 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
b4220 61 6e 20 63 6c 61 73 73 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
b4240 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6e 74 20 3d 20 3c 73 70 61 6e 20 -kw">const</span>.print.=.<span.
b4260 63 6c 61 73 73 3d 22 74 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
b4280 6e 3e 28 3c 73 70 61 6e 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
b42a0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 72 69 6e 74 3b 3c 2f 73 td&quot;</span>).debug.print;</s
b42c0 70 61 6e 3e 0a 3c 73 70 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>.
b42e0 3c 73 70 61 6e 20 63 6c 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="
b4300 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 31 20 3d 20 62 6c 6b 3a tok-kw">const</span>.num1.=.blk:
b4320 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
b4340 20 3c 73 70 61 6e 20 63 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>
b4360 20 76 61 6c 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 .val1:.<span.class="tok-type">i3
b4380 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
b43a0 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">99</span>;</span>.<span.clas
b43c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 6c 31 20 3d 20 76 61 6c 31 20 2b 20 3c 73 70 61 6e s="line">....val1.=.val1.+.<span
b43e0 20 63 6c 61 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
b4400 70 61 6e 3e 0a 3c 73 70 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
b4420 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 n.class="tok-kw">break</span>.:b
b4440 6c 6b 20 76 61 6c 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e lk.val1;</span>.<span.class="lin
b4460 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">
b4480 3c 2f 73 70 61 6e 3e 0a 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
b44a0 20 63 6c 61 73 73 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
b44c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 61 69 6e 26 71 75 6f n.class="tok-str">&quot;main&quo
b44e0 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="
b4500 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
b4520 2d 73 74 72 22 3e 26 71 75 6f 74 3b 52 75 6e 74 69 6d 65 20 69 6e 20 6d 61 69 6e 2c 20 6e 75 6d -str">&quot;Runtime.in.main,.num
b4540 31 20 3d 20 7b 7d 2e 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 31 7d 29 1.=.{}.\n&quot;</span>,..{num1})
b4560 3b 3c 2f 73 70 61 6e 3e 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
b4580 70 61 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
b45a0 65 3e 3c 66 69 67 63 61 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">
b45c0 53 68 65 6c 6c 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
b45e0 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.
b4600 77 69 74 68 6f 75 74 5f 63 6f 6d 70 69 6c 65 4c 6f 67 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 without_compileLog.zig</kbd></sp
b4620 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 an>.<span.class="line">1/1.test.
b4640 26 71 75 6f 74 3b 6d 61 69 6e 26 71 75 6f 74 3b 2e 2e 2e 20 52 75 6e 74 69 6d 65 20 69 6e 20 6d &quot;main&quot;....Runtime.in.m
b4660 61 69 6e 2c 20 6e 75 6d 31 20 3d 20 31 30 30 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ain,.num1.=.100.</span>.<span.cl
b4680 61 73 73 3d 22 6c 69 6e 65 22 3e 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ass="line">OK</span>.<span.class
b46a0 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
b46c0 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>.......
b46e0 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 63 74 7a 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ........<h3.id="ctz"><a.href="#t
b4700 6f 63 2d 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 oc-ctz">@ctz</a>.<a.class="hdr".
b4720 68 72 65 66 3d 22 23 63 74 7a 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c href="#ctz">..</a></h3>........<
b4740 70 72 65 3e 3c 63 6f 64 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
b4760 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 74 7a 3c 2f 73 70 61 an.class="tok-builtin">@ctz</spa
b4780 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
b47a0 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
b47c0 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 6f 70 65 72 61 6e 64 3a 20 54 29 3c 2f 73 70 61 6e ">type</span>,.operand:.T)</span
b47e0 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
b4800 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e pan.class="line">T</span></code>
b4820 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 3c 2f 70 3e 0a 20 20 .must.be.an.integer.type.</p>...
b4840 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">
b4860 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 operand</span></code>.may.be.an.
b4880 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 20 <a.href="#Integers">integer</a>.
b48a0 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e or.<a.href="#Vectors">vector</a>
b48c0 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 .</p>.......<p>.......This.funct
b48e0 69 6f 6e 20 63 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c 65 61 73 74 2d 73 ion.counts.the.number.of.least-s
b4900 69 67 6e 69 66 69 63 61 6e 74 20 28 74 72 61 69 6c 69 6e 67 20 69 6e 20 61 20 62 69 67 2d 45 6e ignificant.(trailing.in.a.big-En
b4920 64 69 61 6e 20 73 65 6e 73 65 29 20 7a 65 72 6f 65 73 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 dian.sense).zeroes.in.an.integer
b4940 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 ........</p>.......<p>.......If.
b4960 3c 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
b4980 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f </span></code>.is.a.<a.href="#co
b49a0 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 69 6e 74 65 67 mptime">comptime</a>-known.integ
b49c0 65 72 2c 0a 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 3c 63 6f er,.......the.return.type.is.<co
b49e0 64 65 3e 3c 73 70 61 6e 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
b4a00 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e s="tok-type">comptime_int</span>
b4a20 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c </span></code>........Otherwise,
b4a40 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 .the.return.type.is.an.unsigned.
b4a60 69 6e 74 65 67 65 72 20 6f 72 20 76 65 63 74 6f 72 20 6f 66 20 75 6e 73 69 67 6e 65 64 20 69 6e integer.or.vector.of.unsigned.in
b4a80 74 65 67 65 72 73 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 6e 75 6d 62 65 72 0a 20 tegers.with.the.minimum.number..
b4aa0 20 20 20 20 20 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 .....of.bits.that.can.represent.
b4ac0 74 68 65 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 the.bit.count.of.the.integer.typ
b4ae0 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
b4b00 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e .<code><span.class="line">operan
b4b20 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 7a 65 72 6f 2c 20 3c 63 6f 64 65 3e 3c d</span></code>.is.zero,.<code><
b4b40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
b4b60 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 74 7a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f ok-builtin">@ctz</span></span></
b4b80 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 74 68 65 20 62 69 74 20 77 69 64 74 code>.returns.......the.bit.widt
b4ba0 68 20 6f 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c h.of.integer.type.<code><span.cl
b4bc0 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 ass="line">T</span></code>......
b4be0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c ..</p>.......<p>See.also:</p><ul
b4c00 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c >.<li><a.href="#clz">@clz</a></l
b4c20 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 i>.<li><a.href="#popCount">@popC
b4c40 6f 75 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 ount</a></li>.</ul>.............
b4c60 20 20 20 3c 68 33 20 69 64 3d 22 63 55 6e 64 65 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ...<h3.id="cUndef"><a.href="#toc
b4c80 2d 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 -cUndef">@cUndef</a>.<a.class="h
b4ca0 64 72 22 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a dr".href="#cUndef">..</a></h3>..
b4cc0 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
b4ce0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 ne"><span.class="tok-builtin">@c
b4d00 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 Undef</span>(<span.class="tok-kw
b4d20 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 ">comptime</span>.name:.[]<span.
b4d40 63 6c 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
b4d60 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>.......
b4d80 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 6f 6e 6c 79 20 6f 63 63 75 72 20 69 6e 73 This.function.can.only.occur.ins
b4da0 69 64 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 ide.<code><span.class="line"><sp
b4dc0 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<
b4de0 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>
b4e00 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 61 70 70 65 6e 64 73 20 3c 63 .......<p>.......This.appends.<c
b4e20 6f 64 65 3e 23 75 6e 64 65 66 20 24 6e 61 6d 65 3c 2f 63 6f 64 65 3e 20 74 6f 20 74 68 65 20 3c ode>#undef.$name</code>.to.the.<
b4e40 63 6f 64 65 3e 3c 73 70 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
b4e60 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
b4e80 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 74 65 6d 70 6f 72 61 72 79 20 ></span></code>.......temporary.
b4ea0 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 buffer........</p>.......<p>See.
b4ec0 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f also:</p><ul>.<li><a.href="#Impo
b4ee0 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 rt-from-C-Header-File">Import.fr
b4f00 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 om.C.Header.File</a></li>.<li><a
b4f20 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c .href="#cImport">@cImport</a></l
b4f40 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 i>.<li><a.href="#cDefine">@cDefi
b4f60 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 ne</a></li>.<li><a.href="#cInclu
b4f80 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 de">@cInclude</a></li>.</ul>....
b4fa0 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 45 78 61 63 74 22 3e 3c 61 ............<h3.id="divExact"><a
b4fc0 20 68 72 65 66 3d 22 23 74 6f 63 2d 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c .href="#toc-divExact">@divExact<
b4fe0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 /a>.<a.class="hdr".href="#divExa
b5000 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 ct">..</a></h3>........<pre><cod
b5020 65 3e 3c 73 70 61 6e 20 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
b5040 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 ="tok-builtin">@divExact</span>(
b5060 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c numerator:.T,.denominator:.T).T<
b5080 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>...
b50a0 20 20 20 20 45 78 61 63 74 20 64 69 76 69 73 69 6f 6e 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 ....Exact.division..Caller.guara
b50c0 6e 74 65 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 ntees.<code><span.class="line">d
b50e0 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e enominator.!=.<span.class="tok-n
b5100 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e umber">0</span></span></code>.an
b5120 64 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d...........<code><span.class="l
b5140 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">@
b5160 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 2c 20 64 65 6e 6f 6d divTrunc</span>(numerator,.denom
b5180 69 6e 61 74 6f 72 29 20 2a 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d 20 6e 75 6d 65 72 61 74 inator).*.denominator.==.numerat
b51a0 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 or</span></code>........</p>....
b51c0 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 ...<ul>...........<li><code><spa
b51e0 6e 20 63 6c 61 73 73 3d 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-
b5200 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 builtin">@divExact</span>(<span.
b5220 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">6</span>,.<sp
b5240 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>).
b5260 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 ==.<span.class="tok-number">2</s
b5280 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>.........
b52a0 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"><
b52c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 45 78 61 span.class="tok-builtin">@divExa
b52e0 63 74 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 20 3d 3d 20 61 3c 2f 73 70 61 6e 3e 3c ct</span>(a,.b).*.b.==.a</span><
b5300 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 /code></li>.......</ul>.......<p
b5320 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 20 70 >For.a.function.that.returns.a.p
b5340 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 ossible.error.code,.use.<code><s
b5360 70 61 6e 20 63 6c 61 73 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
b5380 6b 2d 62 75 69 6c 74 69 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.
b53a0 63 6c 61 73 73 3d 22 74 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;<
b53c0 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f /span>).math.divExact</span></co
b53e0 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c de>.</p>.......<p>See.also:</p><
b5400 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 ul>.<li><a.href="#divTrunc">@div
b5420 54 72 75 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 Trunc</a></li>.<li><a.href="#div
b5440 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a Floor">@divFloor</a></li>.</ul>.
b5460 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 46 6c 6f 6f 72 22 3e ..............<h3.id="divFloor">
b5480 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f <a.href="#toc-divFloor">@divFloo
b54a0 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 76 46 r</a>.<a.class="hdr".href="#divF
b54c0 6c 6f 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 loor">..</a></h3>........<pre><c
b54e0 6f 64 65 3e 3c 73 70 61 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
b5500 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e ss="tok-builtin">@divFloor</span
b5520 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 >(numerator:.T,.denominator:.T).
b5540 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a T</span></code></pre>.......<p>.
b5560 20 20 20 20 20 20 46 6c 6f 6f 72 65 64 20 64 69 76 69 73 69 6f 6e 2e 20 52 6f 75 6e 64 73 20 74 ......Floored.division..Rounds.t
b5580 6f 77 61 72 64 20 6e 65 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2e 20 46 6f 72 20 75 6e 73 oward.negative.infinity..For.uns
b55a0 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 69 74 20 69 73 0a 20 20 20 20 20 20 74 68 65 20 73 igned.integers.it.is.......the.s
b55c0 61 6d 65 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ame.as.<code><span.class="line">
b55e0 6e 75 6d 65 72 61 74 6f 72 20 2f 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f numerator./.denominator</span></
b5600 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 3c code>..Caller.guarantees.<code><
b5620 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 3d span.class="line">denominator.!=
b5640 20 3c 73 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
b5660 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 n></span></code>.and............
b5680 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 28 3c 73 ...<code><span.class="line">!(<s
b56a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 pan.class="tok-builtin">@typeInf
b56c0 6f 3c 2f 73 70 61 6e 3e 28 54 29 20 3d 3d 20 2e 49 6e 74 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d o</span>(T).==..Int.<span.class=
b56e0 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 54 2e 69 73 5f 73 69 67 6e 65 64 20 "tok-kw">and</span>.T.is_signed.
b5700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">and</span>.
b5720 6e 75 6d 65 72 61 74 6f 72 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 54 29 20 numerator.==.std.math.minInt(T).
b5740 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">and</span>.
b5760 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b denominator.==.-<span.class="tok
b5780 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e -number">1</span>)</span></code>
b57a0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 ........</p>.......<ul>.........
b57c0 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"><
b57e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 46 6c 6f span.class="tok-builtin">@divFlo
b5800 6f 72 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 or</span>(-<span.class="tok-numb
b5820 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e er">5</span>,.<span.class="tok-n
b5840 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 umber">3</span>).==.-<span.class
b5860 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ="tok-number">2</span></span></c
b5880 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 ode></li>...........<li><code><s
b58a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan.class="line">(<span.class="t
b58c0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 61 2c 20 ok-builtin">@divFloor</span>(a,.
b58e0 62 29 20 2a 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 b).*.b).+.<span.class="tok-built
b5900 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 73 70 61 6e in">@mod</span>(a,.b).==.a</span
b5920 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 ></code></li>.......</ul>.......
b5940 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 <p>For.a.function.that.returns.a
b5960 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e .possible.error.code,.use.<code>
b5980 3c 73 70 61 6e 20 63 6c 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="
b59a0 74 6f 6b 2d 62 75 69 6c 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
b59c0 6e 20 63 6c 61 73 73 3d 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
b59e0 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 3c 2f ;</span>).math.divFloor</span></
b5a00 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 code>.</p>.......<p>See.also:</p
b5a20 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 ><ul>.<li><a.href="#divTrunc">@d
b5a40 69 76 54 72 75 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 ivTrunc</a></li>.<li><a.href="#d
b5a60 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c ivExact">@divExact</a></li>.</ul
b5a80 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 64 69 76 54 72 75 6e 63 >...............<h3.id="divTrunc
b5aa0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 "><a.href="#toc-divTrunc">@divTr
b5ac0 75 6e 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 unc</a>.<a.class="hdr".href="#di
b5ae0 76 54 72 75 6e 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e vTrunc">..</a></h3>........<pre>
b5b00 3c 63 6f 64 65 3e 3c 73 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
b5b20 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
b5b40 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 an>(numerator:.T,.denominator:.T
b5b60 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 ).T</span></code></pre>.......<p
b5b80 3e 0a 20 20 20 20 20 20 54 72 75 6e 63 61 74 65 64 20 64 69 76 69 73 69 6f 6e 2e 20 52 6f 75 6e >.......Truncated.division..Roun
b5ba0 64 73 20 74 6f 77 61 72 64 20 7a 65 72 6f 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 ds.toward.zero..For.unsigned.int
b5bc0 65 67 65 72 73 20 69 74 20 69 73 0a 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 63 egers.it.is.......the.same.as.<c
b5be0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6e 75 6d 65 72 61 74 6f 72 ode><span.class="line">numerator
b5c00 20 2f 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 43 61 ./.denominator</span></code>..Ca
b5c20 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ller.guarantees.<code><span.clas
b5c40 73 3d 22 6c 69 6e 65 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 3d 20 3c 73 70 61 6e 20 63 6c s="line">denominator.!=.<span.cl
b5c60 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ass="tok-number">0</span></span>
b5c80 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e </code>.and...............<code>
b5ca0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 21 28 3c 73 70 61 6e 20 63 6c 61 73 73 <span.class="line">!(<span.class
b5cc0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 ="tok-builtin">@typeInfo</span>(
b5ce0 54 29 20 3d 3d 20 2e 49 6e 74 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e T).==..Int.<span.class="tok-kw">
b5d00 61 6e 64 3c 2f 73 70 61 6e 3e 20 54 2e 69 73 5f 73 69 67 6e 65 64 20 3c 73 70 61 6e 20 63 6c 61 and</span>.T.is_signed.<span.cla
b5d20 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 6e 75 6d 65 72 61 74 6f 72 ss="tok-kw">and</span>.numerator
b5d40 20 3d 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 54 29 20 3c 73 70 61 6e 20 63 6c 61 .==.std.math.minInt(T).<span.cla
b5d60 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 64 65 6e 6f 6d 69 6e 61 74 ss="tok-kw">and</span>.denominat
b5d80 6f 72 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e or.==.-<span.class="tok-number">
b5da0 31 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 1</span>)</span></code>........<
b5dc0 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f /p>.......<ul>...........<li><co
b5de0 64 65 3e 3c 73 70 61 6e 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
b5e00 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e s="tok-builtin">@divTrunc</span>
b5e20 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 (-<span.class="tok-number">5</sp
b5e40 61 6e 3e 2c 20 3c 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<
b5e60 2f 73 70 61 6e 3e 29 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d /span>).==.-<span.class="tok-num
b5e80 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e ber">1</span></span></code></li>
b5ea0 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
b5ec0 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 ="line">(<span.class="tok-builti
b5ee0 6e 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 29 20 2b n">@divTrunc</span>(a,.b).*.b).+
b5f00 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d 3c .<span.class="tok-builtin">@rem<
b5f20 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c /span>(a,.b).==.a</span></code><
b5f40 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 /li>.......</ul>.......<p>For.a.
b5f60 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 20 70 6f 73 73 69 62 6c 65 function.that.returns.a.possible
b5f80 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 .error.code,.use.<code><span.cla
b5fa0 73 73 3d 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
b5fc0 69 6e 22 3e 40 69 6d 70 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="
b5fe0 74 6f 6b 2d 73 74 72 22 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>)
b6000 2e 6d 61 74 68 2e 64 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 .math.divTrunc</span></code>.</p
b6020 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
b6040 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f ><a.href="#divFloor">@divFloor</
b6060 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e a></li>.<li><a.href="#divExact">
b6080 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 @divExact</a></li>.</ul>........
b60a0 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 6d 62 65 64 46 69 6c 65 22 3e 3c 61 20 68 72 65 .......<h3.id="embedFile"><a.hre
b60c0 66 3d 22 23 74 6f 63 2d 65 6d 62 65 64 46 69 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 f="#toc-embedFile">@embedFile</a
b60e0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 6d 62 65 64 46 69 6c >.<a.class="hdr".href="#embedFil
b6100 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 e">..</a></h3>........<pre><code
b6120 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
b6140 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 28 "tok-builtin">@embedFile</span>(
b6160 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
b6180 70 61 6e 3e 20 70 61 74 68 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 pan>.path:.[]<span.class="tok-kw
b61a0 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-
b61c0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 type">u8</span>).*<span.class="t
b61e0 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5b 4e 3a 3c 73 70 61 6e 20 63 6c 61 ok-kw">const</span>.[N:<span.cla
b6200 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 ss="tok-number">0</span>]<span.c
b6220 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e lass="tok-type">u8</span></span>
b6240 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
b6260 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 63 6f 6d 70 69 6c 65 20 74 69 is.function.returns.a.compile.ti
b6280 6d 65 20 63 6f 6e 73 74 61 6e 74 20 70 6f 69 6e 74 65 72 20 74 6f 20 6e 75 6c 6c 2d 74 65 72 6d me.constant.pointer.to.null-term
b62a0 69 6e 61 74 65 64 2c 0a 20 20 20 20 20 20 66 69 78 65 64 2d 73 69 7a 65 20 61 72 72 61 79 20 77 inated,.......fixed-size.array.w
b62c0 69 74 68 20 6c 65 6e 67 74 68 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 62 79 74 65 20 63 6f 75 ith.length.equal.to.the.byte.cou
b62e0 6e 74 20 6f 66 20 74 68 65 20 66 69 6c 65 20 67 69 76 65 6e 20 62 79 0a 20 20 20 20 20 20 3c 63 nt.of.the.file.given.by.......<c
b6300 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 74 68 3c 2f 73 70 61 ode><span.class="line">path</spa
b6320 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 61 n></code>..The.contents.of.the.a
b6340 72 72 61 79 20 61 72 65 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 66 69 6c rray.are.the.contents.of.the.fil
b6360 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 e........This.is.equivalent.to.a
b6380 20 3c 61 20 68 72 65 66 3d 22 23 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 55 .<a.href="#String-Literals-and-U
b63a0 6e 69 63 6f 64 65 2d 43 6f 64 65 2d 50 6f 69 6e 74 2d 4c 69 74 65 72 61 6c 73 22 3e 73 74 72 69 nicode-Code-Point-Literals">stri
b63c0 6e 67 20 6c 69 74 65 72 61 6c 3c 2f 61 3e 0a 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 66 69 ng.literal</a>.......with.the.fi
b63e0 6c 65 20 63 6f 6e 74 65 6e 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 le.contents........</p>.......<p
b6400 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"
b6420 3e 70 61 74 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 62 73 6f 6c 75 74 65 20 >path</span></code>.is.absolute.
b6440 6f 72 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 6c 65 2c or.relative.to.the.current.file,
b6460 20 6a 75 73 74 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .just.like.<code><span.class="li
b6480 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
b64a0 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 mport</span></span></code>......
b64c0 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c ..</p>.......<p>See.also:</p><ul
b64e0 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c >.<li><a.href="#import">@import<
b6500 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
b6520 33 20 69 64 3d 22 65 6e 75 6d 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 3.id="enumToInt"><a.href="#toc-e
b6540 6e 75 6d 54 6f 49 6e 74 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 numToInt">@enumToInt</a>.<a.clas
b6560 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 6e 75 6d 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e s="hdr".href="#enumToInt">..</a>
b6580 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
b65a0 61 73 73 3d 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
b65c0 74 69 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 65 6e 75 6d 5f 6f 72 5f 74 tin">@enumToInt</span>(enum_or_t
b65e0 61 67 67 65 64 5f 75 6e 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 agged_union:.<span.class="tok-kw
b6600 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">anytype</span>).<span.class="t
b6620 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
b6640 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 de></pre>.......<p>.......Conver
b6660 74 73 20 61 6e 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 20 69 6e 74 6f 20 69 74 73 ts.an.enumeration.value.into.its
b6680 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 2e 20 57 68 65 6e 20 61 20 74 61 67 67 65 64 .integer.tag.type..When.a.tagged
b66a0 20 75 6e 69 6f 6e 20 69 73 20 70 61 73 73 65 64 2c 0a 20 20 20 20 20 20 74 68 65 20 74 61 67 20 .union.is.passed,.......the.tag.
b66c0 76 61 6c 75 65 20 69 73 20 75 73 65 64 20 61 73 20 74 68 65 20 65 6e 75 6d 65 72 61 74 69 6f 6e value.is.used.as.the.enumeration
b66e0 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 .value........</p>.......<p>....
b6700 20 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6f 6e 6c 79 20 6f 6e 65 20 70 6f 73 73 69 62 6c 65 ...If.there.is.only.one.possible
b6720 20 65 6e 75 6d 20 76 61 6c 75 65 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 3c 63 6f .enum.value,.the.result.is.a.<co
b6740 64 65 3e 3c 73 70 61 6e 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
b6760 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e s="tok-type">comptime_int</span>
b6780 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 6b 6e 6f 77 6e 20 61 74 20 3c 61 </span></code>.......known.at.<a
b67a0 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2e 0a .href="#comptime">comptime</a>..
b67c0 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
b67e0 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 ><ul>.<li><a.href="#intToEnum">@
b6800 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 intToEnum</a></li>.</ul>........
b6820 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 72 72 6f 72 4e 61 6d 65 22 3e 3c 61 20 68 72 ........<h3.id="errorName"><a.hr
b6840 65 66 3d 22 23 74 6f 63 2d 65 72 72 6f 72 4e 61 6d 65 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f ef="#toc-errorName">@errorName</
b6860 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 6f 72 4e 61 a>.<a.class="hdr".href="#errorNa
b6880 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 me">..</a></h3>........<pre><cod
b68a0 65 3e 3c 73 70 61 6e 20 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
b68c0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e ="tok-builtin">@errorName</span>
b68e0 28 65 72 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 (err:.<span.class="tok-type">any
b6900 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 29 20 5b 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b error</span>).[:<span.class="tok
b6920 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -number">0</span>]<span.class="t
b6940 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=
b6960 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
b6980 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
b69a0 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 nction.returns.the.string.repres
b69c0 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 6f 72 2e 20 54 68 65 20 73 74 72 69 6e 67 entation.of.an.error..The.string
b69e0 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 6f 66 20 3c 63 6f 64 65 3e 3c .representation.......of.<code><
b6a00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
b6a20 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 3c 2f 73 70 ok-kw">error</span>.OutOfMem</sp
b6a40 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d an></code>.is.<code><span.class=
b6a60 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 "line"><span.class="tok-str">&qu
b6a80 6f 74 3b 4f 75 74 4f 66 4d 65 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ot;OutOfMem&quot;</span></span><
b6aa0 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>....
b6ac0 20 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 63 61 6c 6c 73 20 74 6f 20 3c 63 6f 64 ...If.there.are.no.calls.to.<cod
b6ae0 65 3e 3c 73 70 61 6e 20 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
b6b00 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e ="tok-builtin">@errorName</span>
b6b20 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 61 6e 20 65 6e 74 69 72 65 20 61 70 70 6c </span></code>.in.an.entire.appl
b6b40 69 63 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 6f 72 20 61 6c 6c 20 63 61 6c 6c 73 20 68 61 76 65 ication,.......or.all.calls.have
b6b60 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 66 6f 72 20 .a.compile-time.known.value.for.
b6b80 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 3c 2f 73 70 <code><span.class="line">err</sp
b6ba0 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e 20 6e 6f 0a 20 20 20 20 20 20 65 72 72 6f 72 20 an></code>,.then.no.......error.
b6bc0 6e 61 6d 65 20 74 61 62 6c 65 20 77 69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64 2e 0a 20 20 name.table.will.be.generated....
b6be0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 ....</p>...............<h3.id="e
b6c00 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 rrorReturnTrace"><a.href="#toc-e
b6c20 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e 40 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 rrorReturnTrace">@errorReturnTra
b6c40 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 ce</a>.<a.class="hdr".href="#err
b6c60 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 orReturnTrace">..</a></h3>......
b6c80 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">
b6ca0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 <span.class="tok-builtin">@error
b6cc0 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 73 70 61 6e 3e 28 29 20 3f 2a 62 75 69 6c 74 69 6e 2e 53 ReturnTrace</span>().?*builtin.S
b6ce0 74 61 63 6b 54 72 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 tackTrace</span></code></pre>...
b6d00 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 62 69 6e 61 72 79 20 69 73 20 62 ....<p>.......If.the.binary.is.b
b6d20 75 69 6c 74 20 77 69 74 68 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 2c 20 uilt.with.error.return.tracing,.
b6d40 61 6e 64 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 76 6f 6b 65 64 20 69 6e 20 and.this.function.is.invoked.in.
b6d60 61 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6c 6c 73 20 61 20 66 75 a.......function.that.calls.a.fu
b6d80 6e 63 74 69 6f 6e 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 6f 72 20 65 72 72 6f 72 20 75 6e nction.with.an.error.or.error.un
b6da0 69 6f 6e 20 72 65 74 75 72 6e 20 74 79 70 65 2c 20 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 ion.return.type,.returns.a......
b6dc0 20 73 74 61 63 6b 20 74 72 61 63 65 20 6f 62 6a 65 63 74 2e 20 4f 74 68 65 72 77 69 73 65 20 72 .stack.trace.object..Otherwise.r
b6de0 65 74 75 72 6e 73 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 2e eturns.<a.href="#null">null</a>.
b6e00 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
b6e20 3d 22 65 72 72 6f 72 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 6f ="errorToInt"><a.href="#toc-erro
b6e40 72 54 6f 49 6e 74 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 rToInt">@errorToInt</a>.<a.class
b6e60 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 6f 72 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e ="hdr".href="#errorToInt">..</a>
b6e80 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
b6ea0 61 73 73 3d 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
b6ec0 74 69 6e 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 3c 73 70 tin">@errorToInt</span>(err:.<sp
b6ee0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e an.class="tok-kw">anytype</span>
b6f00 29 20 73 74 64 2e 6d 65 74 61 2e 49 6e 74 28 2e 75 6e 73 69 67 6e 65 64 2c 20 3c 73 70 61 6e 20 ).std.meta.Int(.unsigned,.<span.
b6f20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 class="tok-builtin">@sizeOf</spa
b6f40 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 n>(<span.class="tok-type">anyerr
b6f60 6f 72 3c 2f 73 70 61 6e 3e 29 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 or</span>).*.<span.class="tok-nu
b6f80 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 mber">8</span>)</span></code></p
b6fa0 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 74 68 65 re>.......<p>.......Supports.the
b6fc0 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .following.types:.......</p>....
b6fe0 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 ...<ul>...........<li><a.href="#
b7000 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c The-Global-Error-Set">The.Global
b7020 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c .Error.Set</a></li>...........<l
b7040 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f i><a.href="#Error-Set-Type">Erro
b7060 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c r.Set.Type</a></li>...........<l
b7080 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 i><a.href="#Error-Union-Type">Er
b70a0 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f ror.Union.Type</a></li>.......</
b70c0 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 ul>.......<p>.......Converts.an.
b70e0 65 72 72 6f 72 20 74 6f 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 error.to.the.integer.representat
b7100 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ion.of.an.error........</p>.....
b7120 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f ..<p>.......It.is.generally.reco
b7140 6d 6d 65 6e 64 65 64 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 0a 20 20 20 20 20 20 63 61 73 74 mmended.to.avoid.this.......cast
b7160 2c 20 61 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 ,.as.the.integer.representation.
b7180 6f 66 20 61 6e 20 65 72 72 6f 72 20 69 73 20 6e 6f 74 20 73 74 61 62 6c 65 20 61 63 72 6f 73 73 of.an.error.is.not.stable.across
b71a0 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e .source.code.changes........</p>
b71c0 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>
b71e0 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 72 72 6f 72 22 3e 40 69 6e 74 54 6f 45 72 72 6f <a.href="#intToError">@intToErro
b7200 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 r</a></li>.</ul>................
b7220 3c 68 33 20 69 64 3d 22 65 72 72 53 65 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f <h3.id="errSetCast"><a.href="#to
b7240 63 2d 65 72 72 53 65 74 43 61 73 74 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 61 3e 20 3c 61 c-errSetCast">@errSetCast</a>.<a
b7260 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 53 65 74 43 61 73 74 22 3e .class="hdr".href="#errSetCast">
b7280 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
b72a0 70 61 6e 20 63 6c 61 73 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
b72c0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 k-builtin">@errSetCast</span>(<s
b72e0 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
b7300 6e 3e 20 54 3a 20 44 65 73 74 54 79 70 65 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 n>.T:.DestType,.value:.<span.cla
b7320 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 ss="tok-kw">anytype</span>).Dest
b7340 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c Type</span></code></pre>.......<
b7360 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 65 72 72 6f 72 20 76 61 6c 75 65 p>.......Converts.an.error.value
b7380 20 66 72 6f 6d 20 6f 6e 65 20 65 72 72 6f 72 20 73 65 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 65 .from.one.error.set.to.another.e
b73a0 72 72 6f 72 20 73 65 74 2e 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 rror.set..Attempting.to.convert.
b73c0 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 69 6e 20 74 an.error.......which.is.not.in.t
b73e0 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 65 72 72 6f 72 20 73 65 74 20 72 65 73 75 6c 74 73 he.destination.error.set.results
b7400 20 69 6e 20 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 .in.safety-protected.<a.href="#U
b7420 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
b7440 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 avior</a>........</p>...........
b7460 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 70 6f 72 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ....<h3.id="export"><a.href="#to
b7480 63 2d 65 78 70 6f 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 c-export">@export</a>.<a.class="
b74a0 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 70 6f 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a hdr".href="#export">..</a></h3>.
b74c0 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
b74e0 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">@
b7500 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 64 65 63 6c 61 72 61 74 69 6f 6e 2c 20 3c 73 70 61 6e export</span>(declaration,.<span
b7520 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>.
b7540 6f 70 74 69 6f 6e 73 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 45 78 70 6f 72 74 4f 70 74 69 6f options:.std.builtin.ExportOptio
b7560 6e 73 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c ns).<span.class="tok-type">void<
b7580 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>......
b75a0 20 3c 70 3e 0a 20 20 20 20 20 20 43 72 65 61 74 65 73 20 61 20 73 79 6d 62 6f 6c 20 69 6e 20 74 .<p>.......Creates.a.symbol.in.t
b75c0 68 65 20 6f 75 74 70 75 74 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 he.output.object.file........</p
b75e0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 64 65 63 6c 61 72 61 74 >.......<p>.......<code>declarat
b7600 69 6f 6e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 6f 6e 65 20 6f 66 20 74 77 6f 20 74 68 ion</code>.must.be.one.of.two.th
b7620 69 6e 67 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 ings:.......</p>.......<ul>.....
b7640 20 20 20 20 3c 6c 69 3e 41 6e 20 69 64 65 6e 74 69 66 69 65 72 20 28 3c 63 6f 64 65 3e 3c 73 70 ....<li>An.identifier.(<code><sp
b7660 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 an.class="line">x</span></code>)
b7680 20 69 64 65 6e 74 69 66 79 69 6e 67 20 61 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f .identifying.a.<a.href="#Functio
b76a0 6e 73 22 3e 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 20 6f 72 20 61 0a 20 20 20 20 20 20 20 20 20 20 ns">function</a>.or.a...........
b76c0 3c 61 20 68 72 65 66 3d 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 <a.href="#Container-Level-Variab
b76e0 6c 65 73 22 3e 76 61 72 69 61 62 6c 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 les">variable</a>.</li>.........
b7700 3c 6c 69 3e 46 69 65 6c 64 20 61 63 63 65 73 73 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c <li>Field.access.(<code><span.cl
b7720 61 73 73 3d 22 6c 69 6e 65 22 3e 78 2e 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 6c 6f ass="line">x.y</span></code>).lo
b7740 6f 6b 69 6e 67 20 75 70 20 61 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e oking.up.a.<a.href="#Functions">
b7760 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 20 6f 72 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 function</a>.or.a...........<a.h
b7780 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"
b77a0 3e 76 61 72 69 61 62 6c 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a >variable</a>.</li>.......</ul>.
b77c0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 63 61 6e ......<p>.......This.builtin.can
b77e0 20 62 65 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 .be.called.from.a.<a.href="#comp
b7800 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 6c 6f 63 6b 20 74 6f 20 63 6f 6e 64 time">comptime</a>.block.to.cond
b7820 69 74 69 6f 6e 61 6c 6c 79 20 65 78 70 6f 72 74 20 73 79 6d 62 6f 6c 73 2e 0a 20 20 20 20 20 20 itionally.export.symbols........
b7840 57 68 65 6e 20 3c 63 6f 64 65 3e 64 65 63 6c 61 72 61 74 69 6f 6e 3c 2f 63 6f 64 65 3e 20 69 73 When.<code>declaration</code>.is
b7860 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 43 20 63 61 6c 6c 69 6e 67 20 63 .a.function.with.the.C.calling.c
b7880 6f 6e 76 65 6e 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 onvention.and.......<code><span.
b78a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6f 6e 73 2e 6c 69 6e 6b 61 67 65 3c 2f 73 70 class="line">options.linkage</sp
b78c0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d an></code>.is.<code><span.class=
b78e0 22 6c 69 6e 65 22 3e 53 74 72 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 69 "line">Strong</span></code>,.thi
b7900 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f s.is.equivalent.to.......the.<co
b7920 64 65 3e 3c 73 70 61 6e 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
b7940 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c s="tok-kw">export</span></span><
b7960 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 75 73 65 64 20 6f 6e 20 61 20 66 75 6e 63 74 69 6f /code>.keyword.used.on.a.functio
b7980 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 n:.......</p>.......<figure><fig
b79a0 63 61 70 74 69 6f 6e 20 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
b79c0 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
b79e0 61 70 74 69 6f 6e 3e 3c 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
b7a00 69 6e 65 22 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
b7a20 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 me</span>.{</span>.<span.class="
b7a40 6c 69 6e 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
b7a60 69 6e 22 3e 40 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 69 6e 74 65 72 6e 61 6c 4e 61 6d 65 2c in">@export</span>(internalName,
b7a80 20 2e 7b 20 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ..{..name.=.<span.class="tok-str
b7aa0 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 6c 69 6e 6b 61 ">&quot;foo&quot;</span>,..linka
b7ac0 67 65 20 3d 20 2e 53 74 72 6f 6e 67 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ge.=..Strong.});</span>.<span.cl
b7ae0 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=
b7b00 22 6c 69 6e 65 22 3e 3c 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
b7b20 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>
b7b40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 6e 74 65 72 6e 61 6c 4e 61 .<span.class="tok-fn">internalNa
b7b60 6d 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 me</span>().<span.class="tok-kw"
b7b80 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 43 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 >callconv</span>(.C).<span.class
b7ba0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e ="tok-type">void</span>.{}</span
b7bc0 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><
b7be0 66 69 67 63 61 70 74 69 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
b7c00 6c 6c 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.
b7c20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 class="line">$.<kbd>zig.build-ob
b7c40 6a 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c j.test.zig</kbd></span>.</samp><
b7c60 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 /pre></figure>.......<p>This.is.
b7c80 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 equivalent.to:</p>.......<figure
b7ca0 3e 3c 66 69 67 63 61 70 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
b7cc0 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><
b7ce0 2f 66 69 67 63 61 70 74 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
b7d00 73 73 3d 22 6c 69 6e 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
b7d20 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 xport</span>.<span.class="tok-kw
b7d40 22 3e 66 6e 3c 2f 73 70 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"
b7d60 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 >foo</span>().<span.class="tok-t
b7d80 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ype">void</span>.{}</span></code
b7da0 3e 3c 2f 70 72 65 3e 3c 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
b7dc0 69 6f 6e 20 63 6c 61 73 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
b7de0 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="
b7e00 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 74 65 73 74 2e line">$.<kbd>zig.build-obj.test.
b7e20 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f zig</kbd></span>.</samp></pre></
b7e40 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 65 76 65 6e 20 figure>.......<p>Note.that.even.
b7e60 77 68 65 6e 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 when.using.<code><span.class="li
b7e80 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c ne"><span.class="tok-kw">export<
b7ea0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 3c 63 6f 64 65 3e /span></span></code>,.the.<code>
b7ec0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 40 26 71 75 6f 74 3b 66 6f 6f 26 71 75 <span.class="line">@&quot;foo&qu
b7ee0 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 66 6f 72 0a 20 20 20 ot;</span></code>.syntax.for....
b7f00 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 64 65 6e 74 69 66 69 65 72 73 22 3e 69 64 65 6e 74 69 ...<a.href="#Identifiers">identi
b7f20 66 69 65 72 73 3c 2f 61 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 6f 6f 73 65 20 fiers</a>.can.be.used.to.choose.
b7f40 61 6e 79 20 73 74 72 69 6e 67 20 66 6f 72 20 74 68 65 20 73 79 6d 62 6f 6c 20 6e 61 6d 65 3a 3c any.string.for.the.symbol.name:<
b7f60 2f 70 3e 0a 20 20 20 20 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
b7f80 61 73 73 3d 22 7a 69 67 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"
b7fa0 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
b7fc0 65 3e 3c 63 6f 64 65 3e 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
b7fe0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 .class="tok-kw">export</span>.<s
b8000 70 61 6e 20 63 6c 61 73 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
b8020 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 40 26 71 75 6f 74 3b 41 20 66 75 6e 63 74 an.class="tok-fn">@&quot;A.funct
b8040 69 6f 6e 20 6e 61 6d 65 20 74 68 61 74 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 20 73 65 6e 74 ion.name.that.is.a.complete.sent
b8060 65 6e 63 65 2e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ence.&quot;</span>().<span.class
b8080 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e ="tok-type">void</span>.{}</span
b80a0 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><
b80c0 66 69 67 63 61 70 74 69 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
b80e0 6c 6c 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.
b8100 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6f 62 class="line">$.<kbd>zig.build-ob
b8120 6a 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c j.test.zig</kbd></span>.</samp><
b8140 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 /pre></figure>.......<p>.......W
b8160 68 65 6e 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6f 62 6a hen.looking.at.the.resulting.obj
b8180 65 63 74 2c 20 79 6f 75 20 63 61 6e 20 73 65 65 20 74 68 65 20 73 79 6d 62 6f 6c 20 69 73 20 75 ect,.you.can.see.the.symbol.is.u
b81a0 73 65 64 20 76 65 72 62 61 74 69 6d 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c sed.verbatim:.......</p>.......<
b81c0 70 72 65 3e 3c 63 6f 64 65 3e 30 30 30 30 30 30 30 30 30 30 30 30 30 31 66 30 20 54 20 41 20 66 pre><code>00000000000001f0.T.A.f
b81e0 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 74 68 61 74 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 20 unction.name.that.is.a.complete.
b8200 73 65 6e 74 65 6e 63 65 2e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e sentence.</code></pre>.......<p>
b8220 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="#
b8240 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 45 78 70 6f 72 74 69 6e 67 Exporting-a-C-Library">Exporting
b8260 20 61 20 43 20 4c 69 62 72 61 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 .a.C.Library</a></li>.</ul>.....
b8280 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 74 65 72 6e 22 3e 3c 61 20 68 72 ...........<h3.id="extern"><a.hr
b82a0 65 66 3d 22 23 74 6f 63 2d 65 78 74 65 72 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 61 3e 20 3c 61 20 ef="#toc-extern">@extern</a>.<a.
b82c0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 22 3e c2 a7 3c 2f 61 class="hdr".href="#extern">..</a
b82e0 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
b8300 6c 61 73 73 3d 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
b8320 6c 74 69 6e 22 3e 40 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 28 54 3a 20 3c 73 70 61 6e 20 63 6c ltin">@extern</span>(T:.<span.cl
b8340 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
b8360 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>
b8380 20 6f 70 74 69 6f 6e 73 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 45 78 74 65 72 6e 4f 70 74 69 .options:.std.builtin.ExternOpti
b83a0 6f 6e 73 29 20 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 ons).*T</span></code></pre>.....
b83c0 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 72 65 61 74 65 73 20 61 20 72 65 66 65 72 65 6e 63 65 20 ..<p>.......Creates.a.reference.
b83e0 74 6f 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 73 79 6d 62 6f 6c 20 69 6e 20 74 68 65 20 6f 75 74 to.an.external.symbol.in.the.out
b8400 70 75 74 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 put.object.file........</p>.....
b8420 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
b8440 65 66 3d 22 23 65 78 70 6f 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f ef="#export">@export</a></li>.</
b8460 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 65 6e 63 65 ul>................<h3.id="fence
b8480 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 65 6e 63 65 22 3e 40 66 65 6e 63 65 3c 2f 61 "><a.href="#toc-fence">@fence</a
b84a0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 65 6e 63 65 22 3e c2 >.<a.class="hdr".href="#fence">.
b84c0 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
b84e0 61 6e 20 63 6c 61 73 73 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
b8500 2d 62 75 69 6c 74 69 6e 22 3e 40 66 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 6f 72 64 65 72 3a 20 41 -builtin">@fence</span>(order:.A
b8520 74 6f 6d 69 63 4f 72 64 65 72 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a tomicOrder)</span></code></pre>.
b8540 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.
b8560 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 65 6e 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e class="line">fence</span></code>
b8580 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 64 20 74 6f 20 69 6e 74 72 6f 64 75 63 65 20 68 .function.is.used.to.introduce.h
b85a0 61 70 70 65 6e 73 2d 62 65 66 6f 72 65 20 65 64 67 65 73 20 62 65 74 77 65 65 6e 20 6f 70 65 72 appens-before.edges.between.oper
b85c0 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 ations........</p>.......<p>....
b85e0 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 74 6f 6d ...<code><span.class="line">Atom
b8600 69 63 4f 72 64 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 icOrder</span></code>.can.be.fou
b8620 6e 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 nd.with.<code><span.class="line"
b8640 3e 3c 73 70 61 6e 20 63 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
b8660 72 74 3c 2f 73 70 61 6e 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">
b8680 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 74 69 6e 2e &quot;std&quot;</span>).builtin.
b86a0 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 AtomicOrder</span></code>.......
b86c0 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>
b86e0 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f .<li><a.href="#atomicStore">@ato
b8700 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 micStore</a></li>.<li><a.href="#
b8720 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 3c 2f 6c 69 3e atomicLoad">@atomicLoad</a></li>
b8740 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 .<li><a.href="#atomicRmw">@atomi
b8760 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 cRmw</a></li>.<li><a.href="#cmpx
b8780 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c chgWeak">@cmpxchgWeak</a></li>.<
b87a0 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 li><a.href="#cmpxchgStrong">@cmp
b87c0 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 xchgStrong</a></li>.</ul>.......
b87e0 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 69 65 6c 64 22 3e 3c 61 20 68 72 65 66 3d .........<h3.id="field"><a.href=
b8800 22 23 74 6f 63 2d 66 69 65 6c 64 22 3e 40 66 69 65 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 "#toc-field">@field</a>.<a.class
b8820 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 69 65 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e ="hdr".href="#field">..</a></h3>
b8840 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="
b8860 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">
b8880 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 6c 68 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 @field</span>(lhs:.<span.class="
b88a0 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c tok-kw">anytype</span>,.<span.cl
b88c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 65 ass="tok-kw">comptime</span>.fie
b88e0 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ld_name:.[]<span.class="tok-kw">
b8900 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
b8920 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 28 66 69 65 6c 64 29 3c 2f 73 70 61 6e 3e 3c 2f 63 pe">u8</span>).(field)</span></c
b8940 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 50 65 72 66 6f 72 6d 73 20 66 69 65 ode></pre>.......<p>Performs.fie
b8960 6c 64 20 61 63 63 65 73 73 20 62 79 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 73 74 72 69 ld.access.by.a.compile-time.stri
b8980 6e 67 2e 20 57 6f 72 6b 73 20 6f 6e 20 62 6f 74 68 20 66 69 65 6c 64 73 20 61 6e 64 20 64 65 63 ng..Works.on.both.fields.and.dec
b89a0 6c 61 72 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 20 3c 66 69 larations........</p>........<fi
b89c0 67 75 72 65 3e 3c 66 69 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"
b89e0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 69 65 6c 64 5f 64 65 63 6c 5f 61 ><cite.class="file">field_decl_a
b8a00 63 63 65 73 73 5f 62 79 5f 73 74 72 69 6e 67 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 ccess_by_string.zig</cite></figc
b8a20 61 70 74 69 6f 6e 3e 3c 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
b8a40 69 6e 65 22 3e 3c 73 70 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<
b8a60 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
b8a80 69 6c 74 69 6e 22 3e 40 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
b8aa0 73 3d 22 74 6f 6b 2d 73 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
b8ac0 6e 3e 29 3b 3c 2f 73 70 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"><
b8ae0 2f 73 70 61 6e 3e 0a 3c 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.
b8b00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e class="tok-kw">const</span>.Poin
b8b20 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c t.=.<span.class="tok-kw">struct<
b8b40 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
b8b60 65 22 3e 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 e">....x:.<span.class="tok-type"
b8b80 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d >u32</span>,</span>.<span.class=
b8ba0 22 6c 69 6e 65 22 3e 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 "line">....y:.<span.class="tok-t
b8bc0 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ype">u32</span>,</span>.<span.cl
b8be0 61 73 73 3d 22 6c 69 6e 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="
b8c00 6c 69 6e 65 22 3e 20 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
b8c20 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 ub</span>.<span.class="tok-kw">v
b8c40 61 72 3c 2f 73 70 61 6e 3e 20 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ar</span>.z:.<span.class="tok-ty
b8c60 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
b8c80 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e k-number">1</span>;</span>.<span
b8ca0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .class="line">};</span>.<span.cl
b8cc0 61 73 73 3d 22 6c 69 6e 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="
b8ce0 6c 69 6e 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<
b8d00 2f 73 70 61 6e 3e 20 3c 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
b8d20 6f 74 3b 66 69 65 6c 64 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c ot;field.access.by.string&quot;<
b8d40 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
b8d60 65 22 3e 20 20 20 20 3c 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
b8d80 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
b8da0 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">
b8dc0 20 20 20 20 3c 73 70 61 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
b8de0 61 6e 3e 20 70 20 3d 20 50 6f 69 6e 74 7b 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d an>.p.=.Point{..x.=.<span.class=
b8e00 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 2e 79 20 3d 20 3c 73 70 61 "tok-number">0</span>,..y.=.<spa
b8e20 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 7d 3b n.class="tok-number">0</span>.};
b8e40 3c 2f 73 70 61 6e 3e 0a 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
b8e60 6e 3e 0a 3c 73 70 61 6e 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.
b8e80 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e class="tok-builtin">@field</span
b8ea0 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 >(p,.<span.class="tok-str">&quot
b8ec0 3b 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ;x&quot;</span>).=.<span.class="
b8ee0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">4</span>;</span>.<sp
b8f00 61 6e 20 63 6c 61 73 73 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=
b8f20 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c "tok-builtin">@field</span>(p,.<
b8f40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 79 26 71 75 6f span.class="tok-str">&quot;y&quo
b8f60 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 t;</span>).=.<span.class="tok-bu
b8f80 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c iltin">@field</span>(p,.<span.cl
b8fa0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 75 6f 74 3b 3c 2f 73 70 61 ass="tok-str">&quot;x&quot;</spa
b8fc0 6e 3e 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 n>).+.<span.class="tok-number">1
b8fe0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
b9000 65 22 3e 3c 2f 73 70 61 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">..
b9020 20 20 3c 73 70 61 6e 20 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
b9040 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
b9060 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d n">@field</span>(p,.<span.class=
b9080 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 "tok-str">&quot;x&quot;</span>).
b90a0 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 ==.<span.class="tok-number">4</s
b90c0 70 61 6e 3e 29 3b 3c 2f 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"
b90e0 3e 20 20 20 20 3c 73 70 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
b9100 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
b9120 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 ltin">@field</span>(p,.<span.cla
b9140 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ss="tok-str">&quot;y&quot;</span
b9160 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 >).==.<span.class="tok-number">5
b9180 3c 2f 73 70 61 6e 3e 29 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
b91a0 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">
b91c0 3c 2f 73 70 61 6e 3e 0a 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
b91e0 20 63 6c 61 73 73 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
b9200 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 63 6c 20 61 63 63 n.class="tok-str">&quot;decl.acc
b9220 65 73 73 20 62 79 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 ess.by.string&quot;</span>.{</sp
b9240 61 6e 3e 0a 3c 73 70 61 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
b9260 20 63 6c 61 73 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
b9280 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>
b92a0 0a 3c 73 70 61 6e 20 63 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
b92c0 6e 20 63 6c 61 73 73 3d 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="
b92e0 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 tok-kw">try</span>.expect(<span.
b9300 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e class="tok-builtin">@field</span
b9320 3e 28 50 6f 69 6e 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 >(Point,.<span.class="tok-str">&
b9340 71 75 6f 74 3b 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c quot;z&quot;</span>).==.<span.cl
b9360 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ass="tok-number">1</span>);</spa
b9380 6e 3e 0a 3c 73 70 61 6e 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
b93a0 70 61 6e 20 63 6c 61 73 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
b93c0 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
b93e0 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;
b9400 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 z&quot;</span>).=.<span.class="t
b9420 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ok-number">2</span>;</span>.<spa
b9440 6e 20 63 6c 61 73 73 3d 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="
b9460 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 3c 73 70 61 6e 20 tok-kw">try</span>.expect(<span.
b9480 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e class="tok-builtin">@field</span
b94a0 3e 28 50 6f 69 6e 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 >(Point,.<span.class="tok-str">&
b94c0 71 75 6f 74 3b 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c quot;z&quot;</span>).==.<span.cl
b94e0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 ass="tok-number">2</span>);</spa
b9500 6e 3e 0a 3c 73 70 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></
b9520 63 6f 64 65 3e 3c 2f 70 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
b9540 63 61 70 74 69 6f 6e 20 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<
b9560 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
b9580 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 66 69 65 6c 64 5f ss="line">$.<kbd>zig.test.field_
b95a0 64 65 63 6c 5f 61 63 63 65 73 73 5f 62 79 5f 73 74 72 69 6e 67 2e 7a 69 67 3c 2f 6b 62 64 3e 3c decl_access_by_string.zig</kbd><
b95c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 32 20 74 65 /span>.<span.class="line">1/2.te
b95e0 73 74 20 26 71 75 6f 74 3b 66 69 65 6c 64 20 61 63 63 65 73 73 20 62 79 20 73 74 72 69 6e 67 26 st.&quot;field.access.by.string&
b9600 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;....OK</span>.<span.class="
b9620 6c 69 6e 65 22 3e 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 64 65 63 6c 20 61 63 63 65 73 73 line">2/2.test.&quot;decl.access
b9640 20 62 79 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 .by.string&quot;....OK</span>.<s
b9660 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
b9680 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
b96a0 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 69 65 6c 64 50 e>................<h3.id="fieldP
b96c0 61 72 65 6e 74 50 74 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 69 65 6c 64 50 61 72 arentPtr"><a.href="#toc-fieldPar
b96e0 65 6e 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 61 3e 20 3c 61 20 63 entPtr">@fieldParentPtr</a>.<a.c
b9700 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 lass="hdr".href="#fieldParentPtr
b9720 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>
b9740 3c 73 70 61 6e 20 63 6c 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="
b9760 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 73 70 tok-builtin">@fieldParentPtr</sp
b9780 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
b97a0 65 3c 2f 73 70 61 6e 3e 20 50 61 72 65 6e 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 e</span>.ParentType:.<span.class
b97c0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 ="tok-type">type</span>,.<span.c
b97e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 lass="tok-kw">comptime</span>.fi
b9800 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 eld_name:.[]<span.class="tok-kw"
b9820 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
b9840 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
b9860 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 69 65 6c 64 5f 70 74 72 3a 20 2a 54 29 20 2a 50 61 ss="line">....field_ptr:.*T).*Pa
b9880 72 65 6e 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 rentType</span></code></pre>....
b98a0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 47 69 76 65 6e 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 ...<p>.......Given.a.pointer.to.
b98c0 61 20 66 69 65 6c 64 2c 20 72 65 74 75 72 6e 73 20 74 68 65 20 62 61 73 65 20 70 6f 69 6e 74 65 a.field,.returns.the.base.pointe
b98e0 72 20 6f 66 20 61 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 r.of.a.struct........</p>.......
b9900 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 6c 6f 61 74 43 61 73 74 22 3e 3c 61 20 68 72 ........<h3.id="floatCast"><a.hr
b9920 65 66 3d 22 23 74 6f 63 2d 66 6c 6f 61 74 43 61 73 74 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f ef="#toc-floatCast">@floatCast</
b9940 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 43 61 a>.<a.class="hdr".href="#floatCa
b9960 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 st">..</a></h3>........<pre><cod
b9980 65 3e 3c 73 70 61 6e 20 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
b99a0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 73 70 61 6e 3e ="tok-builtin">@floatCast</span>
b99c0 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</
b99e0 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>.DestType:.<span.class="tok
b9a00 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e -type">type</span>,.value:.<span
b9a20 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>).
b9a40 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 DestType</span></code></pre>....
b9a60 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 20 66 72 6f 6d 20 6f 6e 65 20 66 6c ...<p>.......Convert.from.one.fl
b9a80 6f 61 74 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2e 20 54 68 69 73 20 63 61 73 74 20 69 oat.type.to.another..This.cast.i
b9aa0 73 20 73 61 66 65 2c 20 62 75 74 20 6d 61 79 20 63 61 75 73 65 20 74 68 65 0a 20 20 20 20 20 20 s.safe,.but.may.cause.the.......
b9ac0 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 20 74 6f 20 6c 6f 73 65 20 70 72 65 63 69 73 69 6f 6e 2e numeric.value.to.lose.precision.
b9ae0 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
b9b00 3d 22 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 6c 6f 61 ="floatToInt"><a.href="#toc-floa
b9b20 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 74 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 tToInt">@floatToInt</a>.<a.class
b9b40 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e ="hdr".href="#floatToInt">..</a>
b9b60 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
b9b80 61 73 73 3d 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
b9ba0 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
b9bc0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 ass="tok-kw">comptime</span>.Des
b9be0 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 tType:.<span.class="tok-type">ty
b9c00 70 65 3c 2f 73 70 61 6e 3e 2c 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pe</span>,.float:.<span.class="t
b9c20 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<
b9c40 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>...
b9c60 20 20 20 20 43 6f 6e 76 65 72 74 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 20 6f 66 ....Converts.the.integer.part.of
b9c80 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 74 6f 20 74 68 65 20 .a.floating.point.number.to.the.
b9ca0 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 destination.type........</p>....
b9cc0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 70 61 72 74 ...<p>.......If.the.integer.part
b9ce0 20 6f 66 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 63 61 .of.the.floating.point.number.ca
b9d00 6e 6e 6f 74 20 66 69 74 20 69 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 nnot.fit.in.the.destination.type
b9d20 2c 0a 20 20 20 20 20 20 69 74 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 ,.......it.invokes.safety-checke
b9d40 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e d.<a.href="#Undefined-Behavior">
b9d60 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f Undefined.Behavior</a>........</
b9d80 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
b9da0 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 46 6c 6f 61 74 22 3e 40 69 6e 74 54 6f 46 6c i><a.href="#intToFloat">@intToFl
b9dc0 6f 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 oat</a></li>.</ul>..............
b9de0 20 20 3c 68 33 20 69 64 3d 22 66 72 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 ..<h3.id="frame"><a.href="#toc-f
b9e00 72 61 6d 65 22 3e 40 66 72 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 rame">@frame</a>.<a.class="hdr".
b9e20 68 72 65 66 3d 22 23 66 72 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 href="#frame">..</a></h3>.......
b9e40 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"><
b9e60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 3c span.class="tok-builtin">@frame<
b9e80 2f 73 70 61 6e 3e 28 29 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 /span>().*<span.class="tok-built
b9ea0 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 29 3c 2f 73 70 61 6e 3e 3c 2f in">@Frame</span>(func)</span></
b9ec0 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
b9ee0 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 .function.returns.a.pointer.to.t
b9f00 68 65 20 66 72 61 6d 65 20 66 6f 72 20 61 20 67 69 76 65 6e 20 66 75 6e 63 74 69 6f 6e 2e 20 54 he.frame.for.a.given.function..T
b9f20 68 69 73 20 74 79 70 65 0a 20 20 20 20 20 20 63 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 his.type.......can.be.<a.href="#
b9f40 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 3e 20 74 6f 20 3c 63 Type-Coercion">coerced</a>.to.<c
b9f60 6f 64 65 3e 3c 73 70 61 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
b9f80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 2d 26 67 74 3b ss="tok-kw">anyframe</span>-&gt;
b9fa0 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 74 6f 20 3c 63 6f T</span></code>.and.......to.<co
b9fc0 64 65 3e 3c 73 70 61 6e 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
b9fe0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e s="tok-kw">anyframe</span></span
ba000 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 65 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 ></code>,.where.<code><span.clas
ba020 73 3d 22 6c 69 6e 65 22 3e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 s="line">T</span></code>.is.the.
ba040 72 65 74 75 72 6e 20 74 79 70 65 0a 20 20 20 20 20 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f return.type.......of.the.functio
ba060 6e 20 69 6e 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e n.in.scope........</p>.......<p>
ba080 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 6d 61 .......This.function.does.not.ma
ba0a0 72 6b 20 61 20 73 75 73 70 65 6e 73 69 6f 6e 20 70 6f 69 6e 74 2c 20 62 75 74 20 69 74 20 64 6f rk.a.suspension.point,.but.it.do
ba0c0 65 73 20 63 61 75 73 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 73 63 6f 70 65 0a 20 es.cause.the.function.in.scope..
ba0e0 20 20 20 20 20 74 6f 20 62 65 63 6f 6d 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e .....to.become.an.<a.href="#Asyn
ba100 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 2e c-Functions">async.function</a>.
ba120 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
ba140 3d 22 46 72 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 72 61 6d 65 22 3e 40 46 ="Frame"><a.href="#toc-Frame">@F
ba160 72 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 rame</a>.<a.class="hdr".href="#F
ba180 72 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 rame">..</a></h3>........<pre><c
ba1a0 6f 64 65 3e 3c 73 70 61 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
ba1c0 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 ss="tok-builtin">@Frame</span>(f
ba1e0 75 6e 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 unc:.<span.class="tok-kw">anytyp
ba200 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 e</span>).<span.class="tok-type"
ba220 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e >type</span></span></code></pre>
ba240 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 .......<p>.......This.function.r
ba260 65 74 75 72 6e 73 20 74 68 65 20 66 72 61 6d 65 20 74 79 70 65 20 6f 66 20 61 20 66 75 6e 63 74 eturns.the.frame.type.of.a.funct
ba280 69 6f 6e 2e 20 54 68 69 73 20 77 6f 72 6b 73 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 41 73 ion..This.works.for.<a.href="#As
ba2a0 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f ync-Functions">Async.Functions</
ba2c0 61 3e 0a 20 20 20 20 20 20 61 73 20 77 65 6c 6c 20 61 73 20 61 6e 79 20 66 75 6e 63 74 69 6f 6e a>.......as.well.as.any.function
ba2e0 20 77 69 74 68 6f 75 74 20 61 20 73 70 65 63 69 66 69 63 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 .without.a.specific.calling.conv
ba300 65 6e 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 ention........</p>.......<p>....
ba320 20 20 20 54 68 69 73 20 74 79 70 65 20 69 73 20 73 75 69 74 61 62 6c 65 20 74 6f 20 62 65 20 75 ...This.type.is.suitable.to.be.u
ba340 73 65 64 20 61 73 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 6f 66 20 3c 61 20 68 72 65 sed.as.the.return.type.of.<a.hre
ba360 66 3d 22 23 41 73 79 6e 63 2d 61 6e 64 2d 41 77 61 69 74 22 3e 61 73 79 6e 63 3c 2f 61 3e 20 77 f="#Async-and-Await">async</a>.w
ba380 68 69 63 68 0a 20 20 20 20 20 20 61 6c 6c 6f 77 73 20 6f 6e 65 20 74 6f 2c 20 66 6f 72 20 65 78 hich.......allows.one.to,.for.ex
ba3a0 61 6d 70 6c 65 2c 20 68 65 61 70 2d 61 6c 6c 6f 63 61 74 65 20 61 6e 20 61 73 79 6e 63 20 66 75 ample,.heap-allocate.an.async.fu
ba3c0 6e 63 74 69 6f 6e 20 66 72 61 6d 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c nction.frame:.......</p>.......<
ba3e0 66 69 67 75 72 65 3e 3c 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
ba400 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 68 65 61 70 5f 61 6c 6c 6f 63 p"><cite.class="file">heap_alloc
ba420 61 74 65 64 5f 66 72 61 6d 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f ated_frame.zig</cite></figcaptio
ba440 6e 3e 3c 70 72 65 3e 3c 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">
ba460 3c 73 70 61 6e 20 63 6c 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
ba480 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
ba4a0 22 3e 40 69 6d 70 6f 72 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
ba4c0 6b 2d 73 74 72 22 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>);<
ba4e0 2f 73 70 61 6e 3e 0a 3c 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
ba500 3e 0a 3c 73 70 61 6e 20 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
ba520 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
ba540 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 61 70 20 61 6c 6c 6f 63 61 74 65 64 s="tok-str">&quot;heap.allocated
ba560 20 66 72 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .frame&quot;</span>.{</span>.<sp
ba580 61 6e 20 63 6c 61 73 73 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=
ba5a0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 72 61 6d 65 20 3d 20 3c 73 "tok-kw">const</span>.frame.=.<s
ba5c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 pan.class="tok-kw">try</span>.st
ba5e0 64 2e 68 65 61 70 2e 70 61 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 3c 73 70 d.heap.page_allocator.create(<sp
ba600 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 an.class="tok-builtin">@Frame</s
ba620 70 61 6e 3e 28 66 75 6e 63 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d pan>(func));</span>.<span.class=
ba640 22 6c 69 6e 65 22 3e 20 20 20 20 66 72 61 6d 65 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 "line">....frame.*.=.<span.class
ba660 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 28 29 3b 3c 2f ="tok-kw">async</span>.func();</
ba680 73 70 61 6e 3e 0a 3c 73 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
ba6a0 3e 0a 3c 73 70 61 6e 20 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
ba6c0 61 6e 20 63 6c 61 73 73 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
ba6e0 2d 6b 77 22 3e 66 6e 3c 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-
ba700 66 6e 22 3e 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 fn">func</span>().<span.class="t
ba720 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
ba740 70 61 6e 20 63 6c 61 73 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
ba760 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 ="tok-kw">suspend</span>.{}</spa
ba780 6e 3e 0a 3c 73 70 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></
ba7a0 63 6f 64 65 3e 3c 2f 70 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
ba7c0 63 61 70 74 69 6f 6e 20 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<
ba7e0 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
ba800 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 68 65 61 70 5f 61 ss="line">$.<kbd>zig.test.heap_a
ba820 6c 6c 6f 63 61 74 65 64 5f 66 72 61 6d 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a llocated_frame.zig</kbd></span>.
ba840 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f <span.class="line">1/1.test.&quo
ba860 74 3b 68 65 61 70 20 61 6c 6c 6f 63 61 74 65 64 20 66 72 61 6d 65 26 71 75 6f 74 3b 2e 2e 2e 20 t;heap.allocated.frame&quot;....
ba880 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
ba8a0 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><
ba8c0 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
ba8e0 20 69 64 3d 22 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 .id="frameAddress"><a.href="#toc
ba900 2d 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 40 66 72 61 6d 65 41 64 64 72 65 73 73 3c 2f 61 3e -frameAddress">@frameAddress</a>
ba920 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 72 61 6d 65 41 64 64 72 .<a.class="hdr".href="#frameAddr
ba940 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f ess">..</a></h3>........<pre><co
ba960 64 65 3e 3c 73 70 61 6e 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
ba980 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 41 64 64 72 65 73 73 3c 2f 73 s="tok-builtin">@frameAddress</s
ba9a0 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 pan>().<span.class="tok-type">us
ba9c0 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 ize</span></span></code></pre>..
ba9e0 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 .....<p>.......This.function.ret
baa00 75 72 6e 73 20 74 68 65 20 62 61 73 65 20 70 6f 69 6e 74 65 72 20 6f 66 20 74 68 65 20 63 75 72 urns.the.base.pointer.of.the.cur
baa20 72 65 6e 74 20 73 74 61 63 6b 20 66 72 61 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 rent.stack.frame........</p>....
baa40 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 69 6d 70 6c 69 63 61 74 69 6f 6e 73 20 6f 66 ...<p>.......The.implications.of
baa60 20 74 68 69 73 20 61 72 65 20 74 61 72 67 65 74 20 73 70 65 63 69 66 69 63 20 61 6e 64 20 6e 6f .this.are.target.specific.and.no
baa80 74 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 63 72 6f 73 73 20 61 6c 6c 0a 20 20 20 20 20 20 70 6c t.consistent.across.all.......pl
baaa0 61 74 66 6f 72 6d 73 2e 20 54 68 65 20 66 72 61 6d 65 20 61 64 64 72 65 73 73 20 6d 61 79 20 6e atforms..The.frame.address.may.n
baac0 6f 74 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 72 65 6c 65 61 73 65 20 6d 6f 64 65 20 ot.be.available.in.release.mode.
baae0 64 75 65 20 74 6f 0a 20 20 20 20 20 20 61 67 67 72 65 73 73 69 76 65 20 6f 70 74 69 6d 69 7a 61 due.to.......aggressive.optimiza
bab00 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 tions........</p>.......<p>.....
bab20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 20 76 61 6c 69 64 20 77 69 ..This.function.is.only.valid.wi
bab40 74 68 69 6e 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a thin.function.scope........</p>.
bab60 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 72 61 6d 65 53 69 7a 65 22 ..............<h3.id="frameSize"
bab80 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 72 61 6d 65 53 69 7a 65 22 3e 40 66 72 61 6d 65 ><a.href="#toc-frameSize">@frame
baba0 53 69 7a 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 Size</a>.<a.class="hdr".href="#f
babc0 72 61 6d 65 53 69 7a 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 rameSize">..</a></h3>........<pr
babe0 65 3e 3c 63 6f 64 65 3e 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
bac00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 53 69 7a 65 3c .class="tok-builtin">@frameSize<
bac20 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">
bac40 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e usize</span></span></code></pre>
bac60 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d .......<p>.......This.is.the.sam
bac80 65 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 e.as.<code><span.class="line"><s
baca0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c pan.class="tok-builtin">@sizeOf<
bacc0 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 /span>(<span.class="tok-builtin"
bace0 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 29 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f >@Frame</span>(func))</span></co
bad00 64 65 3e 2c 20 77 68 65 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 de>,.where.<code><span.class="li
bad20 6e 65 22 3e 66 75 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 6d 61 79 ne">func</span></code>.......may
bad40 20 62 65 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .be.runtime-known........</p>...
bad60 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 ....<p>.......This.function.is.t
bad80 79 70 69 63 61 6c 6c 79 20 75 73 65 64 20 69 6e 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 ypically.used.in.conjunction.wit
bada0 68 20 3c 61 20 68 72 65 66 3d 22 23 61 73 79 6e 63 43 61 6c 6c 22 3e 40 61 73 79 6e 63 43 61 6c h.<a.href="#asyncCall">@asyncCal
badc0 6c 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 l</a>........</p>...............
bade0 3c 68 33 20 69 64 3d 22 68 61 73 44 65 63 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 68 <h3.id="hasDecl"><a.href="#toc-h
bae00 61 73 44 65 63 6c 22 3e 40 68 61 73 44 65 63 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 asDecl">@hasDecl</a>.<a.class="h
bae20 64 72 22 20 68 72 65 66 3d 22 23 68 61 73 44 65 63 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a dr".href="#hasDecl">..</a></h3>.
bae40 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
bae60 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">@
bae80 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d hasDecl</span>(<span.class="tok-
baea0 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 43 6f 6e 74 61 69 6e 65 72 3a 20 3c kw">comptime</span>.Container:.<
baec0 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
baee0 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 >,.<span.class="tok-kw">comptime
baf00 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b </span>.name:.[]<span.class="tok
baf20 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
baf40 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-type">u8</span>).<span.class=
baf60 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 "tok-type">bool</span></span></c
baf80 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 ode></pre>.......<p>.......Retur
bafa0 6e 73 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 61 20 3c 61 20 68 72 65 66 3d 22 23 73 74 ns.whether.or.not.a.<a.href="#st
bafc0 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d ruct">struct</a>,.<a.href="#enum
bafe0 22 3e 65 6e 75 6d 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e ">enum</a>,.or.<a.href="#union">
bb000 75 6e 69 6f 6e 3c 2f 61 3e 20 68 61 73 20 61 20 64 65 63 6c 61 72 61 74 69 6f 6e 0a 20 20 20 20 union</a>.has.a.declaration.....
bb020 20 20 6d 61 74 63 68 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ..matching.<code><span.class="li
bb040 6e 65 22 3e 6e 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f ne">name</span></code>........</
bb060 70 3e 0a 20 20 20 20 20 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
bb080 73 73 3d 22 7a 69 67 2d 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">
bb0a0 68 61 73 44 65 63 6c 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c hasDecl.zig</cite></figcaption><
bb0c0 70 72 65 3e 3c 63 6f 64 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
bb0e0 61 6e 20 63 6c 61 73 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
bb100 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">@
bb120 69 6d 70 6f 72 74 3c 2f 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
bb140 74 72 22 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
bb160 61 6e 3e 0a 3c 73 70 61 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
bb180 73 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.
bb1a0 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
bb1c0 61 6e 20 63 6c 61 73 73 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
bb1e0 61 73 73 3d 22 6c 69 6e 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">
bb200 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 const</span>.Foo.=.<span.class="
bb220 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>.<
bb240 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6e 6f 70 65 3a 20 3c 73 70 61 span.class="line">....nope:.<spa
bb260 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f n.class="tok-type">i32</span>,</
bb280 73 70 61 6e 3e 0a 3c 73 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>
bb2a0 0a 3c 73 70 61 6e 20 63 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
bb2c0 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
bb2e0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 6c 61 68 20 3d 20 3c ass="tok-kw">var</span>.blah.=.<
bb300 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 78 78 26 71 span.class="tok-str">&quot;xxx&q
bb320 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=
bb340 22 6c 69 6e 65 22 3e 20 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">
bb360 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 const</span>.hi.=.<span.class="t
bb380 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
bb3a0 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
bb3c0 6c 61 73 73 3d 22 6c 69 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=
bb3e0 22 6c 69 6e 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
bb400 3c 2f 73 70 61 6e 3e 20 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
bb420 75 6f 74 3b 40 68 61 73 44 65 63 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 uot;@hasDecl&quot;</span>.{</spa
bb440 6e 3e 0a 3c 73 70 61 6e 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.
bb460 63 6c 61 73 73 3d 22 74 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
bb480 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 (<span.class="tok-builtin">@hasD
bb4a0 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
bb4c0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 6c 61 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b -str">&quot;blah&quot;</span>));
bb4e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 </span>.<span.class="line"></spa
bb500 6e 3e 0a 3c 73 70 61 6e 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.
bb520 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 76 65 6e 20 74 68 6f 75 class="tok-comment">//.Even.thou
bb540 67 68 20 60 68 69 60 20 69 73 20 70 72 69 76 61 74 65 2c 20 40 68 61 73 44 65 63 6c 20 72 65 74 gh.`hi`.is.private,.@hasDecl.ret
bb560 75 72 6e 73 20 74 72 75 65 20 62 65 63 61 75 73 65 20 74 68 69 73 20 74 65 73 74 20 69 73 3c 2f urns.true.because.this.test.is</
bb580 73 70 61 6e 3e 3c 2f 73 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">
bb5a0 20 20 20 20 3c 73 70 61 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">//
bb5c0 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 69 6c 65 20 73 63 6f 70 65 20 61 73 20 46 6f 6f 2e 20 .in.the.same.file.scope.as.Foo..
bb5e0 49 74 20 77 6f 75 6c 64 20 72 65 74 75 72 6e 20 66 61 6c 73 65 20 69 66 20 46 6f 6f 20 77 61 73 It.would.return.false.if.Foo.was
bb600 20 64 65 63 6c 61 72 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .declared</span></span>.<span.cl
bb620 61 73 73 3d 22 6c 69 6e 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-
bb640 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 20 61 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65 2e comment">//.in.a.different.file.
bb660 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
bb680 22 3e 20 20 20 20 3c 73 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</
bb6a0 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
bb6c0 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 3c 73 70 61 iltin">@hasDecl</span>(Foo,.<spa
bb6e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b n.class="tok-str">&quot;hi&quot;
bb700 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
bb720 69 6e 65 22 3e 3c 2f 73 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">
bb740 20 20 20 20 3c 73 70 61 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">//
bb760 20 40 68 61 73 44 65 63 6c 20 69 73 20 66 6f 72 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 3b 20 6e .@hasDecl.is.for.declarations;.n
bb780 6f 74 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ot.fields.</span></span>.<span.c
bb7a0 6c 61 73 73 3d 22 6c 69 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
bb7c0 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 3c 73 70 61 6e 20 63 6c -kw">try</span>.expect(!<span.cl
bb7e0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e ass="tok-builtin">@hasDecl</span
bb800 3e 28 46 6f 6f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 >(Foo,.<span.class="tok-str">&qu
bb820 6f 74 3b 6e 6f 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ot;nope&quot;</span>));</span>.<
bb840 73 70 61 6e 20 63 6c 61 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
bb860 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 21 3c 73 s="tok-kw">try</span>.expect(!<s
bb880 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c pan.class="tok-builtin">@hasDecl
bb8a0 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 </span>(Foo,.<span.class="tok-st
bb8c0 72 22 3e 26 71 75 6f 74 3b 6e 6f 70 65 31 32 33 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 r">&quot;nope1234&quot;</span>))
bb8e0 3b 3c 2f 73 70 61 6e 3e 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
bb900 70 61 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
bb920 65 3e 3c 66 69 67 63 61 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">
bb940 53 68 65 6c 6c 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
bb960 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.
bb980 68 61 73 44 65 63 6c 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 hasDecl.zig</kbd></span>.<span.c
bb9a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 68 61 73 44 lass="line">1/1.test.&quot;@hasD
bb9c0 65 63 6c 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ecl&quot;....OK</span>.<span.cla
bb9e0 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
bba00 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>.....
bba20 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
bba40 65 66 3d 22 23 68 61 73 46 69 65 6c 64 22 3e 40 68 61 73 46 69 65 6c 64 3c 2f 61 3e 3c 2f 6c 69 ef="#hasField">@hasField</a></li
bba60 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 68 >.</ul>................<h3.id="h
bba80 61 73 46 69 65 6c 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 68 61 73 46 69 65 6c 64 22 asField"><a.href="#toc-hasField"
bbaa0 3e 40 68 61 73 46 69 65 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 >@hasField</a>.<a.class="hdr".hr
bbac0 65 66 3d 22 23 68 61 73 46 69 65 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 ef="#hasField">..</a></h3>......
bbae0 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">
bbb00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 46 69 <span.class="tok-builtin">@hasFi
bbb20 65 6c 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e eld</span>(<span.class="tok-kw">
bbb40 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 43 6f 6e 74 61 69 6e 65 72 3a 20 3c 73 70 61 6e comptime</span>.Container:.<span
bbb60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c .class="tok-type">type</span>,.<
bbb80 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
bbba0 61 6e 3e 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 an>.name:.[]<span.class="tok-kw"
bbbc0 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
bbbe0 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ype">u8</span>).<span.class="tok
bbc00 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e -type">bool</span></span></code>
bbc20 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 52 65 74 75 72 6e 73 20 77 68 65 74 68 65 72 20 </pre>.......<p>Returns.whether.
bbc40 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 6f 66 20 61 20 73 74 72 75 63 74 2c 20 75 6e 69 6f the.field.name.of.a.struct,.unio
bbc60 6e 2c 20 6f 72 20 65 6e 75 6d 20 65 78 69 73 74 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e n,.or.enum.exists.</p>.......<p>
bbc80 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 74 .......The.result.is.a.compile.t
bbca0 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c ime.constant........</p>.......<
bbcc0 70 3e 0a 20 20 20 20 20 20 49 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 66 75 6e p>.......It.does.not.include.fun
bbce0 63 74 69 6f 6e 73 2c 20 76 61 72 69 61 62 6c 65 73 2c 20 6f 72 20 63 6f 6e 73 74 61 6e 74 73 2e ctions,.variables,.or.constants.
bbd00 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f .......</p>.......<p>See.also:</
bbd20 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 68 61 73 44 65 63 6c 22 3e 40 68 p><ul>.<li><a.href="#hasDecl">@h
bbd40 61 73 44 65 63 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 asDecl</a></li>.</ul>...........
bbd60 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6d 70 6f 72 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 .....<h3.id="import"><a.href="#t
bbd80 6f 63 2d 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d oc-import">@import</a>.<a.class=
bbda0 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e "hdr".href="#import">..</a></h3>
bbdc0 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="
bbde0 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">
bbe00 40 69 6d 70 6f 72 74 3c 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-
bbe20 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 70 61 74 68 3a 20 5b 5d 3c 73 70 61 kw">comptime</span>.path:.[]<spa
bbe40 6e 20 63 6c 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
bbe60 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>
bbe80 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>..
bbea0 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 66 69 6e 64 73 20 61 20 7a 69 67 20 66 .....This.function.finds.a.zig.f
bbec0 69 6c 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ile.corresponding.to.<code><span
bbee0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 61 74 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e .class="line">path</span></code>
bbf00 20 61 6e 64 20 61 64 64 73 20 69 74 20 74 6f 20 74 68 65 20 62 75 69 6c 64 2c 0a 20 20 20 20 20 .and.adds.it.to.the.build,......
bbf20 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 61 64 64 65 64 2e 0a 20 20 20 .if.it.is.not.already.added.....
bbf40 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 73 6f 75 72 ...</p>.......<p>.......Zig.sour
bbf60 63 65 20 66 69 6c 65 73 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 73 74 72 75 63 74 73 2c ce.files.are.implicitly.structs,
bbf80 20 77 69 74 68 20 61 20 6e 61 6d 65 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 66 69 6c 65 27 73 .with.a.name.equal.to.the.file's
bbfa0 20 62 61 73 65 6e 61 6d 65 20 77 69 74 68 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 .basename.with.the.extension....
bbfc0 20 20 20 74 72 75 6e 63 61 74 65 64 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ...truncated..<code><span.class=
bbfe0 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"
bc000 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 >@import</span></span></code>.re
bc020 74 75 72 6e 73 20 74 68 65 20 73 74 72 75 63 74 20 74 79 70 65 20 63 6f 72 72 65 73 70 6f 6e 64 turns.the.struct.type.correspond
bc040 69 6e 67 20 74 6f 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ing.to.the.file........</p>.....
bc060 20 20 3c 70 3e 0a 20 20 20 20 20 20 44 65 63 6c 61 72 61 74 69 6f 6e 73 20 77 68 69 63 68 20 68 ..<p>.......Declarations.which.h
bc080 61 76 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ave.the.<code><span.class="line"
bc0a0 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>
bc0c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 6d 61 79 20 62 65 20 72 65 </span></code>.keyword.may.be.re
bc0e0 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 ferenced.from.a.different.......
bc100 73 6f 75 72 63 65 20 66 69 6c 65 20 74 68 61 6e 20 74 68 65 20 6f 6e 65 20 74 68 65 79 20 61 72 source.file.than.the.one.they.ar
bc120 65 20 64 65 63 6c 61 72 65 64 20 69 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 e.declared.in........</p>.......
bc140 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
bc160 65 22 3e 70 61 74 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 61 20 72 e">path</span></code>.can.be.a.r
bc180 65 6c 61 74 69 76 65 20 70 61 74 68 20 6f 72 20 69 74 20 63 61 6e 20 62 65 20 74 68 65 20 6e 61 elative.path.or.it.can.be.the.na
bc1a0 6d 65 20 6f 66 20 61 20 70 61 63 6b 61 67 65 2e 0a 20 20 20 20 20 20 49 66 20 69 74 20 69 73 20 me.of.a.package........If.it.is.
bc1c0 61 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 2c 20 69 74 20 69 73 20 72 65 6c 61 74 69 76 65 20 a.relative.path,.it.is.relative.
bc1e0 74 6f 20 74 68 65 20 66 69 6c 65 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 3c 63 to.the.file.that.contains.the.<c
bc200 6f 64 65 3e 3c 73 70 61 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
bc220 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c ss="tok-builtin">@import</span><
bc240 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c /span></code>.......function.cal
bc260 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 l........</p>.......<p>.......Th
bc280 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 70 61 63 6b 61 67 65 73 20 61 72 65 20 61 6c 77 61 79 73 20 e.following.packages.are.always.
bc2a0 61 76 61 69 6c 61 62 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e available:.......</p>.......<ul>
bc2c0 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
bc2e0 3d 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
bc300 22 3e 40 69 6d 70 6f 72 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
bc320 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f k-str">&quot;std&quot;</span>)</
bc340 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 span></code>.-.Zig.Standard.Libr
bc360 61 72 79 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 ary</li>...........<li><code><sp
bc380 61 6e 20 63 6c 61 73 73 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
bc3a0 2d 62 75 69 6c 74 69 6e 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
bc3c0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f lass="tok-str">&quot;builtin&quo
bc3e0 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 54 61 72 67 65 t;</span>)</span></code>.-.Targe
bc400 74 2d 73 70 65 63 69 66 69 63 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 t-specific.information..........
bc420 20 20 20 20 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 3c 63 6f 64 65 3e 7a 69 67 20 62 75 69 6c 64 .....The.command.<code>zig.build
bc440 2d 65 78 65 20 2d 2d 73 68 6f 77 2d 62 75 69 6c 74 69 6e 3c 2f 63 6f 64 65 3e 20 6f 75 74 70 75 -exe.--show-builtin</code>.outpu
bc460 74 73 20 74 68 65 20 73 6f 75 72 63 65 20 74 6f 20 73 74 64 6f 75 74 20 66 6f 72 20 72 65 66 65 ts.the.source.to.stdout.for.refe
bc480 72 65 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 rence............</li>..........
bc4a0 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
bc4c0 70 61 6e 20 63 6c 61 73 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<
bc4e0 2f 73 70 61 6e 3e 28 3c 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
bc500 6f 74 3b 72 6f 6f 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ot;root&quot;</span>)</span></co
bc520 64 65 3e 20 2d 20 50 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 de>.-.Points.to.the.root.source.
bc540 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 75 73 75 61 6c file...............This.is.usual
bc560 6c 79 20 60 73 72 63 2f 6d 61 69 6e 2e 7a 69 67 60 20 62 75 74 20 69 74 20 64 65 70 65 6e 64 73 ly.`src/main.zig`.but.it.depends
bc580 20 6f 6e 20 77 68 61 74 20 66 69 6c 65 20 69 73 20 63 68 6f 73 65 6e 20 74 6f 20 62 65 20 62 75 .on.what.file.is.chosen.to.be.bu
bc5a0 69 6c 74 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e ilt............</li>.......</ul>
bc5c0 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>
bc5e0 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d <a.href="#Compile-Variables">Com
bc600 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 pile.Variables</a></li>.<li><a.h
bc620 72 65 66 3d 22 23 65 6d 62 65 64 46 69 6c 65 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 3c ref="#embedFile">@embedFile</a><
bc640 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
bc660 3d 22 69 6e 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 43 61 73 74 ="intCast"><a.href="#toc-intCast
bc680 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 ">@intCast</a>.<a.class="hdr".hr
bc6a0 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ef="#intCast">..</a></h3>.......
bc6c0 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"><
bc6e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 span.class="tok-builtin">@intCas
bc700 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f t</span>(<span.class="tok-kw">co
bc720 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c mptime</span>.DestType:.<span.cl
bc740 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 69 6e 74 3a ass="tok-type">type</span>,.int:
bc760 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
bc780 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 pan>).DestType</span></code></pr
bc7a0 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 e>.......<p>.......Converts.an.i
bc7c0 6e 74 65 67 65 72 20 74 6f 20 61 6e 6f 74 68 65 72 20 69 6e 74 65 67 65 72 20 77 68 69 6c 65 20 nteger.to.another.integer.while.
bc7e0 6b 65 65 70 69 6e 67 20 74 68 65 20 73 61 6d 65 20 6e 75 6d 65 72 69 63 61 6c 20 76 61 6c 75 65 keeping.the.same.numerical.value
bc800 2e 0a 20 20 20 20 20 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 20 ........Attempting.to.convert.a.
bc820 6e 75 6d 62 65 72 20 77 68 69 63 68 20 69 73 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 6f 66 20 number.which.is.out.of.range.of.
bc840 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 72 65 73 75 6c 74 73 20 69 6e 0a the.destination.type.results.in.
bc860 20 20 20 20 20 20 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 72 65 66 3d 22 ......safety-protected.<a.href="
bc880 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
bc8a0 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 ehavior</a>........</p>.......<f
bc8c0 69 67 75 72 65 3e 3c 66 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
bc8e0 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
bc900 69 74 65 3e 3c 2f 66 69 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
bc920 6e 20 63 6c 61 73 73 3d 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-
bc940 6b 77 22 3e 74 65 73 74 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
bc960 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 63 61 73 74 20 70 61 6e 69 63 26 71 -str">&quot;integer.cast.panic&q
bc980 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
bc9a0 3d 22 6c 69 6e 65 22 3e 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"
bc9c0 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d >var</span>.a:.<span.class="tok-
bc9e0 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 type">u16</span>.=.<span.class="
bca00 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 61 62 63 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e tok-number">0xabcd</span>;</span
bca20 3e 0a 3c 73 70 61 6e 20 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
bca40 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 lass="tok-kw">var</span>.b:.<spa
bca60 6e 20 63 6c 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>.=.<
bca80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 span.class="tok-builtin">@intCas
bcaa0 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e t</span>(<span.class="tok-type">
bcac0 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 u8</span>,.a);</span>.<span.clas
bcae0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e s="line">...._.=.b;</span>.<span
bcb00 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
bcb20 72 65 3e 3c 2f 66 69 67 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.
bcb40 63 6c 61 73 73 3d 22 73 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
bcb60 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
bcb80 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e ">$.<kbd>zig.test.test.zig</kbd>
bcba0 3c 2f 73 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
bcbc0 65 73 74 20 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 63 61 73 74 20 70 61 6e 69 63 26 71 75 6f est.&quot;integer.cast.panic&quo
bcbe0 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 31 34 34 32 32 36 30 20 70 61 6e 69 63 3a 20 69 6e 74 65 t;....thread.1442260.panic:.inte
bcc00 67 65 72 20 63 61 73 74 20 74 72 75 6e 63 61 74 65 64 20 62 69 74 73 3c 2f 73 70 61 6e 3e 0a 3c ger.cast.truncated.bits</span>.<
bcc20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
bcc40 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 1_0">/home/andy/tmp/zig/docgen_t
bcc60 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 mp/test.zig:3:17</span>:.<span.c
bcc80 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 38 39 35 20 69 6e 20 74 65 73 74 20 26 71 75 lass="t2_0">0x207895.in.test.&qu
bcca0 6f 74 3b 69 6e 74 65 67 65 72 20 63 61 73 74 20 70 61 6e 69 63 26 71 75 6f 74 3b 20 28 74 65 73 ot;integer.cast.panic&quot;.(tes
bccc0 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
bcce0 6e 65 22 3e 20 20 20 20 76 61 72 20 62 3a 20 75 38 20 3d 20 40 69 6e 74 43 61 73 74 28 75 38 2c ne">....var.b:.u8.=.@intCast(u8,
bcd00 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 .a);</span>.<span.class="line">.
bcd20 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_
bcd40 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="
bcd60 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 line"><span.class="t1_0">/home/a
bcd80 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 74 ndy/tmp/zig/lib/std/special/test
bcda0 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 38 30 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 _runner.zig:80:28</span>:.<span.
bcdc0 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 66 31 30 33 20 69 6e 20 73 74 64 2e 73 70 65 class="t2_0">0x22f103.in.std.spe
bcde0 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c cial.main.(test)</span></span>.<
bce00 73 70 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
bce20 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
bce40 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">.....................
bce60 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
bce80 6e 3e 3c 2f 73 70 61 6e 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
bcea0 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
bcec0 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 ig/lib/std/start.zig:551:22</spa
bcee0 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 38 34 37 63 20 n>:.<span.class="t2_0">0x22847c.
bcf00 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 in.std.start.callMain.(test)</sp
bcf20 61 6e 3e 3c 2f 73 70 61 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">..
bcf40 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ..........root.main();</span>.<s
bcf60 70 61 6e 20 63 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">...............
bcf80 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
bcfa0 6e 3e 3c 2f 73 70 61 6e 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
bcfc0 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
bcfe0 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 ig/lib/std/start.zig:495:12</spa
bd000 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 30 62 65 20 n>:.<span.class="t2_0">0x2090be.
bd020 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 in.std.start.callMainWithArgs.(t
bd040 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="
bd060 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 line">....return.@call(.{..modif
bd080 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e ier.=..always_inline.},.callMain
bd0a0 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
bd0c0 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 ">...........<span.class="t32_1"
bd0e0 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
bd100 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 ne"><span.class="t1_0">/home/and
bd120 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a y/tmp/zig/lib/std/start.zig:409:
bd140 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 17</span>:.<span.class="t2_0">0x
bd160 32 30 38 31 35 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 208156.in.std.start.posixCallMai
bd180 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 nAndExit.(test)</span></span>.<s
bd1a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 pan.class="line">....std.os.exit
bd1c0 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e (@call(.{..modifier.=..always_in
bd1e0 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 line.},.callMainWithArgs,..{.arg
bd200 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 c,.argv,.envp.}));</span>.<span.
bd220 63 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
bd240 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>
bd260 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
bd280 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 "t1_0">/home/andy/tmp/zig/lib/st
bd2a0 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 d/start.zig:322:5</span>:.<span.
bd2c0 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 66 36 32 20 69 6e 20 73 74 64 2e 73 74 61 class="t2_0">0x207f62.in.std.sta
bd2e0 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c rt._start.(test)</span></span>.<
bd300 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(.{..
bd320 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
bd340 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>.<
bd360 73 70 61 6e 20 63 6c 61 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
bd380 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.
bd3a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e class="line">error:.the.followin
bd3c0 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a 3c g.test.command.crashed:</span>.<
bd3e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 span.class="line">docgen_tmp/zig
bd400 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 36 34 33 64 30 38 66 31 61 63 62 62 31 33 38 36 64 -cache/o/e62d5b643d08f1acbb1386d
bd420 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 b92eb0f23/test./home/andy/tmp/zi
bd440 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d g/build-release/zig</span>.</sam
bd460 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>.....
bd480 20 20 54 6f 20 74 72 75 6e 63 61 74 65 20 74 68 65 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 ..To.truncate.the.significant.bi
bd4a0 74 73 20 6f 66 20 61 20 6e 75 6d 62 65 72 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 6f 66 20 74 ts.of.a.number.out.of.range.of.t
bd4c0 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 20 75 73 65 20 3c 61 20 68 72 65 66 he.destination.type,.use.<a.href
bd4e0 3d 22 23 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 2e 0a 20 20 20 20 ="#truncate">@truncate</a>......
bd500 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e ..</p>.......<p>.......If.<code>
bd520 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
bd540 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"><
bd560 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
bd580 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 74 nt</span></span></code>,.......t
bd5a0 68 65 6e 20 74 68 69 73 20 69 73 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 65 71 75 69 76 61 6c hen.this.is.semantically.equival
bd5c0 65 6e 74 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e ent.to.<a.href="#Type-Coercion">
bd5e0 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 Type.Coercion</a>........</p>...
bd600 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 69 6e 74 54 6f 45 6e 75 6d 22 3e 3c ............<h3.id="intToEnum"><
bd620 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 69 6e 74 54 6f 45 6e a.href="#toc-intToEnum">@intToEn
bd640 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 um</a>.<a.class="hdr".href="#int
bd660 54 6f 45 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e ToEnum">..</a></h3>........<pre>
bd680 3c 63 6f 64 65 3e 3c 73 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
bd6a0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 73 lass="tok-builtin">@intToEnum</s
bd6c0 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 pan>(<span.class="tok-kw">compti
bd6e0 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d me</span>.DestType:.<span.class=
bd700 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 69 6e 74 65 67 65 72 3a "tok-type">type</span>,.integer:
bd720 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
bd740 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 pan>).DestType</span></code></pr
bd760 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 e>.......<p>.......Converts.an.i
bd780 6e 74 65 67 65 72 20 69 6e 74 6f 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 nteger.into.an.<a.href="#enum">e
bd7a0 6e 75 6d 3c 2f 61 3e 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 num</a>.value........</p>.......
bd7c0 3c 70 3e 0a 20 20 20 20 20 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 <p>.......Attempting.to.convert.
bd7e0 61 6e 20 69 6e 74 65 67 65 72 20 77 68 69 63 68 20 72 65 70 72 65 73 65 6e 74 73 20 6e 6f 20 76 an.integer.which.represents.no.v
bd800 61 6c 75 65 20 69 6e 20 74 68 65 20 63 68 6f 73 65 6e 20 65 6e 75 6d 20 74 79 70 65 20 69 6e 76 alue.in.the.chosen.enum.type.inv
bd820 6f 6b 65 73 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 okes.......safety-checked.<a.hre
bd840 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 f="#Undefined-Behavior">Undefine
bd860 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 d.Behavior</a>........</p>......
bd880 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
bd8a0 66 3d 22 23 65 6e 75 6d 54 6f 49 6e 74 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c f="#enumToInt">@enumToInt</a></l
bd8c0 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="
bd8e0 69 6e 74 54 6f 45 72 72 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 54 6f 45 intToError"><a.href="#toc-intToE
bd900 72 72 6f 72 22 3e 40 69 6e 74 54 6f 45 72 72 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 rror">@intToError</a>.<a.class="
bd920 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 72 72 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f hdr".href="#intToError">..</a></
bd940 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
bd960 73 3d 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
bd980 6e 22 3e 40 69 6e 74 54 6f 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 73 74 64 n">@intToError</span>(value:.std
bd9a0 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
bd9c0 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
bd9e0 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
bda00 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"
bda20 3e 38 3c 2f 73 70 61 6e 3e 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 >8</span>)).<span.class="tok-typ
bda40 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e e">anyerror</span></span></code>
bda60 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.
bda80 66 72 6f 6d 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 from.the.integer.representation.
bdaa0 6f 66 20 61 6e 20 65 72 72 6f 72 20 69 6e 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 54 68 65 2d 47 of.an.error.into.<a.href="#The-G
bdac0 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
bdae0 72 20 53 65 74 3c 2f 61 3e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 r.Set</a>.type........</p>......
bdb00 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d .<p>.......It.is.generally.recom
bdb20 6d 65 6e 64 65 64 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 0a 20 20 20 20 20 20 63 61 73 74 2c mended.to.avoid.this.......cast,
bdb40 20 61 73 20 74 68 65 20 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f .as.the.integer.representation.o
bdb60 66 20 61 6e 20 65 72 72 6f 72 20 69 73 20 6e 6f 74 20 73 74 61 62 6c 65 20 61 63 72 6f 73 73 20 f.an.error.is.not.stable.across.
bdb80 73 6f 75 72 63 65 20 63 6f 64 65 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a source.code.changes........</p>.
bdba0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f ......<p>.......Attempting.to.co
bdbc0 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 63 nvert.an.integer.that.does.not.c
bdbe0 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 61 6e 79 20 65 72 72 6f 72 20 72 65 73 75 6c 74 73 20 69 orrespond.to.any.error.results.i
bdc00 6e 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 72 65 66 n.......safety-protected.<a.href
bdc20 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 ="#Undefined-Behavior">Undefined
bdc40 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 .Behavior</a>........</p>.......
bdc60 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
bdc80 3d 22 23 65 72 72 6f 72 54 6f 49 6e 74 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 61 3e 3c 2f ="#errorToInt">@errorToInt</a></
bdca0 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=
bdcc0 22 69 6e 74 54 6f 46 6c 6f 61 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 54 6f "intToFloat"><a.href="#toc-intTo
bdce0 46 6c 6f 61 74 22 3e 40 69 6e 74 54 6f 46 6c 6f 61 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d Float">@intToFloat</a>.<a.class=
bdd00 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 46 6c 6f 61 74 22 3e c2 a7 3c 2f 61 3e 3c "hdr".href="#intToFloat">..</a><
bdd20 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
bdd40 73 73 3d 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
bdd60 69 6e 22 3e 40 69 6e 74 54 6f 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 in">@intToFloat</span>(<span.cla
bdd80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 ss="tok-kw">comptime</span>.Dest
bdda0 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 Type:.<span.class="tok-type">typ
bddc0 65 3c 2f 73 70 61 6e 3e 2c 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d e</span>,.int:.<span.class="tok-
bdde0 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 kw">anytype</span>).DestType</sp
bde00 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>......
bde20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 74 68 65 20 63 6c 6f 73 .Converts.an.integer.to.the.clos
bde40 65 73 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f est.floating.point.representatio
bde60 6e 2e 20 54 6f 20 63 6f 6e 76 65 72 74 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 2c 20 75 73 65 n..To.convert.the.other.way,.use
bde80 20 3c 61 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 74 54 6f 49 .<a.href="#floatToInt">@floatToI
bdea0 6e 74 3c 2f 61 3e 2e 20 54 68 69 73 20 63 61 73 74 20 69 73 20 61 6c 77 61 79 73 20 73 61 66 65 nt</a>..This.cast.is.always.safe
bdec0 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 ........</p>...............<h3.i
bdee0 64 3d 22 69 6e 74 54 6f 50 74 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 54 6f d="intToPtr"><a.href="#toc-intTo
bdf00 50 74 72 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 Ptr">@intToPtr</a>.<a.class="hdr
bdf20 22 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 50 74 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ".href="#intToPtr">..</a></h3>..
bdf40 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
bdf60 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
bdf80 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ntToPtr</span>(<span.class="tok-
bdfa0 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
bdfc0 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>
bdfe0 2c 20 61 64 64 72 65 73 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ,.address:.<span.class="tok-type
be000 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 61 6e 3e 3c ">usize</span>).DestType</span><
be020 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
be040 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 3c 61 20 68 72 65 66 3d 22 23 verts.an.integer.to.a.<a.href="#
be060 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 20 54 6f 20 63 6f 6e 76 65 72 Pointers">pointer</a>..To.conver
be080 74 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 70 t.the.other.way,.use.<a.href="#p
be0a0 74 72 54 6f 49 6e 74 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 2e 20 43 61 73 74 69 6e 67 20 trToInt">@ptrToInt</a>..Casting.
be0c0 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 30 20 74 6f 20 61 20 64 65 73 74 69 6e 61 74 69 6f 6e an.address.of.0.to.a.destination
be0e0 20 74 79 70 65 0a 20 20 20 20 20 20 77 68 69 63 68 20 69 6e 20 6e 6f 74 20 3c 61 20 68 72 65 66 .type.......which.in.not.<a.href
be100 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 6f 70 74 69 6f 6e 61 6c 3c 2f ="#Optional-Pointers">optional</
be120 61 3e 20 61 6e 64 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c a>.and.does.not.have.the.<code><
be140 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
be160 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f ok-kw">allowzero</span></span></
be180 63 6f 64 65 3e 20 61 74 74 72 69 62 75 74 65 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 61 code>.attribute.will.result.in.a
be1a0 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e .......<a.href="#Pointer-Cast-In
be1c0 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f 69 6e 74 65 72 20 43 61 73 74 20 49 6e 76 61 6c 69 64 valid-Null">Pointer.Cast.Invalid
be1e0 20 4e 75 6c 6c 3c 2f 61 3e 20 70 61 6e 69 63 20 77 68 65 6e 20 72 75 6e 74 69 6d 65 20 73 61 66 .Null</a>.panic.when.runtime.saf
be200 65 74 79 20 63 68 65 63 6b 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 20 3c 2f ety.checks.are.enabled........</
be220 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 64 65 73 74 69 6e p>.......<p>.......If.the.destin
be240 61 74 69 6f 6e 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 64 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f ation.pointer.type.does.not.allo
be260 77 20 61 64 64 72 65 73 73 20 7a 65 72 6f 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 w.address.zero.and.<code><span.c
be280 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 lass="line">address</span></code
be2a0 3e 0a 20 20 20 20 20 20 69 73 20 7a 65 72 6f 2c 20 74 68 69 73 20 69 6e 76 6f 6b 65 73 20 73 61 >.......is.zero,.this.invokes.sa
be2c0 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 fety-checked.<a.href="#Undefined
be2e0 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 -Behavior">Undefined.Behavior</a
be300 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 >........</p>...............<h3.
be320 69 64 3d 22 6d 61 78 69 6d 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 61 78 69 6d id="maximum"><a.href="#toc-maxim
be340 75 6d 22 3e 40 6d 61 78 69 6d 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 um">@maximum</a>.<a.class="hdr".
be360 68 72 65 66 3d 22 23 6d 61 78 69 6d 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 href="#maximum">..</a></h3>.....
be380 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"
be3a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 61 78 69 ><span.class="tok-builtin">@maxi
be3c0 6d 75 6d 3c 2f 73 70 61 6e 3e 28 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e 3c mum</span>(a:.T,.b:.T).T</span><
be3e0 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
be400 75 72 6e 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e urns.the.maximum.value.of.<code>
be420 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
be440 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e e>.and.<code><span.class="line">
be460 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 61 63 b</span></code>..This.builtin.ac
be480 63 65 70 74 73 20 69 6e 74 65 67 65 72 73 2c 20 66 6c 6f 61 74 73 2c 20 61 6e 64 20 76 65 63 74 cepts.integers,.floats,.and.vect
be4a0 6f 72 73 20 6f 66 20 65 69 74 68 65 72 2e 20 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 ors.of.either..In.the.latter.cas
be4c0 65 2c 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 65 6c e,.the.operation.is.performed.el
be4e0 65 6d 65 6e 74 20 77 69 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e ement.wise........</p>.......<p>
be500 0a 20 20 20 20 20 20 4e 61 4e 73 20 61 72 65 20 68 61 6e 64 6c 65 64 20 61 73 20 66 6f 6c 6c 6f .......NaNs.are.handled.as.follo
be520 77 73 3a 20 69 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 73 20 6f 66 20 61 20 ws:.if.one.of.the.operands.of.a.
be540 28 70 61 69 72 77 69 73 65 29 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 4e 61 4e 2c 20 74 68 65 (pairwise).operation.is.NaN,.the
be560 20 6f 74 68 65 72 20 6f 70 65 72 61 6e 64 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 49 66 20 62 .other.operand.is.returned..If.b
be580 6f 74 68 20 6f 70 65 72 61 6e 64 73 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 73 20 72 65 74 oth.operands.are.NaN,.NaN.is.ret
be5a0 75 72 6e 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 urned........</p>.......<p>See.a
be5c0 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 69 6e 69 6d lso:</p><ul>.<li><a.href="#minim
be5e0 75 6d 22 3e 40 6d 69 6e 69 6d 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 um">@minimum</a></li>.<li><a.hre
be600 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f f="#Vectors">Vectors</a></li>.</
be620 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 65 6d 63 70 ul>................<h3.id="memcp
be640 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 65 6d 63 70 79 22 3e 40 6d 65 6d 63 70 79 y"><a.href="#toc-memcpy">@memcpy
be660 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 65 6d 63 70 </a>.<a.class="hdr".href="#memcp
be680 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 y">..</a></h3>........<pre><code
be6a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
be6c0 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 65 6d 63 70 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 "tok-builtin">@memcpy</span>(<sp
be6e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e an.class="tok-kw">noalias</span>
be700 20 64 65 73 74 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 .dest:.[*]<span.class="tok-type"
be720 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 >u8</span>,.<span.class="tok-kw"
be740 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e 20 73 6f 75 72 63 65 3a 20 5b 2a 5d 3c 73 70 61 6e >noalias</span>.source:.[*]<span
be760 20 63 6c 61 73 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
be780 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 an.class="tok-type">u8</span>,.b
be7a0 79 74 65 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 yte_count:.<span.class="tok-type
be7c0 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 ">usize</span>)</span></code></p
be7e0 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
be800 6e 20 63 6f 70 69 65 73 20 62 79 74 65 73 20 66 72 6f 6d 20 6f 6e 65 20 72 65 67 69 6f 6e 20 6f n.copies.bytes.from.one.region.o
be820 66 20 6d 65 6d 6f 72 79 20 74 6f 20 61 6e 6f 74 68 65 72 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e f.memory.to.another..<code><span
be840 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e .class="line">dest</span></code>
be860 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .and...........<code><span.class
be880 3d 22 6c 69 6e 65 22 3e 73 6f 75 72 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 ="line">source</span></code>.are
be8a0 20 62 6f 74 68 20 70 6f 69 6e 74 65 72 73 20 61 6e 64 20 6d 75 73 74 20 6e 6f 74 20 6f 76 65 72 .both.pointers.and.must.not.over
be8c0 6c 61 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 lap........</p>.......<p>.......
be8e0 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 6c 6f 77 20 6c 65 76 65 6c 20 69 6e 74 This.function.is.a.low.level.int
be900 72 69 6e 73 69 63 20 77 69 74 68 20 6e 6f 20 73 61 66 65 74 79 20 6d 65 63 68 61 6e 69 73 6d 73 rinsic.with.no.safety.mechanisms
be920 2e 20 4d 6f 73 74 20 63 6f 64 65 0a 20 20 20 20 20 20 73 68 6f 75 6c 64 20 6e 6f 74 20 75 73 65 ..Most.code.......should.not.use
be940 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 73 74 65 61 64 20 75 73 69 6e 67 20 73 6f .this.function,.instead.using.so
be960 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 mething.like.this:.......</p>...
be980 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
be9a0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e "><span.class="tok-kw">for</span
be9c0 3e 20 28 73 6f 75 72 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 >.(source[<span.class="tok-numbe
be9e0 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 62 79 74 65 5f 63 6f 75 6e 74 5d 29 20 7c 62 2c 20 69 7c r">0</span>..byte_count]).|b,.i|
bea00 20 64 65 73 74 5b 69 5d 20 3d 20 62 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 .dest[i].=.b;</span></code></pre
bea20 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 >.......<p>.......The.optimizer.
bea40 69 73 20 69 6e 74 65 6c 6c 69 67 65 6e 74 20 65 6e 6f 75 67 68 20 74 6f 20 74 75 72 6e 20 74 68 is.intelligent.enough.to.turn.th
bea60 65 20 61 62 6f 76 65 20 73 6e 69 70 70 65 74 20 69 6e 74 6f 20 61 20 6d 65 6d 63 70 79 2e 0a 20 e.above.snippet.into.a.memcpy...
bea80 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 72 65 20 69 73 20 61 6c 73 6f .....</p>.......<p>There.is.also
beaa0 20 61 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 .a.standard.library.function.for
beac0 20 74 68 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 .this:</p>.......<pre><code><spa
beae0 6e 20 63 6c 61 73 73 3d 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-
beb00 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 kw">const</span>.mem.=.<span.cla
beb20 73 73 3d 22 74 6f 6b 2d 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>(
beb40 3c 73 70 61 6e 20 63 6c 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&
beb60 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 quot;</span>).mem;</span>.<span.
beb80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 65 6d 2e 63 6f 70 79 28 3c 73 70 61 6e 20 63 6c 61 73 class="line">mem.copy(<span.clas
beba0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 64 65 73 74 5b 3c 73 70 s="tok-type">u8</span>,.dest[<sp
bebc0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e an.class="tok-number">0</span>..
bebe0 62 79 74 65 5f 63 6f 75 6e 74 5d 2c 20 73 6f 75 72 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d byte_count],.source[<span.class=
bec00 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 62 79 74 65 5f 63 6f 75 6e "tok-number">0</span>..byte_coun
bec20 74 5d 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 0a t]);</span></code></pre>........
bec40 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 65 6d 73 65 74 22 3e 3c 61 20 68 72 65 66 3d 22 .......<h3.id="memset"><a.href="
bec60 23 74 6f 63 2d 6d 65 6d 73 65 74 22 3e 40 6d 65 6d 73 65 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 #toc-memset">@memset</a>.<a.clas
bec80 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 65 6d 73 65 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 s="hdr".href="#memset">..</a></h
beca0 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
becc0 3d 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
bece0 22 3e 40 6d 65 6d 73 65 74 3c 2f 73 70 61 6e 3e 28 64 65 73 74 3a 20 5b 2a 5d 3c 73 70 61 6e 20 ">@memset</span>(dest:.[*]<span.
bed00 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 63 3a 20 3c class="tok-type">u8</span>,.c:.<
bed20 73 70 61 6e 20 63 6c 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>,
bed40 20 62 79 74 65 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 .byte_count:.<span.class="tok-ty
bed60 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c pe">usize</span>)</span></code><
bed80 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
beda0 69 6f 6e 20 73 65 74 73 20 61 20 72 65 67 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f 20 3c ion.sets.a.region.of.memory.to.<
bedc0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 3c 2f 73 70 61 6e 3e code><span.class="line">c</span>
bede0 3c 2f 63 6f 64 65 3e 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </code>..<code><span.class="line
bee00 22 3e 64 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 70 6f 69 6e 74 65 ">dest</span></code>.is.a.pointe
bee20 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 r........</p>.......<p>.......Th
bee40 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 6c 6f 77 20 6c 65 76 65 6c 20 69 6e 74 72 69 is.function.is.a.low.level.intri
bee60 6e 73 69 63 20 77 69 74 68 20 6e 6f 20 73 61 66 65 74 79 20 6d 65 63 68 61 6e 69 73 6d 73 2e 20 nsic.with.no.safety.mechanisms..
bee80 4d 6f 73 74 0a 20 20 20 20 20 20 63 6f 64 65 20 73 68 6f 75 6c 64 20 6e 6f 74 20 75 73 65 20 74 Most.......code.should.not.use.t
beea0 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 73 74 65 61 64 20 75 73 69 6e 67 20 73 6f 6d 65 his.function,.instead.using.some
beec0 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 thing.like.this:.......</p>.....
beee0 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">
bef00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 <span.class="tok-kw">for</span>.
bef20 28 64 65 73 74 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 (dest[<span.class="tok-number">0
bef40 3c 2f 73 70 61 6e 3e 2e 2e 62 79 74 65 5f 63 6f 75 6e 74 5d 29 20 7c 2a 62 7c 20 62 2e 2a 20 3d </span>..byte_count]).|*b|.b.*.=
bef60 20 63 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 .c;</span></code></pre>.......<p
bef80 3e 0a 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 69 73 20 69 6e 74 65 6c 6c 69 >.......The.optimizer.is.intelli
befa0 67 65 6e 74 20 65 6e 6f 75 67 68 20 74 6f 20 74 75 72 6e 20 74 68 65 20 61 62 6f 76 65 20 73 6e gent.enough.to.turn.the.above.sn
befc0 69 70 70 65 74 20 69 6e 74 6f 20 61 20 6d 65 6d 73 65 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a ippet.into.a.memset........</p>.
befe0 20 20 20 20 20 20 3c 70 3e 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 73 74 61 6e 64 61 72 ......<p>There.is.also.a.standar
bf000 64 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 3a 3c 2f 70 3e d.library.function.for.this:</p>
bf020 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
bf040 69 6e 65 22 3e 3c 73 70 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<
bf060 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 /span>.mem.=.<span.class="tok-bu
bf080 69 6c 74 69 6e 22 3e 40 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
bf0a0 73 3d 22 74 6f 6b 2d 73 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
bf0c0 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e n>).mem;</span>.<span.class="lin
bf0e0 65 22 3e 6d 65 6d 2e 73 65 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 e">mem.set(<span.class="tok-type
bf100 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 64 65 73 74 2c 20 63 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 ">u8</span>,.dest,.c);</span></c
bf120 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d ode></pre>...............<h3.id=
bf140 22 6d 69 6e 69 6d 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 69 6e 69 6d 75 6d 22 "minimum"><a.href="#toc-minimum"
bf160 3e 40 6d 69 6e 69 6d 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 >@minimum</a>.<a.class="hdr".hre
bf180 66 3d 22 23 6d 69 6e 69 6d 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 f="#minimum">..</a></h3>........
bf1a0 3c 70 72 65 3e 3c 63 6f 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
bf1c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 69 6e 69 6d 75 6d pan.class="tok-builtin">@minimum
bf1e0 3c 2f 73 70 61 6e 3e 28 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f </span>(a:.T,.b:.T).T</span></co
bf200 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e de></pre>.......<p>.......Return
bf220 73 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 s.the.minimum.value.of.<code><sp
bf240 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 an.class="line">a</span></code>.
bf260 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f and.<code><span.class="line">b</
bf280 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 61 63 63 65 70 span></code>..This.builtin.accep
bf2a0 74 73 20 69 6e 74 65 67 65 72 73 2c 20 66 6c 6f 61 74 73 2c 20 61 6e 64 20 76 65 63 74 6f 72 73 ts.integers,.floats,.and.vectors
bf2c0 20 6f 66 20 65 69 74 68 65 72 2e 20 49 6e 20 74 68 65 20 6c 61 74 74 65 72 20 63 61 73 65 2c 20 .of.either..In.the.latter.case,.
bf2e0 74 68 65 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 65 6c 65 6d 65 the.operation.is.performed.eleme
bf300 6e 74 20 77 69 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 nt.wise........</p>.......<p>...
bf320 20 20 20 20 4e 61 4e 73 20 61 72 65 20 68 61 6e 64 6c 65 64 20 61 73 20 66 6f 6c 6c 6f 77 73 3a ....NaNs.are.handled.as.follows:
bf340 20 69 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 73 20 6f 66 20 61 20 28 70 61 .if.one.of.the.operands.of.a.(pa
bf360 69 72 77 69 73 65 29 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 4e 61 4e 2c 20 74 68 65 20 6f 74 irwise).operation.is.NaN,.the.ot
bf380 68 65 72 20 6f 70 65 72 61 6e 64 20 69 73 20 72 65 74 75 72 6e 65 64 2e 20 49 66 20 62 6f 74 68 her.operand.is.returned..If.both
bf3a0 20 6f 70 65 72 61 6e 64 73 20 61 72 65 20 4e 61 4e 2c 20 4e 61 4e 20 69 73 20 72 65 74 75 72 6e .operands.are.NaN,.NaN.is.return
bf3c0 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f ed........</p>.......<p>See.also
bf3e0 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 61 78 69 6d 75 6d 22 :</p><ul>.<li><a.href="#maximum"
bf400 3e 40 6d 61 78 69 6d 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 >@maximum</a></li>.<li><a.href="
bf420 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>
bf440 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
bf460 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
bf480 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
bf4a0 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">
bf4c0 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
bf4e0 70 61 6e 20 63 6c 61 73 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
bf500 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
bf520 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">
bf540 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
bf560 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
bf580 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.
bf5a0 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
bf5c0 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
bf5e0 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
bf600 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
bf620 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
bf640 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......
bf660 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
bf680 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
bf6a0 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.
bf6c0 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
bf6e0 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
bf700 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
bf720 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.....
bf740 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
bf760 73 73 3d 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
bf780 69 6e 22 3e 40 69 6d 70 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="
bf7a0 74 6f 6b 2d 73 74 72 22 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>)
bf7c0 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></
bf7e0 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
bf800 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
bf820 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></
bf840 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=
bf860 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
bf880 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</
bf8a0 61 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
bf8c0 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
bf8e0 3e 3c 63 6f 64 65 3e 3c 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.
bf900 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
bf920 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
bf940 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
bf960 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>).<
bf980 73 70 61 6e 20 63 6c 61 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>
bf9a0 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>..
bf9c0 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
bf9e0 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
bfa00 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">
bfa20 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
bfa40 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
bfa60 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
bfa80 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
bfaa0 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
bfac0 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
bfae0 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
bfb00 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
bfb20 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>......
bfb40 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
bfb60 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
bfb80 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..
bfba0 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
bfbc0 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
bfbe0 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
bfc00 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
bfc20 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
bfc40 22 74 6f 6b 2d 62 75 69 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
bfc60 61 6e 20 63 6c 61 73 73 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
bfc80 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
bfca0 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>.....
bfcc0 20 20 3c 66 69 67 75 72 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
bfce0 2d 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
bfd00 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><
bfd20 70 72 65 3e 3c 63 6f 64 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
bfd40 61 6e 20 63 6c 61 73 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
bfd60 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">@
bfd80 69 6d 70 6f 72 74 3c 2f 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
bfda0 74 72 22 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
bfdc0 61 6e 3e 0a 3c 73 70 61 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
bfde0 73 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_
bfe00 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"
bfe20 3e 40 69 6d 70 6f 72 74 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
bfe40 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>
bfe60 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.
bfe80 63 6c 61 73 73 3d 22 6c 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
bfea0 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
bfec0 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="
bfee0 6c 69 6e 65 22 3e 3c 2f 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"
bff00 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
bff20 3e 20 3c 73 70 61 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
bff40 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
bff60 61 6e 3e 0a 3c 73 70 61 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
bff80 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
bffa0 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="
bffc0 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
bffe0 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
c0000 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"><
c0020 2f 73 70 61 6e 3e 0a 3c 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
c0040 70 61 6e 20 63 6c 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
c0060 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">@
c0080 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
c00a0 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>
c00c0 0a 3c 73 70 61 6e 20 63 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
c00e0 61 73 73 3d 22 74 6f 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
c0100 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"
c0120 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
c0140 61 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
c0160 20 63 6c 61 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>));<
c0180 2f 73 70 61 6e 3e 0a 3c 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
c01a0 70 61 6e 20 63 6c 61 73 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
c01c0 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
c01e0 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
c0200 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
c0220 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
c0240 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"
c0260 3e 7d 3c 2f 73 70 61 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><
c0280 66 69 67 75 72 65 3e 3c 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-
c02a0 63 61 70 22 3e 53 68 65 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
c02c0 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.
c02e0 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
c0300 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
c0320 20 26 71 75 6f 74 3b 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 26 71 75 6f 74 3b 2e 2e 2e 20 .&quot;@wasmMemoryGrow&quot;....
c0340 74 65 73 74 20 26 71 75 6f 74 3b 40 77 61 73 6d 4d 65 6d 6f 72 79 47 72 6f 77 26 71 75 6f 74 3b test.&quot;@wasmMemoryGrow&quot;
c0360 2e 2e 2e 20 53 4b 49 50 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ....SKIP</span>.<span.class="lin
c0380 65 22 3e 53 4b 49 50 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 e">SKIP</span>.<span.class="line
c03a0 22 3e 30 20 70 61 73 73 65 64 3b 20 31 20 73 6b 69 70 70 65 64 3b 20 30 20 66 61 69 6c 65 64 2e ">0.passed;.1.skipped;.0.failed.
c03c0 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>..
c03e0 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 .....<p>See.also:</p><ul>.<li><a
c0400 20 68 72 65 66 3d 22 23 77 61 73 6d 4d 65 6d 6f 72 79 53 69 7a 65 22 3e 40 77 61 73 6d 4d 65 6d .href="#wasmMemorySize">@wasmMem
c0420 6f 72 79 53 69 7a 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a orySize</a></li>.</ul>..........
c0440 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6d 6f 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ......<h3.id="mod"><a.href="#toc
c0460 2d 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 -mod">@mod</a>.<a.class="hdr".hr
c0480 65 66 3d 22 23 6d 6f 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 ef="#mod">..</a></h3>........<pr
c04a0 65 3e 3c 63 6f 64 65 3e 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
c04c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e .class="tok-builtin">@mod</span>
c04e0 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 (numerator:.T,.denominator:.T).T
c0500 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>..
c0520 20 20 20 20 20 4d 6f 64 75 6c 75 73 20 64 69 76 69 73 69 6f 6e 2e 20 46 6f 72 20 75 6e 73 69 67 .....Modulus.division..For.unsig
c0540 6e 65 64 20 69 6e 74 65 67 65 72 73 20 74 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 ned.integers.this.is.the.same.as
c0560 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .......<code><span.class="line">
c0580 6e 75 6d 65 72 61 74 6f 72 20 25 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f numerator.%.denominator</span></
c05a0 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 3e 3c code>..Caller.guarantees.<code><
c05c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 26 67 span.class="line">denominator.&g
c05e0 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 t;.<span.class="tok-number">0</s
c0600 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 pan></span></code>,.otherwise.th
c0620 65 0a 20 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e e.......operation.will.result.in
c0640 20 61 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d .a.<a.href="#Remainder-Division-
c0660 62 79 2d 5a 65 72 6f 22 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 20 62 79 20 5a by-Zero">Remainder.Division.by.Z
c0680 65 72 6f 3c 2f 61 3e 20 77 68 65 6e 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 20 63 68 65 63 ero</a>.when.runtime.safety.chec
c06a0 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>......
c06c0 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .<ul>...........<li><code><span.
c06e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 class="line"><span.class="tok-bu
c0700 69 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d iltin">@mod</span>(-<span.class=
c0720 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">5</span>,.<span.cla
c0740 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 ss="tok-number">3</span>).==.<sp
c0760 61 6e 20 63 6c 61 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></
c0780 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e span></code></li>...........<li>
c07a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c 73 70 61 6e 20 <code><span.class="line">(<span.
c07c0 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
c07e0 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>(a,.b).*.b).+.<span.class="t
c0800 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 3d 3d ok-builtin">@mod</span>(a,.b).==
c0820 20 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c .a</span></code></li>.......</ul
c0840 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 >.......<p>For.a.function.that.r
c0860 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 73 65 65 20 3c 63 6f 64 65 3e eturns.an.error.code,.see.<code>
c0880 3c 73 70 61 6e 20 63 6c 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="
c08a0 74 6f 6b 2d 62 75 69 6c 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
c08c0 6e 20 63 6c 61 73 73 3d 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
c08e0 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 6d 6f 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ;</span>).math.mod</span></code>
c0900 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>
c0920 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 3e 3c 2f 6c 69 .<li><a.href="#rem">@rem</a></li
c0940 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
c0960 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 75 ulWithOverflow"><a.href="#toc-mu
c0980 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c lWithOverflow">@mulWithOverflow<
c09a0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 75 6c 57 69 74 /a>.<a.class="hdr".href="#mulWit
c09c0 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 hOverflow">..</a></h3>........<p
c09e0 72 65 3e 3c 63 6f 64 65 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
c0a00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 75 6c 57 69 74 68 4f 76 n.class="tok-builtin">@mulWithOv
c0a20 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b erflow</span>(<span.class="tok-k
c0a40 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
c0a60 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 s="tok-type">type</span>,.a:.T,.
c0a80 62 3a 20 54 2c 20 72 65 73 75 6c 74 3a 20 2a 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 b:.T,.result:.*T).<span.class="t
c0aa0 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-type">bool</span></span></cod
c0ac0 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d e></pre>.......<p>.......Perform
c0ae0 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c s.<code><span.class="line">resul
c0b00 74 2e 2a 20 3d 20 61 20 2a 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 6f 76 t.*.=.a.*.b</span></code>..If.ov
c0b20 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 erflow.or.underflow.occurs,.....
c0b40 20 20 20 20 20 20 73 74 6f 72 65 73 20 74 68 65 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 ......stores.the.overflowed.bits
c0b60 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 .in.<code><span.class="line">res
c0b80 75 6c 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 3c 63 ult</span></code>.and.returns.<c
c0ba0 6f 64 65 3e 3c 73 70 61 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
c0bc0 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ss="tok-null">true</span></span>
c0be0 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f </code>....................If.no
c0c00 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 20 72 .overflow.or.underflow.occurs,.r
c0c20 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e eturns.<code><span.class="line">
c0c40 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
c0c60 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 an></span></code>........</p>...
c0c80 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 61 6e 69 63 22 3e 3c 61 20 68 72 ............<h3.id="panic"><a.hr
c0ca0 65 66 3d 22 23 74 6f 63 2d 70 61 6e 69 63 22 3e 40 70 61 6e 69 63 3c 2f 61 3e 20 3c 61 20 63 6c ef="#toc-panic">@panic</a>.<a.cl
c0cc0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 61 6e 69 63 22 3e c2 a7 3c 2f 61 3e 3c 2f ass="hdr".href="#panic">..</a></
c0ce0 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
c0d00 73 3d 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
c0d20 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 6d 65 73 73 61 67 65 3a 20 5b 5d 3c 73 70 61 n">@panic</span>(message:.[]<spa
c0d40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 n.class="tok-kw">const</span>.<s
c0d60 70 61 6e 20 63 6c 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>).
c0d80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c <span.class="tok-type">noreturn<
c0da0 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>......
c0dc0 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 74 68 65 20 70 61 6e 69 63 20 68 61 6e .<p>.......Invokes.the.panic.han
c0de0 64 6c 65 72 20 66 75 6e 63 74 69 6f 6e 2e 20 42 79 20 64 65 66 61 75 6c 74 20 74 68 65 20 70 61 dler.function..By.default.the.pa
c0e00 6e 69 63 20 68 61 6e 64 6c 65 72 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 63 61 6c 6c 73 nic.handler.function.......calls
c0e20 20 74 68 65 20 70 75 62 6c 69 63 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .the.public.<code><span.class="l
c0e40 69 6e 65 22 3e 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f ine">panic</span></code>.functio
c0e60 6e 20 65 78 70 6f 73 65 64 20 69 6e 20 74 68 65 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c n.exposed.in.the.root.source.fil
c0e80 65 2c 20 6f 72 0a 20 20 20 20 20 20 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 74 20 6f 6e 65 20 e,.or.......if.there.is.not.one.
c0ea0 73 70 65 63 69 66 69 65 64 2c 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 specified,.the.<code><span.class
c0ec0 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 62 75 69 6c 74 69 6e 2e 64 65 66 61 75 6c 74 5f 70 61 6e 69 ="line">std.builtin.default_pani
c0ee0 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 66 c</span></code>.......function.f
c0f00 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 rom.<code><span.class="line">std
c0f20 2f 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 /builtin.zig</span></code>......
c0f40 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 47 65 6e 65 72 61 6c 6c 79 20 69 74 20 69 73 20 ..</p>.......<p>Generally.it.is.
c0f60 62 65 74 74 65 72 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d better.to.use.<code><span.class=
c0f80 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"
c0fa0 3e 40 69 6d 70 6f 72 74 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
c0fc0 2d 73 74 72 22 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
c0fe0 62 75 67 2e 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 bug.panic</span></code>.........
c1000 20 20 20 48 6f 77 65 76 65 72 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ...However,.<code><span.class="l
c1020 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">@
c1040 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 panic</span></span></code>.can.b
c1060 65 20 75 73 65 66 75 6c 20 66 6f 72 20 32 20 73 63 65 6e 61 72 69 6f 73 3a 0a 20 20 20 20 20 20 e.useful.for.2.scenarios:.......
c1080 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 72 6f 6d </p>.......<ul>.........<li>From
c10a0 20 6c 69 62 72 61 72 79 20 63 6f 64 65 2c 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 70 72 6f 67 72 .library.code,.calling.the.progr
c10c0 61 6d 6d 65 72 27 73 20 70 61 6e 69 63 20 66 75 6e 63 74 69 6f 6e 20 69 66 20 74 68 65 79 20 65 ammer's.panic.function.if.they.e
c10e0 78 70 6f 73 65 64 20 6f 6e 65 20 69 6e 20 74 68 65 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 xposed.one.in.the.root.source.fi
c1100 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 57 68 65 6e 20 6d 69 78 69 6e 67 le.</li>.........<li>When.mixing
c1120 20 43 20 61 6e 64 20 5a 69 67 20 63 6f 64 65 2c 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 63 61 6e .C.and.Zig.code,.calling.the.can
c1140 6f 6e 69 63 61 6c 20 70 61 6e 69 63 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 61 63 72 6f onical.panic.implementation.acro
c1160 73 73 20 6d 75 6c 74 69 70 6c 65 20 2e 6f 20 66 69 6c 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ss.multiple..o.files.</li>......
c1180 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c .</ul>.......<p>See.also:</p><ul
c11a0 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 >.<li><a.href="#Root-Source-File
c11c0 22 3e 52 6f 6f 74 20 53 6f 75 72 63 65 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c ">Root.Source.File</a></li>.</ul
c11e0 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 6f 70 43 6f 75 6e >................<h3.id="popCoun
c1200 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 t"><a.href="#toc-popCount">@popC
c1220 6f 75 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 ount</a>.<a.class="hdr".href="#p
c1240 6f 70 43 6f 75 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 opCount">..</a></h3>........<pre
c1260 3e 3c 63 6f 64 65 3e 3c 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.
c1280 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 73 class="tok-builtin">@popCount</s
c12a0 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 pan>(<span.class="tok-kw">compti
c12c0 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 me</span>.T:.<span.class="tok-ty
c12e0 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 6f 70 65 72 61 6e 64 3a 20 54 29 3c 2f 73 70 pe">type</span>,.operand:.T)</sp
c1300 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e an></code></pre>.......<p><code>
c1320 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
c1340 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 3c 2f 70 3e 0a e>.must.be.an.integer.type.</p>.
c1360 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
c1380 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 ">operand</span></code>.may.be.a
c13a0 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 n.<a.href="#Integers">integer</a
c13c0 3e 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f >.or.<a.href="#Vectors">vector</
c13e0 61 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 a>.</p>.......<p>Counts.the.numb
c1400 65 72 20 6f 66 20 62 69 74 73 20 73 65 74 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 2e 3c 2f 70 er.of.bits.set.in.an.integer.</p
c1420 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e >.......<p>.......If.<code><span
c1440 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 65 72 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f .class="line">operand</span></co
c1460 64 65 3e 20 69 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d de>.is.a.<a.href="#comptime">com
c1480 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 69 6e 74 65 67 65 72 2c 0a 20 20 20 20 20 20 74 ptime</a>-known.integer,.......t
c14a0 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c he.return.type.is.<code><span.cl
c14c0 61 73 73 3d 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
c14e0 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ">comptime_int</span></span></co
c1500 64 65 3e 2e 0a 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 72 65 74 75 72 6e de>........Otherwise,.the.return
c1520 20 74 79 70 65 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 6f 72 20 .type.is.an.unsigned.integer.or.
c1540 76 65 63 74 6f 72 20 6f 66 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 77 69 74 68 vector.of.unsigned.integers.with
c1560 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 6f 66 20 62 69 74 .the.minimum.number.......of.bit
c1580 73 20 74 68 61 74 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 62 69 74 20 63 6f 75 s.that.can.represent.the.bit.cou
c15a0 6e 74 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f nt.of.the.integer.type........</
c15c0 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
c15e0 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c i><a.href="#ctz">@ctz</a></li>.<
c1600 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a li><a.href="#clz">@clz</a></li>.
c1620 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 72 65 </ul>................<h3.id="pre
c1640 66 65 74 63 68 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 72 65 66 65 74 63 68 22 3e 40 fetch"><a.href="#toc-prefetch">@
c1660 70 72 65 66 65 74 63 68 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 prefetch</a>.<a.class="hdr".href
c1680 3d 22 23 70 72 65 66 65 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ="#prefetch">..</a></h3>........
c16a0 3c 70 72 65 3e 3c 63 6f 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
c16c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 72 65 66 65 74 63 pan.class="tok-builtin">@prefetc
c16e0 68 3c 2f 73 70 61 6e 3e 28 70 74 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b h</span>(ptr:.<span.class="tok-k
c1700 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="
c1720 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 73 3a tok-kw">comptime</span>.options:
c1740 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 50 72 65 66 65 74 63 68 4f 70 74 69 6f 6e 73 29 3c 2f 73 .std.builtin.PrefetchOptions)</s
c1760 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>.....
c1780 20 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 74 65 6c 6c 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 ..This.builtin.tells.the.compile
c17a0 72 20 74 6f 20 65 6d 69 74 20 61 20 70 72 65 66 65 74 63 68 20 69 6e 73 74 72 75 63 74 69 6f 6e r.to.emit.a.prefetch.instruction
c17c0 20 69 66 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 20 74 61 72 67 65 .if.supported.by.the.......targe
c17e0 74 20 43 50 55 2e 20 49 66 20 74 68 65 20 74 61 72 67 65 74 20 43 50 55 20 64 6f 65 73 20 6e 6f t.CPU..If.the.target.CPU.does.no
c1800 74 20 73 75 70 70 6f 72 74 20 74 68 65 20 72 65 71 75 65 73 74 65 64 20 70 72 65 66 65 74 63 68 t.support.the.requested.prefetch
c1820 20 69 6e 73 74 72 75 63 74 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 69 73 20 62 75 69 6c 74 69 6e .instruction,.......this.builtin
c1840 20 69 73 20 61 20 6e 6f 6f 70 2e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 6e 6f .is.a.noop..This.function.has.no
c1860 20 65 66 66 65 63 74 20 6f 6e 20 74 68 65 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74 68 65 20 70 .effect.on.the.behavior.of.the.p
c1880 72 6f 67 72 61 6d 2c 0a 20 20 20 20 20 20 6f 6e 6c 79 20 6f 6e 20 74 68 65 20 70 65 72 66 6f 72 rogram,.......only.on.the.perfor
c18a0 6d 61 6e 63 65 20 63 68 61 72 61 63 74 65 72 69 73 74 69 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 mance.characteristics........</p
c18c0 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 >.......<p>.......The.<code><spa
c18e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e n.class="line">ptr</span></code>
c1900 20 61 72 67 75 6d 65 6e 74 20 6d 61 79 20 62 65 20 61 6e 79 20 70 6f 69 6e 74 65 72 20 74 79 70 .argument.may.be.any.pointer.typ
c1920 65 20 61 6e 64 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 6d 65 6d 6f 72 79 0a 20 20 20 20 e.and.determines.the.memory.....
c1940 20 20 61 64 64 72 65 73 73 20 74 6f 20 70 72 65 66 65 74 63 68 2e 20 54 68 69 73 20 66 75 6e 63 ..address.to.prefetch..This.func
c1960 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 64 65 72 65 66 65 72 65 6e 63 65 20 74 68 65 20 70 6f tion.does.not.dereference.the.po
c1980 69 6e 74 65 72 2c 20 69 74 20 69 73 20 70 65 72 66 65 63 74 6c 79 20 6c 65 67 61 6c 0a 20 20 20 inter,.it.is.perfectly.legal....
c19a0 20 20 20 74 6f 20 70 61 73 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 69 6e 76 61 6c 69 64 20 ...to.pass.a.pointer.to.invalid.
c19c0 6d 65 6d 6f 72 79 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6e 64 20 6e 6f 20 69 memory.to.this.function.and.no.i
c19e0 6c 6c 65 67 61 6c 20 62 65 68 61 76 69 6f 72 20 77 69 6c 6c 20 72 65 73 75 6c 74 2e 0a 20 20 20 llegal.behavior.will.result.....
c1a00 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 ...</p>.......<p>.......The.<cod
c1a20 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 70 74 69 6f 6e 73 3c 2f 73 70 e><span.class="line">options</sp
c1a40 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 67 75 6d 65 6e 74 20 69 73 20 74 68 65 20 66 6f 6c 6c 6f an></code>.argument.is.the.follo
c1a60 77 69 6e 67 20 73 74 72 75 63 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 wing.struct:.......</p>.......<f
c1a80 69 67 75 72 65 3e 3c 66 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
c1aa0 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 74 69 6e 2e 7a 69 67 "><cite.class="file">builtin.zig
c1ac0 3c 2f 63 69 74 65 3e 3c 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><
c1ae0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
c1b00 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 68 69 73 20 64 61 74 61 20 73 74 72 75 63 74 ok-comment">///.This.data.struct
c1b20 75 72 65 20 69 73 20 75 73 65 64 20 62 79 20 74 68 65 20 5a 69 67 20 6c 61 6e 67 75 61 67 65 20 ure.is.used.by.the.Zig.language.
c1b40 63 6f 64 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e code.generation.and</span></span
c1b60 3e 0a 3c 73 70 61 6e 20 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
c1b80 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 74 68 65 72 65 66 6f 72 65 20 6d 75 73 ="tok-comment">///.therefore.mus
c1ba0 74 20 62 65 20 6b 65 70 74 20 69 6e 20 73 79 6e 63 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 69 t.be.kept.in.sync.with.the.compi
c1bc0 6c 65 72 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ler.implementation.</span></span
c1be0 3e 0a 3c 73 70 61 6e 20 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
c1c00 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
c1c20 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 72 65 66 65 74 63 68 4f ="tok-kw">const</span>.PrefetchO
c1c40 70 74 69 6f 6e 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 ptions.=.<span.class="tok-kw">st
c1c60 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
c1c80 3d 22 6c 69 6e 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
c1ca0 6d 65 6e 74 22 3e 2f 2f 2f 20 57 68 65 74 68 65 72 20 74 68 65 20 70 72 65 66 65 74 63 68 20 73 ment">///.Whether.the.prefetch.s
c1cc0 68 6f 75 6c 64 20 70 72 65 70 61 72 65 20 66 6f 72 20 61 20 72 65 61 64 20 6f 72 20 61 20 77 72 hould.prepare.for.a.read.or.a.wr
c1ce0 69 74 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ite.</span></span>.<span.class="
c1d00 6c 69 6e 65 22 3e 20 20 20 20 72 77 3a 20 52 77 20 3d 20 2e 72 65 61 64 2c 3c 2f 73 70 61 6e 3e line">....rw:.Rw.=..read,</span>
c1d20 0a 3c 73 70 61 6e 20 63 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
c1d40 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 30 20 6d 65 61 6e 73 20 6e 6f ass="tok-comment">///.0.means.no
c1d60 20 74 65 6d 70 6f 72 61 6c 20 6c 6f 63 61 6c 69 74 79 2e 20 54 68 61 74 20 69 73 2c 20 74 68 65 .temporal.locality..That.is,.the
c1d80 20 64 61 74 61 20 63 61 6e 20 62 65 20 69 6d 6d 65 64 69 61 74 65 6c 79 3c 2f 73 70 61 6e 3e 3c .data.can.be.immediately</span><
c1da0 2f 73 70 61 6e 3e 0a 3c 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
c1dc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 64 72 6f 70 pan.class="tok-comment">///.drop
c1de0 70 65 64 20 66 72 6f 6d 20 74 68 65 20 63 61 63 68 65 20 61 66 74 65 72 20 69 74 20 69 73 20 61 ped.from.the.cache.after.it.is.a
c1e00 63 63 65 73 73 65 64 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ccessed.</span></span>.<span.cla
c1e20 73 73 3d 22 6c 69 6e 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
c1e40 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 omment">///</span></span>.<span.
c1e60 63 6c 61 73 73 3d 22 6c 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
c1e80 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 33 20 6d 65 61 6e 73 20 68 69 67 68 20 74 65 6d 70 k-comment">///.3.means.high.temp
c1ea0 6f 72 61 6c 20 6c 6f 63 61 6c 69 74 79 2e 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 64 61 74 61 oral.locality..That.is,.the.data
c1ec0 20 73 68 6f 75 6c 64 20 62 65 20 6b 65 70 74 20 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e .should.be.kept.in</span></span>
c1ee0 0a 3c 73 70 61 6e 20 63 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
c1f00 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 74 68 65 20 63 61 63 68 65 20 ass="tok-comment">///.the.cache.
c1f20 61 73 20 69 74 20 69 73 20 6c 69 6b 65 6c 79 20 74 6f 20 62 65 20 61 63 63 65 73 73 65 64 20 61 as.it.is.likely.to.be.accessed.a
c1f40 67 61 69 6e 20 73 6f 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 gain.soon.</span></span>.<span.c
c1f60 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6c 6f 63 61 6c 69 74 79 3a 20 3c 73 70 61 6e 20 lass="line">....locality:.<span.
c1f80 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 class="tok-type">u2</span>.=.<sp
c1fa0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 3c an.class="tok-number">3</span>,<
c1fc0 2f 73 70 61 6e 3e 0a 3c 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
c1fe0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 68 65 20 pan.class="tok-comment">///.The.
c2000 63 61 63 68 65 20 74 68 61 74 20 74 68 65 20 70 72 65 66 65 74 63 68 20 73 68 6f 75 6c 64 20 62 cache.that.the.prefetch.should.b
c2020 65 20 70 72 65 66 6f 72 6d 65 64 20 6f 6e 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 e.preformed.on.</span></span>.<s
c2040 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 61 63 68 65 3a 20 43 61 63 68 pan.class="line">....cache:.Cach
c2060 65 20 3d 20 2e 64 61 74 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e.=..data,</span>.<span.class="l
c2080 69 6e 65 22 3e 3c 2f 73 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">
c20a0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 ....<span.class="tok-kw">pub</sp
c20c0 61 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</
c20e0 73 70 61 6e 3e 20 52 77 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e span>.Rw.=.<span.class="tok-kw">
c2100 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 enum</span>.{</span>.<span.class
c2120 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 72 65 61 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ="line">........read,</span>.<sp
c2140 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 77 72 69 74 65 2c 3c 2f an.class="line">........write,</
c2160 73 70 61 6e 3e 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">....};<
c2180 2f 73 70 61 6e 3e 0a 3c 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
c21a0 3e 0a 3c 73 70 61 6e 20 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
c21c0 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
c21e0 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 61 63 68 65 lass="tok-kw">const</span>.Cache
c2200 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
c2220 61 6e 3e 20 7b 3c 2f 73 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">
c2240 20 20 20 20 20 20 20 20 69 6e 73 74 72 75 63 74 69 6f 6e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ........instruction,</span>.<spa
c2260 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 64 61 74 61 2c 3c 2f 73 70 n.class="line">........data,</sp
c2280 61 6e 3e 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
c22a0 70 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
c22c0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a ></code></pre></figure>.........
c22e0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 70 74 72 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 ......<h3.id="ptrCast"><a.href="
c2300 23 74 6f 63 2d 70 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c #toc-ptrCast">@ptrCast</a>.<a.cl
c2320 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e c2 a7 3c 2f 61 3e ass="hdr".href="#ptrCast">..</a>
c2340 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
c2360 61 73 73 3d 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
c2380 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 tin">@ptrCast</span>(<span.class
c23a0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 ="tok-kw">comptime</span>.DestTy
c23c0 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c pe:.<span.class="tok-type">type<
c23e0 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d /span>,.value:.<span.class="tok-
c2400 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 73 70 kw">anytype</span>).DestType</sp
c2420 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>......
c2440 20 43 6f 6e 76 65 72 74 73 20 61 20 70 6f 69 6e 74 65 72 20 6f 66 20 6f 6e 65 20 74 79 70 65 20 .Converts.a.pointer.of.one.type.
c2460 74 6f 20 61 20 70 6f 69 6e 74 65 72 20 6f 66 20 61 6e 6f 74 68 65 72 20 74 79 70 65 2e 0a 20 20 to.a.pointer.of.another.type....
c2480 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 ....</p>.......<p>.......<a.href
c24a0 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 ="#Optional-Pointers">Optional.P
c24c0 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 61 72 65 20 61 6c 6c 6f 77 65 64 2e 20 43 61 73 74 69 6e 67 ointers</a>.are.allowed..Casting
c24e0 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 20 77 68 69 63 68 20 69 73 20 3c 61 .an.optional.pointer.which.is.<a
c2500 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 0a 20 20 20 20 20 20 74 6f 20 .href="#null">null</a>.......to.
c2520 61 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 20 69 6e 76 6f 6b 65 73 20 73 a.non-optional.pointer.invokes.s
c2540 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 afety-checked.<a.href="#Undefine
c2560 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f d-Behavior">Undefined.Behavior</
c2580 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
c25a0 20 69 64 3d 22 70 74 72 54 6f 49 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 74 72 .id="ptrToInt"><a.href="#toc-ptr
c25c0 54 6f 49 6e 74 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 ToInt">@ptrToInt</a>.<a.class="h
c25e0 64 72 22 20 68 72 65 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e dr".href="#ptrToInt">..</a></h3>
c2600 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="
c2620 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">
c2640 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c @ptrToInt</span>(value:.<span.cl
c2660 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 ass="tok-kw">anytype</span>).<sp
c2680 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>
c26a0 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>..
c26c0 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .....Converts.<code><span.class=
c26e0 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 61 20 "line">value</span></code>.to.a.
c2700 3c 63 6f 64 65 3e 3c 73 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
c2720 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 lass="tok-type">usize</span></sp
c2740 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 69 63 68 20 69 73 20 74 68 65 20 61 64 64 72 65 73 73 20 an></code>.which.is.the.address.
c2760 6f 66 20 74 68 65 20 70 6f 69 6e 74 65 72 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 of.the.pointer..<code><span.clas
c2780 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e s="line">value</span></code>.can
c27a0 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f .be.one.of.these.types:.......</
c27c0 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 p>.......<ul>...........<li><cod
c27e0 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></
c2800 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c code></li>...........<li><code><
c2820 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3f 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f span.class="line">?*T</span></co
c2840 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 de></li>...........<li><code><sp
c2860 61 6e 20 63 6c 61 73 73 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
c2880 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f -kw">fn</span>()</span></code></
c28a0 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
c28c0 61 73 73 3d 22 6c 69 6e 65 22 3e 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ass="line">?<span.class="tok-kw"
c28e0 3e 66 6e 3c 2f 73 70 61 6e 3e 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a >fn</span>()</span></code></li>.
c2900 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 63 6f 6e 76 65 72 74 20 ......</ul>.......<p>To.convert.
c2920 74 68 65 20 6f 74 68 65 72 20 77 61 79 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 the.other.way,.use.<a.href="#int
c2940 54 6f 50 74 72 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 61 3e 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 ToPtr">@intToPtr</a></p>........
c2960 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 72 65 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ........<h3.id="rem"><a.href="#t
c2980 6f 63 2d 72 65 6d 22 3e 40 72 65 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 oc-rem">@rem</a>.<a.class="hdr".
c29a0 68 72 65 66 3d 22 23 72 65 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c href="#rem">..</a></h3>........<
c29c0 70 72 65 3e 3c 63 6f 64 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
c29e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 an.class="tok-builtin">@rem</spa
c2a00 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 n>(numerator:.T,.denominator:.T)
c2a20 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e .T</span></code></pre>.......<p>
c2a40 0a 20 20 20 20 20 20 52 65 6d 61 69 6e 64 65 72 20 64 69 76 69 73 69 6f 6e 2e 20 46 6f 72 20 75 .......Remainder.division..For.u
c2a60 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 74 68 69 73 20 69 73 20 74 68 65 20 73 61 6d nsigned.integers.this.is.the.sam
c2a80 65 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e.as.......<code><span.class="li
c2aa0 6e 65 22 3e 6e 75 6d 65 72 61 74 6f 72 20 25 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 73 70 61 ne">numerator.%.denominator</spa
c2ac0 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f n></code>..Caller.guarantees.<co
c2ae0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f de><span.class="line">denominato
c2b00 72 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e r.&gt;.<span.class="tok-number">
c2b20 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 74 68 65 72 77 69 73 0</span></span></code>,.otherwis
c2b40 65 20 74 68 65 0a 20 20 20 20 20 20 6f 70 65 72 61 74 69 6f 6e 20 77 69 6c 6c 20 72 65 73 75 6c e.the.......operation.will.resul
c2b60 74 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 t.in.a.<a.href="#Remainder-Divis
c2b80 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 20 ion-by-Zero">Remainder.Division.
c2ba0 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 77 68 65 6e 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 20 by.Zero</a>.when.runtime.safety.
c2bc0 63 68 65 63 6b 73 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 checks.are.enabled........</p>..
c2be0 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
c2c00 70 61 6e 20 63 6c 61 73 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
c2c20 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c k-builtin">@rem</span>(-<span.cl
c2c40 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e ass="tok-number">5</span>,.<span
c2c60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d .class="tok-number">3</span>).==
c2c80 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 .-<span.class="tok-number">2</sp
c2ca0 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>..........
c2cc0 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 3c .<li><code><span.class="line">(<
c2ce0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 54 72 75 span.class="tok-builtin">@divTru
c2d00 6e 63 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2a 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 nc</span>(a,.b).*.b).+.<span.cla
c2d20 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 6e 3e 28 61 2c 20 ss="tok-builtin">@rem</span>(a,.
c2d40 62 29 20 3d 3d 20 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 b).==.a</span></code></li>......
c2d60 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 .</ul>.......<p>For.a.function.t
c2d80 68 61 74 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 73 65 65 20 3c hat.returns.an.error.code,.see.<
c2da0 63 6f 64 65 3e 3c 73 70 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
c2dc0 61 73 73 3d 22 74 6f 6b 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>
c2de0 28 3c 73 70 61 6e 20 63 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
c2e00 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 72 65 6d 3c 2f 73 70 61 6e 3e 3c 2f &quot;</span>).math.rem</span></
c2e20 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 code>.</p>.......<p>See.also:</p
c2e40 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 ><ul>.<li><a.href="#mod">@mod</a
c2e60 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.
c2e80 69 64 3d 22 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 id="returnAddress"><a.href="#toc
c2ea0 2d 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e 40 72 65 74 75 72 6e 41 64 64 72 65 73 73 3c 2f -returnAddress">@returnAddress</
c2ec0 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 72 65 74 75 72 6e 41 a>.<a.class="hdr".href="#returnA
c2ee0 64 64 72 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e ddress">..</a></h3>........<pre>
c2f00 3c 63 6f 64 65 3e 3c 73 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
c2f20 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 74 75 72 6e 41 64 64 72 65 73 lass="tok-builtin">@returnAddres
c2f40 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 s</span>().<span.class="tok-type
c2f60 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 ">usize</span></span></code></pr
c2f80 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e e>.......<p>.......This.function
c2fa0 20 72 65 74 75 72 6e 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 6e 65 78 74 .returns.the.address.of.the.next
c2fc0 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 74 68 61 74 20 77 .machine.code.instruction.that.w
c2fe0 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 0a 20 20 20 20 20 20 77 68 65 6e 20 74 68 65 20 63 ill.be.executed.......when.the.c
c3000 75 72 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2e 0a 20 20 20 20 20 20 3c urrent.function.returns........<
c3020 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 69 6d 70 6c 69 63 61 74 /p>.......<p>.......The.implicat
c3040 69 6f 6e 73 20 6f 66 20 74 68 69 73 20 61 72 65 20 74 61 72 67 65 74 20 73 70 65 63 69 66 69 63 ions.of.this.are.target.specific
c3060 20 61 6e 64 20 6e 6f 74 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 63 72 6f 73 73 0a 20 20 20 20 20 .and.not.consistent.across......
c3080 20 61 6c 6c 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 .all.platforms........</p>......
c30a0 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 .<p>.......This.function.is.only
c30c0 20 76 61 6c 69 64 20 77 69 74 68 69 6e 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 2e 20 49 66 .valid.within.function.scope..If
c30e0 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 67 65 74 73 20 69 6e 6c 69 6e 65 64 20 69 6e 74 6f 0a .the.function.gets.inlined.into.
c3100 20 20 20 20 20 20 61 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 20 72 65 ......a.calling.function,.the.re
c3120 74 75 72 6e 65 64 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 61 70 70 6c 79 20 74 6f 20 74 68 65 turned.address.will.apply.to.the
c3140 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 .calling.function........</p>...
c3160 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 6c 65 63 74 22 3e 3c 61 20 68 ............<h3.id="select"><a.h
c3180 72 65 66 3d 22 23 74 6f 63 2d 73 65 6c 65 63 74 22 3e 40 73 65 6c 65 63 74 3c 2f 61 3e 20 3c 61 ref="#toc-select">@select</a>.<a
c31a0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 6c 65 63 74 22 3e c2 a7 3c 2f .class="hdr".href="#select">..</
c31c0 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.
c31e0 63 6c 61 73 73 3d 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
c3200 69 6c 74 69 6e 22 3e 40 73 65 6c 65 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 iltin">@select</span>(<span.clas
c3220 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
c3240 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>
c3260 2c 20 70 72 65 64 3a 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 28 6c 65 6e 2c 20 3c 73 70 ,.pred:.std.meta.Vector(len,.<sp
c3280 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 an.class="tok-type">bool</span>)
c32a0 2c 20 61 3a 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 28 6c 65 6e 2c 20 54 29 2c 20 62 3a ,.a:.std.meta.Vector(len,.T),.b:
c32c0 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 28 6c 65 6e 2c 20 54 29 29 20 73 74 64 2e 6d 65 .std.meta.Vector(len,.T)).std.me
c32e0 74 61 2e 56 65 63 74 6f 72 28 6c 65 6e 2c 20 54 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ta.Vector(len,.T)</span></code><
c3300 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 65 6c 65 63 74 73 20 76 61 /pre>.......<p>.......Selects.va
c3320 6c 75 65 73 20 65 6c 65 6d 65 6e 74 2d 77 69 73 65 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 lues.element-wise.from.<code><sp
c3340 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 an.class="line">a</span></code>.
c3360 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 or.<code><span.class="line">b</s
c3380 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 61 73 65 64 20 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e pan></code>.based.on.<code><span
c33a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e .class="line">pred</span></code>
c33c0 2e 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 72 ..If.<code><span.class="line">pr
c33e0 65 64 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 ed[i]</span></code>.is.<code><sp
c3400 61 6e 20 63 6c 61 73 73 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
c3420 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>
c3440 2c 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 65 6c 65 6d 65 6e 74 20 69 6e 20 74 ,.the.corresponding.element.in.t
c3460 68 65 20 72 65 73 75 6c 74 20 77 69 6c 6c 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c he.result.will.be.<code><span.cl
c3480 61 73 73 3d 22 6c 69 6e 65 22 3e 61 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e ass="line">a[i]</span></code>.an
c34a0 64 20 6f 74 68 65 72 77 69 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c d.otherwise.<code><span.class="l
c34c0 69 6e 65 22 3e 62 5b 69 5d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c ine">b[i]</span></code>........<
c34e0 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>.<
c3500 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 li><a.href="#Vectors">Vectors</a
c3520 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.
c3540 69 64 3d 22 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 id="setAlignStack"><a.href="#toc
c3560 2d 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 3c 2f -setAlignStack">@setAlignStack</
c3580 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 41 6c 69 67 a>.<a.class="hdr".href="#setAlig
c35a0 6e 53 74 61 63 6b 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e nStack">..</a></h3>........<pre>
c35c0 3c 63 6f 64 65 3e 3c 73 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
c35e0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 lass="tok-builtin">@setAlignStac
c3600 6b 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f k</span>(<span.class="tok-kw">co
c3620 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 6e 6d 65 6e 74 3a 20 3c 73 70 61 6e 20 63 mptime</span>.alignment:.<span.c
c3640 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 39 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 lass="tok-type">u29</span>)</spa
c3660 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>.......
c3680 45 6e 73 75 72 65 73 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 68 61 76 Ensures.that.a.function.will.hav
c36a0 65 20 61 20 73 74 61 63 6b 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 61 74 20 6c 65 61 73 74 20 e.a.stack.alignment.of.at.least.
c36c0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 6c 69 67 6e 6d 65 <code><span.class="line">alignme
c36e0 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 79 74 65 73 2e 0a 20 20 20 20 20 20 3c 2f nt</span></code>.bytes........</
c3700 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 43 6f 6c 64 p>...............<h3.id="setCold
c3720 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 65 74 43 6f 6c 64 22 3e 40 73 65 74 43 6f 6c "><a.href="#toc-setCold">@setCol
c3740 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 43 d</a>.<a.class="hdr".href="#setC
c3760 6f 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f old">..</a></h3>........<pre><co
c3780 64 65 3e 3c 73 70 61 6e 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
c37a0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 43 6f 6c 64 3c 2f 73 70 61 6e 3e 28 s="tok-builtin">@setCold</span>(
c37c0 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
c37e0 70 61 6e 3e 20 69 73 5f 63 6f 6c 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 pan>.is_cold:.<span.class="tok-t
c3800 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ype">bool</span>)</span></code><
c3820 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 65 6c 6c 73 20 74 68 65 20 /pre>.......<p>.......Tells.the.
c3840 6f 70 74 69 6d 69 7a 65 72 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 61 72 optimizer.that.a.function.is.rar
c3860 65 6c 79 20 63 61 6c 6c 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 ely.called........</p>..........
c3880 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 .....<h3.id="setEvalBranchQuota"
c38a0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 ><a.href="#toc-setEvalBranchQuot
c38c0 61 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 61 3e 20 3c 61 20 63 6c a">@setEvalBranchQuota</a>.<a.cl
c38e0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 ass="hdr".href="#setEvalBranchQu
c3900 6f 74 61 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f ota">..</a></h3>........<pre><co
c3920 64 65 3e 3c 73 70 61 6e 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
c3940 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 s="tok-builtin">@setEvalBranchQu
c3960 6f 74 61 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ota</span>(<span.class="tok-kw">
c3980 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 65 77 5f 71 75 6f 74 61 3a 20 3c 73 70 61 6e comptime</span>.new_quota:.<span
c39a0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3c 2f 73 .class="tok-type">u32</span>)</s
c39c0 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>.....
c39e0 20 20 43 68 61 6e 67 65 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 ..Changes.the.maximum.number.of.
c3a00 62 61 63 6b 77 61 72 64 73 20 62 72 61 6e 63 68 65 73 20 74 68 61 74 20 63 6f 6d 70 69 6c 65 2d backwards.branches.that.compile-
c3a20 74 69 6d 65 20 63 6f 64 65 0a 20 20 20 20 20 20 65 78 65 63 75 74 69 6f 6e 20 63 61 6e 20 75 73 time.code.......execution.can.us
c3a40 65 20 62 65 66 6f 72 65 20 67 69 76 69 6e 67 20 75 70 20 61 6e 64 20 6d 61 6b 69 6e 67 20 61 20 e.before.giving.up.and.making.a.
c3a60 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 compile.error........</p>.......
c3a80 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 <p>.......If.the.<code><span.cla
c3aa0 73 73 3d 22 6c 69 6e 65 22 3e 6e 65 77 5f 71 75 6f 74 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ss="line">new_quota</span></code
c3ac0 3e 20 69 73 20 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 74 68 65 20 64 65 66 61 75 6c 74 20 71 75 >.is.smaller.than.the.default.qu
c3ae0 6f 74 61 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 ota.(<code><span.class="line"><s
c3b00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 3c 2f 73 70 61 pan.class="tok-number">1000</spa
c3b20 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 6f 72 0a 20 20 20 20 20 20 61 20 70 72 65 n></span></code>).or.......a.pre
c3b40 76 69 6f 75 73 6c 79 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65 74 20 71 75 6f 74 61 2c 20 69 74 viously.explicitly.set.quota,.it
c3b60 20 69 73 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 .is.ignored........</p>.......<p
c3b80 3e 0a 20 20 20 20 20 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 >.......Example:.......</p>.....
c3ba0 20 20 3c 66 69 67 75 72 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
c3bc0 2d 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
c3be0 67 3c 2f 63 69 74 65 3e 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>
c3c00 3c 73 70 61 6e 20 63 6c 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="
c3c20 74 6f 6b 2d 6b 77 22 3e 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=
c3c40 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e "tok-str">&quot;foo&quot;</span>
c3c60 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
c3c80 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f .<span.class="tok-kw">comptime</
c3ca0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
c3cc0 22 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 ">........<span.class="tok-kw">v
c3ce0 61 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ar</span>.i.=.<span.class="tok-n
c3d00 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
c3d20 61 73 73 3d 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="
c3d40 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
c3d60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 31 3c 2f 73 70 61 6e an.class="tok-number">1001</span
c3d80 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 >).:.(i.+=.<span.class="tok-numb
c3da0 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c er">1</span>).{}</span>.<span.cl
c3dc0 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
c3de0 61 73 73 3d 22 6c 69 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>
c3e00 3c 2f 66 69 67 75 72 65 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
c3e20 73 73 3d 22 73 68 65 6c 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
c3e40 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">$
c3e60 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
c3e80 70 61 6e 3e 0a 3c 73 70 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
c3ea0 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 ass="t0_1">./docgen_tmp/test.zig
c3ec0 3a 34 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 :4:9:.</span><span.class="t31_1"
c3ee0 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 >error:.</span><span.class="t0_1
c3f00 22 3e 65 76 61 6c 75 61 74 69 6f 6e 20 65 78 63 65 65 64 65 64 20 31 30 30 30 20 62 61 63 6b 77 ">evaluation.exceeded.1000.backw
c3f20 61 72 64 73 20 62 72 61 6e 63 68 65 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ards.branches</span></span>.<spa
c3f40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 69 20 n.class="line">........while.(i.
c3f60 26 6c 74 3b 20 31 30 30 31 29 20 3a 20 28 69 20 2b 3d 20 31 29 20 7b 7d 3c 2f 73 70 61 6e 3e 0a &lt;.1001).:.(i.+=.1).{}</span>.
c3f80 3c 73 70 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
c3fa0 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>.<
c3fc0 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e /samp></pre></figure>.......<p>N
c3fe0 6f 77 20 77 65 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ow.we.use.<code><span.class="lin
c4000 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 e"><span.class="tok-builtin">@se
c4020 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f tEvalBranchQuota</span></span></
c4040 63 6f 64 65 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 code>:</p>.......<figure><figcap
c4060 74 69 6f 6e 20 63 6c 61 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
c4080 3d 22 66 69 6c 65 22 3e 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 2e 7a 69 67 3c 2f ="file">setEvalBranchQuota.zig</
c40a0 63 69 74 65 3e 3c 2f 66 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
c40c0 61 6e 20 63 6c 61 73 73 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
c40e0 2d 6b 77 22 3e 74 65 73 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
c4100 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c k-str">&quot;foo&quot;</span>.{<
c4120 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 /span>.<span.class="line">....<s
c4140 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
c4160 6e 3e 20 7b 3c 2f 73 70 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">.
c4180 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"
c41a0 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 >@setEvalBranchQuota</span>(<spa
c41c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 31 3c 2f 73 70 61 6e 3e n.class="tok-number">1001</span>
c41e0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
c4200 20 20 20 20 20 3c 73 70 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
c4220 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 pan>.i.=.<span.class="tok-number
c4240 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="
c4260 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
c4280 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c w">while</span>.(i.&lt;.<span.cl
c42a0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 31 3c 2f 73 70 61 6e 3e 29 20 3a 20 ass="tok-number">1001</span>).:.
c42c0 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 (i.+=.<span.class="tok-number">1
c42e0 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 </span>).{}</span>.<span.class="
c4300 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="
c4320 6c 69 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
c4340 75 72 65 3e 3c 66 69 67 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
c4360 68 65 6c 6c 2d 63 61 70 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
c4380 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
c43a0 3e 7a 69 67 20 74 65 73 74 20 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 2e 7a 69 67 >zig.test.setEvalBranchQuota.zig
c43c0 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"
c43e0 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c >1/1.test.&quot;foo&quot;....OK<
c4400 2f 73 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.
c4420 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
c4440 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c e></figure>........<p>See.also:<
c4460 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e /p><ul>.<li><a.href="#comptime">
c4480 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a comptime</a></li>.</ul>.........
c44a0 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 3c 61 20 .......<h3.id="setFloatMode"><a.
c44c0 68 72 65 66 3d 22 23 74 6f 63 2d 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f href="#toc-setFloatMode">@setFlo
c44e0 61 74 4d 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 atMode</a>.<a.class="hdr".href="
c4500 23 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 #setFloatMode">..</a></h3>......
c4520 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">
c4540 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 46 6c <span.class="tok-builtin">@setFl
c4560 6f 61 74 4d 6f 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d oatMode</span>(<span.class="tok-
c4580 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 6f 64 65 3a 20 3c 73 70 61 6e 20 kw">comptime</span>.mode:.<span.
c45a0 63 6c 61 73 73 3d 22 74 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
c45c0 6e 3e 28 3c 73 70 61 6e 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
c45e0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 74 69 6e 2e 46 6c 6f 61 74 4d 6f td&quot;</span>).builtin.FloatMo
c4600 64 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 de)</span></code></pre>.......<p
c4620 3e 0a 20 20 20 20 20 20 53 65 74 73 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 >.......Sets.the.floating.point.
c4640 6d 6f 64 65 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 63 6f 70 65 2e 20 50 6f 73 73 69 mode.of.the.current.scope..Possi
c4660 62 6c 65 20 76 61 6c 75 65 73 20 61 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 ble.values.are:.......</p>......
c4680 20 3c 66 69 67 75 72 65 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-
c46a0 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
c46c0 3c 2f 63 69 74 65 3e 3c 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><
c46e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
c4700 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
c4720 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6c 6f 61 74 4d 6f 64 65 20 3d 20 ok-kw">const</span>.FloatMode.=.
c4740 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>
c4760 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
c4780 20 53 74 72 69 63 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .Strict,</span>.<span.class="lin
c47a0 65 22 3e 20 20 20 20 4f 70 74 69 6d 69 7a 65 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 e">....Optimized,</span>.<span.c
c47c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 lass="line">};</span></code></pr
c47e0 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c e></figure>.......<ul>.........<
c4800 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 li>.............<code><span.clas
c4820 73 3d 22 6c 69 6e 65 22 3e 53 74 72 69 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 64 s="line">Strict</span></code>.(d
c4840 65 66 61 75 6c 74 29 20 2d 20 46 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 61 74 69 efault).-.Floating.point.operati
c4860 6f 6e 73 20 66 6f 6c 6c 6f 77 20 73 74 72 69 63 74 20 49 45 45 45 20 63 6f 6d 70 6c 69 61 6e 63 ons.follow.strict.IEEE.complianc
c4880 65 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 e..........</li>.........<li>...
c48a0 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ..........<code><span.class="lin
c48c0 65 22 3e 4f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 46 6c 6f e">Optimized</span></code>.-.Flo
c48e0 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 6d 61 79 20 64 6f 20 61 6c ating.point.operations.may.do.al
c4900 6c 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 20 20 20 20 20 20 20 20 20 20 3c 75 l.of.the.following:...........<u
c4920 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 73 73 75 6d 65 20 74 68 65 20 61 72 l>.............<li>Assume.the.ar
c4940 67 75 6d 65 6e 74 73 20 61 6e 64 20 72 65 73 75 6c 74 20 61 72 65 20 6e 6f 74 20 4e 61 4e 2e 20 guments.and.result.are.not.NaN..
c4960 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 Optimizations.are.required.to.re
c4980 74 61 69 6e 20 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 6f 76 65 72 20 4e 61 4e 73 2c tain.defined.behavior.over.NaNs,
c49a0 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.
c49c0 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>
c49e0 41 73 73 75 6d 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 20 72 65 73 75 6c 74 20 Assume.the.arguments.and.result.
c4a00 61 72 65 20 6e 6f 74 20 2b 2f 2d 49 6e 66 2e 20 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 72 are.not.+/-Inf..Optimizations.ar
c4a20 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 74 61 69 6e 20 64 65 66 69 6e 65 64 20 62 65 68 e.required.to.retain.defined.beh
c4a40 61 76 69 6f 72 20 6f 76 65 72 20 2b 2f 2d 49 6e 66 2c 20 62 75 74 20 74 68 65 20 76 61 6c 75 65 avior.over.+/-Inf,.but.the.value
c4a60 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 75 6e 64 65 66 69 6e 65 64 2e 3c 2f 6c 69 .of.the.result.is.undefined.</li
c4a80 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 72 65 61 74 20 74 68 65 20 73 69 67 6e >.............<li>Treat.the.sign
c4aa0 20 6f 66 20 61 20 7a 65 72 6f 20 61 72 67 75 6d 65 6e 74 20 6f 72 20 72 65 73 75 6c 74 20 61 73 .of.a.zero.argument.or.result.as
c4ac0 20 69 6e 73 69 67 6e 69 66 69 63 61 6e 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 .insignificant.</li>............
c4ae0 20 3c 6c 69 3e 55 73 65 20 74 68 65 20 72 65 63 69 70 72 6f 63 61 6c 20 6f 66 20 61 6e 20 61 72 .<li>Use.the.reciprocal.of.an.ar
c4b00 67 75 6d 65 6e 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 70 65 72 66 6f 72 6d 20 64 69 76 69 73 gument.rather.than.perform.divis
c4b20 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 50 65 72 66 6f 72 ion.</li>.............<li>Perfor
c4b40 6d 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 63 6f 6e 74 72 61 63 74 69 6f 6e 20 28 65 2e m.floating-point.contraction.(e.
c4b60 67 2e 20 66 75 73 69 6e 67 20 61 20 6d 75 6c 74 69 70 6c 79 20 66 6f 6c 6c 6f 77 65 64 20 62 79 g..fusing.a.multiply.followed.by
c4b80 20 61 6e 20 61 64 64 69 74 69 6f 6e 20 69 6e 74 6f 20 61 20 66 75 73 65 64 20 6d 75 6c 74 69 70 .an.addition.into.a.fused.multip
c4ba0 6c 79 2d 61 6e 64 2d 61 64 64 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c ly-and-add).</li>.............<l
c4bc0 69 3e 50 65 72 66 6f 72 6d 20 61 6c 67 65 62 72 61 69 63 61 6c 6c 79 20 65 71 75 69 76 61 6c 65 i>Perform.algebraically.equivale
c4be0 6e 74 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 20 74 68 61 74 20 6d 61 79 20 63 68 61 6e nt.transformations.that.may.chan
c4c00 67 65 20 72 65 73 75 6c 74 73 20 69 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 65 2e ge.results.in.floating.point.(e.
c4c20 67 2e 20 72 65 61 73 73 6f 63 69 61 74 65 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 g..reassociate).</li>...........
c4c40 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 </ul>...........This.is.equivale
c4c60 6e 74 20 74 6f 20 3c 63 6f 64 65 3e 2d 66 66 61 73 74 2d 6d 61 74 68 3c 2f 63 6f 64 65 3e 20 69 nt.to.<code>-ffast-math</code>.i
c4c80 6e 20 47 43 43 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e n.GCC..........</li>.......</ul>
c4ca0 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f .......<p>.......The.floating.po
c4cc0 69 6e 74 20 6d 6f 64 65 20 69 73 20 69 6e 68 65 72 69 74 65 64 20 62 79 20 63 68 69 6c 64 20 73 int.mode.is.inherited.by.child.s
c4ce0 63 6f 70 65 73 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 69 6e 20 copes,.and.can.be.overridden.in.
c4d00 61 6e 79 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 73 65 74 20 74 68 65 any.scope........You.can.set.the
c4d20 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6d 6f 64 65 20 69 6e 20 61 20 73 74 72 75 63 74 .floating.point.mode.in.a.struct
c4d40 20 6f 72 20 6d 6f 64 75 6c 65 20 73 63 6f 70 65 20 62 79 20 75 73 69 6e 67 20 61 20 63 6f 6d 70 .or.module.scope.by.using.a.comp
c4d60 74 69 6d 65 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e time.block........</p>.......<p>
c4d80 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="#
c4da0 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 Floating-Point-Operations">Float
c4dc0 69 6e 67 20 50 6f 69 6e 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f ing.Point.Operations</a></li>.</
c4de0 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 65 74 52 75 ul>................<h3.id="setRu
c4e00 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 65 74 52 75 ntimeSafety"><a.href="#toc-setRu
c4e20 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f ntimeSafety">@setRuntimeSafety</
c4e40 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 a>.<a.class="hdr".href="#setRunt
c4e60 69 6d 65 53 61 66 65 74 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 imeSafety">..</a></h3>........<p
c4e80 72 65 3e 3c 63 6f 64 65 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
c4ea0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 52 75 6e 74 69 6d n.class="tok-builtin">@setRuntim
c4ec0 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d eSafety</span>(<span.class="tok-
c4ee0 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 73 61 66 65 74 79 5f 6f 6e 3a 20 3c kw">comptime</span>.safety_on:.<
c4f00 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
c4f20 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f >).<span.class="tok-type">void</
c4f40 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>.......
c4f60 3c 70 3e 0a 20 20 20 20 20 20 53 65 74 73 20 77 68 65 74 68 65 72 20 72 75 6e 74 69 6d 65 20 73 <p>.......Sets.whether.runtime.s
c4f80 61 66 65 74 79 20 63 68 65 63 6b 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 66 6f 72 20 74 68 65 afety.checks.are.enabled.for.the
c4fa0 20 73 63 6f 70 65 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 66 75 6e 63 74 69 6f .scope.that.contains.the.functio
c4fc0 6e 20 63 61 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 n.call........</p>.......<figure
c4fe0 3e 3c 66 69 67 63 61 70 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
c5000 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><
c5020 2f 66 69 67 63 61 70 74 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
c5040 73 73 3d 22 6c 69 6e 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
c5060 65 73 74 3c 2f 73 70 61 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"
c5080 3e 26 71 75 6f 74 3b 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 26 71 75 6f 74 3b 3c 2f >&quot;@setRuntimeSafety&quot;</
c50a0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
c50c0 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">
c50e0 2f 2f 20 54 68 65 20 62 75 69 6c 74 69 6e 20 61 70 70 6c 69 65 73 20 74 6f 20 74 68 65 20 73 63 //.The.builtin.applies.to.the.sc
c5100 6f 70 65 20 74 68 61 74 20 69 74 20 69 73 20 63 61 6c 6c 65 64 20 69 6e 2e 20 53 6f 20 68 65 72 ope.that.it.is.called.in..So.her
c5120 65 2c 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e e,.integer.overflow</span></span
c5140 3e 0a 3c 73 70 61 6e 20 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
c5160 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 69 6c 6c 20 6e 6f 74 20 62 lass="tok-comment">//.will.not.b
c5180 65 20 63 61 75 67 68 74 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 74 20 61 6e 64 20 52 65 6c 65 e.caught.in.ReleaseFast.and.Rele
c51a0 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 73 3a 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 aseSmall.modes:</span></span>.<s
c51c0 70 61 6e 20 63 6c 61 73 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
c51e0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 72 20 78 3a 20 75 38 20 3d 20 32 35 ="tok-comment">//.var.x:.u8.=.25
c5200 35 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 5;</span></span>.<span.class="li
c5220 6e 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
c5240 22 3e 2f 2f 20 78 20 2b 3d 20 31 3b 20 2f 2f 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 ">//.x.+=.1;.//.undefined.behavi
c5260 6f 72 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 74 2f 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d or.in.ReleaseFast/ReleaseSmall.m
c5280 6f 64 65 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d odes.</span></span>.<span.class=
c52a0 22 6c 69 6e 65 22 3e 20 20 20 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d "line">....{</span>.<span.class=
c52c0 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-
c52e0 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 6f 77 65 76 65 72 20 74 68 69 73 20 62 6c 6f 63 6b 20 68 comment">//.However.this.block.h
c5300 61 73 20 73 61 66 65 74 79 20 65 6e 61 62 6c 65 64 2c 20 73 6f 20 73 61 66 65 74 79 20 63 68 65 as.safety.enabled,.so.safety.che
c5320 63 6b 73 20 68 61 70 70 65 6e 20 68 65 72 65 2c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c cks.happen.here,</span></span>.<
c5340 73 70 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.
c5360 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 76 65 6e 20 69 6e 20 52 class="tok-comment">//.even.in.R
c5380 65 6c 65 61 73 65 46 61 73 74 20 61 6e 64 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 eleaseFast.and.ReleaseSmall.mode
c53a0 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 s.</span></span>.<span.class="li
c53c0 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
c53e0 6c 74 69 6e 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 28 3c ltin">@setRuntimeSafety</span>(<
c5400 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
c5420 3e 29 3b 3c 2f 73 70 61 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">..
c5440 20 20 20 20 20 20 3c 73 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</
c5460 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>.x:.<span.class="tok-type">
c5480 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d u8</span>.=.<span.class="tok-num
c54a0 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ber">255</span>;</span>.<span.cl
c54c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c ass="line">........x.+=.<span.cl
c54e0 61 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
c5500 3e 0a 3c 73 70 61 6e 20 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
c5520 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 7b 3c 2f 73 70 61 6e 3e an.class="line">........{</span>
c5540 0a 3c 73 70 61 6e 20 63 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">............
c5560 3c 73 70 61 6e 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
c5580 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 61 74 20 61 6e 79 20 .value.can.be.overridden.at.any.
c55a0 73 63 6f 70 65 2e 20 53 6f 20 68 65 72 65 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3c scope..So.here.integer.overflow<
c55c0 2f 73 70 61 6e 3e 3c 2f 73 70 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"
c55e0 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
c5600 6d 6d 65 6e 74 22 3e 2f 2f 20 77 6f 75 6c 64 20 6e 6f 74 20 62 65 20 63 61 75 67 68 74 20 69 6e mment">//.would.not.be.caught.in
c5620 20 61 6e 79 20 62 75 69 6c 64 20 6d 6f 64 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .any.build.mode.</span></span>.<
c5640 73 70 61 6e 20 63 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
c5660 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 52 75 6e 74 pan.class="tok-builtin">@setRunt
c5680 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f imeSafety</span>(<span.class="to
c56a0 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 k-null">false</span>);</span>.<s
c56c0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 pan.class="line">............<sp
c56e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 72 20 78 3a an.class="tok-comment">//.var.x:
c5700 20 75 38 20 3d 20 32 35 35 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .u8.=.255;</span></span>.<span.c
c5720 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c lass="line">............<span.cl
c5740 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2b 3d 20 31 3b 20 2f 2f 20 ass="tok-comment">//.x.+=.1;.//.
c5760 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 6e 20 61 6c 6c 20 62 75 69 6c 64 20 undefined.behavior.in.all.build.
c5780 6d 6f 64 65 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 modes.</span></span>.<span.class
c57a0 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
c57c0 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
c57e0 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
c5800 3e 3c 2f 66 69 67 75 72 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
c5820 61 73 73 3d 22 73 68 65 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
c5840 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">
c5860 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 20 2d 4f 52 65 6c 65 61 $.<kbd>zig.test.test.zig.-ORelea
c5880 73 65 46 61 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d seFast</kbd></span>.<span.class=
c58a0 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 73 65 74 52 75 6e 74 69 6d "line">1/1.test.&quot;@setRuntim
c58c0 65 53 61 66 65 74 79 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 31 34 34 33 33 39 33 20 eSafety&quot;....thread.1443393.
c58e0 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 3c panic:.integer.overflow</span>.<
c5900 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
c5920 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
c5940 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 67 65 6e 5f 74 6d an>.<span.class="line">docgen_tm
c5960 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f 2f 34 65 38 33 38 39 61 36 37 63 66 61 63 38 36 34 62 66 p/zig-cache/o/4e8389a67cfac864bf
c5980 65 65 33 63 37 63 38 61 33 39 33 36 30 32 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 ee3c7c8a393602/test./home/andy/t
c59a0 6d 70 2f 7a 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 3c 2f 73 70 61 6e 3e 0a mp/zig/build-release/zig</span>.
c59c0 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>
c59e0 4e 6f 74 65 3a 20 69 74 20 69 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 Note:.it.is.<a.href="https://git
c5a00 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 39 37 38 22 3e hub.com/ziglang/zig/issues/978">
c5a20 70 6c 61 6e 6e 65 64 3c 2f 61 3e 20 74 6f 20 72 65 70 6c 61 63 65 0a 20 20 20 20 20 20 3c 63 6f planned</a>.to.replace.......<co
c5a40 64 65 3e 3c 73 70 61 6e 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
c5a60 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
c5a80 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 3c 63 6f 64 y</span></span></code>.with.<cod
c5aa0 65 3e 40 6f 70 74 69 6d 69 7a 65 46 6f 72 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 0a 20 20 20 20 20 e>@optimizeFor</code></p>.......
c5ac0 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 68 6c 45 78 61 63 74 22 3e 3c 61 20 68 72 .........<h3.id="shlExact"><a.hr
c5ae0 65 66 3d 22 23 74 6f 63 2d 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e ef="#toc-shlExact">@shlExact</a>
c5b00 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 .<a.class="hdr".href="#shlExact"
c5b20 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><
c5b40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
c5b60 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 76 61 6c ok-builtin">@shlExact</span>(val
c5b80 75 65 3a 20 54 2c 20 73 68 69 66 74 5f 61 6d 74 3a 20 4c 6f 67 32 54 29 20 54 3c 2f 73 70 61 6e ue:.T,.shift_amt:.Log2T).T</span
c5ba0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 ></code></pre>.......<p>.......P
c5bc0 65 72 66 6f 72 6d 73 20 74 68 65 20 6c 65 66 74 20 73 68 69 66 74 20 6f 70 65 72 61 74 69 6f 6e erforms.the.left.shift.operation
c5be0 20 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 6c 74 3b 26 .(<code><span.class="line">&lt;&
c5c00 6c 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 46 6f 72 20 75 6e lt;</span></code>)........For.un
c5c20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c signed.integers,.the.result.is.<
c5c40 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 a.href="#undefined">undefined</a
c5c60 3e 20 69 66 20 61 6e 79 20 31 20 62 69 74 73 0a 20 20 20 20 20 20 61 72 65 20 73 68 69 66 74 65 >.if.any.1.bits.......are.shifte
c5c80 64 20 6f 75 74 2e 20 46 6f 72 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 2c 20 74 68 65 20 d.out..For.signed.integers,.the.
c5ca0 72 65 73 75 6c 74 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 result.is.<a.href="#undefined">u
c5cc0 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 69 66 0a 20 20 20 20 20 20 61 6e 79 20 62 69 74 73 20 74 ndefined</a>.if.......any.bits.t
c5ce0 68 61 74 20 64 69 73 61 67 72 65 65 20 77 69 74 68 20 74 68 65 20 72 65 73 75 6c 74 61 6e 74 20 hat.disagree.with.the.resultant.
c5d00 73 69 67 6e 20 62 69 74 20 61 72 65 20 73 68 69 66 74 65 64 20 6f 75 74 2e 0a 20 20 20 20 20 20 sign.bit.are.shifted.out........
c5d20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 </p>.......<p>.......The.type.of
c5d40 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f .<code><span.class="line">shift_
c5d60 61 6d 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 amt</span></code>.is.an.unsigned
c5d80 20 69 6e 74 65 67 65 72 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .integer.with.<code><span.class=
c5da0 22 6c 69 6e 65 22 3e 6c 6f 67 32 28 54 2e 62 69 74 5f 63 6f 75 6e 74 29 3c 2f 73 70 61 6e 3e 3c "line">log2(T.bit_count)</span><
c5dc0 2f 63 6f 64 65 3e 20 62 69 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 /code>.bits................This.
c5de0 69 73 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 is.because.<code><span.class="li
c5e00 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 20 26 67 74 3b 3d 20 54 2e 62 69 74 5f 63 6f 75 6e 74 3c ne">shift_amt.&gt;=.T.bit_count<
c5e20 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 /span></code>.is.undefined.behav
c5e40 69 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 ior........</p>.......<p>See.als
c5e60 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 o:</p><ul>.<li><a.href="#shrExac
c5e80 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 t">@shrExact</a></li>.<li><a.hre
c5ea0 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 f="#shlWithOverflow">@shlWithOve
c5ec0 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 rflow</a></li>.</ul>............
c5ee0 20 20 20 20 3c 68 33 20 69 64 3d 22 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 ....<h3.id="shlWithOverflow"><a.
c5f00 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c href="#toc-shlWithOverflow">@shl
c5f20 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 WithOverflow</a>.<a.class="hdr".
c5f40 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f href="#shlWithOverflow">..</a></
c5f60 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
c5f80 73 3d 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
c5fa0 6e 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e n">@shlWithOverflow</span>(<span
c5fc0 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>.
c5fe0 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</
c6000 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 73 68 69 66 74 5f 61 6d 74 3a 20 4c 6f 67 32 54 2c 20 72 span>,.a:.T,.shift_amt:.Log2T,.r
c6020 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
c6040 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
c6060 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
c6080 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
c60a0 20 26 6c 74 3b 26 6c 74 3b 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 6f 76 .&lt;&lt;.b</span></code>..If.ov
c60c0 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 erflow.or.underflow.occurs,.....
c60e0 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 73 20 74 68 65 20 6f 76 65 72 66 6c 6f 77 .............stores.the.overflow
c6100 65 64 20 62 69 74 73 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ed.bits.in.<code><span.class="li
c6120 6e 65 22 3e 72 65 73 75 6c 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 ne">result</span></code>.and.ret
c6140 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
c6160 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>
c6180 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 </span></code>..................
c61a0 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 .........If.no.overflow.or.under
c61c0 66 6c 6f 77 20 6f 63 63 75 72 73 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e flow.occurs,.returns.<code><span
c61e0 20 63 6c 61 73 73 3d 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
c6200 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e ull">false</span></span></code>.
c6220 0a 20 20 20 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.
c6240 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 type.of.<code><span.class="line"
c6260 3e 73 68 69 66 74 5f 61 6d 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 6e 20 75 >shift_amt</span></code>.is.an.u
c6280 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e nsigned.integer.with.<code><span
c62a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 6f 67 32 28 54 2e 62 69 74 5f 63 6f 75 6e 74 29 3c .class="line">log2(T.bit_count)<
c62c0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 69 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 /span></code>.bits..............
c62e0 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ..This.is.because.<code><span.cl
c6300 61 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 20 26 67 74 3b 3d 20 54 2e 62 69 74 ass="line">shift_amt.&gt;=.T.bit
c6320 5f 63 6f 75 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 _count</span></code>.is.undefine
c6340 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>
c6360 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="#
c6380 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
c63a0 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f ><a.href="#shrExact">@shrExact</
c63c0 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
c63e0 20 69 64 3d 22 73 68 72 45 78 61 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 72 .id="shrExact"><a.href="#toc-shr
c6400 45 78 61 63 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 Exact">@shrExact</a>.<a.class="h
c6420 64 72 22 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e dr".href="#shrExact">..</a></h3>
c6440 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="
c6460 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">
c6480 40 73 68 72 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 54 2c 20 73 68 69 66 74 @shrExact</span>(value:.T,.shift
c64a0 5f 61 6d 74 3a 20 4c 6f 67 32 54 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 _amt:.Log2T).T</span></code></pr
c64c0 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 74 68 65 20 e>.......<p>.......Performs.the.
c64e0 72 69 67 68 74 20 73 68 69 66 74 20 6f 70 65 72 61 74 69 6f 6e 20 28 3c 63 6f 64 65 3e 3c 73 70 right.shift.operation.(<code><sp
c6500 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 26 67 74 3b 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c an.class="line">&gt;&gt;</span><
c6520 2f 63 6f 64 65 3e 29 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 0a 20 20 20 20 20 /code>)..Caller.guarantees......
c6540 20 74 68 61 74 20 74 68 65 20 73 68 69 66 74 20 77 69 6c 6c 20 6e 6f 74 20 73 68 69 66 74 20 61 .that.the.shift.will.not.shift.a
c6560 6e 79 20 31 20 62 69 74 73 20 6f 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ny.1.bits.out........</p>.......
c6580 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 <p>.......The.type.of.<code><spa
c65a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f 61 6d 74 3c 2f 73 70 61 6e 3e 3c n.class="line">shift_amt</span><
c65c0 2f 63 6f 64 65 3e 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 77 69 /code>.is.an.unsigned.integer.wi
c65e0 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 6f 67 32 th.<code><span.class="line">log2
c6600 28 54 2e 62 69 74 5f 63 6f 75 6e 74 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 69 74 73 (T.bit_count)</span></code>.bits
c6620 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 ................This.is.because.
c6640 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 68 69 66 74 5f 61 <code><span.class="line">shift_a
c6660 6d 74 20 26 67 74 3b 3d 20 54 2e 62 69 74 5f 63 6f 75 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 mt.&gt;=.T.bit_count</span></cod
c6680 65 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 e>.is.undefined.behavior........
c66a0 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>.
c66c0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 <li><a.href="#shlExact">@shlExac
c66e0 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 t</a></li>.<li><a.href="#shlWith
c6700 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f Overflow">@shlWithOverflow</a></
c6720 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=
c6740 22 73 68 75 66 66 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 75 66 66 6c 65 22 "shuffle"><a.href="#toc-shuffle"
c6760 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 >@shuffle</a>.<a.class="hdr".hre
c6780 66 3d 22 23 73 68 75 66 66 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 f="#shuffle">..</a></h3>........
c67a0 3c 70 72 65 3e 3c 63 6f 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
c67c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 75 66 66 6c 65 pan.class="tok-builtin">@shuffle
c67e0 3c 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
c6800 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 45 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ptime</span>.E:.<span.class="tok
c6820 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 73 74 64 2e 6d 65 74 61 2e -type">type</span>,.a:.std.meta.
c6840 56 65 63 74 6f 72 28 61 5f 6c 65 6e 2c 20 45 29 2c 20 62 3a 20 73 74 64 2e 6d 65 74 61 2e 56 65 Vector(a_len,.E),.b:.std.meta.Ve
c6860 63 74 6f 72 28 62 5f 6c 65 6e 2c 20 45 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ctor(b_len,.E),.<span.class="tok
c6880 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 61 73 6b 3a 20 73 74 64 2e 6d -kw">comptime</span>.mask:.std.m
c68a0 65 74 61 2e 56 65 63 74 6f 72 28 6d 61 73 6b 5f 6c 65 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 eta.Vector(mask_len,.<span.class
c68c0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 20 73 74 64 2e 6d 65 74 ="tok-type">i32</span>)).std.met
c68e0 61 2e 56 65 63 74 6f 72 28 6d 61 73 6b 5f 6c 65 6e 2c 20 45 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f a.Vector(mask_len,.E)</span></co
c6900 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 73 74 72 de></pre>.......<p>.......Constr
c6920 75 63 74 73 20 61 20 6e 65 77 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 76 65 ucts.a.new.<a.href="#Vectors">ve
c6940 63 74 6f 72 3c 2f 61 3e 20 62 79 20 73 65 6c 65 63 74 69 6e 67 20 65 6c 65 6d 65 6e 74 73 20 66 ctor</a>.by.selecting.elements.f
c6960 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f rom.<code><span.class="line">a</
c6980 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 span></code>.and.......<code><sp
c69a0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 an.class="line">b</span></code>.
c69c0 62 61 73 65 64 20 6f 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 based.on.<code><span.class="line
c69e0 22 3e 6d 61 73 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ">mask</span></code>........</p>
c6a00 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 69 6e .......<p>.......Each.element.in
c6a20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 73 6b 3c 2f .<code><span.class="line">mask</
c6a40 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 65 6c 65 63 74 73 20 61 6e 20 65 6c 65 6d 65 6e 74 20 span></code>.selects.an.element.
c6a60 66 72 6f 6d 20 65 69 74 68 65 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c from.either.<code><span.class="l
c6a80 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 ine">a</span></code>.or.......<c
c6aa0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c ode><span.class="line">b</span><
c6ac0 2f 63 6f 64 65 3e 2e 20 50 6f 73 69 74 69 76 65 20 6e 75 6d 62 65 72 73 20 73 65 6c 65 63 74 20 /code>..Positive.numbers.select.
c6ae0 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c from.<code><span.class="line">a<
c6b00 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 72 74 69 6e 67 20 61 74 20 30 2e 0a 20 20 20 /span></code>.starting.at.0.....
c6b20 20 20 20 4e 65 67 61 74 69 76 65 20 76 61 6c 75 65 73 20 73 65 6c 65 63 74 20 66 72 6f 6d 20 3c ...Negative.values.select.from.<
c6b40 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e code><span.class="line">b</span>
c6b60 3c 2f 63 6f 64 65 3e 2c 20 73 74 61 72 74 69 6e 67 20 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 6e </code>,.starting.at.<code><span
c6b80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d .class="line">-<span.class="tok-
c6ba0 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 number">1</span></span></code>.a
c6bc0 6e 64 20 67 6f 69 6e 67 20 64 6f 77 6e 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 65 63 6f 6d nd.going.down........It.is.recom
c6be0 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c mended.to.use.the.<code><span.cl
c6c00 61 73 73 3d 22 6c 69 6e 65 22 3e 7e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 ass="line">~</span></code>.opera
c6c20 74 6f 72 20 66 72 6f 6d 20 69 6e 64 65 78 65 73 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 tor.from.indexes.from.<code><spa
c6c40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 n.class="line">b</span></code>..
c6c60 20 20 20 20 20 73 6f 20 74 68 61 74 20 62 6f 74 68 20 69 6e 64 65 78 65 73 20 63 61 6e 20 73 74 .....so.that.both.indexes.can.st
c6c80 61 72 74 20 66 72 6f 6d 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 art.from.<code><span.class="line
c6ca0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 "><span.class="tok-number">0</sp
c6cc0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 69 2e 65 2e 20 3c 63 6f 64 65 3e 3c 73 an></span></code>.(i.e..<code><s
c6ce0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan.class="line">~<span.class="t
c6d00 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ok-builtin">@as</span>(<span.cla
c6d20 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ss="tok-type">i32</span>,.<span.
c6d40 63 6c 61 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
c6d60 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 an></code>.is.......<code><span.
c6d80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e class="line">-<span.class="tok-n
c6da0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2e 0a umber">1</span></span></code>)..
c6dc0 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 ......</p>.......<p>.......For.e
c6de0 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ach.element.of.<code><span.class
c6e00 3d 22 6c 69 6e 65 22 3e 6d 61 73 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 69 66 20 69 ="line">mask</span></code>,.if.i
c6e20 74 20 6f 72 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 76 61 6c 75 65 20 66 72 6f 6d 0a 20 20 20 t.or.the.selected.value.from....
c6e40 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 ...<code><span.class="line">a</s
c6e60 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
c6e80 3d 22 6c 69 6e 65 22 3e 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 ="line">b</span></code>.is.<code
c6ea0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
c6ec0 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 "tok-null">undefined</span></spa
c6ee0 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 n></code>,.......then.the.result
c6f00 69 6e 67 20 65 6c 65 6d 65 6e 74 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ing.element.is.<code><span.class
c6f20 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 ="line"><span.class="tok-null">u
c6f40 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 ndefined</span></span></code>...
c6f60 20 20 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>
c6f80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 5f 6c 65 6e 3c 2f 73 70 61 6e 3e 3c <span.class="line">a_len</span><
c6fa0 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
c6fc0 6e 65 22 3e 62 5f 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 64 69 66 66 ne">b_len</span></code>.may.diff
c6fe0 65 72 20 69 6e 20 6c 65 6e 67 74 68 2e 20 4f 75 74 2d 6f 66 2d 62 6f 75 6e 64 73 20 65 6c 65 6d er.in.length..Out-of-bounds.elem
c7000 65 6e 74 0a 20 20 20 20 20 20 69 6e 64 65 78 65 73 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ent.......indexes.in.<code><span
c7020 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6d 61 73 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e .class="line">mask</span></code>
c7040 20 72 65 73 75 6c 74 20 69 6e 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20 .result.in.compile.errors.......
c7060 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c .</p>.......<p>.......If.<code><
c7080 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">a</span></code
c70a0 3e 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 3c >.or.<code><span.class="line">b<
c70c0 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
c70e0 73 73 3d 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"
c7100 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c >undefined</span></span></code>,
c7120 20 69 74 0a 20 20 20 20 20 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 76 65 63 .it.......is.equivalent.to.a.vec
c7140 74 6f 72 20 6f 66 20 61 6c 6c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 tor.of.all.<code><span.class="li
c7160 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 ne"><span.class="tok-null">undef
c7180 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 74 ined</span></span></code>.with.t
c71a0 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 20 61 73 20 74 68 65 20 6f 74 68 65 72 20 76 65 63 74 he.same.length.as.the.other.vect
c71c0 6f 72 2e 0a 20 20 20 20 20 20 49 66 20 62 6f 74 68 20 76 65 63 74 6f 72 73 20 61 72 65 20 3c 63 or........If.both.vectors.are.<c
c71e0 6f 64 65 3e 3c 73 70 61 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
c7200 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f ss="tok-null">undefined</span></
c7220 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=
c7240 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"
c7260 3e 40 73 68 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 >@shuffle</span></span></code>.r
c7280 65 74 75 72 6e 73 0a 20 20 20 20 20 20 61 20 76 65 63 74 6f 72 20 77 69 74 68 20 61 6c 6c 20 65 eturns.......a.vector.with.all.e
c72a0 6c 65 6d 65 6e 74 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 lements.<code><span.class="line"
c72c0 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
c72e0 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f d</span></span></code>........</
c7300 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
c7320 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 lass="line">E</span></code>.must
c7340 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 .be.an.<a.href="#Integers">integ
c7360 65 72 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 66 6c 6f 61 74 3c er</a>,.<a.href="#Floats">float<
c7380 2f 61 3e 2c 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 /a>,.......<a.href="#Pointers">p
c73a0 6f 69 6e 74 65 72 3c 2f 61 3e 2c 20 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ointer</a>,.or.<code><span.class
c73c0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 ="line"><span.class="tok-type">b
c73e0 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 65 20 6d 61 ool</span></span></code>..The.ma
c7400 73 6b 20 6d 61 79 20 62 65 20 61 6e 79 20 76 65 63 74 6f 72 20 6c 65 6e 67 74 68 2c 20 61 6e 64 sk.may.be.any.vector.length,.and
c7420 20 69 74 73 0a 20 20 20 20 20 20 6c 65 6e 67 74 68 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 .its.......length.determines.the
c7440 20 72 65 73 75 6c 74 20 6c 65 6e 67 74 68 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 .result.length........</p>......
c7460 20 3c 66 69 67 75 72 65 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-
c7480 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 65 63 74 6f 72 5f 73 cap"><cite.class="file">vector_s
c74a0 68 75 66 66 6c 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 huffle.zig</cite></figcaption><p
c74c0 72 65 3e 3c 63 6f 64 65 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
c74e0 6e 20 63 6c 61 73 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
c7500 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
c7520 6d 70 6f 72 74 3c 2f 73 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
c7540 72 22 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
c7560 6e 3e 0a 3c 73 70 61 6e 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
c7580 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 65 63 74 6f 72 20 3d s="tok-kw">const</span>.Vector.=
c75a0 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .std.meta.Vector;</span>.<span.c
c75c0 6c 61 73 73 3d 22 6c 69 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"
c75e0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 >const</span>.expect.=.std.testi
c7600 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ng.expect;</span>.<span.class="l
c7620 69 6e 65 22 3e 3c 2f 73 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">
c7640 3c 73 70 61 6e 20 63 6c 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>
c7660 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 65 63 .<span.class="tok-str">&quot;vec
c7680 74 6f 72 20 40 73 68 75 66 66 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 tor.@shuffle&quot;</span>.{</spa
c76a0 6e 3e 0a 3c 73 70 61 6e 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.
c76c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 56 class="tok-kw">const</span>.a:.V
c76e0 65 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 ector(<span.class="tok-number">7
c7700 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e </span>,.<span.class="tok-type">
c7720 75 38 3c 2f 73 70 61 6e 3e 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b u8</span>).=.[_]<span.class="tok
c7740 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 -type">u8</span>{.<span.class="t
c7760 6f 6b 2d 73 74 72 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-str">'o'</span>,.<span.class=
c7780 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-str">'l'</span>,.<span.clas
c77a0 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c s="tok-str">'h'</span>,.<span.cl
c77c0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ass="tok-str">'e'</span>,.<span.
c77e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 72 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 class="tok-str">'r'</span>,.<spa
c7800 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7a 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 n.class="tok-str">'z'</span>,.<s
c7820 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 77 27 3c 2f 73 70 61 6e 3e 20 7d pan.class="tok-str">'w'</span>.}
c7840 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
c7860 3c 73 70 61 6e 20 63 6c 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
c7880 3e 20 62 3a 20 56 65 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d >.b:.Vector(<span.class="tok-num
c78a0 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ber">4</span>,.<span.class="tok-
c78c0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 type">u8</span>).=.[_]<span.clas
c78e0 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
c7900 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 77 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 ass="tok-str">'w'</span>,.<span.
c7920 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 64 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 class="tok-str">'d'</span>,.<spa
c7940 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 21 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 n.class="tok-str">'!'</span>,.<s
c7960 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 78 27 3c 2f 73 70 61 6e 3e 20 7d pan.class="tok-str">'x'</span>.}
c7980 3b 3c 2f 73 70 61 6e 3e 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
c79a0 61 6e 3e 0a 3c 73 70 61 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
c79c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 73 68 75 66 66 .class="tok-comment">//.To.shuff
c79e0 6c 65 20 77 69 74 68 69 6e 20 61 20 73 69 6e 67 6c 65 20 76 65 63 74 6f 72 2c 20 70 61 73 73 20 le.within.a.single.vector,.pass.
c7a00 75 6e 64 65 66 69 6e 65 64 20 61 73 20 74 68 65 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 undefined.as.the.second.argument
c7a20 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
c7a40 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"
c7a60 3e 2f 2f 20 4e 6f 74 69 63 65 20 74 68 61 74 20 77 65 20 63 61 6e 20 72 65 2d 6f 72 64 65 72 2c >//.Notice.that.we.can.re-order,
c7a80 20 64 75 70 6c 69 63 61 74 65 2c 20 6f 72 20 6f 6d 69 74 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 .duplicate,.or.omit.elements.of.
c7aa0 74 68 65 20 69 6e 70 75 74 20 76 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c the.input.vector</span></span>.<
c7ac0 73 70 61 6e 20 63 6c 61 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
c7ae0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 73 6b 31 3a 20 56 s="tok-kw">const</span>.mask1:.V
c7b00 65 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 ector(<span.class="tok-number">5
c7b20 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e </span>,.<span.class="tok-type">
c7b40 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f i32</span>).=.[_]<span.class="to
c7b60 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">i32</span>{.<span.class=
c7b80 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">2</span>,.<span.cla
c7ba0 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.
c7bc0 63 6c 61 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
c7be0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-number">1</span>,.
c7c00 3c 73 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
c7c20 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">.
c7c40 20 20 20 3c 73 70 61 6e 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
c7c60 70 61 6e 3e 20 72 65 73 31 3a 20 56 65 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 pan>.res1:.Vector(<span.class="t
c7c80 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
c7ca0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 ="tok-type">u8</span>).=.<span.c
c7cc0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 75 66 66 6c 65 3c 2f 73 70 61 lass="tok-builtin">@shuffle</spa
c7ce0 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
c7d00 61 6e 3e 2c 20 61 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 an>,.a,.<span.class="tok-null">u
c7d20 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 2c 20 6d 61 73 6b 31 29 3b 3c 2f 73 70 61 6e 3e 0a ndefined</span>,.mask1);</span>.
c7d40 3c 73 70 61 6e 20 63 6c 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
c7d60 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 ss="tok-kw">try</span>.expect(st
c7d80 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 d.mem.eql(<span.class="tok-type"
c7da0 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >u8</span>,.&amp;<span.class="to
c7dc0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 5b 3c 73 70 61 6e 20 63 6c 61 k-builtin">@as</span>([<span.cla
c7de0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 ss="tok-number">5</span>]<span.c
c7e00 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 31 29 lass="tok-type">u8</span>,.res1)
c7e20 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 ,.<span.class="tok-str">&quot;he
c7e40 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e llo&quot;</span>));</span>.<span
c7e60 20 63 6c 61 73 73 3d 22 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
c7e80 73 3d 22 6c 69 6e 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
c7ea0 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 6d 62 69 6e 69 6e 67 20 74 77 6f 20 76 65 63 74 6f 72 73 3c mment">//.Combining.two.vectors<
c7ec0 2f 73 70 61 6e 3e 3c 2f 73 70 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"
c7ee0 3e 20 20 20 20 3c 73 70 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<
c7f00 2f 73 70 61 6e 3e 20 6d 61 73 6b 32 3a 20 56 65 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 /span>.mask2:.Vector(<span.class
c7f20 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
c7f40 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 20 5b 5f 5d ass="tok-type">i32</span>).=.[_]
c7f60 3c 73 70 61 6e 20 63 6c 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
c7f80 3e 7b 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f >{.-<span.class="tok-number">1</
c7fa0 73 70 61 6e 3e 2c 20 3c 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">
c7fc0 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
c7fe0 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
c8000 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f mber">1</span>,.-<span.class="to
c8020 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 k-number">2</span>,.-<span.class
c8040 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e ="tok-number">3</span>.};</span>
c8060 0a 3c 73 70 61 6e 20 63 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
c8080 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 32 3a 20 ass="tok-kw">const</span>.res2:.
c80a0 56 65 63 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e Vector(<span.class="tok-number">
c80c0 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 6</span>,.<span.class="tok-type"
c80e0 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 >u8</span>).=.<span.class="tok-b
c8100 75 69 6c 74 69 6e 22 3e 40 73 68 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c uiltin">@shuffle</span>(<span.cl
c8120 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 2c 20 62 2c 20 ass="tok-type">u8</span>,.a,.b,.
c8140 6d 61 73 6b 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 mask2);</span>.<span.class="line
c8160 22 3e 20 20 20 20 3c 73 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</
c8180 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
c81a0 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b lass="tok-type">u8</span>,.&amp;
c81c0 3c 73 70 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
c81e0 70 61 6e 3e 28 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 pan>([<span.class="tok-number">6
c8200 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
c8220 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 32 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 8</span>,.res2),.<span.class="to
c8240 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 6f 72 6c 64 21 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e k-str">&quot;world!&quot;</span>
c8260 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c ));</span>.<span.class="line">}<
c8280 2f 73 70 61 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
c82a0 75 72 65 3e 3c 66 69 67 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
c82c0 22 3e 53 68 65 6c 6c 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><
c82e0 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
c8300 74 20 76 65 63 74 6f 72 5f 73 68 75 66 66 6c 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e t.vector_shuffle.zig</kbd></span
c8320 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 >.<span.class="line">1/1.test.&q
c8340 75 6f 74 3b 76 65 63 74 6f 72 20 40 73 68 75 66 66 6c 65 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c uot;vector.@shuffle&quot;....OK<
c8360 2f 73 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.
c8380 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
c83a0 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:</
c83c0 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 p><ul>.<li><a.href="#Vectors">Ve
c83e0 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 ctors</a></li>.</ul>............
c8400 20 20 20 20 3c 68 33 20 69 64 3d 22 73 69 7a 65 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ....<h3.id="sizeOf"><a.href="#to
c8420 63 2d 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 c-sizeOf">@sizeOf</a>.<a.class="
c8440 68 64 72 22 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a hdr".href="#sizeOf">..</a></h3>.
c8460 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
c8480 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">@
c84a0 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b sizeOf</span>(<span.class="tok-k
c84c0 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
c84e0 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.
c8500 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
c8520 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c pan></span></code></pre>.......<
c8540 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 p>.......This.function.returns.t
c8560 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 69 74 20 74 61 6b 65 73 20 74 6f 20 73 he.number.of.bytes.it.takes.to.s
c8580 74 6f 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 3c tore.<code><span.class="line">T<
c85a0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 6d 65 6d 6f 72 79 2e 0a 20 20 20 20 20 20 54 /span></code>.in.memory........T
c85c0 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 he.result.is.a.target-specific.c
c85e0 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ompile.time.constant........</p>
c8600 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 73 69 7a 65 20 6d 61 79 20 63 .......<p>.......This.size.may.c
c8620 6f 6e 74 61 69 6e 20 70 61 64 64 69 6e 67 20 62 79 74 65 73 2e 20 49 66 20 74 68 65 72 65 20 77 ontain.padding.bytes..If.there.w
c8640 65 72 65 20 74 77 6f 20 63 6f 6e 73 65 63 75 74 69 76 65 20 54 20 69 6e 20 6d 65 6d 6f 72 79 2c ere.two.consecutive.T.in.memory,
c8660 20 74 68 69 73 20 77 6f 75 6c 64 20 62 65 20 74 68 65 20 6f 66 66 73 65 74 0a 20 20 20 20 20 20 .this.would.be.the.offset.......
c8680 69 6e 20 62 79 74 65 73 20 62 65 74 77 65 65 6e 20 65 6c 65 6d 65 6e 74 20 61 74 20 69 6e 64 65 in.bytes.between.element.at.inde
c86a0 78 20 30 20 61 6e 64 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 61 74 20 69 6e 64 65 78 20 31 2e 20 x.0.and.the.element.at.index.1..
c86c0 46 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c For.<a.href="#Integers">integer<
c86e0 2f 61 3e 2c 0a 20 20 20 20 20 20 63 6f 6e 73 69 64 65 72 20 77 68 65 74 68 65 72 20 79 6f 75 20 /a>,.......consider.whether.you.
c8700 77 61 6e 74 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c want.to.use.<code><span.class="l
c8720 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">@
c8740 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 54 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f sizeOf</span>(T)</span></code>.o
c8760 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 r.......<code><span.class="line"
c8780 3e 3c 73 70 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
c87a0 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 2e 62 69 74 73 3c 2f 73 70 61 6e 3e 3c 2f Info</span>(T).Int.bits</span></
c87c0 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>.....
c87e0 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 65 61 73 75 72 65 73 20 74 68 65 20 73 69 7a ..This.function.measures.the.siz
c8800 65 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 46 6f 72 20 74 79 70 65 73 20 74 68 61 74 20 61 72 65 e.at.runtime..For.types.that.are
c8820 20 64 69 73 61 6c 6c 6f 77 65 64 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 73 75 63 68 20 61 73 0a .disallowed.at.runtime,.such.as.
c8840 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"><
c8860 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
c8880 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 nt</span></span></code>.and.<cod
c88a0 65 3e 3c 73 70 61 6e 20 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
c88c0 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></
c88e0 63 6f 64 65 3e 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e code>,.the.result.is.<code><span
c8900 20 63 6c 61 73 73 3d 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
c8920 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 umber">0</span></span></code>...
c8940 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>
c8960 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 69 74 53 69 7a 65 4f 66 22 3e 40 62 <ul>.<li><a.href="#bitSizeOf">@b
c8980 69 74 53 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 itSizeOf</a></li>.<li><a.href="#
c89a0 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 typeInfo">@typeInfo</a></li>.</u
c89c0 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 70 6c 61 74 22 l>................<h3.id="splat"
c89e0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e ><a.href="#toc-splat">@splat</a>
c8a00 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 70 6c 61 74 22 3e c2 a7 .<a.class="hdr".href="#splat">..
c8a20 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
c8a40 6e 20 63 6c 61 73 73 3d 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-
c8a60 62 75 69 6c 74 69 6e 22 3e 40 73 70 6c 61 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 builtin">@splat</span>(<span.cla
c8a80 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6c 65 6e 3a ss="tok-kw">comptime</span>.len:
c8aa0 20 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
c8ac0 6e 3e 2c 20 73 63 61 6c 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 n>,.scalar:.<span.class="tok-kw"
c8ae0 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 >anytype</span>).std.meta.Vector
c8b00 28 6c 65 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e (len,.<span.class="tok-builtin">
c8b20 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 73 63 61 6c 61 72 29 29 3c 2f 73 70 61 6e 3e 3c 2f @TypeOf</span>(scalar))</span></
c8b40 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 6f 64 code></pre>.......<p>.......Prod
c8b60 75 63 65 73 20 61 20 76 65 63 74 6f 72 20 6f 66 20 6c 65 6e 67 74 68 20 3c 63 6f 64 65 3e 3c 73 uces.a.vector.of.length.<code><s
c8b80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 65 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 pan.class="line">len</span></cod
c8ba0 65 3e 20 77 68 65 72 65 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 74 68 65 20 76 61 6c e>.where.each.element.is.the.val
c8bc0 75 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ue.......<code><span.class="line
c8be0 22 3e 73 63 61 6c 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f ">scalar</span></code>:.......</
c8c00 70 3e 0a 20 20 20 20 20 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
c8c20 73 73 3d 22 7a 69 67 2d 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">
c8c40 76 65 63 74 6f 72 5f 73 70 6c 61 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 vector_splat.zig</cite></figcapt
c8c60 69 6f 6e 3e 3c 70 72 65 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
c8c80 22 3e 3c 73 70 61 6e 20 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
c8ca0 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
c8cc0 69 6e 22 3e 40 69 6d 70 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="
c8ce0 74 6f 6b 2d 73 74 72 22 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>)
c8d00 3b 3c 2f 73 70 61 6e 3e 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
c8d20 6e 20 63 6c 61 73 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
c8d40 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e pect.=.std.testing.expect;</span
c8d60 3e 0a 3c 73 70 61 6e 20 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
c8d80 61 6e 20 63 6c 61 73 73 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
c8da0 2d 6b 77 22 3e 74 65 73 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
c8dc0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 73 70 6c 61 74 26 71 75 6f 74 3b k-str">&quot;vector.@splat&quot;
c8de0 3c 2f 73 70 61 6e 3e 20 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
c8e00 6e 65 22 3e 20 20 20 20 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
c8e20 73 74 3c 2f 73 70 61 6e 3e 20 73 63 61 6c 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 st</span>.scalar:.<span.class="t
c8e40 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ok-type">u32</span>.=.<span.clas
c8e60 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-number">5</span>;</span>.
c8e80 3c 73 70 61 6e 20 63 6c 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
c8ea0 73 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.
c8ec0 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 6c =.<span.class="tok-builtin">@spl
c8ee0 61 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 at</span>(<span.class="tok-numbe
c8f00 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 73 63 61 6c 61 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 r">4</span>,.scalar);</span>.<sp
c8f20 61 6e 20 63 6c 61 73 73 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=
c8f40 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 "tok-kw">comptime</span>.<span.c
c8f60 6c 61 73 73 3d 22 74 6f 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(
c8f80 3c 73 70 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
c8fa0 66 3c 2f 73 70 61 6e 3e 28 72 65 73 75 6c 74 29 20 3d 3d 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 f</span>(result).==.std.meta.Vec
c8fc0 74 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f tor(<span.class="tok-number">4</
c8fe0 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 span>,.<span.class="tok-type">u3
c9000 32 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 2</span>));</span>.<span.class="
c9020 6c 69 6e 65 22 3e 20 20 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
c9040 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 ry</span>.expect(std.mem.eql(<sp
c9060 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 an.class="tok-type">u32</span>,.
c9080 26 61 6d 70 3b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 &amp;<span.class="tok-builtin">@
c90a0 61 73 3c 2f 73 70 61 6e 3e 28 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 as</span>([<span.class="tok-numb
c90c0 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 er">4</span>]<span.class="tok-ty
c90e0 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 2c 20 26 61 6d 70 3b 5b 5f pe">u32</span>,.result),.&amp;[_
c9100 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 ]<span.class="tok-type">u32</spa
c9120 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f n>{.<span.class="tok-number">5</
c9140 73 70 61 6e 3e 2c 20 3c 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">
c9160 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 5</span>,.<span.class="tok-numbe
c9180 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
c91a0 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e mber">5</span>.}));</span>.<span
c91c0 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
c91e0 72 65 3e 3c 2f 66 69 67 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.
c9200 63 6c 61 73 73 3d 22 73 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
c9220 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
c9240 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 76 65 63 74 6f 72 5f 73 70 6c 61 74 2e 7a ">$.<kbd>zig.test.vector_splat.z
c9260 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
c9280 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 73 70 6c 61 74 26 e">1/1.test.&quot;vector.@splat&
c92a0 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;....OK</span>.<span.class="
c92c0 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>
c92e0 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
c9300 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"
c9320 3e 73 63 61 6c 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e >scalar</span></code>.must.be.an
c9340 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>
c9360 2c 20 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f ,.<a.href="#Primitive-Types">boo
c9380 6c 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 66 l</a>,.......<a.href="#Floats">f
c93a0 6c 6f 61 74 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 loat</a>,.or.<a.href="#Pointers"
c93c0 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c >pointer</a>........</p>.......<
c93e0 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=
c9400 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e "#Vectors">Vectors</a></li>.<li>
c9420 3c 61 20 68 72 65 66 3d 22 23 73 68 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 3c <a.href="#shuffle">@shuffle</a><
c9440 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
c9460 3d 22 72 65 64 75 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 72 65 64 75 63 65 22 3e ="reduce"><a.href="#toc-reduce">
c9480 40 72 65 64 75 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d @reduce</a>.<a.class="hdr".href=
c94a0 22 23 72 65 64 75 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 "#reduce">..</a></h3>........<pr
c94c0 65 3e 3c 63 6f 64 65 3e 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
c94e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 64 75 63 65 3c 2f 73 70 .class="tok-builtin">@reduce</sp
c9500 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
c9520 65 3c 2f 73 70 61 6e 3e 20 6f 70 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 52 65 64 75 63 65 4f e</span>.op:.std.builtin.ReduceO
c9540 70 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 p,.value:.<span.class="tok-kw">a
c9560 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 73 74 64 2e 6d 65 74 61 2e 43 68 69 6c 64 28 76 61 nytype</span>).std.meta.Child(va
c9580 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c lue)</span></code></pre>.......<
c95a0 70 3e 0a 20 20 20 20 20 20 54 72 61 6e 73 66 6f 72 6d 73 20 61 20 3c 61 20 68 72 65 66 3d 22 23 p>.......Transforms.a.<a.href="#
c95c0 56 65 63 74 6f 72 73 22 3e 76 65 63 74 6f 72 3c 2f 61 3e 20 69 6e 74 6f 20 61 20 73 63 61 6c 61 Vectors">vector</a>.into.a.scala
c95e0 72 20 76 61 6c 75 65 20 62 79 20 70 65 72 66 6f 72 6d 69 6e 67 20 61 0a 20 20 20 20 20 20 73 65 r.value.by.performing.a.......se
c9600 71 75 65 6e 74 69 61 6c 20 68 6f 72 69 7a 6f 6e 74 61 6c 20 72 65 64 75 63 74 69 6f 6e 20 6f 66 quential.horizontal.reduction.of
c9620 20 69 74 73 20 65 6c 65 6d 65 6e 74 73 20 75 73 69 6e 67 20 74 68 65 20 73 70 65 63 69 66 69 65 .its.elements.using.the.specifie
c9640 64 20 6f 70 65 72 61 74 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d.operator.<code><span.class="li
c9660 6e 65 22 3e 6f 70 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ne">op</span></code>........</p>
c9680 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 20 65 76 65 72 79 20 6f 70 65 72 61 .......<p>.......Not.every.opera
c96a0 74 6f 72 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 65 76 65 72 79 20 76 65 63 74 6f tor.is.available.for.every.vecto
c96c0 72 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 r.element.type:.......</p>......
c96e0 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .<ul>...........<li><code><span.
c9700 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 41 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c class="line">.And</span></code>,
c9720 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4f 72 3c 2f 73 .<code><span.class="line">.Or</s
c9740 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c pan></code>,.............<code><
c9760 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 58 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 span.class="line">.Xor</span></c
c9780 6f 64 65 3e 20 61 72 65 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 ode>.are.available.for..........
c97a0 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
c97c0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-type">bool</span></
c97e0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 65 63 74 6f 72 73 2c 3c 2f 6c 69 3e 0a 20 20 20 20 20 span></code>.vectors,</li>......
c9800 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
c9820 22 3e 2e 4d 69 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 ">.Min</span></code>,.<code><spa
c9840 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 61 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 n.class="line">.Max</span></code
c9860 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
c9880 3d 22 6c 69 6e 65 22 3e 2e 41 64 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 ="line">.Add</span></code>,.<cod
c98a0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 4d 75 6c 3c 2f 73 70 61 6e 3e e><span.class="line">.Mul</span>
c98c0 3c 2f 63 6f 64 65 3e 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 76 61 69 6c 61 62 6c </code>.are.............availabl
c98e0 65 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 66 6c 6f 61 74 69 6e 67 e.for.<a.href="#Floats">floating
c9900 20 70 6f 69 6e 74 3c 2f 61 3e 20 76 65 63 74 6f 72 73 2c 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 .point</a>.vectors,</li>........
c9920 20 20 20 3c 6c 69 3e 45 76 65 72 79 20 6f 70 65 72 61 74 6f 72 20 69 73 20 61 76 61 69 6c 61 62 ...<li>Every.operator.is.availab
c9940 6c 65 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 69 6e 74 65 67 le.for.<a.href="#Integers">integ
c9960 65 72 3c 2f 61 3e 20 76 65 63 74 6f 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e er</a>.vectors.</li>.......</ul>
c9980 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 3c 63 6f 64 65 .......<p>.......Note.that.<code
c99a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2e 41 64 64 3c 2f 73 70 61 6e 3e 3c ><span.class="line">.Add</span><
c99c0 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
c99e0 6e 65 22 3e 2e 4d 75 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 72 65 64 ne">.Mul</span></code>.......red
c9a00 75 63 74 69 6f 6e 73 20 6f 6e 20 69 6e 74 65 67 72 61 6c 20 74 79 70 65 73 20 61 72 65 20 77 72 uctions.on.integral.types.are.wr
c9a20 61 70 70 69 6e 67 3b 20 77 68 65 6e 20 61 70 70 6c 69 65 64 20 6f 6e 20 66 6c 6f 61 74 69 6e 67 apping;.when.applied.on.floating
c9a40 20 70 6f 69 6e 74 0a 20 20 20 20 20 20 74 79 70 65 73 20 74 68 65 20 6f 70 65 72 61 74 69 6f 6e .point.......types.the.operation
c9a60 20 61 73 73 6f 63 69 61 74 69 76 69 74 79 20 69 73 20 70 72 65 73 65 72 76 65 64 2c 20 75 6e 6c .associativity.is.preserved,.unl
c9a80 65 73 73 20 74 68 65 20 66 6c 6f 61 74 20 6d 6f 64 65 20 69 73 0a 20 20 20 20 20 20 73 65 74 20 ess.the.float.mode.is.......set.
c9aa0 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4f 70 74 69 to.<code><span.class="line">Opti
c9ac0 6d 69 7a 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a mized</span></code>........</p>.
c9ae0 20 20 20 20 20 20 3c 66 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=
c9b00 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 65 63 "zig-cap"><cite.class="file">vec
c9b20 74 6f 72 5f 72 65 64 75 63 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f tor_reduce.zig</cite></figcaptio
c9b40 6e 3e 3c 70 72 65 3e 3c 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">
c9b60 3c 73 70 61 6e 20 63 6c 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
c9b80 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
c9ba0 22 3e 40 69 6d 70 6f 72 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
c9bc0 6b 2d 73 74 72 22 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>);<
c9be0 2f 73 70 61 6e 3e 0a 3c 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.
c9c00 63 6c 61 73 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
c9c20 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>.
c9c40 3c 73 70 61 6e 20 63 6c 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
c9c60 20 63 6c 61 73 73 3d 22 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
c9c80 77 22 3e 74 65 73 74 3c 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-
c9ca0 73 74 72 22 3e 26 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 72 65 64 75 63 65 26 71 75 6f 74 3b 3c str">&quot;vector.@reduce&quot;<
c9cc0 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
c9ce0 65 22 3e 20 20 20 20 3c 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
c9d00 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f 72 28 t</span>.value:.std.meta.Vector(
c9d20 3c 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
c9d40 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 >,.<span.class="tok-type">i32</s
c9d60 70 61 6e 3e 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 pan>).=.[_]<span.class="tok-type
c9d80 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">i32</span>{.<span.class="tok-n
c9da0 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 umber">1</span>,.-<span.class="t
c9dc0 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
c9de0 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
c9e00 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 lass="tok-number">1</span>.};</s
c9e20 70 61 6e 3e 0a 3c 73 70 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
c9e40 6e 20 63 6c 61 73 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
c9e60 73 75 6c 74 20 3d 20 76 61 6c 75 65 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 sult.=.value.&gt;.<span.class="t
c9e80 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 6c 61 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 ok-builtin">@splat</span>(<span.
c9ea0 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
c9ec0 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
c9ee0 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 >(<span.class="tok-type">i32</sp
c9f00 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c an>,.<span.class="tok-number">0<
c9f20 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
c9f40 6e 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
c9f60 22 3e 2f 2f 20 72 65 73 75 6c 74 20 69 73 20 7b 20 74 72 75 65 2c 20 66 61 6c 73 65 2c 20 74 72 ">//.result.is.{.true,.false,.tr
c9f80 75 65 2c 20 66 61 6c 73 65 20 7d 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ue,.false.};</span></span>.<span
c9fa0 20 63 6c 61 73 73 3d 22 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
c9fc0 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ok-kw">comptime</span>.<span.cla
c9fe0 73 73 3d 22 74 6f 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
ca000 70 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<
ca020 2f 73 70 61 6e 3e 28 72 65 73 75 6c 74 29 20 3d 3d 20 73 74 64 2e 6d 65 74 61 2e 56 65 63 74 6f /span>(result).==.std.meta.Vecto
ca040 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 r(<span.class="tok-number">4</sp
ca060 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
ca080 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
ca0a0 69 6e 65 22 3e 20 20 20 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
ca0c0 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
ca0e0 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
ca100 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
ca120 61 73 73 3d 22 6c 69 6e 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-
ca140 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=
ca160 22 74 6f 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
ca180 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
ca1a0 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=
ca1c0 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>.
ca1e0 3c 73 70 61 6e 20 63 6c 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
ca200 73 73 3d 22 74 6f 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
ca220 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
ca240 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.
ca260 63 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
ca280 65 3e 3c 2f 66 69 67 75 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
ca2a0 6c 61 73 73 3d 22 73 68 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
ca2c0 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"
ca2e0 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
ca300 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
ca320 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 76 65 63 74 6f 72 20 40 72 65 64 75 63 65 e">1/1.test.&quot;vector.@reduce
ca340 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
ca360 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
ca380 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>.......<
ca3a0 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=
ca3c0 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e "#Vectors">Vectors</a></li>.<li>
ca3e0 3c 61 20 68 72 65 66 3d 22 23 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 <a.href="#setFloatMode">@setFloa
ca400 74 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 tMode</a></li>.</ul>............
ca420 20 20 20 20 3c 68 33 20 69 64 3d 22 73 72 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 ....<h3.id="src"><a.href="#toc-s
ca440 72 63 22 3e 40 73 72 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 rc">@src</a>.<a.class="hdr".href
ca460 3d 22 23 73 72 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e ="#src">..</a></h3>........<pre>
ca480 3c 63 6f 64 65 3e 3c 73 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
ca4a0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 72 63 3c 2f 73 70 61 6e 3e 28 29 lass="tok-builtin">@src</span>()
ca4c0 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 53 6f 75 72 63 65 4c 6f 63 61 74 69 6f 6e 3c 2f 73 70 61 .std.builtin.SourceLocation</spa
ca4e0 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>.......
ca500 52 65 74 75 72 6e 73 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e Returns.a.<code><span.class="lin
ca520 65 22 3e 53 6f 75 72 63 65 4c 6f 63 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 e">SourceLocation</span></code>.
ca540 73 74 72 75 63 74 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e struct.representing.the.function
ca560 27 73 20 6e 61 6d 65 20 61 6e 64 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 20 74 68 65 20 73 6f 75 72 's.name.and.location.in.the.sour
ca580 63 65 20 63 6f 64 65 2e 20 54 68 69 73 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 69 6e 20 ce.code..This.must.be.called.in.
ca5a0 61 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 a.function........</p>.......<fi
ca5c0 67 75 72 65 3e 3c 66 69 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"
ca5e0 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 6f 75 72 63 65 5f 6c 6f 63 61 74 ><cite.class="file">source_locat
ca600 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>
ca620 3c 63 6f 64 65 3e 3c 73 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
ca640 6c 61 73 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.=
ca660 20 3c 73 70 61 6e 20 63 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
ca680 72 74 3c 2f 73 70 61 6e 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">
ca6a0 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>.
ca6c0 3c 73 70 61 6e 20 63 6c 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="
ca6e0 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
ca700 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
ca720 6c 61 73 73 3d 22 6c 69 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=
ca740 22 6c 69 6e 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
ca760 3c 2f 73 70 61 6e 3e 20 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
ca780 75 6f 74 3b 40 73 72 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c uot;@src&quot;</span>.{</span>.<
ca7a0 73 70 61 6e 20 63 6c 61 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
ca7c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 64 6f 54 68 65 54 65 73 74 28 s="tok-kw">try</span>.doTheTest(
ca7e0 29 3b 3c 2f 73 70 61 6e 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">}</
ca800 73 70 61 6e 3e 0a 3c 73 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>
ca820 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
ca840 22 74 6f 6b 2d 6b 77 22 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="
ca860 74 6f 6b 2d 66 6e 22 3e 64 6f 54 68 65 54 65 73 74 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 tok-fn">doTheTest</span>().!<spa
ca880 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>.{
ca8a0 3c 2f 73 70 61 6e 3e 0a 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">....<
ca8c0 73 70 61 6e 20 63 6c 61 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>
ca8e0 20 73 72 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 .src.=.<span.class="tok-builtin"
ca900 3e 40 73 72 63 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 >@src</span>();</span>.<span.cla
ca920 73 73 3d 22 6c 69 6e 65 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
ca940 69 6e 65 22 3e 20 20 20 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
ca960 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 72 63 2e 6c 69 6e 65 20 3d 3d 20 3c 73 70 61 y</span>.expect(src.line.==.<spa
ca980 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 3c n.class="tok-number">9</span>);<
ca9a0 2f 73 70 61 6e 3e 0a 3c 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
ca9c0 70 61 6e 20 63 6c 61 73 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
ca9e0 70 65 63 74 28 73 72 63 2e 63 6f 6c 75 6d 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pect(src.column.==.<span.class="
caa00 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 37 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-number">17</span>);</span>.<
caa20 73 70 61 6e 20 63 6c 61 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
caa40 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 s="tok-kw">try</span>.expect(std
caa60 2e 6d 65 6d 2e 65 6e 64 73 57 69 74 68 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 .mem.endsWith(<span.class="tok-t
caa80 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 72 63 2e 66 6e 5f 6e 61 6d 65 2c 20 3c 73 70 ype">u8</span>,.src.fn_name,.<sp
caaa0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 54 68 65 54 65 an.class="tok-str">&quot;doTheTe
caac0 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 st&quot;</span>));</span>.<span.
caae0 63 6c 61 73 73 3d 22 6c 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
cab00 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e k-kw">try</span>.expect(std.mem.
cab20 65 6e 64 73 57 69 74 68 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e endsWith(<span.class="tok-type">
cab40 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 72 63 2e 66 69 6c 65 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 u8</span>,.src.file,.<span.class
cab60 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 6f 75 72 63 65 5f 6c 6f 63 61 74 69 6f 6e ="tok-str">&quot;source_location
cab80 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .zig&quot;</span>));</span>.<spa
caba0 6e 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></
cabc0 70 72 65 3e 3c 2f 66 69 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
cabe0 20 63 6c 61 73 73 3d 22 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
cac00 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
cac20 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 6f 75 72 63 65 5f 6c 6f 63 61 74 69 e">$.<kbd>zig.test.source_locati
cac40 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=
cac60 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 73 72 63 26 71 75 6f 74 3b "line">1/1.test.&quot;@src&quot;
cac80 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"
caca0 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
cacc0 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>..............
cace0 3c 68 33 20 69 64 3d 22 73 71 72 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 71 72 74 <h3.id="sqrt"><a.href="#toc-sqrt
cad00 22 3e 40 73 71 72 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d ">@sqrt</a>.<a.class="hdr".href=
cad20 22 23 73 71 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e "#sqrt">..</a></h3>........<pre>
cad40 3c 63 6f 64 65 3e 3c 73 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
cad60 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 71 72 74 3c 2f 73 70 61 6e 3e 28 lass="tok-builtin">@sqrt</span>(
cad80 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
cada0 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
cadc0 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
cade0 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>.......
cae00 50 65 72 66 6f 72 6d 73 20 74 68 65 20 73 71 75 61 72 65 20 72 6f 6f 74 20 6f 66 20 61 20 66 6c Performs.the.square.root.of.a.fl
cae20 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 oating.point.number..Uses.a.dedi
cae40 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 cated.hardware.instruction......
cae60 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 .when.available........</p>.....
cae80 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 ..<p>.......Supports.<a.href="#F
caea0 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 loats">Floats</a>.and.<a.href="#
caec0 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 Vectors">Vectors</a>.of.floats,.
caee0 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 with.the.caveat.that.......<a.hr
caf00 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a ef="https://github.com/ziglang/z
caf20 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 ig/issues/4026">some.float.opera
caf40 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f tions.are.not.yet.implemented.fo
caf60 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 r.all.float.types</a>........</p
caf80 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 69 6e 22 3e 3c 61 20 68 >..............<h3.id="sin"><a.h
cafa0 72 65 66 3d 22 23 74 6f 63 2d 73 69 6e 22 3e 40 73 69 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 ref="#toc-sin">@sin</a>.<a.class
cafc0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 69 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a ="hdr".href="#sin">..</a></h3>..
cafe0 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
cb000 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 ne"><span.class="tok-builtin">@s
cb020 69 6e 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f in</span>(value:.<span.class="to
cb040 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">anytype</span>).<span.clas
cb060 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 s="tok-builtin">@TypeOf</span>(v
cb080 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 alue)</span></code></pre>.......
cb0a0 3c 70 3e 0a 20 20 20 20 20 20 53 69 6e 65 20 74 72 69 67 6f 6e 6f 6d 65 74 72 69 63 20 66 75 6e <p>.......Sine.trigonometric.fun
cb0c0 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 ction.on.a.floating.point.number
cb0e0 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 ..Uses.a.dedicated.hardware.inst
cb100 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 ruction.......when.available....
cb120 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 ....</p>.......<p>.......Support
cb140 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 s.<a.href="#Floats">Floats</a>.a
cb160 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 nd.<a.href="#Vectors">Vectors</a
cb180 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 >.of.floats,.with.the.caveat.tha
cb1a0 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e t.......<a.href="https://github.
cb1c0 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d com/ziglang/zig/issues/4026">som
cb1e0 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 e.float.operations.are.not.yet.i
cb200 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f mplemented.for.all.float.types</
cb220 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 a>........</p>..............<h3.
cb240 69 64 3d 22 63 6f 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6f 73 22 3e 40 63 6f 73 id="cos"><a.href="#toc-cos">@cos
cb260 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6f 73 22 3e </a>.<a.class="hdr".href="#cos">
cb280 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
cb2a0 70 61 6e 20 63 6c 61 73 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
cb2c0 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 73 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 k-builtin">@cos</span>(value:.<s
cb2e0 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
cb300 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 >).<span.class="tok-builtin">@Ty
cb320 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e peOf</span>(value)</span></code>
cb340 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 73 69 6e 65 20 74 72 </pre>.......<p>.......Cosine.tr
cb360 69 67 6f 6e 6f 6d 65 74 72 69 63 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 igonometric.function.on.a.floati
cb380 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 ng.point.number..Uses.a.dedicate
cb3a0 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 d.hardware.instruction.......whe
cb3c0 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 n.available........</p>.......<p
cb3e0 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 >.......Supports.<a.href="#Float
cb400 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 s">Floats</a>.and.<a.href="#Vect
cb420 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 ors">Vectors</a>.of.floats,.with
cb440 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 .the.caveat.that.......<a.href="
cb460 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 https://github.com/ziglang/zig/i
cb480 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e ssues/4026">some.float.operation
cb4a0 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c s.are.not.yet.implemented.for.al
cb4c0 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 l.float.types</a>........</p>...
cb4e0 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 65 78 70 22 3e 3c 61 20 68 72 65 66 3d ...........<h3.id="exp"><a.href=
cb500 22 23 74 6f 63 2d 65 78 70 22 3e 40 65 78 70 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 "#toc-exp">@exp</a>.<a.class="hd
cb520 72 22 20 68 72 65 66 3d 22 23 65 78 70 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 r".href="#exp">..</a></h3>......
cb540 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">
cb560 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 78 70 3c 2f <span.class="tok-builtin">@exp</
cb580 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 span>(value:.<span.class="tok-kw
cb5a0 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ">anytype</span>).<span.class="t
cb5c0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 ok-builtin">@TypeOf</span>(value
cb5e0 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a )</span></code></pre>.......<p>.
cb600 20 20 20 20 20 20 42 61 73 65 2d 65 20 65 78 70 6f 6e 65 6e 74 69 61 6c 20 66 75 6e 63 74 69 6f ......Base-e.exponential.functio
cb620 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 n.on.a.floating.point.number..Us
cb640 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 es.a.dedicated.hardware.instruct
cb660 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 ion.......when.available........
cb680 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 </p>.......<p>.......Supports.<a
cb6a0 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c .href="#Floats">Floats</a>.and.<
cb6c0 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 a.href="#Vectors">Vectors</a>.of
cb6e0 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 .floats,.with.the.caveat.that...
cb700 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f ....<a.href="https://github.com/
cb720 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c ziglang/zig/issues/4026">some.fl
cb740 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 oat.operations.are.not.yet.imple
cb760 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a mented.for.all.float.types</a>..
cb780 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="
cb7a0 65 78 70 32 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 70 32 22 3e 40 65 78 70 32 3c exp2"><a.href="#toc-exp2">@exp2<
cb7c0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 70 32 22 3e /a>.<a.class="hdr".href="#exp2">
cb7e0 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
cb800 70 61 6e 20 63 6c 61 73 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
cb820 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 78 70 32 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c k-builtin">@exp2</span>(value:.<
cb840 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
cb860 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 n>).<span.class="tok-builtin">@T
cb880 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ypeOf</span>(value)</span></code
cb8a0 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 61 73 65 2d 32 20 65 ></pre>.......<p>.......Base-2.e
cb8c0 78 70 6f 6e 65 6e 74 69 61 6c 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e xponential.function.on.a.floatin
cb8e0 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 g.point.number..Uses.a.dedicated
cb900 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e .hardware.instruction.......when
cb920 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e .available........</p>.......<p>
cb940 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 .......Supports.<a.href="#Floats
cb960 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f ">Floats</a>.and.<a.href="#Vecto
cb980 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 rs">Vectors</a>.of.floats,.with.
cb9a0 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 the.caveat.that.......<a.href="h
cb9c0 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 ttps://github.com/ziglang/zig/is
cb9e0 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 sues/4026">some.float.operations
cba00 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c .are.not.yet.implemented.for.all
cba20 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .float.types</a>........</p>....
cba40 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6c 6f 67 22 3e 3c 61 20 68 72 65 66 3d 22 ..........<h3.id="log"><a.href="
cba60 23 74 6f 63 2d 6c 6f 67 22 3e 40 6c 6f 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 #toc-log">@log</a>.<a.class="hdr
cba80 22 20 68 72 65 66 3d 22 23 6c 6f 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 ".href="#log">..</a></h3>.......
cbaa0 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"><
cbac0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f 67 3c 2f 73 span.class="tok-builtin">@log</s
cbae0 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"
cbb00 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
cbb20 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)
cbb40 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>..
cbb60 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6e 61 74 75 72 61 6c 20 6c 6f 67 61 72 69 74 .....Returns.the.natural.logarit
cbb80 68 6d 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 hm.of.a.floating.point.number..U
cbba0 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
cbbc0 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 tion.......when.available.......
cbbe0 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.<
cbc00 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.
cbc20 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
cbc40 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 f.floats,.with.the.caveat.that..
cbc60 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d .....<a.href="https://github.com
cbc80 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 /ziglang/zig/issues/4026">some.f
cbca0 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c loat.operations.are.not.yet.impl
cbcc0 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e emented.for.all.float.types</a>.
cbce0 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d .......</p>..............<h3.id=
cbd00 22 6c 6f 67 32 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6c 6f 67 32 22 3e 40 6c 6f 67 32 "log2"><a.href="#toc-log2">@log2
cbd20 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6c 6f 67 32 22 </a>.<a.class="hdr".href="#log2"
cbd40 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><
cbd60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
cbd80 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f 67 32 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 ok-builtin">@log2</span>(value:.
cbda0 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
cbdc0 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 an>).<span.class="tok-builtin">@
cbde0 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 TypeOf</span>(value)</span></cod
cbe00 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 e></pre>.......<p>.......Returns
cbe20 20 74 68 65 20 6c 6f 67 61 72 69 74 68 6d 20 74 6f 20 74 68 65 20 62 61 73 65 20 32 20 6f 66 20 .the.logarithm.to.the.base.2.of.
cbe40 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.
cbe60 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..
cbe80 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>.
cbea0 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
cbec0 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
cbee0 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
cbf00 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.......<
cbf20 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
cbf40 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
cbf60 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
cbf80 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>.......
cbfa0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 6c 6f 67 31 30 .</p>..............<h3.id="log10
cbfc0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6c 6f 67 31 30 22 3e 40 6c 6f 67 31 30 3c 2f 61 "><a.href="#toc-log10">@log10</a
cbfe0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6c 6f 67 31 30 22 3e c2 >.<a.class="hdr".href="#log10">.
cc000 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
cc020 61 6e 20 63 6c 61 73 73 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
cc040 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f 67 31 30 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c -builtin">@log10</span>(value:.<
cc060 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
cc080 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 n>).<span.class="tok-builtin">@T
cc0a0 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ypeOf</span>(value)</span></code
cc0c0 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 ></pre>.......<p>.......Returns.
cc0e0 74 68 65 20 6c 6f 67 61 72 69 74 68 6d 20 74 6f 20 74 68 65 20 62 61 73 65 20 31 30 20 6f 66 20 the.logarithm.to.the.base.10.of.
cc100 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.
cc120 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..
cc140 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>.
cc160 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
cc180 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
cc1a0 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
cc1c0 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.......<
cc1e0 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
cc200 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
cc220 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
cc240 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>.......
cc260 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 66 61 62 73 22 .</p>..............<h3.id="fabs"
cc280 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 61 62 73 22 3e 40 66 61 62 73 3c 2f 61 3e 20 3c ><a.href="#toc-fabs">@fabs</a>.<
cc2a0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 61 62 73 22 3e c2 a7 3c 2f 61 a.class="hdr".href="#fabs">..</a
cc2c0 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
cc2e0 6c 61 73 73 3d 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
cc300 6c 74 69 6e 22 3e 40 66 61 62 73 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 ltin">@fabs</span>(value:.<span.
cc320 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>).<
cc340 73 70 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
cc360 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
cc380 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 61 e>.......<p>.......Returns.the.a
cc3a0 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e bsolute.value.of.a.floating.poin
cc3c0 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
cc3e0 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
cc400 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>......
cc420 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
cc440 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
cc460 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
cc480 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:/
cc4a0 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
cc4c0 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
cc4e0 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
cc500 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 .types</a>........</p>..........
cc520 20 20 20 20 3c 68 33 20 69 64 3d 22 66 6c 6f 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ....<h3.id="floor"><a.href="#toc
cc540 2d 66 6c 6f 6f 72 22 3e 40 66 6c 6f 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 -floor">@floor</a>.<a.class="hdr
cc560 22 20 68 72 65 66 3d 22 23 66 6c 6f 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 ".href="#floor">..</a></h3>.....
cc580 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"
cc5a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 6c 6f 6f ><span.class="tok-builtin">@floo
cc5c0 72 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b r</span>(value:.<span.class="tok
cc5e0 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
cc600 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 ="tok-builtin">@TypeOf</span>(va
cc620 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c lue)</span></code></pre>.......<
cc640 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6c 61 72 67 65 73 74 20 69 6e 74 p>.......Returns.the.largest.int
cc660 65 67 72 61 6c 20 76 61 6c 75 65 20 6e 6f 74 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 74 68 65 egral.value.not.greater.than.the
cc680 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 .given.floating.point.number....
cc6a0 20 20 20 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e ....Uses.a.dedicated.hardware.in
cc6c0 73 74 72 75 63 74 69 6f 6e 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 struction.when.available........
cc6e0 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 </p>.......<p>.......Supports.<a
cc700 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c .href="#Floats">Floats</a>.and.<
cc720 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 a.href="#Vectors">Vectors</a>.of
cc740 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 .floats,.with.the.caveat.that...
cc760 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f ....<a.href="https://github.com/
cc780 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c ziglang/zig/issues/4026">some.fl
cc7a0 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 oat.operations.are.not.yet.imple
cc7c0 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a mented.for.all.float.types</a>..
cc7e0 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="
cc800 63 65 69 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 65 69 6c 22 3e 40 63 65 69 6c 3c ceil"><a.href="#toc-ceil">@ceil<
cc820 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 65 69 6c 22 3e /a>.<a.class="hdr".href="#ceil">
cc840 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
cc860 70 61 6e 20 63 6c 61 73 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
cc880 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 65 69 6c 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c k-builtin">@ceil</span>(value:.<
cc8a0 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
cc8c0 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 n>).<span.class="tok-builtin">@T
cc8e0 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ypeOf</span>(value)</span></code
cc900 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 ></pre>.......<p>.......Returns.
cc920 74 68 65 20 73 6d 61 6c 6c 65 73 74 20 69 6e 74 65 67 72 61 6c 20 76 61 6c 75 65 20 6e 6f 74 20 the.smallest.integral.value.not.
cc940 6c 65 73 73 20 74 68 61 6e 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 less.than.the.given.floating.poi
cc960 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
cc980 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
cc9a0 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>.....
cc9c0 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
cc9e0 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
cca00 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
cca20 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:
cca40 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/
cca60 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.
cca80 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
ccaa0 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>.........
ccac0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 74 72 75 6e 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f .....<h3.id="trunc"><a.href="#to
ccae0 63 2d 74 72 75 6e 63 22 3e 40 74 72 75 6e 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 c-trunc">@trunc</a>.<a.class="hd
ccb00 72 22 20 68 72 65 66 3d 22 23 74 72 75 6e 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 r".href="#trunc">..</a></h3>....
ccb20 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
ccb40 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 "><span.class="tok-builtin">@tru
ccb60 6e 63 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f nc</span>(value:.<span.class="to
ccb80 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 k-kw">anytype</span>).<span.clas
ccba0 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 s="tok-builtin">@TypeOf</span>(v
ccbc0 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 alue)</span></code></pre>.......
ccbe0 3c 70 3e 0a 20 20 20 20 20 20 52 6f 75 6e 64 73 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 <p>.......Rounds.the.given.float
ccc00 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 ing.point.number.to.an.integer,.
ccc20 74 6f 77 61 72 64 73 20 7a 65 72 6f 2e 0a 20 20 20 20 20 20 55 73 65 73 20 61 20 64 65 64 69 63 towards.zero........Uses.a.dedic
ccc40 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 65 6e 20 61 ated.hardware.instruction.when.a
ccc60 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>..
ccc80 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">
ccca0 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
cccc0 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
ccce0 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
ccd00 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
ccd20 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
ccd40 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
ccd60 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>......
ccd80 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 72 6f 75 6e 64 22 3e 3c 61 20 68 72 65 66 3d 22 ........<h3.id="round"><a.href="
ccda0 23 74 6f 63 2d 72 6f 75 6e 64 22 3e 40 72 6f 75 6e 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d #toc-round">@round</a>.<a.class=
ccdc0 22 68 64 72 22 20 68 72 65 66 3d 22 23 72 6f 75 6e 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a "hdr".href="#round">..</a></h3>.
ccde0 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
cce00 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">@
cce20 72 6f 75 6e 64 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d round</span>(value:.<span.class=
cce40 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 "tok-kw">anytype</span>).<span.c
cce60 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
cce80 3e 28 76 61 6c 75 65 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 >(value)</span></code></pre>....
ccea0 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 6f 75 6e 64 73 20 74 68 65 20 67 69 76 65 6e 20 66 6c ...<p>.......Rounds.the.given.fl
ccec0 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 74 6f 20 61 6e 20 69 6e 74 65 67 65 oating.point.number.to.an.intege
ccee0 72 2c 20 61 77 61 79 20 66 72 6f 6d 20 7a 65 72 6f 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 r,.away.from.zero..Uses.a.dedica
ccf00 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 ted.hardware.instruction.......w
ccf20 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 hen.available........</p>.......
ccf40 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f <p>.......Supports.<a.href="#Flo
ccf60 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 ats">Floats</a>.and.<a.href="#Ve
ccf80 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 ctors">Vectors</a>.of.floats,.wi
ccfa0 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 th.the.caveat.that.......<a.href
ccfc0 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
ccfe0 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 /issues/4026">some.float.operati
cd000 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 ons.are.not.yet.implemented.for.
cd020 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a all.float.types</a>........</p>.
cd040 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 73 75 62 57 69 74 68 4f 76 65 ..............<h3.id="subWithOve
cd060 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 75 62 57 69 74 68 4f 76 65 72 rflow"><a.href="#toc-subWithOver
cd080 66 6c 6f 77 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c flow">@subWithOverflow</a>.<a.cl
cd0a0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 ass="hdr".href="#subWithOverflow
cd0c0 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>
cd0e0 3c 73 70 61 6e 20 63 6c 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="
cd100 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 tok-builtin">@subWithOverflow</s
cd120 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 pan>(<span.class="tok-kw">compti
cd140 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 me</span>.T:.<span.class="tok-ty
cd160 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 2c 20 72 65 73 pe">type</span>,.a:.T,.b:.T,.res
cd180 75 6c 74 3a 20 2a 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e ult:.*T).<span.class="tok-type">
cd1a0 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>.
cd1c0 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 3e 3c ......<p>.......Performs.<code><
cd1e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 2e 2a 20 3d 20 61 20 2d span.class="line">result.*.=.a.-
cd200 20 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 6f 76 65 72 66 6c 6f 77 20 6f 72 .b</span></code>..If.overflow.or
cd220 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 20 20 20 20 20 20 73 74 6f .underflow.occurs,...........sto
cd240 72 65 73 20 74 68 65 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 20 69 6e 20 3c 63 6f 64 65 res.the.overflowed.bits.in.<code
cd260 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 75 6c 74 3c 2f 73 70 61 6e ><span.class="line">result</span
cd280 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ></code>.and.returns.<code><span
cd2a0 20 63 6c 61 73 73 3d 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
cd2c0 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a ull">true</span></span></code>..
cd2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 6f 76 65 72 66 6c 6f 77 ..................If.no.overflow
cd300 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 20 72 65 74 75 72 6e 73 20 3c 63 .or.underflow.occurs,.returns.<c
cd320 6f 64 65 3e 3c 73 70 61 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
cd340 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e ss="tok-null">false</span></span
cd360 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 ></code>........</p>............
cd380 20 20 20 3c 68 33 20 69 64 3d 22 74 61 67 4e 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ...<h3.id="tagName"><a.href="#to
cd3a0 63 2d 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 c-tagName">@tagName</a>.<a.class
cd3c0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ="hdr".href="#tagName">..</a></h
cd3e0 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
cd400 3d 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
cd420 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 ">@tagName</span>(value:.<span.c
cd440 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 5b 3a lass="tok-kw">anytype</span>).[:
cd460 3c 73 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
cd480 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 >]<span.class="tok-kw">const</sp
cd4a0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 an>.<span.class="tok-type">u8</s
cd4c0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c pan></span></code></pre>.......<
cd4e0 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 65 6e 75 6d 20 76 61 6c 75 65 20 p>.......Converts.an.enum.value.
cd500 6f 72 20 75 6e 69 6f 6e 20 76 61 6c 75 65 20 74 6f 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 or.union.value.to.a.string.liter
cd520 61 6c 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 6e 61 6d 65 2e 3c 2f 70 3e 3c 70 3e al.representing.the.name.</p><p>
cd540 49 66 20 74 68 65 20 65 6e 75 6d 20 69 73 20 6e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 61 6e If.the.enum.is.non-exhaustive.an
cd560 64 20 74 68 65 20 74 61 67 20 76 61 6c 75 65 20 64 6f 65 73 20 6e 6f 74 20 6d 61 70 20 74 6f 20 d.the.tag.value.does.not.map.to.
cd580 61 20 6e 61 6d 65 2c 20 69 74 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 a.name,.it.invokes.safety-checke
cd5a0 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e d.<a.href="#Undefined-Behavior">
cd5c0 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f Undefined.Behavior</a>........</
cd5e0 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 68 69 73 22 3e 3c p>...............<h3.id="This"><
cd600 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 68 69 73 22 3e 40 54 68 69 73 3c 2f 61 3e 20 3c 61 20 a.href="#toc-This">@This</a>.<a.
cd620 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 68 69 73 22 3e c2 a7 3c 2f 61 3e 3c class="hdr".href="#This">..</a><
cd640 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
cd660 73 73 3d 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
cd680 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 in">@This</span>().<span.class="
cd6a0 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-type">type</span></span></co
cd6c0 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e de></pre>.......<p>.......Return
cd6e0 73 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 74 20 73 74 72 75 63 74 2c 20 65 6e 75 6d 2c 20 6f 72 s.the.innermost.struct,.enum,.or
cd700 20 75 6e 69 6f 6e 20 74 68 61 74 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 69 .union.that.this.function.call.i
cd720 73 20 69 6e 73 69 64 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 66 s.inside........This.can.be.usef
cd740 75 6c 20 66 6f 72 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 74 68 61 74 20 ul.for.an.anonymous.struct.that.
cd760 6e 65 65 64 73 20 74 6f 20 72 65 66 65 72 20 74 6f 20 69 74 73 65 6c 66 3a 0a 20 20 20 20 20 20 needs.to.refer.to.itself:.......
cd780 3c 2f 70 3e 0a 20 20 20 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
cd7a0 6c 61 73 73 3d 22 7a 69 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
cd7c0 22 3e 74 68 69 73 5f 69 6e 6e 65 72 6d 6f 73 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 ">this_innermost.zig</cite></fig
cd7e0 63 61 70 74 69 6f 6e 3e 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="
cd800 6c 69 6e 65 22 3e 3c 73 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
cd820 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
cd840 75 69 6c 74 69 6e 22 3e 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
cd860 73 73 3d 22 74 6f 6b 2d 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
cd880 61 6e 3e 29 3b 3c 2f 73 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">
cd8a0 3c 73 70 61 6e 20 63 6c 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
cd8c0 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;</
cd8e0 73 70 61 6e 3e 0a 3c 73 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>
cd900 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
cd920 22 74 6f 6b 2d 6b 77 22 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
cd940 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 54 68 69 73 28 29 26 71 75 6f 74 3b 3c 2f ="tok-str">&quot;@This()&quot;</
cd960 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
cd980 22 3e 20 20 20 20 3c 73 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</
cd9a0 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f span>.items.=.[_]<span.class="to
cd9c0 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">i32</span>{.<span.class=
cd9e0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 "tok-number">1</span>,.<span.cla
cda00 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.
cda20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 class="tok-number">3</span>,.<sp
cda40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d an.class="tok-number">4</span>.}
cda60 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
cda80 3c 73 70 61 6e 20 63 6c 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
cdaa0 3e 20 6c 69 73 74 20 3d 20 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 >.list.=.List(<span.class="tok-t
cdac0 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 7b 20 2e 69 74 65 6d 73 20 3d 20 69 74 65 6d 73 ype">i32</span>){..items.=.items
cdae0 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
cdb00 6e 3e 2e 2e 5d 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e n>..].};</span>.<span.class="lin
cdb20 65 22 3e 20 20 20 20 3c 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<
cdb40 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 6c 69 73 74 2e 6c 65 6e 67 74 68 28 29 20 3d 3d 20 3c /span>.expect(list.length().==.<
cdb60 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>
cdb80 29 3b 3c 2f 73 70 61 6e 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">}</
cdba0 73 70 61 6e 3e 0a 3c 73 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>
cdbc0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
cdbe0 22 74 6f 6b 2d 6b 77 22 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="
cdc00 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d tok-fn">List</span>(<span.class=
cdc20 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 "tok-kw">comptime</span>.T:.<spa
cdc40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 n.class="tok-type">type</span>).
cdc60 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
cdc80 6e 3e 20 7b 3c 2f 73 70 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">.
cdca0 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</
cdcc0 73 70 61 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
cdce0 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
cdd00 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
cdd20 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 65 6c 66 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 ">const</span>.Self.=.<span.clas
cdd40 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 3b 3c s="tok-builtin">@This</span>();<
cdd60 2f 73 70 61 6e 3e 0a 3c 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
cdd80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 69 74 65 >.<span.class="line">........ite
cdda0 6d 73 3a 20 5b 5d 54 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ms:.[]T,</span>.<span.class="lin
cddc0 65 22 3e 3c 2f 73 70 61 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">..
cdde0 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 ......<span.class="tok-kw">fn</s
cde00 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6c 65 6e 67 74 68 pan>.<span.class="tok-fn">length
cde20 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 53 65 6c 66 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d </span>(self:.Self).<span.class=
cde40 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>
cde60 0a 3c 73 70 61 6e 20 63 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">............
cde80 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
cdea0 6e 3e 20 73 65 6c 66 2e 69 74 65 6d 73 2e 6c 65 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 n>.self.items.len;</span>.<span.
cdec0 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
cdee0 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>.<
cdf00 73 70 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
cdf20 3e 3c 2f 70 72 65 3e 3c 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
cdf40 69 6f 6e 20 63 6c 61 73 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
cdf60 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="
cdf80 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 68 69 73 5f 69 6e 6e 65 72 line">$.<kbd>zig.test.this_inner
cdfa0 6d 6f 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 most.zig</kbd></span>.<span.clas
cdfc0 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 54 68 69 73 28 29 26 s="line">1/1.test.&quot;@This()&
cdfe0 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 quot;....OK</span>.<span.class="
ce000 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>
ce020 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
ce040 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 >.......When.<code><span.class="
ce060 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">
ce080 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 @This</span>()</span></code>.is.
ce0a0 75 73 65 64 20 61 74 20 66 69 6c 65 20 73 63 6f 70 65 2c 20 69 74 20 72 65 74 75 72 6e 73 20 61 used.at.file.scope,.it.returns.a
ce0c0 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 73 74 72 75 63 74 20 74 .reference.to.the.......struct.t
ce0e0 68 61 74 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 hat.corresponds.to.the.current.f
ce100 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 ile........</p>...............<h
ce120 33 20 69 64 3d 22 74 72 75 6e 63 61 74 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 72 3.id="truncate"><a.href="#toc-tr
ce140 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 uncate">@truncate</a>.<a.class="
ce160 68 64 72 22 20 68 72 65 66 3d 22 23 74 72 75 6e 63 61 74 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 hdr".href="#truncate">..</a></h3
ce180 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=
ce1a0 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"
ce1c0 3e 40 74 72 75 6e 63 61 74 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >@truncate</span>(<span.class="t
ce1e0 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.
ce200 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 69 6e class="tok-type">type</span>,.in
ce220 74 65 67 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 teger:.<span.class="tok-kw">anyt
ce240 79 70 65 3c 2f 73 70 61 6e 3e 29 20 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 ype</span>).T</span></code></pre
ce260 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.
ce280 74 72 75 6e 63 61 74 65 73 20 62 69 74 73 20 66 72 6f 6d 20 61 6e 20 69 6e 74 65 67 65 72 20 74 truncates.bits.from.an.integer.t
ce2a0 79 70 65 2c 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 73 6d 61 6c 6c 65 72 0a 20 20 20 20 ype,.resulting.in.a.smaller.....
ce2c0 20 20 6f 72 20 73 61 6d 65 2d 73 69 7a 65 64 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 0a 20 20 ..or.same-sized.integer.type....
ce2e0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 ....</p>.......<p>.......This.fu
ce300 6e 63 74 69 6f 6e 20 61 6c 77 61 79 73 20 74 72 75 6e 63 61 74 65 73 20 74 68 65 20 73 69 67 6e nction.always.truncates.the.sign
ce320 69 66 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 2c 20 72 65 67 ificant.bits.of.the.integer,.reg
ce340 61 72 64 6c 65 73 73 0a 20 20 20 20 20 20 6f 66 20 65 6e 64 69 61 6e 6e 65 73 73 20 6f 6e 20 74 ardless.......of.endianness.on.t
ce360 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 he.target.platform........</p>..
ce380 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 61 6c 6c 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 .....<p>.......Calling.<code><sp
ce3a0 61 6e 20 63 6c 61 73 73 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
ce3c0 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e -builtin">@truncate</span></span
ce3e0 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 20 61 20 6e 75 6d 62 65 72 20 6f 75 74 20 6f 66 20 72 61 6e 67 ></code>.on.a.number.out.of.rang
ce400 65 20 6f 66 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 69 73 20 77 65 6c e.of.the.destination.type.is.wel
ce420 6c 20 64 65 66 69 6e 65 64 20 61 6e 64 20 77 6f 72 6b 69 6e 67 20 63 6f 64 65 3a 0a 20 20 20 20 l.defined.and.working.code:.....
ce440 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
ce460 20 63 6c 61 73 73 3d 22 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
ce480 6c 65 22 3e 74 72 75 6e 63 61 74 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 le">truncate.zig</cite></figcapt
ce4a0 69 6f 6e 3e 3c 70 72 65 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
ce4c0 22 3e 3c 73 70 61 6e 20 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
ce4e0 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
ce500 69 6e 22 3e 40 69 6d 70 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="
ce520 74 6f 6b 2d 73 74 72 22 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>)
ce540 3b 3c 2f 73 70 61 6e 3e 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
ce560 6e 20 63 6c 61 73 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
ce580 70 65 63 74 20 3d 20 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3b 3c 2f 73 70 61 6e pect.=.std.testing.expect;</span
ce5a0 3e 0a 3c 73 70 61 6e 20 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
ce5c0 61 6e 20 63 6c 61 73 73 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
ce5e0 2d 6b 77 22 3e 74 65 73 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
ce600 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 74 72 75 6e 63 61 74 69 6f 6e 26 k-str">&quot;integer.truncation&
ce620 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
ce640 73 3d 22 6c 69 6e 65 22 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
ce660 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ">var</span>.a:.<span.class="tok
ce680 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -type">u16</span>.=.<span.class=
ce6a0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 61 62 63 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 "tok-number">0xabcd</span>;</spa
ce6c0 6e 3e 0a 3c 73 70 61 6e 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.
ce6e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 class="tok-kw">var</span>.b:.<sp
ce700 61 6e 20 63 6c 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>.=.
ce720 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 <span.class="tok-builtin">@trunc
ce740 61 74 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ate</span>(<span.class="tok-type
ce760 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ">u8</span>,.a);</span>.<span.cl
ce780 61 73 73 3d 22 6c 69 6e 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-
ce7a0 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 62 20 3d 3d 20 3c 73 70 61 6e kw">try</span>.expect(b.==.<span
ce7c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 63 64 3c 2f 73 70 61 6e 3e 29 .class="tok-number">0xcd</span>)
ce7e0 3b 3c 2f 73 70 61 6e 3e 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
ce800 70 61 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
ce820 65 3e 3c 66 69 67 63 61 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">
ce840 53 68 65 6c 6c 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
ce860 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.
ce880 74 72 75 6e 63 61 74 65 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 truncate.zig</kbd></span>.<span.
ce8a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 69 6e 74 65 class="line">1/1.test.&quot;inte
ce8c0 67 65 72 20 74 72 75 6e 63 61 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e ger.truncation&quot;....OK</span
ce8e0 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
ce900 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
ce920 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 65 20 3c 61 20 68 72 igure>.......<p>.......Use.<a.hr
ce940 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 20 74 6f 20 63 6f ef="#intCast">@intCast</a>.to.co
ce960 6e 76 65 72 74 20 6e 75 6d 62 65 72 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 66 69 74 20 nvert.numbers.guaranteed.to.fit.
ce980 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e the.destination.type........</p>
ce9a0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 79 70 65 22 3e 3c 61 20 ...............<h3.id="Type"><a.
ce9c0 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 22 3e 40 54 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c href="#toc-Type">@Type</a>.<a.cl
ce9e0 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ass="hdr".href="#Type">..</a></h
cea00 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
cea20 3d 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
cea40 22 3e 40 54 79 70 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">@Type</span>(<span.class="tok-
cea60 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 69 6e 66 6f 3a 20 73 74 64 2e 62 75 kw">comptime</span>.info:.std.bu
cea80 69 6c 74 69 6e 2e 54 79 70 65 49 6e 66 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b iltin.TypeInfo).<span.class="tok
ceaa0 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>
ceac0 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
ceae0 74 69 6f 6e 20 69 73 20 74 68 65 20 69 6e 76 65 72 73 65 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 tion.is.the.inverse.of.<a.href="
ceb00 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 2e 20 49 74 20 72 65 69 #typeInfo">@typeInfo</a>..It.rei
ceb20 66 69 65 73 20 74 79 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 20 20 20 20 20 20 69 6e 74 6f fies.type.information.......into
ceb40 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 .a.<code><span.class="line"><spa
ceb60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-type">type</span></
ceb80 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>.......<
ceba0 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 74 68 65 p>.......It.is.available.for.the
cebc0 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 .following.types:.......</p>....
cebe0 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 ...<ul>...........<li><code><spa
cec00 6e 20 63 6c 61 73 73 3d 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-
cec20 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><
cec40 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
cec60 6c 61 73 73 3d 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
cec80 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>
ceca0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 </li>...........<li><code><span.
cecc0 63 6c 61 73 73 3d 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
cece0 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c pe">void</span></span></code></l
ced00 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
ced20 73 73 3d 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"
ced40 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a >bool</span></span></code></li>.
ced60 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 ..........<li><a.href="#Integers
ced80 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 2d 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 62 69 74 ">Integers</a>.-.The.maximum.bit
ceda0 20 63 6f 75 6e 74 20 66 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 3c 63 .count.for.an.integer.type.is.<c
cedc0 6f 64 65 3e 3c 73 70 61 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
cede0 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 35 35 33 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ss="tok-number">65535</span></sp
cee00 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c an></code>.</li>...........<li><
cee20 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e a.href="#Floats">Floats</a></li>
cee40 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 ...........<li><a.href="#Pointer
cee60 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c s">Pointers</a></li>...........<
cee80 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
ceea0 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<
ceec0 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 /span></span></code></li>.......
ceee0 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"
cef00 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
cef20 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e _float</span></span></code></li>
cef40 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
cef60 3d 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
cef80 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">@TypeOf</span>(<span.class="to
cefa0 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e k-null">undefined</span>)</span>
cefc0 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
cefe0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
cf000 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 "tok-builtin">@TypeOf</span>(<sp
cf020 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 an.class="tok-null">null</span>)
cf040 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
cf060 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f i><a.href="#Arrays">Arrays</a></
cf080 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 li>...........<li><a.href="#Opti
cf0a0 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 onals">Optionals</a></li>.......
cf0c0 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 ....<li><a.href="#Error-Set-Type
cf0e0 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 ">Error.Set.Type</a></li>.......
cf100 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 ....<li><a.href="#Error-Union-Ty
cf120 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 pe">Error.Union.Type</a></li>...
cf140 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 ........<li><a.href="#Vectors">V
cf160 65 63 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 ectors</a></li>...........<li><a
cf180 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a .href="#opaque">opaque</a></li>.
cf1a0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 72 61 6d 65 22 3e 40 ..........<li><a.href="#Frame">@
cf1c0 46 72 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f Frame</a></li>...........<li><co
cf1e0 64 65 3e 3c 73 70 61 6e 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
cf200 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e s="tok-kw">anyframe</span></span
cf220 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 ></code></li>...........<li><a.h
cf240 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>...
cf260 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d ........<li><a.href="#enum">enum
cf280 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d </a></li>...........<li><a.href=
cf2a0 22 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f "#Enum-Literals">Enum.Literals</
cf2c0 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="#
cf2e0 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c union">union</a></li>.......</ul
cf300 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 74 68 65 73 65 20 74 79 70 65 >.......<p>.......For.these.type
cf320 73 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 s,.<code><span.class="line"><spa
cf340 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 3c 2f 73 70 61 n.class="tok-builtin">@Type</spa
cf360 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c n></span></code>.is.not.availabl
cf380 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 e:.......</p>.......<ul>........
cf3a0 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 ...<li><a.href="#Functions">Func
cf3c0 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 42 6f 75 tions</a></li>...........<li>Bou
cf3e0 6e 64 46 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 ndFn</li>.......</ul>...........
cf400 20 20 20 3c 68 33 20 69 64 3d 22 74 79 70 65 49 6e 66 6f 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 ...<h3.id="typeInfo"><a.href="#t
cf420 6f 63 2d 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 20 3c 61 20 63 6c oc-typeInfo">@typeInfo</a>.<a.cl
cf440 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e c2 a7 3c 2f 61 ass="hdr".href="#typeInfo">..</a
cf460 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
cf480 6c 61 73 73 3d 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
cf4a0 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ltin">@typeInfo</span>(<span.cla
cf4c0 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:.<
cf4e0 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
cf500 3e 29 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 54 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 3c 2f >).std.builtin.TypeInfo</span></
cf520 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 6f 76 code></pre>.......<p>.......Prov
cf540 69 64 65 73 20 74 79 70 65 20 72 65 66 6c 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e ides.type.reflection........</p>
cf560 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 79 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f .......<p>.......Type.informatio
cf580 6e 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 73 3c 2f n.of.<a.href="#struct">structs</
cf5a0 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 73 3c 2f 61 3e 2c a>,.<a.href="#union">unions</a>,
cf5c0 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 73 3c 2f 61 3e 2c 20 61 6e 64 0a .<a.href="#enum">enums</a>,.and.
cf5e0 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e ......<a.href="#Error-Set-Type">
cf600 65 72 72 6f 72 20 73 65 74 73 3c 2f 61 3e 20 68 61 73 20 66 69 65 6c 64 73 20 77 68 69 63 68 20 error.sets</a>.has.fields.which.
cf620 61 72 65 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 69 6e 20 74 68 65 20 are.are.guaranteed.to.be.in.the.
cf640 73 61 6d 65 0a 20 20 20 20 20 20 6f 72 64 65 72 20 61 73 20 61 70 70 65 61 72 61 6e 63 65 20 69 same.......order.as.appearance.i
cf660 6e 20 74 68 65 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 n.the.source.file........</p>...
cf680 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 79 70 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f ....<p>.......Type.information.o
cf6a0 66 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 73 3c 2f 61 3e 2c f.<a.href="#struct">structs</a>,
cf6c0 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 73 3c 2f 61 3e 2c 20 3c 61 .<a.href="#union">unions</a>,.<a
cf6e0 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 73 3c 2f 61 3e 2c 20 61 6e 64 0a 20 20 20 .href="#enum">enums</a>,.and....
cf700 20 20 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 73 3c 2f 61 3e ...<a.href="#opaque">opaques</a>
cf720 20 68 61 73 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 77 68 69 63 68 20 61 72 65 20 61 6c 73 .has.declarations,.which.are.als
cf740 6f 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 o.guaranteed.to.be.in.the.same..
cf760 20 20 20 20 20 6f 72 64 65 72 20 61 73 20 61 70 70 65 61 72 61 6e 63 65 20 69 6e 20 74 68 65 20 .....order.as.appearance.in.the.
cf780 73 6f 75 72 63 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a source.file........</p>.........
cf7a0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 74 79 70 65 4e 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d ......<h3.id="typeName"><a.href=
cf7c0 22 23 74 6f 63 2d 74 79 70 65 4e 61 6d 65 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 61 3e 20 3c 61 "#toc-typeName">@typeName</a>.<a
cf7e0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 79 70 65 4e 61 6d 65 22 3e c2 a7 .class="hdr".href="#typeName">..
cf800 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
cf820 6e 20 63 6c 61 73 73 3d 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-
cf840 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 54 3a 20 3c 73 70 builtin">@typeName</span>(T:.<sp
cf860 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 an.class="tok-type">type</span>)
cf880 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
cf8a0 61 6e 3e 20 5b 4e 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e an>.[N:<span.class="tok-number">
cf8c0 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 0</span>]<span.class="tok-type">
cf8e0 75 38 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 u8</span></span></code></pre>...
cf900 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
cf920 72 6e 73 20 74 68 65 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 rns.the.string.representation.of
cf940 20 61 20 74 79 70 65 2c 20 61 73 0a 20 20 20 20 20 20 61 6e 20 61 72 72 61 79 2e 20 49 74 20 69 .a.type,.as.......an.array..It.i
cf960 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c s.equivalent.to.a.string.literal
cf980 20 6f 66 20 74 68 65 20 74 79 70 65 20 6e 61 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 .of.the.type.name........</p>...
cf9a0 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 79 70 65 4f 66 22 3e 3c 61 20 .............<h3.id="TypeOf"><a.
cf9c0 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 4f 66 22 3e 40 54 79 70 65 4f 66 3c 2f 61 3e 20 3c href="#toc-TypeOf">@TypeOf</a>.<
cf9e0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 4f 66 22 3e c2 a7 3c a.class="hdr".href="#TypeOf">..<
cfa00 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
cfa20 20 63 6c 61 73 73 3d 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
cfa40 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 2e 2e 2e 29 20 3c 73 70 61 uiltin">@TypeOf</span>(...).<spa
cfa60 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-type">type</span></
cfa80 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>....
cfaa0 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
cfac0 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
cfae0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 73 70 65 63 69 61 6c 20 pan></span></code>.is.a.special.
cfb00 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 6e 79 20 builtin.function.that.takes.any.
cfb20 28 6e 6f 6e 7a 65 72 6f 29 20 6e 75 6d 62 65 72 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 73 0a (nonzero).number.of.expressions.
cfb40 20 20 20 20 20 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 ......as.parameters.and.returns.
cfb60 74 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 2c 20 75 73 69 6e 67 20 3c 61 the.type.of.the.result,.using.<a
cfb80 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
cfba0 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f er.Type.Resolution</a>........</
cfbc0 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 65 78 70 72 65 73 73 69 6f p>.......<p>.......The.expressio
cfbe0 6e 73 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 2c 20 68 6f 77 65 76 65 72 20 74 68 65 79 20 61 ns.are.evaluated,.however.they.a
cfc00 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 6e 6f 20 3c 65 6d 3e 72 75 6e re.guaranteed.to.have.no.<em>run
cfc20 74 69 6d 65 3c 2f 65 6d 3e 20 73 69 64 65 2d 65 66 66 65 63 74 73 3a 0a 20 20 20 20 20 20 3c 2f time</em>.side-effects:.......</
cfc40 70 3e 0a 20 20 20 20 20 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
cfc60 73 73 3d 22 7a 69 67 2d 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">
cfc80 6e 6f 5f 72 75 6e 74 69 6d 65 5f 73 69 64 65 5f 65 66 66 65 63 74 73 2e 7a 69 67 3c 2f 63 69 74 no_runtime_side_effects.zig</cit
cfca0 65 3e 3c 2f 66 69 67 63 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.
cfcc0 63 6c 61 73 73 3d 22 6c 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
cfce0 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
cfd00 3d 22 74 6f 6b 2d 62 75 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
cfd20 70 61 6e 20 63 6c 61 73 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
cfd40 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=
cfd60 22 6c 69 6e 65 22 3e 3c 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
cfd80 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
cfda0 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">
cfdc0 3c 2f 73 70 61 6e 3e 0a 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
cfde0 20 63 6c 61 73 73 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
cfe00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 20 72 75 6e 74 69 n.class="tok-str">&quot;no.runti
cfe20 6d 65 20 73 69 64 65 20 65 66 66 65 63 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f me.side.effects&quot;</span>.{</
cfe40 73 70 61 6e 3e 0a 3c 73 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
cfe60 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 61 74 an.class="tok-kw">var</span>.dat
cfe80 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 a:.<span.class="tok-type">i32</s
cfea0 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">
cfec0 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
cfee0 6e 65 22 3e 20 20 20 20 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
cff00 73 74 3c 2f 73 70 61 6e 3e 20 54 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 st</span>.T.=.<span.class="tok-b
cff20 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 28 3c 73 70 61 6e uiltin">@TypeOf</span>(foo(<span
cff40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 .class="tok-type">i32</span>,.&a
cff60 6d 70 3b 64 61 74 61 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c mp;data));</span>.<span.class="l
cff80 69 6e 65 22 3e 20 20 20 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
cffa0 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b mptime</span>.<span.class="tok-k
cffc0 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 54 20 3d 3d 20 3c 73 70 61 6e 20 w">try</span>.expect(T.==.<span.
cffe0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 class="tok-type">i32</span>);</s
d0000 70 61 6e 3e 0a 3c 73 70 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
d0020 6e 20 63 6c 61 73 73 3d 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
d0040 63 74 28 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ct(data.==.<span.class="tok-numb
d0060 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
d0080 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
d00a0 69 6e 65 22 3e 3c 2f 73 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">
d00c0 3c 73 70 61 6e 20 63 6c 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>.<
d00e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 3c span.class="tok-fn">foo</span>(<
d0100 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
d0120 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
d0140 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 29 20 54 20 7b 3c 2f 73 70 61 6e 3e 0a 3c pe</span>,.ptr:.*T).T.{</span>.<
d0160 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 74 72 2e 2a 20 2b 3d 20 3c span.class="line">....ptr.*.+=.<
d0180 73 70 61 6e 20 63 6c 61 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>
d01a0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
d01c0 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
d01e0 6e 3e 20 70 74 72 2e 2a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n>.ptr.*;</span>.<span.class="li
d0200 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
d0220 65 3e 3c 66 69 67 75 72 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
d0240 6c 6c 2d 63 61 70 22 3e 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><
d0260 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
d0280 69 67 20 74 65 73 74 20 6e 6f 5f 72 75 6e 74 69 6d 65 5f 73 69 64 65 5f 65 66 66 65 63 74 73 2e ig.test.no_runtime_side_effects.
d02a0 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
d02c0 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 6f 20 72 75 6e 74 69 6d 65 20 73 69 ne">1/1.test.&quot;no.runtime.si
d02e0 64 65 20 65 66 66 65 63 74 73 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 de.effects&quot;....OK</span>.<s
d0300 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
d0320 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
d0340 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 75 6e 69 6f 6e 49 6e e>...............<h3.id="unionIn
d0360 69 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 75 6e 69 6f 6e 49 6e 69 74 22 3e 40 75 6e it"><a.href="#toc-unionInit">@un
d0380 69 6f 6e 49 6e 69 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d ionInit</a>.<a.class="hdr".href=
d03a0 22 23 75 6e 69 6f 6e 49 6e 69 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 "#unionInit">..</a></h3>........
d03c0 3c 70 72 65 3e 3c 63 6f 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
d03e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 75 6e 69 6f 6e 49 6e pan.class="tok-builtin">@unionIn
d0400 69 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 it</span>(<span.class="tok-kw">c
d0420 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 55 6e 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 omptime</span>.Union:.<span.clas
d0440 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 s="tok-type">type</span>,.<span.
d0460 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 class="tok-kw">comptime</span>.a
d0480 63 74 69 76 65 5f 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d ctive_field_name:.[]<span.class=
d04a0 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
d04c0 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 69 6e 69 74 5f 65 78 70 s="tok-type">u8</span>,.init_exp
d04e0 72 29 20 55 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 r).Union</span></code></pre>....
d0500 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 74 68 ...<p>.......This.is.the.same.th
d0520 69 6e 67 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 ing.as.<a.href="#union">union</a
d0540 3e 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 73 79 6e 74 61 78 2c 20 65 78 63 65 70 74 20 >.initialization.syntax,.except.
d0560 74 68 61 74 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 69 73 20 61 0a 20 20 20 20 20 20 3c that.the.field.name.is.a.......<
d0580 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d a.href="#comptime">comptime</a>-
d05a0 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 6e 20 69 64 65 6e 74 known.value.rather.than.an.ident
d05c0 69 66 69 65 72 20 74 6f 6b 65 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 ifier.token........</p>.......<p
d05e0 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"
d0600 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 75 6e 69 6f ><span.class="tok-builtin">@unio
d0620 6e 49 6e 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 77 61 nInit</span></span></code>.forwa
d0640 72 64 73 20 69 74 73 20 3c 61 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f rds.its.<a.href="#Result-Locatio
d0660 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 3c 2f 61 3e n-Semantics">result.location</a>
d0680 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 69 6e 69 .to.<code><span.class="line">ini
d06a0 74 5f 65 78 70 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e t_expr</span></code>........</p>
d06c0 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 42 75 ......................<h2.id="Bu
d06e0 69 6c 64 2d 4d 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 75 69 6c 64 2d 4d 6f ild-Mode"><a.href="#toc-Build-Mo
d0700 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 de">Build.Mode</a>.<a.class="hdr
d0720 22 20 68 72 65 66 3d 22 23 42 75 69 6c 64 2d 4d 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e ".href="#Build-Mode">..</a></h2>
d0740 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 66 6f 75 72 20 62 ........<p>.......Zig.has.four.b
d0760 75 69 6c 64 20 6d 6f 64 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c uild.modes:.......</p>.......<ul
d0780 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 >.........<li><a.href="#Debug">D
d07a0 65 62 75 67 3c 2f 61 3e 20 28 64 65 66 61 75 6c 74 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ebug</a>.(default)</li>.........
d07c0 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 <li><a.href="#ReleaseFast">Relea
d07e0 73 65 46 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 seFast</a></li>.........<li><a.h
d0800 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f ref="#ReleaseSafe">ReleaseSafe</
d0820 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 65 a></li>.........<li><a.href="#Re
d0840 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 3c 2f 6c 69 leaseSmall">ReleaseSmall</a></li
d0860 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f >.......</ul>.......<p>.......To
d0880 20 61 64 64 20 73 74 61 6e 64 61 72 64 20 62 75 69 6c 64 20 6f 70 74 69 6f 6e 73 20 74 6f 20 61 .add.standard.build.options.to.a
d08a0 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 .<code.class="file">build.zig</c
d08c0 6f 64 65 3e 20 66 69 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 ode>.file:.......</p>.......<fig
d08e0 75 72 65 3e 3c 66 69 67 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">
d0900 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 69 <cite.class="file">build.zig</ci
d0920 74 65 3e 3c 2f 66 69 67 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
d0940 20 63 6c 61 73 73 3d 22 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
d0960 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 75 69 6c 64 65 72 20 3d 20 3c 73 70 61 6e 20 w">const</span>.Builder.=.<span.
d0980 63 6c 61 73 73 3d 22 74 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
d09a0 6e 3e 28 3c 73 70 61 6e 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
d09c0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 64 2e 42 75 69 6c 64 65 72 3b 3c td&quot;</span>).build.Builder;<
d09e0 2f 73 70 61 6e 3e 0a 3c 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
d0a00 3e 0a 3c 73 70 61 6e 20 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
d0a20 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
d0a40 3d 22 74 6f 6b 2d 6b 77 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=
d0a60 22 74 6f 6b 2d 66 6e 22 3e 62 75 69 6c 64 3c 2f 73 70 61 6e 3e 28 62 3a 20 2a 42 75 69 6c 64 65 "tok-fn">build</span>(b:.*Builde
d0a80 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f r).<span.class="tok-type">void</
d0aa0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
d0ac0 22 3e 20 20 20 20 3c 73 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
d0ae0 3c 2f 73 70 61 6e 3e 20 65 78 65 20 3d 20 62 2e 61 64 64 45 78 65 63 75 74 61 62 6c 65 28 3c 73 </span>.exe.=.b.addExecutable(<s
d0b00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 61 6d 70 6c pan.class="tok-str">&quot;exampl
d0b20 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e&quot;</span>,.<span.class="tok
d0b40 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 61 6d 70 6c 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 -str">&quot;example.zig&quot;</s
d0b60 70 61 6e 3e 29 3b 3c 2f 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"
d0b80 3e 20 20 20 20 65 78 65 2e 73 65 74 42 75 69 6c 64 4d 6f 64 65 28 62 2e 73 74 61 6e 64 61 72 64 >....exe.setBuildMode(b.standard
d0ba0 52 65 6c 65 61 73 65 4f 70 74 69 6f 6e 73 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ReleaseOptions());</span>.<span.
d0bc0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 2e 64 65 66 61 75 6c 74 5f 73 74 65 70 2e class="line">....b.default_step.
d0be0 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b 65 78 65 2e 73 74 65 70 29 3b 3c 2f 73 70 61 6e 3e 0a dependOn(&amp;exe.step);</span>.
d0c00 3c 73 70 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
d0c20 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 e></pre></figure>.......<p>.....
d0c40 20 20 54 68 69 73 20 63 61 75 73 65 73 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20 62 ..This.causes.these.options.to.b
d0c60 65 20 61 76 61 69 6c 61 62 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 64 e.available:.......</p>.......<d
d0c80 6c 3e 0a 20 20 20 20 20 20 20 20 3c 64 74 3e 3c 6b 62 64 3e 2d 44 72 65 6c 65 61 73 65 2d 73 61 l>.........<dt><kbd>-Drelease-sa
d0ca0 66 65 3d 5b 62 6f 6f 6c 5d 3c 2f 6b 62 64 3e 3c 2f 64 74 3e 3c 64 64 3e 4f 70 74 69 6d 69 7a 61 fe=[bool]</kbd></dt><dd>Optimiza
d0cc0 74 69 6f 6e 73 20 6f 6e 20 61 6e 64 20 73 61 66 65 74 79 20 6f 6e 3c 2f 64 64 3e 0a 20 20 20 20 tions.on.and.safety.on</dd>.....
d0ce0 20 20 20 20 3c 64 74 3e 3c 6b 62 64 3e 2d 44 72 65 6c 65 61 73 65 2d 66 61 73 74 3d 5b 62 6f 6f ....<dt><kbd>-Drelease-fast=[boo
d0d00 6c 5d 3c 2f 6b 62 64 3e 3c 2f 64 74 3e 3c 64 64 3e 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 6f l]</kbd></dt><dd>Optimizations.o
d0d20 6e 20 61 6e 64 20 73 61 66 65 74 79 20 6f 66 66 3c 2f 64 64 3e 0a 20 20 20 20 20 20 20 20 3c 64 n.and.safety.off</dd>.........<d
d0d40 74 3e 3c 6b 62 64 3e 2d 44 72 65 6c 65 61 73 65 2d 73 6d 61 6c 6c 3d 5b 62 6f 6f 6c 5d 3c 2f 6b t><kbd>-Drelease-small=[bool]</k
d0d60 62 64 3e 3c 2f 64 74 3e 3c 64 64 3e 53 69 7a 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 6f bd></dt><dd>Size.optimizations.o
d0d80 6e 20 61 6e 64 20 73 61 66 65 74 79 20 6f 66 66 3c 2f 64 64 3e 0a 20 20 20 20 20 20 3c 2f 64 6c n.and.safety.off</dd>.......</dl
d0da0 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 65 62 75 67 22 3e 3c 61 20 68 72 65 66 3d 22 >.......<h3.id="Debug"><a.href="
d0dc0 23 74 6f 63 2d 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 #toc-Debug">Debug</a>.<a.class="
d0de0 68 64 72 22 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a hdr".href="#Debug">..</a></h3>..
d0e00 20 20 20 20 20 20 3c 66 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=
d0e20 22 73 68 65 6c 6c 2d 63 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
d0e40 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
d0e60 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c 65 2e 7a 69 67 3c 2f 6b 62 bd>zig.build-exe.example.zig</kb
d0e80 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e d></span>.</samp></pre></figure>
d0ea0 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 61 73 74 20 63 6f 6d .......<ul>.........<li>Fast.com
d0ec0 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e pilation.speed</li>.........<li>
d0ee0 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 65 6e 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 Safety.checks.enabled</li>......
d0f00 20 20 20 3c 6c 69 3e 53 6c 6f 77 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 3c ...<li>Slow.runtime.performance<
d0f20 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4c 61 72 67 65 20 62 69 6e 61 72 79 20 73 69 /li>.........<li>Large.binary.si
d0f40 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4e 6f 20 72 65 70 72 6f 64 75 63 69 ze</li>.........<li>No.reproduci
d0f60 62 6c 65 20 62 75 69 6c 64 20 72 65 71 75 69 72 65 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 ble.build.requirement</li>......
d0f80 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 6c 65 .</ul>..............<h3.id="Rele
d0fa0 61 73 65 46 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 6c 65 61 73 65 46 61 aseFast"><a.href="#toc-ReleaseFa
d0fc0 73 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 st">ReleaseFast</a>.<a.class="hd
d0fe0 72 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 r".href="#ReleaseFast">..</a></h
d1000 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 3>........<figure><figcaption.cl
d1020 61 73 73 3d 22 73 68 65 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
d1040 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">
d1060 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c 65 2e 7a 69 67 $.<kbd>zig.build-exe.example.zig
d1080 20 2d 4f 20 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 .-O.ReleaseFast</kbd></span>.</s
d10a0 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 amp></pre></figure>.......<ul>..
d10c0 20 20 20 20 20 20 20 3c 6c 69 3e 46 61 73 74 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 .......<li>Fast.runtime.performa
d10e0 6e 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 65 63 nce</li>.........<li>Safety.chec
d1100 6b 73 20 64 69 73 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f ks.disabled</li>.........<li>Slo
d1120 77 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 w.compilation.speed</li>........
d1140 20 3c 6c 69 3e 4c 61 72 67 65 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 .<li>Large.binary.size</li>.....
d1160 20 20 20 20 3c 6c 69 3e 52 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 3c 2f 6c 69 3e 0a ....<li>Reproducible.build</li>.
d1180 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d ......</ul>..............<h3.id=
d11a0 22 52 65 6c 65 61 73 65 53 61 66 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 6c 65 "ReleaseSafe"><a.href="#toc-Rele
d11c0 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 aseSafe">ReleaseSafe</a>.<a.clas
d11e0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e c2 a7 3c 2f s="hdr".href="#ReleaseSafe">..</
d1200 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
d1220 6f 6e 20 63 6c 61 73 73 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
d1240 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
d1260 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
d1280 65 2e 7a 69 67 20 2d 4f 20 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e e.zig.-O.ReleaseSafe</kbd></span
d12a0 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>.......<
d12c0 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 65 64 69 75 6d 20 72 75 6e 74 69 6d 65 20 70 ul>.........<li>Medium.runtime.p
d12e0 65 72 66 6f 72 6d 61 6e 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 erformance</li>.........<li>Safe
d1300 74 79 20 63 68 65 63 6b 73 20 65 6e 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c ty.checks.enabled</li>.........<
d1320 6c 69 3e 53 6c 6f 77 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 li>Slow.compilation.speed</li>..
d1340 20 20 20 20 20 20 20 3c 6c 69 3e 4c 61 72 67 65 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 .......<li>Large.binary.size</li
d1360 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 >.........<li>Reproducible.build
d1380 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>..............<
d13a0 68 33 20 69 64 3d 22 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 h3.id="ReleaseSmall"><a.href="#t
d13c0 6f 63 2d 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 oc-ReleaseSmall">ReleaseSmall</a
d13e0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 >.<a.class="hdr".href="#ReleaseS
d1400 6d 61 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 mall">..</a></h3>........<figure
d1420 3e 3c 66 69 67 63 61 70 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
d1440 68 65 6c 6c 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
d1460 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d n.class="line">$.<kbd>zig.build-
d1480 65 78 65 20 65 78 61 6d 70 6c 65 2e 7a 69 67 20 2d 4f 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c exe.example.zig.-O.ReleaseSmall<
d14a0 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
d14c0 72 65 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 65 64 69 75 re>.......<ul>.........<li>Mediu
d14e0 6d 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 m.runtime.performance</li>......
d1500 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 64 69 73 61 62 6c 65 64 3c 2f 6c ...<li>Safety.checks.disabled</l
d1520 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f 77 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 i>.........<li>Slow.compilation.
d1540 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6d 61 6c 6c 20 62 69 6e speed</li>.........<li>Small.bin
d1560 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 70 72 6f 64 ary.size</li>.........<li>Reprod
d1580 75 63 69 62 6c 65 20 62 75 69 6c 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ucible.build</li>.......</ul>...
d15a0 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>.
d15c0 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"
d15e0 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>
d1600 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 <a.href="#Zig-Build-System">Zig.
d1620 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 Build.System</a></li>.<li><a.hre
d1640 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 f="#Undefined-Behavior">Undefine
d1660 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 d.Behavior</a></li>.</ul>.......
d1680 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 .........<h2.id="Single-Threaded
d16a0 2d 42 75 69 6c 64 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 69 6e 67 6c 65 2d 54 68 -Builds"><a.href="#toc-Single-Th
d16c0 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
d16e0 75 69 6c 64 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 uilds</a>.<a.class="hdr".href="#
d1700 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e c2 a7 3c 2f 61 3e 3c 2f Single-Threaded-Builds">..</a></
d1720 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 68 61 73 20 61 20 63 6f 6d 70 69 6c 65 20 h2>........<p>Zig.has.a.compile.
d1740 6f 70 74 69 6f 6e 20 3c 6b 62 64 3e 2d 2d 73 69 6e 67 6c 65 2d 74 68 72 65 61 64 65 64 3c 2f 6b option.<kbd>--single-threaded</k
d1760 62 64 3e 20 77 68 69 63 68 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 66 66 65 bd>.which.has.the.following.effe
d1780 63 74 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e cts:</p>.......<ul>.........<li>
d17a0 41 6c 6c 20 3c 61 20 68 72 65 66 3d 22 23 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 All.<a.href="#Thread-Local-Varia
d17c0 62 6c 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e bles">Thread.Local.Variables</a>
d17e0 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 20 72 65 67 75 6c 61 72 20 3c 61 20 68 72 65 66 3d .are.treated.as.regular.<a.href=
d1800 22 23 43 6f 6e 74 61 69 6e 65 72 2d 4c 65 76 65 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6e "#Container-Level-Variables">Con
d1820 74 61 69 6e 65 72 20 4c 65 76 65 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 2e 3c 2f 6c 69 3e tainer.Level.Variables</a>.</li>
d1840 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 6f 76 65 72 68 65 61 64 20 6f 66 20 3c 61 20 .........<li>The.overhead.of.<a.
d1860 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 href="#Async-Functions">Async.Fu
d1880 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 62 65 63 6f 6d 65 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 nctions</a>.becomes.equivalent.t
d18a0 6f 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 6f 76 65 72 68 65 61 64 2e 3c 2f 6c 69 3e 0a 20 o.function.call.overhead.</li>..
d18c0 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .......<li>The.<code><span.class
d18e0 3d 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
d1900 22 3e 40 69 6d 70 6f 72 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
d1920 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e k-str">&quot;builtin&quot;</span
d1940 3e 29 2e 73 69 6e 67 6c 65 5f 74 68 72 65 61 64 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e >).single_threaded</span></code>
d1960 20 62 65 63 6f 6d 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .becomes.<code><span.class="line
d1980 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 "><span.class="tok-null">true</s
d19a0 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 61 6e 64 pan></span></code>...........and
d19c0 20 74 68 65 72 65 66 6f 72 65 20 76 61 72 69 6f 75 73 20 75 73 65 72 6c 61 6e 64 20 41 50 49 73 .therefore.various.userland.APIs
d19e0 20 77 68 69 63 68 20 72 65 61 64 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 62 65 63 6f 6d 65 .which.read.this.variable.become
d1a00 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 65 .more.efficient............For.e
d1a20 78 61 6d 70 6c 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e xample.<code><span.class="line">
d1a40 73 74 64 2e 4d 75 74 65 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 63 6f 6d 65 73 0a std.Mutex</span></code>.becomes.
d1a60 20 20 20 20 20 20 20 20 20 20 61 6e 20 65 6d 70 74 79 20 64 61 74 61 20 73 74 72 75 63 74 75 72 ..........an.empty.data.structur
d1a80 65 20 61 6e 64 20 61 6c 6c 20 6f 66 20 69 74 73 20 66 75 6e 63 74 69 6f 6e 73 20 62 65 63 6f 6d e.and.all.of.its.functions.becom
d1aa0 65 20 6e 6f 2d 6f 70 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 e.no-ops.</li>.......</ul>......
d1ac0 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 .........<h2.id="Undefined-Behav
d1ae0 69 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 ior"><a.href="#toc-Undefined-Beh
d1b00 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 3c 61 avior">Undefined.Behavior</a>.<a
d1b20 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 .class="hdr".href="#Undefined-Be
d1b40 68 61 76 69 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 havior">..</a></h2>........<p>..
d1b60 20 20 20 20 20 5a 69 67 20 68 61 73 20 6d 61 6e 79 20 69 6e 73 74 61 6e 63 65 73 20 6f 66 20 75 .....Zig.has.many.instances.of.u
d1b80 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 20 49 66 20 75 6e 64 65 66 69 6e 65 64 20 ndefined.behavior..If.undefined.
d1ba0 62 65 68 61 76 69 6f 72 20 69 73 0a 20 20 20 20 20 20 64 65 74 65 63 74 65 64 20 61 74 20 63 6f behavior.is.......detected.at.co
d1bc0 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 5a 69 67 20 65 6d 69 74 73 20 61 20 63 6f 6d 70 69 6c 65 20 mpile-time,.Zig.emits.a.compile.
d1be0 65 72 72 6f 72 20 61 6e 64 20 72 65 66 75 73 65 73 20 74 6f 20 63 6f 6e 74 69 6e 75 65 2e 0a 20 error.and.refuses.to.continue...
d1c00 20 20 20 20 20 4d 6f 73 74 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 74 68 61 .....Most.undefined.behavior.tha
d1c20 74 20 63 61 6e 6e 6f 74 20 62 65 20 64 65 74 65 63 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d t.cannot.be.detected.at.compile-
d1c40 74 69 6d 65 20 63 61 6e 20 62 65 20 64 65 74 65 63 74 65 64 0a 20 20 20 20 20 20 61 74 20 72 75 time.can.be.detected.......at.ru
d1c60 6e 74 69 6d 65 2e 20 49 6e 20 74 68 65 73 65 20 63 61 73 65 73 2c 20 5a 69 67 20 68 61 73 20 73 ntime..In.these.cases,.Zig.has.s
d1c80 61 66 65 74 79 20 63 68 65 63 6b 73 2e 20 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 63 61 6e 20 afety.checks..Safety.checks.can.
d1ca0 62 65 20 64 69 73 61 62 6c 65 64 0a 20 20 20 20 20 20 6f 6e 20 61 20 70 65 72 2d 62 6c 6f 63 6b be.disabled.......on.a.per-block
d1cc0 20 62 61 73 69 73 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 .basis.with.<a.href="#setRuntime
d1ce0 53 61 66 65 74 79 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 2e 20 54 Safety">@setRuntimeSafety</a>..T
d1d00 68 65 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 22 3e 52 65 6c 65 61 73 he.<a.href="#ReleaseFast">Releas
d1d20 65 46 61 73 74 3c 2f 61 3e 0a 20 20 20 20 20 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 eFast</a>.......and.<a.href="#Re
d1d40 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 20 62 75 69 leaseSmall">ReleaseSmall</a>.bui
d1d60 6c 64 20 6d 6f 64 65 73 20 64 69 73 61 62 6c 65 20 61 6c 6c 20 73 61 66 65 74 79 20 63 68 65 63 ld.modes.disable.all.safety.chec
d1d80 6b 73 20 28 65 78 63 65 70 74 20 77 68 65 72 65 20 6f 76 65 72 72 69 64 64 65 6e 0a 20 20 20 20 ks.(except.where.overridden.....
d1da0 20 20 62 79 20 3c 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 ..by.<a.href="#setRuntimeSafety"
d1dc0 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 29 20 69 6e 20 6f 72 64 65 72 >@setRuntimeSafety</a>).in.order
d1de0 20 74 6f 20 66 61 63 69 6c 69 74 61 74 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2e 0a 20 20 .to.facilitate.optimizations....
d1e00 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 20 ....</p>.......<p>.......When.a.
d1e20 73 61 66 65 74 79 20 63 68 65 63 6b 20 66 61 69 6c 73 2c 20 5a 69 67 20 63 72 61 73 68 65 73 20 safety.check.fails,.Zig.crashes.
d1e40 77 69 74 68 20 61 20 73 74 61 63 6b 20 74 72 61 63 65 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 with.a.stack.trace,.like.this:..
d1e60 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
d1e80 69 6f 6e 20 63 6c 61 73 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=
d1ea0 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
d1ec0 6f 6e 3e 3c 70 72 65 3e 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"
d1ee0 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
d1f00 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 61 >.<span.class="tok-str">&quot;sa
d1f20 66 65 74 79 20 63 68 65 63 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e fety.check&quot;</span>.{</span>
d1f40 0a 3c 73 70 61 6e 20 63 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
d1f60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b ass="tok-kw">unreachable</span>;
d1f80 3c 2f 73 70 61 6e 3e 0a 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
d1fa0 61 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
d1fc0 3e 3c 66 69 67 63 61 70 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
d1fe0 68 65 6c 6c 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
d2000 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
d2020 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
d2040 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 61 66 65 74 79 20 63 68 ="line">1/1.test.&quot;safety.ch
d2060 65 63 6b 26 71 75 6f 74 3b 2e 2e 2e 20 74 68 72 65 61 64 20 31 34 34 34 36 34 33 20 70 61 6e 69 eck&quot;....thread.1444643.pani
d2080 63 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 73 70 61 c:.reached.unreachable.code</spa
d20a0 6e 3e 0a 3c 73 70 61 6e 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
d20c0 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 s="t1_0">/home/andy/tmp/zig/docg
d20e0 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 en_tmp/test.zig:2:5</span>:.<spa
d2100 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 38 35 61 20 69 6e 20 74 65 73 74 20 n.class="t2_0">0x20785a.in.test.
d2120 26 71 75 6f 74 3b 73 61 66 65 74 79 20 63 68 65 63 6b 26 71 75 6f 74 3b 20 28 74 65 73 74 29 3c &quot;safety.check&quot;.(test)<
d2140 2f 73 70 61 6e 3e 3c 2f 73 70 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"
d2160 3e 20 20 20 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 >....unreachable;</span>.<span.c
d2180 6c 61 73 73 3d 22 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
d21a0 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=
d21c0 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/
d21e0 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 andy/tmp/zig/lib/std/special/tes
d2200 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 38 30 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e t_runner.zig:80:28</span>:.<span
d2220 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 66 30 63 33 20 69 6e 20 73 74 64 2e 73 70 .class="t2_0">0x22f0c3.in.std.sp
d2240 65 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a ecial.main.(test)</span></span>.
d2260 3c 73 70 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
d2280 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
d22a0 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">....................
d22c0 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
d22e0 61 6e 3e 3c 2f 73 70 61 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
d2300 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
d2320 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 zig/lib/std/start.zig:551:22</sp
d2340 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 38 34 33 63 an>:.<span.class="t2_0">0x22843c
d2360 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 .in.std.start.callMain.(test)</s
d2380 70 61 6e 3e 3c 2f 73 70 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">.
d23a0 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>.<
d23c0 73 70 61 6e 20 63 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">..............
d23e0 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
d2400 61 6e 3e 3c 2f 73 70 61 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
d2420 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
d2440 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 zig/lib/std/start.zig:495:12</sp
d2460 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 39 30 37 65 an>:.<span.class="t2_0">0x20907e
d2480 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 .in.std.start.callMainWithArgs.(
d24a0 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=
d24c0 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 "line">....return.@call(.{..modi
d24e0 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 fier.=..always_inline.},.callMai
d2500 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e n,..{});</span>.<span.class="lin
d2520 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 e">...........<span.class="t32_1
d2540 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
d2560 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e ine"><span.class="t1_0">/home/an
d2580 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 dy/tmp/zig/lib/std/start.zig:409
d25a0 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 :17</span>:.<span.class="t2_0">0
d25c0 78 32 30 38 31 31 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 x208116.in.std.start.posixCallMa
d25e0 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>.<
d2600 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 span.class="line">....std.os.exi
d2620 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 t(@call(.{..modifier.=..always_i
d2640 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 nline.},.callMainWithArgs,..{.ar
d2660 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e gc,.argv,.envp.}));</span>.<span
d2680 20 63 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
d26a0 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
d26c0 3e 0a 3c 73 70 61 6e 20 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
d26e0 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 ="t1_0">/home/andy/tmp/zig/lib/s
d2700 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e td/start.zig:322:5</span>:.<span
d2720 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 66 32 32 20 69 6e 20 73 74 64 2e 73 74 .class="t2_0">0x207f22.in.std.st
d2740 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a art._start.(test)</span></span>.
d2760 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(.{.
d2780 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
d27a0 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>.
d27c0 3c 73 70 61 6e 20 63 6c 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
d27e0 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
d2800 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 74 68 65 20 66 6f 6c 6c 6f 77 69 .class="line">error:.the.followi
d2820 6e 67 20 74 65 73 74 20 63 6f 6d 6d 61 6e 64 20 63 72 61 73 68 65 64 3a 3c 2f 73 70 61 6e 3e 0a ng.test.command.crashed:</span>.
d2840 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 <span.class="line">docgen_tmp/zi
d2860 67 2d 63 61 63 68 65 2f 6f 2f 65 36 32 64 35 62 36 34 33 64 30 38 66 31 61 63 62 62 31 33 38 36 g-cache/o/e62d5b643d08f1acbb1386
d2880 64 62 39 32 65 62 30 66 32 33 2f 74 65 73 74 20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a db92eb0f23/test./home/andy/tmp/z
d28a0 69 67 2f 62 75 69 6c 64 2d 72 65 6c 65 61 73 65 2f 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 ig/build-release/zig</span>.</sa
d28c0 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d mp></pre></figure>.......<h3.id=
d28e0 22 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e 3c 61 20 68 "Reaching-Unreachable-Code"><a.h
d2900 72 65 66 3d 22 23 74 6f 63 2d 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 ref="#toc-Reaching-Unreachable-C
d2920 6f 64 65 22 3e 52 65 61 63 68 69 6e 67 20 55 6e 72 65 61 63 68 61 62 6c 65 20 43 6f 64 65 3c 2f ode">Reaching.Unreachable.Code</
d2940 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 61 63 68 69 6e a>.<a.class="hdr".href="#Reachin
d2960 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a g-Unreachable-Code">..</a></h3>.
d2980 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 .......<p>At.compile-time:</p>..
d29a0 20 20 20 20 20 3c 66 69 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="
d29c0 7a 69 67 2d 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
d29e0 2e 7a 69 67 3c 2f 63 69 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
d2a00 64 65 3e 3c 73 70 61 6e 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
d2a20 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 s="tok-kw">comptime</span>.{</sp
d2a40 61 6e 3e 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
d2a60 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</
d2a80 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
d2aa0 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 ">}</span>.<span.class="line"><s
d2ac0 70 61 6e 20 63 6c 61 73 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
d2ae0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 73 73 65 72 74 3c 2f 73 70 61 6e 3e 28 an.class="tok-fn">assert</span>(
d2b00 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c ok:.<span.class="tok-type">bool<
d2b20 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
d2b40 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=
d2b60 22 6c 69 6e 65 22 3e 20 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">
d2b80 69 66 3c 2f 73 70 61 6e 3e 20 28 21 6f 6b 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b if</span>.(!ok).<span.class="tok
d2ba0 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 -kw">unreachable</span>;.<span.c
d2bc0 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 lass="tok-comment">//.assertion.
d2be0 66 61 69 6c 75 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 failure</span></span>.<span.clas
d2c00 73 3d 22 6c 69 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></
d2c20 66 69 67 75 72 65 3e 3c 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
d2c40 3d 22 73 68 65 6c 6c 2d 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><
d2c60 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">$.<
d2c80 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
d2ca0 6e 3e 0a 3c 73 70 61 6e 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
d2cc0 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 s="t0_1">./docgen_tmp/test.zig:5
d2ce0 3a 31 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e :14:.</span><span.class="t31_1">
d2d00 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 error:.</span><span.class="t0_1"
d2d20 3e 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 73 70 61 6e 3e >reached.unreachable.code</span>
d2d40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 </span>.<span.class="line">....i
d2d60 66 20 28 21 6f 6b 29 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f f.(!ok).unreachable;.//.assertio
d2d80 6e 20 66 61 69 6c 75 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 n.failure</span>.<span.class="li
d2da0 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 ne">.............<span.class="t3
d2dc0 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
d2de0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 ="line"><span.class="t0_1">./doc
d2e00 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 gen_tmp/test.zig:2:11:.</span><s
d2e20 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><
d2e40 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 span.class="t0_1">called.from.he
d2e60 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 re</span></span>.<span.class="li
d2e80 6e 65 22 3e 20 20 20 20 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ne">....assert(false);</span>.<s
d2ea0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e pan.class="line">..........<span
d2ec0 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>.<
d2ee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
d2f00 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 3a 31 30 3a 0_1">./docgen_tmp/test.zig:1:10:
d2f20 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
d2f40 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c :.</span><span.class="t0_1">call
d2f60 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ed.from.here</span></span>.<span
d2f80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6f 6d 70 74 69 6d 65 20 7b 3c 2f 73 70 61 6e 3e 0a .class="line">comptime.{</span>.
d2fa0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 3c 73 70 61 <span.class="line">.........<spa
d2fc0 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>.
d2fe0 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>
d3000 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 At.runtime:</p>.......<figure><f
d3020 69 67 63 61 70 74 69 6f 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.
d3040 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
d3060 67 63 61 70 74 69 6f 6e 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=
d3080 22 6c 69 6e 65 22 3e 3c 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
d30a0 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-
d30c0 62 75 69 6c 74 69 6e 22 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
d30e0 61 73 73 3d 22 74 6f 6b 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
d3100 70 61 6e 3e 29 3b 3c 2f 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"
d3120 3e 3c 2f 73 70 61 6e 3e 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
d3140 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
d3160 6e 20 63 6c 61 73 73 3d 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
d3180 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
d31a0 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>
d31c0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
d31e0 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .std.debug.assert(<span.class="t
d3200 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c ok-null">false</span>);</span>.<
d3220 73 70 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
d3240 3e 3c 2f 70 72 65 3e 3c 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
d3260 69 6f 6e 20 63 6c 61 73 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
d3280 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="
d32a0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e line">$.<kbd>zig.build-exe.test.
d32c0 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
d32e0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ne"></span>.<span.class="line">$
d3300 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .<kbd>./test</kbd></span>.<span.
d3320 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 34 37 37 38 20 70 61 6e 69 class="line">thread.1444778.pani
d3340 63 3a 20 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 73 70 61 c:.reached.unreachable.code</spa
d3360 6e 3e 0a 3c 73 70 61 6e 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
d3380 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f s="t1_0">/home/andy/tmp/zig/lib/
d33a0 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 3a 32 32 35 3a 31 34 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 std/debug.zig:225:14</span>:.<sp
d33c0 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 65 34 62 20 69 6e 20 73 74 64 2e an.class="t2_0">0x204e4b.in.std.
d33e0 64 65 62 75 67 2e 61 73 73 65 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e debug.assert.(test)</span></span
d3400 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 66 20 28 21 6f 6b >.<span.class="line">....if.(!ok
d3420 29 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c ).unreachable;.//.assertion.fail
d3440 75 72 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ure</span>.<span.class="line">..
d3460 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e ...........<span.class="t32_1">^
d3480 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
d34a0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f "><span.class="t1_0">/home/andy/
d34c0 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 32 31 tmp/zig/docgen_tmp/test.zig:4:21
d34e0 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 </span>:.<span.class="t2_0">0x22
d3500 63 63 39 61 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e cc9a.in.main.(test)</span></span
d3520 3e 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
d3540 75 67 2e 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ug.assert(false);</span>.<span.c
d3560 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">....................
d3580 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
d35a0 61 6e 3e 0a 3c 73 70 61 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
d35c0 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
d35e0 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 /std/start.zig:551:22</span>:.<s
d3600 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 33 61 63 20 69 6e 20 73 74 64 pan.class="t2_0">0x2263ac.in.std
d3620 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 .start.callMain.(test)</span></s
d3640 70 61 6e 3e 0a 3c 73 70 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">........
d3660 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
d3680 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">.....................
d36a0 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
d36c0 61 6e 3e 0a 3c 73 70 61 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
d36e0 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
d3700 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 /std/start.zig:495:12</span>:.<s
d3720 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 66 63 65 20 69 6e 20 73 74 64 pan.class="t2_0">0x206fce.in.std
d3740 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f .start.callMainWithArgs.(test)</
d3760 73 70 61 6e 3e 3c 2f 73 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">
d3780 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 ....return.@call(.{..modifier.=.
d37a0 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 .always_inline.},.callMain,..{})
d37c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
d37e0 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
d3800 61 6e 3e 3c 2f 73 70 61 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
d3820 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
d3840 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 zig/lib/std/start.zig:409:17</sp
d3860 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 30 36 36 an>:.<span.class="t2_0">0x206066
d3880 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 .in.std.start.posixCallMainAndEx
d38a0 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
d38c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c ass="line">....std.os.exit(@call
d38e0 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d (.{..modifier.=..always_inline.}
d3900 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 ,.callMainWithArgs,..{.argc,.arg
d3920 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d v,.envp.}));</span>.<span.class=
d3940 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 "line">................<span.cla
d3960 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
d3980 20 63 6c 61 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"
d39a0 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 >/home/andy/tmp/zig/lib/std/star
d39c0 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d t.zig:322:5</span>:.<span.class=
d39e0 22 74 32 5f 30 22 3e 30 78 32 30 35 65 37 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 "t2_0">0x205e72.in.std.start._st
d3a00 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
d3a20 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
d3a40 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
d3a60 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
d3a80 6c 61 73 73 3d 22 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
d3aa0 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=
d3ac0 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
d3ae0 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
d3b00 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 64 65 78 2d 6f re>..............<h3.id="Index-o
d3b20 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 64 65 ut-of-Bounds"><a.href="#toc-Inde
d3b40 78 2d 6f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 22 3e 49 6e 64 65 78 20 6f 75 74 20 6f 66 20 42 6f x-out-of-Bounds">Index.out.of.Bo
d3b60 75 6e 64 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 unds</a>.<a.class="hdr".href="#I
d3b80 6e 64 65 78 2d 6f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a ndex-out-of-Bounds">..</a></h3>.
d3ba0 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 .......<p>At.compile-time:</p>..
d3bc0 20 20 20 20 20 3c 66 69 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="
d3be0 7a 69 67 2d 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
d3c00 2e 7a 69 67 3c 2f 63 69 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
d3c20 64 65 3e 3c 73 70 61 6e 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
d3c40 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 s="tok-kw">comptime</span>.{</sp
d3c60 61 6e 3e 0a 3c 73 70 61 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
d3c80 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 .class="tok-kw">const</span>.arr
d3ca0 61 79 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c ay:.[<span.class="tok-number">5<
d3cc0 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 /span>]<span.class="tok-type">u8
d3ce0 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e </span>.=.<span.class="tok-str">
d3d00 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 3c 2f 73 70 61 &quot;hello&quot;</span>.*;</spa
d3d20 6e 3e 0a 3c 73 70 61 6e 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.
d3d40 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 67 61 72 62 class="tok-kw">const</span>.garb
d3d60 61 67 65 20 3d 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d age.=.array[<span.class="tok-num
d3d80 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">5</span>];</span>.<span.cla
d3da0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 67 61 72 62 61 67 65 3b 3c 2f 73 70 61 6e ss="line">...._.=.garbage;</span
d3dc0 3e 0a 3c 73 70 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
d3de0 6f 64 65 3e 3c 2f 70 72 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
d3e00 61 70 74 69 6f 6e 20 63 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</
d3e20 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
d3e40 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
d3e60 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
d3e80 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d "><span.class="t0_1">./docgen_tm
d3ea0 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 32 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c p/test.zig:3:26:.</span><span.cl
d3ec0 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 ass="t31_1">error:.</span><span.
d3ee0 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 69 6e 64 65 78 20 35 20 6f 75 74 73 69 64 65 20 61 72 72 class="t0_1">index.5.outside.arr
d3f00 61 79 20 6f 66 20 73 69 7a 65 20 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ay.of.size.5</span></span>.<span
d3f20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 67 61 72 62 61 67 65 20 .class="line">....const.garbage.
d3f40 3d 20 61 72 72 61 79 5b 35 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 =.array[5];</span>.<span.class="
d3f60 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c line">.........................<
d3f80 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
d3fa0 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>.......
d3fc0 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
d3fe0 3e 3c 66 69 67 63 61 70 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
d4000 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><
d4020 2f 66 69 67 63 61 70 74 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
d4040 73 73 3d 22 6c 69 6e 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
d4060 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
d4080 6e 3c 2f 73 70 61 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
d40a0 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 in</span>().<span.class="tok-typ
d40c0 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
d40e0 61 73 73 3d 22 6c 69 6e 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-
d4100 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 kw">var</span>.x.=.foo(<span.cla
d4120 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f ss="tok-str">&quot;hello&quot;</
d4140 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
d4160 22 3e 20 20 20 20 5f 20 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ">...._.=.x;</span>.<span.class=
d4180 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
d41a0 65 22 3e 3c 2f 73 70 61 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
d41c0 70 61 6e 20 63 6c 61 73 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
d41e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 78 3a 20 an.class="tok-fn">foo</span>(x:.
d4200 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 []<span.class="tok-kw">const</sp
d4220 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 an>.<span.class="tok-type">u8</s
d4240 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c pan>).<span.class="tok-type">u8<
d4260 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
d4280 65 22 3e 20 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
d42a0 72 6e 3c 2f 73 70 61 6e 3e 20 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d rn</span>.x[<span.class="tok-num
d42c0 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber">5</span>];</span>.<span.cla
d42e0 73 73 3d 22 6c 69 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><
d4300 2f 66 69 67 75 72 65 3e 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
d4320 73 3d 22 73 68 65 6c 6c 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>
d4340 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">$.
d4360 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 <kbd>zig.build-exe.test.zig</kbd
d4380 3e 3c 2f 73 70 61 6e 3e 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
d43a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f an>.<span.class="line">$.<kbd>./
d43c0 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c test</kbd></span>.<span.class="l
d43e0 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 34 39 31 32 20 70 61 6e 69 63 3a 20 69 6e 64 65 78 ine">thread.1444912.panic:.index
d4400 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .out.of.bounds</span>.<span.clas
d4420 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
d4440 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a e/andy/tmp/zig/docgen_tmp/test.z
d4460 69 67 3a 37 3a 31 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f ig:7:13</span>:.<span.class="t2_
d4480 30 22 3e 30 78 32 33 33 66 39 39 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0">0x233f99.in.foo.(test)</span>
d44a0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 </span>.<span.class="line">....r
d44c0 65 74 75 72 6e 20 78 5b 35 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 eturn.x[5];</span>.<span.class="
d44e0 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
d4500 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
d4520 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
d4540 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a e/andy/tmp/zig/docgen_tmp/test.z
d4560 69 67 3a 32 3a 31 36 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f ig:2:16</span>:.<span.class="t2_
d4580 30 22 3e 30 78 32 32 63 63 64 36 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 0">0x22ccd6.in.main.(test)</span
d45a0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
d45c0 76 61 72 20 78 20 3d 20 66 6f 6f 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 29 3b 3c var.x.=.foo(&quot;hello&quot;);<
d45e0 2f 73 70 61 6e 3e 0a 3c 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">......
d4600 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">^</
d4620 73 70 61 6e 3e 3c 2f 73 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">
d4640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d <span.class="t1_0">/home/andy/tm
d4660 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f p/zig/lib/std/start.zig:551:22</
d4680 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 33 span>:.<span.class="t2_0">0x2263
d46a0 64 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c dc.in.std.start.callMain.(test)<
d46c0 2f 73 70 61 6e 3e 3c 2f 73 70 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"
d46e0 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>
d4700 0a 3c 73 70 61 6e 20 63 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">............
d4720 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">^</
d4740 73 70 61 6e 3e 3c 2f 73 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">
d4760 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d <span.class="t1_0">/home/andy/tm
d4780 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f p/zig/lib/std/start.zig:495:12</
d47a0 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 66 span>:.<span.class="t2_0">0x206f
d47c0 66 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 fe.in.std.start.callMainWithArgs
d47e0 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
d4800 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f s="line">....return.@call(.{..mo
d4820 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d difier.=..always_inline.},.callM
d4840 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ain,..{});</span>.<span.class="l
d4860 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 ine">...........<span.class="t32
d4880 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=
d48a0 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/
d48c0 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 andy/tmp/zig/lib/std/start.zig:4
d48e0 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 09:17</span>:.<span.class="t2_0"
d4900 3e 30 78 32 30 36 30 39 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c >0x206096.in.std.start.posixCall
d4920 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>
d4940 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 .<span.class="line">....std.os.e
d4960 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 xit(@call(.{..modifier.=..always
d4980 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 _inline.},.callMainWithArgs,..{.
d49a0 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 argc,.argv,.envp.}));</span>.<sp
d49c0 61 6e 20 63 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">................
d49e0 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
d4a00 61 6e 3e 0a 3c 73 70 61 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
d4a20 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
d4a40 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 /std/start.zig:322:5</span>:.<sp
d4a60 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 65 61 32 20 69 6e 20 73 74 64 2e an.class="t2_0">0x205ea2.in.std.
d4a80 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e start._start.(test)</span></span
d4aa0 3e 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(.
d4ac0 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
d4ae0 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
d4b00 3e 0a 3c 73 70 61 6e 20 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
d4b20 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
d4b40 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
d4b60 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
d4b80 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 re></figure>..............<h3.id
d4ba0 3d 22 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e ="Cast-Negative-Number-to-Unsign
d4bc0 65 64 2d 49 6e 74 65 67 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 73 74 2d 4e ed-Integer"><a.href="#toc-Cast-N
d4be0 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 egative-Number-to-Unsigned-Integ
d4c00 65 72 22 3e 43 61 73 74 20 4e 65 67 61 74 69 76 65 20 4e 75 6d 62 65 72 20 74 6f 20 55 6e 73 69 er">Cast.Negative.Number.to.Unsi
d4c20 67 6e 65 64 20 49 6e 74 65 67 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 gned.Integer</a>.<a.class="hdr".
d4c40 68 72 65 66 3d 22 23 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 href="#Cast-Negative-Number-to-U
d4c60 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 nsigned-Integer">..</a></h3>....
d4c80 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 ....<p>At.compile-time:</p>.....
d4ca0 20 20 3c 66 69 67 75 72 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
d4cc0 2d 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
d4ce0 67 3c 2f 63 69 74 65 3e 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>
d4d00 3c 73 70 61 6e 20 63 6c 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="
d4d20 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e tok-kw">comptime</span>.{</span>
d4d40 0a 3c 73 70 61 6e 20 63 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
d4d60 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a ass="tok-kw">const</span>.value:
d4d80 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
d4da0 6e 3e 20 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 n>.=.-<span.class="tok-number">1
d4dc0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
d4de0 65 22 3e 20 20 20 20 3c 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
d4e00 74 3c 2f 73 70 61 6e 3e 20 75 6e 73 69 67 6e 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d t</span>.unsigned.=.<span.class=
d4e20 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 "tok-builtin">@intCast</span>(<s
d4e40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c pan.class="tok-type">u32</span>,
d4e60 20 76 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .value);</span>.<span.class="lin
d4e80 65 22 3e 20 20 20 20 5f 20 3d 20 75 6e 73 69 67 6e 65 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 e">...._.=.unsigned;</span>.<spa
d4ea0 6e 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></
d4ec0 70 72 65 3e 3c 2f 66 69 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
d4ee0 20 63 6c 61 73 73 3d 22 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
d4f00 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
d4f20 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
d4f40 3e 3c 2f 73 70 61 6e 3e 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
d4f60 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 n.class="t0_1">./docgen_tmp/test
d4f80 2e 7a 69 67 3a 33 3a 32 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .zig:3:22:.</span><span.class="t
d4fa0 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=
d4fc0 22 74 30 5f 31 22 3e 61 74 74 65 6d 70 74 20 74 6f 20 63 61 73 74 20 6e 65 67 61 74 69 76 65 20 "t0_1">attempt.to.cast.negative.
d4fe0 76 61 6c 75 65 20 74 6f 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e value.to.unsigned.integer</span>
d5000 3c 2f 73 70 61 6e 3e 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
d5020 6f 6e 73 74 20 75 6e 73 69 67 6e 65 64 20 3d 20 40 69 6e 74 43 61 73 74 28 75 33 32 2c 20 76 61 onst.unsigned.=.@intCast(u32,.va
d5040 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e lue);</span>.<span.class="line">
d5060 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
d5080 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e ="t32_1">^</span></span>.</samp>
d50a0 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
d50c0 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
d50e0 6f 6e 20 63 6c 61 73 73 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="
d5100 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
d5120 6e 3e 3c 70 72 65 3e 3c 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">
d5140 3c 73 70 61 6e 20 63 6c 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
d5160 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
d5180 22 3e 40 69 6d 70 6f 72 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
d51a0 6b 2d 73 74 72 22 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>);<
d51c0 2f 73 70 61 6e 3e 0a 3c 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
d51e0 3e 0a 3c 73 70 61 6e 20 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
d5200 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
d5220 3d 22 74 6f 6b 2d 6b 77 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=
d5240 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
d5260 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
d5280 6e 3e 0a 3c 73 70 61 6e 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.
d52a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a class="tok-kw">var</span>.value:
d52c0 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
d52e0 6e 3e 20 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 n>.=.-<span.class="tok-number">1
d5300 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
d5320 65 22 3e 20 20 20 20 3c 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<
d5340 2f 73 70 61 6e 3e 20 75 6e 73 69 67 6e 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 /span>.unsigned.=.<span.class="t
d5360 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 ok-builtin">@intCast</span>(<spa
d5380 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 76 n.class="tok-type">u32</span>,.v
d53a0 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 alue);</span>.<span.class="line"
d53c0 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 >....std.debug.print(<span.class
d53e0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f ="tok-str">&quot;value:.{}\n&quo
d5400 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 75 6e 73 69 67 6e 65 64 7d 29 3b 3c 2f 73 70 61 6e 3e 0a t;</span>,..{unsigned});</span>.
d5420 3c 73 70 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
d5440 65 3e 3c 2f 70 72 65 3e 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
d5460 74 69 6f 6e 20 63 6c 61 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
d5480 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=
d54a0 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 "line">$.<kbd>zig.build-exe.test
d54c0 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
d54e0 69 6e 65 22 3e 3c 2f 73 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">
d5500 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e $.<kbd>./test</kbd></span>.<span
d5520 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 35 32 33 31 20 70 61 6e .class="line">thread.1445231.pan
d5540 69 63 3a 20 61 74 74 65 6d 70 74 20 74 6f 20 63 61 73 74 20 6e 65 67 61 74 69 76 65 20 76 61 6c ic:.attempt.to.cast.negative.val
d5560 75 65 20 74 6f 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 ue.to.unsigned.integer</span>.<s
d5580 70 61 6e 20 63 6c 61 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
d55a0 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d _0">/home/andy/tmp/zig/docgen_tm
d55c0 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 30 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c p/test.zig:5:20</span>:.<span.cl
d55e0 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 39 37 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 ass="t2_0">0x22cd97.in.main.(tes
d5600 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
d5620 6e 65 22 3e 20 20 20 20 76 61 72 20 75 6e 73 69 67 6e 65 64 20 3d 20 40 69 6e 74 43 61 73 74 28 ne">....var.unsigned.=.@intCast(
d5640 75 33 32 2c 20 76 61 6c 75 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d u32,.value);</span>.<span.class=
d5660 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 "line">...................<span.
d5680 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
d56a0 70 61 6e 20 63 6c 61 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
d56c0 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 _0">/home/andy/tmp/zig/lib/std/s
d56e0 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c tart.zig:551:22</span>:.<span.cl
d5700 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 34 36 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x22646c.in.std.start
d5720 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .callMain.(test)</span></span>.<
d5740 73 70 61 6e 20 63 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
d5760 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
d5780 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.
d57a0 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
d57c0 70 61 6e 20 63 6c 61 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
d57e0 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 _0">/home/andy/tmp/zig/lib/std/s
d5800 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c tart.zig:495:12</span>:.<span.cl
d5820 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 38 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x20708e.in.std.start
d5840 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c .callMainWithArgs.(test)</span><
d5860 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 /span>.<span.class="line">....re
d5880 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 turn.@call(.{..modifier.=..alway
d58a0 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 s_inline.},.callMain,..{});</spa
d58c0 6e 3e 0a 3c 73 70 61 6e 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">..........
d58e0 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
d5900 70 61 6e 3e 0a 3c 73 70 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
d5920 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 ass="t1_0">/home/andy/tmp/zig/li
d5940 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c b/std/start.zig:409:17</span>:.<
d5960 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 32 36 20 69 6e 20 73 74 span.class="t2_0">0x206126.in.st
d5980 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 d.start.posixCallMainAndExit.(te
d59a0 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
d59c0 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d ine">....std.os.exit(@call(.{..m
d59e0 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c odifier.=..always_inline.},.call
d5a00 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 MainWithArgs,..{.argc,.argv,.env
d5a20 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 p.}));</span>.<span.class="line"
d5a40 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 >................<span.class="t3
d5a60 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
d5a80 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
d5aa0 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a /andy/tmp/zig/lib/std/start.zig:
d5ac0 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 322:5</span>:.<span.class="t2_0"
d5ae0 3e 30 78 32 30 35 66 33 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 >0x205f32.in.std.start._start.(t
d5b00 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="
d5b20 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e line">....@call(.{..modifier.=..
d5b40 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 never_inline.},.posixCallMainAnd
d5b60 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 Exit,..{});</span>.<span.class="
d5b80 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c line">....<span.class="t32_1">^<
d5ba0 2f 73 70 61 6e 3e 3c 2f 73 70 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"
d5bc0 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c >(process.terminated.by.signal)<
d5be0 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>...
d5c00 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 6d 61 78 69 ....<p>.......To.obtain.the.maxi
d5c20 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 mum.value.of.an.unsigned.integer
d5c40 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 ,.use.<code><span.class="line">s
d5c60 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 td.math.maxInt</span></code>....
d5c80 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 61 ....</p>..............<h3.id="Ca
d5ca0 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 st-Truncates-Data"><a.href="#toc
d5cc0 2d 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e 43 61 73 74 20 54 72 75 6e 63 -Cast-Truncates-Data">Cast.Trunc
d5ce0 61 74 65 73 20 44 61 74 61 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 ates.Data</a>.<a.class="hdr".hre
d5d00 66 3d 22 23 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e c2 a7 3c 2f 61 3e 3c f="#Cast-Truncates-Data">..</a><
d5d20 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c /h3>........<p>At.compile-time:<
d5d40 2f 70 3e 0a 20 20 20 20 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
d5d60 61 73 73 3d 22 7a 69 67 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"
d5d80 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
d5da0 65 3e 3c 63 6f 64 65 3e 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
d5dc0 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>.
d5de0 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
d5e00 3c 73 70 61 6e 20 63 6c 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
d5e20 3e 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f >.spartan_count:.<span.class="to
d5e40 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 k-type">u16</span>.=.<span.class
d5e60 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e ="tok-number">300</span>;</span>
d5e80 0a 3c 73 70 61 6e 20 63 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
d5ea0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 20 3d ass="tok-kw">const</span>.byte.=
d5ec0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 .<span.class="tok-builtin">@intC
d5ee0 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 ast</span>(<span.class="tok-type
d5f00 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 3c 2f 73 70 ">u8</span>,.spartan_count);</sp
d5f20 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 62 an>.<span.class="line">...._.=.b
d5f40 79 74 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d yte;</span>.<span.class="line">}
d5f60 3c 2f 73 70 61 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
d5f80 67 75 72 65 3e 3c 66 69 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
d5fa0 70 22 3e 53 68 65 6c 6c 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>
d5fc0 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
d5fe0 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
d6000 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e lass="line"><span.class="t0_1">.
d6020 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 38 3a 20 3c 2f 73 70 61 /docgen_tmp/test.zig:3:18:.</spa
d6040 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
d6060 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 73 74 20 66 72 6f 6d pan><span.class="t0_1">cast.from
d6080 20 27 75 31 36 27 20 74 6f 20 27 75 38 27 20 74 72 75 6e 63 61 74 65 73 20 62 69 74 73 3c 2f 73 .'u16'.to.'u8'.truncates.bits</s
d60a0 70 61 6e 3e 3c 2f 73 70 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">.
d60c0 20 20 20 63 6f 6e 73 74 20 62 79 74 65 20 3d 20 40 69 6e 74 43 61 73 74 28 75 38 2c 20 73 70 61 ...const.byte.=.@intCast(u8,.spa
d60e0 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d rtan_count);</span>.<span.class=
d6100 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
d6120 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
d6140 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 mp></pre></figure>.......<p>At.r
d6160 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 untime:</p>.......<figure><figca
d6180 70 74 69 6f 6e 20 63 6c 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
d61a0 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
d61c0 74 69 6f 6e 3e 3c 70 72 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
d61e0 65 22 3e 3c 73 70 61 6e 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
d6200 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
d6220 74 69 6e 22 3e 40 69 6d 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=
d6240 22 74 6f 6b 2d 73 74 72 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>
d6260 29 3b 3c 2f 73 70 61 6e 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
d6280 70 61 6e 3e 0a 3c 73 70 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
d62a0 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
d62c0 61 73 73 3d 22 74 6f 6b 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
d62e0 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.
d6300 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>.{</
d6320 73 70 61 6e 3e 0a 3c 73 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
d6340 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 70 61 an.class="tok-kw">var</span>.spa
d6360 72 74 61 6e 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 rtan_count:.<span.class="tok-typ
d6380 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e">u16</span>.=.<span.class="tok
d63a0 2d 6e 75 6d 62 65 72 22 3e 33 30 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 -number">300</span>;</span>.<spa
d63c0 6e 20 63 6c 61 73 73 3d 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="
d63e0 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 20 3d 20 3c 73 70 61 tok-kw">const</span>.byte.=.<spa
d6400 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</
d6420 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c span>(<span.class="tok-type">u8<
d6440 2f 73 70 61 6e 3e 2c 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c /span>,.spartan_count);</span>.<
d6460 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e span.class="line">....std.debug.
d6480 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f print(<span.class="tok-str">&quo
d64a0 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 t;value:.{}\n&quot;</span>,..{by
d64c0 74 65 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e te});</span>.<span.class="line">
d64e0 7d 3c 2f 73 70 61 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
d6500 69 67 75 72 65 3e 3c 66 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
d6520 61 70 22 3e 53 68 65 6c 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
d6540 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
d6560 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>.<
d6580 73 70 61 6e 20 63 6c 61 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.
d65a0 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>
d65c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 </span>.<span.class="line">threa
d65e0 64 20 31 34 34 35 33 36 35 20 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 63 61 73 74 20 74 72 d.1445365.panic:.integer.cast.tr
d6600 75 6e 63 61 74 65 64 20 62 69 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d uncated.bits</span>.<span.class=
d6620 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/
d6640 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 andy/tmp/zig/docgen_tmp/test.zig
d6660 3a 35 3a 31 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 :5:18</span>:.<span.class="t2_0"
d6680 3e 30 78 32 32 63 64 39 63 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c >0x22cd9c.in.main.(test)</span><
d66a0 2f 73 70 61 6e 3e 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
d66c0 6e 73 74 20 62 79 74 65 20 3d 20 40 69 6e 74 43 61 73 74 28 75 38 2c 20 73 70 61 72 74 61 6e 5f nst.byte.=.@intCast(u8,.spartan_
d66e0 63 6f 75 6e 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 count);</span>.<span.class="line
d6700 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">.................<span.class="
d6720 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 t32_1">^</span></span>.<span.cla
d6740 73 73 3d 22 6c 69 6e 65 22 3e 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
d6760 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 me/andy/tmp/zig/lib/std/start.zi
d6780 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 g:551:22</span>:.<span.class="t2
d67a0 5f 30 22 3e 30 78 32 32 36 34 36 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 _0">0x22646c.in.std.start.callMa
d67c0 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
d67e0 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
d6800 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">..
d6820 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="
d6840 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
d6860 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
d6880 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 me/andy/tmp/zig/lib/std/start.zi
d68a0 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 g:495:12</span>:.<span.class="t2
d68c0 5f 30 22 3e 30 78 32 30 37 30 38 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 _0">0x20708e.in.std.start.callMa
d68e0 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a inWithArgs.(test)</span></span>.
d6900 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 <span.class="line">....return.@c
d6920 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e all(.{..modifier.=..always_inlin
d6940 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 e.},.callMain,..{});</span>.<spa
d6960 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 n.class="line">...........<span.
d6980 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
d69a0 70 61 6e 20 63 6c 61 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
d69c0 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 _0">/home/andy/tmp/zig/lib/std/s
d69e0 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c tart.zig:409:17</span>:.<span.cl
d6a00 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 32 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x206126.in.std.start
d6a20 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 .posixCallMainAndExit.(test)</sp
d6a40 61 6e 3e 3c 2f 73 70 61 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">..
d6a60 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 ..std.os.exit(@call(.{..modifier
d6a80 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 .=..always_inline.},.callMainWit
d6aa0 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c hArgs,..{.argc,.argv,.envp.}));<
d6ac0 2f 73 70 61 6e 3e 0a 3c 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">......
d6ae0 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">^<
d6b00 2f 73 70 61 6e 3e 3c 2f 73 70 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"
d6b20 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 ><span.class="t1_0">/home/andy/t
d6b40 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f mp/zig/lib/std/start.zig:322:5</
d6b60 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 span>:.<span.class="t2_0">0x205f
d6b80 33 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 32.in.std.start._start.(test)</s
d6ba0 70 61 6e 3e 3c 2f 73 70 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">.
d6bc0 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 ...@call(.{..modifier.=..never_i
d6be0 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e nline.},.posixCallMainAndExit,..
d6c00 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 {});</span>.<span.class="line">.
d6c20 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><
d6c40 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 /span>.<span.class="line">(proce
d6c60 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a ss.terminated.by.signal)</span>.
d6c80 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>
d6ca0 0a 20 20 20 20 20 20 54 6f 20 74 72 75 6e 63 61 74 65 20 62 69 74 73 2c 20 75 73 65 20 3c 61 20 .......To.truncate.bits,.use.<a.
d6cc0 68 72 65 66 3d 22 23 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 2e 0a href="#truncate">@truncate</a>..
d6ce0 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="
d6d00 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d Integer-Overflow"><a.href="#toc-
d6d20 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e 49 6e 74 65 67 65 72 20 4f 76 65 72 66 6c Integer-Overflow">Integer.Overfl
d6d40 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 ow</a>.<a.class="hdr".href="#Int
d6d60 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 eger-Overflow">..</a></h3>......
d6d80 20 20 3c 68 34 20 69 64 3d 22 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 3c 61 ..<h4.id="Default-Operations"><a
d6da0 20 68 72 65 66 3d 22 23 74 6f 63 2d 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e .href="#toc-Default-Operations">
d6dc0 44 65 66 61 75 6c 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d Default.Operations</a>.<a.class=
d6de0 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 "hdr".href="#Default-Operations"
d6e00 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 66 6f 6c 6c 6f >..</a></h4>........<p>The.follo
d6e20 77 69 6e 67 20 6f 70 65 72 61 74 6f 72 73 20 63 61 6e 20 63 61 75 73 65 20 69 6e 74 65 67 65 72 wing.operators.can.cause.integer
d6e40 20 6f 76 65 72 66 6c 6f 77 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 .overflow:</p>.......<ul>.......
d6e60 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"
d6e80 3e 2b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 61 64 64 69 74 69 6f 6e 29 3c 2f 6c 69 3e >+</span></code>.(addition)</li>
d6ea0 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
d6ec0 3d 22 6c 69 6e 65 22 3e 2d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 73 75 62 74 72 61 63 ="line">-</span></code>.(subtrac
d6ee0 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c tion)</li>...........<li><code><
d6f00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 span.class="line">-</span></code
d6f20 3e 20 28 6e 65 67 61 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e >.(negation)</li>...........<li>
d6f40 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 3c 2f 73 70 61 6e <code><span.class="line">*</span
d6f60 3e 3c 2f 63 6f 64 65 3e 20 28 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 ></code>.(multiplication)</li>..
d6f80 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="
d6fa0 6c 69 6e 65 22 3e 2f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 64 69 76 69 73 69 6f 6e 29 line">/</span></code>.(division)
d6fc0 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 54 </li>.........<li><a.href="#divT
d6fe0 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 20 28 64 69 76 69 73 69 6f 6e 29 3c 2f runc">@divTrunc</a>.(division)</
d7000 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f li>.........<li><a.href="#divFlo
d7020 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 20 28 64 69 76 69 73 69 6f 6e 29 3c 2f 6c 69 or">@divFloor</a>.(division)</li
d7040 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 >.........<li><a.href="#divExact
d7060 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 20 28 64 69 76 69 73 69 6f 6e 29 3c 2f 6c 69 3e 0a ">@divExact</a>.(division)</li>.
d7080 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 45 78 61 6d 70 6c 65 20 77 69 74 ......</ul>.......<p>Example.wit
d70a0 68 20 61 64 64 69 74 69 6f 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a h.addition.at.compile-time:</p>.
d70c0 20 20 20 20 20 20 3c 66 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=
d70e0 22 7a 69 67 2d 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
d7100 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
d7120 6f 64 65 3e 3c 73 70 61 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
d7140 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
d7160 70 61 6e 3e 0a 3c 73 70 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
d7180 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 n.class="tok-kw">var</span>.byte
d71a0 3a 20 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
d71c0 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 n>.=.<span.class="tok-number">25
d71e0 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 5</span>;</span>.<span.class="li
d7200 6e 65 22 3e 20 20 20 20 62 79 74 65 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ne">....byte.+=.<span.class="tok
d7220 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.
d7240 63 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
d7260 65 3e 3c 2f 66 69 67 75 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
d7280 6c 61 73 73 3d 22 73 68 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
d72a0 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"
d72c0 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><
d72e0 2f 73 70 61 6e 3e 0a 3c 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.
d7300 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a class="t0_1">./docgen_tmp/test.z
d7320 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
d7340 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
d7360 30 5f 31 22 3e 6f 70 65 72 61 74 69 6f 6e 20 63 61 75 73 65 64 20 6f 76 65 72 66 6c 6f 77 3c 2f 0_1">operation.caused.overflow</
d7380 73 70 61 6e 3e 3c 2f 73 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">
d73a0 20 20 20 20 62 79 74 65 20 2b 3d 20 31 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ....byte.+=.1;</span>.<span.clas
d73c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 s="line">.........<span.class="t
d73e0 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 32_1">^</span></span>.</samp></p
d7400 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 re></figure>.......<p>At.runtime
d7420 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.
d7440 63 6c 61 73 73 3d 22 7a 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
d7460 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><
d7480 70 72 65 3e 3c 63 6f 64 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
d74a0 61 6e 20 63 6c 61 73 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
d74c0 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">@
d74e0 69 6d 70 6f 72 74 3c 2f 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
d7500 74 72 22 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
d7520 61 6e 3e 0a 3c 73 70 61 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>.<
d7540 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
d7560 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
d7580 6f 6b 2d 6b 77 22 3e 66 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
d75a0 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=
d75c0 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>.
d75e0 3c 73 70 61 6e 20 63 6c 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
d7600 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 3c 73 70 ss="tok-kw">var</span>.byte:.<sp
d7620 61 6e 20 63 6c 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>.=.
d7640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 <span.class="tok-number">255</sp
d7660 61 6e 3e 3b 3c 2f 73 70 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">.
d7680 20 20 20 62 79 74 65 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 ...byte.+=.<span.class="tok-numb
d76a0 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
d76c0 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
d76e0 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:.{
d7700 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 7d 29 3b 3c 2f 73 70 61 }\n&quot;</span>,..{byte});</spa
d7720 6e 3e 0a 3c 73 70 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></
d7740 63 6f 64 65 3e 3c 2f 70 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
d7760 63 61 70 74 69 6f 6e 20 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<
d7780 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
d77a0 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 ss="line">$.<kbd>zig.build-exe.t
d77c0 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
d77e0 3d 22 6c 69 6e 65 22 3e 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
d7800 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 e">$.<kbd>./test</kbd></span>.<s
d7820 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 35 34 34 34 20 pan.class="line">thread.1445444.
d7840 70 61 6e 69 63 3a 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 3c panic:.integer.overflow</span>.<
d7860 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
d7880 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 1_0">/home/andy/tmp/zig/docgen_t
d78a0 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
d78c0 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 37 66 20 69 6e 20 6d 61 69 6e 20 28 74 65 lass="t2_0">0x22cd7f.in.main.(te
d78e0 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
d7900 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
d7920 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
d7940 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
d7960 20 63 6c 61 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"
d7980 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 >/home/andy/tmp/zig/lib/std/star
d79a0 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 t.zig:551:22</span>:.<span.class
d79c0 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 34 36 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 ="t2_0">0x22646c.in.std.start.ca
d79e0 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 llMain.(test)</span></span>.<spa
d7a00 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e n.class="line">............root.
d7a20 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 main();</span>.<span.class="line
d7a40 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 ">.....................<span.cla
d7a60 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
d7a80 20 63 6c 61 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"
d7aa0 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 >/home/andy/tmp/zig/lib/std/star
d7ac0 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 t.zig:495:12</span>:.<span.class
d7ae0 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 38 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 ="t2_0">0x20708e.in.std.start.ca
d7b00 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 llMainWithArgs.(test)</span></sp
d7b20 61 6e 3e 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
d7b40 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 n.@call(.{..modifier.=..always_i
d7b60 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a nline.},.callMain,..{});</span>.
d7b80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 <span.class="line">...........<s
d7ba0 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
d7bc0 3e 0a 3c 73 70 61 6e 20 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
d7be0 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 ="t1_0">/home/andy/tmp/zig/lib/s
d7c00 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 td/start.zig:409:17</span>:.<spa
d7c20 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 32 36 20 69 6e 20 73 74 64 2e 73 n.class="t2_0">0x206126.in.std.s
d7c40 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 tart.posixCallMainAndExit.(test)
d7c60 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
d7c80 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 ">....std.os.exit(@call(.{..modi
d7ca0 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 fier.=..always_inline.},.callMai
d7cc0 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d nWithArgs,..{.argc,.argv,.envp.}
d7ce0 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">..
d7d00 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
d7d20 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
d7d40 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e ine"><span.class="t1_0">/home/an
d7d60 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 dy/tmp/zig/lib/std/start.zig:322
d7d80 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 :5</span>:.<span.class="t2_0">0x
d7da0 32 30 35 66 33 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 205f32.in.std.start._start.(test
d7dc0 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
d7de0 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 e">....@call(.{..modifier.=..nev
d7e00 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 er_inline.},.posixCallMainAndExi
d7e20 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e t,..{});</span>.<span.class="lin
d7e40 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
d7e60 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 an></span>.<span.class="line">(p
d7e80 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 rocess.terminated.by.signal)</sp
d7ea0 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>......
d7ec0 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 ........<h4.id="Standard-Library
d7ee0 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 -Math-Functions"><a.href="#toc-S
d7f00 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 3e tandard-Library-Math-Functions">
d7f20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 4d 61 74 68 20 46 75 6e 63 74 69 6f 6e 73 3c Standard.Library.Math.Functions<
d7f40 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 61 6e 64 61 /a>.<a.class="hdr".href="#Standa
d7f60 72 64 2d 4c 69 62 72 61 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 rd-Library-Math-Functions">..</a
d7f80 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 ></h4>........<p>These.functions
d7fa0 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 .provided.by.the.standard.librar
d7fc0 79 20 72 65 74 75 72 6e 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 73 2e 3c 2f 70 3e 0a 20 20 y.return.possible.errors.</p>...
d7fe0 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 ....<ul>...........<li><code><sp
d8000 61 6e 20 63 6c 61 73 73 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
d8020 2d 62 75 69 6c 74 69 6e 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
d8040 6c 61 73 73 3d 22 74 6f 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;</
d8060 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 61 64 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c span>).math.add</span></code></l
d8080 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
d80a0 73 73 3d 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
d80c0 69 6e 22 3e 40 69 6d 70 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="
d80e0 74 6f 6b 2d 73 74 72 22 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>)
d8100 2e 6d 61 74 68 2e 73 75 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 .math.sub</span></code></li>....
d8120 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
d8140 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
d8160 6d 70 6f 72 74 3c 2f 73 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
d8180 72 22 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.
d81a0 6d 75 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 mul</span></code></li>..........
d81c0 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
d81e0 70 61 6e 20 63 6c 61 73 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<
d8200 2f 73 70 61 6e 3e 28 3c 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
d8220 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 54 72 75 ot;std&quot;</span>).math.divTru
d8240 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 nc</span></code></li>...........
d8260 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
d8280 61 6e 20 63 6c 61 73 73 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</
d82a0 73 70 61 6e 3e 28 3c 73 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
d82c0 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 46 6c 6f 6f t;std&quot;</span>).math.divFloo
d82e0 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c r</span></code></li>...........<
d8300 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
d8320 6e 20 63 6c 61 73 73 3d 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
d8340 70 61 6e 3e 28 3c 73 70 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
d8360 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 45 78 61 63 74 ;std&quot;</span>).math.divExact
d8380 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
d83a0 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
d83c0 20 63 6c 61 73 73 3d 22 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
d83e0 61 6e 3e 28 3c 73 70 61 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;
d8400 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 73 68 6c 3c 2f 73 70 61 6e std&quot;</span>).math.shl</span
d8420 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 ></code></li>.......</ul>.......
d8440 3c 70 3e 45 78 61 6d 70 6c 65 20 6f 66 20 63 61 74 63 68 69 6e 67 20 61 6e 20 6f 76 65 72 66 6c <p>Example.of.catching.an.overfl
d8460 6f 77 20 66 6f 72 20 61 64 64 69 74 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 ow.for.addition:</p>.......<figu
d8480 72 65 3e 3c 66 69 67 63 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"><
d84a0 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
d84c0 3e 3c 2f 66 69 67 63 61 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
d84e0 6c 61 73 73 3d 22 6c 69 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"
d8500 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 74 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 >const</span>.math.=.<span.class
d8520 3d 22 74 6f 6b 2d 62 75 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
d8540 70 61 6e 20 63 6c 61 73 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
d8560 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ot;</span>).math;</span>.<span.c
d8580 6c 61 73 73 3d 22 6c 69 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"
d85a0 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
d85c0 73 3d 22 74 6f 6b 2d 62 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>(<
d85e0 73 70 61 6e 20 63 6c 61 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
d8600 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>
d8620 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
d8640 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=
d8660 22 74 6f 6b 2d 6b 77 22 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="
d8680 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 tok-fn">main</span>().!<span.cla
d86a0 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
d86c0 6e 3e 0a 3c 73 70 61 6e 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.
d86e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 class="tok-kw">var</span>.byte:.
d8700 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>
d8720 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c .=.<span.class="tok-number">255<
d8740 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
d8760 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 "></span>.<span.class="line">...
d8780 20 62 79 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c .byte.=.<span.class="tok-kw">if<
d87a0 2f 73 70 61 6e 3e 20 28 6d 61 74 68 2e 61 64 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f /span>.(math.add(<span.class="to
d87c0 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 2c 20 3c 73 70 61 6e 20 63 k-type">u8</span>,.byte,.<span.c
d87e0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 20 7c 72 65 lass="tok-number">1</span>)).|re
d8800 73 75 6c 74 7c 20 72 65 73 75 6c 74 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 sult|.result.<span.class="tok-kw
d8820 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">else</span>.|err|.{</span>.<sp
d8840 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
d8860 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 6e 61 62 6c 65 pan.class="tok-str">&quot;unable
d8880 20 74 6f 20 61 64 64 20 6f 6e 65 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c .to.add.one:.{s}\n&quot;</span>,
d88a0 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 ..{<span.class="tok-builtin">@er
d88c0 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 rorName</span>(err)});</span>.<s
d88e0 70 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
d8900 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b lass="tok-kw">return</span>.err;
d8920 3c 2f 73 70 61 6e 3e 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">....}
d8940 3b 3c 2f 73 70 61 6e 3e 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
d8960 61 6e 3e 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
d8980 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 65 73 (<span.class="tok-str">&quot;res
d89a0 75 6c 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 7d 29 ult:.{}\n&quot;</span>,..{byte})
d89c0 3b 3c 2f 73 70 61 6e 3e 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
d89e0 70 61 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
d8a00 65 3e 3c 66 69 67 63 61 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">
d8a20 53 68 65 6c 6c 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
d8a40 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
d8a60 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
d8a80 20 63 6c 61 73 73 3d 22 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
d8aa0 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
d8ac0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 75 6e 61 62 6c 65 20 74 6f an>.<span.class="line">unable.to
d8ae0 20 61 64 64 20 6f 6e 65 3a 20 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .add.one:.Overflow</span>.<span.
d8b00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 72 72 6f 72 3a 20 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 class="line">error:.Overflow</sp
d8b20 61 6e 3e 0a 3c 73 70 61 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
d8b40 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
d8b60 2f 73 74 64 2f 6d 61 74 68 2e 7a 69 67 3a 34 36 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 /std/math.zig:463:5</span>:.<spa
d8b80 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 34 37 62 20 69 6e 20 73 74 64 2e 6d n.class="t2_0">0x23447b.in.std.m
d8ba0 61 74 68 2e 61 64 64 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ath.add.(test)</span></span>.<sp
d8bc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 69 66 20 28 40 an.class="line">....return.if.(@
d8be0 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 28 54 2c 20 61 2c 20 62 2c 20 26 61 6d 70 3b 61 6e addWithOverflow(T,.a,.b,.&amp;an
d8c00 73 77 65 72 29 29 20 65 72 72 6f 72 2e 4f 76 65 72 66 6c 6f 77 20 65 6c 73 65 20 61 6e 73 77 65 swer)).error.Overflow.else.answe
d8c20 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">...
d8c40 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
d8c60 70 61 6e 3e 0a 3c 73 70 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
d8c80 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f ass="t1_0">/home/andy/tmp/zig/do
d8ca0 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 38 3a 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 cgen_tmp/test.zig:8:9</span>:.<s
d8cc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 64 30 63 34 20 69 6e 20 6d 61 69 pan.class="t2_0">0x22d0c4.in.mai
d8ce0 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
d8d00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 3b 3c 2f 73 ss="line">........return.err;</s
d8d20 70 61 6e 3e 0a 3c 73 70 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">........
d8d40 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
d8d60 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>......
d8d80 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 ........<h4.id="Builtin-Overflow
d8da0 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 75 69 6c 74 69 -Functions"><a.href="#toc-Builti
d8dc0 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 4f 76 n-Overflow-Functions">Builtin.Ov
d8de0 65 72 66 6c 6f 77 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 erflow.Functions</a>.<a.class="h
d8e00 64 72 22 20 68 72 65 66 3d 22 23 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 dr".href="#Builtin-Overflow-Func
d8e20 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 tions">..</a></h4>........<p>...
d8e40 20 20 20 20 54 68 65 73 65 20 62 75 69 6c 74 69 6e 73 20 72 65 74 75 72 6e 20 61 20 3c 63 6f 64 ....These.builtins.return.a.<cod
d8e60 65 3e 3c 73 70 61 6e 20 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
d8e80 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f ="tok-type">bool</span></span></
d8ea0 63 6f 64 65 3e 20 6f 66 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 6f 76 65 72 66 6c 6f 77 code>.of.whether.or.not.overflow
d8ec0 0a 20 20 20 20 20 20 6f 63 63 75 72 72 65 64 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 72 65 74 75 .......occurred,.as.well.as.retu
d8ee0 72 6e 69 6e 67 20 74 68 65 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 3a 0a 20 20 20 20 20 rning.the.overflowed.bits:......
d8f00 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c .</p>.......<ul>...........<li><
d8f20 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 a.href="#addWithOverflow">@addWi
d8f40 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c thOverflow</a></li>...........<l
d8f60 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 75 i><a.href="#subWithOverflow">@su
d8f80 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 bWithOverflow</a></li>..........
d8fa0 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e .<li><a.href="#mulWithOverflow">
d8fc0 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 @mulWithOverflow</a></li>.......
d8fe0 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f ....<li><a.href="#shlWithOverflo
d9000 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 w">@shlWithOverflow</a></li>....
d9020 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 61 6d 70 6c 65 ...</ul>.......<p>.......Example
d9040 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 .of.<a.href="#addWithOverflow">@
d9060 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a addWithOverflow</a>:.......</p>.
d9080 20 20 20 20 20 20 3c 66 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=
d90a0 22 7a 69 67 2d 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
d90c0 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
d90e0 6f 64 65 3e 3c 73 70 61 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
d9100 73 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.=
d9120 20 3c 73 70 61 6e 20 63 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
d9140 72 74 3c 2f 73 70 61 6e 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">
d9160 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
d9180 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"><
d91a0 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>.<
d91c0 73 70 61 6e 20 63 6c 61 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
d91e0 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>()
d9200 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
d9220 61 6e 3e 20 7b 3c 2f 73 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">
d9240 20 20 20 20 3c 73 70 61 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
d9260 61 6e 3e 20 62 79 74 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 an>.byte:.<span.class="tok-type"
d9280 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
d92a0 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 mber">255</span>;</span>.<span.c
d92c0 6c 61 73 73 3d 22 6c 69 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=
d92e0 22 6c 69 6e 65 22 3e 20 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">
d9300 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 var</span>.result:.<span.class="
d9320 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
d9340 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 3c 2f s="tok-null">undefined</span>;</
d9360 73 70 61 6e 3e 0a 3c 73 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
d9380 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 an.class="tok-kw">if</span>.(<sp
d93a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 64 64 57 69 74 68 4f an.class="tok-builtin">@addWithO
d93c0 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d verflow</span>(<span.class="tok-
d93e0 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 2c 20 3c 73 70 61 6e 20 63 6c 61 type">u8</span>,.byte,.<span.cla
d9400 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b ss="tok-number">10</span>,.&amp;
d9420 72 65 73 75 6c 74 29 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c result)).{</span>.<span.class="l
d9440 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">........print(<span.class="
d9460 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 76 65 72 66 6c 6f 77 65 64 20 72 65 73 75 6c 74 tok-str">&quot;overflowed.result
d9480 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 72 65 73 75 6c 74 7d 29 3b :.{}\n&quot;</span>,..{result});
d94a0 3c 2f 73 70 61 6e 3e 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">....}
d94c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e .<span.class="tok-kw">else</span
d94e0 3e 20 7b 3c 2f 73 70 61 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">..
d9500 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 ......print(<span.class="tok-str
d9520 22 3e 26 71 75 6f 74 3b 72 65 73 75 6c 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e ">&quot;result:.{}\n&quot;</span
d9540 3e 2c 20 2e 7b 72 65 73 75 6c 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >,..{result});</span>.<span.clas
d9560 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
d9580 73 3d 22 6c 69 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></
d95a0 66 69 67 75 72 65 3e 3c 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
d95c0 3d 22 73 68 65 6c 6c 2d 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><
d95e0 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">$.<
d9600 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>
d9620 3c 2f 73 70 61 6e 3e 0a 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
d9640 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
d9660 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
d9680 6e 65 22 3e 6f 76 65 72 66 6c 6f 77 65 64 20 72 65 73 75 6c 74 3a 20 39 3c 2f 73 70 61 6e 3e 0a ne">overflowed.result:.9</span>.
d96a0 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>..........
d96c0 20 20 20 20 3c 68 34 20 69 64 3d 22 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 ....<h4.id="Wrapping-Operations"
d96e0 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f ><a.href="#toc-Wrapping-Operatio
d9700 6e 73 22 3e 57 72 61 70 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 ns">Wrapping.Operations</a>.<a.c
d9720 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 lass="hdr".href="#Wrapping-Opera
d9740 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 tions">..</a></h4>........<p>...
d9760 20 20 20 20 54 68 65 73 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 68 61 76 65 20 67 75 61 72 61 6e ....These.operations.have.guaran
d9780 74 65 65 64 20 77 72 61 70 61 72 6f 75 6e 64 20 73 65 6d 61 6e 74 69 63 73 2e 0a 20 20 20 20 20 teed.wraparound.semantics.......
d97a0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c .</p>.......<ul>...........<li><
d97c0 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2b 25 3c 2f 73 70 61 6e code><span.class="line">+%</span
d97e0 3e 3c 2f 63 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 61 64 64 69 74 69 6f 6e 29 3c 2f ></code>.(wraparound.addition)</
d9800 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
d9820 61 73 73 3d 22 6c 69 6e 65 22 3e 2d 25 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 77 72 61 ass="line">-%</span></code>.(wra
d9840 70 61 72 6f 75 6e 64 20 73 75 62 74 72 61 63 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 paround.subtraction)</li>.......
d9860 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"
d9880 3e 2d 25 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 6e 65 >-%</span></code>.(wraparound.ne
d98a0 67 61 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 gation)</li>...........<li><code
d98c0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 25 3c 2f 73 70 61 6e 3e 3c 2f 63 ><span.class="line">*%</span></c
d98e0 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e 29 ode>.(wraparound.multiplication)
d9900 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e </li>.......</ul>.......<figure>
d9920 3c 66 69 67 63 61 70 74 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
d9940 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 72 61 70 61 72 6f 75 6e 64 5f 73 65 6d 61 6e 74 e.class="file">wraparound_semant
d9960 69 63 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e ics.zig</cite></figcaption><pre>
d9980 3c 63 6f 64 65 3e 3c 73 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
d99a0 6c 61 73 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.=
d99c0 20 3c 73 70 61 6e 20 63 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
d99e0 72 74 3c 2f 73 70 61 6e 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">
d9a00 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>.
d9a20 3c 73 70 61 6e 20 63 6c 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="
d9a40 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
d9a60 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
d9a80 6c 61 73 73 3d 22 6c 69 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"
d9aa0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 69 6e 49 6e 74 20 3d 20 73 74 64 2e 6d 61 74 68 2e >const</span>.minInt.=.std.math.
d9ac0 6d 69 6e 49 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 minInt;</span>.<span.class="line
d9ae0 22 3e 3c 73 70 61 6e 20 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
d9b00 61 6e 3e 20 6d 61 78 49 6e 74 20 3d 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 3b 3c 2f 73 an>.maxInt.=.std.math.maxInt;</s
d9b20 70 61 6e 3e 0a 3c 73 70 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>.
d9b40 3c 73 70 61 6e 20 63 6c 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="
d9b60 74 6f 6b 2d 6b 77 22 3e 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=
d9b80 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 72 61 70 61 72 6f 75 6e 64 20 61 64 64 69 74 "tok-str">&quot;wraparound.addit
d9ba0 69 6f 6e 20 61 6e 64 20 73 75 62 74 72 61 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e ion.and.subtraction&quot;</span>
d9bc0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
d9be0 20 3c 73 70 61 6e 20 63 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
d9c00 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 n>.x:.<span.class="tok-type">i32
d9c20 3c 2f 73 70 61 6e 3e 20 3d 20 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f </span>.=.maxInt(<span.class="to
d9c40 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-type">i32</span>);</span>.<spa
d9c60 6e 20 63 6c 61 73 73 3d 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="
d9c80 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 69 6e 5f 76 61 6c 20 3d 20 78 tok-kw">const</span>.min_val.=.x
d9ca0 20 2b 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f .+%.<span.class="tok-number">1</
d9cc0 73 70 61 6e 3e 3b 3c 2f 73 70 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"
d9ce0 3e 20 20 20 20 3c 73 70 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
d9d00 70 61 6e 3e 20 65 78 70 65 63 74 28 6d 69 6e 5f 76 61 6c 20 3d 3d 20 6d 69 6e 49 6e 74 28 3c 73 pan>.expect(min_val.==.minInt(<s
d9d20 70 61 6e 20 63 6c 61 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>)
d9d40 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
d9d60 20 3c 73 70 61 6e 20 63 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
d9d80 6e 3e 20 6d 61 78 5f 76 61 6c 20 3d 20 6d 69 6e 5f 76 61 6c 20 2d 25 20 3c 73 70 61 6e 20 63 6c n>.max_val.=.min_val.-%.<span.cl
d9da0 61 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
d9dc0 3e 0a 3c 73 70 61 6e 20 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
d9de0 6c 61 73 73 3d 22 74 6f 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(
d9e00 6d 61 78 5f 76 61 6c 20 3d 3d 20 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 max_val.==.maxInt(<span.class="t
d9e20 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
d9e40 70 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>
d9e60 3c 2f 70 72 65 3e 3c 2f 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
d9e80 6f 6e 20 63 6c 61 73 73 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
d9ea0 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
d9ec0 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 77 72 61 70 61 72 6f 75 6e 64 5f ine">$.<kbd>zig.test.wraparound_
d9ee0 73 65 6d 61 6e 74 69 63 73 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e semantics.zig</kbd></span>.<span
d9f00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 72 61 .class="line">1/1.test.&quot;wra
d9f20 70 61 72 6f 75 6e 64 20 61 64 64 69 74 69 6f 6e 20 61 6e 64 20 73 75 62 74 72 61 63 74 69 6f 6e paround.addition.and.subtraction
d9f40 26 71 75 6f 74 3b 2e 2e 2e 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &quot;....OK</span>.<span.class=
d9f60 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
d9f80 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>........
d9fa0 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 61 63 74 2d 4c 65 66 74 2d .............<h3.id="Exact-Left-
d9fc0 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 Shift-Overflow"><a.href="#toc-Ex
d9fe0 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 20 4c act-Left-Shift-Overflow">Exact.L
da000 65 66 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d eft.Shift.Overflow</a>.<a.class=
da020 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 "hdr".href="#Exact-Left-Shift-Ov
da040 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 erflow">..</a></h3>........<p>At
da060 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
da080 3e 3c 66 69 67 63 61 70 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
da0a0 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><
da0c0 2f 66 69 67 63 61 70 74 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
da0e0 73 73 3d 22 6c 69 6e 65 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
da100 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
da120 61 73 73 3d 22 6c 69 6e 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-
da140 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 kw">const</span>.x.=.<span.class
da160 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 ="tok-builtin">@shlExact</span>(
da180 3c 73 70 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
da1a0 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</
da1c0 73 70 61 6e 3e 2c 20 3c 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">
da1e0 30 62 30 31 30 31 30 31 30 31 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 0b01010101</span>),.<span.class=
da200 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>.<
da220 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 78 3b 3c 2f 73 70 span.class="line">...._.=.x;</sp
da240 61 6e 3e 0a 3c 73 70 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><
da260 2f 63 6f 64 65 3e 3c 2f 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
da280 67 63 61 70 74 69 6f 6e 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
da2a0 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
da2c0 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e ass="line">$.<kbd>zig.test.test.
da2e0 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
da300 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f ne"><span.class="t0_1">./docgen_
da320 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 tmp/test.zig:2:15:.</span><span.
da340 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
da360 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 6f 70 65 72 61 74 69 6f 6e 20 63 61 75 73 65 64 20 n.class="t0_1">operation.caused.
da380 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 overflow</span></span>.<span.cla
da3a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 40 73 68 6c 45 78 61 63 ss="line">....const.x.=.@shlExac
da3c0 74 28 40 61 73 28 75 38 2c 20 30 62 30 31 30 31 30 31 30 31 29 2c 20 32 29 3b 3c 2f 73 70 61 6e t(@as(u8,.0b01010101),.2);</span
da3e0 3e 0a 3c 73 70 61 6e 20 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">...........
da400 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><
da420 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>...
da440 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 ....<p>At.runtime:</p>.......<fi
da460 67 75 72 65 3e 3c 66 69 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"
da480 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
da4a0 74 65 3e 3c 2f 66 69 67 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
da4c0 20 63 6c 61 73 73 3d 22 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
da4e0 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
da500 73 3d 22 74 6f 6b 2d 62 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>(<
da520 73 70 61 6e 20 63 6c 61 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
da540 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
da560 3d 22 6c 69 6e 65 22 3e 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
da580 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
da5a0 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
da5c0 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
da5e0 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 n>().<span.class="tok-type">void
da600 3c 2f 73 70 61 6e 3e 20 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
da620 6e 65 22 3e 20 20 20 20 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
da640 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 </span>.x:.<span.class="tok-type
da660 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e ">u8</span>.=.<span.class="tok-n
da680 75 6d 62 65 72 22 3e 30 62 30 31 30 31 30 31 30 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e umber">0b01010101</span>;</span>
da6a0 0a 3c 73 70 61 6e 20 63 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
da6c0 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 ass="tok-kw">var</span>.y.=.<spa
da6e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 45 78 61 63 74 3c n.class="tok-builtin">@shlExact<
da700 2f 73 70 61 6e 3e 28 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 /span>(x,.<span.class="tok-numbe
da720 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
da740 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
da760 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:.{
da780 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 79 7d 29 3b 3c 2f 73 70 61 6e 3e 0a }\n&quot;</span>,..{y});</span>.
da7a0 3c 73 70 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
da7c0 65 3e 3c 2f 70 72 65 3e 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
da7e0 74 69 6f 6e 20 63 6c 61 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
da800 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=
da820 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 "line">$.<kbd>zig.build-exe.test
da840 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
da860 69 6e 65 22 3e 3c 2f 73 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">
da880 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e $.<kbd>./test</kbd></span>.<span
da8a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 36 31 30 33 20 70 61 6e .class="line">thread.1446103.pan
da8c0 69 63 3a 20 6c 65 66 74 20 73 68 69 66 74 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 3c 2f ic:.left.shift.overflowed.bits</
da8e0 73 70 61 6e 3e 0a 3c 73 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
da900 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 lass="t1_0">/home/andy/tmp/zig/d
da920 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 33 3c 2f 73 70 61 6e 3e 3a 20 ocgen_tmp/test.zig:5:13</span>:.
da940 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 64 62 20 69 6e 20 6d <span.class="t2_0">0x22cddb.in.m
da960 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ain.(test)</span></span>.<span.c
da980 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 79 20 3d 20 40 73 68 6c 45 78 61 63 lass="line">....var.y.=.@shlExac
da9a0 74 28 78 2c 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e t(x,.2);</span>.<span.class="lin
da9c0 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_
da9e0 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="
daa00 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 line"><span.class="t1_0">/home/a
daa20 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 ndy/tmp/zig/lib/std/start.zig:55
daa40 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 1:22</span>:.<span.class="t2_0">
daa60 30 78 32 32 36 34 61 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 0x2264ac.in.std.start.callMain.(
daa80 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=
daaa0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c "line">............root.main();<
daac0 2f 73 70 61 6e 3e 0a 3c 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">......
daae0 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_
dab00 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="
dab20 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 line"><span.class="t1_0">/home/a
dab40 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 ndy/tmp/zig/lib/std/start.zig:49
dab60 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 5:12</span>:.<span.class="t2_0">
dab80 30 78 32 30 37 30 63 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 0x2070ce.in.std.start.callMainWi
daba0 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 thArgs.(test)</span></span>.<spa
dabc0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 n.class="line">....return.@call(
dabe0 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c .{..modifier.=..always_inline.},
dac00 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .callMain,..{});</span>.<span.cl
dac20 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ass="line">...........<span.clas
dac40 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.
dac60 63 6c 61 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">
dac80 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 /home/andy/tmp/zig/lib/std/start
daca0 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .zig:409:17</span>:.<span.class=
dacc0 22 74 32 5f 30 22 3e 30 78 32 30 36 31 36 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 "t2_0">0x206166.in.std.start.pos
dace0 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c ixCallMainAndExit.(test)</span><
dad00 2f 73 70 61 6e 3e 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
dad20 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e d.os.exit(@call(.{..modifier.=..
dad40 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 always_inline.},.callMainWithArg
dad60 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 s,..{.argc,.argv,.envp.}));</spa
dad80 6e 3e 0a 3c 73 70 61 6e 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">..........
dada0 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
dadc0 6e 3e 3c 2f 73 70 61 6e 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
dade0 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
dae00 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e ig/lib/std/start.zig:322:5</span
dae20 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 37 32 20 69 >:.<span.class="t2_0">0x205f72.i
dae40 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e n.std.start._start.(test)</span>
dae60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 </span>.<span.class="line">....@
dae80 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e call(.{..modifier.=..never_inlin
daea0 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b e.},.posixCallMainAndExit,..{});
daec0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c </span>.<span.class="line">....<
daee0 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
daf00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 n>.<span.class="line">(process.t
daf20 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 erminated.by.signal)</span>.</sa
daf40 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>..............
daf60 3c 68 33 20 69 64 3d 22 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c <h3.id="Exact-Right-Shift-Overfl
daf80 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 ow"><a.href="#toc-Exact-Right-Sh
dafa0 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 20 52 69 67 68 74 20 53 68 69 66 74 20 ift-Overflow">Exact.Right.Shift.
dafc0 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 Overflow</a>.<a.class="hdr".href
dafe0 3d 22 23 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 ="#Exact-Right-Shift-Overflow">.
db000 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d .</a></h3>........<p>At.compile-
db020 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 time:</p>.......<figure><figcapt
db040 69 6f 6e 20 63 6c 61 73 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=
db060 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
db080 6f 6e 3e 3c 70 72 65 3e 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"
db0a0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f ><span.class="tok-kw">comptime</
db0c0 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>.{</span>.<span.class="line
db0e0 22 3e 20 20 20 20 3c 73 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
db100 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 </span>.x.=.<span.class="tok-bui
db120 6c 74 69 6e 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 ltin">@shrExact</span>(<span.cla
db140 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
db160 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 n.class="tok-type">u8</span>,.<s
db180 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 30 31 30 31 pan.class="tok-number">0b1010101
db1a0 30 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 0</span>),.<span.class="tok-numb
db1c0 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 er">2</span>);</span>.<span.clas
db1e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 78 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e s="line">...._.=.x;</span>.<span
db200 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
db220 72 65 3e 3c 2f 66 69 67 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.
db240 63 6c 61 73 73 3d 22 73 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
db260 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
db280 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e ">$.<kbd>zig.test.test.zig</kbd>
db2a0 3c 2f 73 70 61 6e 3e 0a 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
db2c0 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.
db2e0 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
db300 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="
db320 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.
db340 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="
db360 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
db380 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
db3a0 70 61 6e 20 63 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">..............<
db3c0 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
db3e0 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>.......
db400 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
db420 3e 3c 66 69 67 63 61 70 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
db440 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><
db460 2f 66 69 67 63 61 70 74 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
db480 73 73 3d 22 6c 69 6e 65 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
db4a0 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
db4c0 6f 6b 2d 62 75 69 6c 74 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
db4e0 20 63 6c 61 73 73 3d 22 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;
db500 3c 2f 73 70 61 6e 3e 29 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
db520 6e 65 22 3e 3c 2f 73 70 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"><
db540 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>.<
db560 73 70 61 6e 20 63 6c 61 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
db580 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>()
db5a0 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
db5c0 61 6e 3e 20 7b 3c 2f 73 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">
db5e0 20 20 20 20 3c 73 70 61 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
db600 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
db620 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
db640 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
db660 61 6e 20 63 6c 61 73 73 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=
db680 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
db6a0 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
db6c0 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
db6e0 3c 2f 73 70 61 6e 3e 29 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
db700 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
db720 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&
db740 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
db760 6e 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></
db780 70 72 65 3e 3c 2f 66 69 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
db7a0 20 63 6c 61 73 73 3d 22 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
db7c0 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
db7e0 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
db800 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"
db820 3e 3c 2f 73 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
db840 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
db860 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 36 32 36 36 20 70 61 6e 69 63 3a 20 ss="line">thread.1446266.panic:.
db880 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
db8a0 6e 3e 0a 3c 73 70 61 6e 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
db8c0 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 s="t1_0">/home/andy/tmp/zig/docg
db8e0 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 en_tmp/test.zig:5:13</span>:.<sp
db900 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 64 62 20 69 6e 20 6d 61 69 6e an.class="t2_0">0x22cddb.in.main
db920 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
db940 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 79 20 3d 20 40 73 68 72 45 78 61 63 74 28 78 s="line">....var.y.=.@shrExact(x
db960 2c 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ,.2);</span>.<span.class="line">
db980 20 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">
db9a0 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
db9c0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 e"><span.class="t1_0">/home/andy
db9e0 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 /tmp/zig/lib/std/start.zig:551:2
dba00 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
dba20 32 36 34 61 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 264ac.in.std.start.callMain.(tes
dba40 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
dba60 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 ne">............root.main();</sp
dba80 61 6e 3e 0a 3c 73 70 61 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">.........
dbaa0 20 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">
dbac0 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
dbae0 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 e"><span.class="t1_0">/home/andy
dbb00 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 /tmp/zig/lib/std/start.zig:495:1
dbb20 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
dbb40 30 37 30 63 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 070ce.in.std.start.callMainWithA
dbb60 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 rgs.(test)</span></span>.<span.c
dbb80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 lass="line">....return.@call(.{.
dbba0 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 .modifier.=..always_inline.},.ca
dbbc0 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 llMain,..{});</span>.<span.class
dbbe0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ="line">...........<span.class="
dbc00 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
dbc20 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
dbc40 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 me/andy/tmp/zig/lib/std/start.zi
dbc60 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 g:409:17</span>:.<span.class="t2
dbc80 5f 30 22 3e 30 78 32 30 36 31 36 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 _0">0x206166.in.std.start.posixC
dbca0 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
dbcc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f an>.<span.class="line">....std.o
dbce0 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 s.exit(@call(.{..modifier.=..alw
dbd00 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 ays_inline.},.callMainWithArgs,.
dbd20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a .{.argc,.argv,.envp.}));</span>.
dbd40 3c 73 70 61 6e 20 63 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">.............
dbd60 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><
dbd80 2f 73 70 61 6e 3e 0a 3c 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.
dbda0 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f class="t1_0">/home/andy/tmp/zig/
dbdc0 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 lib/std/start.zig:322:5</span>:.
dbde0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 37 32 20 69 6e 20 73 <span.class="t2_0">0x205f72.in.s
dbe00 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 td.start._start.(test)</span></s
dbe20 70 61 6e 3e 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
dbe40 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.}
dbe60 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
dbe80 70 61 6e 3e 0a 3c 73 70 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
dbea0 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>.
dbec0 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
dbee0 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>
dbf00 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
dbf20 20 69 64 3d 22 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 3c 61 20 68 72 65 66 3d 22 .id="Division-by-Zero"><a.href="
dbf40 23 74 6f 63 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 #toc-Division-by-Zero">Division.
dbf60 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d by.Zero</a>.<a.class="hdr".href=
dbf80 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a "#Division-by-Zero">..</a></h3>.
dbfa0 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 .......<p>At.compile-time:</p>..
dbfc0 20 20 20 20 20 3c 66 69 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="
dbfe0 7a 69 67 2d 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
dc000 2e 7a 69 67 3c 2f 63 69 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
dc020 64 65 3e 3c 73 70 61 6e 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
dc040 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 s="tok-kw">comptime</span>.{</sp
dc060 61 6e 3e 0a 3c 73 70 61 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
dc080 20 63 6c 61 73 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:.
dc0a0 3c 73 70 61 6e 20 63 6c 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
dc0c0 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</
dc0e0 73 70 61 6e 3e 3b 3c 2f 73 70 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"
dc100 3e 20 20 20 20 3c 73 70 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<
dc120 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"
dc140 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e >i32</span>.=.<span.class="tok-n
dc160 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
dc180 61 73 73 3d 22 6c 69 6e 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-
dc1a0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 2f 20 62 3b 3c 2f 73 70 61 kw">const</span>.c.=.a./.b;</spa
dc1c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 63 3b n>.<span.class="line">...._.=.c;
dc1e0 3c 2f 73 70 61 6e 3e 0a 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
dc200 61 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
dc220 3e 3c 66 69 67 63 61 70 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
dc240 68 65 6c 6c 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
dc260 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
dc280 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
dc2a0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 ="line"><span.class="t0_1">./doc
dc2c0 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 31 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 gen_tmp/test.zig:4:17:.</span><s
dc2e0 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>
dc300 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 64 69 76 69 73 69 6f 6e 20 62 79 20 7a <span.class="t0_1">division.by.z
dc320 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ero</span></span>.<span.class="l
dc340 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 63 20 3d 20 61 20 2f 20 62 3b 3c 2f 73 70 61 6e 3e ine">....const.c.=.a./.b;</span>
dc360 0a 3c 73 70 61 6e 20 63 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">............
dc380 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>
dc3a0 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>..
dc3c0 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
dc3e0 69 67 75 72 65 3e 3c 66 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
dc400 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
dc420 69 74 65 3e 3c 2f 66 69 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
dc440 6e 20 63 6c 61 73 73 3d 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-
dc460 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
dc480 73 73 3d 22 74 6f 6b 2d 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>(
dc4a0 3c 73 70 61 6e 20 63 6c 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&
dc4c0 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
dc4e0 73 3d 22 6c 69 6e 65 22 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
dc500 6e 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
dc520 61 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
dc540 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
dc560 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
dc580 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
dc5a0 69 6e 65 22 3e 20 20 20 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
dc5c0 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
dc5e0 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
dc600 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.
dc620 63 6c 61 73 73 3d 22 6c 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
dc640 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=
dc660 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
dc680 61 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
dc6a0 3e 0a 3c 73 70 61 6e 20 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
dc6c0 6c 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./
dc6e0 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">..
dc700 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
dc720 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;<
dc740 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
dc760 73 3d 22 6c 69 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></
dc780 66 69 67 75 72 65 3e 3c 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
dc7a0 3d 22 73 68 65 6c 6c 2d 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><
dc7c0 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">$.<
dc7e0 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>
dc800 3c 2f 73 70 61 6e 3e 0a 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
dc820 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
dc840 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
dc860 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 36 34 38 36 20 70 61 6e 69 63 3a 20 64 69 76 69 73 69 ne">thread.1446486.panic:.divisi
dc880 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
dc8a0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e ine"><span.class="t1_0">/home/an
dc8c0 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 dy/tmp/zig/docgen_tmp/test.zig:6
dc8e0 3a 31 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 :15</span>:.<span.class="t2_0">0
dc900 78 32 32 63 64 38 39 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 x22cd89.in.main.(test)</span></s
dc920 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 61 72 20 pan>.<span.class="line">....var.
dc940 63 20 3d 20 61 20 2f 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c c.=.a./.b;</span>.<span.class="l
dc960 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">..............<span.class="
dc980 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
dc9a0 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
dc9c0 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 me/andy/tmp/zig/lib/std/start.zi
dc9e0 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 g:551:22</span>:.<span.class="t2
dca00 5f 30 22 3e 30 78 32 32 36 34 36 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 _0">0x22646c.in.std.start.callMa
dca20 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
dca40 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
dca60 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">..
dca80 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="
dcaa0 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
dcac0 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
dcae0 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 me/andy/tmp/zig/lib/std/start.zi
dcb00 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 g:495:12</span>:.<span.class="t2
dcb20 5f 30 22 3e 30 78 32 30 37 30 38 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 _0">0x20708e.in.std.start.callMa
dcb40 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a inWithArgs.(test)</span></span>.
dcb60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 <span.class="line">....return.@c
dcb80 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e all(.{..modifier.=..always_inlin
dcba0 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 e.},.callMain,..{});</span>.<spa
dcbc0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 n.class="line">...........<span.
dcbe0 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
dcc00 70 61 6e 20 63 6c 61 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
dcc20 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 _0">/home/andy/tmp/zig/lib/std/s
dcc40 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c tart.zig:409:17</span>:.<span.cl
dcc60 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 32 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x206126.in.std.start
dcc80 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 .posixCallMainAndExit.(test)</sp
dcca0 61 6e 3e 3c 2f 73 70 61 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">..
dccc0 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 ..std.os.exit(@call(.{..modifier
dcce0 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 .=..always_inline.},.callMainWit
dcd00 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c hArgs,..{.argc,.argv,.envp.}));<
dcd20 2f 73 70 61 6e 3e 0a 3c 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">......
dcd40 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">^<
dcd60 2f 73 70 61 6e 3e 3c 2f 73 70 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"
dcd80 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 ><span.class="t1_0">/home/andy/t
dcda0 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f mp/zig/lib/std/start.zig:322:5</
dcdc0 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 span>:.<span.class="t2_0">0x205f
dcde0 33 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 32.in.std.start._start.(test)</s
dce00 70 61 6e 3e 3c 2f 73 70 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">.
dce20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 ...@call(.{..modifier.=..never_i
dce40 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e nline.},.posixCallMainAndExit,..
dce60 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 {});</span>.<span.class="line">.
dce80 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><
dcea0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 /span>.<span.class="line">(proce
dcec0 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a ss.terminated.by.signal)</span>.
dcee0 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>..........
dcf00 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 ....<h3.id="Remainder-Division-b
dcf20 79 2d 5a 65 72 6f 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 6d 61 69 6e 64 65 72 2d y-Zero"><a.href="#toc-Remainder-
dcf40 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 Division-by-Zero">Remainder.Divi
dcf60 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 sion.by.Zero</a>.<a.class="hdr".
dcf80 68 72 65 66 3d 22 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 href="#Remainder-Division-by-Zer
dcfa0 6f 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 o">..</a></h3>........<p>At.comp
dcfc0 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 ile-time:</p>.......<figure><fig
dcfe0 63 61 70 74 69 6f 6e 20 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
dd000 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
dd020 61 70 74 69 6f 6e 3e 3c 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
dd040 69 6e 65 22 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
dd060 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 me</span>.{</span>.<span.class="
dd080 6c 69 6e 65 22 3e 20 20 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
dd0a0 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-
dd0c0 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="
dd0e0 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-number">10</span>;</span>.<s
dd100 70 61 6e 20 63 6c 61 73 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
dd120 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.
dd140 63 6c 61 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
dd160 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>;
dd180 3c 2f 73 70 61 6e 3e 0a 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">....<
dd1a0 73 70 61 6e 20 63 6c 61 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>
dd1c0 20 63 20 3d 20 61 20 25 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .c.=.a.%.b;</span>.<span.class="
dd1e0 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c line">...._.=.c;</span>.<span.cl
dd200 61 73 73 3d 22 6c 69 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>
dd220 3c 2f 66 69 67 75 72 65 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
dd240 73 73 3d 22 73 68 65 6c 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
dd260 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">$
dd280 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
dd2a0 70 61 6e 3e 0a 3c 73 70 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
dd2c0 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 ass="t0_1">./docgen_tmp/test.zig
dd2e0 3a 34 3a 31 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 :4:17:.</span><span.class="t31_1
dd300 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f ">error:.</span><span.class="t0_
dd320 31 22 3e 64 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 1">division.by.zero</span></span
dd340 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 63 >.<span.class="line">....const.c
dd360 20 3d 20 61 20 25 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .=.a.%.b;</span>.<span.class="li
dd380 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=
dd3a0 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><
dd3c0 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
dd3e0 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
dd400 6e 20 63 6c 61 73 73 3d 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
dd420 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
dd440 3e 3c 70 72 65 3e 3c 63 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"><
dd460 73 70 61 6e 20 63 6c 61 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>
dd480 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"
dd4a0 3e 40 69 6d 70 6f 72 74 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
dd4c0 2d 73 74 72 22 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>);</
dd4e0 73 70 61 6e 3e 0a 3c 73 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>
dd500 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
dd520 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=
dd540 22 74 6f 6b 2d 6b 77 22 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="
dd560 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
dd580 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
dd5a0 3e 0a 3c 73 70 61 6e 20 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
dd5c0 6c 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
dd5e0 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>.=.
dd600 3c 73 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
dd620 6e 3e 3b 3c 2f 73 70 61 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">..
dd640 20 20 3c 73 70 61 6e 20 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
dd660 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<
dd680 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
dd6a0 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="
dd6c0 6c 69 6e 65 22 3e 20 20 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
dd6e0 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
dd700 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
dd720 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
dd740 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});<
dd760 2f 73 70 61 6e 3e 0a 3c 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
dd780 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>
dd7a0 3c 66 69 67 63 61 70 74 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
dd7c0 65 6c 6c 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
dd7e0 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
dd800 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
dd820 6c 61 73 73 3d 22 6c 69 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=
dd840 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
dd860 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 36 >.<span.class="line">thread.1446
dd880 37 30 30 20 70 61 6e 69 63 3a 20 72 65 6d 61 69 6e 64 65 72 20 64 69 76 69 73 69 6f 6e 20 62 79 700.panic:.remainder.division.by
dd8a0 20 7a 65 72 6f 20 6f 72 20 6e 65 67 61 74 69 76 65 20 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 0a 3c .zero.or.negative.value</span>.<
dd8c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
dd8e0 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 1_0">/home/andy/tmp/zig/docgen_t
dd900 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
dd920 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 61 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 lass="t2_0">0x22cdab.in.main.(te
dd940 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
dd960 69 6e 65 22 3e 20 20 20 20 76 61 72 20 63 20 3d 20 61 20 25 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c ine">....var.c.=.a.%.b;</span>.<
dd980 73 70 61 6e 20 63 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">..............
dd9a0 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
dd9c0 61 6e 3e 0a 3c 73 70 61 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
dd9e0 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
dda00 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 /std/start.zig:551:22</span>:.<s
dda20 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 34 36 63 20 69 6e 20 73 74 64 pan.class="t2_0">0x22646c.in.std
dda40 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 .start.callMain.(test)</span></s
dda60 70 61 6e 3e 0a 3c 73 70 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">........
dda80 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
ddaa0 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">.....................
ddac0 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
ddae0 61 6e 3e 0a 3c 73 70 61 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
ddb00 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
ddb20 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 /std/start.zig:495:12</span>:.<s
ddb40 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 38 65 20 69 6e 20 73 74 64 pan.class="t2_0">0x20708e.in.std
ddb60 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f .start.callMainWithArgs.(test)</
ddb80 73 70 61 6e 3e 3c 2f 73 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">
ddba0 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 ....return.@call(.{..modifier.=.
ddbc0 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 .always_inline.},.callMain,..{})
ddbe0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
ddc00 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
ddc20 61 6e 3e 3c 2f 73 70 61 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
ddc40 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f pan.class="t1_0">/home/andy/tmp/
ddc60 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 zig/lib/std/start.zig:409:17</sp
ddc80 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 32 36 an>:.<span.class="t2_0">0x206126
ddca0 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 .in.std.start.posixCallMainAndEx
ddcc0 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
ddce0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c ass="line">....std.os.exit(@call
ddd00 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d (.{..modifier.=..always_inline.}
ddd20 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 ,.callMainWithArgs,..{.argc,.arg
ddd40 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d v,.envp.}));</span>.<span.class=
ddd60 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 "line">................<span.cla
ddd80 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
ddda0 20 63 6c 61 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"
dddc0 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 >/home/andy/tmp/zig/lib/std/star
ddde0 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d t.zig:322:5</span>:.<span.class=
dde00 22 74 32 5f 30 22 3e 30 78 32 30 35 66 33 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 "t2_0">0x205f32.in.std.start._st
dde20 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
dde40 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
dde60 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
dde80 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
ddea0 6c 61 73 73 3d 22 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
ddec0 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=
ddee0 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
ddf00 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
ddf20 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 61 63 74 2d 44 re>..............<h3.id="Exact-D
ddf40 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 ivision-Remainder"><a.href="#toc
ddf60 2d 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 22 3e 45 78 61 63 74 -Exact-Division-Remainder">Exact
ddf80 20 44 69 76 69 73 69 6f 6e 20 52 65 6d 61 69 6e 64 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 .Division.Remainder</a>.<a.class
ddfa0 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d ="hdr".href="#Exact-Division-Rem
ddfc0 61 69 6e 64 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 ainder">..</a></h3>........<p>At
ddfe0 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
de000 3e 3c 66 69 67 63 61 70 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
de020 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><
de040 2f 66 69 67 63 61 70 74 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
de060 73 73 3d 22 6c 69 6e 65 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
de080 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
de0a0 61 73 73 3d 22 6c 69 6e 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-
de0c0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d kw">const</span>.a:.<span.class=
de0e0 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
de100 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 ass="tok-number">10</span>;</spa
de120 6e 3e 0a 3c 73 70 61 6e 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.
de140 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c class="tok-kw">const</span>.b:.<
de160 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>
de180 20 3d 20 3c 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
de1a0 70 61 6e 3e 3b 3c 2f 73 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">
de1c0 20 20 20 20 3c 73 70 61 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</
de1e0 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 span>.c.=.<span.class="tok-built
de200 69 6e 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 3b 3c 2f 73 70 61 in">@divExact</span>(a,.b);</spa
de220 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 63 3b n>.<span.class="line">...._.=.c;
de240 3c 2f 73 70 61 6e 3e 0a 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
de260 61 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
de280 3e 3c 66 69 67 63 61 70 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
de2a0 68 65 6c 6c 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
de2c0 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
de2e0 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
de300 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 ="line"><span.class="t0_1">./doc
de320 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 gen_tmp/test.zig:4:15:.</span><s
de340 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>
de360 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 61 63 74 20 64 69 76 69 73 69 6f <span.class="t0_1">exact.divisio
de380 6e 20 68 61 64 20 61 20 72 65 6d 61 69 6e 64 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a n.had.a.remainder</span></span>.
de3a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 63 20 3d <span.class="line">....const.c.=
de3c0 20 40 64 69 76 45 78 61 63 74 28 61 2c 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .@divExact(a,.b);</span>.<span.c
de3e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 lass="line">..............<span.
de400 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f class="t32_1">^</span></span>.</
de420 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 samp></pre></figure>.......<p>At
de440 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 .runtime:</p>.......<figure><fig
de460 63 61 70 74 69 6f 6e 20 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
de480 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
de4a0 61 70 74 69 6f 6e 3e 3c 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
de4c0 69 6e 65 22 3e 3c 73 70 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<
de4e0 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
de500 69 6c 74 69 6e 22 3e 40 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
de520 73 3d 22 74 6f 6b 2d 73 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
de540 6e 3e 29 3b 3c 2f 73 70 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"><
de560 2f 73 70 61 6e 3e 0a 3c 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.
de580 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.
de5a0 63 6c 61 73 73 3d 22 74 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
de5c0 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 lass="tok-fn">main</span>().<spa
de5e0 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>.{
de600 3c 2f 73 70 61 6e 3e 0a 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">....<
de620 73 70 61 6e 20 63 6c 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
de640 3a 20 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
de660 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 an>.=.<span.class="tok-number">1
de680 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
de6a0 6e 65 22 3e 20 20 20 20 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
de6c0 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 </span>.b:.<span.class="tok-type
de6e0 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">u32</span>.=.<span.class="tok-
de700 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 number">3</span>;</span>.<span.c
de720 6c 61 73 73 3d 22 6c 69 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
de740 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d -kw">var</span>.c.=.<span.class=
de760 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
de780 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">
de7a0 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=
de7c0 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 "tok-str">&quot;value:.{}\n&quot
de7e0 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 63 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ;</span>,..{c});</span>.<span.cl
de800 61 73 73 3d 22 6c 69 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>
de820 3c 2f 66 69 67 75 72 65 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
de840 73 73 3d 22 73 68 65 6c 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
de860 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">$
de880 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
de8a0 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
de8c0 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>.
de8e0 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="
de900 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 36 38 33 37 20 70 61 6e 69 63 3a 20 65 78 61 63 line">thread.1446837.panic:.exac
de920 74 20 64 69 76 69 73 69 6f 6e 20 70 72 6f 64 75 63 65 64 20 72 65 6d 61 69 6e 64 65 72 3c 2f 73 t.division.produced.remainder</s
de940 70 61 6e 3e 0a 3c 73 70 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
de960 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f ass="t1_0">/home/andy/tmp/zig/do
de980 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>:.<
de9a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 63 64 20 69 6e 20 6d 61 span.class="t2_0">0x22cdcd.in.ma
de9c0 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
de9e0 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
dea00 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
dea20 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
dea40 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
dea60 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e ine"><span.class="t1_0">/home/an
dea80 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 dy/tmp/zig/lib/std/start.zig:551
deaa0 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 :22</span>:.<span.class="t2_0">0
deac0 78 32 32 36 34 36 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 x22646c.in.std.start.callMain.(t
deae0 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="
deb00 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();</
deb20 73 70 61 6e 3e 0a 3c 73 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">.......
deb40 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
deb60 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
deb80 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e ine"><span.class="t1_0">/home/an
deba0 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 dy/tmp/zig/lib/std/start.zig:495
debc0 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 :12</span>:.<span.class="t2_0">0
debe0 78 32 30 37 30 38 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 x20708e.in.std.start.callMainWit
dec00 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e hArgs.(test)</span></span>.<span
dec20 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e .class="line">....return.@call(.
dec40 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 {..modifier.=..always_inline.},.
dec60 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 callMain,..{});</span>.<span.cla
dec80 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 ss="line">...........<span.class
deca0 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
decc0 6c 61 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">/
dece0 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e home/andy/tmp/zig/lib/std/start.
ded00 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 zig:409:17</span>:.<span.class="
ded20 74 32 5f 30 22 3e 30 78 32 30 36 31 32 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 t2_0">0x206126.in.std.start.posi
ded40 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></
ded60 73 70 61 6e 3e 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
ded80 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 .os.exit(@call(.{..modifier.=..a
deda0 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 lways_inline.},.callMainWithArgs
dedc0 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e ,..{.argc,.argv,.envp.}));</span
dede0 3e 0a 3c 73 70 61 6e 20 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">...........
dee00 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
dee20 3e 3c 2f 73 70 61 6e 3e 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
dee40 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 n.class="t1_0">/home/andy/tmp/zi
dee60 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e g/lib/std/start.zig:322:5</span>
dee80 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 33 32 20 69 6e :.<span.class="t2_0">0x205f32.in
deea0 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c .std.start._start.(test)</span><
deec0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 /span>.<span.class="line">....@c
deee0 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 all(.{..modifier.=..never_inline
def00 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c .},.posixCallMainAndExit,..{});<
def20 2f 73 70 61 6e 3e 0a 3c 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
def40 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
def60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 >.<span.class="line">(process.te
def80 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d rminated.by.signal)</span>.</sam
defa0 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>..............<
defc0 68 33 20 69 64 3d 22 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e 3c h3.id="Attempt-to-Unwrap-Null"><
defe0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e a.href="#toc-Attempt-to-Unwrap-N
df000 75 6c 6c 22 3e 41 74 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 61 70 20 4e 75 6c 6c 3c 2f 61 3e 20 ull">Attempt.to.Unwrap.Null</a>.
df020 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 74 65 6d 70 74 2d 74 6f <a.class="hdr".href="#Attempt-to
df040 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 -Unwrap-Null">..</a></h3>.......
df060 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c .<p>At.compile-time:</p>.......<
df080 66 69 67 75 72 65 3e 3c 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
df0a0 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</
df0c0 63 69 74 65 3e 3c 2f 66 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
df0e0 61 6e 20 63 6c 61 73 73 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
df100 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
df120 70 61 6e 20 63 6c 61 73 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
df140 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f ="tok-kw">const</span>.optional_
df160 6e 75 6d 62 65 72 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e number:.?<span.class="tok-type">
df180 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
df1a0 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
df1c0 61 73 73 3d 22 6c 69 6e 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-
df1e0 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e kw">const</span>.number.=.option
df200 61 6c 5f 6e 75 6d 62 65 72 2e 3f 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d al_number.?;</span>.<span.class=
df220 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 6e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 "line">...._.=.number;</span>.<s
df240 70 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>
df260 3c 2f 70 72 65 3e 3c 2f 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
df280 6f 6e 20 63 6c 61 73 73 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
df2a0 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
df2c0 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
df2e0 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
df300 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 pan.class="t0_1">./docgen_tmp/te
df320 73 74 2e 7a 69 67 3a 33 3a 33 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig:3:35:.</span><span.class=
df340 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
df360 73 3d 22 74 30 5f 31 22 3e 75 6e 61 62 6c 65 20 74 6f 20 75 6e 77 72 61 70 20 6e 75 6c 6c 3c 2f s="t0_1">unable.to.unwrap.null</
df380 73 70 61 6e 3e 3c 2f 73 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">
df3a0 20 20 20 20 63 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 ....const.number.=.optional_numb
df3c0 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">
df3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
df400 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></
df420 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>....
df440 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 ...<p>At.runtime:</p>.......<fig
df460 75 72 65 3e 3c 66 69 67 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">
df480 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
df4a0 65 3e 3c 2f 66 69 67 63 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.
df4c0 63 6c 61 73 73 3d 22 6c 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
df4e0 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
df500 3d 22 74 6f 6b 2d 62 75 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
df520 70 61 6e 20 63 6c 61 73 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
df540 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=
df560 22 6c 69 6e 65 22 3e 3c 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
df580 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e "><span.class="tok-kw">pub</span
df5a0 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e >.<span.class="tok-kw">fn</span>
df5c0 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e .<span.class="tok-fn">main</span
df5e0 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c >().<span.class="tok-type">void<
df600 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e /span>.{</span>.<span.class="lin
df620 65 22 3e 20 20 20 20 3c 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<
df640 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 3a 20 3f 3c 73 70 61 6e 20 63 /span>.optional_number:.?<span.c
df660 6c 61 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
df680 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b an.class="tok-null">null</span>;
df6a0 3c 2f 73 70 61 6e 3e 0a 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">....<
df6c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e span.class="tok-kw">var</span>.n
df6e0 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 2e 3f 3b 3c 2f 73 70 61 6e umber.=.optional_number.?;</span
df700 3e 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
df720 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">&
df740 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e quot;value:.{}\n&quot;</span>,..
df760 7b 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c {number});</span>.<span.class="l
df780 69 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
df7a0 72 65 3e 3c 66 69 67 75 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
df7c0 65 6c 6c 2d 63 61 70 22 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>
df7e0 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>
df800 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 zig.build-exe.test.zig</kbd></sp
df820 61 6e 3e 0a 3c 73 70 61 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>.<
df840 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c span.class="line">$.<kbd>./test<
df860 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">
df880 74 68 72 65 61 64 20 31 34 34 37 30 33 37 20 70 61 6e 69 63 3a 20 61 74 74 65 6d 70 74 20 74 6f thread.1447037.panic:.attempt.to
df8a0 20 75 73 65 20 6e 75 6c 6c 20 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .use.null.value</span>.<span.cla
df8c0 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
df8e0 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e me/andy/tmp/zig/docgen_tmp/test.
df900 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
df920 5f 30 22 3e 30 78 32 32 63 65 33 63 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 _0">0x22ce3c.in.main.(test)</spa
df940 6e 3e 3c 2f 73 70 61 6e 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">...
df960 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.?;
df980 3c 2f 73 70 61 6e 3e 0a 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">.....
df9a0 20 20 20 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
df9c0 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>.<
df9e0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
dfa00 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
dfa20 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:551:22</span>:.<span.c
dfa40 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 35 32 63 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x22652c.in.std.star
dfa60 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a t.callMain.(test)</span></span>.
dfa80 3c 73 70 61 6e 20 63 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
dfaa0 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="
dfac0 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
dfae0 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>.<
dfb00 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
dfb20 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
dfb40 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:495:12</span>:.<span.c
dfb60 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 31 34 65 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x20714e.in.std.star
dfb80 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e t.callMainWithArgs.(test)</span>
dfba0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 </span>.<span.class="line">....r
dfbc0 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 eturn.@call(.{..modifier.=..alwa
dfbe0 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 ys_inline.},.callMain,..{});</sp
dfc00 61 6e 3e 0a 3c 73 70 61 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">.........
dfc20 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></
dfc40 73 70 61 6e 3e 0a 3c 73 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
dfc60 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c lass="t1_0">/home/andy/tmp/zig/l
dfc80 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 ib/std/start.zig:409:17</span>:.
dfca0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 65 36 20 69 6e 20 73 <span.class="t2_0">0x2061e6.in.s
dfcc0 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 td.start.posixCallMainAndExit.(t
dfce0 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="
dfd00 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e line">....std.os.exit(@call(.{..
dfd20 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c modifier.=..always_inline.},.cal
dfd40 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e lMainWithArgs,..{.argc,.argv,.en
dfd60 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 vp.}));</span>.<span.class="line
dfd80 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
dfda0 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
dfdc0 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
dfde0 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 e/andy/tmp/zig/lib/std/start.zig
dfe00 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 :322:5</span>:.<span.class="t2_0
dfe20 22 3e 30 78 32 30 35 66 66 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 ">0x205ff2.in.std.start._start.(
dfe40 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=
dfe60 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 "line">....@call(.{..modifier.=.
dfe80 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e .never_inline.},.posixCallMainAn
dfea0 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d dExit,..{});</span>.<span.class=
dfec0 22 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">^
dfee0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
dff00 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 ">(process.terminated.by.signal)
dff20 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>..
dff40 20 20 20 20 20 3c 70 3e 4f 6e 65 20 77 61 79 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 72 .....<p>One.way.to.avoid.this.cr
dff60 61 73 68 20 69 73 20 74 6f 20 74 65 73 74 20 66 6f 72 20 6e 75 6c 6c 20 69 6e 73 74 65 61 64 20 ash.is.to.test.for.null.instead.
dff80 6f 66 20 61 73 73 75 6d 69 6e 67 20 6e 6f 6e 2d 6e 75 6c 6c 2c 20 77 69 74 68 0a 20 20 20 20 20 of.assuming.non-null,.with......
dffa0 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .the.<code><span.class="line"><s
dffc0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 pan.class="tok-kw">if</span></sp
dffe0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 an></code>.expression:</p>......
e0000 20 3c 66 69 67 75 72 65 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-
e0020 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
e0040 3c 2f 63 69 74 65 3e 3c 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><
e0060 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
e0080 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
e00a0 6e 20 63 6c 61 73 73 3d 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
e00c0 70 61 6e 3e 28 3c 73 70 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
e00e0 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;<
e0100 2f 73 70 61 6e 3e 0a 3c 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.
e0120 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.
e0140 63 6c 61 73 73 3d 22 74 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
e0160 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 lass="tok-fn">main</span>().<spa
e0180 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>.{
e01a0 3c 2f 73 70 61 6e 3e 0a 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">....<
e01c0 73 70 61 6e 20 63 6c 61 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>
e01e0 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .optional_number:.?<span.class="
e0200 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
e0220 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e ss="tok-null">null</span>;</span
e0240 3e 0a 3c 73 70 61 6e 20 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
e0260 61 6e 20 63 6c 61 73 73 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=
e0280 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d "tok-kw">if</span>.(optional_num
e02a0 62 65 72 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ber).|number|.{</span>.<span.cla
e02c0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c ss="line">........print(<span.cl
e02e0 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6f 74 20 6e 75 6d 62 65 72 3a 20 ass="tok-str">&quot;got.number:.
e0300 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 3c 2f {}\n&quot;</span>,..{number});</
e0320 73 70 61 6e 3e 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">....}.<
e0340 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>.
e0360 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
e0380 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">
e03a0 26 71 75 6f 74 3b 69 74 27 73 20 6e 75 6c 6c 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 &quot;it's.null\n&quot;</span>,.
e03c0 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">
e03e0 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">
e0400 7d 3c 2f 73 70 61 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
e0420 69 67 75 72 65 3e 3c 66 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
e0440 61 70 22 3e 53 68 65 6c 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
e0460 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
e0480 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>.<
e04a0 73 70 61 6e 20 63 6c 61 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.
e04c0 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>
e04e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 69 74 27 73 20 </span>.<span.class="line">it's.
e0500 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 null</span>.</samp></pre></figur
e0520 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
e0540 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
e0560 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 </a></li>.</ul>...............<h
e0580 33 20 69 64 3d 22 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e 3c 3.id="Attempt-to-Unwrap-Error"><
e05a0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 a.href="#toc-Attempt-to-Unwrap-E
e05c0 72 72 6f 72 22 3e 41 74 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 61 70 20 45 72 72 6f 72 3c 2f 61 rror">Attempt.to.Unwrap.Error</a
e05e0 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 74 74 65 6d 70 74 2d >.<a.class="hdr".href="#Attempt-
e0600 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 to-Unwrap-Error">..</a></h3>....
e0620 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 ....<p>At.compile-time:</p>.....
e0640 20 20 3c 66 69 67 75 72 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
e0660 2d 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
e0680 67 3c 2f 63 69 74 65 3e 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>
e06a0 3c 73 70 61 6e 20 63 6c 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="
e06c0 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e tok-kw">comptime</span>.{</span>
e06e0 0a 3c 73 70 61 6e 20 63 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
e0700 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 ass="tok-kw">const</span>.number
e0720 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 .=.getNumberOrFail().<span.class
e0740 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 ="tok-kw">catch</span>.<span.cla
e0760 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c ss="tok-kw">unreachable</span>;<
e0780 2f 73 70 61 6e 3e 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">...._.
e07a0 3d 20 6e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 =.number;</span>.<span.class="li
e07c0 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">
e07e0 3c 2f 73 70 61 6e 3e 0a 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
e0800 20 63 6c 61 73 73 3d 22 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.
e0820 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 3c 2f class="tok-fn">getNumberOrFail</
e0840 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e span>().!<span.class="tok-type">
e0860 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=
e0880 22 6c 69 6e 65 22 3e 20 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">
e08a0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b return</span>.<span.class="tok-k
e08c0 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 w">error</span>.UnableToReturnNu
e08e0 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e mber;</span>.<span.class="line">
e0900 7d 3c 2f 73 70 61 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
e0920 69 67 75 72 65 3e 3c 66 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
e0940 61 70 22 3e 53 68 65 6c 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
e0960 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
e0980 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.
e09a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e class="line"><span.class="t0_1">
e09c0 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 33 38 3a 20 3c 2f 73 70 ./docgen_tmp/test.zig:2:38:.</sp
e09e0 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f an><span.class="t31_1">error:.</
e0a00 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 75 67 68 74 20 75 span><span.class="t0_1">caught.u
e0a20 6e 65 78 70 65 63 74 65 64 20 65 72 72 6f 72 20 27 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e nexpected.error.'UnableToReturnN
e0a40 75 6d 62 65 72 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 umber'</span></span>.<span.class
e0a60 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 ="line">....const.number.=.getNu
e0a80 6d 62 65 72 4f 72 46 61 69 6c 28 29 20 63 61 74 63 68 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 3c mberOrFail().catch.unreachable;<
e0aa0 2f 73 70 61 6e 3e 0a 3c 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">......
e0ac0 20 20 20 20 20 20 20 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 ...............................<
e0ae0 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
e0b00 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>.......
e0b20 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
e0b40 3e 3c 66 69 67 63 61 70 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
e0b60 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><
e0b80 2f 66 69 67 63 61 70 74 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
e0ba0 73 73 3d 22 6c 69 6e 65 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
e0bc0 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
e0be0 6f 6b 2d 62 75 69 6c 74 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
e0c00 20 63 6c 61 73 73 3d 22 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;
e0c20 3c 2f 73 70 61 6e 3e 29 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
e0c40 6e 65 22 3e 3c 2f 73 70 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"><
e0c60 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>.<
e0c80 73 70 61 6e 20 63 6c 61 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
e0ca0 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>()
e0cc0 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
e0ce0 61 6e 3e 20 7b 3c 2f 73 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">
e0d00 20 20 20 20 3c 73 70 61 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</
e0d20 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 28 29 span>.number.=.getNumberOrFail()
e0d40 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 .<span.class="tok-kw">catch</spa
e0d60 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 n>.<span.class="tok-kw">unreacha
e0d80 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="
e0da0 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 line">....std.debug.print(<span.
e0dc0 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c class="tok-str">&quot;value:.{}\
e0de0 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 3c 2f 73 70 61 n&quot;</span>,..{number});</spa
e0e00 6e 3e 0a 3c 73 70 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>.<
e0e20 73 70 61 6e 20 63 6c 61 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.
e0e40 63 6c 61 73 73 3d 22 6c 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
e0e60 22 3e 66 6e 3c 2f 73 70 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"
e0e80 3e 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e >getNumberOrFail</span>().!<span
e0ea0 20 63 6c 61 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>.{</
e0ec0 73 70 61 6e 3e 0a 3c 73 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
e0ee0 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>.
e0f00 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
e0f20 3e 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c >.UnableToReturnNumber;</span>.<
e0f40 73 70 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
e0f60 3e 3c 2f 70 72 65 3e 3c 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
e0f80 69 6f 6e 20 63 6c 61 73 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
e0fa0 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="
e0fc0 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e line">$.<kbd>zig.build-exe.test.
e0fe0 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
e1000 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 ne"></span>.<span.class="line">$
e1020 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .<kbd>./test</kbd></span>.<span.
e1040 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 37 33 30 37 20 70 61 6e 69 class="line">thread.1447307.pani
e1060 63 3a 20 61 74 74 65 6d 70 74 20 74 6f 20 75 6e 77 72 61 70 20 65 72 72 6f 72 3a 20 55 6e 61 62 c:.attempt.to.unwrap.error:.Unab
e1080 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c leToReturnNumber</span>.<span.cl
e10a0 61 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
e10c0 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 ome/andy/tmp/zig/docgen_tmp/test
e10e0 2e 7a 69 67 3a 39 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 .zig:9:5</span>:.<span.class="t2
e1100 5f 30 22 3e 30 78 32 33 34 30 64 34 20 69 6e 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 20 _0">0x2340d4.in.getNumberOrFail.
e1120 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
e1140 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 55 6e 61 62 6c 65 54 ="line">....return.error.UnableT
e1160 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 oReturnNumber;</span>.<span.clas
e1180 73 3d 22 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"
e11a0 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
e11c0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 3f 3f 3f 3a 3f 3a 3f 3c 2f ne"><span.class="t1_0">???:?:?</
e11e0 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 64 39 span>:.<span.class="t2_0">0x20d9
e1200 30 32 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 02.in.???.(???)</span></span>.<s
e1220 70 61 6e 20 63 6c 61 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
e1240 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d _0">/home/andy/tmp/zig/docgen_tm
e1260 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 33 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c p/test.zig:4:38</span>:.<span.cl
e1280 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 65 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 ass="t2_0">0x22cdeb.in.main.(tes
e12a0 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
e12c0 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 ne">....const.number.=.getNumber
e12e0 4f 72 46 61 69 6c 28 29 20 63 61 74 63 68 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 3c 2f 73 70 61 OrFail().catch.unreachable;</spa
e1300 6e 3e 0a 3c 73 70 61 6e 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">..........
e1320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e ...........................<span
e1340 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>.<
e1360 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
e1380 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
e13a0 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:551:22</span>:.<span.c
e13c0 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 34 39 63 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x22649c.in.std.star
e13e0 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a t.callMain.(test)</span></span>.
e1400 3c 73 70 61 6e 20 63 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
e1420 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="
e1440 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
e1460 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>.<
e1480 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
e14a0 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 1_0">/home/andy/tmp/zig/lib/std/
e14c0 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 start.zig:495:12</span>:.<span.c
e14e0 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 62 65 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x2070be.in.std.star
e1500 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e t.callMainWithArgs.(test)</span>
e1520 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 </span>.<span.class="line">....r
e1540 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 eturn.@call(.{..modifier.=..alwa
e1560 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 ys_inline.},.callMain,..{});</sp
e1580 61 6e 3e 0a 3c 73 70 61 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">.........
e15a0 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></
e15c0 73 70 61 6e 3e 0a 3c 73 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
e15e0 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c lass="t1_0">/home/andy/tmp/zig/l
e1600 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 ib/std/start.zig:409:17</span>:.
e1620 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 35 36 20 69 6e 20 73 <span.class="t2_0">0x206156.in.s
e1640 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 td.start.posixCallMainAndExit.(t
e1660 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="
e1680 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e line">....std.os.exit(@call(.{..
e16a0 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c modifier.=..always_inline.},.cal
e16c0 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e lMainWithArgs,..{.argc,.argv,.en
e16e0 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 vp.}));</span>.<span.class="line
e1700 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
e1720 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
e1740 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
e1760 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 e/andy/tmp/zig/lib/std/start.zig
e1780 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 :322:5</span>:.<span.class="t2_0
e17a0 22 3e 30 78 32 30 35 66 36 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 ">0x205f62.in.std.start._start.(
e17c0 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=
e17e0 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 "line">....@call(.{..modifier.=.
e1800 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e .never_inline.},.posixCallMainAn
e1820 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d dExit,..{});</span>.<span.class=
e1840 22 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">^
e1860 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
e1880 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 ">(process.terminated.by.signal)
e18a0 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>..
e18c0 20 20 20 20 20 3c 70 3e 4f 6e 65 20 77 61 79 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 72 .....<p>One.way.to.avoid.this.cr
e18e0 61 73 68 20 69 73 20 74 6f 20 74 65 73 74 20 66 6f 72 20 61 6e 20 65 72 72 6f 72 20 69 6e 73 74 ash.is.to.test.for.an.error.inst
e1900 65 61 64 20 6f 66 20 61 73 73 75 6d 69 6e 67 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 72 65 73 ead.of.assuming.a.successful.res
e1920 75 6c 74 2c 20 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ult,.with.......the.<code><span.
e1940 63 6c 61 73 73 3d 22 6c 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
e1960 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 ">if</span></span></code>.expres
e1980 73 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 sion:</p>.......<figure><figcapt
e19a0 69 6f 6e 20 63 6c 61 73 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=
e19c0 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
e19e0 6f 6e 3e 3c 70 72 65 3e 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"
e1a00 3e 3c 73 70 61 6e 20 63 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
e1a20 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
e1a40 74 69 6e 22 3e 40 69 6d 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=
e1a60 22 74 6f 6b 2d 73 74 72 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>
e1a80 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
e1aa0 73 3d 22 6c 69 6e 65 22 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
e1ac0 6e 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
e1ae0 61 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
e1b00 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
e1b20 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
e1b40 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
e1b60 69 6e 65 22 3e 20 20 20 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
e1b80 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 nst</span>.result.=.getNumberOrF
e1ba0 61 69 6c 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ail();</span>.<span.class="line"
e1bc0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ></span>.<span.class="line">....
e1be0 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>.(
e1c00 72 65 73 75 6c 74 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 result).|number|.{</span>.<span.
e1c20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e class="line">........print(<span
e1c40 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6f 74 20 6e 75 6d 62 65 .class="tok-str">&quot;got.numbe
e1c60 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 r:.{}\n&quot;</span>,..{number})
e1c80 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
e1ca0 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 }.<span.class="tok-kw">else</spa
e1cc0 6e 3e 20 7c 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c n>.|err|.{</span>.<span.class="l
e1ce0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">........print(<span.class="
e1d00 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6f 74 20 65 72 72 6f 72 3a 20 7b 73 7d 5c 6e 26 tok-str">&quot;got.error:.{s}\n&
e1d20 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b quot;</span>,..{<span.class="tok
e1d40 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 29 -builtin">@errorName</span>(err)
e1d60 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">..
e1d80 20 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 3c ..}</span>.<span.class="line">}<
e1da0 2f 73 70 61 6e 3e 0a 3c 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
e1dc0 3e 0a 3c 73 70 61 6e 20 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
e1de0 3d 22 74 6f 6b 2d 6b 77 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=
e1e00 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 3c 2f 73 70 61 6e 3e 28 "tok-fn">getNumberOrFail</span>(
e1e20 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 ).!<span.class="tok-type">i32</s
e1e40 70 61 6e 3e 20 7b 3c 2f 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"
e1e60 3e 20 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
e1e80 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 </span>.<span.class="tok-kw">err
e1ea0 6f 72 3c 2f 73 70 61 6e 3e 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 3c or</span>.UnableToReturnNumber;<
e1ec0 2f 73 70 61 6e 3e 0a 3c 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
e1ee0 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>
e1f00 3c 66 69 67 63 61 70 74 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
e1f20 65 6c 6c 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
e1f40 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
e1f60 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
e1f80 6c 61 73 73 3d 22 6c 69 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=
e1fa0 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
e1fc0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 67 6f 74 20 65 72 72 6f 72 3a 20 >.<span.class="line">got.error:.
e1fe0 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 UnableToReturnNumber</span>.</sa
e2000 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.
e2020 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f also:</p><ul>.<li><a.href="#Erro
e2040 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 rs">Errors</a></li>.</ul>.......
e2060 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f ........<h3.id="Invalid-Error-Co
e2080 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d de"><a.href="#toc-Invalid-Error-
e20a0 43 6f 64 65 22 3e 49 6e 76 61 6c 69 64 20 45 72 72 6f 72 20 43 6f 64 65 3c 2f 61 3e 20 3c 61 20 Code">Invalid.Error.Code</a>.<a.
e20c0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 class="hdr".href="#Invalid-Error
e20e0 2d 43 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 -Code">..</a></h3>........<p>At.
e2100 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>
e2120 3c 66 69 67 63 61 70 74 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
e2140 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></
e2160 66 69 67 63 61 70 74 69 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
e2180 73 3d 22 6c 69 6e 65 22 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
e21a0 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
e21c0 73 73 3d 22 6c 69 6e 65 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
e21e0 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 w">const</span>.err.=.<span.clas
e2200 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 6e 45 72 72 6f 72 3b s="tok-kw">error</span>.AnError;
e2220 3c 2f 73 70 61 6e 3e 0a 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">....<
e2240 73 70 61 6e 20 63 6c 61 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>
e2260 20 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 .number.=.<span.class="tok-built
e2280 69 6e 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 65 72 72 29 20 2b 20 3c 73 in">@errorToInt</span>(err).+.<s
e22a0 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>
e22c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
e22e0 3c 73 70 61 6e 20 63 6c 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
e2300 3e 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >.invalid_err.=.<span.class="tok
e2320 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 6e 75 6d -builtin">@intToError</span>(num
e2340 62 65 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ber);</span>.<span.class="line">
e2360 20 20 20 20 5f 20 3d 20 69 6e 76 61 6c 69 64 5f 65 72 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ...._.=.invalid_err;</span>.<spa
e2380 6e 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></
e23a0 70 72 65 3e 3c 2f 66 69 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
e23c0 20 63 6c 61 73 73 3d 22 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
e23e0 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
e2400 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
e2420 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 ></span>.<span.class="line"><spa
e2440 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 n.class="t0_1">./docgen_tmp/test
e2460 2e 7a 69 67 3a 34 3a 32 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .zig:4:25:.</span><span.class="t
e2480 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=
e24a0 22 74 30 5f 31 22 3e 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 31 31 20 72 65 70 72 65 73 65 6e "t0_1">integer.value.11.represen
e24c0 74 73 20 6e 6f 20 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ts.no.error</span></span>.<span.
e24e0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 69 6e 76 61 6c 69 64 5f 65 class="line">....const.invalid_e
e2500 72 72 20 3d 20 40 69 6e 74 54 6f 45 72 72 6f 72 28 6e 75 6d 62 65 72 29 3b 3c 2f 73 70 61 6e 3e rr.=.@intToError(number);</span>
e2520 0a 3c 73 70 61 6e 20 63 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">............
e2540 20 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">
e2560 5e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 ^</span></span>.</samp></pre></f
e2580 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>.
e25a0 20 20 20 20 20 20 3c 66 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=
e25c0 22 7a 69 67 2d 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
e25e0 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
e2600 6f 64 65 3e 3c 73 70 61 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
e2620 73 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.=.<
e2640 73 70 61 6e 20 63 6c 61 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
e2660 3c 2f 73 70 61 6e 3e 28 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
e2680 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
e26a0 70 61 6e 20 63 6c 61 73 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
e26c0 6c 61 73 73 3d 22 6c 69 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"
e26e0 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"
e2700 3e 66 6e 3c 2f 73 70 61 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">
e2720 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
e2740 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.
e2760 63 6c 61 73 73 3d 22 6c 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
e2780 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 k-kw">var</span>.err.=.<span.cla
e27a0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 41 6e 45 72 72 6f 72 ss="tok-kw">error</span>.AnError
e27c0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
e27e0 3c 73 70 61 6e 20 63 6c 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>.
e2800 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 number.=.<span.class="tok-builti
e2820 6e 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 65 72 72 29 20 2b 20 3c 73 70 n">@errorToInt</span>(err).+.<sp
e2840 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 30 30 3c 2f 73 70 61 6e 3e an.class="tok-number">500</span>
e2860 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
e2880 3c 73 70 61 6e 20 63 6c 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>.
e28a0 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 invalid_err.=.<span.class="tok-b
e28c0 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 uiltin">@intToError</span>(numbe
e28e0 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 r);</span>.<span.class="line">..
e2900 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
e2920 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;<
e2940 2f 73 70 61 6e 3e 2c 20 2e 7b 69 6e 76 61 6c 69 64 5f 65 72 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a /span>,..{invalid_err});</span>.
e2960 3c 73 70 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
e2980 65 3e 3c 2f 70 72 65 3e 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
e29a0 74 69 6f 6e 20 63 6c 61 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
e29c0 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=
e29e0 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 "line">$.<kbd>zig.build-exe.test
e2a00 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
e2a20 69 6e 65 22 3e 3c 2f 73 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">
e2a40 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e $.<kbd>./test</kbd></span>.<span
e2a60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 37 35 39 37 20 70 61 6e .class="line">thread.1447597.pan
e2a80 69 63 3a 20 69 6e 76 61 6c 69 64 20 65 72 72 6f 72 20 63 6f 64 65 3c 2f 73 70 61 6e 3e 0a 3c 73 ic:.invalid.error.code</span>.<s
e2aa0 70 61 6e 20 63 6c 61 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
e2ac0 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d _0">/home/andy/tmp/zig/docgen_tm
e2ae0 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 32 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c p/test.zig:6:23</span>:.<span.cl
e2b00 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 65 31 33 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 ass="t2_0">0x22ce13.in.main.(tes
e2b20 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
e2b40 6e 65 22 3e 20 20 20 20 76 61 72 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 40 69 6e 74 54 6f ne">....var.invalid_err.=.@intTo
e2b60 45 72 72 6f 72 28 6e 75 6d 62 65 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 Error(number);</span>.<span.clas
e2b80 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c s="line">......................<
e2ba0 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
e2bc0 6e 3e 0a 3c 73 70 61 6e 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
e2be0 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f s="t1_0">/home/andy/tmp/zig/lib/
e2c00 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 std/start.zig:551:22</span>:.<sp
e2c20 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 34 63 63 20 69 6e 20 73 74 64 2e an.class="t2_0">0x2264cc.in.std.
e2c40 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 start.callMain.(test)</span></sp
e2c60 61 6e 3e 0a 3c 73 70 61 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">.........
e2c80 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
e2ca0 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">.....................<
e2cc0 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
e2ce0 6e 3e 0a 3c 73 70 61 6e 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
e2d00 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f s="t1_0">/home/andy/tmp/zig/lib/
e2d20 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 std/start.zig:495:12</span>:.<sp
e2d40 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 65 65 20 69 6e 20 73 74 64 2e an.class="t2_0">0x2070ee.in.std.
e2d60 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 start.callMainWithArgs.(test)</s
e2d80 70 61 6e 3e 3c 2f 73 70 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">.
e2da0 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e ...return.@call(.{..modifier.=..
e2dc0 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b always_inline.},.callMain,..{});
e2de0 3c 2f 73 70 61 6e 3e 0a 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">.....
e2e00 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
e2e20 6e 3e 3c 2f 73 70 61 6e 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
e2e40 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
e2e60 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 ig/lib/std/start.zig:409:17</spa
e2e80 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 38 36 20 n>:.<span.class="t2_0">0x206186.
e2ea0 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 in.std.start.posixCallMainAndExi
e2ec0 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
e2ee0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 ss="line">....std.os.exit(@call(
e2f00 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c .{..modifier.=..always_inline.},
e2f20 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 .callMainWithArgs,..{.argc,.argv
e2f40 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ,.envp.}));</span>.<span.class="
e2f60 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 line">................<span.clas
e2f80 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.
e2fa0 63 6c 61 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">
e2fc0 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 /home/andy/tmp/zig/lib/std/start
e2fe0 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .zig:322:5</span>:.<span.class="
e3000 74 32 5f 30 22 3e 30 78 32 30 35 66 39 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 t2_0">0x205f92.in.std.start._sta
e3020 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
e3040 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
e3060 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
e3080 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
e30a0 61 73 73 3d 22 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_
e30c0 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="
e30e0 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
e3100 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
e3120 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 76 61 6c 69 64 2d e>..............<h3.id="Invalid-
e3140 45 6e 75 6d 2d 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 76 61 6c 69 64 Enum-Cast"><a.href="#toc-Invalid
e3160 2d 45 6e 75 6d 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 20 45 6e 75 6d 20 43 61 73 74 3c 2f 61 -Enum-Cast">Invalid.Enum.Cast</a
e3180 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 76 61 6c 69 64 2d >.<a.class="hdr".href="#Invalid-
e31a0 45 6e 75 6d 2d 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 Enum-Cast">..</a></h3>........<p
e31c0 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 >At.compile-time:</p>.......<fig
e31e0 75 72 65 3e 3c 66 69 67 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">
e3200 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
e3220 65 3e 3c 2f 66 69 67 63 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.
e3240 63 6c 61 73 73 3d 22 6c 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
e3260 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
e3280 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>.<
e32a0 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>.
e32c0 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>
e32e0 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
e3300 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>.<
e3320 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
e3340 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>.
e3360 3c 73 70 61 6e 20 63 6c 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
e3380 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 ss="tok-kw">const</span>.a:.<spa
e33a0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c n.class="tok-type">u2</span>.=.<
e33c0 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>
e33e0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
e3400 3c 73 70 61 6e 20 63 6c 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
e3420 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e >.b.=.<span.class="tok-builtin">
e3440 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 61 29 3b 3c 2f 73 70 61 6e @intToEnum</span>(Foo,.a);</span
e3460 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 62 3b 3c >.<span.class="line">...._.=.b;<
e3480 2f 73 70 61 6e 3e 0a 3c 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
e34a0 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>
e34c0 3c 66 69 67 63 61 70 74 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
e34e0 65 6c 6c 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
e3500 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
e3520 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=
e3540 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
e3560 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 38 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 en_tmp/test.zig:8:15:.</span><sp
e3580 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><
e35a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 6e 75 6d 20 27 46 6f 6f 27 20 68 61 73 span.class="t0_1">enum.'Foo'.has
e35c0 20 6e 6f 20 74 61 67 20 6d 61 74 63 68 69 6e 67 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 33 .no.tag.matching.integer.value.3
e35e0 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
e3600 22 3e 20 20 20 20 63 6f 6e 73 74 20 62 20 3d 20 40 69 6e 74 54 6f 45 6e 75 6d 28 46 6f 6f 2c 20 ">....const.b.=.@intToEnum(Foo,.
e3620 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 a);</span>.<span.class="line">..
e3640 20 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">
e3660 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
e3680 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 e"><span.class="t0_1">./docgen_t
e36a0 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 mp/test.zig:1:13:.</span><span.c
e36c0 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 lass="t36_1">note:.</span><span.
e36e0 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 27 46 6f 6f 27 20 64 65 63 6c 61 72 65 64 20 68 65 72 65 class="t0_1">'Foo'.declared.here
e3700 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </span></span>.<span.class="line
e3720 22 3e 63 6f 6e 73 74 20 46 6f 6f 20 3d 20 65 6e 75 6d 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ">const.Foo.=.enum.{</span>.<spa
e3740 6e 20 63 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
e3760 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>.<
e3780 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 /samp></pre></figure>.......<p>A
e37a0 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 t.runtime:</p>.......<figure><fi
e37c0 67 63 61 70 74 69 6f 6e 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
e37e0 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
e3800 63 61 70 74 69 6f 6e 3e 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="
e3820 6c 69 6e 65 22 3e 3c 73 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
e3840 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
e3860 75 69 6c 74 69 6e 22 3e 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
e3880 73 73 3d 22 74 6f 6b 2d 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
e38a0 61 6e 3e 29 3b 3c 2f 73 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">
e38c0 3c 2f 73 70 61 6e 3e 0a 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
e38e0 20 63 6c 61 73 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
e3900 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
e3920 61 6e 3e 20 7b 3c 2f 73 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">
e3940 20 20 20 20 61 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ....a,</span>.<span.class="line"
e3960 3e 20 20 20 20 62 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 >....b,</span>.<span.class="line
e3980 22 3e 20 20 20 20 63 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ">....c,</span>.<span.class="lin
e39a0 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">
e39c0 3c 2f 73 70 61 6e 3e 0a 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
e39e0 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
e3a00 20 63 6c 61 73 73 3d 22 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.
e3a20 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
e3a40 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>.
e3a60 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
e3a80 3c 73 70 61 6e 20 63 6c 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>.
e3aa0 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 a:.<span.class="tok-type">u2</sp
e3ac0 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
e3ae0 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
e3b00 65 22 3e 20 20 20 20 3c 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<
e3b20 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c /span>.b.=.<span.class="tok-buil
e3b40 74 69 6e 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 61 29 3b 3c tin">@intToEnum</span>(Foo,.a);<
e3b60 2f 73 70 61 6e 3e 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
e3b80 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
e3ba0 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 tr">&quot;value:.{s}\n&quot;</sp
e3bc0 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 an>,..{<span.class="tok-builtin"
e3be0 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 62 29 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 >@tagName</span>(b)});</span>.<s
e3c00 70 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>
e3c20 3c 2f 70 72 65 3e 3c 2f 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
e3c40 6f 6e 20 63 6c 61 73 73 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
e3c60 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
e3c80 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
e3ca0 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
e3cc0 65 22 3e 3c 2f 73 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">$.
e3ce0 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
e3d00 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 37 38 32 33 20 70 61 6e 69 63 lass="line">thread.1447823.panic
e3d20 3a 20 69 6e 76 61 6c 69 64 20 65 6e 75 6d 20 76 61 6c 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 :.invalid.enum.value</span>.<spa
e3d40 6e 20 63 6c 61 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
e3d60 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f ">/home/andy/tmp/zig/docgen_tmp/
e3d80 74 65 73 74 2e 7a 69 67 3a 31 31 3a 31 33 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 test.zig:11:13</span>:.<span.cla
e3da0 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 64 39 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 ss="t2_0">0x22cdd9.in.main.(test
e3dc0 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
e3de0 65 22 3e 20 20 20 20 76 61 72 20 62 20 3d 20 40 69 6e 74 54 6f 45 6e 75 6d 28 46 6f 6f 2c 20 61 e">....var.b.=.@intToEnum(Foo,.a
e3e00 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
e3e20 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">^</
e3e40 73 70 61 6e 3e 3c 2f 73 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">
e3e60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d <span.class="t1_0">/home/andy/tm
e3e80 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f p/zig/lib/std/start.zig:551:22</
e3ea0 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 34 span>:.<span.class="t2_0">0x2264
e3ec0 62 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c bc.in.std.start.callMain.(test)<
e3ee0 2f 73 70 61 6e 3e 3c 2f 73 70 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"
e3f00 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>
e3f20 0a 3c 73 70 61 6e 20 63 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">............
e3f40 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">^</
e3f60 73 70 61 6e 3e 3c 2f 73 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">
e3f80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d <span.class="t1_0">/home/andy/tm
e3fa0 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f p/zig/lib/std/start.zig:495:12</
e3fc0 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 30 span>:.<span.class="t2_0">0x2070
e3fe0 64 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 de.in.std.start.callMainWithArgs
e4000 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
e4020 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f s="line">....return.@call(.{..mo
e4040 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d difier.=..always_inline.},.callM
e4060 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ain,..{});</span>.<span.class="l
e4080 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 ine">...........<span.class="t32
e40a0 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=
e40c0 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/
e40e0 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 andy/tmp/zig/lib/std/start.zig:4
e4100 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 09:17</span>:.<span.class="t2_0"
e4120 3e 30 78 32 30 36 31 37 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c >0x206176.in.std.start.posixCall
e4140 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>
e4160 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 .<span.class="line">....std.os.e
e4180 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 xit(@call(.{..modifier.=..always
e41a0 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 _inline.},.callMainWithArgs,..{.
e41c0 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 argc,.argv,.envp.}));</span>.<sp
e41e0 61 6e 20 63 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">................
e4200 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
e4220 61 6e 3e 0a 3c 73 70 61 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
e4240 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 ss="t1_0">/home/andy/tmp/zig/lib
e4260 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 /std/start.zig:322:5</span>:.<sp
e4280 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 66 38 32 20 69 6e 20 73 74 64 2e an.class="t2_0">0x205f82.in.std.
e42a0 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e start._start.(test)</span></span
e42c0 3e 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(.
e42e0 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
e4300 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
e4320 3e 0a 3c 73 70 61 6e 20 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
e4340 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
e4360 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
e4380 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
e43a0 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
e43c0 64 3d 22 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 3e 3c 61 20 68 72 d="Invalid-Error-Set-Cast"><a.hr
e43e0 65 66 3d 22 23 74 6f 63 2d 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 ef="#toc-Invalid-Error-Set-Cast"
e4400 3e 49 6e 76 61 6c 69 64 20 45 72 72 6f 72 20 53 65 74 20 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 >Invalid.Error.Set.Cast</a>.<a.c
e4420 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d lass="hdr".href="#Invalid-Error-
e4440 53 65 74 2d 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e Set-Cast">..</a></h3>........<p>
e4460 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
e4480 72 65 3e 3c 66 69 67 63 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"><
e44a0 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
e44c0 3e 3c 2f 66 69 67 63 61 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
e44e0 6c 61 73 73 3d 22 6c 69 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"
e4500 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 65 74 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 >const</span>.Set1.=.<span.class
e4520 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c ="tok-kw">error</span>{</span>.<
e4540 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 41 2c 3c 2f 73 70 61 6e 3e 0a span.class="line">....A,</span>.
e4560 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 42 2c 3c 2f 73 70 61 6e 3e <span.class="line">....B,</span>
e4580 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
e45a0 70 61 6e 20 63 6c 61 73 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
e45c0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 65 74 32 20 3d 20 3c 73 70 61 6e 20 k-kw">const</span>.Set2.=.<span.
e45e0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 3c 2f 73 70 class="tok-kw">error</span>{</sp
e4600 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 41 2c 3c 2f 73 an>.<span.class="line">....A,</s
e4620 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 43 2c 3c 2f pan>.<span.class="line">....C,</
e4640 73 70 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
e4660 6e 3e 0a 3c 73 70 61 6e 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
e4680 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 s="tok-kw">comptime</span>.{</sp
e46a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 3c an>.<span.class="line">...._.=.<
e46c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 53 65 74 span.class="tok-builtin">@errSet
e46e0 43 61 73 74 3c 2f 73 70 61 6e 3e 28 53 65 74 32 2c 20 53 65 74 31 2e 42 29 3b 3c 2f 73 70 61 6e Cast</span>(Set2,.Set1.B);</span
e4700 3e 0a 3c 73 70 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
e4720 6f 64 65 3e 3c 2f 70 72 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
e4740 61 70 74 69 6f 6e 20 63 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</
e4760 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
e4780 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
e47a0 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
e47c0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d "><span.class="t0_1">./docgen_tm
e47e0 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c p/test.zig:10:9:.</span><span.cl
e4800 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 ass="t31_1">error:.</span><span.
e4820 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 72 72 6f 72 2e 42 20 6e 6f 74 20 61 20 6d 65 6d 62 65 class="t0_1">error.B.not.a.membe
e4840 72 20 6f 66 20 65 72 72 6f 72 20 73 65 74 20 27 53 65 74 32 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 r.of.error.set.'Set2'</span></sp
e4860 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 40 an>.<span.class="line">...._.=.@
e4880 65 72 72 53 65 74 43 61 73 74 28 53 65 74 32 2c 20 53 65 74 31 2e 42 29 3b 3c 2f 73 70 61 6e 3e errSetCast(Set2,.Set1.B);</span>
e48a0 0a 3c 73 70 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
e48c0 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>.
e48e0 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>
e4900 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 At.runtime:</p>.......<figure><f
e4920 69 67 63 61 70 74 69 6f 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.
e4940 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
e4960 67 63 61 70 74 69 6f 6e 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=
e4980 22 6c 69 6e 65 22 3e 3c 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
e49a0 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-
e49c0 62 75 69 6c 74 69 6e 22 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
e49e0 61 73 73 3d 22 74 6f 6b 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
e4a00 70 61 6e 3e 29 3b 3c 2f 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"
e4a20 3e 3c 2f 73 70 61 6e 3e 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
e4a40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 65 n.class="tok-kw">const</span>.Se
e4a60 74 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c t1.=.<span.class="tok-kw">error<
e4a80 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>{</span>.<span.class="line
e4aa0 22 3e 20 20 20 20 41 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ">....A,</span>.<span.class="lin
e4ac0 65 22 3e 20 20 20 20 42 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e">....B,</span>.<span.class="li
e4ae0 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"
e4b00 3e 3c 73 70 61 6e 20 63 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
e4b20 6e 3e 20 53 65 74 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 n>.Set2.=.<span.class="tok-kw">e
e4b40 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d rror</span>{</span>.<span.class=
e4b60 22 6c 69 6e 65 22 3e 20 20 20 20 41 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 "line">....A,</span>.<span.class
e4b80 3d 22 6c 69 6e 65 22 3e 20 20 20 20 43 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ="line">....C,</span>.<span.clas
e4ba0 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="
e4bc0 6c 69 6e 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</
e4be0 73 70 61 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
e4c00 70 61 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</
e4c20 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
e4c40 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=
e4c60 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 53 65 74 31 2e 42 29 3b 3c 2f 73 70 61 6e 3e 0a 3c "line">....foo(Set1.B);</span>.<
e4c80 73 70 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
e4ca0 20 63 6c 61 73 73 3d 22 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
e4cc0 77 22 3e 66 6e 3c 2f 73 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
e4ce0 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 65 74 31 3a 20 53 65 74 31 29 20 3c 73 70 61 6e 20 63 ">foo</span>(set1:.Set1).<span.c
e4d00 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
e4d20 70 61 6e 3e 0a 3c 73 70 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
e4d40 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 n.class="tok-kw">const</span>.x.
e4d60 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 =.<span.class="tok-builtin">@err
e4d80 53 65 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 53 65 74 32 2c 20 73 65 74 31 29 3b 3c 2f 73 70 61 SetCast</span>(Set2,.set1);</spa
e4da0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 64 65 n>.<span.class="line">....std.de
e4dc0 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e bug.print(<span.class="tok-str">
e4de0 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 &quot;value:.{}\n&quot;</span>,.
e4e00 2e 7b 78 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .{x});</span>.<span.class="line"
e4e20 3e 7d 3c 2f 73 70 61 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><
e4e40 66 69 67 75 72 65 3e 3c 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-
e4e60 63 61 70 22 3e 53 68 65 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
e4e80 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.
e4ea0 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a build-exe.test.zig</kbd></span>.
e4ec0 3c 73 70 61 6e 20 63 6c 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
e4ee0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 .class="line">$.<kbd>./test</kbd
e4f00 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 74 68 72 65 ></span>.<span.class="line">thre
e4f20 61 64 20 31 34 34 37 39 32 30 20 70 61 6e 69 63 3a 20 69 6e 76 61 6c 69 64 20 65 72 72 6f 72 20 ad.1447920.panic:.invalid.error.
e4f40 63 6f 64 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c code</span>.<span.class="line"><
e4f60 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 span.class="t1_0">/home/andy/tmp
e4f80 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 35 3a 31 35 3c 2f /zig/docgen_tmp/test.zig:15:15</
e4fa0 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 34 30 span>:.<span.class="t2_0">0x2340
e4fc0 63 63 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c cc.in.foo.(test)</span></span>.<
e4fe0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 span.class="line">....const.x.=.
e5000 40 65 72 72 53 65 74 43 61 73 74 28 53 65 74 32 2c 20 73 65 74 31 29 3b 3c 2f 73 70 61 6e 3e 0a @errSetCast(Set2,.set1);</span>.
e5020 3c 73 70 61 6e 20 63 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">.............
e5040 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
e5060 70 61 6e 3e 0a 3c 73 70 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
e5080 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f ass="t1_0">/home/andy/tmp/zig/do
e50a0 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 32 3a 38 3c 2f 73 70 61 6e 3e 3a 20 3c cgen_tmp/test.zig:12:8</span>:.<
e50c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 63 64 64 64 20 69 6e 20 6d 61 span.class="t2_0">0x22cddd.in.ma
e50e0 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
e5100 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 53 65 74 31 2e 42 29 3b 3c 2f 73 70 61 ass="line">....foo(Set1.B);</spa
e5120 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 3c 73 70 n>.<span.class="line">.......<sp
e5140 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>
e5160 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
e5180 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 "t1_0">/home/andy/tmp/zig/lib/st
e51a0 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e d/start.zig:551:22</span>:.<span
e51c0 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 34 65 63 20 69 6e 20 73 74 64 2e 73 74 .class="t2_0">0x2264ec.in.std.st
e51e0 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e art.callMain.(test)</span></span
e5200 3e 0a 3c 73 70 61 6e 20 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">...........
e5220 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
e5240 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
e5260 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>
e5280 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
e52a0 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 "t1_0">/home/andy/tmp/zig/lib/st
e52c0 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e d/start.zig:495:12</span>:.<span
e52e0 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 31 30 65 20 69 6e 20 73 74 64 2e 73 74 .class="t2_0">0x20710e.in.std.st
e5300 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 art.callMainWithArgs.(test)</spa
e5320 6e 3e 3c 2f 73 70 61 6e 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">...
e5340 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c .return.@call(.{..modifier.=..al
e5360 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f ways_inline.},.callMain,..{});</
e5380 73 70 61 6e 3e 0a 3c 73 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">.......
e53a0 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>
e53c0 3c 2f 73 70 61 6e 3e 0a 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
e53e0 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 .class="t1_0">/home/andy/tmp/zig
e5400 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e /lib/std/start.zig:409:17</span>
e5420 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 31 61 36 20 69 6e :.<span.class="t2_0">0x2061a6.in
e5440 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 .std.start.posixCallMainAndExit.
e5460 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
e5480 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b ="line">....std.os.exit(@call(.{
e54a0 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 ..modifier.=..always_inline.},.c
e54c0 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 allMainWithArgs,..{.argc,.argv,.
e54e0 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 envp.}));</span>.<span.class="li
e5500 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=
e5520 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
e5540 61 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
e5560 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a ome/andy/tmp/zig/lib/std/start.z
e5580 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 ig:322:5</span>:.<span.class="t2
e55a0 5f 30 22 3e 30 78 32 30 35 66 62 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 _0">0x205fb2.in.std.start._start
e55c0 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
e55e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 s="line">....@call(.{..modifier.
e5600 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e =..never_inline.},.posixCallMain
e5620 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 AndExit,..{});</span>.<span.clas
e5640 73 3d 22 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"
e5660 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
e5680 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 ne">(process.terminated.by.signa
e56a0 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e l)</span>.</samp></pre></figure>
e56c0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 63 6f 72 72 65 63 74 ...............<h3.id="Incorrect
e56e0 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f -Pointer-Alignment"><a.href="#to
e5700 63 2d 49 6e 63 6f 72 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 49 c-Incorrect-Pointer-Alignment">I
e5720 6e 63 6f 72 72 65 63 74 20 50 6f 69 6e 74 65 72 20 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 20 3c ncorrect.Pointer.Alignment</a>.<
e5740 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 63 6f 72 72 65 63 74 2d 50 a.class="hdr".href="#Incorrect-P
e5760 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 ointer-Alignment">..</a></h3>...
e5780 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>....
e57a0 20 20 20 3c 66 69 67 75 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
e57c0 67 2d 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
e57e0 69 67 3c 2f 63 69 74 65 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
e5800 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
e5820 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
e5840 3e 0a 3c 73 70 61 6e 20 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
e5860 6c 61 73 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.=
e5880 20 3c 73 70 61 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
e58a0 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 oPtr</span>(*<span.class="tok-kw
e58c0 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ">align</span>(<span.class="tok-
e58e0 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 number">1</span>).<span.class="t
e5900 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 ok-type">i32</span>,.<span.class
e5920 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e ="tok-number">0x1</span>);</span
e5940 3e 0a 3c 73 70 61 6e 20 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
e5960 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 6e lass="tok-kw">const</span>.align
e5980 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 ed.=.<span.class="tok-builtin">@
e59a0 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f alignCast</span>(<span.class="to
e59c0 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 29 3b 3c 2f 73 70 61 6e 3e k-number">4</span>,.ptr);</span>
e59e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 61 6c 69 67 .<span.class="line">...._.=.alig
e5a00 6e 65 64 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d ned;</span>.<span.class="line">}
e5a20 3c 2f 73 70 61 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
e5a40 67 75 72 65 3e 3c 66 69 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
e5a60 70 22 3e 53 68 65 6c 6c 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>
e5a80 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
e5aa0 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
e5ac0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e lass="line"><span.class="t0_1">.
e5ae0 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 33 35 3a 20 3c 2f 73 70 61 /docgen_tmp/test.zig:3:35:.</spa
e5b00 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
e5b20 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 70 6f 69 6e 74 65 72 20 61 pan><span.class="t0_1">pointer.a
e5b40 64 64 72 65 73 73 20 30 78 31 20 69 73 20 6e 6f 74 20 61 6c 69 67 6e 65 64 20 74 6f 20 34 20 62 ddress.0x1.is.not.aligned.to.4.b
e5b60 79 74 65 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ytes</span></span>.<span.class="
e5b80 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 61 6c 69 67 6e 65 64 20 3d 20 40 61 6c 69 67 6e line">....const.aligned.=.@align
e5ba0 43 61 73 74 28 34 2c 20 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 Cast(4,.ptr);</span>.<span.class
e5bc0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ="line">........................
e5be0 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">^<
e5c00 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 /span></span>.</samp></pre></fig
e5c20 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 ure>.......<p>At.runtime:</p>...
e5c40 20 20 20 20 3c 66 69 67 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
e5c60 69 67 2d 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.
e5c80 7a 69 67 3c 2f 63 69 74 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
e5ca0 65 3e 3c 73 70 61 6e 20 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
e5cc0 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 ="tok-kw">const</span>.mem.=.<sp
e5ce0 61 6e 20 63 6c 61 73 73 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</
e5d00 73 70 61 6e 3e 28 3c 73 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
e5d20 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 3c 2f 73 70 61 6e 3e 0a t;std&quot;</span>).mem;</span>.
e5d40 3c 73 70 61 6e 20 63 6c 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="
e5d60 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="
e5d80 74 6f 6b 2d 6b 77 22 3e 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
e5da0 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 ok-fn">main</span>().!<span.clas
e5dc0 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
e5de0 3e 0a 3c 73 70 61 6e 20 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
e5e00 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3c lass="tok-kw">var</span>.array.<
e5e20 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>
e5e40 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
e5e60 6e 3e 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e n>).=.[_]<span.class="tok-type">
e5e80 75 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d u32</span>{.<span.class="tok-num
e5ea0 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c ber">0x11111111</span>,.<span.cl
e5ec0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 ass="tok-number">0x11111111</spa
e5ee0 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e n>.};</span>.<span.class="line">
e5f00 20 20 20 20 3c 73 70 61 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</
e5f20 73 70 61 6e 3e 20 62 79 74 65 73 20 3d 20 6d 65 6d 2e 73 6c 69 63 65 41 73 42 79 74 65 73 28 61 span>.bytes.=.mem.sliceAsBytes(a
e5f40 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c rray[<span.class="tok-number">0<
e5f60 2f 73 70 61 6e 3e 2e 2e 5d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 /span>..]);</span>.<span.class="
e5f80 6c 69 6e 65 22 3e 20 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
e5fa0 66 3c 2f 73 70 61 6e 3e 20 28 66 6f 6f 28 62 79 74 65 73 29 20 21 3d 20 3c 73 70 61 6e 20 63 6c f</span>.(foo(bytes).!=.<span.cl
e5fc0 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 ass="tok-number">0x11111111</spa
e5fe0 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c n>).<span.class="tok-kw">return<
e6000 2f 73 70 61 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
e6020 72 3c 2f 73 70 61 6e 3e 2e 57 72 6f 6e 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 r</span>.Wrong;</span>.<span.cla
e6040 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="
e6060 6c 69 6e 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
e6080 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 pan>.<span.class="tok-fn">foo</s
e60a0 70 61 6e 3e 28 62 79 74 65 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 pan>(bytes:.[]<span.class="tok-t
e60c0 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ype">u8</span>).<span.class="tok
e60e0 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -type">u32</span>.{</span>.<span
e6100 20 63 6c 61 73 73 3d 22 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
e6120 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 34 20 3d 20 62 79 74 ok-kw">const</span>.slice4.=.byt
e6140 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 es[<span.class="tok-number">1</s
e6160 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 pan>..<span.class="tok-number">5
e6180 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
e61a0 6e 65 22 3e 20 20 20 20 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
e61c0 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 6d 65 6d 2e 62 79 74 65 73 41 st</span>.int_slice.=.mem.bytesA
e61e0 73 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 sSlice(<span.class="tok-type">u3
e6200 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 2</span>,.<span.class="tok-built
e6220 69 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 in">@alignCast</span>(<span.clas
e6240 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 34 29 s="tok-number">4</span>,.slice4)
e6260 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
e6280 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
e62a0 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e an>.int_slice[<span.class="tok-n
e62c0 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 umber">0</span>];</span>.<span.c
e62e0 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
e6300 3e 3c 2f 66 69 67 75 72 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
e6320 61 73 73 3d 22 73 68 65 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
e6340 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">
e6360 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b $.<kbd>zig.build-exe.test.zig</k
e6380 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f bd></span>.<span.class="line"></
e63a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e span>.<span.class="line">$.<kbd>
e63c0 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ./test</kbd></span>.<span.class=
e63e0 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 38 30 39 32 20 70 61 6e 69 63 3a 20 69 6e 63 "line">thread.1448092.panic:.inc
e6400 6f 72 72 65 63 74 20 61 6c 69 67 6e 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c orrect.alignment</span>.<span.cl
e6420 61 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
e6440 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 ome/andy/tmp/zig/docgen_tmp/test
e6460 2e 7a 69 67 3a 39 3a 35 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 .zig:9:59</span>:.<span.class="t
e6480 32 5f 30 22 3e 30 78 32 33 34 33 62 63 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 2_0">0x2343bc.in.foo.(test)</spa
e64a0 6e 3e 3c 2f 73 70 61 6e 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">...
e64c0 20 63 6f 6e 73 74 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c .const.int_slice.=.mem.bytesAsSl
e64e0 69 63 65 28 75 33 32 2c 20 40 61 6c 69 67 6e 43 61 73 74 28 34 2c 20 73 6c 69 63 65 34 29 29 3b ice(u32,.@alignCast(4,.slice4));
e6500 3c 2f 73 70 61 6e 3e 0a 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">.....
e6520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
e6540 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
e6560 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
e6580 6c 61 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">/
e65a0 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 home/andy/tmp/zig/docgen_tmp/tes
e65c0 74 2e 7a 69 67 3a 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 t.zig:5:12</span>:.<span.class="
e65e0 74 32 5f 30 22 3e 30 78 32 32 63 66 63 35 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 t2_0">0x22cfc5.in.main.(test)</s
e6600 70 61 6e 3e 3c 2f 73 70 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">.
e6620 20 20 20 69 66 20 28 66 6f 6f 28 62 79 74 65 73 29 20 21 3d 20 30 78 31 31 31 31 31 31 31 31 29 ...if.(foo(bytes).!=.0x11111111)
e6640 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 57 72 6f 6e 67 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .return.error.Wrong;</span>.<spa
e6660 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 n.class="line">...........<span.
e6680 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
e66a0 70 61 6e 20 63 6c 61 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
e66c0 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 _0">/home/andy/tmp/zig/lib/std/s
e66e0 74 61 72 74 2e 7a 69 67 3a 35 36 31 3a 33 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c tart.zig:561:37</span>:.<span.cl
e6700 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 36 35 37 61 20 69 6e 20 73 74 64 2e 73 74 61 72 74 ass="t2_0">0x22657a.in.std.start
e6720 2e 63 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c .callMain.(test)</span></span>.<
e6740 73 70 61 6e 20 63 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
e6760 6e 73 74 20 72 65 73 75 6c 74 20 3d 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 20 63 61 74 63 68 20 7c nst.result.=.root.main().catch.|
e6780 65 72 72 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 err|.{</span>.<span.class="line"
e67a0 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >...............................
e67c0 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
e67e0 3e 3c 2f 73 70 61 6e 3e 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
e6800 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 n.class="t1_0">/home/andy/tmp/zi
e6820 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e g/lib/std/start.zig:495:12</span
e6840 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 37 31 36 65 20 69 >:.<span.class="t2_0">0x20716e.i
e6860 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 n.std.start.callMainWithArgs.(te
e6880 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
e68a0 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 ine">....return.@call(.{..modifi
e68c0 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c er.=..always_inline.},.callMain,
e68e0 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"
e6900 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">
e6920 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
e6940 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 e"><span.class="t1_0">/home/andy
e6960 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 /tmp/zig/lib/std/start.zig:409:1
e6980 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 7</span>:.<span.class="t2_0">0x2
e69a0 30 36 32 30 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 06206.in.std.start.posixCallMain
e69c0 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 AndExit.(test)</span></span>.<sp
e69e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 an.class="line">....std.os.exit(
e6a00 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c @call(.{..modifier.=..always_inl
e6a20 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 ine.},.callMainWithArgs,..{.argc
e6a40 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ,.argv,.envp.}));</span>.<span.c
e6a60 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
e6a80 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>.
e6aa0 3c 73 70 61 6e 20 63 6c 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="
e6ac0 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 t1_0">/home/andy/tmp/zig/lib/std
e6ae0 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 /start.zig:322:5</span>:.<span.c
e6b00 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 30 31 32 20 69 6e 20 73 74 64 2e 73 74 61 72 lass="t2_0">0x206012.in.std.star
e6b20 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 t._start.(test)</span></span>.<s
e6b40 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
e6b60 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
e6b80 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
e6ba0 70 61 6e 20 63 6c 61 73 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
e6bc0 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
e6be0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 lass="line">(process.terminated.
e6c00 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c by.signal)</span>.</samp></pre><
e6c20 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 72 /figure>..............<h3.id="Wr
e6c40 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e 3c 61 20 68 72 65 66 3d ong-Union-Field-Access"><a.href=
e6c60 22 23 74 6f 63 2d 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e "#toc-Wrong-Union-Field-Access">
e6c80 57 72 6f 6e 67 20 55 6e 69 6f 6e 20 46 69 65 6c 64 20 41 63 63 65 73 73 3c 2f 61 3e 20 3c 61 20 Wrong.Union.Field.Access</a>.<a.
e6ca0 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 class="hdr".href="#Wrong-Union-F
e6cc0 69 65 6c 64 2d 41 63 63 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 ield-Access">..</a></h3>........
e6ce0 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 <p>At.compile-time:</p>.......<f
e6d00 69 67 75 72 65 3e 3c 66 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
e6d20 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
e6d40 69 74 65 3e 3c 2f 66 69 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
e6d60 6e 20 63 6c 61 73 73 3d 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-
e6d80 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 kw">comptime</span>.{</span>.<sp
e6da0 61 6e 20 63 6c 61 73 73 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=
e6dc0 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 46 6f 6f 7b 20 2e 69 6e "tok-kw">var</span>.f.=.Foo{..in
e6de0 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c t.=.<span.class="tok-number">42<
e6e00 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>.};</span>.<span.class="li
e6e20 6e 65 22 3e 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ne">....f.float.=.<span.class="t
e6e40 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a ok-number">12.34</span>;</span>.
e6e60 3c 73 70 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
e6e80 6e 20 63 6c 61 73 73 3d 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
e6ea0 73 73 3d 22 6c 69 6e 65 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
e6ec0 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
e6ee0 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
e6f00 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
e6f20 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
e6f40 70 61 6e 3e 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:
e6f60 20 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
e6f80 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">};
e6fa0 3c 2f 73 70 61 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
e6fc0 67 75 72 65 3e 3c 66 69 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
e6fe0 70 22 3e 53 68 65 6c 6c 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>
e7000 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
e7020 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
e7040 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e lass="line"><span.class="t0_1">.
e7060 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 36 3a 20 3c 2f 73 70 61 6e /docgen_tmp/test.zig:3:6:.</span
e7080 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
e70a0 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 61 63 63 65 73 73 69 6e 67 20 an><span.class="t0_1">accessing.
e70c0 75 6e 69 6f 6e 20 66 69 65 6c 64 20 27 66 6c 6f 61 74 27 20 77 68 69 6c 65 20 66 69 65 6c 64 20 union.field.'float'.while.field.
e70e0 27 69 6e 74 27 20 69 73 20 73 65 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 'int'.is.set</span></span>.<span
e7100 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 .class="line">....f.float.=.12.3
e7120 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">...
e7140 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></
e7160 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>....
e7180 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 ...<p>At.runtime:</p>.......<fig
e71a0 75 72 65 3e 3c 66 69 67 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">
e71c0 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
e71e0 65 3e 3c 2f 66 69 67 63 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.
e7200 63 6c 61 73 73 3d 22 6c 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
e7220 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
e7240 3d 22 74 6f 6b 2d 62 75 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
e7260 70 61 6e 20 63 6c 61 73 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
e7280 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=
e72a0 22 6c 69 6e 65 22 3e 3c 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
e72c0 22 3e 3c 73 70 61 6e 20 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
e72e0 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 an>.Foo.=.<span.class="tok-kw">u
e7300 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
e7320 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ="line">....float:.<span.class="
e7340 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
e7360 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 an.class="line">....int:.<span.c
e7380 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 lass="tok-type">u32</span>,</spa
e73a0 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>.
e73c0 3c 73 70 61 6e 20 63 6c 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
e73e0 20 63 6c 61 73 73 3d 22 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
e7400 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
e7420 77 22 3e 66 6e 3c 2f 73 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
e7440 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
e7460 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
e7480 6e 20 63 6c 61 73 73 3d 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="
e74a0 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 46 6f 6f 7b 20 2e 69 6e 74 tok-kw">var</span>.f.=.Foo{..int
e74c0 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f .=.<span.class="tok-number">42</
e74e0 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
e7500 65 22 3e 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e e">....bar(&amp;f);</span>.<span
e7520 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
e7540 73 73 3d 22 6c 69 6e 65 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
e7560 69 6e 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
e7580 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 an>.<span.class="tok-fn">bar</sp
e75a0 61 6e 3e 28 66 3a 20 2a 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 an>(f:.*Foo).<span.class="tok-ty
e75c0 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 pe">void</span>.{</span>.<span.c
e75e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 lass="line">....f.float.=.<span.
e7600 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b class="tok-number">12.34</span>;
e7620 3c 2f 73 70 61 6e 3e 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
e7640 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-
e7660 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
e7680 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 an>,..{f.float});</span>.<span.c
e76a0 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
e76c0 3e 3c 2f 66 69 67 75 72 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
e76e0 61 73 73 3d 22 73 68 65 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
e7700 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">
e7720 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b $.<kbd>zig.build-exe.test.zig</k
e7740 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f bd></span>.<span.class="line"></
e7760 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e span>.<span.class="line">$.<kbd>
e7780 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ./test</kbd></span>.<span.class=
e77a0 22 6c 69 6e 65 22 3e 74 68 72 65 61 64 20 31 34 34 38 33 34 36 20 70 61 6e 69 63 3a 20 61 63 63 "line">thread.1448346.panic:.acc
e77c0 65 73 73 20 6f 66 20 69 6e 61 63 74 69 76 65 20 75 6e 69 6f 6e 20 66 69 65 6c 64 3c 2f 73 70 61 ess.of.inactive.union.field</spa
e77e0 6e 3e 0a 3c 73 70 61 6e 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
e7800 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 s="t1_0">/home/andy/tmp/zig/docg
e7820 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 34 3a 36 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 en_tmp/test.zig:14:6</span>:.<sp
e7840 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 34 31 61 31 61 20 69 6e 20 62 61 72 20 an.class="t2_0">0x241a1a.in.bar.
e7860 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
e7880 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 34 3b 3c 2f 73 70 ="line">....f.float.=.12.34;</sp
e78a0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 3c 73 70 61 an>.<span.class="line">.....<spa
e78c0 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>.
e78e0 3c 73 70 61 6e 20 63 6c 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="
e7900 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f t1_0">/home/andy/tmp/zig/docgen_
e7920 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 tmp/test.zig:10:8</span>:.<span.
e7940 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 61 37 32 63 20 69 6e 20 6d 61 69 6e 20 28 74 class="t2_0">0x23a72c.in.main.(t
e7960 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="
e7980 6c 69 6e 65 22 3e 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 line">....bar(&amp;f);</span>.<s
e79a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c pan.class="line">.......<span.cl
e79c0 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
e79e0 6e 20 63 6c 61 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
e7a00 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 ">/home/andy/tmp/zig/lib/std/sta
e7a20 72 74 2e 7a 69 67 3a 35 35 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 rt.zig:551:22</span>:.<span.clas
e7a40 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 33 65 32 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 s="t2_0">0x233e2c.in.std.start.c
e7a60 61 6c 6c 4d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 allMain.(test)</span></span>.<sp
e7a80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 an.class="line">............root
e7aa0 2e 6d 61 69 6e 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e .main();</span>.<span.class="lin
e7ac0 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c e">.....................<span.cl
e7ae0 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
e7b00 6e 20 63 6c 61 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
e7b20 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 ">/home/andy/tmp/zig/lib/std/sta
e7b40 72 74 2e 7a 69 67 3a 34 39 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 rt.zig:495:12</span>:.<span.clas
e7b60 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 34 61 34 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 s="t2_0">0x214a4e.in.std.start.c
e7b80 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 allMainWithArgs.(test)</span></s
e7ba0 70 61 6e 3e 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
e7bc0 72 6e 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f rn.@call(.{..modifier.=..always_
e7be0 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e inline.},.callMain,..{});</span>
e7c00 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c .<span.class="line">...........<
e7c20 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
e7c40 6e 3e 0a 3c 73 70 61 6e 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
e7c60 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f s="t1_0">/home/andy/tmp/zig/lib/
e7c80 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 std/start.zig:409:17</span>:.<sp
e7ca0 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 33 61 65 36 20 69 6e 20 73 74 64 2e an.class="t2_0">0x213ae6.in.std.
e7cc0 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 start.posixCallMainAndExit.(test
e7ce0 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
e7d00 65 22 3e 20 20 20 20 73 74 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 e">....std.os.exit(@call(.{..mod
e7d20 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 ifier.=..always_inline.},.callMa
e7d40 69 6e 57 69 74 68 41 72 67 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 inWithArgs,..{.argc,.argv,.envp.
e7d60 7d 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 }));</span>.<span.class="line">.
e7d80 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_
e7da0 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="
e7dc0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 line"><span.class="t1_0">/home/a
e7de0 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 ndy/tmp/zig/lib/std/start.zig:32
e7e00 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
e7e20 78 32 31 33 38 66 32 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 x2138f2.in.std.start._start.(tes
e7e40 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
e7e60 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
e7e80 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
e7ea0 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
e7ec0 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
e7ee0 70 61 6e 3e 3c 2f 73 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">(
e7f00 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
e7f20 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>.....
e7f40 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 73 61 66 65 74 79 20 69 73 20 6e 6f 74 20 61 ..<p>.......This.safety.is.not.a
e7f60 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 vailable.for.<code><span.class="
e7f80 6c 69 6e 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
e7fa0 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e n</span></span></code>.or.<code>
e7fc0 3c 73 70 61 6e 20 63 6c 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="
e7fe0 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f tok-kw">packed</span></span></co
e8000 64 65 3e 20 75 6e 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e de>.unions........</p>.......<p>
e8020 0a 20 20 20 20 20 20 54 6f 20 63 68 61 6e 67 65 20 74 68 65 20 61 63 74 69 76 65 20 66 69 65 6c .......To.change.the.active.fiel
e8040 64 20 6f 66 20 61 20 75 6e 69 6f 6e 2c 20 61 73 73 69 67 6e 20 74 68 65 20 65 6e 74 69 72 65 20 d.of.a.union,.assign.the.entire.
e8060 75 6e 69 6f 6e 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 union,.like.this:.......</p>....
e8080 20 20 20 3c 66 69 67 75 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
e80a0 67 2d 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
e80c0 69 67 3c 2f 63 69 74 65 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
e80e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
e8100 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
e8120 6e 20 63 6c 61 73 73 3d 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
e8140 70 61 6e 3e 28 3c 73 70 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
e8160 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
e8180 20 63 6c 61 73 73 3d 22 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
e81a0 73 3d 22 6c 69 6e 65 22 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
e81c0 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
e81e0 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
e8200 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.
e8220 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
e8240 61 6e 3e 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:.
e8260 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
e8280 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">};<
e82a0 2f 73 70 61 6e 3e 0a 3c 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
e82c0 3e 0a 3c 73 70 61 6e 20 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
e82e0 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
e8300 3d 22 74 6f 6b 2d 6b 77 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=
e8320 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
e8340 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
e8360 6e 3e 0a 3c 73 70 61 6e 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.
e8380 63 6c 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
e83a0 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
e83c0 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
e83e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 3c 2f 73 70 61 6e ss="line">....bar(&amp;f);</span
e8400 3e 0a 3c 73 70 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
e8420 70 61 6e 20 63 6c 61 73 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
e8440 6c 61 73 73 3d 22 6c 69 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"
e8460 3e 66 6e 3c 2f 73 70 61 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">
e8480 62 61 72 3c 2f 73 70 61 6e 3e 28 66 3a 20 2a 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d bar</span>(f:.*Foo).<span.class=
e84a0 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>.
e84c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 2e 2a 20 3d 20 46 6f 6f <span.class="line">....f.*.=.Foo
e84e0 7b 20 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 {..float.=.<span.class="tok-numb
e8500 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e er">12.34</span>.};</span>.<span
e8520 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
e8540 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
e8560 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 lue:.{}\n&quot;</span>,..{f.floa
e8580 74 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d t});</span>.<span.class="line">}
e85a0 3c 2f 73 70 61 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
e85c0 67 75 72 65 3e 3c 66 69 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
e85e0 70 22 3e 53 68 65 6c 6c 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>
e8600 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
e8620 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ild-exe.test.zig</kbd></span>.<s
e8640 70 61 6e 20 63 6c 61 73 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
e8660 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 74 65 73 74 3c 2f 6b 62 64 3e 3c lass="line">$.<kbd>./test</kbd><
e8680 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3a /span>.<span.class="line">value:
e86a0 20 31 2e 32 33 34 30 30 30 30 31 65 2b 30 31 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f .1.23400001e+01</span>.</samp></
e86c0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f pre></figure>.......<p>.......To
e86e0 20 63 68 61 6e 67 65 20 74 68 65 20 61 63 74 69 76 65 20 66 69 65 6c 64 20 6f 66 20 61 20 75 6e .change.the.active.field.of.a.un
e8700 69 6f 6e 20 77 68 65 6e 20 61 20 6d 65 61 6e 69 6e 67 66 75 6c 20 76 61 6c 75 65 20 66 6f 72 20 ion.when.a.meaningful.value.for.
e8720 74 68 65 20 66 69 65 6c 64 20 69 73 20 6e 6f 74 20 6b 6e 6f 77 6e 2c 0a 20 20 20 20 20 20 75 73 the.field.is.not.known,.......us
e8740 65 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 e.<a.href="#undefined">undefined
e8760 3c 2f 61 3e 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 </a>,.like.this:.......</p>.....
e8780 20 20 3c 66 69 67 75 72 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
e87a0 2d 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
e87c0 67 3c 2f 63 69 74 65 3e 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>
e87e0 3c 73 70 61 6e 20 63 6c 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="
e8800 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
e8820 20 63 6c 61 73 73 3d 22 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
e8840 61 6e 3e 28 3c 73 70 61 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;
e8860 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.
e8880 63 6c 61 73 73 3d 22 6c 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
e88a0 3d 22 6c 69 6e 65 22 3e 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
e88c0 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b st</span>.Foo.=.<span.class="tok
e88e0 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -kw">union</span>.{</span>.<span
e8900 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
e8920 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
e8940 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 69 6e 74 3a 20 3c n>.<span.class="line">....int:.<
e8960 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>
e8980 2c 3c 2f 73 70 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">};</
e89a0 73 70 61 6e 3e 0a 3c 73 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>
e89c0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
e89e0 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=
e8a00 22 74 6f 6b 2d 6b 77 22 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="
e8a20 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
e8a40 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
e8a60 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 >.<span.class="line">....<span.c
e8a80 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 46 6f 6f lass="tok-kw">var</span>.f.=.Foo
e8aa0 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 {..int.=.<span.class="tok-number
e8ac0 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">42</span>.};</span>.<span.clas
e8ae0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 20 3d 20 46 6f 6f 7b 20 2e 66 6c 6f 61 74 20 3d 20 3c s="line">....f.=.Foo{..float.=.<
e8b00 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<
e8b20 2f 73 70 61 6e 3e 20 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 /span>.};</span>.<span.class="li
e8b40 6e 65 22 3e 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ne">....bar(&amp;f);</span>.<spa
e8b60 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
e8b80 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
e8ba0 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
e8bc0 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">
e8be0 7d 3c 2f 73 70 61 6e 3e 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
e8c00 61 6e 3e 0a 3c 73 70 61 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
e8c20 73 73 3d 22 74 6f 6b 2d 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
e8c40 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 66 3a 20 2a 46 6f 6f 29 20 3c s="tok-fn">bar</span>(f:.*Foo).<
e8c60 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
e8c80 3e 20 7b 3c 2f 73 70 61 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">..
e8ca0 20 20 66 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d ..f.float.=.<span.class="tok-num
e8cc0 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ber">12.34</span>;</span>.<span.
e8ce0 63 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
e8d00 65 3e 3c 2f 66 69 67 75 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
e8d20 6c 61 73 73 3d 22 73 68 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
e8d40 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"
e8d60 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</
e8d80 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"><
e8da0 2f 73 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
e8dc0 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
e8de0 3d 22 6c 69 6e 65 22 3e 76 61 6c 75 65 3a 20 31 2e 32 33 34 30 30 30 30 31 65 2b 30 31 3c 2f 73 ="line">value:.1.23400001e+01</s
e8e00 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>.....
e8e20 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
e8e40 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c ef="#union">union</a></li>.<li><
e8e60 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e a.href="#extern-union">extern.un
e8e80 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 ion</a></li>.</ul>..............
e8ea0 20 20 3c 68 33 20 69 64 3d 22 4f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 6c 6f 61 74 2d 74 6f ..<h3.id="Out-of-Bounds-Float-to
e8ec0 2d 49 6e 74 65 67 65 72 2d 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 75 74 -Integer-Cast"><a.href="#toc-Out
e8ee0 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 61 73 74 -of-Bounds-Float-to-Integer-Cast
e8f00 22 3e 4f 75 74 20 6f 66 20 42 6f 75 6e 64 73 20 46 6c 6f 61 74 20 74 6f 20 49 6e 74 65 67 65 72 ">Out.of.Bounds.Float.to.Integer
e8f20 20 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 .Cast</a>.<a.class="hdr".href="#
e8f40 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
e8f60 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3c ast">..</a></h3>........<p>TODO<
e8f80 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 50 6f 69 6e 74 65 /p>...............<h3.id="Pointe
e8fa0 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 r-Cast-Invalid-Null"><a.href="#t
e8fc0 6f 63 2d 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f oc-Pointer-Cast-Invalid-Null">Po
e8fe0 69 6e 74 65 72 20 43 61 73 74 20 49 6e 76 61 6c 69 64 20 4e 75 6c 6c 3c 2f 61 3e 20 3c 61 20 63 inter.Cast.Invalid.Null</a>.<a.c
e9000 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 lass="hdr".href="#Pointer-Cast-I
e9020 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 nvalid-Null">..</a></h3>........
e9040 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 68 61 70 70 65 6e 73 20 77 68 65 6e 20 63 61 73 74 <p>.......This.happens.when.cast
e9060 69 6e 67 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 74 68 65 20 61 64 64 72 65 73 73 20 30 ing.a.pointer.with.the.address.0
e9080 20 74 6f 20 61 20 70 6f 69 6e 74 65 72 20 77 68 69 63 68 20 6d 61 79 20 6e 6f 74 20 68 61 76 65 .to.a.pointer.which.may.not.have
e90a0 20 74 68 65 20 61 64 64 72 65 73 73 20 30 2e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c .the.address.0........For.exampl
e90c0 65 2c 20 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 e,.<a.href="#C-Pointers">C.Point
e90e0 65 72 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e ers</a>,.<a.href="#Optional-Poin
e9100 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2c 20 61 6e 64 ters">Optional.Pointers</a>,.and
e9120 20 3c 61 20 68 72 65 66 3d 22 23 61 6c 6c 6f 77 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c .<a.href="#allowzero">allowzero<
e9140 2f 61 3e 20 70 6f 69 6e 74 65 72 73 0a 20 20 20 20 20 20 61 6c 6c 6f 77 20 61 64 64 72 65 73 73 /a>.pointers.......allow.address
e9160 20 7a 65 72 6f 2c 20 62 75 74 20 6e 6f 72 6d 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e .zero,.but.normal.<a.href="#Poin
e9180 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 64 6f 20 6e 6f 74 2e 0a 20 20 20 20 20 ters">Pointers</a>.do.not.......
e91a0 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c .</p>.......<p>At.compile-time:<
e91c0 2f 70 3e 0a 20 20 20 20 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
e91e0 61 73 73 3d 22 7a 69 67 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"
e9200 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
e9220 65 3e 3c 63 6f 64 65 3e 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
e9240 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>.
e9260 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
e9280 3c 73 70 61 6e 20 63 6c 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
e92a0 3e 20 6f 70 74 5f 70 74 72 3a 20 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 >.opt_ptr:.?*<span.class="tok-ty
e92c0 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
e92e0 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-null">null</span>;</span>.<spa
e9300 6e 20 63 6c 61 73 73 3d 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="
e9320 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e tok-kw">const</span>.ptr.=.<span
e9340 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 .class="tok-builtin">@ptrCast</s
e9360 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 pan>(*<span.class="tok-type">i32
e9380 3c 2f 73 70 61 6e 3e 2c 20 6f 70 74 5f 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 </span>,.opt_ptr);</span>.<span.
e93a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 70 74 72 3b 3c 2f 73 70 61 6e 3e class="line">...._.=.ptr;</span>
e93c0 0a 3c 73 70 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
e93e0 64 65 3e 3c 2f 70 72 65 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
e9400 70 74 69 6f 6e 20 63 6c 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
e9420 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
e9440 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 ="line">$.<kbd>zig.test.test.zig
e9460 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"
e9480 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 ><span.class="t0_1">./docgen_tmp
e94a0 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 /test.zig:3:17:.</span><span.cla
e94c0 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
e94e0 6c 61 73 73 3d 22 74 30 5f 31 22 3e 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 63 61 73 74 65 64 20 lass="t0_1">null.pointer.casted.
e9500 74 6f 20 74 79 70 65 20 27 2a 69 33 32 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 to.type.'*i32'</span></span>.<sp
e9520 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 6f 6e 73 74 20 70 74 72 20 3d 20 an.class="line">....const.ptr.=.
e9540 40 70 74 72 43 61 73 74 28 2a 69 33 32 2c 20 6f 70 74 5f 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a @ptrCast(*i32,.opt_ptr);</span>.
e9560 3c 73 70 61 6e 20 63 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">.............
e9580 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><
e95a0 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>...
e95c0 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 ....<p>At.runtime:</p>.......<fi
e95e0 67 75 72 65 3e 3c 66 69 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"
e9600 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
e9620 74 65 3e 3c 2f 66 69 67 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
e9640 20 63 6c 61 73 73 3d 22 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
e9660 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
e9680 77 22 3e 66 6e 3c 2f 73 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
e96a0 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
e96c0 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
e96e0 6e 20 63 6c 61 73 73 3d 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="
e9700 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6f 70 74 5f 70 74 72 3a 20 3f 2a 3c 73 tok-kw">var</span>.opt_ptr:.?*<s
e9720 70 61 6e 20 63 6c 61 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>.
e9740 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 =.<span.class="tok-null">null</s
e9760 70 61 6e 3e 3b 3c 2f 73 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">
e9780 20 20 20 20 3c 73 70 61 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
e97a0 61 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 an>.ptr.=.<span.class="tok-built
e97c0 69 6e 22 3e 40 70 74 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 in">@ptrCast</span>(*<span.class
e97e0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 6f 70 74 5f 70 74 72 29 ="tok-type">i32</span>,.opt_ptr)
e9800 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
e9820 5f 20 3d 20 70 74 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e _.=.ptr;</span>.<span.class="lin
e9840 65 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
e9860 3e 3c 66 69 67 75 72 65 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
e9880 6c 2d 63 61 70 22 3e 53 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
e98a0 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
e98c0 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
e98e0 3e 0a 3c 73 70 61 6e 20 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
e9900 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
e9920 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
e9940 72 65 61 64 20 31 34 34 39 36 30 32 20 70 61 6e 69 63 3a 20 63 61 73 74 20 63 61 75 73 65 73 20 read.1449602.panic:.cast.causes.
e9960 70 6f 69 6e 74 65 72 20 74 6f 20 62 65 20 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 pointer.to.be.null</span>.<span.
e9980 63 6c 61 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">
e99a0 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 /home/andy/tmp/zig/docgen_tmp/te
e99c0 73 74 2e 7a 69 67 3a 33 3a 31 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d st.zig:3:15</span>:.<span.class=
e99e0 22 74 32 5f 30 22 3e 30 78 32 32 63 63 63 30 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f "t2_0">0x22ccc0.in.main.(test)</
e9a00 73 70 61 6e 3e 3c 2f 73 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">
e9a20 20 20 20 20 76 61 72 20 70 74 72 20 3d 20 40 70 74 72 43 61 73 74 28 2a 69 33 32 2c 20 6f 70 74 ....var.ptr.=.@ptrCast(*i32,.opt
e9a40 5f 70 74 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 _ptr);</span>.<span.class="line"
e9a60 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f >..............<span.class="t32_
e9a80 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="
e9aa0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 line"><span.class="t1_0">/home/a
e9ac0 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 35 35 ndy/tmp/zig/lib/std/start.zig:55
e9ae0 31 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 1:22</span>:.<span.class="t2_0">
e9b00 30 78 32 32 36 33 61 63 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 20 28 0x2263ac.in.std.start.callMain.(
e9b20 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=
e9b40 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 3c "line">............root.main();<
e9b60 2f 73 70 61 6e 3e 0a 3c 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">......
e9b80 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_
e9ba0 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="
e9bc0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 line"><span.class="t1_0">/home/a
e9be0 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 34 39 ndy/tmp/zig/lib/std/start.zig:49
e9c00 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 5:12</span>:.<span.class="t2_0">
e9c20 30 78 32 30 36 66 63 65 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 63 61 6c 6c 4d 61 69 6e 57 69 0x206fce.in.std.start.callMainWi
e9c40 74 68 41 72 67 73 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 thArgs.(test)</span></span>.<spa
e9c60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 65 74 75 72 6e 20 40 63 61 6c 6c 28 n.class="line">....return.@call(
e9c80 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c .{..modifier.=..always_inline.},
e9ca0 20 63 61 6c 6c 4d 61 69 6e 2c 20 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .callMain,..{});</span>.<span.cl
e9cc0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 ass="line">...........<span.clas
e9ce0 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.
e9d00 63 6c 61 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">
e9d20 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 /home/andy/tmp/zig/lib/std/start
e9d40 2e 7a 69 67 3a 34 30 39 3a 31 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d .zig:409:17</span>:.<span.class=
e9d60 22 74 32 5f 30 22 3e 30 78 32 30 36 30 36 36 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 "t2_0">0x206066.in.std.start.pos
e9d80 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 3c ixCallMainAndExit.(test)</span><
e9da0 2f 73 70 61 6e 3e 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
e9dc0 64 2e 6f 73 2e 65 78 69 74 28 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e d.os.exit(@call(.{..modifier.=..
e9de0 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 20 7d 2c 20 63 61 6c 6c 4d 61 69 6e 57 69 74 68 41 72 67 always_inline.},.callMainWithArg
e9e00 73 2c 20 2e 7b 20 61 72 67 63 2c 20 61 72 67 76 2c 20 65 6e 76 70 20 7d 29 29 3b 3c 2f 73 70 61 s,..{.argc,.argv,.envp.}));</spa
e9e20 6e 3e 0a 3c 73 70 61 6e 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">..........
e9e40 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
e9e60 6e 3e 3c 2f 73 70 61 6e 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
e9e80 61 6e 20 63 6c 61 73 73 3d 22 74 31 5f 30 22 3e 2f 68 6f 6d 65 2f 61 6e 64 79 2f 74 6d 70 2f 7a an.class="t1_0">/home/andy/tmp/z
e9ea0 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 33 32 32 3a 35 3c 2f 73 70 61 6e ig/lib/std/start.zig:322:5</span
e9ec0 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 65 37 32 20 69 >:.<span.class="t2_0">0x205e72.i
e9ee0 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e n.std.start._start.(test)</span>
e9f00 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 40 </span>.<span.class="line">....@
e9f20 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e call(.{..modifier.=..never_inlin
e9f40 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b e.},.posixCallMainAndExit,..{});
e9f60 3c 2f 73 70 61 6e 3e 0a 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">....<
e9f80 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
e9fa0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 28 70 72 6f 63 65 73 73 20 74 n>.<span.class="line">(process.t
e9fc0 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 erminated.by.signal)</span>.</sa
e9fe0 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>..............
ea000 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4d 65 6d 6f 72 79 22 3e 3c 61 20 68 72 65 66 3d ........<h2.id="Memory"><a.href=
ea020 22 23 74 6f 63 2d 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 "#toc-Memory">Memory</a>.<a.clas
ea040 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 65 6d 6f 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 s="hdr".href="#Memory">..</a></h
ea060 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 5a 69 67 20 6c 61 6e 67 2>........<p>.......The.Zig.lang
ea080 75 61 67 65 20 70 65 72 66 6f 72 6d 73 20 6e 6f 20 6d 65 6d 6f 72 79 20 6d 61 6e 61 67 65 6d 65 uage.performs.no.memory.manageme
ea0a0 6e 74 20 6f 6e 20 62 65 68 61 6c 66 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 2e 20 nt.on.behalf.of.the.programmer..
ea0c0 54 68 69 73 20 69 73 0a 20 20 20 20 20 20 77 68 79 20 5a 69 67 20 68 61 73 20 6e 6f 20 72 75 6e This.is.......why.Zig.has.no.run
ea0e0 74 69 6d 65 2c 20 61 6e 64 20 77 68 79 20 5a 69 67 20 63 6f 64 65 20 77 6f 72 6b 73 20 73 65 61 time,.and.why.Zig.code.works.sea
ea100 6d 6c 65 73 73 6c 79 20 69 6e 20 73 6f 20 6d 61 6e 79 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2c mlessly.in.so.many.environments,
ea120 0a 20 20 20 20 20 20 69 6e 63 6c 75 64 69 6e 67 20 72 65 61 6c 2d 74 69 6d 65 20 73 6f 66 74 77 .......including.real-time.softw
ea140 61 72 65 2c 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 6b 65 72 6e 65 6c 73 2c 20 65 are,.operating.system.kernels,.e
ea160 6d 62 65 64 64 65 64 20 64 65 76 69 63 65 73 2c 20 61 6e 64 0a 20 20 20 20 20 20 6c 6f 77 20 6c mbedded.devices,.and.......low.l
ea180 61 74 65 6e 63 79 20 73 65 72 76 65 72 73 2e 20 41 73 20 61 20 63 6f 6e 73 65 71 75 65 6e 63 65 atency.servers..As.a.consequence
ea1a0 2c 20 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 6d 75 73 74 20 61 6c 77 61 79 73 20 62 65 ,.Zig.programmers.must.always.be
ea1c0 20 61 62 6c 65 20 74 6f 20 61 6e 73 77 65 72 0a 20 20 20 20 20 20 74 68 65 20 71 75 65 73 74 69 .able.to.answer.......the.questi
ea1e0 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d on:.......</p>.......<p><a.href=
ea200 22 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 57 68 65 72 65 20 61 72 65 "#Where-are-the-bytes">Where.are
ea220 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 .the.bytes?</a></p>.......<p>...
ea240 20 20 20 20 4c 69 6b 65 20 5a 69 67 2c 20 74 68 65 20 43 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 ....Like.Zig,.the.C.programming.
ea260 6c 61 6e 67 75 61 67 65 20 68 61 73 20 6d 61 6e 75 61 6c 20 6d 65 6d 6f 72 79 20 6d 61 6e 61 67 language.has.manual.memory.manag
ea280 65 6d 65 6e 74 2e 20 48 6f 77 65 76 65 72 2c 20 75 6e 6c 69 6b 65 20 5a 69 67 2c 0a 20 20 20 20 ement..However,.unlike.Zig,.....
ea2a0 20 20 43 20 68 61 73 20 61 20 64 65 66 61 75 6c 74 20 61 6c 6c 6f 63 61 74 6f 72 20 2d 20 3c 63 ..C.has.a.default.allocator.-.<c
ea2c0 6f 64 65 3e 6d 61 6c 6c 6f 63 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 72 65 61 6c 6c 6f 63 ode>malloc</code>,.<code>realloc
ea2e0 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 66 72 65 65 3c 2f 63 6f 64 65 3e 2e 0a </code>,.and.<code>free</code>..
ea300 20 20 20 20 20 20 57 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 61 67 61 69 6e 73 74 20 6c 69 62 63 2c ......When.linking.against.libc,
ea320 20 5a 69 67 20 65 78 70 6f 73 65 73 20 74 68 69 73 20 61 6c 6c 6f 63 61 74 6f 72 20 77 69 74 68 .Zig.exposes.this.allocator.with
ea340 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 .<code><span.class="line">std.he
ea360 61 70 2e 63 5f 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 ap.c_allocator</span></code>....
ea380 20 20 20 20 48 6f 77 65 76 65 72 2c 20 62 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 74 68 65 72 ....However,.by.convention,.ther
ea3a0 65 20 69 73 20 6e 6f 20 64 65 66 61 75 6c 74 20 61 6c 6c 6f 63 61 74 6f 72 20 69 6e 20 5a 69 67 e.is.no.default.allocator.in.Zig
ea3c0 2e 20 49 6e 73 74 65 61 64 2c 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 6e 65 65 64 20 ..Instead,.functions.which.need.
ea3e0 74 6f 0a 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 to.......allocate.accept.an.<cod
ea400 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f e><span.class="line">Allocator</
ea420 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 2e 20 4c 69 6b 65 77 69 73 65 span></code>.parameter..Likewise
ea440 2c 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 ,.data.structures.such.as.......
ea460 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 41 72 72 <code><span.class="line">std.Arr
ea480 61 79 4c 69 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 63 63 65 70 74 20 61 6e 20 3c ayList</span></code>.accept.an.<
ea4a0 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
ea4c0 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 20 69 6e 0a 20 20 20 r</span></code>.parameter.in....
ea4e0 20 20 20 74 68 65 69 72 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e ...their.initialization.function
ea500 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 s:.......</p>.......<figure><fig
ea520 63 61 70 74 69 6f 6e 20 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
ea540 61 73 73 3d 22 66 69 6c 65 22 3e 61 6c 6c 6f 63 61 74 6f 72 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c ass="file">allocator.zig</cite><
ea560 2f 66 69 67 63 61 70 74 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
ea580 73 73 3d 22 6c 69 6e 65 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
ea5a0 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
ea5c0 6f 6b 2d 62 75 69 6c 74 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
ea5e0 20 63 6c 61 73 73 3d 22 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;
ea600 3c 2f 73 70 61 6e 3e 29 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
ea620 6e 65 22 3e 3c 73 70 61 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</
ea640 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 span>.Allocator.=.std.mem.Alloca
ea660 74 6f 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c tor;</span>.<span.class="line"><
ea680 73 70 61 6e 20 63 6c 61 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>
ea6a0 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
ea6c0 70 61 6e 3e 0a 3c 73 70 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>.
ea6e0 3c 73 70 61 6e 20 63 6c 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="
ea700 74 6f 6b 2d 6b 77 22 3e 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=
ea720 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 73 69 6e 67 20 61 6e 20 61 6c 6c 6f 63 61 74 "tok-str">&quot;using.an.allocat
ea740 6f 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 or&quot;</span>.{</span>.<span.c
ea760 6c 61 73 73 3d 22 6c 69 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
ea780 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 75 66 66 65 72 3a 20 5b 3c 73 70 61 6e 20 63 -kw">var</span>.buffer:.[<span.c
ea7a0 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 lass="tok-number">100</span>]<sp
ea7c0 61 6e 20 63 6c 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>.=.
ea7e0 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
ea800 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e </span>;</span>.<span.class="lin
ea820 65 22 3e 20 20 20 20 3c 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
ea840 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 68 65 61 70 2e 46 69 t</span>.allocator.=.std.heap.Fi
ea860 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 2e 69 6e 69 74 28 26 61 6d 70 3b 62 75 66 xedBufferAllocator.init(&amp;buf
ea880 66 65 72 29 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 fer).allocator();</span>.<span.c
ea8a0 6c 61 73 73 3d 22 6c 69 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
ea8c0 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
ea8e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 63 6f 6e 63 61 .class="tok-kw">try</span>.conca
ea900 74 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 t(allocator,.<span.class="tok-st
ea920 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e r">&quot;foo&quot;</span>,.<span
ea940 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 72 26 71 75 6f 74 3b .class="tok-str">&quot;bar&quot;
ea960 3c 2f 73 70 61 6e 3e 29 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
ea980 6e 65 22 3e 20 20 20 20 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
ea9a0 3c 2f 73 70 61 6e 3e 20 65 78 70 65 63 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e </span>.expect(std.mem.eql(<span
ea9c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 .class="tok-type">u8</span>,.<sp
ea9e0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 an.class="tok-str">&quot;foobar&
eaa00 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c quot;</span>,.result));</span>.<
eaa20 73 70 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
eaa40 20 63 6c 61 73 73 3d 22 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
eaa60 73 3d 22 6c 69 6e 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
eaa80 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 6f 6e </span>.<span.class="tok-fn">con
eaaa0 63 61 74 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 41 6c 6c 6f 63 61 74 6f 72 2c cat</span>(allocator:.Allocator,
eaac0 20 61 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 .a:.[]<span.class="tok-kw">const
eaae0 3c 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
eab00 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 8</span>,.b:.[]<span.class="tok-
eab20 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
eab40 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 k-type">u8</span>).![]<span.clas
eab60 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a s="tok-type">u8</span>.{</span>.
eab80 3c 73 70 61 6e 20 63 6c 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
eaba0 73 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.
eabc0 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
eabe0 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >.allocator.alloc(<span.class="t
eac00 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 2e 6c 65 6e 20 2b 20 62 2e 6c 65 ok-type">u8</span>,.a.len.+.b.le
eac20 6e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n);</span>.<span.class="line">..
eac40 20 20 73 74 64 2e 6d 65 6d 2e 63 6f 70 79 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ..std.mem.copy(<span.class="tok-
eac60 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 2c 20 61 29 3b 3c 2f 73 70 type">u8</span>,.result,.a);</sp
eac80 61 6e 3e 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
eaca0 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
eacc0 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 5b 61 2e 6c 65 6e 2e 2e 5d 2c 20 62 29 3b 3c 2f 8</span>,.result[a.len..],.b);</
eace0 73 70 61 6e 3e 0a 3c 73 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
ead00 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>.
ead20 72 65 73 75 6c 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 result;</span>.<span.class="line
ead40 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>
ead60 3c 66 69 67 75 72 65 3e 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
ead80 2d 63 61 70 22 3e 53 68 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
eada0 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
eadc0 20 74 65 73 74 20 61 6c 6c 6f 63 61 74 6f 72 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e .test.allocator.zig</kbd></span>
eade0 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
eae00 6f 74 3b 75 73 69 6e 67 20 61 6e 20 61 6c 6c 6f 63 61 74 6f 72 26 71 75 6f 74 3b 2e 2e 2e 20 4f ot;using.an.allocator&quot;....O
eae20 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.
eae40 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></
eae60 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e pre></figure>.......<p>.......In
eae80 20 74 68 65 20 61 62 6f 76 65 20 65 78 61 6d 70 6c 65 2c 20 31 30 30 20 62 79 74 65 73 20 6f 66 .the.above.example,.100.bytes.of
eaea0 20 73 74 61 63 6b 20 6d 65 6d 6f 72 79 20 61 72 65 20 75 73 65 64 20 74 6f 20 69 6e 69 74 69 61 .stack.memory.are.used.to.initia
eaec0 6c 69 7a 65 20 61 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 lize.a.......<code><span.class="
eaee0 6c 69 6e 65 22 3e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e line">FixedBufferAllocator</span
eaf00 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 20 69 73 20 74 68 65 6e 20 70 61 73 73 65 64 20 74 ></code>,.which.is.then.passed.t
eaf20 6f 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 41 73 20 61 20 63 6f 6e 76 65 6e 69 o.a.function........As.a.conveni
eaf40 65 6e 63 65 20 74 68 65 72 65 20 69 73 20 61 20 67 6c 6f 62 61 6c 20 3c 63 6f 64 65 3e 3c 73 70 ence.there.is.a.global.<code><sp
eaf60 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 an.class="line">FixedBufferAlloc
eaf80 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 61 76 61 69 6c 61 62 ator</span></code>.......availab
eafa0 6c 65 20 66 6f 72 20 71 75 69 63 6b 20 74 65 73 74 73 20 61 74 20 3c 63 6f 64 65 3e 3c 73 70 61 le.for.quick.tests.at.<code><spa
eafc0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 n.class="line">std.testing.alloc
eafe0 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 ator</span></code>,.......which.
eb000 77 69 6c 6c 20 61 6c 73 6f 20 64 6f 20 70 65 72 66 6f 72 6d 20 62 61 73 69 63 20 6c 65 61 6b 20 will.also.do.perform.basic.leak.
eb020 64 65 74 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a detection........</p>.......<p>.
eb040 20 20 20 20 20 20 5a 69 67 20 68 61 73 20 61 20 67 65 6e 65 72 61 6c 20 70 75 72 70 6f 73 65 20 ......Zig.has.a.general.purpose.
eb060 61 6c 6c 6f 63 61 74 6f 72 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 62 65 20 69 6d 70 6f 72 74 allocator.available.to.be.import
eb080 65 64 0a 20 20 20 20 20 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ed.......with.<code><span.class=
eb0a0 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c "line">std.heap.GeneralPurposeAl
eb0c0 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 48 6f 77 65 76 65 72 2c 20 locator</span></code>..However,.
eb0e0 69 74 20 69 73 20 73 74 69 6c 6c 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 0a 20 20 20 20 20 it.is.still.recommended.to......
eb100 20 66 6f 6c 6c 6f 77 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 43 68 6f 6f 73 69 6e 67 2d 61 .follow.the.<a.href="#Choosing-a
eb120 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 43 68 6f 6f 73 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 n-Allocator">Choosing.an.Allocat
eb140 6f 72 3c 2f 61 3e 20 67 75 69 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 or</a>.guide........</p>........
eb160 3c 68 33 20 69 64 3d 22 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 3c <h3.id="Choosing-an-Allocator"><
eb180 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 a.href="#toc-Choosing-an-Allocat
eb1a0 6f 72 22 3e 43 68 6f 6f 73 69 6e 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 20 3c 61 or">Choosing.an.Allocator</a>.<a
eb1c0 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 68 6f 6f 73 69 6e 67 2d 61 6e 2d .class="hdr".href="#Choosing-an-
eb1e0 41 6c 6c 6f 63 61 74 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 Allocator">..</a></h3>........<p
eb200 3e 57 68 61 74 20 61 6c 6c 6f 63 61 74 6f 72 20 74 6f 20 75 73 65 20 64 65 70 65 6e 64 73 20 6f >What.allocator.to.use.depends.o
eb220 6e 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 66 61 63 74 6f 72 73 2e 20 48 65 72 65 20 69 73 20 61 n.a.number.of.factors..Here.is.a
eb240 20 66 6c 6f 77 20 63 68 61 72 74 20 74 6f 20 68 65 6c 70 20 79 6f 75 20 64 65 63 69 64 65 3a 0a .flow.chart.to.help.you.decide:.
eb260 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 6f 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 ......</p>.......<ol>...........
eb280 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 65 20 79 6f 75 20 6d 61 6b 69 6e <li>...............Are.you.makin
eb2a0 67 20 61 20 6c 69 62 72 61 72 79 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 62 65 73 74 20 g.a.library?.In.this.case,.best.
eb2c0 74 6f 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 to.accept.an.<code><span.class="
eb2e0 6c 69 6e 65 22 3e 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 line">Allocator</span></code>...
eb300 20 20 20 20 20 20 20 20 20 20 20 20 61 73 20 61 20 70 61 72 61 6d 65 74 65 72 20 61 6e 64 20 61 ............as.a.parameter.and.a
eb320 6c 6c 6f 77 20 79 6f 75 72 20 6c 69 62 72 61 72 79 27 73 20 75 73 65 72 73 20 74 6f 20 64 65 63 llow.your.library's.users.to.dec
eb340 69 64 65 20 77 68 61 74 20 61 6c 6c 6f 63 61 74 6f 72 20 74 6f 20 75 73 65 2e 0a 20 20 20 20 20 ide.what.allocator.to.use.......
eb360 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 72 65 20 79 6f 75 .....</li>...........<li>Are.you
eb380 20 6c 69 6e 6b 69 6e 67 20 6c 69 62 63 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 3c 63 6f .linking.libc?.In.this.case,.<co
eb3a0 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 63 de><span.class="line">std.heap.c
eb3c0 5f 61 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6c 69 6b 65 _allocator</span></code>.is.like
eb3e0 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 72 69 67 68 74 20 63 68 6f 69 63 ly...............the.right.choic
eb400 65 2c 20 61 74 20 6c 65 61 73 74 20 66 6f 72 20 79 6f 75 72 20 6d 61 69 6e 20 61 6c 6c 6f 63 61 e,.at.least.for.your.main.alloca
eb420 74 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 tor.</li>...........<li>........
eb440 20 20 20 20 20 20 20 49 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 20 6f 66 20 .......Is.the.maximum.number.of.
eb460 62 79 74 65 73 20 74 68 61 74 20 79 6f 75 20 77 69 6c 6c 20 6e 65 65 64 20 62 6f 75 6e 64 65 64 bytes.that.you.will.need.bounded
eb480 20 62 79 20 61 20 6e 75 6d 62 65 72 20 6b 6e 6f 77 6e 20 61 74 0a 20 20 20 20 20 20 20 20 20 20 .by.a.number.known.at...........
eb4a0 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 ....<a.href="#comptime">comptime
eb4c0 3c 2f 61 3e 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 </a>?.In.this.case,.use.<code><s
eb4e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 46 69 78 65 64 42 pan.class="line">std.heap.FixedB
eb500 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 0a ufferAllocator</span></code>.or.
eb520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ..............<code><span.class=
eb540 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e 54 68 72 65 61 64 53 61 66 65 46 69 78 65 64 42 "line">std.heap.ThreadSafeFixedB
eb560 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 70 ufferAllocator</span></code>.dep
eb580 65 6e 64 69 6e 67 20 6f 6e 20 77 68 65 74 68 65 72 20 79 6f 75 20 6e 65 65 64 0a 20 20 20 20 20 ending.on.whether.you.need......
eb5a0 20 20 20 20 20 20 20 20 20 74 68 72 65 61 64 2d 73 61 66 65 74 79 20 6f 72 20 6e 6f 74 2e 0a 20 .........thread-safety.or.not...
eb5c0 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 .........</li>...........<li>...
eb5e0 20 20 20 20 20 20 20 20 20 20 20 20 49 73 20 79 6f 75 72 20 70 72 6f 67 72 61 6d 20 61 20 63 6f ............Is.your.program.a.co
eb600 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 77 68 69 63 68 20 72 75 6e mmand.line.application.which.run
eb620 73 20 66 72 6f 6d 20 73 74 61 72 74 20 74 6f 20 65 6e 64 20 77 69 74 68 6f 75 74 20 61 6e 79 20 s.from.start.to.end.without.any.
eb640 66 75 6e 64 61 6d 65 6e 74 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 79 63 6c 69 63 fundamental...............cyclic
eb660 61 6c 20 70 61 74 74 65 72 6e 20 28 73 75 63 68 20 61 73 20 61 20 76 69 64 65 6f 20 67 61 6d 65 al.pattern.(such.as.a.video.game
eb680 20 6d 61 69 6e 20 6c 6f 6f 70 2c 20 6f 72 20 61 20 77 65 62 20 73 65 72 76 65 72 20 72 65 71 75 .main.loop,.or.a.web.server.requ
eb6a0 65 73 74 20 68 61 6e 64 6c 65 72 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 75 63 68 est.handler),...............such
eb6c0 20 74 68 61 74 20 69 74 20 77 6f 75 6c 64 20 6d 61 6b 65 20 73 65 6e 73 65 20 74 6f 20 66 72 65 .that.it.would.make.sense.to.fre
eb6e0 65 20 65 76 65 72 79 74 68 69 6e 67 20 61 74 20 6f 6e 63 65 20 61 74 20 74 68 65 20 65 6e 64 3f e.everything.at.once.at.the.end?
eb700 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 69 74 20 ...............In.this.case,.it.
eb720 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 66 6f 6c 6c 6f 77 20 74 68 69 73 20 70 61 is.recommended.to.follow.this.pa
eb740 74 74 65 72 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 ttern:...............<figure><fi
eb760 67 63 61 70 74 69 6f 6e 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
eb780 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6c 69 5f 61 6c 6c 6f 63 61 74 69 6f 6e 2e 7a 69 67 3c 2f lass="file">cli_allocation.zig</
eb7a0 63 69 74 65 3e 3c 2f 66 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
eb7c0 61 6e 20 63 6c 61 73 73 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
eb7e0 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
eb800 61 73 73 3d 22 74 6f 6b 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>
eb820 28 3c 73 70 61 6e 20 63 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
eb840 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
eb860 73 73 3d 22 6c 69 6e 65 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
eb880 69 6e 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
eb8a0 70 61 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
eb8c0 61 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
eb8e0 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 pan>().!<span.class="tok-type">v
eb900 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=
eb920 22 6c 69 6e 65 22 3e 20 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">
eb940 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 65 6e 61 20 3d 20 73 74 64 2e 68 65 61 70 2e 41 72 65 6e var</span>.arena.=.std.heap.Aren
eb960 61 41 6c 6c 6f 63 61 74 6f 72 2e 69 6e 69 74 28 73 74 64 2e 68 65 61 70 2e 70 61 67 65 5f 61 6c aAllocator.init(std.heap.page_al
eb980 6c 6f 63 61 74 6f 72 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 locator);</span>.<span.class="li
eb9a0 6e 65 22 3e 20 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
eb9c0 65 72 3c 2f 73 70 61 6e 3e 20 61 72 65 6e 61 2e 64 65 69 6e 69 74 28 29 3b 3c 2f 73 70 61 6e 3e er</span>.arena.deinit();</span>
eb9e0 0a 3c 73 70 61 6e 20 63 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
eba00 6e 20 63 6c 61 73 73 3d 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="
eba20 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d tok-kw">const</span>.allocator.=
eba40 20 61 72 65 6e 61 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .arena.allocator();</span>.<span
eba60 20 63 6c 61 73 73 3d 22 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
eba80 73 3d 22 6c 69 6e 65 22 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
ebaa0 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
ebac0 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 63 ="tok-kw">try</span>.allocator.c
ebae0 72 65 61 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 reate(<span.class="tok-type">i32
ebb00 3c 2f 73 70 61 6e 3e 29 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
ebb20 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
ebb40 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 74 72 3d 7b 2a 7d 5c 6e 26 71 75 ass="tok-str">&quot;ptr={*}\n&qu
ebb60 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 70 74 72 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ot;</span>,..{ptr});</span>.<spa
ebb80 6e 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></
ebba0 70 72 65 3e 3c 2f 66 69 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
ebbc0 20 63 6c 61 73 73 3d 22 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
ebbe0 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
ebc00 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 63 6c 69 5f 61 6c 6c 6f e">$.<kbd>zig.build-exe.cli_allo
ebc20 63 61 74 69 6f 6e 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c cation.zig</kbd></span>.<span.cl
ebc40 61 73 73 3d 22 6c 69 6e 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="
ebc60 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 63 6c 69 5f 61 6c 6c 6f 63 61 74 69 6f 6e 3c 2f 6b line">$.<kbd>./cli_allocation</k
ebc80 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 bd></span>.<span.class="line">pt
ebca0 72 3d 69 33 32 40 37 66 63 33 66 31 65 61 35 30 31 38 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 r=i32@7fc3f1ea5018</span>.</samp
ebcc0 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 ></pre></figure>...............W
ebce0 68 65 6e 20 75 73 69 6e 67 20 74 68 69 73 20 6b 69 6e 64 20 6f 66 20 61 6c 6c 6f 63 61 74 6f 72 hen.using.this.kind.of.allocator
ebd00 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 65 64 20 74 6f 20 66 72 65 65 20 61 6e 79 74 68 ,.there.is.no.need.to.free.anyth
ebd20 69 6e 67 20 6d 61 6e 75 61 6c 6c 79 2e 20 45 76 65 72 79 74 68 69 6e 67 0a 20 20 20 20 20 20 20 ing.manually..Everything........
ebd40 20 20 20 20 20 20 20 67 65 74 73 20 66 72 65 65 64 20 61 74 20 6f 6e 63 65 20 77 69 74 68 20 74 .......gets.freed.at.once.with.t
ebd60 68 65 20 63 61 6c 6c 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 he.call.to.<code><span.class="li
ebd80 6e 65 22 3e 61 72 65 6e 61 2e 64 65 69 6e 69 74 28 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e ne">arena.deinit()</span></code>
ebda0 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>
ebdc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 65 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f ...............Are.the.allocatio
ebde0 6e 73 20 70 61 72 74 20 6f 66 20 61 20 63 79 63 6c 69 63 61 6c 20 70 61 74 74 65 72 6e 20 73 75 ns.part.of.a.cyclical.pattern.su
ebe00 63 68 20 61 73 20 61 20 76 69 64 65 6f 20 67 61 6d 65 20 6d 61 69 6e 20 6c 6f 6f 70 2c 20 6f 72 ch.as.a.video.game.main.loop,.or
ebe20 20 61 20 77 65 62 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 72 76 65 72 20 72 65 71 75 .a.web...............server.requ
ebe40 65 73 74 20 68 61 6e 64 6c 65 72 3f 20 49 66 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 73 20 est.handler?.If.the.allocations.
ebe60 63 61 6e 20 61 6c 6c 20 62 65 20 66 72 65 65 64 20 61 74 20 6f 6e 63 65 2c 20 61 74 20 74 68 65 can.all.be.freed.at.once,.at.the
ebe80 20 65 6e 64 20 6f 66 20 74 68 65 20 63 79 63 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .end.of.the.cycle,..............
ebea0 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 6f 6e 63 65 20 74 68 65 20 76 69 64 65 6f 20 67 61 6d 65 .for.example.once.the.video.game
ebec0 20 66 72 61 6d 65 20 68 61 73 20 62 65 65 6e 20 66 75 6c 6c 79 20 72 65 6e 64 65 72 65 64 2c 20 .frame.has.been.fully.rendered,.
ebee0 6f 72 20 74 68 65 20 77 65 62 20 73 65 72 76 65 72 20 72 65 71 75 65 73 74 20 68 61 73 0a 20 20 or.the.web.server.request.has...
ebf00 20 20 20 20 20 20 20 20 20 20 20 20 62 65 65 6e 20 73 65 72 76 65 64 2c 20 74 68 65 6e 20 3c 63 ............been.served,.then.<c
ebf20 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e ode><span.class="line">std.heap.
ebf40 41 72 65 6e 61 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 ArenaAllocator</span></code>.is.
ebf60 61 20 67 72 65 61 74 20 63 61 6e 64 69 64 61 74 65 2e 20 41 73 0a 20 20 20 20 20 20 20 20 20 20 a.great.candidate..As...........
ebf80 20 20 20 20 64 65 6d 6f 6e 73 74 72 61 74 65 64 20 69 6e 20 74 68 65 20 70 72 65 76 69 6f 75 73 ....demonstrated.in.the.previous
ebfa0 20 62 75 6c 6c 65 74 20 70 6f 69 6e 74 2c 20 74 68 69 73 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 .bullet.point,.this.allows.you.t
ebfc0 6f 20 66 72 65 65 20 65 6e 74 69 72 65 20 61 72 65 6e 61 73 20 61 74 20 6f 6e 63 65 2e 0a 20 20 o.free.entire.arenas.at.once....
ebfe0 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 61 6c 73 6f 20 74 68 61 74 20 69 66 20 61 6e ............Note.also.that.if.an
ec000 20 75 70 70 65 72 20 62 6f 75 6e 64 20 6f 66 20 6d 65 6d 6f 72 79 20 63 61 6e 20 62 65 20 65 73 .upper.bound.of.memory.can.be.es
ec020 74 61 62 6c 69 73 68 65 64 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 tablished,.then...............<c
ec040 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e ode><span.class="line">std.heap.
ec060 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 FixedBufferAllocator</span></cod
ec080 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 61 20 66 75 72 74 68 65 72 20 6f 70 74 69 e>.can.be.used.as.a.further.opti
ec0a0 6d 69 7a 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 mization............</li>.......
ec0c0 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 65 20 79 6f 75 20 77 ....<li>...............Are.you.w
ec0e0 72 69 74 69 6e 67 20 61 20 74 65 73 74 2c 20 61 6e 64 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6d riting.a.test,.and.you.want.to.m
ec100 61 6b 65 20 73 75 72 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ake.sure.<code><span.class="line
ec120 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 "><span.class="tok-kw">error</sp
ec140 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 an>.OutOfMemory</span></code>...
ec160 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 68 61 6e 64 6c 65 64 20 63 6f 72 72 65 63 74 6c 79 ............is.handled.correctly
ec180 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 ?.In.this.case,.use.<code><span.
ec1a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 46 61 69 6c 69 6e 67 class="line">std.testing.Failing
ec1c0 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 Allocator</span></code>.........
ec1e0 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 ...</li>...........<li>.........
ec200 20 20 20 20 20 20 41 72 65 20 79 6f 75 20 77 72 69 74 69 6e 67 20 61 20 74 65 73 74 3f 20 49 6e ......Are.you.writing.a.test?.In
ec220 20 74 68 69 73 20 63 61 73 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 .this.case,.use.<code><span.clas
ec240 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 3c 2f s="line">std.testing.allocator</
ec260 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 span></code>............</li>...
ec280 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 69 6e 61 6c ........<li>...............Final
ec2a0 6c 79 2c 20 69 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 61 62 6f 76 65 20 61 70 70 6c 79 2c 20 ly,.if.none.of.the.above.apply,.
ec2c0 79 6f 75 20 6e 65 65 64 20 61 20 67 65 6e 65 72 61 6c 20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 you.need.a.general.purpose.alloc
ec2e0 61 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5a 69 67 27 73 20 67 65 6e 65 72 61 ator................Zig's.genera
ec300 6c 20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 20 69 73 20 61 76 61 69 6c 61 62 6c 65 l.purpose.allocator.is.available
ec320 20 61 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 3c 61 20 68 .as.a.function.that.takes.a.<a.h
ec340 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 0a 20 20 20 ref="#comptime">comptime</a>....
ec360 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 ...........<a.href="#struct">str
ec380 75 63 74 3c 2f 61 3e 20 6f 66 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 6f 70 74 69 6f 6e 73 uct</a>.of.configuration.options
ec3a0 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 .and.returns.a.type.............
ec3c0 20 20 20 47 65 6e 65 72 61 6c 6c 79 2c 20 79 6f 75 20 77 69 6c 6c 20 73 65 74 20 75 70 20 6f 6e ...Generally,.you.will.set.up.on
ec3e0 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
ec400 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 eap.GeneralPurposeAllocator</spa
ec420 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 79 6f 75 72 20 n></code>.in...............your.
ec440 6d 61 69 6e 20 66 75 6e 63 74 69 6f 6e 2c 20 61 6e 64 20 74 68 65 6e 20 70 61 73 73 20 69 74 20 main.function,.and.then.pass.it.
ec460 6f 72 20 73 75 62 2d 61 6c 6c 6f 63 61 74 6f 72 73 20 61 72 6f 75 6e 64 20 74 6f 20 76 61 72 69 or.sub-allocators.around.to.vari
ec480 6f 75 73 20 70 61 72 74 73 20 6f 66 20 79 6f 75 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ous.parts.of.your...............
ec4a0 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 application............</li>....
ec4c0 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 59 6f 75 20 63 61 .......<li>...............You.ca
ec4e0 6e 20 61 6c 73 6f 20 63 6f 6e 73 69 64 65 72 20 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6c 65 6d n.also.consider.<a.href="#Implem
ec500 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 49 6d 70 6c 65 6d 65 6e 74 69 6e enting-an-Allocator">Implementin
ec520 67 20 61 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f g.an.Allocator</a>............</
ec540 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 6f 6c 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 li>.......</ol>...............<h
ec560 33 20 69 64 3d 22 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 3c 61 20 68 72 3.id="Where-are-the-bytes"><a.hr
ec580 65 66 3d 22 23 74 6f 63 2d 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 57 68 ef="#toc-Where-are-the-bytes">Wh
ec5a0 65 72 65 20 61 72 65 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d ere.are.the.bytes?</a>.<a.class=
ec5c0 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 "hdr".href="#Where-are-the-bytes
ec5e0 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 74 72 69 6e 67 20 6c ">..</a></h3>........<p>String.l
ec600 69 74 65 72 61 6c 73 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 iterals.such.as.<code><span.clas
ec620 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 s="line"><span.class="tok-str">&
ec640 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f quot;foo&quot;</span></span></co
ec660 64 65 3e 20 61 72 65 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 73 74 61 6e 74 20 64 de>.are.in.the.global.constant.d
ec680 61 74 61 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 77 68 79 20 69 ata.section........This.is.why.i
ec6a0 74 20 69 73 20 61 6e 20 65 72 72 6f 72 20 74 6f 20 70 61 73 73 20 61 20 73 74 72 69 6e 67 20 6c t.is.an.error.to.pass.a.string.l
ec6c0 69 74 65 72 61 6c 20 74 6f 20 61 20 6d 75 74 61 62 6c 65 20 73 6c 69 63 65 2c 20 6c 69 6b 65 20 iteral.to.a.mutable.slice,.like.
ec6e0 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c this:.......</p>.......<figure><
ec700 66 69 67 63 61 70 74 69 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
ec720 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
ec740 69 67 63 61 70 74 69 6f 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
ec760 3d 22 6c 69 6e 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<
ec780 2f 73 70 61 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<
ec7a0 2f 73 70 61 6e 3e 28 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 /span>(s:.[]<span.class="tok-typ
ec7c0 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
ec7e0 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.
ec800 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 73 3b 3c 2f 73 70 61 6e 3e 0a 3c class="line">...._.=.s;</span>.<
ec820 73 70 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
ec840 20 63 6c 61 73 73 3d 22 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
ec860 73 3d 22 6c 69 6e 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
ec880 73 74 3c 2f 73 70 61 6e 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">
ec8a0 26 71 75 6f 74 3b 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 6f 20 6d 75 74 61 62 6c 65 20 &quot;string.literal.to.mutable.
ec8c0 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 slice&quot;</span>.{</span>.<spa
ec8e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 n.class="line">....foo(<span.cla
ec900 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f ss="tok-str">&quot;hello&quot;</
ec920 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
ec940 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>
ec960 3c 66 69 67 75 72 65 3e 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
ec980 2d 63 61 70 22 3e 53 68 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
ec9a0 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
ec9c0 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .test.test.zig</kbd></span>.<spa
ec9e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 n.class="line"><span.class="t0_1
eca00 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 39 3a 20 3c 2f 73 ">./docgen_tmp/test.zig:6:9:.</s
eca20 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 3a 20 3c pan><span.class="t31_1">error:.<
eca40 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 70 65 63 74 65 /span><span.class="t0_1">expecte
eca60 64 20 74 79 70 65 20 27 5b 5d 75 38 27 2c 20 66 6f 75 6e 64 20 27 2a 63 6f 6e 73 74 20 5b 35 3a d.type.'[]u8',.found.'*const.[5:
eca80 30 5d 75 38 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 0]u8'</span></span>.<span.class=
ecaa0 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b "line">....foo(&quot;hello&quot;
ecac0 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 );</span>.<span.class="line">...
ecae0 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
ecb00 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>.
ecb20 20 20 20 20 20 20 3c 70 3e 48 6f 77 65 76 65 72 20 69 66 20 79 6f 75 20 6d 61 6b 65 20 74 68 65 ......<p>However.if.you.make.the
ecb40 20 73 6c 69 63 65 20 63 6f 6e 73 74 61 6e 74 2c 20 74 68 65 6e 20 69 74 20 77 6f 72 6b 73 3a 3c .slice.constant,.then.it.works:<
ecb60 2f 70 3e 0a 20 20 20 20 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
ecb80 61 73 73 3d 22 7a 69 67 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"
ecba0 3e 73 74 72 6c 69 74 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c >strlit.zig</cite></figcaption><
ecbc0 70 72 65 3e 3c 63 6f 64 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
ecbe0 61 6e 20 63 6c 61 73 73 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
ecc00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 3a 20 5b n.class="tok-fn">foo</span>(s:.[
ecc20 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
ecc40 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
ecc60 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 an>).<span.class="tok-type">void
ecc80 3c 2f 73 70 61 6e 3e 20 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
ecca0 6e 65 22 3e 20 20 20 20 5f 20 3d 20 73 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ne">...._.=.s;</span>.<span.clas
eccc0 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
ecce0 69 6e 65 22 3e 3c 2f 73 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">
ecd00 3c 73 70 61 6e 20 63 6c 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>
ecd20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 72 .<span.class="tok-str">&quot;str
ecd40 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 6f 20 63 6f 6e 73 74 61 6e 74 20 73 6c 69 63 65 26 71 75 ing.literal.to.constant.slice&qu
ecd60 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=
ecd80 22 6c 69 6e 65 22 3e 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d "line">....foo(<span.class="tok-
ecda0 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c str">&quot;hello&quot;</span>);<
ecdc0 2f 73 70 61 6e 3e 0a 3c 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
ecde0 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>
ece00 3c 66 69 67 63 61 70 74 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
ece20 65 6c 6c 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
ece40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 20 73 74 .class="line">$.<kbd>zig.test.st
ece60 72 6c 69 74 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 rlit.zig</kbd></span>.<span.clas
ece80 73 3d 22 6c 69 6e 65 22 3e 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 74 72 69 6e 67 20 6c s="line">1/1.test.&quot;string.l
ecea0 69 74 65 72 61 6c 20 74 6f 20 63 6f 6e 73 74 61 6e 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 2e 2e iteral.to.constant.slice&quot;..
ecec0 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
ecee0 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
ecf00 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>......
ecf20 20 4a 75 73 74 20 6c 69 6b 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 2c 20 3c 63 6f 64 .Just.like.string.literals,.<cod
ecf40 65 3e 3c 73 70 61 6e 20 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
ecf60 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ="tok-kw">const</span></span></c
ecf80 6f 64 65 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 77 68 65 6e 20 74 68 65 20 76 61 6c 75 ode>.declarations,.when.the.valu
ecfa0 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 e.is.known.at.<a.href="#comptime
ecfc0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 61 72 65 20 73 74 6f 72 65 64 ">comptime</a>,.......are.stored
ecfe0 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 73 74 61 6e 74 20 64 61 74 61 20 73 65 63 .in.the.global.constant.data.sec
ed000 74 69 6f 6e 2e 20 41 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d tion..Also.<a.href="#Compile-Tim
ed020 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 54 69 6d 65 20 56 61 72 69 61 62 e-Variables">Compile.Time.Variab
ed040 6c 65 73 3c 2f 61 3e 20 61 72 65 20 73 74 6f 72 65 64 0a 20 20 20 20 20 20 69 6e 20 74 68 65 20 les</a>.are.stored.......in.the.
ed060 67 6c 6f 62 61 6c 20 63 6f 6e 73 74 61 6e 74 20 64 61 74 61 20 73 65 63 74 69 6f 6e 2e 0a 20 20 global.constant.data.section....
ed080 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c ....</p>.......<p>.......<code><
ed0a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
ed0c0 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ok-kw">var</span></span></code>.
ed0e0 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 declarations.inside.functions.ar
ed100 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 73 74 61 63 6b e.stored.in.the.function's.stack
ed120 20 66 72 61 6d 65 2e 20 4f 6e 63 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2c .frame..Once.a.function.returns,
ed140 0a 20 20 20 20 20 20 61 6e 79 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 .......any.<a.href="#Pointers">P
ed160 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 74 6f 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 74 68 65 20 ointers</a>.to.variables.in.the.
ed180 66 75 6e 63 74 69 6f 6e 27 73 20 73 74 61 63 6b 20 66 72 61 6d 65 20 62 65 63 6f 6d 65 20 69 6e function's.stack.frame.become.in
ed1a0 76 61 6c 69 64 20 72 65 66 65 72 65 6e 63 65 73 2c 20 61 6e 64 0a 20 20 20 20 20 20 64 65 72 65 valid.references,.and.......dere
ed1c0 66 65 72 65 6e 63 69 6e 67 20 74 68 65 6d 20 62 65 63 6f 6d 65 73 20 75 6e 63 68 65 63 6b 65 64 ferencing.them.becomes.unchecked
ed1e0 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 .<a.href="#Undefined-Behavior">U
ed200 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 ndefined.Behavior</a>........</p
ed220 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c >.......<p>.......<code><span.cl
ed240 61 73 73 3d 22 6c 69 6e 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">
ed260 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 var</span></span></code>.declara
ed280 74 69 6f 6e 73 20 61 74 20 74 68 65 20 74 6f 70 20 6c 65 76 65 6c 20 6f 72 20 69 6e 20 3c 61 20 tions.at.the.top.level.or.in.<a.
ed2a0 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 64 65 63 6c 61 72 href="#struct">struct</a>.declar
ed2c0 61 74 69 6f 6e 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 0a ations.are.stored.in.the.global.
ed2e0 20 20 20 20 20 20 64 61 74 61 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 ......data.section........</p>..
ed300 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6d .....<p>.......The.location.of.m
ed320 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e emory.allocated.with.<code><span
ed340 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c 6c 6f 63 3c 2f 73 .class="line">allocator.alloc</s
ed360 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e pan></code>.or.......<code><span
ed380 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 3c 2f .class="line">allocator.create</
ed3a0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 span></code>.is.determined.by.th
ed3c0 65 20 61 6c 6c 6f 63 61 74 6f 72 27 73 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 e.allocator's.implementation....
ed3e0 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 74 68 72 65 61 64 20 6c ....</p>.......<p>TODO:.thread.l
ed400 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 ocal.variables</p>..............
ed420 20 3c 68 33 20 69 64 3d 22 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 .<h3.id="Implementing-an-Allocat
ed440 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 or"><a.href="#toc-Implementing-a
ed460 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 61 6e 20 41 6c 6c n-Allocator">Implementing.an.All
ed480 6f 63 61 74 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 ocator</a>.<a.class="hdr".href="
ed4a0 23 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e c2 a7 3c 2f #Implementing-an-Allocator">..</
ed4c0 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 a></h3>........<p>Zig.programmer
ed4e0 73 20 63 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 65 69 72 20 6f 77 6e 20 61 6c 6c 6f 63 61 s.can.implement.their.own.alloca
ed500 74 6f 72 73 20 62 79 20 66 75 6c 66 69 6c 6c 69 6e 67 20 74 68 65 20 41 6c 6c 6f 63 61 74 6f 72 tors.by.fulfilling.the.Allocator
ed520 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 20 20 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 64 6f .interface........In.order.to.do
ed540 20 74 68 69 73 20 6f 6e 65 20 6d 75 73 74 20 72 65 61 64 20 63 61 72 65 66 75 6c 6c 79 20 74 68 .this.one.must.read.carefully.th
ed560 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 73 74 64 2f e.documentation.comments.in.std/
ed580 6d 65 6d 2e 7a 69 67 20 61 6e 64 0a 20 20 20 20 20 20 74 68 65 6e 20 73 75 70 70 6c 79 20 61 20 mem.zig.and.......then.supply.a.
ed5a0 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 6c 6c 6f 63 46 6e <code><span.class="line">allocFn
ed5c0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e </span></code>.and.a.<code><span
ed5e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 72 65 73 69 7a 65 46 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 .class="line">resizeFn</span></c
ed600 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>......
ed620 20 54 68 65 72 65 20 61 72 65 20 6d 61 6e 79 20 65 78 61 6d 70 6c 65 20 61 6c 6c 6f 63 61 74 6f .There.are.many.example.allocato
ed640 72 73 20 74 6f 20 6c 6f 6f 6b 20 61 74 20 66 6f 72 20 69 6e 73 70 69 72 61 74 69 6f 6e 2e 20 4c rs.to.look.at.for.inspiration..L
ed660 6f 6f 6b 20 61 74 20 73 74 64 2f 68 65 61 70 2e 7a 69 67 20 61 6e 64 0a 20 20 20 20 20 20 3c 63 ook.at.std/heap.zig.and.......<c
ed680 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 68 65 61 70 2e ode><span.class="line">std.heap.
ed6a0 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f GeneralPurposeAllocator</span></
ed6c0 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 code>........</p>...............
ed6e0 3c 68 33 20 69 64 3d 22 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 <h3.id="Heap-Allocation-Failure"
ed700 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 ><a.href="#toc-Heap-Allocation-F
ed720 61 69 6c 75 72 65 22 3e 48 65 61 70 20 41 6c 6c 6f 63 61 74 69 6f 6e 20 46 61 69 6c 75 72 65 3c ailure">Heap.Allocation.Failure<
ed740 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 48 65 61 70 2d 41 /a>.<a.class="hdr".href="#Heap-A
ed760 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a llocation-Failure">..</a></h3>..
ed780 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 61 6e 79 20 70 72 6f 67 72 61 6d 6d 69 6e 67 ......<p>.......Many.programming
ed7a0 20 6c 61 6e 67 75 61 67 65 73 20 63 68 6f 6f 73 65 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 .languages.choose.to.handle.the.
ed7c0 70 6f 73 73 69 62 69 6c 69 74 79 20 6f 66 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 possibility.of.heap.allocation.f
ed7e0 61 69 6c 75 72 65 20 62 79 0a 20 20 20 20 20 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 ailure.by.......unconditionally.
ed800 63 72 61 73 68 69 6e 67 2e 20 42 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 5a 69 67 20 70 72 6f crashing..By.convention,.Zig.pro
ed820 67 72 61 6d 6d 65 72 73 20 64 6f 20 6e 6f 74 20 63 6f 6e 73 69 64 65 72 20 74 68 69 73 20 74 6f grammers.do.not.consider.this.to
ed840 20 62 65 20 61 0a 20 20 20 20 20 20 73 61 74 69 73 66 61 63 74 6f 72 79 20 73 6f 6c 75 74 69 6f .be.a.......satisfactory.solutio
ed860 6e 2e 20 49 6e 73 74 65 61 64 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c n..Instead,.<code><span.class="l
ed880 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c ine"><span.class="tok-kw">error<
ed8a0 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e /span>.OutOfMemory</span></code>
ed8c0 20 72 65 70 72 65 73 65 6e 74 73 0a 20 20 20 20 20 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f .represents.......heap.allocatio
ed8e0 6e 20 66 61 69 6c 75 72 65 2c 20 61 6e 64 20 5a 69 67 20 6c 69 62 72 61 72 69 65 73 20 72 65 74 n.failure,.and.Zig.libraries.ret
ed900 75 72 6e 20 74 68 69 73 20 65 72 72 6f 72 20 63 6f 64 65 20 77 68 65 6e 65 76 65 72 20 68 65 61 urn.this.error.code.whenever.hea
ed920 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 66 61 69 6c 75 72 65 20 70 72 65 76 65 p.allocation.......failure.preve
ed940 6e 74 65 64 20 61 6e 20 6f 70 65 72 61 74 69 6f 6e 20 66 72 6f 6d 20 63 6f 6d 70 6c 65 74 69 6e nted.an.operation.from.completin
ed960 67 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 g.successfully........</p>......
ed980 20 3c 70 3e 0a 20 20 20 20 20 20 53 6f 6d 65 20 68 61 76 65 20 61 72 67 75 65 64 20 74 68 61 74 .<p>.......Some.have.argued.that
ed9a0 20 62 65 63 61 75 73 65 20 73 6f 6d 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 .because.some.operating.systems.
ed9c0 73 75 63 68 20 61 73 20 4c 69 6e 75 78 20 68 61 76 65 20 6d 65 6d 6f 72 79 20 6f 76 65 72 63 6f such.as.Linux.have.memory.overco
ed9e0 6d 6d 69 74 20 65 6e 61 62 6c 65 64 20 62 79 0a 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 69 mmit.enabled.by.......default,.i
eda00 74 20 69 73 20 70 6f 69 6e 74 6c 65 73 73 20 74 6f 20 68 61 6e 64 6c 65 20 68 65 61 70 20 61 6c t.is.pointless.to.handle.heap.al
eda20 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 2e 20 54 68 65 72 65 20 61 72 65 20 6d 61 6e 79 location.failure..There.are.many
eda40 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 74 68 69 73 20 72 65 61 73 6f 6e 69 6e 67 3a 0a 20 .problems.with.this.reasoning:..
eda60 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c .....</p>.......<ul>...........<
eda80 6c 69 3e 4f 6e 6c 79 20 73 6f 6d 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 68 li>Only.some.operating.systems.h
edaa0 61 76 65 20 61 6e 20 6f 76 65 72 63 6f 6d 6d 69 74 20 66 65 61 74 75 72 65 2e 0a 20 20 20 20 20 ave.an.overcommit.feature.......
edac0 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........<ul>...................
edae0 3c 6c 69 3e 4c 69 6e 75 78 20 68 61 73 20 69 74 20 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 <li>Linux.has.it.enabled.by.defa
edb00 75 6c 74 2c 20 62 75 74 20 69 74 20 69 73 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 2e 3c 2f 6c 69 ult,.but.it.is.configurable.</li
edb20 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 57 69 6e 64 6f 77 73 20 >...................<li>Windows.
edb40 64 6f 65 73 20 6e 6f 74 20 6f 76 65 72 63 6f 6d 6d 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 does.not.overcommit.</li>.......
edb60 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 6d 62 65 64 64 65 64 20 73 79 73 74 65 6d 73 ............<li>Embedded.systems
edb80 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 6f 76 65 72 63 6f 6d 6d 69 74 2e 3c 2f 6c 69 3e 0a 20 20 .do.not.have.overcommit.</li>...
edba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 48 6f 62 62 79 20 6f 70 65 72 61 74 ................<li>Hobby.operat
edbc0 69 6e 67 20 73 79 73 74 65 6d 73 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 68 61 76 65 20 ing.systems.may.or.may.not.have.
edbe0 6f 76 65 72 63 6f 6d 6d 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c overcommit.</li>...............<
edc00 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c /ul>...........</li>...........<
edc20 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 72 65 61 6c 2d 74 69 6d 65 20 li>...............For.real-time.
edc40 73 79 73 74 65 6d 73 2c 20 6e 6f 74 20 6f 6e 6c 79 20 69 73 20 74 68 65 72 65 20 6e 6f 20 6f 76 systems,.not.only.is.there.no.ov
edc60 65 72 63 6f 6d 6d 69 74 2c 20 62 75 74 20 74 79 70 69 63 61 6c 6c 79 20 74 68 65 20 6d 61 78 69 ercommit,.but.typically.the.maxi
edc80 6d 75 6d 20 61 6d 6f 75 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 66 20 6d 65 6d 6f mum.amount...............of.memo
edca0 72 79 20 70 65 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 ry.per.application.is.determined
edcc0 20 61 68 65 61 64 20 6f 66 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a .ahead.of.time............</li>.
edce0 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 ..........<li>...............Whe
edd00 6e 20 77 72 69 74 69 6e 67 20 61 20 6c 69 62 72 61 72 79 2c 20 6f 6e 65 20 6f 66 20 74 68 65 20 n.writing.a.library,.one.of.the.
edd20 6d 61 69 6e 20 67 6f 61 6c 73 20 69 73 20 63 6f 64 65 20 72 65 75 73 65 2e 20 42 79 20 6d 61 6b main.goals.is.code.reuse..By.mak
edd40 69 6e 67 20 63 6f 64 65 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c ing.code.handle...............al
edd60 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 20 63 6f 72 72 65 63 74 6c 79 2c 20 61 20 6c 69 location.failure.correctly,.a.li
edd80 62 72 61 72 79 20 62 65 63 6f 6d 65 73 20 65 6c 69 67 69 62 6c 65 20 74 6f 20 62 65 20 72 65 75 brary.becomes.eligible.to.be.reu
edda0 73 65 64 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 72 65 20 63 6f 6e 74 65 78 sed.in...............more.contex
eddc0 74 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c ts............</li>...........<l
edde0 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 74 68 6f 75 67 68 20 73 6f 6d 65 20 73 i>...............Although.some.s
ede00 6f 66 74 77 61 72 65 20 68 61 73 20 67 72 6f 77 6e 20 74 6f 20 64 65 70 65 6e 64 20 6f 6e 20 6f oftware.has.grown.to.depend.on.o
ede20 76 65 72 63 6f 6d 6d 69 74 20 62 65 69 6e 67 20 65 6e 61 62 6c 65 64 2c 20 69 74 73 20 65 78 69 vercommit.being.enabled,.its.exi
ede40 73 74 65 6e 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 74 68 65 20 73 6f 75 72 stence...............is.the.sour
ede60 63 65 20 6f 66 20 63 6f 75 6e 74 6c 65 73 73 20 75 73 65 72 20 65 78 70 65 72 69 65 6e 63 65 20 ce.of.countless.user.experience.
ede80 64 69 73 61 73 74 65 72 73 2e 20 57 68 65 6e 20 61 20 73 79 73 74 65 6d 20 77 69 74 68 20 6f 76 disasters..When.a.system.with.ov
edea0 65 72 63 6f 6d 6d 69 74 20 65 6e 61 62 6c 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ercommit.enabled,...............
edec0 73 75 63 68 20 61 73 20 4c 69 6e 75 78 20 6f 6e 20 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 such.as.Linux.on.default.setting
edee0 73 2c 20 63 6f 6d 65 73 20 63 6c 6f 73 65 20 74 6f 20 6d 65 6d 6f 72 79 20 65 78 68 61 75 73 74 s,.comes.close.to.memory.exhaust
edf00 69 6f 6e 2c 20 74 68 65 20 73 79 73 74 65 6d 20 6c 6f 63 6b 73 20 75 70 0a 20 20 20 20 20 20 20 ion,.the.system.locks.up........
edf20 20 20 20 20 20 20 20 61 6e 64 20 62 65 63 6f 6d 65 73 20 75 6e 75 73 61 62 6c 65 2e 20 41 74 20 .......and.becomes.unusable..At.
edf40 74 68 69 73 20 70 6f 69 6e 74 2c 20 74 68 65 20 4f 4f 4d 20 4b 69 6c 6c 65 72 20 73 65 6c 65 63 this.point,.the.OOM.Killer.selec
edf60 74 73 20 61 6e 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 74 6f 20 6b 69 6c 6c 0a 20 20 20 20 20 20 ts.an.application.to.kill.......
edf80 20 20 20 20 20 20 20 20 62 61 73 65 64 20 6f 6e 20 68 65 75 72 69 73 74 69 63 73 2e 20 54 68 69 ........based.on.heuristics..Thi
edfa0 73 20 6e 6f 6e 2d 64 65 74 65 72 6d 69 6e 69 73 74 69 63 20 64 65 63 69 73 69 6f 6e 20 6f 66 74 s.non-deterministic.decision.oft
edfc0 65 6e 20 72 65 73 75 6c 74 73 20 69 6e 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 70 72 6f 63 65 en.results.in.an.important.proce
edfe0 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 69 6e 67 20 6b 69 6c 6c 65 64 2c 20 61 ss...............being.killed,.a
ee000 6e 64 20 6f 66 74 65 6e 20 66 61 69 6c 73 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 73 79 73 nd.often.fails.to.return.the.sys
ee020 74 65 6d 20 62 61 63 6b 20 74 6f 20 77 6f 72 6b 69 6e 67 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 tem.back.to.working.order.......
ee040 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 0a 20 .....</li>.......</ul>..........
ee060 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 63 75 72 73 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d .....<h3.id="Recursion"><a.href=
ee080 22 23 74 6f 63 2d 52 65 63 75 72 73 69 6f 6e 22 3e 52 65 63 75 72 73 69 6f 6e 3c 2f 61 3e 20 3c "#toc-Recursion">Recursion</a>.<
ee0a0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 63 75 72 73 69 6f 6e 22 3e a.class="hdr".href="#Recursion">
ee0c0 c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 63 ..</a></h3>........<p>.......Rec
ee0e0 75 72 73 69 6f 6e 20 69 73 20 61 20 66 75 6e 64 61 6d 65 6e 74 61 6c 20 74 6f 6f 6c 20 69 6e 20 ursion.is.a.fundamental.tool.in.
ee100 6d 6f 64 65 6c 69 6e 67 20 73 6f 66 74 77 61 72 65 2e 20 48 6f 77 65 76 65 72 20 69 74 20 68 61 modeling.software..However.it.ha
ee120 73 20 61 6e 20 6f 66 74 65 6e 2d 6f 76 65 72 6c 6f 6f 6b 65 64 20 70 72 6f 62 6c 65 6d 3a 0a 20 s.an.often-overlooked.problem:..
ee140 20 20 20 20 20 75 6e 62 6f 75 6e 64 65 64 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e .....unbounded.memory.allocation
ee160 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 63 ........</p>.......<p>.......Rec
ee180 75 72 73 69 6f 6e 20 69 73 20 61 6e 20 61 72 65 61 20 6f 66 20 61 63 74 69 76 65 20 65 78 70 65 ursion.is.an.area.of.active.expe
ee1a0 72 69 6d 65 6e 74 61 74 69 6f 6e 20 69 6e 20 5a 69 67 20 61 6e 64 20 73 6f 20 74 68 65 20 64 6f rimentation.in.Zig.and.so.the.do
ee1c0 63 75 6d 65 6e 74 61 74 69 6f 6e 20 68 65 72 65 20 69 73 20 6e 6f 74 20 66 69 6e 61 6c 2e 0a 20 cumentation.here.is.not.final...
ee1e0 20 20 20 20 20 59 6f 75 20 63 61 6e 20 72 65 61 64 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 .....You.can.read.a.......<a.hre
ee200 66 3d 22 68 74 74 70 73 3a 2f 2f 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 77 6e 6c 6f 61 64 2f f="https://ziglang.org/download/
ee220 30 2e 33 2e 30 2f 72 65 6c 65 61 73 65 2d 6e 6f 74 65 73 2e 68 74 6d 6c 23 72 65 63 75 72 73 69 0.3.0/release-notes.html#recursi
ee240 6f 6e 22 3e 73 75 6d 6d 61 72 79 20 6f 66 20 72 65 63 75 72 73 69 6f 6e 20 73 74 61 74 75 73 20 on">summary.of.recursion.status.
ee260 69 6e 20 74 68 65 20 30 2e 33 2e 30 20 72 65 6c 65 61 73 65 20 6e 6f 74 65 73 3c 2f 61 3e 2e 0a in.the.0.3.0.release.notes</a>..
ee280 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 ......</p>.......<p>.......The.s
ee2a0 68 6f 72 74 20 73 75 6d 6d 61 72 79 20 69 73 20 74 68 61 74 20 63 75 72 72 65 6e 74 6c 79 20 72 hort.summary.is.that.currently.r
ee2c0 65 63 75 72 73 69 6f 6e 20 77 6f 72 6b 73 20 6e 6f 72 6d 61 6c 6c 79 20 61 73 20 79 6f 75 20 77 ecursion.works.normally.as.you.w
ee2e0 6f 75 6c 64 20 65 78 70 65 63 74 2e 20 41 6c 74 68 6f 75 67 68 20 5a 69 67 20 63 6f 64 65 0a 20 ould.expect..Although.Zig.code..
ee300 20 20 20 20 20 69 73 20 6e 6f 74 20 79 65 74 20 70 72 6f 74 65 63 74 65 64 20 66 72 6f 6d 20 73 .....is.not.yet.protected.from.s
ee320 74 61 63 6b 20 6f 76 65 72 66 6c 6f 77 2c 20 69 74 20 69 73 20 70 6c 61 6e 6e 65 64 20 74 68 61 tack.overflow,.it.is.planned.tha
ee340 74 20 61 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 5a 69 67 20 77 69 6c 6c 20 70 t.a.future.version.of.Zig.will.p
ee360 72 6f 76 69 64 65 0a 20 20 20 20 20 20 73 75 63 68 20 70 72 6f 74 65 63 74 69 6f 6e 2c 20 77 69 rovide.......such.protection,.wi
ee380 74 68 20 73 6f 6d 65 20 64 65 67 72 65 65 20 6f 66 20 63 6f 6f 70 65 72 61 74 69 6f 6e 20 66 72 th.some.degree.of.cooperation.fr
ee3a0 6f 6d 20 5a 69 67 20 63 6f 64 65 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e om.Zig.code.required........</p>
ee3c0 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4c 69 66 65 74 69 6d 65 2d ...............<h3.id="Lifetime-
ee3e0 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4c 69 66 and-Ownership"><a.href="#toc-Lif
ee400 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e 4c 69 66 65 74 69 6d 65 20 61 6e etime-and-Ownership">Lifetime.an
ee420 64 20 4f 77 6e 65 72 73 68 69 70 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 d.Ownership</a>.<a.class="hdr".h
ee440 72 65 66 3d 22 23 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e c2 a7 ref="#Lifetime-and-Ownership">..
ee460 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 </a></h3>........<p>.......It.is
ee480 20 74 68 65 20 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 27 73 20 72 65 73 70 6f 6e 73 69 62 69 .the.Zig.programmer's.responsibi
ee4a0 6c 69 74 79 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 61 20 3c 61 20 68 72 65 66 3d 22 23 lity.to.ensure.that.a.<a.href="#
ee4c0 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 20 69 73 20 6e 6f 74 0a 20 20 20 Pointers">pointer</a>.is.not....
ee4e0 20 20 20 61 63 63 65 73 73 65 64 20 77 68 65 6e 20 74 68 65 20 6d 65 6d 6f 72 79 20 70 6f 69 6e ...accessed.when.the.memory.poin
ee500 74 65 64 20 74 6f 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 76 61 69 6c 61 62 6c 65 2e 20 4e ted.to.is.no.longer.available..N
ee520 6f 74 65 20 74 68 61 74 20 61 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 73 6c 69 ote.that.a.<a.href="#Slices">sli
ee540 63 65 3c 2f 61 3e 0a 20 20 20 20 20 20 69 73 20 61 20 66 6f 72 6d 20 6f 66 20 70 6f 69 6e 74 65 ce</a>.......is.a.form.of.pointe
ee560 72 2c 20 69 6e 20 74 68 61 74 20 69 74 20 72 65 66 65 72 65 6e 63 65 73 20 6f 74 68 65 72 20 6d r,.in.that.it.references.other.m
ee580 65 6d 6f 72 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 emory........</p>.......<p>.....
ee5a0 20 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 65 76 65 6e 74 20 62 75 67 73 2c 20 74 68 65 72 ..In.order.to.prevent.bugs,.ther
ee5c0 65 20 61 72 65 20 73 6f 6d 65 20 68 65 6c 70 66 75 6c 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 74 e.are.some.helpful.conventions.t
ee5e0 6f 20 66 6f 6c 6c 6f 77 20 77 68 65 6e 20 64 65 61 6c 69 6e 67 20 77 69 74 68 20 70 6f 69 6e 74 o.follow.when.dealing.with.point
ee600 65 72 73 2e 0a 20 20 20 20 20 20 49 6e 20 67 65 6e 65 72 61 6c 2c 20 77 68 65 6e 20 61 20 66 75 ers........In.general,.when.a.fu
ee620 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 20 64 6f nction.returns.a.pointer,.the.do
ee640 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f cumentation.for.the.function.sho
ee660 75 6c 64 20 65 78 70 6c 61 69 6e 0a 20 20 20 20 20 20 77 68 6f 20 22 6f 77 6e 73 22 20 74 68 65 uld.explain.......who."owns".the
ee680 20 70 6f 69 6e 74 65 72 2e 20 54 68 69 73 20 63 6f 6e 63 65 70 74 20 68 65 6c 70 73 20 74 68 65 .pointer..This.concept.helps.the
ee6a0 20 70 72 6f 67 72 61 6d 6d 65 72 20 64 65 63 69 64 65 20 77 68 65 6e 20 69 74 20 69 73 20 61 70 .programmer.decide.when.it.is.ap
ee6c0 70 72 6f 70 72 69 61 74 65 2c 20 69 66 20 65 76 65 72 2c 0a 20 20 20 20 20 20 74 6f 20 66 72 65 propriate,.if.ever,.......to.fre
ee6e0 65 20 74 68 65 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 e.the.pointer........</p>.......
ee700 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 75 6e 63 74 <p>.......For.example,.the.funct
ee720 69 6f 6e 27 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6d 61 79 20 73 61 79 20 22 63 61 6c ion's.documentation.may.say."cal
ee740 6c 65 72 20 6f 77 6e 73 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6d 65 6d 6f 72 79 22 2c 20 69 ler.owns.the.returned.memory",.i
ee760 6e 20 77 68 69 63 68 20 63 61 73 65 0a 20 20 20 20 20 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 n.which.case.......the.code.that
ee780 20 63 61 6c 6c 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 20 .calls.the.function.must.have.a.
ee7a0 70 6c 61 6e 20 66 6f 72 20 77 68 65 6e 20 74 6f 20 66 72 65 65 20 74 68 61 74 20 6d 65 6d 6f 72 plan.for.when.to.free.that.memor
ee7c0 79 2e 20 50 72 6f 62 61 62 6c 79 20 69 6e 20 74 68 69 73 20 73 69 74 75 61 74 69 6f 6e 2c 0a 20 y..Probably.in.this.situation,..
ee7e0 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 61 63 63 65 70 74 20 61 6e .....the.function.will.accept.an
ee800 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 6c 6c 6f 63 61 .<code><span.class="line">Alloca
ee820 74 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 tor</span></code>.parameter.....
ee840 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 6f 6d 65 74 69 6d 65 ...</p>.......<p>.......Sometime
ee860 73 20 74 68 65 20 6c 69 66 65 74 69 6d 65 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 20 6d 61 79 20 s.the.lifetime.of.a.pointer.may.
ee880 62 65 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 be.more.complicated..For.example
ee8a0 2c 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ,.the.......<code><span.class="l
ee8c0 69 6e 65 22 3e 73 74 64 2e 41 72 72 61 79 4c 69 73 74 28 54 29 2e 69 74 65 6d 73 3c 2f 73 70 61 ine">std.ArrayList(T).items</spa
ee8e0 6e 3e 3c 2f 63 6f 64 65 3e 20 73 6c 69 63 65 20 68 61 73 20 61 20 6c 69 66 65 74 69 6d 65 20 74 n></code>.slice.has.a.lifetime.t
ee900 68 61 74 20 72 65 6d 61 69 6e 73 0a 20 20 20 20 20 20 76 61 6c 69 64 20 75 6e 74 69 6c 20 74 68 hat.remains.......valid.until.th
ee920 65 20 6e 65 78 74 20 74 69 6d 65 20 74 68 65 20 6c 69 73 74 20 69 73 20 72 65 73 69 7a 65 64 2c e.next.time.the.list.is.resized,
ee940 20 73 75 63 68 20 61 73 20 62 79 20 61 70 70 65 6e 64 69 6e 67 20 6e 65 77 20 65 6c 65 6d 65 6e .such.as.by.appending.new.elemen
ee960 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 ts........</p>.......<p>.......T
ee980 68 65 20 41 50 49 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 66 75 6e 63 74 69 6f he.API.documentation.for.functio
ee9a0 6e 73 20 61 6e 64 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 73 68 6f 75 6c 64 20 74 61 ns.and.data.structures.should.ta
ee9c0 6b 65 20 67 72 65 61 74 20 63 61 72 65 20 74 6f 20 65 78 70 6c 61 69 6e 0a 20 20 20 20 20 20 74 ke.great.care.to.explain.......t
ee9e0 68 65 20 6f 77 6e 65 72 73 68 69 70 20 61 6e 64 20 6c 69 66 65 74 69 6d 65 20 73 65 6d 61 6e 74 he.ownership.and.lifetime.semant
eea00 69 63 73 20 6f 66 20 70 6f 69 6e 74 65 72 73 2e 20 4f 77 6e 65 72 73 68 69 70 20 64 65 74 65 72 ics.of.pointers..Ownership.deter
eea20 6d 69 6e 65 73 20 77 68 6f 73 65 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 69 74 0a 20 20 mines.whose.responsibility.it...
eea40 20 20 20 20 69 73 20 74 6f 20 66 72 65 65 20 74 68 65 20 6d 65 6d 6f 72 79 20 72 65 66 65 72 65 ....is.to.free.the.memory.refere
eea60 6e 63 65 64 20 62 79 20 74 68 65 20 70 6f 69 6e 74 65 72 2c 20 61 6e 64 20 6c 69 66 65 74 69 6d nced.by.the.pointer,.and.lifetim
eea80 65 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 70 6f 69 6e 74 20 61 74 20 77 68 69 63 68 0a e.determines.the.point.at.which.
eeaa0 20 20 20 20 20 20 74 68 65 20 6d 65 6d 6f 72 79 20 62 65 63 6f 6d 65 73 20 69 6e 61 63 63 65 73 ......the.memory.becomes.inacces
eeac0 73 69 62 6c 65 20 28 6c 65 73 74 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d sible.(lest.<a.href="#Undefined-
eeae0 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>
eeb00 20 6f 63 63 75 72 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 .occur)........</p>.............
eeb20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c .........<h2.id="Compile-Variabl
eeb40 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 es"><a.href="#toc-Compile-Variab
eeb60 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c les">Compile.Variables</a>.<a.cl
eeb80 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c ass="hdr".href="#Compile-Variabl
eeba0 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 es">..</a></h2>........<p>......
eebc0 20 43 6f 6d 70 69 6c 65 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 61 63 63 65 73 73 69 62 6c .Compile.variables.are.accessibl
eebe0 65 20 62 79 20 69 6d 70 6f 72 74 69 6e 67 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 e.by.importing.the.<code><span.c
eec00 6c 61 73 73 3d 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
eec20 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 ">&quot;builtin&quot;</span></sp
eec40 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 63 6b 61 67 65 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 an></code>.package,.......which.
eec60 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6d 61 6b 65 73 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 the.compiler.makes.available.to.
eec80 65 76 65 72 79 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 49 74 20 63 6f 6e 74 61 69 every.Zig.source.file..It.contai
eeca0 6e 73 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 73 20 ns.......compile-time.constants.
eecc0 73 75 63 68 20 61 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 61 72 67 65 74 2c 20 65 6e 64 69 such.as.the.current.target,.endi
eece0 61 6e 6e 65 73 73 2c 20 61 6e 64 20 72 65 6c 65 61 73 65 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 anness,.and.release.mode........
eed00 3c 2f 70 3e 0a 20 20 20 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
eed20 6c 61 73 73 3d 22 7a 69 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
eed40 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
eed60 72 65 3e 3c 63 6f 64 65 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
eed80 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 n.class="tok-kw">const</span>.bu
eeda0 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e iltin.=.<span.class="tok-builtin
eedc0 22 3e 40 69 6d 70 6f 72 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
eede0 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e k-str">&quot;builtin&quot;</span
eee00 3e 29 3b 3c 2f 73 70 61 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
eee20 70 61 6e 20 63 6c 61 73 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>.
eee40 73 65 70 61 72 61 74 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 separator.=.<span.class="tok-kw"
eee60 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 6f 73 2e 74 61 67 20 3d 3d 20 62 75 >if</span>.(builtin.os.tag.==.bu
eee80 69 6c 74 69 6e 2e 4f 73 2e 77 69 6e 64 6f 77 73 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 iltin.Os.windows).<span.class="t
eeea0 6f 6b 2d 73 74 72 22 3e 27 5c 5c 27 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d ok-str">'\\'</span>.<span.class=
eeec0 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 "tok-kw">else</span>.<span.class
eeee0 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 2f 27 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 ="tok-str">'/'</span>;</span></c
eef00 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>...
eef20 20 20 20 20 45 78 61 6d 70 6c 65 20 6f 66 20 77 68 61 74 20 69 73 20 69 6d 70 6f 72 74 65 64 20 ....Example.of.what.is.imported.
eef40 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 with.<code><span.class="line"><s
eef60 70 61 6e 20 63 6c 61 73 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<
eef80 2f 73 70 61 6e 3e 28 3c 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
eefa0 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c ot;builtin&quot;</span>)</span><
eefc0 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 /code>:.......</p>.......<figure
eefe0 3e 3c 66 69 67 63 61 70 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
ef000 74 65 3e 40 69 6d 70 6f 72 74 28 22 62 75 69 6c 74 69 6e 22 29 3c 2f 63 69 74 65 3e 3c 2f 66 69 te>@import("builtin")</cite></fi
ef020 67 63 61 70 74 69 6f 6e 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=
ef040 22 6c 69 6e 65 22 3e 3c 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
ef060 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-
ef080 62 75 69 6c 74 69 6e 22 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
ef0a0 61 73 73 3d 22 74 6f 6b 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
ef0c0 70 61 6e 3e 29 3b 3c 2f 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"
ef0e0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 5a ><span.class="tok-comment">///.Z
ef100 69 67 20 76 65 72 73 69 6f 6e 2e 20 57 68 65 6e 20 77 72 69 74 69 6e 67 20 63 6f 64 65 20 74 68 ig.version..When.writing.code.th
ef120 61 74 20 73 75 70 70 6f 72 74 73 20 6d 75 6c 74 69 70 6c 65 20 76 65 72 73 69 6f 6e 73 20 6f 66 at.supports.multiple.versions.of
ef140 20 5a 69 67 2c 20 70 72 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .Zig,.prefer</span></span>.<span
ef160 20 63 6c 61 73 73 3d 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
ef180 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 66 65 61 74 75 72 65 20 64 65 74 65 63 74 69 6f 6e 20 28 69 omment">///.feature.detection.(i
ef1a0 2e 65 2e 20 77 69 74 68 20 60 40 68 61 73 44 65 63 6c 60 20 6f 72 20 60 40 68 61 73 46 69 65 6c .e..with.`@hasDecl`.or.`@hasFiel
ef1c0 64 60 29 20 6f 76 65 72 20 76 65 72 73 69 6f 6e 20 63 68 65 63 6b 73 2e 3c 2f 73 70 61 6e 3e 3c d`).over.version.checks.</span><
ef1e0 2f 73 70 61 6e 3e 0a 3c 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.
ef200 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.
ef220 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 69 67 5f class="tok-kw">const</span>.zig_
ef240 76 65 72 73 69 6f 6e 20 3d 20 73 74 64 2e 53 65 6d 61 6e 74 69 63 56 65 72 73 69 6f 6e 2e 70 61 version.=.std.SemanticVersion.pa
ef260 72 73 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b rse(<span.class="tok-str">&quot;
ef280 30 2e 39 2e 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 0.9.1&quot;</span>).<span.class=
ef2a0 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 "tok-kw">catch</span>.<span.clas
ef2c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f s="tok-kw">unreachable</span>;</
ef2e0 73 70 61 6e 3e 0a 3c 73 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
ef300 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 65 6d 70 6f 72 61 72 79 lass="tok-comment">///.Temporary
ef320 20 75 6e 74 69 6c 20 73 65 6c 66 2d 68 6f 73 74 65 64 20 69 73 20 66 65 61 74 75 72 65 20 63 6f .until.self-hosted.is.feature.co
ef340 6d 70 6c 65 74 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 mplete.</span></span>.<span.clas
ef360 73 3d 22 6c 69 6e 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
ef380 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
ef3a0 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 69 67 5f 69 73 5f 73 74 61 67 65 32 20 3d 20 3c 73 70 61 6e nst</span>.zig_is_stage2.=.<span
ef3c0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c .class="tok-null">false</span>;<
ef3e0 2f 73 70 61 6e 3e 0a 3c 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.
ef400 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 65 6d 70 6f 72 61 72 class="tok-comment">///.Temporar
ef420 79 20 75 6e 74 69 6c 20 73 65 6c 66 2d 68 6f 73 74 65 64 20 73 75 70 70 6f 72 74 73 20 74 68 65 y.until.self-hosted.supports.the
ef440 20 60 63 70 75 2e 61 72 63 68 60 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e .`cpu.arch`.value.</span></span>
ef460 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
ef480 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=
ef4a0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 61 67 65 32 5f 61 72 63 "tok-kw">const</span>.stage2_arc
ef4c0 68 3a 20 73 74 64 2e 54 61 72 67 65 74 2e 43 70 75 2e 41 72 63 68 20 3d 20 2e 78 38 36 5f 36 34 h:.std.Target.Cpu.Arch.=..x86_64
ef4e0 3b 3c 2f 73 70 61 6e 3e 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
ef500 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 65 6d 70 6f 72 n.class="tok-comment">///.Tempor
ef520 61 72 79 20 75 6e 74 69 6c 20 73 65 6c 66 2d 68 6f 73 74 65 64 20 63 61 6e 20 63 61 6c 6c 20 60 ary.until.self-hosted.can.call.`
ef540 73 74 64 2e 54 61 72 67 65 74 2e 78 38 36 2e 66 65 61 74 75 72 65 53 65 74 48 61 73 60 20 61 74 std.Target.x86.featureSetHas`.at
ef560 20 63 6f 6d 70 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .comptime.</span></span>.<span.c
ef580 6c 61 73 73 3d 22 6c 69 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"
ef5a0 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"
ef5c0 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 61 67 65 32 5f 78 38 36 5f 63 78 31 36 20 3d 20 >const</span>.stage2_x86_cx16.=.
ef5e0 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
ef600 6e 3e 3b 3c 2f 73 70 61 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"></
ef620 73 70 61 6e 3e 0a 3c 73 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
ef640 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
ef660 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 75 74 70 75 lass="tok-kw">const</span>.outpu
ef680 74 5f 6d 6f 64 65 20 3d 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 4f 75 74 70 75 74 4d 6f 64 65 2e t_mode.=.std.builtin.OutputMode.
ef6a0 4f 62 6a 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c Obj;</span>.<span.class="line"><
ef6c0 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>.<
ef6e0 73 70 61 6e 20 63 6c 61 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>
ef700 20 6c 69 6e 6b 5f 6d 6f 64 65 20 3d 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 4c 69 6e 6b 4d 6f 64 .link_mode.=.std.builtin.LinkMod
ef720 65 2e 53 74 61 74 69 63 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e.Static;</span>.<span.class="li
ef740 6e 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
ef760 61 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</
ef780 73 70 61 6e 3e 20 69 73 5f 74 65 73 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b span>.is_test.=.<span.class="tok
ef7a0 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
ef7c0 6e 20 63 6c 61 73 73 3d 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-
ef7e0 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-
ef800 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 69 6e 67 6c 65 5f 74 68 72 65 61 64 65 64 kw">const</span>.single_threaded
ef820 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<
ef840 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
ef860 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e "><span.class="tok-kw">pub</span
ef880 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 >.<span.class="tok-kw">const</sp
ef8a0 61 6e 3e 20 61 62 69 20 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 41 62 69 2e 67 6e 75 3b 3c 2f 73 an>.abi.=.std.Target.Abi.gnu;</s
ef8c0 70 61 6e 3e 0a 3c 73 70 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
ef8e0 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
ef900 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 70 75 3a 20 73 ass="tok-kw">const</span>.cpu:.s
ef920 74 64 2e 54 61 72 67 65 74 2e 43 70 75 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 td.Target.Cpu.=..{</span>.<span.
ef940 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 72 63 68 20 3d 20 2e 78 38 36 5f 36 34 class="line">.....arch.=..x86_64
ef960 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
ef980 2e 6d 6f 64 65 6c 20 3d 20 26 61 6d 70 3b 73 74 64 2e 54 61 72 67 65 74 2e 78 38 36 2e 63 70 75 .model.=.&amp;std.Target.x86.cpu
ef9a0 2e 73 6b 79 6c 61 6b 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .skylake,</span>.<span.class="li
ef9c0 6e 65 22 3e 20 20 20 20 2e 66 65 61 74 75 72 65 73 20 3d 20 73 74 64 2e 54 61 72 67 65 74 2e 78 ne">.....features.=.std.Target.x
ef9e0 38 36 2e 66 65 61 74 75 72 65 53 65 74 28 26 61 6d 70 3b 5b 5f 5d 73 74 64 2e 54 61 72 67 65 74 86.featureSet(&amp;[_]std.Target
efa00 2e 78 38 36 2e 46 65 61 74 75 72 65 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .x86.Feature{</span>.<span.class
efa20 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 36 34 62 69 74 26 71 75 ="line">.........@&quot;64bit&qu
efa40 6f 74 3b 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ot;,</span>.<span.class="line">.
efa60 20 20 20 20 20 20 20 2e 61 64 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ........adx,</span>.<span.class=
efa80 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 65 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 "line">.........aes,</span>.<spa
efaa0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 61 76 78 2c 3c 2f 73 70 n.class="line">.........avx,</sp
efac0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e an>.<span.class="line">.........
efae0 61 76 78 32 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e avx2,</span>.<span.class="line">
efb00 20 20 20 20 20 20 20 20 2e 62 6d 69 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .........bmi,</span>.<span.class
efb20 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 62 6d 69 32 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ="line">.........bmi2,</span>.<s
efb40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 63 6c 66 6c 75 73 pan.class="line">.........clflus
efb60 68 6f 70 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e hopt,</span>.<span.class="line">
efb80 20 20 20 20 20 20 20 20 2e 63 6d 6f 76 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .........cmov,</span>.<span.clas
efba0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 63 78 31 36 2c 3c 2f 73 70 61 6e 3e 0a 3c s="line">.........cx16,</span>.<
efbc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 63 78 38 2c 3c span.class="line">.........cx8,<
efbe0 2f 73 70 61 6e 3e 0a 3c 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">......
efc00 20 20 2e 65 72 6d 73 62 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ...ermsb,</span>.<span.class="li
efc20 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 31 36 63 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ne">.........f16c,</span>.<span.
efc40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 6c 73 65 5f 64 65 70 73 class="line">.........false_deps
efc60 5f 70 6f 70 63 6e 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e _popcnt,</span>.<span.class="lin
efc80 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 31 35 62 79 74 65 6e 6f 70 2c 3c 2f 73 70 61 e">.........fast_15bytenop,</spa
efca0 6e 3e 0a 3c 73 70 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
efcc0 61 73 74 5f 67 61 74 68 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ast_gather,</span>.<span.class="
efce0 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 73 63 61 6c 61 72 5f 66 73 71 72 74 line">.........fast_scalar_fsqrt
efd00 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
efd20 20 20 20 20 2e 66 61 73 74 5f 73 68 6c 64 5f 72 6f 74 61 74 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 .....fast_shld_rotate,</span>.<s
efd40 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 73 74 5f 76 pan.class="line">.........fast_v
efd60 61 72 69 61 62 6c 65 5f 63 72 6f 73 73 6c 61 6e 65 5f 73 68 75 66 66 6c 65 2c 3c 2f 73 70 61 6e ariable_crosslane_shuffle,</span
efd80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 61 >.<span.class="line">.........fa
efda0 73 74 5f 76 61 72 69 61 62 6c 65 5f 70 65 72 6c 61 6e 65 5f 73 68 75 66 66 6c 65 2c 3c 2f 73 70 st_variable_perlane_shuffle,</sp
efdc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e an>.<span.class="line">.........
efde0 66 61 73 74 5f 76 65 63 74 6f 72 5f 66 73 71 72 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 fast_vector_fsqrt,</span>.<span.
efe00 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 6d 61 2c 3c 2f 73 70 61 6e class="line">.........fma,</span
efe20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 66 73 >.<span.class="line">.........fs
efe40 67 73 62 61 73 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 gsbase,</span>.<span.class="line
efe60 22 3e 20 20 20 20 20 20 20 20 2e 66 78 73 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ">.........fxsr,</span>.<span.cl
efe80 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 69 64 69 76 71 5f 74 6f 5f 64 69 76 ass="line">.........idivq_to_div
efea0 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 l,</span>.<span.class="line">...
efec0 20 20 20 20 20 2e 69 6e 76 70 63 69 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ......invpcid,</span>.<span.clas
efee0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6c 7a 63 6e 74 2c 3c 2f 73 70 61 6e 3e 0a s="line">.........lzcnt,</span>.
eff00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6d 61 63 72 <span.class="line">.........macr
eff20 6f 66 75 73 69 6f 6e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ofusion,</span>.<span.class="lin
eff40 65 22 3e 20 20 20 20 20 20 20 20 2e 6d 6d 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c e">.........mmx,</span>.<span.cl
eff60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6d 6f 76 62 65 2c 3c 2f 73 70 61 6e ass="line">.........movbe,</span
eff80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 6e 6f >.<span.class="line">.........no
effa0 70 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 pl,</span>.<span.class="line">..
effc0 20 20 20 20 20 20 2e 70 63 6c 6d 75 6c 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .......pclmul,</span>.<span.clas
effe0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 70 6f 70 63 6e 74 2c 3c 2f 73 70 61 6e 3e s="line">.........popcnt,</span>
f0000 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 70 72 66 .<span.class="line">.........prf
f0020 63 68 77 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 chw,</span>.<span.class="line">.
f0040 20 20 20 20 20 20 20 2e 72 64 72 6e 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ........rdrnd,</span>.<span.clas
f0060 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 72 64 73 65 65 64 2c 3c 2f 73 70 61 6e 3e s="line">.........rdseed,</span>
f0080 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 61 68 .<span.class="line">.........sah
f00a0 66 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 f,</span>.<span.class="line">...
f00c0 20 20 20 20 20 2e 73 67 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ......sgx,</span>.<span.class="l
f00e0 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 6c 6f 77 5f 33 6f 70 73 5f 6c 65 61 2c 3c 2f 73 70 ine">.........slow_3ops_lea,</sp
f0100 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e an>.<span.class="line">.........
f0120 73 73 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 sse,</span>.<span.class="line">.
f0140 20 20 20 20 20 20 20 2e 73 73 65 32 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ........sse2,</span>.<span.class
f0160 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 65 33 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ="line">.........sse3,</span>.<s
f0180 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 65 34 5f 31 pan.class="line">.........sse4_1
f01a0 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
f01c0 20 20 20 20 2e 73 73 65 34 5f 32 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .....sse4_2,</span>.<span.class=
f01e0 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 73 73 73 65 33 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 "line">.........ssse3,</span>.<s
f0200 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 76 7a 65 72 6f 75 pan.class="line">.........vzerou
f0220 70 70 65 72 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e pper,</span>.<span.class="line">
f0240 20 20 20 20 20 20 20 20 2e 78 38 37 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .........x87,</span>.<span.class
f0260 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 2c 3c 2f 73 70 61 6e 3e 0a 3c ="line">.........xsave,</span>.<
f0280 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 span.class="line">.........xsave
f02a0 63 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 c,</span>.<span.class="line">...
f02c0 20 20 20 20 20 2e 78 73 61 76 65 6f 70 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ......xsaveopt,</span>.<span.cla
f02e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 78 73 61 76 65 73 2c 3c 2f 73 70 61 6e ss="line">.........xsaves,</span
f0300 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 7d 29 2c 3c 2f 73 70 >.<span.class="line">....}),</sp
f0320 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>
f0340 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .<span.class="line"><span.class=
f0360 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=
f0380 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 20 3d 20 73 74 64 2e 54 "tok-kw">const</span>.os.=.std.T
f03a0 61 72 67 65 74 2e 4f 73 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 arget.Os{</span>.<span.class="li
f03c0 6e 65 22 3e 20 20 20 20 2e 74 61 67 20 3d 20 2e 6c 69 6e 75 78 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 ne">.....tag.=..linux,</span>.<s
f03e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 76 65 72 73 69 6f 6e 5f 72 61 pan.class="line">.....version_ra
f0400 6e 67 65 20 3d 20 2e 7b 20 2e 6c 69 6e 75 78 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 nge.=..{..linux.=..{</span>.<spa
f0420 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 2e 72 61 6e 67 65 20 3d 20 n.class="line">.........range.=.
f0440 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
f0460 20 20 20 20 20 20 20 20 20 2e 6d 69 6e 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ..........min.=..{</span>.<span.
f0480 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 class="line">.................ma
f04a0 6a 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 jor.=.<span.class="tok-number">5
f04c0 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
f04e0 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 69 6e 6f 72 20 3d 20 3c 73 70 61 e">.................minor.=.<spa
f0500 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 3c n.class="tok-number">10</span>,<
f0520 2f 73 70 61 6e 3e 0a 3c 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">......
f0540 20 20 20 20 20 20 20 20 20 20 2e 70 61 74 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ...........patch.=.<span.class="
f0560 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 tok-number">94</span>,</span>.<s
f0580 70 61 6e 20 63 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">............},<
f05a0 2f 73 70 61 6e 3e 0a 3c 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">......
f05c0 20 20 20 20 20 20 2e 6d 61 78 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .......max.=..{</span>.<span.cla
f05e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 6a 6f 72 ss="line">.................major
f0600 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 .=.<span.class="tok-number">5</s
f0620 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">
f0640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 69 6e 6f 72 20 3d 20 3c 73 70 61 6e 20 63 .................minor.=.<span.c
f0660 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 lass="tok-number">10</span>,</sp
f0680 61 6e 3e 0a 3c 73 70 61 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">.........
f06a0 20 20 20 20 20 20 20 2e 70 61 74 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b ........patch.=.<span.class="tok
f06c0 2d 6e 75 6d 62 65 72 22 3e 39 34 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e -number">94</span>,</span>.<span
f06e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 3c 2f 73 70 .class="line">............},</sp
f0700 61 6e 3e 0a 3c 73 70 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">........}
f0720 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
f0740 20 20 20 20 2e 67 6c 69 62 63 20 3d 20 2e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .....glibc.=..{</span>.<span.cla
f0760 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 6a 6f 72 20 3d 20 3c ss="line">.............major.=.<
f0780 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>
f07a0 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ,</span>.<span.class="line">....
f07c0 20 20 20 20 20 20 20 20 2e 6d 69 6e 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f .........minor.=.<span.class="to
f07e0 6b 2d 6e 75 6d 62 65 72 22 3e 33 33 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 k-number">33</span>,</span>.<spa
f0800 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 20 20 20 2e 70 61 74 63 n.class="line">.............patc
f0820 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f h.=.<span.class="tok-number">0</
f0840 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"
f0860 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="
f0880 6c 69 6e 65 22 3e 20 20 20 20 7d 7d 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 line">....}},</span>.<span.class
f08a0 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
f08c0 69 6e 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
f08e0 70 61 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<
f0900 2f 73 70 61 6e 3e 20 74 61 72 67 65 74 20 3d 20 73 74 64 2e 54 61 72 67 65 74 7b 3c 2f 73 70 61 /span>.target.=.std.Target{</spa
f0920 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 63 70 75 20 3d n>.<span.class="line">.....cpu.=
f0940 20 63 70 75 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .cpu,</span>.<span.class="line">
f0960 20 20 20 20 2e 6f 73 20 3d 20 6f 73 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .....os.=.os,</span>.<span.class
f0980 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2e 61 62 69 20 3d 20 61 62 69 2c 3c 2f 73 70 61 6e 3e 0a 3c ="line">.....abi.=.abi,</span>.<
f09a0 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
f09c0 6e 20 63 6c 61 73 73 3d 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-
f09e0 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-
f0a00 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 62 6a 65 63 74 5f 66 6f 72 6d 61 74 20 3d kw">const</span>.object_format.=
f0a20 20 73 74 64 2e 54 61 72 67 65 74 2e 4f 62 6a 65 63 74 46 6f 72 6d 61 74 2e 65 6c 66 3b 3c 2f 73 .std.Target.ObjectFormat.elf;</s
f0a40 70 61 6e 3e 0a 3c 73 70 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
f0a60 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
f0a80 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 6f 64 65 20 3d ass="tok-kw">const</span>.mode.=
f0aa0 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 4d 6f 64 65 2e 44 65 62 75 67 3b 3c 2f 73 70 61 6e 3e 0a .std.builtin.Mode.Debug;</span>.
f0ac0 3c 73 70 61 6e 20 63 6c 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="
f0ae0 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="
f0b00 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 6e 6b 5f 6c 69 62 63 20 3d tok-kw">const</span>.link_libc.=
f0b20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 .<span.class="tok-null">false</s
f0b40 70 61 6e 3e 3b 3c 2f 73 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">
f0b60 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>.
f0b80 3c 73 70 61 6e 20 63 6c 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
f0ba0 3e 20 6c 69 6e 6b 5f 6c 69 62 63 70 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b >.link_libcpp.=.<span.class="tok
f0bc0 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
f0be0 6e 20 63 6c 61 73 73 3d 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-
f0c00 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-
f0c20 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 61 76 65 5f 65 72 72 6f 72 5f 72 65 74 75 kw">const</span>.have_error_retu
f0c40 72 6e 5f 74 72 61 63 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 rn_tracing.=.<span.class="tok-nu
f0c60 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ll">true</span>;</span>.<span.cl
f0c80 61 73 73 3d 22 6c 69 6e 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">
f0ca0 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">
f0cc0 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 67 72 69 6e 64 5f 73 75 70 70 6f 72 74 20 3d 20 const</span>.valgrind_support.=.
f0ce0 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
f0d00 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 n>;</span>.<span.class="line"><s
f0d20 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
f0d40 70 61 6e 20 63 6c 61 73 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>.
f0d60 70 6f 73 69 74 69 6f 6e 5f 69 6e 64 65 70 65 6e 64 65 6e 74 5f 63 6f 64 65 20 3d 20 3c 73 70 61 position_independent_code.=.<spa
f0d80 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>;
f0da0 3c 2f 73 70 61 6e 3e 0a 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
f0dc0 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
f0de0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 6f 73 .class="tok-kw">const</span>.pos
f0e00 69 74 69 6f 6e 5f 69 6e 64 65 70 65 6e 64 65 6e 74 5f 65 78 65 63 75 74 61 62 6c 65 20 3d 20 3c ition_independent_executable.=.<
f0e20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 span.class="tok-null">false</spa
f0e40 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 n>;</span>.<span.class="line"><s
f0e60 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
f0e80 70 61 6e 20 63 6c 61 73 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>.
f0ea0 73 74 72 69 70 5f 64 65 62 75 67 5f 69 6e 66 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 strip_debug_info.=.<span.class="
f0ec0 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c tok-null">false</span>;</span>.<
f0ee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
f0f00 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
f0f20 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 64 65 5f 6d 6f 64 65 6c 20 3d ok-kw">const</span>.code_model.=
f0f40 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 6f 64 65 4d 6f 64 65 6c 2e 64 65 66 61 75 6c 74 3b 3c .std.builtin.CodeModel.default;<
f0f60 2f 73 70 61 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>....
f0f80 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
f0fa0 72 65 66 3d 22 23 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c 2f 61 3e ref="#Build-Mode">Build.Mode</a>
f0fc0 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 </li>.</ul>...............<h2.id
f0fe0 3d 22 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f ="Root-Source-File"><a.href="#to
f1000 63 2d 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e 52 6f 6f 74 20 53 6f 75 72 63 65 20 c-Root-Source-File">Root.Source.
f1020 46 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 File</a>.<a.class="hdr".href="#R
f1040 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 oot-Source-File">..</a></h2>....
f1060 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 65 78 70 6c 61 69 6e 20 68 6f 77 20 72 6f 6f 74 20 73 6f ....<p>TODO:.explain.how.root.so
f1080 75 72 63 65 20 66 69 6c 65 20 66 69 6e 64 73 20 6f 74 68 65 72 20 66 69 6c 65 73 3c 2f 70 3e 0a urce.file.finds.other.files</p>.
f10a0 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 70 75 62 20 66 6e 20 6d 61 69 6e 3c 2f 70 3e 0a 20 ......<p>TODO:.pub.fn.main</p>..
f10c0 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 70 75 62 20 66 6e 20 70 61 6e 69 63 3c 2f 70 3e 0a 20 .....<p>TODO:.pub.fn.panic</p>..
f10e0 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 69 66 20 6c 69 6e 6b 69 6e 67 20 77 69 74 68 20 6c 69 .....<p>TODO:.if.linking.with.li
f1100 62 63 20 79 6f 75 20 63 61 6e 20 75 73 65 20 65 78 70 6f 72 74 20 66 6e 20 6d 61 69 6e 3c 2f 70 bc.you.can.use.export.fn.main</p
f1120 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 6f 72 64 65 72 20 69 6e 64 65 70 65 6e 64 65 >.......<p>TODO:.order.independe
f1140 6e 74 20 74 6f 70 20 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 70 3e 0a 20 20 nt.top.level.declarations</p>...
f1160 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 6c 61 7a 79 20 61 6e 61 6c 79 73 69 73 3c 2f 70 3e 0a 20 ....<p>TODO:.lazy.analysis</p>..
f1180 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 75 73 69 6e 67 20 63 6f 6d 70 74 69 6d 65 20 7b 20 5f .....<p>TODO:.using.comptime.{._
f11a0 20 3d 20 40 69 6d 70 6f 72 74 28 29 20 7d 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 .=.@import().}</p>..............
f11c0 3c 68 32 20 69 64 3d 22 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 3c 61 20 68 72 65 <h2.id="Zig-Build-System"><a.hre
f11e0 66 3d 22 23 74 6f 63 2d 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 42 75 f="#toc-Zig-Build-System">Zig.Bu
f1200 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 ild.System</a>.<a.class="hdr".hr
f1220 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 ef="#Zig-Build-System">..</a></h
f1240 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 5a 69 67 20 42 75 69 6c 2>........<p>.......The.Zig.Buil
f1260 64 20 53 79 73 74 65 6d 20 70 72 6f 76 69 64 65 73 20 61 20 63 72 6f 73 73 2d 70 6c 61 74 66 6f d.System.provides.a.cross-platfo
f1280 72 6d 2c 20 64 65 70 65 6e 64 65 6e 63 79 2d 66 72 65 65 20 77 61 79 20 74 6f 20 64 65 63 6c 61 rm,.dependency-free.way.to.decla
f12a0 72 65 0a 20 20 20 20 20 20 74 68 65 20 6c 6f 67 69 63 20 72 65 71 75 69 72 65 64 20 74 6f 20 62 re.......the.logic.required.to.b
f12c0 75 69 6c 64 20 61 20 70 72 6f 6a 65 63 74 2e 20 57 69 74 68 20 74 68 69 73 20 73 79 73 74 65 6d uild.a.project..With.this.system
f12e0 2c 20 74 68 65 20 6c 6f 67 69 63 20 74 6f 20 62 75 69 6c 64 0a 20 20 20 20 20 20 61 20 70 72 6f ,.the.logic.to.build.......a.pro
f1300 6a 65 63 74 20 69 73 20 77 72 69 74 74 65 6e 20 69 6e 20 61 20 62 75 69 6c 64 2e 7a 69 67 20 66 ject.is.written.in.a.build.zig.f
f1320 69 6c 65 2c 20 75 73 69 6e 67 20 74 68 65 20 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 20 ile,.using.the.Zig.Build.System.
f1340 41 50 49 20 74 6f 0a 20 20 20 20 20 20 64 65 63 6c 61 72 65 20 61 6e 64 20 63 6f 6e 66 69 67 75 API.to.......declare.and.configu
f1360 72 65 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 73 20 61 6e 64 20 6f 74 68 65 72 20 74 61 73 re.build.artifacts.and.other.tas
f1380 6b 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 ks........</p>.......<p>.......S
f13a0 6f 6d 65 20 65 78 61 6d 70 6c 65 73 20 6f 66 20 74 61 73 6b 73 20 74 68 65 20 62 75 69 6c 64 20 ome.examples.of.tasks.the.build.
f13c0 73 79 73 74 65 6d 20 63 61 6e 20 68 65 6c 70 20 77 69 74 68 3a 0a 20 20 20 20 20 20 3c 2f 70 3e system.can.help.with:.......</p>
f13e0 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 72 65 61 74 69 6e 67 .......<ul>.........<li>Creating
f1400 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 73 20 62 79 20 65 78 65 63 75 74 69 6e 67 20 74 68 .build.artifacts.by.executing.th
f1420 65 20 5a 69 67 20 63 6f 6d 70 69 6c 65 72 2e 20 54 68 69 73 20 69 6e 63 6c 75 64 65 73 0a 20 20 e.Zig.compiler..This.includes...
f1440 20 20 20 20 20 20 20 20 62 75 69 6c 64 69 6e 67 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 ........building.Zig.source.code
f1460 20 61 73 20 77 65 6c 6c 20 61 73 20 43 20 61 6e 64 20 43 2b 2b 20 73 6f 75 72 63 65 20 63 6f 64 .as.well.as.C.and.C++.source.cod
f1480 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 70 74 75 72 69 6e 67 20 75 73 e.</li>.........<li>Capturing.us
f14a0 65 72 2d 63 6f 6e 66 69 67 75 72 65 64 20 6f 70 74 69 6f 6e 73 20 61 6e 64 20 75 73 69 6e 67 20 er-configured.options.and.using.
f14c0 74 68 6f 73 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20 63 6f 6e 66 69 67 75 72 65 0a 20 20 20 20 20 those.options.to.configure......
f14e0 20 20 20 20 20 74 68 65 20 62 75 69 6c 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 .....the.build.</li>.........<li
f1500 3e 53 75 72 66 61 63 69 6e 67 20 62 75 69 6c 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 61 >Surfacing.build.configuration.a
f1520 73 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f s.<a.href="#comptime">comptime</
f1540 61 3e 20 76 61 6c 75 65 73 20 62 79 20 70 72 6f 76 69 64 69 6e 67 20 61 0a 20 20 20 20 20 20 20 a>.values.by.providing.a........
f1560 20 20 20 66 69 6c 65 20 74 68 61 74 20 63 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 69 6d ...file.that.can.be.<a.href="#im
f1580 70 6f 72 74 22 3e 69 6d 70 6f 72 74 65 64 3c 2f 61 3e 20 62 79 20 5a 69 67 20 63 6f 64 65 2e 3c port">imported</a>.by.Zig.code.<
f15a0 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 63 68 69 6e 67 20 62 75 69 6c 64 20 61 /li>.........<li>Caching.build.a
f15c0 72 74 69 66 61 63 74 73 20 74 6f 20 61 76 6f 69 64 20 75 6e 6e 65 63 65 73 73 61 72 69 6c 79 20 rtifacts.to.avoid.unnecessarily.
f15e0 72 65 70 65 61 74 69 6e 67 20 73 74 65 70 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c repeating.steps.</li>.........<l
f1600 69 3e 45 78 65 63 75 74 69 6e 67 20 62 75 69 6c 64 20 61 72 74 69 66 61 63 74 73 20 6f 72 20 73 i>Executing.build.artifacts.or.s
f1620 79 73 74 65 6d 2d 69 6e 73 74 61 6c 6c 65 64 20 74 6f 6f 6c 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 ystem-installed.tools.</li>.....
f1640 20 20 20 20 3c 6c 69 3e 52 75 6e 6e 69 6e 67 20 74 65 73 74 73 20 61 6e 64 20 76 65 72 69 66 79 ....<li>Running.tests.and.verify
f1660 69 6e 67 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66 20 65 78 65 63 75 74 69 6e 67 20 61 20 62 75 ing.the.output.of.executing.a.bu
f1680 69 6c 64 20 61 72 74 69 66 61 63 74 20 6d 61 74 63 68 65 73 0a 20 20 20 20 20 20 20 20 74 68 65 ild.artifact.matches.........the
f16a0 20 65 78 70 65 63 74 65 64 20 76 61 6c 75 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c .expected.value.</li>.........<l
f16c0 69 3e 52 75 6e 6e 69 6e 67 20 3c 63 6f 64 65 3e 7a 69 67 20 66 6d 74 3c 2f 63 6f 64 65 3e 20 6f i>Running.<code>zig.fmt</code>.o
f16e0 6e 20 61 20 63 6f 64 65 62 61 73 65 20 6f 72 20 61 20 73 75 62 73 65 74 20 6f 66 20 69 74 2e 3c n.a.codebase.or.a.subset.of.it.<
f1700 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 75 73 74 6f 6d 20 74 61 73 6b 73 2e 3c 2f /li>.........<li>Custom.tasks.</
f1720 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>.......
f1740 54 6f 20 75 73 65 20 74 68 65 20 62 75 69 6c 64 20 73 79 73 74 65 6d 2c 20 72 75 6e 20 3c 6b 62 To.use.the.build.system,.run.<kb
f1760 64 3e 7a 69 67 20 62 75 69 6c 64 20 2d 2d 68 65 6c 70 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 20 74 d>zig.build.--help</kbd>.......t
f1780 6f 20 73 65 65 20 61 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 75 73 61 67 65 20 68 65 6c 70 20 o.see.a.command-line.usage.help.
f17a0 6d 65 6e 75 2e 20 54 68 69 73 20 77 69 6c 6c 20 69 6e 63 6c 75 64 65 20 70 72 6f 6a 65 63 74 2d menu..This.will.include.project-
f17c0 73 70 65 63 69 66 69 63 0a 20 20 20 20 20 20 6f 70 74 69 6f 6e 73 20 74 68 61 74 20 77 65 72 65 specific.......options.that.were
f17e0 20 64 65 63 6c 61 72 65 64 20 69 6e 20 74 68 65 20 62 75 69 6c 64 2e 7a 69 67 20 73 63 72 69 70 .declared.in.the.build.zig.scrip
f1800 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 42 75 69 t........</p>........<h3.id="Bui
f1820 6c 64 69 6e 67 2d 61 6e 2d 45 78 65 63 75 74 61 62 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 lding-an-Executable"><a.href="#t
f1840 6f 63 2d 42 75 69 6c 64 69 6e 67 2d 61 6e 2d 45 78 65 63 75 74 61 62 6c 65 22 3e 42 75 69 6c 64 oc-Building-an-Executable">Build
f1860 69 6e 67 20 61 6e 20 45 78 65 63 75 74 61 62 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 ing.an.Executable</a>.<a.class="
f1880 68 64 72 22 20 68 72 65 66 3d 22 23 42 75 69 6c 64 69 6e 67 2d 61 6e 2d 45 78 65 63 75 74 61 62 hdr".href="#Building-an-Executab
f18a0 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 3c le">..</a></h3>........<p>This.<
f18c0 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 6f 64 code.class="file">build.zig</cod
f18e0 65 3e 20 66 69 6c 65 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 e>.file.is.automatically.generat
f1900 65 64 0a 20 20 20 20 20 20 20 20 62 79 20 3c 6b 62 64 3e 7a 69 67 20 69 6e 69 74 2d 65 78 65 3c ed.........by.<kbd>zig.init-exe<
f1920 2f 6b 62 64 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 /kbd>.</p>.......<figure><figcap
f1940 74 69 6f 6e 20 63 6c 61 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
f1960 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 ="file">build.zig</cite></figcap
f1980 74 69 6f 6e 3e 3c 70 72 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
f19a0 65 22 3e 3c 73 70 61 6e 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
f19c0 70 61 6e 3e 20 42 75 69 6c 64 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d pan>.Builder.=.<span.class="tok-
f19e0 62 75 69 6c 74 69 6e 22 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
f1a00 61 73 73 3d 22 74 6f 6b 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
f1a20 70 61 6e 3e 29 2e 62 75 69 6c 64 2e 42 75 69 6c 64 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 pan>).build.Builder;</span>.<spa
f1a40 6e 20 63 6c 61 73 73 3d 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
f1a60 73 73 3d 22 6c 69 6e 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
f1a80 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
f1aa0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 75 n</span>.<span.class="tok-fn">bu
f1ac0 69 6c 64 3c 2f 73 70 61 6e 3e 28 62 3a 20 2a 42 75 69 6c 64 65 72 29 20 3c 73 70 61 6e 20 63 6c ild</span>(b:.*Builder).<span.cl
f1ae0 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
f1b00 61 6e 3e 0a 3c 73 70 61 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
f1b20 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 61 6e 64 61 72 64 .class="tok-comment">//.Standard
f1b40 20 74 61 72 67 65 74 20 6f 70 74 69 6f 6e 73 20 61 6c 6c 6f 77 73 20 74 68 65 20 70 65 72 73 6f .target.options.allows.the.perso
f1b60 6e 20 72 75 6e 6e 69 6e 67 20 60 7a 69 67 20 62 75 69 6c 64 60 20 74 6f 20 63 68 6f 6f 73 65 3c n.running.`zig.build`.to.choose<
f1b80 2f 73 70 61 6e 3e 3c 2f 73 70 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"
f1ba0 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">/
f1bc0 2f 20 77 68 61 74 20 74 61 72 67 65 74 20 74 6f 20 62 75 69 6c 64 20 66 6f 72 2e 20 48 65 72 65 /.what.target.to.build.for..Here
f1be0 20 77 65 20 64 6f 20 6e 6f 74 20 6f 76 65 72 72 69 64 65 20 74 68 65 20 64 65 66 61 75 6c 74 73 .we.do.not.override.the.defaults
f1c00 2c 20 77 68 69 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ,.which</span></span>.<span.clas
f1c20 73 3d 22 6c 69 6e 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
f1c40 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 65 61 6e 73 20 61 6e 79 20 74 61 72 67 65 74 20 69 73 20 61 6c mment">//.means.any.target.is.al
f1c60 6c 6f 77 65 64 2c 20 61 6e 64 20 74 68 65 20 64 65 66 61 75 6c 74 20 69 73 20 6e 61 74 69 76 65 lowed,.and.the.default.is.native
f1c80 2e 20 4f 74 68 65 72 20 6f 70 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 ..Other.options</span></span>.<s
f1ca0 70 61 6e 20 63 6c 61 73 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
f1cc0 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 66 6f 72 20 72 65 73 74 72 69 63 74 69 6e ="tok-comment">//.for.restrictin
f1ce0 67 20 73 75 70 70 6f 72 74 65 64 20 74 61 72 67 65 74 20 73 65 74 20 61 72 65 20 61 76 61 69 6c g.supported.target.set.are.avail
f1d00 61 62 6c 65 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d able.</span></span>.<span.class=
f1d20 22 6c 69 6e 65 22 3e 20 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">
f1d40 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 61 72 67 65 74 20 3d 20 62 2e 73 74 61 6e 64 61 72 64 const</span>.target.=.b.standard
f1d60 54 61 72 67 65 74 4f 70 74 69 6f 6e 73 28 2e 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e TargetOptions(.{});</span>.<span
f1d80 20 63 6c 61 73 73 3d 22 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
f1da0 73 3d 22 6c 69 6e 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
f1dc0 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 61 6e 64 61 72 64 20 72 65 6c 65 61 73 65 20 6f 70 74 69 6f mment">//.Standard.release.optio
f1de0 6e 73 20 61 6c 6c 6f 77 20 74 68 65 20 70 65 72 73 6f 6e 20 72 75 6e 6e 69 6e 67 20 60 7a 69 67 ns.allow.the.person.running.`zig
f1e00 20 62 75 69 6c 64 60 20 74 6f 20 73 65 6c 65 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a .build`.to.select</span></span>.
f1e20 3c 73 70 61 6e 20 63 6c 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
f1e40 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 65 74 77 65 65 6e 20 44 65 62 75 ss="tok-comment">//.between.Debu
f1e60 67 2c 20 52 65 6c 65 61 73 65 53 61 66 65 2c 20 52 65 6c 65 61 73 65 46 61 73 74 2c 20 61 6e 64 g,.ReleaseSafe,.ReleaseFast,.and
f1e80 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .ReleaseSmall.</span></span>.<sp
f1ea0 61 6e 20 63 6c 61 73 73 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=
f1ec0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 6f 64 65 20 3d 20 62 2e 73 "tok-kw">const</span>.mode.=.b.s
f1ee0 74 61 6e 64 61 72 64 52 65 6c 65 61 73 65 4f 70 74 69 6f 6e 73 28 29 3b 3c 2f 73 70 61 6e 3e 0a tandardReleaseOptions();</span>.
f1f00 3c 73 70 61 6e 20 63 6c 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
f1f20 20 63 6c 61 73 73 3d 22 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
f1f40 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 65 20 3d 20 62 2e 61 64 64 45 ok-kw">const</span>.exe.=.b.addE
f1f60 78 65 63 75 74 61 62 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e xecutable(<span.class="tok-str">
f1f80 26 71 75 6f 74 3b 65 78 61 6d 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 &quot;example&quot;</span>,.<spa
f1fa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 72 63 2f 6d 61 69 6e n.class="tok-str">&quot;src/main
f1fc0 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .zig&quot;</span>);</span>.<span
f1fe0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 73 65 74 54 61 72 67 65 74 28 .class="line">....exe.setTarget(
f2000 74 61 72 67 65 74 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e target);</span>.<span.class="lin
f2020 65 22 3e 20 20 20 20 65 78 65 2e 73 65 74 42 75 69 6c 64 4d 6f 64 65 28 6d 6f 64 65 29 3b 3c 2f e">....exe.setBuildMode(mode);</
f2040 73 70 61 6e 3e 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
f2060 2e 69 6e 73 74 61 6c 6c 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .install();</span>.<span.class="
f2080 6c 69 6e 65 22 3e 3c 2f 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"
f20a0 3e 20 20 20 20 3c 73 70 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<
f20c0 2f 73 70 61 6e 3e 20 72 75 6e 5f 63 6d 64 20 3d 20 65 78 65 2e 72 75 6e 28 29 3b 3c 2f 73 70 61 /span>.run_cmd.=.exe.run();</spa
f20e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 75 6e 5f 63 6d n>.<span.class="line">....run_cm
f2100 64 2e 73 74 65 70 2e 64 65 70 65 6e 64 4f 6e 28 62 2e 67 65 74 49 6e 73 74 61 6c 6c 53 74 65 70 d.step.dependOn(b.getInstallStep
f2120 28 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ());</span>.<span.class="line">.
f2140 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
f2160 3e 20 28 62 2e 61 72 67 73 29 20 7c 61 72 67 73 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >.(b.args).|args|.{</span>.<span
f2180 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 72 75 6e 5f 63 6d 64 2e 61 64 .class="line">........run_cmd.ad
f21a0 64 41 72 67 73 28 61 72 67 73 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d dArgs(args);</span>.<span.class=
f21c0 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=
f21e0 22 6c 69 6e 65 22 3e 3c 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
f2200 22 3e 20 20 20 20 3c 73 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
f2220 3c 2f 73 70 61 6e 3e 20 72 75 6e 5f 73 74 65 70 20 3d 20 62 2e 73 74 65 70 28 3c 73 70 61 6e 20 </span>.run_step.=.b.step(<span.
f2240 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 75 6e 26 71 75 6f 74 3b 3c class="tok-str">&quot;run&quot;<
f2260 2f 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
f2280 75 6f 74 3b 52 75 6e 20 74 68 65 20 61 70 70 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f uot;Run.the.app&quot;</span>);</
f22a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 75 6e span>.<span.class="line">....run
f22c0 5f 73 74 65 70 2e 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b 72 75 6e 5f 63 6d 64 2e 73 74 65 70 _step.dependOn(&amp;run_cmd.step
f22e0 29 3b 3c 2f 73 70 61 6e 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">}</
f2300 73 70 61 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>.....
f2320 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 42 75 69 6c 64 69 6e 67 2d 61 2d 4c 69 62 ..........<h3.id="Building-a-Lib
f2340 72 61 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 75 69 6c 64 69 6e 67 2d 61 2d 4c rary"><a.href="#toc-Building-a-L
f2360 69 62 72 61 72 79 22 3e 42 75 69 6c 64 69 6e 67 20 61 20 4c 69 62 72 61 72 79 3c 2f 61 3e 20 3c ibrary">Building.a.Library</a>.<
f2380 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 75 69 6c 64 69 6e 67 2d 61 2d a.class="hdr".href="#Building-a-
f23a0 4c 69 62 72 61 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 Library">..</a></h3>........<p>T
f23c0 68 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 his.<code.class="file">build.zig
f23e0 3c 2f 63 6f 64 65 3e 20 66 69 6c 65 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 </code>.file.is.automatically.ge
f2400 6e 65 72 61 74 65 64 0a 20 20 20 20 20 20 20 20 62 79 20 3c 6b 62 64 3e 7a 69 67 20 69 6e 69 74 nerated.........by.<kbd>zig.init
f2420 2d 6c 69 62 3c 2f 6b 62 64 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 -lib</kbd>.</p>.......<figure><f
f2440 69 67 63 61 70 74 69 6f 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.
f2460 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 class="file">build.zig</cite></f
f2480 69 67 63 61 70 74 69 6f 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
f24a0 3d 22 6c 69 6e 65 22 3e 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
f24c0 73 74 3c 2f 73 70 61 6e 3e 20 42 75 69 6c 64 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d st</span>.Builder.=.<span.class=
f24e0 22 74 6f 6b 2d 62 75 69 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
f2500 61 6e 20 63 6c 61 73 73 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
f2520 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 64 2e 42 75 69 6c 64 65 72 3b 3c 2f 73 70 61 6e 3e t;</span>).build.Builder;</span>
f2540 0a 3c 73 70 61 6e 20 63 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
f2560 6e 20 63 6c 61 73 73 3d 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-
f2580 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-
f25a0 6b 77 22 3e 66 6e 3c 2f 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
f25c0 6e 22 3e 62 75 69 6c 64 3c 2f 73 70 61 6e 3e 28 62 3a 20 2a 42 75 69 6c 64 65 72 29 20 3c 73 70 n">build</span>(b:.*Builder).<sp
f25e0 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>.
f2600 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
f2620 3c 73 70 61 6e 20 63 6c 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
f2640 3e 20 6d 6f 64 65 20 3d 20 62 2e 73 74 61 6e 64 61 72 64 52 65 6c 65 61 73 65 4f 70 74 69 6f 6e >.mode.=.b.standardReleaseOption
f2660 73 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 s();</span>.<span.class="line">.
f2680 20 20 20 3c 73 70 61 6e 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
f26a0 70 61 6e 3e 20 6c 69 62 20 3d 20 62 2e 61 64 64 53 74 61 74 69 63 4c 69 62 72 61 72 79 28 3c 73 pan>.lib.=.b.addStaticLibrary(<s
f26c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 61 6d 70 6c pan.class="tok-str">&quot;exampl
f26e0 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b e&quot;</span>,.<span.class="tok
f2700 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 72 63 2f 6d 61 69 6e 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f -str">&quot;src/main.zig&quot;</
f2720 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 span>);</span>.<span.class="line
f2740 22 3e 20 20 20 20 6c 69 62 2e 73 65 74 42 75 69 6c 64 4d 6f 64 65 28 6d 6f 64 65 29 3b 3c 2f 73 ">....lib.setBuildMode(mode);</s
f2760 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6c 69 62 2e pan>.<span.class="line">....lib.
f2780 69 6e 73 74 61 6c 6c 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c install();</span>.<span.class="l
f27a0 69 6e 65 22 3e 3c 2f 73 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">
f27c0 20 20 20 20 3c 73 70 61 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
f27e0 61 6e 3e 20 6d 61 69 6e 5f 74 65 73 74 73 20 3d 20 62 2e 61 64 64 54 65 73 74 28 3c 73 70 61 6e an>.main_tests.=.b.addTest(<span
f2800 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 72 63 2f 6d 61 69 6e 2e .class="tok-str">&quot;src/main.
f2820 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 zig&quot;</span>);</span>.<span.
f2840 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 6d 61 69 6e 5f 74 65 73 74 73 2e 73 65 74 42 class="line">....main_tests.setB
f2860 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
f2880 73 73 3d 22 6c 69 6e 65 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
f28a0 69 6e 65 22 3e 20 20 20 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
f28c0 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 65 73 74 5f 73 74 65 70 20 3d 20 62 2e 73 74 65 70 28 3c 73 nst</span>.test_step.=.b.step(<s
f28e0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 26 71 pan.class="tok-str">&quot;test&q
f2900 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 uot;</span>,.<span.class="tok-st
f2920 72 22 3e 26 71 75 6f 74 3b 52 75 6e 20 6c 69 62 72 61 72 79 20 74 65 73 74 73 26 71 75 6f 74 3b r">&quot;Run.library.tests&quot;
f2940 3c 2f 73 70 61 6e 3e 29 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
f2960 6e 65 22 3e 20 20 20 20 74 65 73 74 5f 73 74 65 70 2e 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b ne">....test_step.dependOn(&amp;
f2980 6d 61 69 6e 5f 74 65 73 74 73 2e 73 74 65 70 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 main_tests.step);</span>.<span.c
f29a0 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
f29c0 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d ></figure>...............<h3.id=
f29e0 22 43 6f 6d 70 69 6c 69 6e 67 2d 43 2d 53 6f 75 72 63 65 2d 43 6f 64 65 22 3e 3c 61 20 68 72 65 "Compiling-C-Source-Code"><a.hre
f2a00 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 69 6c 69 6e 67 2d 43 2d 53 6f 75 72 63 65 2d 43 6f 64 65 22 f="#toc-Compiling-C-Source-Code"
f2a20 3e 43 6f 6d 70 69 6c 69 6e 67 20 43 20 53 6f 75 72 63 65 20 43 6f 64 65 3c 2f 61 3e 20 3c 61 20 >Compiling.C.Source.Code</a>.<a.
f2a40 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 69 6e 67 2d 43 2d 53 class="hdr".href="#Compiling-C-S
f2a60 6f 75 72 63 65 2d 43 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c ource-Code">..</a></h3>........<
f2a80 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 69 62 pre><code><span.class="line">lib
f2aa0 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
f2ac0 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 72 63 2f 6c 69 62 2e 63 26 71 75 6f 74 3b 3c 2f 73 70 61 -str">&quot;src/lib.c&quot;</spa
f2ae0 6e 3e 2c 20 26 61 6d 70 3b 5b 5f 5d 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b n>,.&amp;[_][]<span.class="tok-k
f2b00 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
f2b20 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 -type">u8</span>{</span>.<span.c
f2b40 6c 61 73 73 3d 22 6c 69 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
f2b60 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2d 57 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c -str">&quot;-Wall&quot;</span>,<
f2b80 2f 73 70 61 6e 3e 0a 3c 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
f2ba0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2d 57 65 78 74 72 pan.class="tok-str">&quot;-Wextr
f2bc0 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 a&quot;</span>,</span>.<span.cla
f2be0 73 73 3d 22 6c 69 6e 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
f2c00 74 72 22 3e 26 71 75 6f 74 3b 2d 57 65 72 72 6f 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 3c tr">&quot;-Werror&quot;</span>,<
f2c20 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 29 3b 3c 2f 73 /span>.<span.class="line">});</s
f2c40 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 pan></code></pre>...............
f2c60 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d .......<h2.id="C"><a.href="#toc-
f2c80 43 22 3e 43 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 C">C</a>.<a.class="hdr".href="#C
f2ca0 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 ">..</a></h2>........<p>.......A
f2cc0 6c 74 68 6f 75 67 68 20 5a 69 67 20 69 73 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 6f 66 20 43 2c lthough.Zig.is.independent.of.C,
f2ce0 20 61 6e 64 2c 20 75 6e 6c 69 6b 65 20 6d 6f 73 74 20 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 .and,.unlike.most.other.language
f2d00 73 2c 20 64 6f 65 73 20 6e 6f 74 20 64 65 70 65 6e 64 20 6f 6e 20 6c 69 62 63 2c 0a 20 20 20 20 s,.does.not.depend.on.libc,.....
f2d20 20 20 5a 69 67 20 61 63 6b 6e 6f 77 6c 65 64 67 65 73 20 74 68 65 20 69 6d 70 6f 72 74 61 6e 63 ..Zig.acknowledges.the.importanc
f2d40 65 20 6f 66 20 69 6e 74 65 72 61 63 74 69 6e 67 20 77 69 74 68 20 65 78 69 73 74 69 6e 67 20 43 e.of.interacting.with.existing.C
f2d60 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 .code........</p>.......<p>.....
f2d80 20 20 54 68 65 72 65 20 61 72 65 20 61 20 66 65 77 20 77 61 79 73 20 74 68 61 74 20 5a 69 67 20 ..There.are.a.few.ways.that.Zig.
f2da0 66 61 63 69 6c 69 74 61 74 65 73 20 43 20 69 6e 74 65 72 6f 70 2e 0a 20 20 20 20 20 20 3c 2f 70 facilitates.C.interop........</p
f2dc0 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 >.......<h3.id="C-Type-Primitive
f2de0 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 s"><a.href="#toc-C-Type-Primitiv
f2e00 65 73 22 3e 43 20 54 79 70 65 20 50 72 69 6d 69 74 69 76 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 es">C.Type.Primitives</a>.<a.cla
f2e20 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 ss="hdr".href="#C-Type-Primitive
f2e40 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 s">..</a></h3>........<p>.......
f2e60 54 68 65 73 65 20 68 61 76 65 20 67 75 61 72 61 6e 74 65 65 64 20 43 20 41 42 49 20 63 6f 6d 70 These.have.guaranteed.C.ABI.comp
f2e80 61 74 69 62 69 6c 69 74 79 20 61 6e 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 6c 69 6b 65 20 61 atibility.and.can.be.used.like.a
f2ea0 6e 79 20 6f 74 68 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 ny.other.type........</p>.......
f2ec0 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
f2ee0 6c 61 73 73 3d 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
f2f00 65 22 3e 63 5f 73 68 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c e">c_short</span></span></code><
f2f20 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
f2f40 6c 61 73 73 3d 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
f2f60 65 22 3e 63 5f 75 73 68 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e e">c_ushort</span></span></code>
f2f80 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 </li>...........<li><code><span.
f2fa0 63 6c 61 73 73 3d 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
f2fc0 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f pe">c_int</span></span></code></
f2fe0 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
f3000 61 73 73 3d 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
f3020 22 3e 63 5f 75 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c ">c_uint</span></span></code></l
f3040 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
f3060 73 73 3d 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"
f3080 3e 63 5f 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 >c_long</span></span></code></li
f30a0 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
f30c0 73 3d 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">
f30e0 63 5f 75 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 c_ulong</span></span></code></li
f3100 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
f3120 73 3d 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">
f3140 63 5f 6c 6f 6e 67 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c c_longlong</span></span></code><
f3160 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
f3180 6c 61 73 73 3d 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
f31a0 65 22 3e 63 5f 75 6c 6f 6e 67 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f e">c_ulonglong</span></span></co
f31c0 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 3e 3c 73 70 de></li>...........<li><code><sp
f31e0 61 6e 20 63 6c 61 73 73 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
f3200 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e -type">c_longdouble</span></span
f3220 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 ></code></li>.......</ul>.......
f3240 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 69 6e 74 65 72 6f 70 20 77 69 74 68 20 74 68 65 20 43 20 <p>.......To.interop.with.the.C.
f3260 3c 63 6f 64 65 3e 3c 73 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
f3280 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 lass="tok-type">void</span></spa
f32a0 6e 3e 3c 2f 63 6f 64 65 3e 20 74 79 70 65 2c 20 75 73 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 n></code>.type,.use.<code><span.
f32c0 63 6c 61 73 73 3d 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
f32e0 70 65 22 3e 61 6e 79 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 pe">anyopaque</span></span></cod
f3300 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
f3320 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 :</p><ul>.<li><a.href="#Primitiv
f3340 65 2d 54 79 70 65 73 22 3e 50 72 69 6d 69 74 69 76 65 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 e-Types">Primitive.Types</a></li
f3360 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6d >.</ul>...............<h3.id="Im
f3380 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 3c 61 20 68 72 65 66 port-from-C-Header-File"><a.href
f33a0 3d 22 23 74 6f 63 2d 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 ="#toc-Import-from-C-Header-File
f33c0 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 20 ">Import.from.C.Header.File</a>.
f33e0 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f <a.class="hdr".href="#Import-fro
f3400 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 m-C-Header-File">..</a></h3>....
f3420 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c ....<p>.......The.<code><span.cl
f3440 61 73 73 3d 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
f3460 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
f3480 65 3e 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 0a e>.builtin.function.can.be.used.
f34a0 20 20 20 20 20 20 74 6f 20 64 69 72 65 63 74 6c 79 20 69 6d 70 6f 72 74 20 73 79 6d 62 6f 6c 73 ......to.directly.import.symbols
f34c0 20 66 72 6f 6d 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 2e 68 3c 2f 63 6f 64 .from.<code.class="file">.h</cod
f34e0 65 3e 20 66 69 6c 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 e>.files:.......</p>.......<figu
f3500 72 65 3e 3c 66 69 67 63 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"><
f3520 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
f3540 3e 3c 2f 66 69 67 63 61 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
f3560 6c 61 73 73 3d 22 6c 69 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"
f3580 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >const</span>.c.=.<span.class="t
f35a0 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 3c 2f 73 ok-builtin">@cImport</span>({</s
f35c0 70 61 6e 3e 0a 3c 73 70 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
f35e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 65 65 20 68 74 74 n.class="tok-comment">//.See.htt
f3600 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
f3620 65 73 2f 35 31 35 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 es/515</span></span>.<span.class
f3640 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 ="line">....<span.class="tok-bui
f3660 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
f3680 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 4e 4f 5f 43 52 54 5f 53 54 44 49 4f 5f s="tok-str">&quot;_NO_CRT_STDIO_
f36a0 49 4e 4c 49 4e 45 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 INLINE&quot;</span>,.<span.class
f36c0 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 ="tok-str">&quot;1&quot;</span>)
f36e0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
f3700 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c <span.class="tok-builtin">@cIncl
f3720 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 ude</span>(<span.class="tok-str"
f3740 3e 26 71 75 6f 74 3b 73 74 64 69 6f 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 >&quot;stdio.h&quot;</span>);</s
f3760 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 29 3b 3c 2f 73 70 61 pan>.<span.class="line">});</spa
f3780 6e 3e 0a 3c 73 70 61 6e 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
f37a0 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
f37c0 73 3d 22 74 6f 6b 2d 6b 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
f37e0 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
f3800 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
f3820 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 63 an>.<span.class="line">...._.=.c
f3840 2e 70 72 69 6e 74 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 .printf(<span.class="tok-str">&q
f3860 75 6f 74 3b 68 65 6c 6c 6f 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e uot;hello\n&quot;</span>);</span
f3880 3e 0a 3c 73 70 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
f38a0 6f 64 65 3e 3c 2f 70 72 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
f38c0 61 70 74 69 6f 6e 20 63 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</
f38e0 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
f3900 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
f3920 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
f3940 61 73 73 3d 22 6c 69 6e 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="
f3960 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>
f3980 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 6c 6c 6f 3c 2f 73 70 61 6e 3e .<span.class="line">hello</span>
f39a0 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
f39c0 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >.......The.<code><span.class="l
f39e0 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">@
f3a00 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e cImport</span></span></code>.fun
f3a20 63 74 69 6f 6e 20 74 61 6b 65 73 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 61 73 20 61 20 70 ction.takes.an.expression.as.a.p
f3a40 61 72 61 6d 65 74 65 72 2e 0a 20 20 20 20 20 20 54 68 69 73 20 65 78 70 72 65 73 73 69 6f 6e 20 arameter........This.expression.
f3a60 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 6e 64 is.evaluated.at.compile-time.and
f3a80 20 69 73 20 75 73 65 64 20 74 6f 20 63 6f 6e 74 72 6f 6c 0a 20 20 20 20 20 20 70 72 65 70 72 6f .is.used.to.control.......prepro
f3aa0 63 65 73 73 6f 72 20 64 69 72 65 63 74 69 76 65 73 20 61 6e 64 20 69 6e 63 6c 75 64 65 20 6d 75 cessor.directives.and.include.mu
f3ac0 6c 74 69 70 6c 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 2e 68 3c 2f 63 6f ltiple.<code.class="file">.h</co
f3ae0 64 65 3e 20 66 69 6c 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 de>.files:.......</p>.......<fig
f3b00 75 72 65 3e 3c 66 69 67 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">
f3b20 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 40 63 49 6d 70 6f 72 74 20 45 78 70 72 <cite.class="file">@cImport.Expr
f3b40 65 73 73 69 6f 6e 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c ession</cite></figcaption><pre><
f3b60 63 6f 64 65 3e 3c 73 70 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
f3b80 61 73 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
f3ba0 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
f3bc0 6d 70 6f 72 74 3c 2f 73 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
f3be0 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>);<
f3c00 2f 73 70 61 6e 3e 0a 3c 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
f3c20 3e 0a 3c 73 70 61 6e 20 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
f3c40 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 61 6e ="tok-kw">const</span>.c.=.<span
f3c60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 .class="tok-builtin">@cImport</s
f3c80 70 61 6e 3e 28 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 pan>({</span>.<span.class="line"
f3ca0 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">@
f3cc0 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d cDefine</span>(<span.class="tok-
f3ce0 73 74 72 22 3e 26 71 75 6f 74 3b 4e 44 45 42 55 47 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 str">&quot;NDEBUG&quot;</span>,.
f3d00 62 75 69 6c 74 69 6e 2e 6d 6f 64 65 20 3d 3d 20 2e 52 65 6c 65 61 73 65 46 61 73 74 29 3b 3c 2f builtin.mode.==..ReleaseFast);</
f3d20 73 70 61 6e 3e 0a 3c 73 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
f3d40 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 6f 6d an.class="tok-kw">if</span>.(som
f3d60 65 74 68 69 6e 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ething).{</span>.<span.class="li
f3d80 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
f3da0 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
f3dc0 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
f3de0 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ot;</span>,.{});</span>.<span.cl
f3e00 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
f3e20 61 73 73 3d 22 6c 69 6e 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-
f3e40 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 builtin">@cInclude</span>(<span.
f3e60 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 6c 69 62 2e 68 26 71 class="tok-str">&quot;stdlib.h&q
f3e80 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
f3ea0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 ="line">....<span.class="tok-kw"
f3ec0 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 6f 6d 65 74 68 69 6e 67 29 20 7b 3c 2f 73 70 61 6e 3e 0a >if</span>.(something).{</span>.
f3ee0 3c 73 70 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
f3f00 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 55 6e 64 65 66 3c 2f 73 70 .class="tok-builtin">@cUndef</sp
f3f20 61 6e 3e 28 3c 73 70 61 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;
f3f40 5f 47 4e 55 5f 53 4f 55 52 43 45 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e _GNU_SOURCE&quot;</span>);</span
f3f60 3e 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
f3f80 3e 0a 3c 73 70 61 6e 20 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
f3fa0 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 lass="tok-builtin">@cInclude</sp
f3fc0 61 6e 3e 28 3c 73 70 61 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;
f3fe0 73 6f 75 6e 64 69 6f 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a soundio.h&quot;</span>);</span>.
f4000 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 <span.class="line">});</span></c
f4020 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 ode></pre></figure>.......<p>See
f4040 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d .also:</p><ul>.<li><a.href="#cIm
f4060 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 port">@cImport</a></li>.<li><a.h
f4080 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c ref="#cInclude">@cInclude</a></l
f40a0 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 i>.<li><a.href="#cDefine">@cDefi
f40c0 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 ne</a></li>.<li><a.href="#cUndef
f40e0 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 ">@cUndef</a></li>.<li><a.href="
f4100 23 69 6d 70 6f 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a #import">@import</a></li>.</ul>.
f4120 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 54 72 61 6e 73 6c 61 ...............<h3.id="C-Transla
f4140 74 69 6f 6e 2d 43 4c 49 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d 54 72 61 6e 73 6c tion-CLI"><a.href="#toc-C-Transl
f4160 61 74 69 6f 6e 2d 43 4c 49 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 4c 49 3c 2f 61 3e ation-CLI">C.Translation.CLI</a>
f4180 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 54 72 61 6e 73 6c 61 .<a.class="hdr".href="#C-Transla
f41a0 74 69 6f 6e 2d 43 4c 49 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 5a 69 67 tion-CLI">..</a></h3>........Zig
f41c0 27 73 20 43 20 74 72 61 6e 73 6c 61 74 69 6f 6e 20 63 61 70 61 62 69 6c 69 74 79 20 69 73 20 61 's.C.translation.capability.is.a
f41e0 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 43 4c 49 20 74 6f 6f 6c 20 76 69 61 20 3c 6b 62 64 3e vailable.as.a.CLI.tool.via.<kbd>
f4200 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 2e 0a 20 20 20 20 20 20 49 74 20 zig.translate-c</kbd>........It.
f4220 72 65 71 75 69 72 65 73 20 61 20 73 69 6e 67 6c 65 20 66 69 6c 65 6e 61 6d 65 20 61 73 20 61 6e requires.a.single.filename.as.an
f4240 20 61 72 67 75 6d 65 6e 74 2e 20 49 74 20 6d 61 79 20 61 6c 73 6f 20 74 61 6b 65 20 61 20 73 65 .argument..It.may.also.take.a.se
f4260 74 20 6f 66 20 6f 70 74 69 6f 6e 61 6c 20 66 6c 61 67 73 20 74 68 61 74 20 61 72 65 0a 20 20 20 t.of.optional.flags.that.are....
f4280 20 20 20 66 6f 72 77 61 72 64 65 64 20 74 6f 20 63 6c 61 6e 67 2e 20 49 74 20 77 72 69 74 65 73 ...forwarded.to.clang..It.writes
f42a0 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 66 69 6c 65 20 74 6f 20 73 74 64 6f 75 74 2e 0a .the.translated.file.to.stdout..
f42c0 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 67 73 ......<h4.id="Command-line-flags
f42e0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c 61 "><a.href="#toc-Command-line-fla
f4300 67 73 22 3e 43 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 66 6c 61 67 73 3c 2f 61 3e 20 3c 61 20 63 6c gs">Command.line.flags</a>.<a.cl
f4320 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 2d 66 6c ass="hdr".href="#Command-line-fl
f4340 61 67 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 ags">..</a></h4>........<ul>....
f4360 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 49 3c 2f 6b 62 64 .....<li>...........<kbd>-I</kbd
f4380 3e 3a 0a 20 20 20 20 20 20 20 20 20 20 53 70 65 63 69 66 79 20 61 20 73 65 61 72 63 68 20 64 69 >:...........Specify.a.search.di
f43a0 72 65 63 74 6f 72 79 20 66 6f 72 20 69 6e 63 6c 75 64 65 20 66 69 6c 65 73 2e 20 4d 61 79 20 62 rectory.for.include.files..May.b
f43c0 65 20 75 73 65 64 20 6d 75 6c 74 69 70 6c 65 20 74 69 6d 65 73 2e 20 45 71 75 69 76 61 6c 65 6e e.used.multiple.times..Equivalen
f43e0 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f t.to...........<a.href="https://
f4400 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 32 2e 30 2e 30 2f 74 6f 6f 6c 73 2f 63 releases.llvm.org/12.0.0/tools/c
f4420 6c 61 6e 67 2f 64 6f 63 73 2f 43 6c 61 6e 67 43 6f 6d 6d 61 6e 64 4c 69 6e 65 52 65 66 65 72 65 lang/docs/ClangCommandLineRefere
f4440 6e 63 65 2e 68 74 6d 6c 23 63 6d 64 6f 70 74 69 6f 6e 2d 63 6c 61 6e 67 2d 69 2d 64 69 72 22 3e nce.html#cmdoption-clang-i-dir">
f4460 0a 20 20 20 20 20 20 20 20 20 20 63 6c 61 6e 67 27 73 20 3c 6b 62 64 3e 2d 49 3c 2f 6b 62 64 3e ...........clang's.<kbd>-I</kbd>
f4480 20 66 6c 61 67 3c 2f 61 3e 2e 20 54 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 .flag</a>..The.current.directory
f44a0 20 69 73 20 3c 65 6d 3e 6e 6f 74 3c 2f 65 6d 3e 20 69 6e 63 6c 75 64 65 64 20 62 79 20 64 65 66 .is.<em>not</em>.included.by.def
f44c0 61 75 6c 74 3b 0a 20 20 20 20 20 20 20 20 20 20 75 73 65 20 3c 6b 62 64 3e 2d 49 2e 3c 2f 6b 62 ault;...........use.<kbd>-I.</kb
f44e0 64 3e 20 74 6f 20 69 6e 63 6c 75 64 65 20 69 74 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a d>.to.include.it..........</li>.
f4500 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6b 62 64 3e 2d 44 3c 2f ........<li>...........<kbd>-D</
f4520 6b 62 64 3e 3a 20 44 65 66 69 6e 65 20 61 20 70 72 65 70 72 6f 63 65 73 73 6f 72 20 6d 61 63 72 kbd>:.Define.a.preprocessor.macr
f4540 6f 2e 20 45 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 o..Equivalent.to...........<a.hr
f4560 65 66 3d 22 68 74 74 70 73 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 32 ef="https://releases.llvm.org/12
f4580 2e 30 2e 30 2f 74 6f 6f 6c 73 2f 63 6c 61 6e 67 2f 64 6f 63 73 2f 43 6c 61 6e 67 43 6f 6d 6d 61 .0.0/tools/clang/docs/ClangComma
f45a0 6e 64 4c 69 6e 65 52 65 66 65 72 65 6e 63 65 2e 68 74 6d 6c 23 63 6d 64 6f 70 74 69 6f 6e 2d 63 ndLineReference.html#cmdoption-c
f45c0 6c 61 6e 67 2d 64 2d 6d 61 63 72 6f 22 3e 0a 20 20 20 20 20 20 20 20 20 20 63 6c 61 6e 67 27 73 lang-d-macro">...........clang's
f45e0 20 3c 6b 62 64 3e 2d 44 3c 2f 6b 62 64 3e 20 66 6c 61 67 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 .<kbd>-D</kbd>.flag</a>.........
f4600 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6b .</li>.........<li>...........<k
f4620 62 64 3e 2d 63 66 6c 61 67 73 20 5b 66 6c 61 67 73 5d 20 2d 2d 3c 2f 6b 62 64 3e 3a 20 50 61 73 bd>-cflags.[flags].--</kbd>:.Pas
f4640 73 20 61 72 62 69 74 72 61 72 79 20 61 64 64 69 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 s.arbitrary.additional..........
f4660 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.
f4680 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
f46a0 67 43 6f 6d 6d 61 6e 64 4c 69 6e 65 52 65 66 65 72 65 6e 63 65 2e 68 74 6d 6c 22 3e 63 6f 6d 6d gCommandLineReference.html">comm
f46c0 61 6e 64 20 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 66 6c 61 67 73 3c 2f 61 3e 20 74 6f 20 and.line...........flags</a>.to.
f46e0 63 6c 61 6e 67 2e 20 4e 6f 74 65 3a 20 74 68 65 20 6c 69 73 74 20 6f 66 20 66 6c 61 67 73 20 6d clang..Note:.the.list.of.flags.m
f4700 75 73 74 20 65 6e 64 20 77 69 74 68 20 3c 6b 62 64 3e 2d 2d 3c 2f 6b 62 64 3e 0a 20 20 20 20 20 ust.end.with.<kbd>--</kbd>......
f4720 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 ...</li>.........<li>...........
f4740 3c 6b 62 64 3e 2d 74 61 72 67 65 74 3c 2f 6b 62 64 3e 3a 20 54 68 65 20 3c 61 20 68 72 65 66 3d <kbd>-target</kbd>:.The.<a.href=
f4760 22 23 54 61 72 67 65 74 73 22 3e 74 61 72 67 65 74 20 74 72 69 70 6c 65 3c 2f 61 3e 20 66 6f 72 "#Targets">target.triple</a>.for
f4780 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 5a 69 67 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 .the.translated.Zig.code........
f47a0 20 20 20 20 49 66 20 6e 6f 20 74 61 72 67 65 74 20 69 73 20 73 70 65 63 69 66 69 65 64 2c 20 74 ....If.no.target.is.specified,.t
f47c0 68 65 20 63 75 72 72 65 6e 74 20 68 6f 73 74 20 74 61 72 67 65 74 20 77 69 6c 6c 20 62 65 20 75 he.current.host.target.will.be.u
f47e0 73 65 64 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 sed..........</li>.......</ul>..
f4800 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 55 73 69 6e 67 2d 2d 74 61 72 67 65 ............<h4.id="Using--targe
f4820 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 55 73 69 t-and--cflags"><a.href="#toc-Usi
f4840 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 6c 61 67 73 22 3e 55 73 69 6e 67 20 2d 74 ng--target-and--cflags">Using.-t
f4860 61 72 67 65 74 20 61 6e 64 20 2d 63 66 6c 61 67 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 arget.and.-cflags</a>.<a.class="
f4880 68 64 72 22 20 68 72 65 66 3d 22 23 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 hdr".href="#Using--target-and--c
f48a0 66 6c 61 67 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 flags">..</a></h4>........<p>...
f48c0 20 20 20 20 20 20 3c 73 74 72 6f 6e 67 3e 49 6d 70 6f 72 74 61 6e 74 21 3c 2f 73 74 72 6f 6e 67 ......<strong>Important!</strong
f48e0 3e 20 57 68 65 6e 20 74 72 61 6e 73 6c 61 74 69 6e 67 20 43 20 63 6f 64 65 20 77 69 74 68 20 3c >.When.translating.C.code.with.<
f4900 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 2c 0a 20 20 20 20 20 kbd>zig.translate-c</kbd>,......
f4920 20 20 20 79 6f 75 20 3c 73 74 72 6f 6e 67 3e 6d 75 73 74 3c 2f 73 74 72 6f 6e 67 3e 20 75 73 65 ...you.<strong>must</strong>.use
f4940 20 74 68 65 20 73 61 6d 65 20 3c 6b 62 64 3e 2d 74 61 72 67 65 74 3c 2f 6b 62 64 3e 20 74 72 69 .the.same.<kbd>-target</kbd>.tri
f4960 70 6c 65 20 74 68 61 74 20 79 6f 75 20 77 69 6c 6c 20 75 73 65 20 77 68 65 6e 20 63 6f 6d 70 69 ple.that.you.will.use.when.compi
f4980 6c 69 6e 67 0a 20 20 20 20 20 20 20 20 74 68 65 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f 64 65 ling.........the.translated.code
f49a0 2e 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 79 6f 75 20 3c 73 74 72 6f 6e 67 3e 6d 75 73 74 3c ..In.addition,.you.<strong>must<
f49c0 2f 73 74 72 6f 6e 67 3e 20 65 6e 73 75 72 65 20 74 68 61 74 20 74 68 65 20 3c 6b 62 64 3e 2d 63 /strong>.ensure.that.the.<kbd>-c
f49e0 66 6c 61 67 73 3c 2f 6b 62 64 3e 20 75 73 65 64 2c 0a 20 20 20 20 20 20 20 20 69 66 20 61 6e 79 flags</kbd>.used,.........if.any
f4a00 2c 20 6d 61 74 63 68 20 74 68 65 20 63 66 6c 61 67 73 20 75 73 65 64 20 62 79 20 63 6f 64 65 20 ,.match.the.cflags.used.by.code.
f4a20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 73 79 73 74 65 6d 2e 20 55 73 69 6e 67 20 74 68 65 20 on.the.target.system..Using.the.
f4a40 69 6e 63 6f 72 72 65 63 74 20 3c 6b 62 64 3e 2d 74 61 72 67 65 74 3c 2f 6b 62 64 3e 0a 20 20 20 incorrect.<kbd>-target</kbd>....
f4a60 20 20 20 20 20 6f 72 20 3c 6b 62 64 3e 2d 63 66 6c 61 67 73 3c 2f 6b 62 64 3e 20 63 6f 75 6c 64 .....or.<kbd>-cflags</kbd>.could
f4a80 20 72 65 73 75 6c 74 20 69 6e 20 63 6c 61 6e 67 20 6f 72 20 5a 69 67 20 70 61 72 73 65 20 66 61 .result.in.clang.or.Zig.parse.fa
f4aa0 69 6c 75 72 65 73 2c 20 6f 72 20 73 75 62 74 6c 65 20 41 42 49 20 69 6e 63 6f 6d 70 61 74 69 62 ilures,.or.subtle.ABI.incompatib
f4ac0 69 6c 69 74 69 65 73 0a 20 20 20 20 20 20 20 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 77 69 74 ilities.........when.linking.wit
f4ae0 68 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 h.C.code........</p>.......<figu
f4b00 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 re><figcaption.class="c-cap"><ci
f4b20 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 72 79 74 61 72 67 65 74 2e 68 3c 2f 63 69 te.class="file">varytarget.h</ci
f4b40 74 65 3e 3c 2f 66 69 67 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
f4b60 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 6f 6e 67 20 46 4f 4f 20 3d 20 5f 5f 4c 4f 4e 47 5f .class="line">long.FOO.=.__LONG_
f4b80 4d 41 58 5f 5f 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 MAX__;</span></code></pre></figu
f4ba0 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c re>.......<figure><figcaption.cl
f4bc0 61 73 73 3d 22 73 68 65 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
f4be0 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">
f4c00 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 20 2d 74 61 72 67 65 74 20 3c $.<kbd>zig.translate-c.-target.<
f4c20 65 6d 3e 74 68 75 6d 62 2d 66 72 65 65 73 74 61 6e 64 69 6e 67 2d 67 6e 75 65 61 62 69 68 66 3c em>thumb-freestanding-gnueabihf<
f4c40 2f 65 6d 3e 20 76 61 72 79 74 61 72 67 65 74 2e 68 7c 67 72 65 70 20 46 4f 4f 3c 2f 6b 62 64 3e /em>.varytarget.h|grep.FOO</kbd>
f4c60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 75 62 20 65 </span>.<span.class="line">pub.e
f4c80 78 70 6f 72 74 20 76 61 72 20 46 4f 4f 3a 20 63 5f 6c 6f 6e 67 20 3d 20 3c 65 6d 3e 32 31 34 37 xport.var.FOO:.c_long.=.<em>2147
f4ca0 34 38 33 36 34 37 3c 2f 65 6d 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 483647</em>;</span>.<span.class=
f4cc0 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 20 2d 74 "line">$.<kbd>zig.translate-c.-t
f4ce0 61 72 67 65 74 20 3c 65 6d 3e 78 38 36 5f 36 34 2d 6d 61 63 6f 73 2d 67 6e 75 3c 2f 65 6d 3e 20 arget.<em>x86_64-macos-gnu</em>.
f4d00 76 61 72 79 74 61 72 67 65 74 2e 68 7c 67 72 65 70 20 46 4f 4f 3c 2f 6b 62 64 3e 3c 2f 73 70 61 varytarget.h|grep.FOO</kbd></spa
f4d20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 75 62 20 65 78 70 6f 72 74 n>.<span.class="line">pub.export
f4d40 20 76 61 72 20 46 4f 4f 3a 20 63 5f 6c 6f 6e 67 20 3d 20 3c 65 6d 3e 39 32 32 33 33 37 32 30 33 .var.FOO:.c_long.=.<em>922337203
f4d60 36 38 35 34 37 37 35 38 30 37 3c 2f 65 6d 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 6854775807</em>;</span>.</samp><
f4d80 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
f4da0 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
f4dc0 73 73 3d 22 66 69 6c 65 22 3e 76 61 72 79 63 66 6c 61 67 73 2e 68 3c 2f 63 69 74 65 3e 3c 2f 66 ss="file">varycflags.h</cite></f
f4de0 69 67 63 61 70 74 69 6f 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
f4e00 3d 22 6c 69 6e 65 22 3e 65 6e 75 6d 20 46 4f 4f 20 7b 20 42 41 52 20 7d 3b 3c 2f 73 70 61 6e 3e ="line">enum.FOO.{.BAR.};</span>
f4e20 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 69 6e 74 20 64 6f 5f 73 6f 6d 65 74 .<span.class="line">int.do_somet
f4e40 68 69 6e 67 28 65 6e 75 6d 20 46 4f 4f 20 66 6f 6f 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 hing(enum.FOO.foo);</span></code
f4e60 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><
f4e80 66 69 67 63 61 70 74 69 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
f4ea0 6c 6c 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.
f4ec0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 class="line">$.<kbd>zig.translat
f4ee0 65 2d 63 20 76 61 72 79 63 66 6c 61 67 73 2e 68 7c 67 72 65 70 20 2d 42 31 20 64 6f 5f 73 6f 6d e-c.varycflags.h|grep.-B1.do_som
f4f00 65 74 68 69 6e 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ething</kbd></span>.<span.class=
f4f20 22 6c 69 6e 65 22 3e 70 75 62 20 63 6f 6e 73 74 20 65 6e 75 6d 5f 46 4f 4f 20 3d 20 3c 65 6d 3e "line">pub.const.enum_FOO.=.<em>
f4f40 63 5f 75 69 6e 74 3c 2f 65 6d 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d c_uint</em>;</span>.<span.class=
f4f60 22 6c 69 6e 65 22 3e 70 75 62 20 65 78 74 65 72 6e 20 66 6e 20 64 6f 5f 73 6f 6d 65 74 68 69 6e "line">pub.extern.fn.do_somethin
f4f80 67 28 66 6f 6f 3a 20 65 6e 75 6d 5f 46 4f 4f 29 20 63 5f 69 6e 74 3b 3c 2f 73 70 61 6e 3e 0a 3c g(foo:.enum_FOO).c_int;</span>.<
f4fa0 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
f4fc0 6e 73 6c 61 74 65 2d 63 20 3c 65 6d 3e 2d 63 66 6c 61 67 73 20 2d 66 73 68 6f 72 74 2d 65 6e 75 nslate-c.<em>-cflags.-fshort-enu
f4fe0 6d 73 20 2d 2d 3c 2f 65 6d 3e 20 76 61 72 79 63 66 6c 61 67 73 2e 68 7c 67 72 65 70 20 2d 42 31 ms.--</em>.varycflags.h|grep.-B1
f5000 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .do_something</kbd></span>.<span
f5020 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 75 62 20 63 6f 6e 73 74 20 65 6e 75 6d 5f 46 4f 4f .class="line">pub.const.enum_FOO
f5040 20 3d 20 3c 65 6d 3e 75 38 3c 2f 65 6d 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .=.<em>u8</em>;</span>.<span.cla
f5060 73 73 3d 22 6c 69 6e 65 22 3e 70 75 62 20 65 78 74 65 72 6e 20 66 6e 20 64 6f 5f 73 6f 6d 65 74 ss="line">pub.extern.fn.do_somet
f5080 68 69 6e 67 28 66 6f 6f 3a 20 65 6e 75 6d 5f 46 4f 4f 29 20 63 5f 69 6e 74 3b 3c 2f 73 70 61 6e hing(foo:.enum_FOO).c_int;</span
f50a0 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>........
f50c0 20 20 20 20 20 20 3c 68 34 20 69 64 3d 22 63 49 6d 70 6f 72 74 2d 76 73 2d 74 72 61 6e 73 6c 61 ......<h4.id="cImport-vs-transla
f50e0 74 65 2d 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 49 6d 70 6f 72 74 2d 76 73 2d 74 te-c"><a.href="#toc-cImport-vs-t
f5100 72 61 6e 73 6c 61 74 65 2d 63 22 3e 40 63 49 6d 70 6f 72 74 20 76 73 20 74 72 61 6e 73 6c 61 74 ranslate-c">@cImport.vs.translat
f5120 65 2d 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 49 e-c</a>.<a.class="hdr".href="#cI
f5140 6d 70 6f 72 74 2d 76 73 2d 74 72 61 6e 73 6c 61 74 65 2d 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 34 mport-vs-translate-c">..</a></h4
f5160 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >........<p><code><span.class="l
f5180 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">@
f51a0 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 cImport</span></span></code>.and
f51c0 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 20 75 73 65 20 .<kbd>zig.translate-c</kbd>.use.
f51e0 74 68 65 20 73 61 6d 65 20 75 6e 64 65 72 6c 79 69 6e 67 0a 20 20 20 20 20 20 43 20 74 72 61 6e the.same.underlying.......C.tran
f5200 73 6c 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2c 20 73 6f 20 6f 6e 20 61 20 74 slation.functionality,.so.on.a.t
f5220 65 63 68 6e 69 63 61 6c 20 6c 65 76 65 6c 20 74 68 65 79 20 61 72 65 20 65 71 75 69 76 61 6c 65 echnical.level.they.are.equivale
f5240 6e 74 2e 20 49 6e 20 70 72 61 63 74 69 63 65 2c 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 nt..In.practice,.......<code><sp
f5260 61 6e 20 63 6c 61 73 73 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
f5280 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>
f52a0 3c 2f 63 6f 64 65 3e 20 69 73 20 75 73 65 66 75 6c 20 61 73 20 61 20 77 61 79 20 74 6f 20 71 75 </code>.is.useful.as.a.way.to.qu
f52c0 69 63 6b 6c 79 20 61 6e 64 20 65 61 73 69 6c 79 20 61 63 63 65 73 73 20 6e 75 6d 65 72 69 63 20 ickly.and.easily.access.numeric.
f52e0 63 6f 6e 73 74 61 6e 74 73 2c 20 74 79 70 65 64 65 66 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 72 constants,.typedefs,.......and.r
f5300 65 63 6f 72 64 20 74 79 70 65 73 20 77 69 74 68 6f 75 74 20 6e 65 65 64 69 6e 67 20 61 6e 79 20 ecord.types.without.needing.any.
f5320 65 78 74 72 61 20 73 65 74 75 70 2e 20 49 66 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 70 61 73 73 extra.setup..If.you.need.to.pass
f5340 20 3c 61 20 68 72 65 66 3d 22 23 55 73 69 6e 67 2d 2d 74 61 72 67 65 74 2d 61 6e 64 2d 2d 63 66 .<a.href="#Using--target-and--cf
f5360 6c 61 67 73 22 3e 63 66 6c 61 67 73 3c 2f 61 3e 0a 20 20 20 20 20 20 74 6f 20 63 6c 61 6e 67 2c lags">cflags</a>.......to.clang,
f5380 20 6f 72 20 69 66 20 79 6f 75 20 77 6f 75 6c 64 20 6c 69 6b 65 20 74 6f 20 65 64 69 74 20 74 68 .or.if.you.would.like.to.edit.th
f53a0 65 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f 64 65 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 e.translated.code,.it.is.recomme
f53c0 6e 64 65 64 20 74 6f 20 75 73 65 0a 20 20 20 20 20 20 3c 6b 62 64 3e 7a 69 67 20 74 72 61 6e 73 nded.to.use.......<kbd>zig.trans
f53e0 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 20 61 6e 64 20 73 61 76 65 20 74 68 65 20 72 65 73 75 6c 74 late-c</kbd>.and.save.the.result
f5400 73 20 74 6f 20 61 20 66 69 6c 65 2e 20 43 6f 6d 6d 6f 6e 20 72 65 61 73 6f 6e 73 20 66 6f 72 20 s.to.a.file..Common.reasons.for.
f5420 65 64 69 74 69 6e 67 0a 20 20 20 20 20 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 editing.......the.generated.code
f5440 20 69 6e 63 6c 75 64 65 3a 20 63 68 61 6e 67 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 .include:.changing.<code><span.c
f5460 6c 61 73 73 3d 22 6c 69 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"
f5480 3e 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 >anytype</span></span></code>.pa
f54a0 72 61 6d 65 74 65 72 73 20 69 6e 20 66 75 6e 63 74 69 6f 6e 2d 6c 69 6b 65 20 6d 61 63 72 6f 73 rameters.in.function-like.macros
f54c0 20 74 6f 20 6d 6f 72 65 0a 20 20 20 20 20 20 73 70 65 63 69 66 69 63 20 74 79 70 65 73 3b 20 63 .to.more.......specific.types;.c
f54e0 68 61 6e 67 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 hanging.<code><span.class="line"
f5500 3e 5b 2a 63 5d 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 6f 69 6e 74 65 72 73 20 74 6f >[*c]T</span></code>.pointers.to
f5520 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 2a 5d 54 3c 2f .<code><span.class="line">[*]T</
f5540 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 span></code>.or.......<code><spa
f5560 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 n.class="line">*T</span></code>.
f5580 70 6f 69 6e 74 65 72 73 20 66 6f 72 20 69 6d 70 72 6f 76 65 64 20 74 79 70 65 20 73 61 66 65 74 pointers.for.improved.type.safet
f55a0 79 3b 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d y;.and.......<a.href="#setRuntim
f55c0 65 53 61 66 65 74 79 22 3e 65 6e 61 62 6c 69 6e 67 20 6f 72 20 64 69 73 61 62 6c 69 6e 67 20 72 eSafety">enabling.or.disabling.r
f55e0 75 6e 74 69 6d 65 20 73 61 66 65 74 79 3c 2f 61 3e 20 77 69 74 68 69 6e 20 73 70 65 63 69 66 69 untime.safety</a>.within.specifi
f5600 63 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 c.functions........</p>.........
f5620 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 .....<p>See.also:</p><ul>.<li><a
f5640 20 68 72 65 66 3d 22 23 54 61 72 67 65 74 73 22 3e 54 61 72 67 65 74 73 3c 2f 61 3e 3c 2f 6c 69 .href="#Targets">Targets</a></li
f5660 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 >.<li><a.href="#C-Type-Primitive
f5680 73 22 3e 43 20 54 79 70 65 20 50 72 69 6d 69 74 69 76 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c s">C.Type.Primitives</a></li>.<l
f56a0 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f i><a.href="#Pointers">Pointers</
f56c0 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 a></li>.<li><a.href="#C-Pointers
f56e0 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 ">C.Pointers</a></li>.<li><a.hre
f5700 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 f="#Import-from-C-Header-File">I
f5720 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 mport.from.C.Header.File</a></li
f5740 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c >.<li><a.href="#cInclude">@cIncl
f5760 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f ude</a></li>.<li><a.href="#cImpo
f5780 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 rt">@cImport</a></li>.<li><a.hre
f57a0 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 40 73 65 74 52 75 6e 74 69 6d f="#setRuntimeSafety">@setRuntim
f57c0 65 53 61 66 65 74 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 eSafety</a></li>.</ul>..........
f57e0 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 61 63 68 69 .....<h3.id="C-Translation-Cachi
f5800 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d ng"><a.href="#toc-C-Translation-
f5820 43 61 63 68 69 6e 67 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 61 63 68 69 6e 67 3c 2f Caching">C.Translation.Caching</
f5840 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 54 72 61 6e 73 a>.<a.class="hdr".href="#C-Trans
f5860 6c 61 74 69 6f 6e 2d 43 61 63 68 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 lation-Caching">..</a></h3>.....
f5880 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 43 20 74 72 61 6e 73 6c 61 74 69 6f 6e ...<p>.........The.C.translation
f58a0 20 66 65 61 74 75 72 65 20 28 77 68 65 74 68 65 72 20 75 73 65 64 20 76 69 61 20 3c 6b 62 64 3e .feature.(whether.used.via.<kbd>
f58c0 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 3c 2f 6b 62 64 3e 20 6f 72 0a 20 20 20 20 20 20 20 zig.translate-c</kbd>.or........
f58e0 20 3c 63 6f 64 65 3e 3c 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.
f5900 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 class="tok-builtin">@cImport</sp
f5920 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 69 6e 74 65 67 72 61 74 65 73 20 77 69 an></span></code>).integrates.wi
f5940 74 68 20 74 68 65 20 5a 69 67 20 63 61 63 68 69 6e 67 20 73 79 73 74 65 6d 2e 20 53 75 62 73 65 th.the.Zig.caching.system..Subse
f5960 71 75 65 6e 74 20 72 75 6e 73 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 quent.runs.with.........the.same
f5980 20 73 6f 75 72 63 65 20 66 69 6c 65 2c 20 74 61 72 67 65 74 2c 20 61 6e 64 20 63 66 6c 61 67 73 .source.file,.target,.and.cflags
f59a0 20 77 69 6c 6c 20 75 73 65 20 74 68 65 20 63 61 63 68 65 20 69 6e 73 74 65 61 64 20 6f 66 20 72 .will.use.the.cache.instead.of.r
f59c0 65 70 65 61 74 65 64 6c 79 20 74 72 61 6e 73 6c 61 74 69 6e 67 0a 20 20 20 20 20 20 20 20 74 68 epeatedly.translating.........th
f59e0 65 20 73 61 6d 65 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 e.same.code........</p>.......<p
f5a00 3e 0a 20 20 20 20 20 20 20 20 54 6f 20 73 65 65 20 77 68 65 72 65 20 74 68 65 20 63 61 63 68 65 >.........To.see.where.the.cache
f5a20 64 20 66 69 6c 65 73 20 61 72 65 20 73 74 6f 72 65 64 20 77 68 65 6e 20 63 6f 6d 70 69 6c 69 6e d.files.are.stored.when.compilin
f5a40 67 20 63 6f 64 65 20 74 68 61 74 20 75 73 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 g.code.that.uses.<code><span.cla
f5a60 73 73 3d 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
f5a80 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 in">@cImport</span></span></code
f5aa0 3e 2c 0a 20 20 20 20 20 20 20 20 75 73 65 20 74 68 65 20 3c 6b 62 64 3e 2d 2d 76 65 72 62 6f 73 >,.........use.the.<kbd>--verbos
f5ac0 65 2d 63 69 6d 70 6f 72 74 3c 2f 6b 62 64 3e 20 66 6c 61 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e e-cimport</kbd>.flag:.......</p>
f5ae0 0a 20 20 20 20 20 20 3c 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
f5b00 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 76 65 ="zig-cap"><cite.class="file">ve
f5b20 72 62 6f 73 65 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 rbose.zig</cite></figcaption><pr
f5b40 65 3e 3c 63 6f 64 65 3e 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
f5b60 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d .class="tok-kw">const</span>.c.=
f5b80 20 3c 73 70 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
f5ba0 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ort</span>({</span>.<span.class=
f5bc0 22 6c 69 6e 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
f5be0 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 tin">@cDefine</span>(<span.class
f5c00 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5f 4e 4f 5f 43 52 54 5f 53 54 44 49 4f 5f 49 ="tok-str">&quot;_NO_CRT_STDIO_I
f5c20 4e 4c 49 4e 45 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d NLINE&quot;</span>,.<span.class=
f5c40 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b "tok-str">&quot;1&quot;</span>);
f5c60 3c 2f 73 70 61 6e 3e 0a 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">....<
f5c80 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 span.class="tok-builtin">@cInclu
f5ca0 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e de</span>(<span.class="tok-str">
f5cc0 26 71 75 6f 74 3b 73 74 64 69 6f 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 &quot;stdio.h&quot;</span>);</sp
f5ce0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d 29 3b 3c 2f 73 70 61 6e an>.<span.class="line">});</span
f5d00 3e 0a 3c 73 70 61 6e 20 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
f5d20 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
f5d40 3d 22 74 6f 6b 2d 6b 77 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=
f5d60 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
f5d80 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
f5da0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 5f 20 3d 20 63 3b n>.<span.class="line">...._.=.c;
f5dc0 3c 2f 73 70 61 6e 3e 0a 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
f5de0 61 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
f5e00 3e 3c 66 69 67 63 61 70 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
f5e20 68 65 6c 6c 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
f5e40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d n.class="line">$.<kbd>zig.build-
f5e60 65 78 65 20 76 65 72 62 6f 73 65 2e 7a 69 67 20 2d 6c 63 20 2d 2d 76 65 72 62 6f 73 65 2d 63 69 exe.verbose.zig.-lc.--verbose-ci
f5e80 6d 70 6f 72 74 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 mport</kbd></span>.<span.class="
f5ea0 6c 69 6e 65 22 3e 69 6e 66 6f 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 29 3a 20 43 20 69 6d 70 6f 72 line">info(compilation):.C.impor
f5ec0 74 20 73 6f 75 72 63 65 3a 20 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f 6f t.source:.docgen_tmp/zig-cache/o
f5ee0 2f 31 66 31 61 64 36 33 63 64 63 63 61 61 64 32 30 35 38 32 32 35 62 64 63 63 65 34 33 38 34 35 /1f1ad63cdccaad2058225bdcce43845
f5f00 62 2f 63 69 6d 70 6f 72 74 2e 68 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 b/cimport.h</span>.<span.class="
f5f20 6c 69 6e 65 22 3e 69 6e 66 6f 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 29 3a 20 43 20 69 6d 70 6f 72 line">info(compilation):.C.impor
f5f40 74 20 2e 64 20 66 69 6c 65 3a 20 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 65 2f t..d.file:.docgen_tmp/zig-cache/
f5f60 6f 2f 31 66 31 61 64 36 33 63 64 63 63 61 61 64 32 30 35 38 32 32 35 62 64 63 63 65 34 33 38 34 o/1f1ad63cdccaad2058225bdcce4384
f5f80 35 62 2f 63 69 6d 70 6f 72 74 2e 68 2e 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 5b/cimport.h.d</span>.<span.clas
f5fa0 73 3d 22 6c 69 6e 65 22 3e 69 6e 66 6f 28 63 6f 6d 70 69 6c 61 74 69 6f 6e 29 3a 20 43 20 69 6d s="line">info(compilation):.C.im
f5fc0 70 6f 72 74 20 6f 75 74 70 75 74 3a 20 64 6f 63 67 65 6e 5f 74 6d 70 2f 7a 69 67 2d 63 61 63 68 port.output:.docgen_tmp/zig-cach
f5fe0 65 2f 6f 2f 37 65 34 31 36 62 62 31 34 62 66 39 66 34 66 62 61 64 65 32 30 66 63 34 34 63 33 63 e/o/7e416bb14bf9f4fbade20fc44c3c
f6000 31 38 35 65 2f 63 69 6d 70 6f 72 74 2e 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 185e/cimport.zig</span>.<span.cl
f6020 61 73 73 3d 22 6c 69 6e 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="
f6040 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 2e 2f 76 65 72 62 6f 73 65 3c 2f 6b 62 64 3e 3c 2f 73 70 line">$.<kbd>./verbose</kbd></sp
f6060 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>......
f6080 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e .<p>.........<code.class="file">
f60a0 63 69 6d 70 6f 72 74 2e 68 3c 2f 63 6f 64 65 3e 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 66 69 cimport.h</code>.contains.the.fi
f60c0 6c 65 20 74 6f 20 74 72 61 6e 73 6c 61 74 65 20 28 63 6f 6e 73 74 72 75 63 74 65 64 20 66 72 6f le.to.translate.(constructed.fro
f60e0 6d 20 63 61 6c 6c 73 20 74 6f 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 m.calls.to.........<code><span.c
f6100 6c 61 73 73 3d 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
f6120 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 ltin">@cInclude</span></span></c
f6140 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ode>,.<code><span.class="line"><
f6160 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e span.class="tok-builtin">@cDefin
f6180 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 e</span></span></code>,.and.<cod
f61a0 65 3e 3c 73 70 61 6e 20 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
f61c0 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 3c 2f 73 ="tok-builtin">@cUndef</span></s
f61e0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2c 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 pan></code>),.........<code.clas
f6200 73 3d 22 66 69 6c 65 22 3e 63 69 6d 70 6f 72 74 2e 68 2e 64 3c 2f 63 6f 64 65 3e 20 69 73 20 74 s="file">cimport.h.d</code>.is.t
f6220 68 65 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 20 64 65 70 65 6e 64 65 6e 63 69 65 73 2c 20 61 6e he.list.of.file.dependencies,.an
f6240 64 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 69 6d d.........<code.class="file">cim
f6260 70 6f 72 74 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 74 72 61 port.zig</code>.contains.the.tra
f6280 6e 73 6c 61 74 65 64 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 nslated.output........</p>......
f62a0 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
f62c0 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 f="#Import-from-C-Header-File">I
f62e0 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 mport.from.C.Header.File</a></li
f6300 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 43 4c >.<li><a.href="#C-Translation-CL
f6320 49 22 3e 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 43 4c 49 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c I">C.Translation.CLI</a></li>.<l
f6340 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c i><a.href="#cInclude">@cInclude<
f6360 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e /a></li>.<li><a.href="#cImport">
f6380 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a @cImport</a></li>.</ul>.........
f63a0 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 69 6c 75 72 ......<h3.id="Translation-failur
f63c0 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 72 61 6e 73 6c 61 74 69 6f 6e 2d 66 61 es"><a.href="#toc-Translation-fa
f63e0 69 6c 75 72 65 73 22 3e 54 72 61 6e 73 6c 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 73 3c 2f 61 3e ilures">Translation.failures</a>
f6400 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 72 61 6e 73 6c 61 74 69 .<a.class="hdr".href="#Translati
f6420 6f 6e 2d 66 61 69 6c 75 72 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 on-failures">..</a></h3>........
f6440 3c 70 3e 0a 20 20 20 20 20 20 20 20 53 6f 6d 65 20 43 20 63 6f 6e 73 74 72 75 63 74 73 20 63 61 <p>.........Some.C.constructs.ca
f6460 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 74 6f 20 5a 69 67 20 2d 20 66 6f 72 20 nnot.be.translated.to.Zig.-.for.
f6480 65 78 61 6d 70 6c 65 2c 20 3c 65 6d 3e 67 6f 74 6f 3c 2f 65 6d 3e 2c 0a 20 20 20 20 20 20 20 20 example,.<em>goto</em>,.........
f64a0 73 74 72 75 63 74 73 20 77 69 74 68 20 62 69 74 66 69 65 6c 64 73 2c 20 61 6e 64 20 74 6f 6b 65 structs.with.bitfields,.and.toke
f64c0 6e 2d 70 61 73 74 69 6e 67 20 6d 61 63 72 6f 73 2e 20 5a 69 67 20 65 6d 70 6c 6f 79 73 20 3c 65 n-pasting.macros..Zig.employs.<e
f64e0 6d 3e 64 65 6d 6f 74 69 6f 6e 3c 2f 65 6d 3e 20 74 6f 20 61 6c 6c 6f 77 20 74 72 61 6e 73 6c 61 m>demotion</em>.to.allow.transla
f6500 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 69 6e 20 74 68 65 20 tion.........to.continue.in.the.
f6520 66 61 63 65 20 6f 66 20 6e 6f 6e 2d 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 65 6e 74 69 74 69 65 face.of.non-translatable.entitie
f6540 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 s........</p>.......<p>.........
f6560 44 65 6d 6f 74 69 6f 6e 20 63 6f 6d 65 73 20 69 6e 20 74 68 72 65 65 20 76 61 72 69 65 74 69 65 Demotion.comes.in.three.varietie
f6580 73 20 2d 20 3c 61 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e s.-.<a.href="#opaque">opaque</a>
f65a0 2c 20 3c 65 6d 3e 65 78 74 65 72 6e 3c 2f 65 6d 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 3c ,.<em>extern</em>,.and.........<
f65c0 63 6f 64 65 3e 3c 73 70 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
f65e0 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c ass="tok-builtin">@compileError<
f6600 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 0a 20 20 20 20 20 20 20 20 43 /span></span></code>...........C
f6620 20 73 74 72 75 63 74 73 20 61 6e 64 20 75 6e 69 6f 6e 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 .structs.and.unions.that.cannot.
f6640 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f 72 72 65 63 74 6c 79 20 77 69 6c 6c 20 62 65 20 be.translated.correctly.will.be.
f6660 74 72 61 6e 73 6c 61 74 65 64 20 61 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d translated.as.<code><span.class=
f6680 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 70 61 71 "line"><span.class="tok-kw">opaq
f66a0 75 65 3c 2f 73 70 61 6e 3e 7b 7d 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 ue</span>{}</span></code>.......
f66c0 20 20 20 46 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 20 6f 70 61 71 75 65 ...Functions.that.contain.opaque
f66e0 20 74 79 70 65 73 20 6f 72 20 63 6f 64 65 20 63 6f 6e 73 74 72 75 63 74 73 20 74 68 61 74 20 63 .types.or.code.constructs.that.c
f6700 61 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 77 69 6c 6c 20 62 65 20 64 65 6d 6f annot.be.translated.will.be.demo
f6720 74 65 64 0a 20 20 20 20 20 20 20 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ted.........to.<code><span.class
f6740 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 ="line"><span.class="tok-kw">ext
f6760 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 61 ern</span></span></code>.declara
f6780 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 20 20 20 54 68 75 73 2c 20 6e 6f 6e 2d 74 72 61 6e 73 6c tions...........Thus,.non-transl
f67a0 61 74 61 62 6c 65 20 74 79 70 65 73 20 63 61 6e 20 73 74 69 6c 6c 20 62 65 20 75 73 65 64 20 61 atable.types.can.still.be.used.a
f67c0 73 20 70 6f 69 6e 74 65 72 73 2c 20 61 6e 64 20 6e 6f 6e 2d 74 72 61 6e 73 6c 61 74 61 62 6c 65 s.pointers,.and.non-translatable
f67e0 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 .functions.........can.be.called
f6800 20 73 6f 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 6c 69 6e 6b 65 72 20 69 73 20 61 77 61 72 65 20 .so.long.as.the.linker.is.aware.
f6820 6f 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 64 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 of.the.compiled.function........
f6840 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 </p>.......<p>.........<code><sp
f6860 61 6e 20 63 6c 61 73 73 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
f6880 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f -builtin">@compileError</span></
f68a0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 73 65 64 20 77 68 65 6e 20 74 6f 70 2d 6c 65 span></code>.is.used.when.top-le
f68c0 76 65 6c 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 28 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 vel.definitions.(global.variable
f68e0 73 2c 0a 20 20 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 74 6f 74 79 70 65 73 2c 20 s,.........function.prototypes,.
f6900 6d 61 63 72 6f 73 29 20 63 61 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 6f 72 20 macros).cannot.be.translated.or.
f6920 64 65 6d 6f 74 65 64 2e 20 53 69 6e 63 65 20 5a 69 67 20 75 73 65 73 20 6c 61 7a 79 20 61 6e 61 demoted..Since.Zig.uses.lazy.ana
f6940 6c 79 73 69 73 20 66 6f 72 0a 20 20 20 20 20 20 20 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c lysis.for.........top-level.decl
f6960 61 72 61 74 69 6f 6e 73 2c 20 75 6e 74 72 61 6e 73 6c 61 74 61 62 6c 65 20 65 6e 74 69 74 69 65 arations,.untranslatable.entitie
f6980 73 20 77 69 6c 6c 20 6e 6f 74 20 63 61 75 73 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 s.will.not.cause.a.compile.error
f69a0 20 69 6e 20 79 6f 75 72 20 63 6f 64 65 20 75 6e 6c 65 73 73 0a 20 20 20 20 20 20 20 20 79 6f 75 .in.your.code.unless.........you
f69c0 20 61 63 74 75 61 6c 6c 79 20 75 73 65 20 74 68 65 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 .actually.use.them........</p>..
f69e0 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 .....<p>See.also:</p><ul>.<li><a
f6a00 20 68 72 65 66 3d 22 23 6f 70 61 71 75 65 22 3e 6f 70 61 71 75 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a .href="#opaque">opaque</a></li>.
f6a20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 22 3e 65 78 74 65 72 6e 3c 2f 61 3e <li><a.href="#extern">extern</a>
f6a40 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 69 6c 65 45 72 72 6f 72 </li>.<li><a.href="#compileError
f6a60 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a ">@compileError</a></li>.</ul>..
f6a80 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 43 2d 4d 61 63 72 6f 73 22 3e 3c .............<h3.id="C-Macros"><
f6aa0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d 4d 61 63 72 6f 73 22 3e 43 20 4d 61 63 72 6f 73 3c a.href="#toc-C-Macros">C.Macros<
f6ac0 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 4d 61 63 72 /a>.<a.class="hdr".href="#C-Macr
f6ae0 6f 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 os">..</a></h3>........<p>......
f6b00 20 20 20 43 20 54 72 61 6e 73 6c 61 74 69 6f 6e 20 6d 61 6b 65 73 20 61 20 62 65 73 74 2d 65 66 ...C.Translation.makes.a.best-ef
f6b20 66 6f 72 74 20 61 74 74 65 6d 70 74 20 74 6f 20 74 72 61 6e 73 6c 61 74 65 20 66 75 6e 63 74 69 fort.attempt.to.translate.functi
f6b40 6f 6e 2d 6c 69 6b 65 20 6d 61 63 72 6f 73 20 69 6e 74 6f 20 65 71 75 69 76 61 6c 65 6e 74 0a 20 on-like.macros.into.equivalent..
f6b60 20 20 20 20 20 20 20 5a 69 67 20 66 75 6e 63 74 69 6f 6e 73 2e 20 53 69 6e 63 65 20 43 20 6d 61 .......Zig.functions..Since.C.ma
f6b80 63 72 6f 73 20 6f 70 65 72 61 74 65 20 61 74 20 74 68 65 20 6c 65 76 65 6c 20 6f 66 20 6c 65 78 cros.operate.at.the.level.of.lex
f6ba0 69 63 61 6c 20 74 6f 6b 65 6e 73 2c 20 6e 6f 74 20 61 6c 6c 20 43 20 6d 61 63 72 6f 73 0a 20 20 ical.tokens,.not.all.C.macros...
f6bc0 20 20 20 20 20 20 63 61 6e 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 74 6f 20 5a 69 67 2e 20 ......can.be.translated.to.Zig..
f6be0 4d 61 63 72 6f 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 Macros.that.cannot.be.translated
f6c00 20 77 69 6c 6c 20 62 65 20 62 65 20 64 65 6d 6f 74 65 64 20 74 6f 0a 20 20 20 20 20 20 20 20 3c .will.be.be.demoted.to.........<
f6c20 63 6f 64 65 3e 3c 73 70 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
f6c40 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c ass="tok-builtin">@compileError<
f6c60 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4e 6f 74 65 20 74 68 61 74 20 /span></span></code>..Note.that.
f6c80 43 20 63 6f 64 65 20 77 68 69 63 68 20 3c 65 6d 3e 75 73 65 73 3c 2f 65 6d 3e 20 6d 61 63 72 6f C.code.which.<em>uses</em>.macro
f6ca0 73 20 77 69 6c 6c 20 62 65 0a 20 20 20 20 20 20 20 20 74 72 61 6e 73 6c 61 74 65 64 20 77 69 74 s.will.be.........translated.wit
f6cc0 68 6f 75 74 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 69 73 73 75 65 73 20 28 73 69 6e 63 hout.any.additional.issues.(sinc
f6ce0 65 20 5a 69 67 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 70 72 65 2d 70 72 6f 63 65 73 e.Zig.operates.on.the.pre-proces
f6d00 73 65 64 20 73 6f 75 72 63 65 0a 20 20 20 20 20 20 20 20 77 69 74 68 20 6d 61 63 72 6f 73 20 65 sed.source.........with.macros.e
f6d20 78 70 61 6e 64 65 64 29 2e 20 49 74 20 69 73 20 6d 65 72 65 6c 79 20 74 68 65 20 6d 61 63 72 6f xpanded)..It.is.merely.the.macro
f6d40 73 20 74 68 65 6d 73 65 6c 76 65 73 20 77 68 69 63 68 20 6d 61 79 20 6e 6f 74 20 62 65 20 74 72 s.themselves.which.may.not.be.tr
f6d60 61 6e 73 6c 61 74 61 62 6c 65 20 74 6f 0a 20 20 20 20 20 20 20 20 5a 69 67 2e 0a 20 20 20 20 20 anslatable.to.........Zig.......
f6d80 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 43 6f 6e 73 69 64 65 72 20 74 68 65 20 66 6f 6c 6c .</p>.......<p>Consider.the.foll
f6da0 6f 77 69 6e 67 20 65 78 61 6d 70 6c 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 owing.example:</p>.......<figure
f6dc0 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 ><figcaption.class="c-cap"><cite
f6de0 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 63 72 6f 2e 63 3c 2f 63 69 74 65 3e 3c 2f 66 69 .class="file">macro.c</cite></fi
f6e00 67 63 61 70 74 69 6f 6e 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=
f6e20 22 6c 69 6e 65 22 3e 23 64 65 66 69 6e 65 20 4d 41 4b 45 4c 4f 43 41 4c 28 4e 41 4d 45 2c 20 49 "line">#define.MAKELOCAL(NAME,.I
f6e40 4e 49 54 29 20 69 6e 74 20 4e 41 4d 45 20 3d 20 49 4e 49 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 NIT).int.NAME.=.INIT</span>.<spa
f6e60 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 69 6e 74 20 66 6f 6f 28 76 6f 69 64 29 20 7b 3c 2f n.class="line">int.foo(void).{</
f6e80 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 4d 41 4b 45 span>.<span.class="line">...MAKE
f6ea0 4c 4f 43 41 4c 28 61 2c 20 31 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d LOCAL(a,.1);</span>.<span.class=
f6ec0 22 6c 69 6e 65 22 3e 20 20 20 4d 41 4b 45 4c 4f 43 41 4c 28 62 2c 20 32 29 3b 3c 2f 73 70 61 6e "line">...MAKELOCAL(b,.2);</span
f6ee0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 72 65 74 75 72 6e 20 61 >.<span.class="line">...return.a
f6f00 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .+.b;</span>.<span.class="line">
f6f20 7d 3c 2f 73 70 61 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>..
f6f40 20 20 20 20 20 3c 66 69 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="
f6f60 73 68 65 6c 6c 2d 63 61 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
f6f80 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
f6fa0 64 3e 7a 69 67 20 74 72 61 6e 73 6c 61 74 65 2d 63 20 6d 61 63 72 6f 2e 63 20 3e 20 6d 61 63 72 d>zig.translate-c.macro.c.>.macr
f6fc0 6f 2e 7a 69 67 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e o.zig</kbd></span>.</samp></pre>
f6fe0 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
f7000 69 6f 6e 20 63 6c 61 73 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=
f7020 22 66 69 6c 65 22 3e 6d 61 63 72 6f 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 "file">macro.zig</cite></figcapt
f7040 69 6f 6e 3e 3c 70 72 65 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
f7060 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e "><span.class="tok-kw">pub</span
f7080 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 >.<span.class="tok-kw">export</s
f70a0 70 61 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
f70c0 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 an>.<span.class="tok-fn">foo</sp
f70e0 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 an>().<span.class="tok-type">c_i
f7100 6e 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nt</span>.{</span>.<span.class="
f7120 6c 69 6e 65 22 3e 20 20 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
f7140 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 ar</span>.a:.<span.class="tok-ty
f7160 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 pe">c_int</span>.=.<span.class="
f7180 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 tok-number">1</span>;</span>.<sp
f71a0 61 6e 20 63 6c 61 73 73 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=
f71c0 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 "tok-kw">var</span>.b:.<span.cla
f71e0 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 ss="tok-type">c_int</span>.=.<sp
f7200 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 3c an.class="tok-number">2</span>;<
f7220 2f 73 70 61 6e 3e 0a 3c 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
f7240 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>
f7260 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .a.+.b;</span>.<span.class="line
f7280 22 3e 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 ">}</span>.<span.class="line"><s
f72a0 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
f72c0 70 61 6e 20 63 6c 61 73 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>.
f72e0 4d 41 4b 45 4c 4f 43 41 4c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 MAKELOCAL.=.<span.class="tok-bui
f7300 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e ltin">@compileError</span>(<span
f7320 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 6e 61 62 6c 65 20 74 6f .class="tok-str">&quot;unable.to
f7340 20 74 72 61 6e 73 6c 61 74 65 20 43 20 65 78 70 72 3a 20 75 6e 65 78 70 65 63 74 65 64 20 74 6f .translate.C.expr:.unexpected.to
f7360 6b 65 6e 20 2e 45 71 75 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 20 3c 73 70 61 6e 20 ken..Equal&quot;</span>);.<span.
f7380 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 61 63 72 6f 2e 63 3a 31 class="tok-comment">//.macro.c:1
f73a0 3a 39 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 :9</span></span></code></pre></f
f73c0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 3c 63 6f 64 65 3e igure>.......<p>Note.that.<code>
f73e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 3c 2f 63 <span.class="line">foo</span></c
f7400 6f 64 65 3e 20 77 61 73 20 74 72 61 6e 73 6c 61 74 65 64 20 63 6f 72 72 65 63 74 6c 79 20 64 65 ode>.was.translated.correctly.de
f7420 73 70 69 74 65 20 75 73 69 6e 67 20 61 20 6e 6f 6e 2d 74 72 61 6e 73 6c 61 74 61 62 6c 65 0a 20 spite.using.a.non-translatable..
f7440 20 20 20 20 20 20 20 6d 61 63 72 6f 2e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d .......macro..<code><span.class=
f7460 22 6c 69 6e 65 22 3e 4d 41 4b 45 4c 4f 43 41 4c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 "line">MAKELOCAL</span></code>.w
f7480 61 73 20 64 65 6d 6f 74 65 64 20 74 6f 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d as.demoted.to.<code><span.class=
f74a0 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"
f74c0 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f >@compileError</span></span></co
f74e0 64 65 3e 20 73 69 6e 63 65 0a 20 20 20 20 20 20 20 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 65 de>.since.........it.cannot.be.e
f7500 78 70 72 65 73 73 65 64 20 61 73 20 61 20 5a 69 67 20 66 75 6e 63 74 69 6f 6e 3b 20 74 68 69 73 xpressed.as.a.Zig.function;.this
f7520 20 73 69 6d 70 6c 79 20 6d 65 61 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 6e 6f 74 20 64 69 .simply.means.that.you.cannot.di
f7540 72 65 63 74 6c 79 20 75 73 65 0a 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 rectly.use.........<code><span.c
f7560 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 41 4b 45 4c 4f 43 41 4c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f lass="line">MAKELOCAL</span></co
f7580 64 65 3e 20 66 72 6f 6d 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c de>.from.Zig........</p>.......<
f75a0 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=
f75c0 22 23 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 61 "#compileError">@compileError</a
f75e0 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.
f7600 69 64 3d 22 43 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d id="C-Pointers"><a.href="#toc-C-
f7620 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 Pointers">C.Pointers</a>.<a.clas
f7640 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 s="hdr".href="#C-Pointers">..</a
f7660 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 74 79 70 ></h3>........<p>.......This.typ
f7680 65 20 69 73 20 74 6f 20 62 65 20 61 76 6f 69 64 65 64 20 77 68 65 6e 65 76 65 72 20 70 6f 73 73 e.is.to.be.avoided.whenever.poss
f76a0 69 62 6c 65 2e 20 54 68 65 20 6f 6e 6c 79 20 76 61 6c 69 64 20 72 65 61 73 6f 6e 20 66 6f 72 20 ible..The.only.valid.reason.for.
f76c0 75 73 69 6e 67 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 73 20 69 6e 0a 20 20 20 20 20 20 61 75 using.a.C.pointer.is.in.......au
f76e0 74 6f 2d 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 66 72 6f 6d 20 74 72 61 6e 73 6c 61 74 69 to-generated.code.from.translati
f7700 6e 67 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a ng.C.code........</p>.......<p>.
f7720 20 20 20 20 20 20 57 68 65 6e 20 69 6d 70 6f 72 74 69 6e 67 20 43 20 68 65 61 64 65 72 20 66 69 ......When.importing.C.header.fi
f7740 6c 65 73 2c 20 69 74 20 69 73 20 61 6d 62 69 67 75 6f 75 73 20 77 68 65 74 68 65 72 20 70 6f 69 les,.it.is.ambiguous.whether.poi
f7760 6e 74 65 72 73 20 73 68 6f 75 6c 64 20 62 65 20 74 72 61 6e 73 6c 61 74 65 64 20 61 73 0a 20 20 nters.should.be.translated.as...
f7780 20 20 20 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 28 3c 63 6f 64 65 3e ....single-item.pointers.(<code>
f77a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 2a 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f <span.class="line">*T</span></co
f77c0 64 65 3e 29 20 6f 72 20 6d 61 6e 79 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 28 3c 63 6f 64 de>).or.many-item.pointers.(<cod
f77e0 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 2a 5d 54 3c 2f 73 70 61 6e 3e e><span.class="line">[*]T</span>
f7800 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 43 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20 61 </code>)........C.pointers.are.a
f7820 20 63 6f 6d 70 72 6f 6d 69 73 65 20 73 6f 20 74 68 61 74 20 5a 69 67 20 63 6f 64 65 20 63 61 6e .compromise.so.that.Zig.code.can
f7840 20 75 74 69 6c 69 7a 65 20 74 72 61 6e 73 6c 61 74 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 .utilize.translated.header.files
f7860 20 64 69 72 65 63 74 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c .directly........</p>.......<p><
f7880 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 5b 2a 63 5d 54 3c 2f 73 code><span.class="line">[*c]T</s
f78a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 43 20 70 6f 69 6e 74 65 72 2e 3c 2f 70 3e 0a 20 20 20 pan></code>.-.C.pointer.</p>....
f78c0 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 61 6c 6c ...<ul>.........<li>Supports.all
f78e0 20 74 68 65 20 73 79 6e 74 61 78 20 6f 66 20 74 68 65 20 6f 74 68 65 72 20 74 77 6f 20 70 6f 69 .the.syntax.of.the.other.two.poi
f7900 6e 74 65 72 20 74 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 65 nter.types.</li>.........<li>Coe
f7920 72 63 65 73 20 74 6f 20 6f 74 68 65 72 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 2c 20 61 73 20 rces.to.other.pointer.types,.as.
f7940 77 65 6c 6c 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 well.as.<a.href="#Optional-Point
f7960 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 ers">Optional.Pointers</a>......
f7980 20 20 20 20 20 20 20 20 57 68 65 6e 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 73 20 63 6f 65 72 ........When.a.C.pointer.is.coer
f79a0 63 65 64 20 74 6f 20 61 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 2c 20 73 ced.to.a.non-optional.pointer,.s
f79c0 61 66 65 74 79 2d 63 68 65 63 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 afety-checked.............<a.hre
f79e0 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 f="#Undefined-Behavior">Undefine
f7a00 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 6f 63 63 75 72 73 20 69 66 20 74 68 65 20 61 64 64 d.Behavior</a>.occurs.if.the.add
f7a20 72 65 73 73 20 69 73 20 30 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 ress.is.0..........</li>........
f7a40 20 3c 6c 69 3e 41 6c 6c 6f 77 73 20 61 64 64 72 65 73 73 20 30 2e 20 4f 6e 20 6e 6f 6e 2d 66 72 .<li>Allows.address.0..On.non-fr
f7a60 65 65 73 74 61 6e 64 69 6e 67 20 74 61 72 67 65 74 73 2c 20 64 65 72 65 66 65 72 65 6e 63 69 6e eestanding.targets,.dereferencin
f7a80 67 20 61 64 64 72 65 73 73 20 30 20 69 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 0a 20 20 g.address.0.is.safety-checked...
f7aa0 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 ..........<a.href="#Undefined-Be
f7ac0 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 20 havior">Undefined.Behavior</a>..
f7ae0 4f 70 74 69 6f 6e 61 6c 20 43 20 70 6f 69 6e 74 65 72 73 20 69 6e 74 72 6f 64 75 63 65 20 61 6e Optional.C.pointers.introduce.an
f7b00 6f 74 68 65 72 20 62 69 74 20 74 6f 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 0a 20 20 20 20 20 other.bit.to.keep.track.of......
f7b20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 6a 75 73 74 20 6c 69 6b 65 20 3c 63 6f 64 65 3e 3c 73 70 .......null,.just.like.<code><sp
f7b40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f an.class="line">?<span.class="to
f7b60 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
f7b80 65 3e 2e 20 4e 6f 74 65 20 74 68 61 74 20 63 72 65 61 74 69 6e 67 20 61 6e 20 6f 70 74 69 6f 6e e>..Note.that.creating.an.option
f7ba0 61 6c 20 43 20 70 6f 69 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 75 6e 6e 65 al.C.pointer.............is.unne
f7bc0 63 65 73 73 61 72 79 20 61 73 20 6f 6e 65 20 63 61 6e 20 75 73 65 20 6e 6f 72 6d 61 6c 20 3c 61 cessary.as.one.can.use.normal.<a
f7be0 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f .href="#Optional-Pointers">Optio
f7c00 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a nal.Pointers</a>..........</li>.
f7c20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 54 ........<li>Supports.<a.href="#T
f7c40 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 20 ype-Coercion">Type.Coercion</a>.
f7c60 74 6f 20 61 6e 64 20 66 72 6f 6d 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 to.and.from.integers.</li>......
f7c80 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 63 6f 6d 70 61 72 69 73 6f 6e 20 77 69 74 68 20 ...<li>Supports.comparison.with.
f7ca0 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 44 6f 65 73 20 integers.</li>.........<li>Does.
f7cc0 6e 6f 74 20 73 75 70 70 6f 72 74 20 5a 69 67 2d 6f 6e 6c 79 20 70 6f 69 6e 74 65 72 20 61 74 74 not.support.Zig-only.pointer.att
f7ce0 72 69 62 75 74 65 73 20 73 75 63 68 20 61 73 20 61 6c 69 67 6e 6d 65 6e 74 2e 20 55 73 65 20 6e ributes.such.as.alignment..Use.n
f7d00 6f 72 6d 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 ormal.<a.href="#Pointers">Pointe
f7d20 72 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 70 6c 65 61 73 65 21 3c 2f 6c 69 3e 0a 20 20 20 20 rs</a>.........please!</li>.....
f7d40 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 43 20 70 6f 69 6e 74 65 ..</ul>.......<p>When.a.C.pointe
f7d60 72 20 69 73 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 73 74 72 75 63 74 r.is.pointing.to.a.single.struct
f7d80 20 28 6e 6f 74 20 61 6e 20 61 72 72 61 79 29 2c 20 64 65 72 65 66 65 72 65 6e 63 65 20 74 68 65 .(not.an.array),.dereference.the
f7da0 20 43 20 70 6f 69 6e 74 65 72 20 74 6f 0a 20 20 20 20 20 20 20 20 61 63 63 65 73 73 20 74 6f 20 .C.pointer.to.........access.to.
f7dc0 74 68 65 20 73 74 72 75 63 74 27 73 20 66 69 65 6c 64 73 20 6f 72 20 6d 65 6d 62 65 72 20 64 61 the.struct's.fields.or.member.da
f7de0 74 61 2e 20 54 68 61 74 20 73 79 6e 74 61 78 20 6c 6f 6f 6b 73 20 6c 69 6b 65 0a 20 20 20 20 20 ta..That.syntax.looks.like......
f7e00 20 20 20 74 68 69 73 3a 20 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c ...this:.</p>.........<p><code><
f7e20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 70 74 72 5f 74 6f 5f 73 74 72 75 63 74 2e span.class="line">ptr_to_struct.
f7e40 2a 2e 73 74 72 75 63 74 5f 6d 65 6d 62 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 *.struct_member</span></code></p
f7e60 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 63 6f 6d 70 61 72 61 62 6c 65 20 >.........<p>This.is.comparable.
f7e80 74 6f 20 64 6f 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 to.doing.<code><span.class="line
f7ea0 22 3e 2d 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 43 2e 3c 2f 70 3e 0a ">-&gt;</span></code>.in.C.</p>.
f7ec0 20 20 20 20 20 20 20 20 3c 70 3e 20 57 68 65 6e 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 73 20 ........<p>.When.a.C.pointer.is.
f7ee0 70 6f 69 6e 74 69 6e 67 20 74 6f 20 61 6e 20 61 72 72 61 79 20 6f 66 20 73 74 72 75 63 74 73 2c pointing.to.an.array.of.structs,
f7f00 20 74 68 65 20 73 79 6e 74 61 78 20 72 65 76 65 72 74 73 20 74 6f 20 74 68 69 73 3a 3c 2f 70 3e .the.syntax.reverts.to.this:</p>
f7f20 0a 20 20 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .........<p><code><span.class="l
f7f40 69 6e 65 22 3e 70 74 72 5f 74 6f 5f 73 74 72 75 63 74 5f 61 72 72 61 79 5b 69 6e 64 65 78 5d 2e ine">ptr_to_struct_array[index].
f7f60 73 74 72 75 63 74 5f 6d 65 6d 62 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a struct_member</span></code></p>.
f7f80 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 70 6f 72 74 69 6e 67 2d ..............<h3.id="Exporting-
f7fa0 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 70 6f 72 a-C-Library"><a.href="#toc-Expor
f7fc0 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.
f7fe0 4c 69 62 72 61 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d Library</a>.<a.class="hdr".href=
f8000 22 23 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e c2 a7 3c 2f 61 3e 3c "#Exporting-a-C-Library">..</a><
f8020 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 65 20 6f 66 20 74 68 65 /h3>........<p>.......One.of.the
f8040 20 70 72 69 6d 61 72 79 20 75 73 65 20 63 61 73 65 73 20 66 6f 72 20 5a 69 67 20 69 73 20 65 78 .primary.use.cases.for.Zig.is.ex
f8060 70 6f 72 74 69 6e 67 20 61 20 6c 69 62 72 61 72 79 20 77 69 74 68 20 74 68 65 20 43 20 41 42 49 porting.a.library.with.the.C.ABI
f8080 20 66 6f 72 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 73 .for.other.programming.languages
f80a0 0a 20 20 20 20 20 20 74 6f 20 63 61 6c 6c 20 69 6e 74 6f 2e 20 54 68 65 20 3c 63 6f 64 65 3e 3c .......to.call.into..The.<code><
f80c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
f80e0 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
f8100 65 3e 20 6b 65 79 77 6f 72 64 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 e>.keyword.in.front.of.functions
f8120 2c 20 76 61 72 69 61 62 6c 65 73 2c 20 61 6e 64 20 74 79 70 65 73 20 63 61 75 73 65 73 20 74 68 ,.variables,.and.types.causes.th
f8140 65 6d 20 74 6f 0a 20 20 20 20 20 20 62 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 6c 69 62 72 61 em.to.......be.part.of.the.libra
f8160 72 79 20 41 50 49 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 ry.API:.......</p>.......<figure
f8180 3e 3c 66 69 67 63 61 70 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
f81a0 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 74 68 74 65 73 74 2e 7a 69 67 3c 2f 63 69 te.class="file">mathtest.zig</ci
f81c0 74 65 3e 3c 2f 66 69 67 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
f81e0 20 63 6c 61 73 73 3d 22 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
f8200 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
f8220 6b 2d 6b 77 22 3e 66 6e 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
f8240 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="
f8260 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
f8280 6c 61 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
f82a0 6e 20 63 6c 61 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>.{<
f82c0 2f 73 70 61 6e 3e 0a 3c 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
f82e0 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>
f8300 20 61 20 2b 20 62 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .a.+.b;</span>.<span.class="line
f8320 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>
f8340 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 6d 61 6b 65 20 61 20 73 74 61 74 69 63 20 6c 69 62 72 61 .......<p>To.make.a.static.libra
f8360 72 79 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f ry:</p>.......<figure><figcaptio
f8380 6e 20 63 6c 61 73 73 3d 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
f83a0 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
f83c0 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6c 69 62 20 6d 61 74 68 74 65 73 ne">$.<kbd>zig.build-lib.mathtes
f83e0 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>
f8400 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 6d 61 6b 65 20 61 20 73 68 61 </figure>.......<p>To.make.a.sha
f8420 72 65 64 20 6c 69 62 72 61 72 79 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c red.library:</p>.......<figure><
f8440 66 69 67 63 61 70 74 69 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
f8460 6c 6c 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.
f8480 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 6c 69 class="line">$.<kbd>zig.build-li
f84a0 62 20 6d 61 74 68 74 65 73 74 2e 7a 69 67 20 2d 64 79 6e 61 6d 69 63 3c 2f 6b 62 64 3e 3c 2f 73 b.mathtest.zig.-dynamic</kbd></s
f84c0 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>.....
f84e0 20 20 3c 70 3e 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 74 68 65 ..<p>Here.is.an.example.with.the
f8500 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 .<a.href="#Zig-Build-System">Zig
f8520 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 .Build.System</a>:</p>.......<fi
f8540 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c gure><figcaption.class="c-cap"><
f8560 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 63 3c 2f 63 69 74 65 3e 3c cite.class="file">test.c</cite><
f8580 2f 66 69 67 63 61 70 74 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
f85a0 73 73 3d 22 6c 69 6e 65 22 3e 2f 2f 20 54 68 69 73 20 68 65 61 64 65 72 20 69 73 20 67 65 6e 65 ss="line">//.This.header.is.gene
f85c0 72 61 74 65 64 20 62 79 20 7a 69 67 20 66 72 6f 6d 20 6d 61 74 68 74 65 73 74 2e 7a 69 67 3c 2f rated.by.zig.from.mathtest.zig</
f85e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 69 6e 63 6c 75 64 span>.<span.class="line">#includ
f8600 65 20 26 71 75 6f 74 3b 6d 61 74 68 74 65 73 74 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a e.&quot;mathtest.h&quot;</span>.
f8620 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b <span.class="line">#include.&lt;
f8640 73 74 64 69 6f 2e 68 26 67 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 stdio.h&gt;</span>.<span.class="
f8660 6c 69 6e 65 22 3e 3c 2f 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"
f8680 3e 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 >int.main(int.argc,.char.**argv)
f86a0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
f86c0 20 69 6e 74 33 32 5f 74 20 72 65 73 75 6c 74 20 3d 20 61 64 64 28 34 32 2c 20 31 33 33 37 29 3b .int32_t.result.=.add(42,.1337);
f86e0 3c 2f 73 70 61 6e 3e 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
f8700 72 69 6e 74 66 28 26 71 75 6f 74 3b 25 64 5c 6e 26 71 75 6f 74 3b 2c 20 72 65 73 75 6c 74 29 3b rintf(&quot;%d\n&quot;,.result);
f8720 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 72 </span>.<span.class="line">....r
f8740 65 74 75 72 6e 20 30 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e eturn.0;</span>.<span.class="lin
f8760 65 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
f8780 3e 0a 20 20 20 20 20 20 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
f87a0 73 3d 22 7a 69 67 2d 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
f87c0 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
f87e0 3e 3c 63 6f 64 65 3e 3c 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.
f8800 63 6c 61 73 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
f8820 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">
f8840 40 69 6d 70 6f 72 74 3c 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-
f8860 73 74 72 22 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
f8880 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="
f88a0 6c 69 6e 65 22 3e 3c 2f 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"
f88c0 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>
f88e0 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>.
f8900 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
f8920 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-
f8940 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
f8960 20 63 6c 61 73 73 3d 22 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
f8980 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 62 20 3d 20 62 2e 61 64 64 53 ok-kw">const</span>.lib.=.b.addS
f89a0 68 61 72 65 64 4c 69 62 72 61 72 79 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 haredLibrary(<span.class="tok-st
f89c0 72 22 3e 26 71 75 6f 74 3b 6d 61 74 68 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 r">&quot;mathtest&quot;</span>,.
f89e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 61 74 68 <span.class="tok-str">&quot;math
f8a00 74 65 73 74 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 62 2e 76 65 72 73 69 6f 6e test.zig&quot;</span>,.b.version
f8a20 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
f8a40 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f n>,.<span.class="tok-number">0</
f8a60 73 70 61 6e 3e 2c 20 3c 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">
f8a80 30 3c 2f 73 70 61 6e 3e 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 0</span>));</span>.<span.class="
f8aa0 6c 69 6e 65 22 3e 3c 2f 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"
f8ac0 3e 20 20 20 20 3c 73 70 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<
f8ae0 2f 73 70 61 6e 3e 20 65 78 65 20 3d 20 62 2e 61 64 64 45 78 65 63 75 74 61 62 6c 65 28 3c 73 70 /span>.exe.=.b.addExecutable(<sp
f8b00 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 26 71 75 an.class="tok-str">&quot;test&qu
f8b20 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c ot;</span>,.<span.class="tok-nul
f8b40 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c l">null</span>);</span>.<span.cl
f8b60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 61 64 64 43 53 6f 75 72 63 65 46 69 6c ass="line">....exe.addCSourceFil
f8b80 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 e(<span.class="tok-str">&quot;te
f8ba0 73 74 2e 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 5b 5f 5d 5b 5d 3c 73 70 st.c&quot;</span>,.&amp;[_][]<sp
f8bc0 61 6e 20 63 6c 61 73 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>.<
f8be0 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b span.class="tok-type">u8</span>{
f8c00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2d 73 74 64 <span.class="tok-str">&quot;-std
f8c20 3d 63 39 39 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 =c99&quot;</span>});</span>.<spa
f8c40 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 6c 69 6e 6b 4c 69 62 72 61 n.class="line">....exe.linkLibra
f8c60 72 79 28 6c 69 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ry(lib);</span>.<span.class="lin
f8c80 65 22 3e 20 20 20 20 65 78 65 2e 6c 69 6e 6b 53 79 73 74 65 6d 4c 69 62 72 61 72 79 28 3c 73 70 e">....exe.linkSystemLibrary(<sp
f8ca0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f 74 3b an.class="tok-str">&quot;c&quot;
f8cc0 3c 2f 73 70 61 6e 3e 29 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
f8ce0 6e 65 22 3e 3c 2f 73 70 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">.
f8d00 20 20 20 62 2e 64 65 66 61 75 6c 74 5f 73 74 65 70 2e 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b ...b.default_step.dependOn(&amp;
f8d20 65 78 65 2e 73 74 65 70 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c exe.step);</span>.<span.class="l
f8d40 69 6e 65 22 3e 3c 2f 73 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">
f8d60 20 20 20 20 3c 73 70 61 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</
f8d80 73 70 61 6e 3e 20 72 75 6e 5f 63 6d 64 20 3d 20 65 78 65 2e 72 75 6e 28 29 3b 3c 2f 73 70 61 6e span>.run_cmd.=.exe.run();</span
f8da0 3e 0a 3c 73 70 61 6e 20 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
f8dc0 61 6e 20 63 6c 61 73 73 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=
f8de0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 65 73 74 5f 73 74 65 70 20 "tok-kw">const</span>.test_step.
f8e00 3d 20 62 2e 73 74 65 70 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 =.b.step(<span.class="tok-str">&
f8e20 71 75 6f 74 3b 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c quot;test&quot;</span>,.<span.cl
f8e40 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 54 65 73 74 20 74 68 65 20 70 72 6f ass="tok-str">&quot;Test.the.pro
f8e60 67 72 61 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e gram&quot;</span>);</span>.<span
f8e80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 74 65 73 74 5f 73 74 65 70 2e 64 65 70 65 .class="line">....test_step.depe
f8ea0 6e 64 4f 6e 28 26 61 6d 70 3b 72 75 6e 5f 63 6d 64 2e 73 74 65 70 29 3b 3c 2f 73 70 61 6e 3e 0a ndOn(&amp;run_cmd.step);</span>.
f8ec0 3c 73 70 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
f8ee0 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e e></pre></figure>.......<figure>
f8f00 3c 66 69 67 63 61 70 74 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
f8f20 65 6c 6c 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
f8f40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 20 74 .class="line">$.<kbd>zig.build.t
f8f60 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
f8f80 6e 65 22 3e 31 33 37 39 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 ne">1379</span>.</samp></pre></f
f8fa0 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c igure>.......<p>See.also:</p><ul
f8fc0 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 70 6f 72 74 22 3e 65 78 70 6f 72 74 3c 2f >.<li><a.href="#export">export</
f8fe0 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.
f9000 69 64 3d 22 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 3e 3c 61 20 68 72 65 66 id="Mixing-Object-Files"><a.href
f9020 3d 22 23 74 6f 63 2d 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 3e 4d 69 78 69 ="#toc-Mixing-Object-Files">Mixi
f9040 6e 67 20 4f 62 6a 65 63 74 20 46 69 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 ng.Object.Files</a>.<a.class="hd
f9060 72 22 20 68 72 65 66 3d 22 23 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 3e c2 r".href="#Mixing-Object-Files">.
f9080 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 .</a></h3>........<p>.......You.
f90a0 63 61 6e 20 6d 69 78 20 5a 69 67 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 77 69 74 68 20 61 6e can.mix.Zig.object.files.with.an
f90c0 79 20 6f 74 68 65 72 20 6f 62 6a 65 63 74 20 66 69 6c 65 73 20 74 68 61 74 20 72 65 73 70 65 63 y.other.object.files.that.respec
f90e0 74 20 74 68 65 20 43 20 41 42 49 2e 20 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e t.the.C.ABI..Example:.......</p>
f9100 0a 20 20 20 20 20 20 3c 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
f9120 3d 22 7a 69 67 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 62 61 ="zig-cap"><cite.class="file">ba
f9140 73 65 36 34 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 se64.zig</cite></figcaption><pre
f9160 3e 3c 63 6f 64 65 3e 3c 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.
f9180 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 61 73 65 class="tok-kw">const</span>.base
f91a0 36 34 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64.=.<span.class="tok-builtin">@
f91c0 69 6d 70 6f 72 74 3c 2f 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
f91e0 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 61 73 65 tr">&quot;std&quot;</span>).base
f9200 36 34 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 64;</span>.<span.class="line"></
f9220 73 70 61 6e 3e 0a 3c 73 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
f9240 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 lass="tok-kw">export</span>.<spa
f9260 6e 20 63 6c 61 73 73 3d 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
f9280 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 63 6f 64 65 5f 62 61 73 65 5f 36 34 3c 2f .class="tok-fn">decode_base_64</
f92a0 73 70 61 6e 3e 28 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 span>(</span>.<span.class="line"
f92c0 3e 20 20 20 20 64 65 73 74 5f 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 >....dest_ptr:.[*]<span.class="t
f92e0 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ok-type">u8</span>,</span>.<span
f9300 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 64 65 73 74 5f 6c 65 6e 3a 20 3c 73 70 61 .class="line">....dest_len:.<spa
f9320 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>,
f9340 3c 2f 73 70 61 6e 3e 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
f9360 6f 75 72 63 65 5f 70 74 72 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b ource_ptr:.[*]<span.class="tok-k
f9380 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
f93a0 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
f93c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 6f 75 72 63 65 5f 6c 65 6e 3a 20 3c 73 70 61 lass="line">....source_len:.<spa
f93e0 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>,
f9400 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 29 20 3c 73 70 </span>.<span.class="line">).<sp
f9420 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>
f9440 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
f9460 20 3c 73 70 61 6e 20 63 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
f9480 6e 3e 20 73 72 63 20 3d 20 73 6f 75 72 63 65 5f 70 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d n>.src.=.source_ptr[<span.class=
f94a0 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 73 6f 75 72 63 65 5f 6c 65 "tok-number">0</span>..source_le
f94c0 6e 5d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 n];</span>.<span.class="line">..
f94e0 20 20 3c 73 70 61 6e 20 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
f9500 61 6e 3e 20 64 65 73 74 20 3d 20 64 65 73 74 5f 70 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d an>.dest.=.dest_ptr[<span.class=
f9520 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 64 65 73 74 5f 6c 65 6e 5d "tok-number">0</span>..dest_len]
f9540 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
f9560 3c 73 70 61 6e 20 63 6c 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
f9580 3e 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 72 20 3d 20 62 61 73 65 36 34 2e 73 74 61 6e 64 61 >.base64_decoder.=.base64.standa
f95a0 72 64 2e 44 65 63 6f 64 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 rd.Decoder;</span>.<span.class="
f95c0 6c 69 6e 65 22 3e 20 20 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
f95e0 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 65 63 6f 64 65 64 5f 73 69 7a 65 20 3d 20 62 61 73 65 36 onst</span>.decoded_size.=.base6
f9600 34 5f 64 65 63 6f 64 65 72 2e 63 61 6c 63 53 69 7a 65 46 6f 72 53 6c 69 63 65 28 73 72 63 29 20 4_decoder.calcSizeForSlice(src).
f9620 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
f9640 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 >.<span.class="tok-kw">unreachab
f9660 6c 65 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c le</span>;</span>.<span.class="l
f9680 69 6e 65 22 3e 20 20 20 20 62 61 73 65 36 34 5f 64 65 63 6f 64 65 72 2e 64 65 63 6f 64 65 28 64 ine">....base64_decoder.decode(d
f96a0 65 73 74 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f est[<span.class="tok-number">0</
f96c0 73 70 61 6e 3e 2e 2e 64 65 63 6f 64 65 64 5f 73 69 7a 65 5d 2c 20 73 72 63 29 20 3c 73 70 61 6e span>..decoded_size],.src).<span
f96e0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 .class="tok-kw">catch</span>.<sp
f9700 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
f9720 70 61 6e 3e 3b 3c 2f 73 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">
f9740 20 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<
f9760 2f 73 70 61 6e 3e 20 64 65 63 6f 64 65 64 5f 73 69 7a 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 /span>.decoded_size;</span>.<spa
f9780 6e 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></
f97a0 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 pre></figure>.......<figure><fig
f97c0 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 63 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 caption.class="c-cap"><cite.clas
f97e0 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 63 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 s="file">test.c</cite></figcapti
f9800 6f 6e 3e 3c 70 72 65 3e 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"
f9820 3e 2f 2f 20 54 68 69 73 20 68 65 61 64 65 72 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 >//.This.header.is.generated.by.
f9840 7a 69 67 20 66 72 6f 6d 20 62 61 73 65 36 34 2e 7a 69 67 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e zig.from.base64.zig</span>.<span
f9860 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 69 6e 63 6c 75 64 65 20 26 71 75 6f 74 3b 62 61 73 .class="line">#include.&quot;bas
f9880 65 36 34 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 e64.h&quot;</span>.<span.class="
f98a0 6c 69 6e 65 22 3e 3c 2f 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"
f98c0 3e 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 72 69 6e 67 2e 68 26 67 74 3b 3c 2f 73 70 61 6e >#include.&lt;string.h&gt;</span
f98e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 69 6e 63 6c 75 64 65 20 26 6c >.<span.class="line">#include.&l
f9900 74 3b 73 74 64 69 6f 2e 68 26 67 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 t;stdio.h&gt;</span>.<span.class
f9920 3d 22 6c 69 6e 65 22 3e 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
f9940 65 22 3e 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 e">int.main(int.argc,.char.**arg
f9960 76 29 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 v).{</span>.<span.class="line">.
f9980 20 20 20 63 6f 6e 73 74 20 63 68 61 72 20 2a 65 6e 63 6f 64 65 64 20 3d 20 26 71 75 6f 74 3b 59 ...const.char.*encoded.=.&quot;Y
f99a0 57 78 73 49 48 6c 76 64 58 49 67 59 6d 46 7a 5a 53 42 68 63 6d 55 67 59 6d 56 73 62 32 35 6e 49 WxsIHlvdXIgYmFzZSBhcmUgYmVsb25nI
f99c0 48 52 76 49 48 56 7a 26 71 75 6f 74 3b 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 HRvIHVz&quot;;</span>.<span.clas
f99e0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 63 68 61 72 20 62 75 66 5b 32 30 30 5d 3b 3c 2f 73 70 61 s="line">....char.buf[200];</spa
f9a00 6e 3e 0a 3c 73 70 61 6e 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
f9a20 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 73 69 7a 65 5f 74 20 6c 65 6e 20 pan.class="line">....size_t.len.
f9a40 3d 20 64 65 63 6f 64 65 5f 62 61 73 65 5f 36 34 28 62 75 66 2c 20 32 30 30 2c 20 65 6e 63 6f 64 =.decode_base_64(buf,.200,.encod
f9a60 65 64 2c 20 73 74 72 6c 65 6e 28 65 6e 63 6f 64 65 64 29 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ed,.strlen(encoded));</span>.<sp
f9a80 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 62 75 66 5b 6c 65 6e 5d 20 3d 20 30 an.class="line">....buf[len].=.0
f9aa0 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
f9ac0 70 75 74 73 28 62 75 66 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c puts(buf);</span>.<span.class="l
f9ae0 69 6e 65 22 3e 3c 2f 73 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">
f9b00 20 20 20 20 72 65 74 75 72 6e 20 30 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ....return.0;</span>.<span.class
f9b20 3d 22 6c 69 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
f9b40 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
f9b60 20 63 6c 61 73 73 3d 22 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
f9b80 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e le">build.zig</cite></figcaption
f9ba0 3e 3c 70 72 65 3e 3c 63 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"><
f9bc0 73 70 61 6e 20 63 6c 61 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>
f9be0 20 42 75 69 6c 64 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c .Builder.=.<span.class="tok-buil
f9c00 74 69 6e 22 3e 40 69 6d 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=
f9c20 22 74 6f 6b 2d 73 74 72 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>
f9c40 29 2e 62 75 69 6c 64 2e 42 75 69 6c 64 65 72 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ).build.Builder;</span>.<span.cl
f9c60 61 73 73 3d 22 6c 69 6e 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="
f9c80 6c 69 6e 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</
f9ca0 73 70 61 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
f9cc0 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 75 69 6c 64 3c pan>.<span.class="tok-fn">build<
f9ce0 2f 73 70 61 6e 3e 28 62 3a 20 2a 42 75 69 6c 64 65 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d /span>(b:.*Builder).<span.class=
f9d00 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>.
f9d20 3c 73 70 61 6e 20 63 6c 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
f9d40 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 62 6a 20 3d 20 62 ss="tok-kw">const</span>.obj.=.b
f9d60 2e 61 64 64 4f 62 6a 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 .addObject(<span.class="tok-str"
f9d80 3e 26 71 75 6f 74 3b 62 61 73 65 36 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 >&quot;base64&quot;</span>,.<spa
f9da0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 73 65 36 34 2e 7a n.class="tok-str">&quot;base64.z
f9dc0 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ig&quot;</span>);</span>.<span.c
f9de0 6c 61 73 73 3d 22 6c 69 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=
f9e00 22 6c 69 6e 65 22 3e 20 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">
f9e20 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 65 20 3d 20 62 2e 61 64 64 45 78 65 63 75 74 61 62 const</span>.exe.=.b.addExecutab
f9e40 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 le(<span.class="tok-str">&quot;t
f9e60 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 est&quot;</span>,.<span.class="t
f9e80 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 ok-null">null</span>);</span>.<s
f9ea0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 61 64 64 43 53 6f 75 pan.class="line">....exe.addCSou
f9ec0 72 63 65 46 69 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 rceFile(<span.class="tok-str">&q
f9ee0 75 6f 74 3b 74 65 73 74 2e 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 5b 5f uot;test.c&quot;</span>,.&amp;[_
f9f00 5d 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 ][]<span.class="tok-kw">const</s
f9f20 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</
f9f40 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f span>{<span.class="tok-str">&quo
f9f60 74 3b 2d 73 74 64 3d 63 39 39 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b 3c 2f 73 70 61 6e t;-std=c99&quot;</span>});</span
f9f80 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 61 64 64 >.<span.class="line">....exe.add
f9fa0 4f 62 6a 65 63 74 28 6f 62 6a 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d Object(obj);</span>.<span.class=
f9fc0 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 6c 69 6e 6b 53 79 73 74 65 6d 4c 69 62 72 61 72 79 "line">....exe.linkSystemLibrary
f9fe0 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 (<span.class="tok-str">&quot;c&q
fa000 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
fa020 3d 22 6c 69 6e 65 22 3e 20 20 20 20 65 78 65 2e 69 6e 73 74 61 6c 6c 28 29 3b 3c 2f 73 70 61 6e ="line">....exe.install();</span
fa040 3e 0a 3c 73 70 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
fa060 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 ode></pre></figure>.......<figur
fa080 65 3e 3c 66 69 67 63 61 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">
fa0a0 53 68 65 6c 6c 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
fa0c0 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
fa0e0 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"
fa100 3e 24 20 3c 6b 62 64 3e 2e 2f 7a 69 67 2d 6f 75 74 2f 62 69 6e 2f 74 65 73 74 3c 2f 6b 62 64 3e >$.<kbd>./zig-out/bin/test</kbd>
fa120 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 6c 6c 20 79 </span>.<span.class="line">all.y
fa140 6f 75 72 20 62 61 73 65 20 61 72 65 20 62 65 6c 6f 6e 67 20 74 6f 20 75 73 3c 2f 73 70 61 6e 3e our.base.are.belong.to.us</span>
fa160 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
fa180 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="
fa1a0 23 54 61 72 67 65 74 73 22 3e 54 61 72 67 65 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c #Targets">Targets</a></li>.<li><
fa1c0 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 42 a.href="#Zig-Build-System">Zig.B
fa1e0 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 uild.System</a></li>.</ul>......
fa200 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 57 65 62 41 73 73 65 6d ................<h2.id="WebAssem
fa220 62 6c 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 65 62 41 73 73 65 6d 62 6c 79 22 3e bly"><a.href="#toc-WebAssembly">
fa240 57 65 62 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 WebAssembly</a>.<a.class="hdr".h
fa260 72 65 66 3d 22 23 57 65 62 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a ref="#WebAssembly">..</a></h2>..
fa280 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 73 75 70 70 6f 72 74 73 20 62 75 69 6c 64 69 6e 67 20 66 ......<p>Zig.supports.building.f
fa2a0 6f 72 20 57 65 62 41 73 73 65 6d 62 6c 79 20 6f 75 74 20 6f 66 20 74 68 65 20 62 6f 78 2e 3c 2f or.WebAssembly.out.of.the.box.</
fa2c0 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 46 72 65 65 73 74 61 6e 64 69 6e 67 22 3e 3c p>.......<h3.id="Freestanding"><
fa2e0 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 72 65 65 73 74 61 6e 64 69 6e 67 22 3e 46 72 65 65 73 a.href="#toc-Freestanding">Frees
fa300 74 61 6e 64 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d tanding</a>.<a.class="hdr".href=
fa320 22 23 46 72 65 65 73 74 61 6e 64 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 "#Freestanding">..</a></h3>.....
fa340 20 20 20 3c 70 3e 46 6f 72 20 68 6f 73 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 6c 69 6b 65 ...<p>For.host.environments.like
fa360 20 74 68 65 20 77 65 62 20 62 72 6f 77 73 65 72 20 61 6e 64 20 6e 6f 64 65 6a 73 2c 20 62 75 69 .the.web.browser.and.nodejs,.bui
fa380 6c 64 20 61 73 20 61 20 64 79 6e 61 6d 69 63 20 6c 69 62 72 61 72 79 20 75 73 69 6e 67 20 74 68 ld.as.a.dynamic.library.using.th
fa3a0 65 20 66 72 65 65 73 74 61 6e 64 69 6e 67 0a 20 20 20 20 20 20 4f 53 20 74 61 72 67 65 74 2e 20 e.freestanding.......OS.target..
fa3c0 48 65 72 65 27 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 72 75 6e 6e 69 6e 67 20 5a 69 67 Here's.an.example.of.running.Zig
fa3e0 20 63 6f 64 65 20 63 6f 6d 70 69 6c 65 64 20 74 6f 20 57 65 62 41 73 73 65 6d 62 6c 79 20 77 69 .code.compiled.to.WebAssembly.wi
fa400 74 68 20 6e 6f 64 65 6a 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 th.nodejs.</p>.......<figure><fi
fa420 67 63 61 70 74 69 6f 6e 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
fa440 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 74 68 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 lass="file">math.zig</cite></fig
fa460 63 61 70 74 69 6f 6e 3e 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="
fa480 6c 69 6e 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
fa4a0 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e n</span>.<span.class="tok-kw">fn
fa4c0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 72 69 </span>.<span.class="tok-fn">pri
fa4e0 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 nt</span>(<span.class="tok-type"
fa500 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 >i32</span>).<span.class="tok-ty
fa520 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c pe">void</span>;</span>.<span.cl
fa540 61 73 73 3d 22 6c 69 6e 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="
fa560 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 line"><span.class="tok-kw">expor
fa580 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e t</span>.<span.class="tok-kw">fn
fa5a0 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 </span>.<span.class="tok-fn">add
fa5c0 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 </span>(a:.<span.class="tok-type
fa5e0 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f ">i32</span>,.b:.<span.class="to
fa600 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d k-type">i32</span>).<span.class=
fa620 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>.
fa640 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 70 72 69 6e 74 28 61 20 2b <span.class="line">....print(a.+
fa660 20 62 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 7d .b);</span>.<span.class="line">}
fa680 3c 2f 73 70 61 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
fa6a0 67 75 72 65 3e 3c 66 69 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
fa6c0 70 22 3e 53 68 65 6c 6c 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>
fa6e0 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
fa700 69 6c 64 2d 6c 69 62 20 6d 61 74 68 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 77 61 73 6d 33 32 2d ild-lib.math.zig.-target.wasm32-
fa720 66 72 65 65 73 74 61 6e 64 69 6e 67 20 2d 64 79 6e 61 6d 69 63 3c 2f 6b 62 64 3e 3c 2f 73 70 61 freestanding.-dynamic</kbd></spa
fa740 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>.......
fa760 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 6a 61 76 61 73 <figure><figcaption.class="javas
fa780 63 72 69 70 74 2d 63 61 70 22 3e 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 cript-cap"><cite.class="file">te
fa7a0 73 74 2e 6a 73 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e 3e 3c 70 72 65 3e 3c 63 st.js</cite></figcaption><pre><c
fa7c0 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6f 6e 73 74 20 66 73 20 ode><span.class="line">const.fs.
fa7e0 3d 20 72 65 71 75 69 72 65 28 27 66 73 27 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c =.require('fs');</span>.<span.cl
fa800 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6f 6e 73 74 20 73 6f 75 72 63 65 20 3d 20 66 73 2e 72 65 61 ass="line">const.source.=.fs.rea
fa820 64 46 69 6c 65 53 79 6e 63 28 26 71 75 6f 74 3b 2e 2f 6d 61 74 68 2e 77 61 73 6d 26 71 75 6f 74 dFileSync(&quot;./math.wasm&quot
fa840 3b 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 6f ;);</span>.<span.class="line">co
fa860 6e 73 74 20 74 79 70 65 64 41 72 72 61 79 20 3d 20 6e 65 77 20 55 69 6e 74 38 41 72 72 61 79 28 nst.typedArray.=.new.Uint8Array(
fa880 73 6f 75 72 63 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e source);</span>.<span.class="lin
fa8a0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 57 65 e"></span>.<span.class="line">We
fa8c0 62 41 73 73 65 6d 62 6c 79 2e 69 6e 73 74 61 6e 74 69 61 74 65 28 74 79 70 65 64 41 72 72 61 79 bAssembly.instantiate(typedArray
fa8e0 2c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ,.{</span>.<span.class="line">..
fa900 65 6e 76 3a 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 env:.{</span>.<span.class="line"
fa920 3e 20 20 20 20 70 72 69 6e 74 3a 20 28 72 65 73 75 6c 74 29 20 3d 26 67 74 3b 20 7b 20 63 6f 6e >....print:.(result).=&gt;.{.con
fa940 73 6f 6c 65 2e 6c 6f 67 28 60 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 24 7b 72 65 73 75 6c 74 sole.log(`The.result.is.${result
fa960 7d 60 29 3b 20 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 }`);.}</span>.<span.class="line"
fa980 3e 20 20 7d 7d 29 2e 74 68 65 6e 28 72 65 73 75 6c 74 20 3d 26 67 74 3b 20 7b 3c 2f 73 70 61 6e >..}}).then(result.=&gt;.{</span
fa9a0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6f 6e 73 74 20 61 64 64 >.<span.class="line">..const.add
fa9c0 20 3d 20 72 65 73 75 6c 74 2e 69 6e 73 74 61 6e 63 65 2e 65 78 70 6f 72 74 73 2e 61 64 64 3b 3c .=.result.instance.exports.add;<
fa9e0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 64 64 28 /span>.<span.class="line">..add(
faa00 31 2c 20 32 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 1,.2);</span>.<span.class="line"
faa20 3e 7d 29 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 >});</span></code></pre></figure
faa40 3e 0a 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d >.....<figure><figcaption.class=
faa60 22 73 68 65 6c 6c 2d 63 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
faa80 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
faaa0 62 64 3e 6e 6f 64 65 20 74 65 73 74 2e 6a 73 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 bd>node.test.js</kbd></span>.<sp
faac0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 33 3c an.class="line">The.result.is.3<
faae0 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>...
fab00 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 41 53 49 22 3e 3c 61 20 68 72 65 66 ...........<h3.id="WASI"><a.href
fab20 3d 22 23 74 6f 63 2d 57 41 53 49 22 3e 57 41 53 49 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 ="#toc-WASI">WASI</a>.<a.class="
fab40 68 64 72 22 20 68 72 65 66 3d 22 23 57 41 53 49 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 hdr".href="#WASI">..</a></h3>...
fab60 20 20 20 20 20 3c 70 3e 5a 69 67 27 73 20 73 75 70 70 6f 72 74 20 66 6f 72 20 57 65 62 41 73 73 .....<p>Zig's.support.for.WebAss
fab80 65 6d 62 6c 79 20 53 79 73 74 65 6d 20 49 6e 74 65 72 66 61 63 65 20 28 57 41 53 49 29 20 69 73 embly.System.Interface.(WASI).is
faba0 20 75 6e 64 65 72 20 61 63 74 69 76 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 0a 20 20 20 20 20 .under.active.development.......
fabc0 20 45 78 61 6d 70 6c 65 20 6f 66 20 75 73 69 6e 67 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c .Example.of.using.the.standard.l
fabe0 69 62 72 61 72 79 20 61 6e 64 20 72 65 61 64 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 ibrary.and.reading.command.line.
fac00 61 72 67 75 6d 65 6e 74 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 67 75 72 65 3e 3c 66 69 arguments:</p>.......<figure><fi
fac20 67 63 61 70 74 69 6f 6e 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
fac40 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 72 67 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 lass="file">args.zig</cite></fig
fac60 63 61 70 74 69 6f 6e 3e 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="
fac80 6c 69 6e 65 22 3e 3c 73 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
faca0 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
facc0 75 69 6c 74 69 6e 22 3e 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
face0 73 73 3d 22 74 6f 6b 2d 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
fad00 61 6e 3e 29 3b 3c 2f 73 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">
fad20 3c 2f 73 70 61 6e 3e 0a 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
fad40 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
fad60 20 63 6c 61 73 73 3d 22 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.
fad80 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 class="tok-fn">main</span>().!<s
fada0 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>
fadc0 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 .{</span>.<span.class="line">...
fade0 20 3c 73 70 61 6e 20 63 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>
fae00 20 67 65 6e 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 .general_purpose_allocator.=.std
fae20 2e 68 65 61 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f 72 28 2e 7b .heap.GeneralPurposeAllocator(.{
fae40 7d 29 7b 7d 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e }){};</span>.<span.class="line">
fae60 20 20 20 20 3c 73 70 61 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</
fae80 73 70 61 6e 3e 20 67 70 61 20 3d 20 67 65 6e 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f 61 6c 6c 6f span>.gpa.=.general_purpose_allo
faea0 63 61 74 6f 72 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 cator.allocator();</span>.<span.
faec0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f class="line">....<span.class="to
faee0 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 67 73 20 3d 20 3c 73 70 61 6e 20 k-kw">const</span>.args.=.<span.
faf00 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 70 72 class="tok-kw">try</span>.std.pr
faf20 6f 63 65 73 73 2e 61 72 67 73 41 6c 6c 6f 63 28 67 70 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ocess.argsAlloc(gpa);</span>.<sp
faf40 61 6e 20 63 6c 61 73 73 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=
faf60 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 70 72 6f 63 65 73 "tok-kw">defer</span>.std.proces
faf80 73 2e 61 72 67 73 46 72 65 65 28 67 70 61 2c 20 61 72 67 73 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 s.argsFree(gpa,.args);</span>.<s
fafa0 70 61 6e 20 63 6c 61 73 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
fafc0 6c 61 73 73 3d 22 6c 69 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
fafe0 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 61 72 67 73 29 20 7c 61 72 67 2c 20 69 7c 20 -kw">for</span>.(args).|arg,.i|.
fb000 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 {</span>.<span.class="line">....
fb020 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=
fb040 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 3a 20 7b 73 7d 5c 6e 26 71 75 6f 74 3b 3c "tok-str">&quot;{}:.{s}\n&quot;<
fb060 2f 73 70 61 6e 3e 2c 20 2e 7b 20 69 2c 20 61 72 67 20 7d 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 /span>,..{.i,.arg.});</span>.<sp
fb080 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
fb0a0 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><
fb0c0 2f 70 72 65 3e 3c 2f 66 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
fb0e0 6e 20 63 6c 61 73 73 3d 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
fb100 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
fb120 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 61 72 67 73 2e 7a 69 ne">$.<kbd>zig.build-exe.args.zi
fb140 67 20 2d 74 61 72 67 65 74 20 77 61 73 6d 33 32 2d 77 61 73 69 3c 2f 6b 62 64 3e 3c 2f 73 70 61 g.-target.wasm32-wasi</kbd></spa
fb160 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>.......
fb180 3c 66 69 67 75 72 65 3e 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
fb1a0 2d 63 61 70 22 3e 53 68 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
fb1c0 6d 70 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 77 61 73 mp><span.class="line">$.<kbd>was
fb1e0 6d 74 69 6d 65 20 61 72 67 73 2e 77 61 73 6d 20 31 32 33 20 68 65 6c 6c 6f 3c 2f 6b 62 64 3e 3c mtime.args.wasm.123.hello</kbd><
fb200 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 30 3a 20 61 72 67 /span>.<span.class="line">0:.arg
fb220 73 2e 77 61 73 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 s.wasm</span>.<span.class="line"
fb240 3e 31 3a 20 31 32 33 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 >1:.123</span>.<span.class="line
fb260 22 3e 32 3a 20 68 65 6c 6c 6f 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c ">2:.hello</span>.</samp></pre><
fb280 2f 66 69 67 75 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 41 20 6d 6f 72 65 20 69 6e 74 65 72 65 73 /figure>.......<p>A.more.interes
fb2a0 74 69 6e 67 20 65 78 61 6d 70 6c 65 20 77 6f 75 6c 64 20 62 65 20 65 78 74 72 61 63 74 69 6e 67 ting.example.would.be.extracting
fb2c0 20 74 68 65 20 6c 69 73 74 20 6f 66 20 70 72 65 6f 70 65 6e 73 20 66 72 6f 6d 20 74 68 65 20 72 .the.list.of.preopens.from.the.r
fb2e0 75 6e 74 69 6d 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 6e 6f 77 20 73 75 70 70 6f 72 untime........This.is.now.suppor
fb300 74 65 64 20 69 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 76 69 61 20 ted.in.the.standard.library.via.
fb320 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 74 64 2e 66 73 2e <code><span.class="line">std.fs.
fb340 77 61 73 69 2e 50 72 65 6f 70 65 6e 4c 69 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 3c wasi.PreopenList</span></code>:<
fb360 2f 70 3e 0a 20 20 20 20 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
fb380 61 73 73 3d 22 7a 69 67 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"
fb3a0 3e 70 72 65 6f 70 65 6e 73 2e 7a 69 67 3c 2f 63 69 74 65 3e 3c 2f 66 69 67 63 61 70 74 69 6f 6e >preopens.zig</cite></figcaption
fb3c0 3e 3c 70 72 65 3e 3c 63 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"><
fb3e0 73 70 61 6e 20 63 6c 61 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>
fb400 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"
fb420 3e 40 69 6d 70 6f 72 74 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
fb440 2d 73 74 72 22 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>);</
fb460 73 70 61 6e 3e 0a 3c 73 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
fb480 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 72 65 6f 70 lass="tok-kw">const</span>.Preop
fb4a0 65 6e 4c 69 73 74 20 3d 20 73 74 64 2e 66 73 2e 77 61 73 69 2e 50 72 65 6f 70 65 6e 4c 69 73 74 enList.=.std.fs.wasi.PreopenList
fb4c0 3b 3c 2f 73 70 61 6e 3e 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
fb4e0 61 6e 3e 0a 3c 73 70 61 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
fb500 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
fb520 73 73 3d 22 74 6f 6b 2d 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
fb540 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.
fb560 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>.{</
fb580 73 70 61 6e 3e 0a 3c 73 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
fb5a0 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 65 6e an.class="tok-kw">var</span>.gen
fb5c0 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e 68 65 61 eral_purpose_allocator.=.std.hea
fb5e0 70 2e 47 65 6e 65 72 61 6c 50 75 72 70 6f 73 65 41 6c 6c 6f 63 61 74 6f 72 28 2e 7b 7d 29 7b 7d p.GeneralPurposeAllocator(.{}){}
fb600 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
fb620 3c 73 70 61 6e 20 63 6c 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
fb640 3e 20 67 70 61 20 3d 20 67 65 6e 65 72 61 6c 5f 70 75 72 70 6f 73 65 5f 61 6c 6c 6f 63 61 74 6f >.gpa.=.general_purpose_allocato
fb660 72 2e 61 6c 6c 6f 63 61 74 6f 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 r.allocator();</span>.<span.clas
fb680 73 3d 22 6c 69 6e 65 22 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
fb6a0 6e 65 22 3e 20 20 20 20 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
fb6c0 3c 2f 73 70 61 6e 3e 20 70 72 65 6f 70 65 6e 73 20 3d 20 50 72 65 6f 70 65 6e 4c 69 73 74 2e 69 </span>.preopens.=.PreopenList.i
fb6e0 6e 69 74 28 67 70 61 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 nit(gpa);</span>.<span.class="li
fb700 6e 65 22 3e 20 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
fb720 65 72 3c 2f 73 70 61 6e 3e 20 70 72 65 6f 70 65 6e 73 2e 64 65 69 6e 69 74 28 29 3b 3c 2f 73 70 er</span>.preopens.deinit();</sp
fb740 61 6e 3e 0a 3c 73 70 61 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>.<
fb760 73 70 61 6e 20 63 6c 61 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
fb780 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 72 65 6f 70 65 6e 73 2e 70 s="tok-kw">try</span>.preopens.p
fb7a0 6f 70 75 6c 61 74 65 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c opulate();</span>.<span.class="l
fb7c0 69 6e 65 22 3e 3c 2f 73 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">
fb7e0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 ....<span.class="tok-kw">for</sp
fb800 61 6e 3e 20 28 70 72 65 6f 70 65 6e 73 2e 61 73 53 6c 69 63 65 28 29 29 20 7c 70 72 65 6f 70 65 an>.(preopens.asSlice()).|preope
fb820 6e 2c 20 69 7c 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 n,.i|.{</span>.<span.class="line
fb840 22 3e 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 ">........std.debug.print(<span.
fb860 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 3a 20 7b 7d 5c 6e 26 71 class="tok-str">&quot;{}:.{}\n&q
fb880 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 20 69 2c 20 70 72 65 6f 70 65 6e 20 7d 29 3b 3c 2f uot;</span>,..{.i,.preopen.});</
fb8a0 73 70 61 6e 3e 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">....}</
fb8c0 73 70 61 6e 3e 0a 3c 73 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
fb8e0 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><
fb900 66 69 67 63 61 70 74 69 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
fb920 6c 6c 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.
fb940 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
fb960 65 20 70 72 65 6f 70 65 6e 73 2e 7a 69 67 20 2d 74 61 72 67 65 74 20 77 61 73 6d 33 32 2d 77 61 e.preopens.zig.-target.wasm32-wa
fb980 73 69 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 si</kbd></span>.</samp></pre></f
fb9a0 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
fb9c0 20 63 6c 61 73 73 3d 22 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
fb9e0 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
fba00 65 22 3e 24 20 3c 6b 62 64 3e 77 61 73 6d 74 69 6d 65 20 2d 2d 64 69 72 3d 2e 20 70 72 65 6f 70 e">$.<kbd>wasmtime.--dir=..preop
fba20 65 6e 73 2e 77 61 73 6d 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ens.wasm</kbd></span>.<span.clas
fba40 73 3d 22 6c 69 6e 65 22 3e 30 3a 20 50 72 65 6f 70 65 6e 7b 20 2e 66 64 20 3d 20 33 2c 20 2e 74 s="line">0:.Preopen{..fd.=.3,..t
fba60 79 70 65 20 3d 20 50 72 65 6f 70 65 6e 54 79 70 65 7b 20 2e 44 69 72 20 3d 20 27 2e 27 20 7d 20 ype.=.PreopenType{..Dir.=.'.'.}.
fba80 7d 3c 2f 73 70 61 6e 3e 0a 3c 2f 73 61 6d 70 3e 3c 2f 70 72 65 3e 3c 2f 66 69 67 75 72 65 3e 0a }</span>.</samp></pre></figure>.
fbaa0 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 54 61 72 67 ....................<h2.id="Targ
fbac0 65 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 61 72 67 65 74 73 22 3e 54 61 72 67 ets"><a.href="#toc-Targets">Targ
fbae0 65 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 61 ets</a>.<a.class="hdr".href="#Ta
fbb00 72 67 65 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 rgets">..</a></h2>........<p>...
fbb20 20 20 20 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 67 65 6e 65 72 61 74 69 6e 67 20 63 6f 64 65 ....Zig.supports.generating.code
fbb40 20 66 6f 72 20 61 6c 6c 20 74 61 72 67 65 74 73 20 74 68 61 74 20 4c 4c 56 4d 20 73 75 70 70 6f .for.all.targets.that.LLVM.suppo
fbb60 72 74 73 2e 20 48 65 72 65 20 69 73 0a 20 20 20 20 20 20 77 68 61 74 20 69 74 20 6c 6f 6f 6b 73 rts..Here.is.......what.it.looks
fbb80 20 6c 69 6b 65 20 74 6f 20 65 78 65 63 75 74 65 20 3c 63 6f 64 65 3e 7a 69 67 20 74 61 72 67 65 .like.to.execute.<code>zig.targe
fbba0 74 73 3c 2f 63 6f 64 65 3e 20 6f 6e 20 61 20 4c 69 6e 75 78 20 78 38 36 5f 36 34 0a 20 20 20 20 ts</code>.on.a.Linux.x86_64.....
fbbc0 20 20 63 6f 6d 70 75 74 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 66 69 ..computer:.......</p>.......<fi
fbbe0 67 75 72 65 3e 3c 66 69 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
fbc00 70 22 3e 53 68 65 6c 6c 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>
fbc20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 24 20 3c 6b 62 64 3e 7a 69 67 20 74 61 <span.class="line">$.<kbd>zig.ta
fbc40 72 67 65 74 73 3c 2f 6b 62 64 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 rgets</kbd></span>.<span.class="
fbc60 6c 69 6e 65 22 3e 41 72 63 68 69 74 65 63 74 75 72 65 73 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 line">Architectures:</span>.<spa
fbc80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 n.class="line">..arm</span>.<spa
fbca0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 34 61 3c 2f 73 70 61 6e 3e 0a n.class="line">....v8_4a</span>.
fbcc0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 33 61 3c 2f 73 70 <span.class="line">....v8_3a</sp
fbce0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 32 61 an>.<span.class="line">....v8_2a
fbd00 3c 2f 73 70 61 6e 3e 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
fbd20 38 5f 31 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 8_1a</span>.<span.class="line">.
fbd40 20 20 20 76 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...v8</span>.<span.class="line">
fbd60 20 20 20 20 76 38 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ....v8r</span>.<span.class="line
fbd80 22 3e 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ">....v8m_baseline</span>.<span.
fbda0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 3c 2f 73 class="line">....v8m_mainline</s
fbdc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 3c 2f pan>.<span.class="line">....v7</
fbde0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 65 span>.<span.class="line">....v7e
fbe00 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">....
fbe20 76 37 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 v7m</span>.<span.class="line">..
fbe40 20 20 76 37 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..v7s</span>.<span.class="line">
fbe60 20 20 20 20 76 37 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ....v7k</span>.<span.class="line
fbe80 22 3e 20 20 20 20 76 37 76 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ">....v7ve</span>.<span.class="l
fbea0 69 6e 65 22 3e 20 20 20 20 76 36 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">....v6</span>.<span.class="
fbec0 6c 69 6e 65 22 3e 20 20 20 20 76 36 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 line">....v6m</span>.<span.class
fbee0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ="line">....v6k</span>.<span.cla
fbf00 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 74 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ss="line">....v6t2</span>.<span.
fbf20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e class="line">....v5</span>.<span
fbf40 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 74 65 3c 2f 73 70 61 6e 3e 0a 3c 73 .class="line">....v5te</span>.<s
fbf60 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 34 74 3c 2f 73 70 61 6e 3e 0a pan.class="line">....v4t</span>.
fbf80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 65 62 3c 2f 73 70 61 6e <span.class="line">..armeb</span
fbfa0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 34 61 3c 2f >.<span.class="line">....v8_4a</
fbfc0 73 70 61 6e 3e 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_
fbfe0 33 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 3a</span>.<span.class="line">...
fc000 20 76 38 5f 32 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .v8_2a</span>.<span.class="line"
fc020 3e 20 20 20 20 76 38 5f 31 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >....v8_1a</span>.<span.class="l
fc040 69 6e 65 22 3e 20 20 20 20 76 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">....v8</span>.<span.class="
fc060 6c 69 6e 65 22 3e 20 20 20 20 76 38 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 line">....v8r</span>.<span.class
fc080 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a ="line">....v8m_baseline</span>.
fc0a0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c <span.class="line">....v8m_mainl
fc0c0 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ine</span>.<span.class="line">..
fc0e0 20 20 76 37 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 ..v7</span>.<span.class="line">.
fc100 20 20 20 76 37 65 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ...v7em</span>.<span.class="line
fc120 22 3e 20 20 20 20 76 37 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ">....v7m</span>.<span.class="li
fc140 6e 65 22 3e 20 20 20 20 76 37 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ne">....v7s</span>.<span.class="
fc160 6c 69 6e 65 22 3e 20 20 20 20 76 37 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 line">....v7k</span>.<span.class
fc180 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 76 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ="line">....v7ve</span>.<span.cl
fc1a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">....v6</span>.<span.c
fc1c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e lass="line">....v6m</span>.<span
fc1e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .class="line">....v6k</span>.<sp
fc200 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 74 32 3c 2f 73 70 61 6e 3e 0a an.class="line">....v6t2</span>.
fc220 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 3c 2f 73 70 61 6e 3e <span.class="line">....v5</span>
fc240 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 74 65 3c 2f 73 70 .<span.class="line">....v5te</sp
fc260 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 34 74 3c 2f an>.<span.class="line">....v4t</
fc280 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 61 72 63 68 span>.<span.class="line">..aarch
fc2a0 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 64</span>.<span.class="line">...
fc2c0 20 76 38 5f 34 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 .v8_4a</span>.<span.class="line"
fc2e0 3e 20 20 20 20 76 38 5f 33 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >....v8_3a</span>.<span.class="l
fc300 69 6e 65 22 3e 20 20 20 20 76 38 5f 32 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ine">....v8_2a</span>.<span.clas
fc320 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 31 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="line">....v8_1a</span>.<span.
fc340 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e class="line">....v8</span>.<span
fc360 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .class="line">....v8r</span>.<sp
fc380 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 an.class="line">....v8m_baseline
fc3a0 3c 2f 73 70 61 6e 3e 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
fc3c0 38 6d 5f 6d 61 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 8m_mainline</span>.<span.class="
fc3e0 6c 69 6e 65 22 3e 20 20 61 61 72 63 68 36 34 5f 62 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 line">..aarch64_be</span>.<span.
fc400 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 34 61 3c 2f 73 70 61 6e 3e 0a 3c 73 class="line">....v8_4a</span>.<s
fc420 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 33 61 3c 2f 73 70 61 6e pan.class="line">....v8_3a</span
fc440 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 32 61 3c 2f >.<span.class="line">....v8_2a</
fc460 73 70 61 6e 3e 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_
fc480 31 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 1a</span>.<span.class="line">...
fc4a0 20 76 38 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 .v8</span>.<span.class="line">..
fc4c0 20 20 76 38 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ..v8r</span>.<span.class="line">
fc4e0 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ....v8m_baseline</span>.<span.cl
fc500 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 3c 2f 73 70 61 ass="line">....v8m_mainline</spa
fc520 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 76 72 3c 2f 73 70 61 n>.<span.class="line">..avr</spa
fc540 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 62 70 66 65 6c 3c 2f 73 n>.<span.class="line">..bpfel</s
fc560 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 62 70 66 65 62 3c pan>.<span.class="line">..bpfeb<
fc580 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 68 65 78 61 /span>.<span.class="line">..hexa
fc5a0 67 6f 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 gon</span>.<span.class="line">..
fc5c0 6d 69 70 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 mips</span>.<span.class="line">.
fc5e0 20 6d 69 70 73 65 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .mipsel</span>.<span.class="line
fc600 22 3e 20 20 6d 69 70 73 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ">..mips64</span>.<span.class="l
fc620 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 65 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ine">..mips64el</span>.<span.cla
fc640 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 73 70 34 33 30 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ss="line">..msp430</span>.<span.
fc660 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 3c 2f 73 70 61 6e 3e 0a 3c 73 class="line">..powerpc</span>.<s
fc680 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 36 34 3c 2f 73 70 pan.class="line">..powerpc64</sp
fc6a0 61 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
fc6c0 36 34 6c 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 64le</span>.<span.class="line">.
fc6e0 20 72 36 30 30 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .r600</span>.<span.class="line">
fc700 20 20 61 6d 64 67 63 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ..amdgcn</span>.<span.class="lin
fc720 65 22 3e 20 20 72 69 73 63 76 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">..riscv32</span>.<span.class=
fc740 22 6c 69 6e 65 22 3e 20 20 72 69 73 63 76 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c "line">..riscv64</span>.<span.cl
fc760 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 70 61 72 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ass="line">..sparc</span>.<span.
fc780 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 70 61 72 63 76 39 3c 2f 73 70 61 6e 3e 0a 3c 73 class="line">..sparcv9</span>.<s
fc7a0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 70 61 72 63 65 6c 3c 2f 73 70 61 6e pan.class="line">..sparcel</span
fc7c0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 33 39 30 78 3c 2f 73 70 >.<span.class="line">..s390x</sp
fc7e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 74 68 75 6d 62 3c 2f an>.<span.class="line">..thumb</
fc800 73 70 61 6e 3e 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_
fc820 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">...
fc840 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"
fc860 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
fc880 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
fc8a0 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
fc8c0 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
fc8e0 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
fc900 61 6e 3e 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
fc920 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
fc940 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
fc960 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="
fc980 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
fc9a0 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
fc9c0 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
fc9e0 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
fca00 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
fca20 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>.<
fca40 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>
fca60 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
fca80 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 35 3c 2f 73 an>.<span.class="line">....v5</s
fcaa0 70 61 6e 3e 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
fcac0 3c 2f 73 70 61 6e 3e 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
fcae0 34 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 74 4t</span>.<span.class="line">..t
fcb00 68 75 6d 62 65 62 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 humbeb</span>.<span.class="line"
fcb20 3e 20 20 20 20 76 38 5f 34 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >....v8_4a</span>.<span.class="l
fcb40 69 6e 65 22 3e 20 20 20 20 76 38 5f 33 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ine">....v8_3a</span>.<span.clas
fcb60 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 32 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 s="line">....v8_2a</span>.<span.
fcb80 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 5f 31 61 3c 2f 73 70 61 6e 3e 0a 3c 73 class="line">....v8_1a</span>.<s
fcba0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 3c 2f 73 70 61 6e 3e 0a 3c pan.class="line">....v8</span>.<
fcbc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 72 3c 2f 73 70 61 6e 3e span.class="line">....v8r</span>
fcbe0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 38 6d 5f 62 61 73 65 .<span.class="line">....v8m_base
fcc00 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 line</span>.<span.class="line">.
fcc20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ...v8m_mainline</span>.<span.cla
fcc40 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ss="line">....v7</span>.<span.cl
fcc60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 65 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ass="line">....v7em</span>.<span
fcc80 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .class="line">....v7m</span>.<sp
fcca0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 73 3c 2f 73 70 61 6e 3e 0a 3c an.class="line">....v7s</span>.<
fccc0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 6b 3c 2f 73 70 61 6e 3e span.class="line">....v7k</span>
fcce0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 37 76 65 3c 2f 73 70 .<span.class="line">....v7ve</sp
fcd00 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 3c 2f 73 an>.<span.class="line">....v6</s
fcd20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 76 36 6d 3c pan>.<span.class="line">....v6m<
fcd40 2f 73 70 61 6e 3e 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
fcd60 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 k</span>.<span.class="line">....
fcd80 76 36 74 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 v6t2</span>.<span.class="line">.
fcda0 20 20 20 76 35 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ...v5</span>.<span.class="line">
fcdc0 20 20 20 20 76 35 74 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ....v5te</span>.<span.class="lin
fcde0 65 22 3e 20 20 20 20 76 34 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c e">....v4t</span>.<span.class="l
fce00 69 6e 65 22 3e 20 20 69 33 38 36 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ine">..i386</span>.<span.class="
fce20 6c 69 6e 65 22 3e 20 20 78 38 36 5f 36 34 20 28 6e 61 74 69 76 65 29 3c 2f 73 70 61 6e 3e 0a 3c line">..x86_64.(native)</span>.<
fce40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 78 63 6f 72 65 3c 2f 73 70 61 6e 3e span.class="line">..xcore</span>
fce60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 76 70 74 78 3c 2f 73 70 61 .<span.class="line">..nvptx</spa
fce80 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 76 70 74 78 36 34 3c n>.<span.class="line">..nvptx64<
fcea0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6c 61 6e 61 /span>.<span.class="line">..lana
fcec0 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 77 61 i</span>.<span.class="line">..wa
fcee0 73 6d 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 sm32</span>.<span.class="line">.
fcf00 20 77 61 73 6d 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .wasm64</span>.<span.class="line
fcf20 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4f 70 65 "></span>.<span.class="line">Ope
fcf40 72 61 74 69 6e 67 20 53 79 73 74 65 6d 73 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 rating.Systems:</span>.<span.cla
fcf60 73 73 3d 22 6c 69 6e 65 22 3e 20 20 66 72 65 65 73 74 61 6e 64 69 6e 67 3c 2f 73 70 61 6e 3e 0a ss="line">..freestanding</span>.
fcf80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 6e 61 6e 61 73 3c 2f 73 70 61 <span.class="line">..ananas</spa
fcfa0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6c 6f 75 64 61 62 69 n>.<span.class="line">..cloudabi
fcfc0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 64 72 61 </span>.<span.class="line">..dra
fcfe0 67 6f 6e 66 6c 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 gonfly</span>.<span.class="line"
fd000 3e 20 20 66 72 65 65 62 73 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c >..freebsd</span>.<span.class="l
fd020 69 6e 65 22 3e 20 20 66 75 63 68 73 69 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ine">..fuchsia</span>.<span.clas
fd040 73 3d 22 6c 69 6e 65 22 3e 20 20 69 6f 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 s="line">..ios</span>.<span.clas
fd060 73 3d 22 6c 69 6e 65 22 3e 20 20 6b 66 72 65 65 62 73 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e s="line">..kfreebsd</span>.<span
fd080 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6c 69 6e 75 78 20 28 6e 61 74 69 76 65 29 3c 2f .class="line">..linux.(native)</
fd0a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6c 76 32 3c 2f span>.<span.class="line">..lv2</
fd0c0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 61 63 6f 73 span>.<span.class="line">..macos
fd0e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 65 74 </span>.<span.class="line">..net
fd100 62 73 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 bsd</span>.<span.class="line">..
fd120 6f 70 65 6e 62 73 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 openbsd</span>.<span.class="line
fd140 22 3e 20 20 73 6f 6c 61 72 69 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ">..solaris</span>.<span.class="
fd160 6c 69 6e 65 22 3e 20 20 77 69 6e 64 6f 77 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 line">..windows</span>.<span.cla
fd180 73 73 3d 22 6c 69 6e 65 22 3e 20 20 68 61 69 6b 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ss="line">..haiku</span>.<span.c
fd1a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 6e 69 78 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e lass="line">..minix</span>.<span
fd1c0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 72 74 65 6d 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 .class="line">..rtems</span>.<sp
fd1e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 61 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 an.class="line">..nacl</span>.<s
fd200 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6e 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">..cnk</span>.<s
fd220 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 69 78 3c 2f 73 70 61 6e 3e 0a 3c 73 pan.class="line">..aix</span>.<s
fd240 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 75 64 61 3c 2f 73 70 61 6e 3e 0a 3c pan.class="line">..cuda</span>.<
fd260 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 76 63 6c 3c 2f 73 70 61 6e 3e 0a span.class="line">..nvcl</span>.
fd280 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 6d 64 68 73 61 3c 2f 73 70 61 <span.class="line">..amdhsa</spa
fd2a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 73 34 3c 2f 73 70 61 n>.<span.class="line">..ps4</spa
fd2c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 65 6c 66 69 61 6d 63 75 n>.<span.class="line">..elfiamcu
fd2e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 74 76 6f </span>.<span.class="line">..tvo
fd300 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 77 61 s</span>.<span.class="line">..wa
fd320 73 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 77 si</span>.<span.class="line">..w
fd340 61 74 63 68 6f 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 atchos</span>.<span.class="line"
fd360 3e 20 20 6d 65 73 61 33 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 >..mesa3d</span>.<span.class="li
fd380 6e 65 22 3e 20 20 63 6f 6e 74 69 6b 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ne">..contiki</span>.<span.class
fd3a0 3d 22 6c 69 6e 65 22 3e 20 20 61 6d 64 70 61 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ="line">..amdpal</span>.<span.cl
fd3c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 7a 65 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ass="line">..zen</span>.<span.cl
fd3e0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 75 65 66 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">..uefi</span>.<span.c
fd400 6c 61 73 73 3d 22 6c 69 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=
fd420 22 6c 69 6e 65 22 3e 43 20 41 42 49 73 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 "line">C.ABIs:</span>.<span.clas
fd440 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 6f 6e 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 s="line">..none</span>.<span.cla
fd460 73 73 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 20 28 6e 61 74 69 76 65 29 3c 2f 73 70 61 6e 3e 0a ss="line">..gnu.(native)</span>.
fd480 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 61 62 69 6e 33 32 3c 2f <span.class="line">..gnuabin32</
fd4a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 61 62 span>.<span.class="line">..gnuab
fd4c0 69 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 i64</span>.<span.class="line">..
fd4e0 67 6e 75 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 gnueabi</span>.<span.class="line
fd500 22 3e 20 20 67 6e 75 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ">..gnueabihf</span>.<span.class
fd520 3d 22 6c 69 6e 65 22 3e 20 20 67 6e 75 78 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ="line">..gnux32</span>.<span.cl
fd540 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6f 64 65 31 36 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ass="line">..code16</span>.<span
fd560 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .class="line">..eabi</span>.<spa
fd580 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c n.class="line">..eabihf</span>.<
fd5a0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 6e 64 72 6f 69 64 3c 2f 73 70 61 span.class="line">..android</spa
fd5c0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 75 73 6c 3c 2f 73 70 n>.<span.class="line">..musl</sp
fd5e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 75 73 6c 65 61 62 an>.<span.class="line">..musleab
fd600 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 75 i</span>.<span.class="line">..mu
fd620 73 6c 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e sleabihf</span>.<span.class="lin
fd640 65 22 3e 20 20 6d 73 76 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 e">..msvc</span>.<span.class="li
fd660 6e 65 22 3e 20 20 69 74 61 6e 69 75 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ne">..itanium</span>.<span.class
fd680 3d 22 6c 69 6e 65 22 3e 20 20 63 79 67 6e 75 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ="line">..cygnus</span>.<span.cl
fd6a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 63 6f 72 65 63 6c 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ass="line">..coreclr</span>.<spa
fd6c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 69 6d 75 6c 61 74 6f 72 3c 2f 73 70 61 6e n.class="line">..simulator</span
fd6e0 3e 0a 3c 73 70 61 6e 20 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
fd700 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 76 61 69 6c 61 62 6c 65 20 6c 69 62 63 73 3a an.class="line">Available.libcs:
fd720 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 61 72 </span>.<span.class="line">..aar
fd740 63 68 36 34 5f 62 65 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ch64_be-linux-gnu</span>.<span.c
fd760 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 61 72 63 68 36 34 5f 62 65 2d 6c 69 6e 75 78 2d 6d lass="line">..aarch64_be-linux-m
fd780 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 usl</span>.<span.class="line">..
fd7a0 61 61 72 63 68 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 aarch64-linux-gnu</span>.<span.c
fd7c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 61 72 63 68 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c lass="line">..aarch64-linux-musl
fd7e0 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 eabi</span>.<span.class="line">.
fd800 20 61 72 6d 65 62 2d 6c 69 6e 75 78 2d 67 6e 75 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .armeb-linux-gnueabi</span>.<spa
fd820 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 65 62 2d 6c 69 6e 75 78 2d 67 6e 75 n.class="line">..armeb-linux-gnu
fd840 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 eabihf</span>.<span.class="line"
fd860 3e 20 20 61 72 6d 65 62 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c >..armeb-linux-musleabi</span>.<
fd880 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 65 62 2d 6c 69 6e 75 78 2d span.class="line">..armeb-linux-
fd8a0 6d 75 73 6c 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c musleabihf</span>.<span.class="l
fd8c0 69 6e 65 22 3e 20 20 61 72 6d 2d 6c 69 6e 75 78 2d 67 6e 75 65 61 62 69 3c 2f 73 70 61 6e 3e 0a ine">..arm-linux-gnueabi</span>.
fd8e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 2d 6c 69 6e 75 78 2d 67 <span.class="line">..arm-linux-g
fd900 6e 75 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e nueabihf</span>.<span.class="lin
fd920 65 22 3e 20 20 61 72 6d 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 3c 2f 73 70 61 6e 3e 0a 3c e">..arm-linux-musleabi</span>.<
fd940 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 61 72 6d 2d 6c 69 6e 75 78 2d 6d 75 span.class="line">..arm-linux-mu
fd960 73 6c 65 61 62 69 68 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e sleabihf</span>.<span.class="lin
fd980 65 22 3e 20 20 69 33 38 36 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e e">..i386-linux-gnu</span>.<span
fd9a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 69 33 38 36 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c .class="line">..i386-linux-musl<
fd9c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 /span>.<span.class="line">..mips
fd9e0 36 34 65 6c 2d 6c 69 6e 75 78 2d 67 6e 75 61 62 69 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 64el-linux-gnuabi64</span>.<span
fda00 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 65 6c 2d 6c 69 6e 75 78 2d 67 .class="line">..mips64el-linux-g
fda20 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
fda40 65 22 3e 20 20 6d 69 70 73 36 34 65 6c 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a e">..mips64el-linux-musl</span>.
fda60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 2d 6c 69 6e 75 <span.class="line">..mips64-linu
fda80 78 2d 67 6e 75 61 62 69 36 34 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c x-gnuabi64</span>.<span.class="l
fdaa0 69 6e 65 22 3e 20 20 6d 69 70 73 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 61 62 69 6e 33 32 3c 2f 73 ine">..mips64-linux-gnuabin32</s
fdac0 70 61 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
fdae0 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 -linux-musl</span>.<span.class="
fdb00 6c 69 6e 65 22 3e 20 20 6d 69 70 73 65 6c 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a line">..mipsel-linux-gnu</span>.
fdb20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 65 6c 2d 6c 69 6e 75 <span.class="line">..mipsel-linu
fdb40 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 x-musl</span>.<span.class="line"
fdb60 3e 20 20 6d 69 70 73 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 >..mips-linux-gnu</span>.<span.c
fdb80 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6d 69 70 73 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 lass="line">..mips-linux-musl</s
fdba0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 6e 69 6f 73 32 2d pan>.<span.class="line">..nios2-
fdbc0 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 linux-gnu</span>.<span.class="li
fdbe0 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 36 34 6c 65 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 ne">..powerpc64le-linux-gnu</spa
fdc00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 36 n>.<span.class="line">..powerpc6
fdc20 34 6c 65 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 4le-linux-musl</span>.<span.clas
fdc40 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f s="line">..powerpc64-linux-gnu</
fdc60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 span>.<span.class="line">..power
fdc80 70 63 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 pc64-linux-musl</span>.<span.cla
fdca0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 63 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 ss="line">..powerpc-linux-gnu</s
fdcc0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 70 6f 77 65 72 70 pan>.<span.class="line">..powerp
fdce0 63 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d c-linux-musl</span>.<span.class=
fdd00 22 6c 69 6e 65 22 3e 20 20 72 69 73 63 76 33 32 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 "line">..riscv32-linux-musl</spa
fdd20 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 72 69 73 63 76 36 34 2d n>.<span.class="line">..riscv64-
fdd40 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 linux-gnu</span>.<span.class="li
fdd60 6e 65 22 3e 20 20 72 69 73 63 76 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a ne">..riscv64-linux-musl</span>.
fdd80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 33 39 30 78 2d 6c 69 6e 75 78 <span.class="line">..s390x-linux
fdda0 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">.
fddc0 20 73 33 39 30 78 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .s390x-linux-musl</span>.<span.c
fdde0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 70 61 72 63 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 lass="line">..sparc-linux-gnu</s
fde00 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 73 70 61 72 63 76 pan>.<span.class="line">..sparcv
fde20 39 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 9-linux-gnu</span>.<span.class="
fde40 6c 69 6e 65 22 3e 20 20 77 61 73 6d 33 32 2d 66 72 65 65 73 74 61 6e 64 69 6e 67 2d 6d 75 73 6c line">..wasm32-freestanding-musl
fde60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 77 61 73 </span>.<span.class="line">..was
fde80 6d 33 32 2d 77 61 73 69 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 m32-wasi-musl</span>.<span.class
fdea0 3d 22 6c 69 6e 65 22 3e 20 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 3c 2f 73 70 61 6e ="line">..x86_64-linux-gnu</span
fdec0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 78 38 36 5f 36 34 2d 6c 69 >.<span.class="line">..x86_64-li
fdee0 6e 75 78 2d 67 6e 75 78 33 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c nux-gnux32</span>.<span.class="l
fdf00 69 6e 65 22 3e 20 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 3c 2f 73 70 61 6e 3e 0a ine">..x86_64-linux-musl</span>.
fdf20 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>
fdf40 0a 20 20 20 20 20 20 54 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 .......The.Zig.Standard.Library.
fdf60 28 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 (<code><span.class="line"><span.
fdf80 63 6c 61 73 73 3d 22 74 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
fdfa0 6e 3e 28 3c 73 70 61 6e 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
fdfc0 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 td&quot;</span>)</span></code>).
fdfe0 68 61 73 20 61 72 63 68 69 74 65 63 74 75 72 65 2c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 has.architecture,.environment,.a
fe000 6e 64 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 0a 20 20 20 20 20 20 61 62 73 74 72 61 nd.operating.system.......abstra
fe020 63 74 69 6f 6e 73 2c 20 61 6e 64 20 74 68 75 73 20 74 61 6b 65 73 20 61 64 64 69 74 69 6f 6e 61 ctions,.and.thus.takes.additiona
fe040 6c 20 77 6f 72 6b 20 74 6f 20 73 75 70 70 6f 72 74 20 6d 6f 72 65 20 70 6c 61 74 66 6f 72 6d 73 l.work.to.support.more.platforms
fe060 2e 0a 20 20 20 20 20 20 4e 6f 74 20 61 6c 6c 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 ........Not.all.standard.library
fe080 20 63 6f 64 65 20 72 65 71 75 69 72 65 73 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 20 .code.requires.operating.system.
fe0a0 61 62 73 74 72 61 63 74 69 6f 6e 73 2c 20 68 6f 77 65 76 65 72 2c 0a 20 20 20 20 20 20 73 6f 20 abstractions,.however,.......so.
fe0c0 74 68 69 6e 67 73 20 73 75 63 68 20 61 73 20 67 65 6e 65 72 69 63 20 64 61 74 61 20 73 74 72 75 things.such.as.generic.data.stru
fe0e0 63 74 75 72 65 73 20 77 6f 72 6b 20 6f 6e 20 61 6c 6c 20 61 62 6f 76 65 20 70 6c 61 74 66 6f 72 ctures.work.on.all.above.platfor
fe100 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 63 75 72 72 ms........</p>.......<p>The.curr
fe120 65 6e 74 20 6c 69 73 74 20 6f 66 20 74 61 72 67 65 74 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 ent.list.of.targets.supported.by
fe140 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 69 73 3a 3c 2f 70 .the.Zig.Standard.Library.is:</p
fe160 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 4c 69 6e 75 78 20 78 38 36 >.......<ul>.......<li>Linux.x86
fe180 5f 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 57 69 6e 64 6f 77 73 20 78 38 36 5f 36 _64</li>.......<li>Windows.x86_6
fe1a0 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 6d 61 63 4f 53 20 78 38 36 5f 36 34 3c 2f 6c 4</li>.......<li>macOS.x86_64</l
fe1c0 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 i>.......</ul>..............<h2.
fe1e0 69 64 3d 22 53 74 79 6c 65 2d 47 75 69 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 id="Style-Guide"><a.href="#toc-S
fe200 74 79 6c 65 2d 47 75 69 64 65 22 3e 53 74 79 6c 65 20 47 75 69 64 65 3c 2f 61 3e 20 3c 61 20 63 tyle-Guide">Style.Guide</a>.<a.c
fe220 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 79 6c 65 2d 47 75 69 64 65 22 3e c2 lass="hdr".href="#Style-Guide">.
fe240 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 54 68 65 73 65 20 63 6f 64 69 .</a></h2>........<p>.These.codi
fe260 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 65 6e 66 6f 72 63 65 64 20 ng.conventions.are.not.enforced.
fe280 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2c 20 62 75 74 20 74 68 65 79 20 61 72 65 20 73 68 by.the.compiler,.but.they.are.sh
fe2a0 69 70 70 65 64 20 69 6e 0a 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 61 6c 6f 6e ipped.in.this.documentation.alon
fe2c0 67 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 g.with.the.compiler.in.order.to.
fe2e0 70 72 6f 76 69 64 65 20 61 20 70 6f 69 6e 74 20 6f 66 0a 72 65 66 65 72 65 6e 63 65 2c 20 73 68 provide.a.point.of.reference,.sh
fe300 6f 75 6c 64 20 61 6e 79 6f 6e 65 20 77 69 73 68 20 74 6f 20 70 6f 69 6e 74 20 74 6f 20 61 6e 20 ould.anyone.wish.to.point.to.an.
fe320 61 75 74 68 6f 72 69 74 79 20 6f 6e 20 61 67 72 65 65 64 20 75 70 6f 6e 20 5a 69 67 0a 63 6f 64 authority.on.agreed.upon.Zig.cod
fe340 69 6e 67 20 73 74 79 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 ing.style........</p>.......<h3.
fe360 69 64 3d 22 57 68 69 74 65 73 70 61 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 68 id="Whitespace"><a.href="#toc-Wh
fe380 69 74 65 73 70 61 63 65 22 3e 57 68 69 74 65 73 70 61 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 itespace">Whitespace</a>.<a.clas
fe3a0 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 68 69 74 65 73 70 61 63 65 22 3e c2 a7 3c 2f 61 s="hdr".href="#Whitespace">..</a
fe3c0 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a ></h3>........<ul>.........<li>.
fe3e0 20 20 20 20 20 20 20 20 20 20 34 20 73 70 61 63 65 20 69 6e 64 65 6e 74 61 74 69 6f 6e 0a 20 20 ..........4.space.indentation...
fe400 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 ......</li>.........<li>........
fe420 20 20 20 4f 70 65 6e 20 62 72 61 63 65 73 20 6f 6e 20 73 61 6d 65 20 6c 69 6e 65 2c 20 75 6e 6c ...Open.braces.on.same.line,.unl
fe440 65 73 73 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 77 72 61 70 2e 0a 20 20 20 20 20 20 20 20 3c 2f ess.you.need.to.wrap..........</
fe460 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 61 20 6c 69 73 74 20 6f 66 20 74 68 69 li>.........<li>If.a.list.of.thi
fe480 6e 67 73 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 32 2c 20 70 75 74 20 65 61 63 68 20 69 ngs.is.longer.than.2,.put.each.i
fe4a0 74 65 6d 20 6f 6e 20 69 74 73 20 6f 77 6e 20 6c 69 6e 65 20 61 6e 64 0a 20 20 20 20 20 20 20 20 tem.on.its.own.line.and.........
fe4c0 20 20 65 78 65 72 63 69 73 65 20 74 68 65 20 61 62 69 6c 69 74 79 20 74 6f 20 70 75 74 20 61 6e ..exercise.the.ability.to.put.an
fe4e0 20 65 78 74 72 61 20 63 6f 6d 6d 61 20 61 74 20 74 68 65 20 65 6e 64 2e 0a 20 20 20 20 20 20 20 .extra.comma.at.the.end.........
fe500 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 4c 69 .</li>.........<li>...........Li
fe520 6e 65 20 6c 65 6e 67 74 68 3a 20 61 69 6d 20 66 6f 72 20 31 30 30 3b 20 75 73 65 20 63 6f 6d 6d ne.length:.aim.for.100;.use.comm
fe540 6f 6e 20 73 65 6e 73 65 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f on.sense..........</li>.......</
fe560 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4e 61 6d 65 73 22 3e ul>..............<h3.id="Names">
fe580 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4e 61 6d 65 73 22 3e 4e 61 6d 65 73 3c 2f 61 3e 20 3c <a.href="#toc-Names">Names</a>.<
fe5a0 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4e 61 6d 65 73 22 3e c2 a7 3c 2f a.class="hdr".href="#Names">..</
fe5c0 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 6f 75 67 68 6c 79 a></h3>........<p>.......Roughly
fe5e0 20 73 70 65 61 6b 69 6e 67 3a 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .speaking:.<code><span.class="li
fe600 6e 65 22 3e 63 61 6d 65 6c 43 61 73 65 46 75 6e 63 74 69 6f 6e 4e 61 6d 65 3c 2f 73 70 61 6e 3e ne">camelCaseFunctionName</span>
fe620 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 </code>,.<code><span.class="line
fe640 22 3e 54 69 74 6c 65 43 61 73 65 54 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 ">TitleCaseTypeName</span></code
fe660 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 >,...............<code><span.cla
fe680 73 73 3d 22 6c 69 6e 65 22 3e 73 6e 61 6b 65 5f 63 61 73 65 5f 76 61 72 69 61 62 6c 65 5f 6e 61 ss="line">snake_case_variable_na
fe6a0 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4d 6f 72 65 20 70 72 65 63 69 73 65 6c 79 me</span></code>..More.precisely
fe6c0 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>.........
fe6e0 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 <li>.............If.<code><span.
fe700 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 class="line">x</span></code>.is.
fe720 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e a.<code><span.class="line"><span
fe740 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 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
fe760 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 6e 20 3c 63 6f pan></code>.............then.<co
fe780 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f de><span.class="line">x</span></
fe7a0 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 code>.should.be.<code><span.clas
fe7c0 73 3d 22 6c 69 6e 65 22 3e 54 69 74 6c 65 43 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e s="line">TitleCase</span></code>
fe7e0 2c 20 75 6e 6c 65 73 73 20 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 61 20 3c 63 6f ,.unless.it.............is.a.<co
fe800 64 65 3e 3c 73 70 61 6e 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
fe820 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c s="tok-kw">struct</span></span><
fe840 2f 63 6f 64 65 3e 20 77 69 74 68 20 30 20 66 69 65 6c 64 73 20 61 6e 64 20 69 73 20 6e 65 76 65 /code>.with.0.fields.and.is.neve
fe860 72 20 6d 65 61 6e 74 20 74 6f 20 62 65 20 69 6e 73 74 61 6e 74 69 61 74 65 64 2c 0a 20 20 20 20 r.meant.to.be.instantiated,.....
fe880 20 20 20 20 20 20 20 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 69 74 20 69 73 20 63 6f 6e 73 ........in.which.case.it.is.cons
fe8a0 69 64 65 72 65 64 20 74 6f 20 62 65 20 61 20 22 6e 61 6d 65 73 70 61 63 65 22 20 61 6e 64 20 75 idered.to.be.a."namespace".and.u
fe8c0 73 65 73 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6e 61 ses.<code><span.class="line">sna
fe8e0 6b 65 5f 63 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c ke_case</span></code>..........<
fe900 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 /li>.........<li>.............If
fe920 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 .<code><span.class="line">x</spa
fe940 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 63 61 6c 6c 61 62 6c 65 2c 20 61 6e 64 20 3c 63 6f 64 65 n></code>.is.callable,.and.<code
fe960 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
fe980 64 65 3e 27 73 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 de>'s.return.type.is............
fe9a0 20 3c 63 6f 64 65 3e 3c 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.
fe9c0 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 class="tok-type">type</span></sp
fe9e0 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 an></code>,.then.<code><span.cla
fea00 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 ss="line">x</span></code>.should
fea20 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 69 74 .be.<code><span.class="line">Tit
fea40 6c 65 43 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f leCase</span></code>..........</
fea60 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 li>.........<li>.............If.
fea80 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c 2f 73 70 61 6e <code><span.class="line">x</span
feaa0 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 63 61 6c 6c 61 62 6c 65 2c 20 ></code>.is.otherwise.callable,.
feac0 74 68 65 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 78 3c then.<code><span.class="line">x<
feae0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 20 20 20 20 20 20 /span></code>.should............
feb00 20 62 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 61 6d .be.<code><span.class="line">cam
feb20 65 6c 43 61 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f elCase</span></code>..........</
feb40 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4f 74 68 li>.........<li>.............Oth
feb60 65 72 77 69 73 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 erwise,.<code><span.class="line"
feb80 3e 78 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 >x</span></code>.should.be.<code
feba0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f ><span.class="line">snake_case</
febc0 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 span></code>..........</li>.....
febe0 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 63 72 6f 6e 79 6d 73 ..</ul>.......<p>.......Acronyms
fec00 2c 20 69 6e 69 74 69 61 6c 69 73 6d 73 2c 20 70 72 6f 70 65 72 20 6e 6f 75 6e 73 2c 20 6f 72 20 ,.initialisms,.proper.nouns,.or.
fec20 61 6e 79 20 6f 74 68 65 72 20 77 6f 72 64 20 74 68 61 74 20 68 61 73 20 63 61 70 69 74 61 6c 69 any.other.word.that.has.capitali
fec40 7a 61 74 69 6f 6e 0a 20 20 20 20 20 20 72 75 6c 65 73 20 69 6e 20 77 72 69 74 74 65 6e 20 45 6e zation.......rules.in.written.En
fec60 67 6c 69 73 68 20 61 72 65 20 73 75 62 6a 65 63 74 20 74 6f 20 6e 61 6d 69 6e 67 20 63 6f 6e 76 glish.are.subject.to.naming.conv
fec80 65 6e 74 69 6f 6e 73 20 6a 75 73 74 20 6c 69 6b 65 20 61 6e 79 20 6f 74 68 65 72 0a 20 20 20 20 entions.just.like.any.other.....
feca0 20 20 77 6f 72 64 2e 20 45 76 65 6e 20 61 63 72 6f 6e 79 6d 73 20 74 68 61 74 20 61 72 65 20 6f ..word..Even.acronyms.that.are.o
fecc0 6e 6c 79 20 32 20 6c 65 74 74 65 72 73 20 6c 6f 6e 67 20 61 72 65 20 73 75 62 6a 65 63 74 20 74 nly.2.letters.long.are.subject.t
fece0 6f 20 74 68 65 73 65 0a 20 20 20 20 20 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 2e 0a 20 20 20 20 20 o.these.......conventions.......
fed00 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 69 6c 65 20 6e 61 6d 65 73 .</p>.......<p>.......File.names
fed20 20 66 61 6c 6c 20 69 6e 74 6f 20 74 77 6f 20 63 61 74 65 67 6f 72 69 65 73 3a 20 74 79 70 65 73 .fall.into.two.categories:.types
fed40 20 61 6e 64 20 6e 61 6d 65 73 70 61 63 65 73 2e 20 49 66 20 74 68 65 20 66 69 6c 65 0a 20 20 20 .and.namespaces..If.the.file....
fed60 20 20 20 28 69 6d 70 6c 69 63 69 74 6c 79 20 61 20 73 74 72 75 63 74 29 20 68 61 73 20 74 6f 70 ...(implicitly.a.struct).has.top
fed80 20 6c 65 76 65 6c 20 66 69 65 6c 64 73 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 6e 61 6d 65 .level.fields,.it.should.be.name
feda0 64 20 6c 69 6b 65 20 61 6e 79 0a 20 20 20 20 20 20 6f 74 68 65 72 20 73 74 72 75 63 74 20 77 69 d.like.any.......other.struct.wi
fedc0 74 68 20 66 69 65 6c 64 73 20 75 73 69 6e 67 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 66 69 6c th.fields.using.<code.class="fil
fede0 65 22 3e 54 69 74 6c 65 43 61 73 65 3c 2f 63 6f 64 65 3e 2e 20 4f 74 68 65 72 77 69 73 65 2c 0a e">TitleCase</code>..Otherwise,.
fee00 20 20 20 20 20 20 69 74 20 73 68 6f 75 6c 64 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d ......it.should.use.<code.class=
fee20 22 66 69 6c 65 22 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 63 6f 64 65 3e 2e 20 44 69 72 65 63 74 "file">snake_case</code>..Direct
fee40 6f 72 79 20 6e 61 6d 65 73 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 ory.names.should.be.......<code.
fee60 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 63 6f 64 65 3e 2e 0a class="file">snake_case</code>..
fee80 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 ......</p>.......<p>.......These
feea0 20 61 72 65 20 67 65 6e 65 72 61 6c 20 72 75 6c 65 73 20 6f 66 20 74 68 75 6d 62 3b 20 69 66 20 .are.general.rules.of.thumb;.if.
feec0 69 74 20 6d 61 6b 65 73 20 73 65 6e 73 65 20 74 6f 20 64 6f 20 73 6f 6d 65 74 68 69 6e 67 20 64 it.makes.sense.to.do.something.d
feee0 69 66 66 65 72 65 6e 74 2c 0a 20 20 20 20 20 20 64 6f 20 77 68 61 74 20 6d 61 6b 65 73 20 73 65 ifferent,.......do.what.makes.se
fef00 6e 73 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 72 65 20 69 73 20 61 6e nse..For.example,.if.there.is.an
fef20 20 65 73 74 61 62 6c 69 73 68 65 64 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 73 75 63 68 20 61 73 0a .established.convention.such.as.
fef40 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 ......<code><span.class="line">E
fef60 4e 4f 45 4e 54 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 66 6f 6c 6c 6f 77 20 74 68 65 20 NOENT</span></code>,.follow.the.
fef80 65 73 74 61 62 6c 69 73 68 65 64 20 63 6f 6e 76 65 6e 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f established.convention........</
fefa0 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 45 78 61 6d 70 6c 65 73 p>..............<h3.id="Examples
fefc0 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 61 6d 70 6c 65 73 22 3e 45 78 61 6d 70 6c "><a.href="#toc-Examples">Exampl
fefe0 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 es</a>.<a.class="hdr".href="#Exa
ff000 6d 70 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 75 72 mples">..</a></h3>........<figur
ff020 65 3e 3c 66 69 67 63 61 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
ff040 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 79 6c 65 5f 65 78 61 6d 70 6c 65 2e 7a ite.class="file">style_example.z
ff060 69 67 3c 2f 63 69 74 65 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
ff080 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
ff0a0 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 73 70 61 63 65 5f "tok-kw">const</span>.namespace_
ff0c0 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 name.=.<span.class="tok-builtin"
ff0e0 3e 40 69 6d 70 6f 72 74 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
ff100 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 69 72 5f 6e 61 6d 65 2f 66 69 6c 65 5f 6e 61 6d 65 2e 7a -str">&quot;dir_name/file_name.z
ff120 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ig&quot;</span>);</span>.<span.c
ff140 6c 61 73 73 3d 22 6c 69 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"
ff160 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 79 70 65 4e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 >const</span>.TypeName.=.<span.c
ff180 6c 61 73 73 3d 22 74 6f 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
ff1a0 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 69 >(<span.class="tok-str">&quot;di
ff1c0 72 5f 6e 61 6d 65 2f 54 79 70 65 4e 61 6d 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e r_name/TypeName.zig&quot;</span>
ff1e0 29 3b 3c 2f 73 70 61 6e 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
ff200 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 6c 6f an.class="tok-kw">var</span>.glo
ff220 62 61 6c 5f 76 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e bal_var:.<span.class="tok-type">
ff240 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
ff260 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
ff280 61 6e 20 63 6c 61 73 73 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
ff2a0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6e 73 74 5f 6e 61 6d 65 20 3d 20 3c -kw">const</span>.const_name.=.<
ff2c0 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
ff2e0 3e 3b 3c 2f 73 70 61 6e 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
ff300 61 6e 20 63 6c 61 73 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
ff320 72 69 6d 69 74 69 76 65 5f 74 79 70 65 5f 61 6c 69 61 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 rimitive_type_alias.=.<span.clas
ff340 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a s="tok-type">f32</span>;</span>.
ff360 3c 73 70 61 6e 20 63 6c 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="
ff380 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 72 69 6e 67 5f 61 6c 69 61 tok-kw">const</span>.string_alia
ff3a0 73 20 3d 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c s.=.[]<span.class="tok-type">u8<
ff3c0 2f 73 70 61 6e 3e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 /span>;</span>.<span.class="line
ff3e0 22 3e 3c 2f 73 70 61 6e 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
ff400 61 6e 20 63 6c 61 73 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
ff420 74 72 75 63 74 4e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 tructName.=.<span.class="tok-kw"
ff440 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c >struct</span>.{</span>.<span.cl
ff460 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 69 65 6c 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 ass="line">....field:.<span.clas
ff480 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 3c 2f 73 70 61 6e 3e 0a s="tok-type">i32</span>,</span>.
ff4a0 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
ff4c0 61 6e 20 63 6c 61 73 73 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
ff4e0 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 74 72 75 63 74 41 6c 69 61 73 20 3d 20 -kw">const</span>.StructAlias.=.
ff500 53 74 72 75 63 74 4e 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 StructName;</span>.<span.class="
ff520 6c 69 6e 65 22 3e 3c 2f 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"
ff540 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>.
ff560 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 75 6e 63 74 69 6f 6e 4e 61 6d <span.class="tok-fn">functionNam
ff580 65 3c 2f 73 70 61 6e 3e 28 70 61 72 61 6d 5f 6e 61 6d 65 3a 20 54 79 70 65 4e 61 6d 65 29 20 3c e</span>(param_name:.TypeName).<
ff5a0 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
ff5c0 3e 20 7b 3c 2f 73 70 61 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">..
ff5e0 20 20 3c 73 70 61 6e 20 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
ff600 3e 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 >.functionPointer.=.functionName
ff620 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 ;</span>.<span.class="line">....
ff640 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 28 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 functionPointer();</span>.<span.
ff660 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 class="line">....functionPointer
ff680 20 3d 20 6f 74 68 65 72 46 75 6e 63 74 69 6f 6e 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .=.otherFunction;</span>.<span.c
ff6a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 28 lass="line">....functionPointer(
ff6c0 29 3b 3c 2f 73 70 61 6e 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">}</
ff6e0 73 70 61 6e 3e 0a 3c 73 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
ff700 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 75 6e 63 74 lass="tok-kw">const</span>.funct
ff720 69 6f 6e 41 6c 69 61 73 20 3d 20 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 3b 3c 2f 73 70 61 6e 3e 0a ionAlias.=.functionName;</span>.
ff740 3c 73 70 61 6e 20 63 6c 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
ff760 20 63 6c 61 73 73 3d 22 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
ff780 77 22 3e 66 6e 3c 2f 73 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
ff7a0 22 3e 4c 69 73 74 54 65 6d 70 6c 61 74 65 46 75 6e 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 ">ListTemplateFunction</span>(<s
ff7c0 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
ff7e0 6e 3e 20 43 68 69 6c 64 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 n>.ChildType:.<span.class="tok-t
ff800 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 ype">type</span>,.<span.class="t
ff820 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 78 65 64 5f 73 69 7a ok-kw">comptime</span>.fixed_siz
ff840 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c e:.<span.class="tok-type">usize<
ff860 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 /span>).<span.class="tok-type">t
ff880 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ype</span>.{</span>.<span.class=
ff8a0 22 6c 69 6e 65 22 3e 20 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">
ff8c0 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 4c 69 73 74 28 43 68 69 6c 64 54 79 70 65 2c 20 66 69 return</span>.List(ChildType,.fi
ff8e0 78 65 64 5f 73 69 7a 65 29 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c xed_size);</span>.<span.class="l
ff900 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"
ff920 3e 3c 2f 73 70 61 6e 3e 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
ff940 6e 20 63 6c 61 73 73 3d 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
ff960 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 53 68 6f 72 74 4c 69 73 74 3c 2f 73 70 61 6e 3e .class="tok-fn">ShortList</span>
ff980 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</
ff9a0 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">
ff9c0 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
ff9e0 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">comptime</span>.n:.<span.class
ffa00 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 ="tok-type">usize</span>).<span.
ffa20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 3c 2f class="tok-type">type</span>.{</
ffa40 73 70 61 6e 3e 0a 3c 73 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
ffa60 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>.
ffa80 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
ffaa0 6e 3e 20 7b 3c 2f 73 70 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">.
ffac0 20 20 20 20 20 20 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 6e 5d 54 2c 3c 2f 73 70 61 6e 3e 0a .......field_name:.[n]T,</span>.
ffae0 3c 73 70 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
ffb00 20 63 6c 61 73 73 3d 22 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.
ffb20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 65 74 68 6f 64 4e 61 6d 65 3c 2f 73 70 61 6e 3e class="tok-fn">methodName</span>
ffb40 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</
ffb60 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e span>.{}</span>.<span.class="lin
ffb80 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
ffba0 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">
ffbc0 3c 2f 73 70 61 6e 3e 0a 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
ffbe0 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 77 6f 72 64 .class="tok-comment">//.The.word
ffc00 20 58 4d 4c 20 6c 6f 73 65 73 20 69 74 73 20 63 61 73 69 6e 67 20 77 68 65 6e 20 75 73 65 64 20 .XML.loses.its.casing.when.used.
ffc20 69 6e 20 5a 69 67 20 69 64 65 6e 74 69 66 69 65 72 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e in.Zig.identifiers.</span></span
ffc40 3e 0a 3c 73 70 61 6e 20 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
ffc60 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 6d 6c 5f 64 6f 63 75 6d ="tok-kw">const</span>.xml_docum
ffc80 65 6e 74 20 3d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ent.=</span>.<span.class="line">
ffca0 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 26 6c 74 3b ....<span.class="tok-str">\\&lt;
ffcc0 3f 78 6d 6c 20 76 65 72 73 69 6f 6e 3d 26 71 75 6f 74 3b 31 2e 30 26 71 75 6f 74 3b 20 65 6e 63 ?xml.version=&quot;1.0&quot;.enc
ffce0 6f 64 69 6e 67 3d 26 71 75 6f 74 3b 55 54 46 2d 38 26 71 75 6f 74 3b 3f 26 67 74 3b 3c 2f 73 70 oding=&quot;UTF-8&quot;?&gt;</sp
ffd00 61 6e 3e 3c 2f 73 70 61 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">..
ffd20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 26 6c 74 3b 64 6f ..<span.class="tok-str">\\&lt;do
ffd40 63 75 6d 65 6e 74 26 67 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 cument&gt;</span></span>.<span.c
ffd60 6c 61 73 73 3d 22 6c 69 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
ffd80 2d 73 74 72 22 3e 5c 5c 26 6c 74 3b 2f 64 6f 63 75 6d 65 6e 74 26 67 74 3b 3c 2f 73 70 61 6e 3e -str">\\&lt;/document&gt;</span>
ffda0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3b 3c 2f 73 70 </span>.<span.class="line">;</sp
ffdc0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 an>.<span.class="line"><span.cla
ffde0 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 58 6d 6c 50 61 72 73 ss="tok-kw">const</span>.XmlPars
ffe00 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 er.=.<span.class="tok-kw">struct
ffe20 3c 2f 73 70 61 6e 3e 20 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
ffe40 6e 65 22 3e 20 20 20 20 66 69 65 6c 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d ne">....field:.<span.class="tok-
ffe60 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
ffe80 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
ffea0 73 3d 22 6c 69 6e 65 22 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
ffec0 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">//
ffee0 20 54 68 65 20 69 6e 69 74 69 61 6c 73 20 42 45 20 28 42 69 67 20 45 6e 64 69 61 6e 29 20 61 72 .The.initials.BE.(Big.Endian).ar
fff00 65 20 6a 75 73 74 20 61 6e 6f 74 68 65 72 20 77 6f 72 64 20 69 6e 20 5a 69 67 20 69 64 65 6e 74 e.just.another.word.in.Zig.ident
fff20 69 66 69 65 72 20 6e 61 6d 65 73 2e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ifier.names.</span></span>.<span
fff40 20 63 6c 61 73 73 3d 22 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
fff60 77 22 3e 66 6e 3c 2f 73 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
fff80 22 3e 72 65 61 64 55 33 32 42 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 ">readU32Be</span>().<span.class
fffa0 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 73 70 61 6e 3e ="tok-type">u32</span>.{}</span>
fffc0 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>
fffe0 0a 20 20 20 20 20 20 53 65 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 53 74 61 .......See.the.<a.href="#Zig-Sta
100000 6e 64 61 72 64 2d 4c 69 62 72 61 72 79 22 3e 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 ndard-Library">Zig.Standard.Libr
100020 61 72 79 3c 2f 61 3e 20 66 6f 72 20 6d 6f 72 65 20 65 78 61 6d 70 6c 65 73 2e 0a 20 20 20 20 20 ary</a>.for.more.examples.......
100040 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 6f 63 2d 43 .</p>..............<h3.id="Doc-C
100060 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 44 omment-Guidance"><a.href="#toc-D
100080 6f 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e 44 6f 63 20 43 6f 6d 6d 65 6e 74 oc-Comment-Guidance">Doc.Comment
1000a0 20 47 75 69 64 61 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 .Guidance</a>.<a.class="hdr".hre
1000c0 66 3d 22 23 44 6f 63 2d 43 6f 6d 6d 65 6e 74 2d 47 75 69 64 61 6e 63 65 22 3e c2 a7 3c 2f 61 3e f="#Doc-Comment-Guidance">..</a>
1000e0 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6d </h3>........<ul>.........<li>Om
100100 69 74 20 61 6e 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 68 61 74 20 69 73 20 72 65 64 75 6e it.any.information.that.is.redun
100120 64 61 6e 74 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 74 68 dant.based.on.the.name.of.the.th
100140 69 6e 67 20 62 65 69 6e 67 20 64 6f 63 75 6d 65 6e 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 ing.being.documented.</li>......
100160 20 20 20 3c 6c 69 3e 44 75 70 6c 69 63 61 74 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 6f ...<li>Duplicating.information.o
100180 6e 74 6f 20 6d 75 6c 74 69 70 6c 65 20 73 69 6d 69 6c 61 72 20 66 75 6e 63 74 69 6f 6e 73 20 69 nto.multiple.similar.functions.i
1001a0 73 20 65 6e 63 6f 75 72 61 67 65 64 20 62 65 63 61 75 73 65 20 69 74 20 68 65 6c 70 73 20 49 44 s.encouraged.because.it.helps.ID
1001c0 45 73 20 61 6e 64 20 6f 74 68 65 72 20 74 6f 6f 6c 73 20 70 72 6f 76 69 64 65 20 62 65 74 74 65 Es.and.other.tools.provide.bette
1001e0 72 20 68 65 6c 70 20 74 65 78 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 r.help.text.</li>.........<li>Us
100200 65 20 74 68 65 20 77 6f 72 64 20 3c 73 74 72 6f 6e 67 3e 61 73 73 75 6d 65 3c 2f 73 74 72 6f 6e e.the.word.<strong>assume</stron
100220 67 3e 20 74 6f 20 69 6e 64 69 63 61 74 65 20 69 6e 76 61 72 69 61 6e 74 73 20 74 68 61 74 20 63 g>.to.indicate.invariants.that.c
100240 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f ause.<a.href="#Undefined-Behavio
100260 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 77 68 65 6e 20 76 r">Undefined.Behavior</a>.when.v
100280 69 6f 6c 61 74 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 74 68 iolated.</li>.........<li>Use.th
1002a0 65 20 77 6f 72 64 20 3c 73 74 72 6f 6e 67 3e 61 73 73 65 72 74 3c 2f 73 74 72 6f 6e 67 3e 20 74 e.word.<strong>assert</strong>.t
1002c0 6f 20 69 6e 64 69 63 61 74 65 20 69 6e 76 61 72 69 61 6e 74 73 20 74 68 61 74 20 63 61 75 73 65 o.indicate.invariants.that.cause
1002e0 20 3c 65 6d 3e 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 3c 2f 65 6d 3e 20 3c 61 20 68 72 65 66 .<em>safety-checked</em>.<a.href
100300 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 ="#Undefined-Behavior">Undefined
100320 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 77 68 65 6e 20 76 69 6f 6c 61 74 65 64 2e 3c 2f 6c 69 .Behavior</a>.when.violated.</li
100340 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 >.......</ul>...................
100360 20 20 3c 68 32 20 69 64 3d 22 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 3c 61 20 68 72 ..<h2.id="Source-Encoding"><a.hr
100380 65 66 3d 22 23 74 6f 63 2d 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 53 6f 75 72 63 65 ef="#toc-Source-Encoding">Source
1003a0 20 45 6e 63 6f 64 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 .Encoding</a>.<a.class="hdr".hre
1003c0 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e f="#Source-Encoding">..</a></h2>
1003e0 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 65 6e ........<p>Zig.source.code.is.en
100400 63 6f 64 65 64 20 69 6e 20 55 54 46 2d 38 2e 20 41 6e 20 69 6e 76 61 6c 69 64 20 55 54 46 2d 38 coded.in.UTF-8..An.invalid.UTF-8
100420 20 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 72 65 73 75 6c 74 73 20 69 6e 20 61 20 63 6f 6d 70 .byte.sequence.results.in.a.comp
100440 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 72 6f 75 67 68 6f ile.error.</p>.......<p>Througho
100460 75 74 20 61 6c 6c 20 7a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 28 69 6e 63 6c 75 64 69 6e ut.all.zig.source.code.(includin
100480 67 20 69 6e 20 63 6f 6d 6d 65 6e 74 73 29 2c 20 73 6f 6d 65 20 63 6f 64 65 20 70 6f 69 6e 74 73 g.in.comments),.some.code.points
1004a0 20 61 72 65 20 6e 65 76 65 72 20 61 6c 6c 6f 77 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 .are.never.allowed:</p>.......<u
1004c0 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 73 63 69 69 20 63 6f 6e 74 72 6f 6c 20 63 68 61 l>.........<li>Ascii.control.cha
1004e0 72 61 63 74 65 72 73 2c 20 65 78 63 65 70 74 20 66 6f 72 20 55 2b 30 30 30 61 20 28 4c 46 29 2c racters,.except.for.U+000a.(LF),
100500 20 55 2b 30 30 30 64 20 28 43 52 29 2c 20 61 6e 64 20 55 2b 30 30 30 39 20 28 48 54 29 3a 20 55 .U+000d.(CR),.and.U+0009.(HT):.U
100520 2b 30 30 30 30 20 2d 20 55 2b 30 30 30 38 2c 20 55 2b 30 30 30 62 20 2d 20 55 2b 30 30 30 63 2c +0000.-.U+0008,.U+000b.-.U+000c,
100540 20 55 2b 30 30 30 65 20 2d 20 55 2b 30 30 30 31 66 2c 20 55 2b 30 30 37 66 2e 3c 2f 6c 69 3e 0a .U+000e.-.U+0001f,.U+007f.</li>.
100560 20 20 20 20 20 20 20 20 3c 6c 69 3e 4e 6f 6e 2d 41 73 63 69 69 20 55 6e 69 63 6f 64 65 20 6c 69 ........<li>Non-Ascii.Unicode.li
100580 6e 65 20 65 6e 64 69 6e 67 73 3a 20 55 2b 30 30 38 35 20 28 4e 45 4c 29 2c 20 55 2b 32 30 32 38 ne.endings:.U+0085.(NEL),.U+2028
1005a0 20 28 4c 53 29 2c 20 55 2b 32 30 32 39 20 28 50 53 29 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c .(LS),.U+2029.(PS).</li>.......<
1005c0 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 46 20 28 62 79 74 65 20 76 61 /ul>.......<p>.......LF.(byte.va
1005e0 6c 75 65 20 30 78 30 61 2c 20 63 6f 64 65 20 70 6f 69 6e 74 20 55 2b 30 30 30 61 2c 20 3c 63 6f lue.0x0a,.code.point.U+000a,.<co
100600 64 65 3e 3c 73 70 61 6e 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
100620 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 6e 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-str">'\n'</span></span></
100640 63 6f 64 65 3e 29 20 69 73 20 74 68 65 20 6c 69 6e 65 20 74 65 72 6d 69 6e 61 74 6f 72 20 69 6e code>).is.the.line.terminator.in
100660 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 62 79 74 .Zig.source.code........This.byt
100680 65 20 76 61 6c 75 65 20 74 65 72 6d 69 6e 61 74 65 73 20 65 76 65 72 79 20 6c 69 6e 65 20 6f 66 e.value.terminates.every.line.of
1006a0 20 7a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 65 78 63 65 70 74 20 74 68 65 20 6c 61 73 74 .zig.source.code.except.the.last
1006c0 20 6c 69 6e 65 20 6f 66 20 74 68 65 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 .line.of.the.file........It.is.r
1006e0 65 63 6f 6d 6d 65 6e 64 65 64 20 74 68 61 74 20 6e 6f 6e 2d 65 6d 70 74 79 20 73 6f 75 72 63 65 ecommended.that.non-empty.source
100700 20 66 69 6c 65 73 20 65 6e 64 20 77 69 74 68 20 61 6e 20 65 6d 70 74 79 20 6c 69 6e 65 2c 20 77 .files.end.with.an.empty.line,.w
100720 68 69 63 68 20 6d 65 61 6e 73 20 74 68 65 20 6c 61 73 74 20 62 79 74 65 20 77 6f 75 6c 64 20 62 hich.means.the.last.byte.would.b
100740 65 20 30 78 30 61 20 28 4c 46 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 e.0x0a.(LF)........</p>.......<p
100760 3e 0a 20 20 20 20 20 20 45 61 63 68 20 4c 46 20 6d 61 79 20 62 65 20 69 6d 6d 65 64 69 61 74 65 >.......Each.LF.may.be.immediate
100780 6c 79 20 70 72 65 63 65 64 65 64 20 62 79 20 61 20 73 69 6e 67 6c 65 20 43 52 20 28 62 79 74 65 ly.preceded.by.a.single.CR.(byte
1007a0 20 76 61 6c 75 65 20 30 78 30 64 2c 20 63 6f 64 65 20 70 6f 69 6e 74 20 55 2b 30 30 30 64 2c 20 .value.0x0d,.code.point.U+000d,.
1007c0 3c 63 6f 64 65 3e 3c 73 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
1007e0 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 72 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e lass="tok-str">'\r'</span></span
100800 3e 3c 2f 63 6f 64 65 3e 29 0a 20 20 20 20 20 20 74 6f 20 66 6f 72 6d 20 61 20 57 69 6e 64 6f 77 ></code>).......to.form.a.Window
100820 73 20 73 74 79 6c 65 20 6c 69 6e 65 20 65 6e 64 69 6e 67 2c 20 62 75 74 20 74 68 69 73 20 69 73 s.style.line.ending,.but.this.is
100840 20 64 69 73 63 6f 75 72 61 67 65 64 2e 0a 20 20 20 20 20 20 41 20 43 52 20 69 6e 20 61 6e 79 20 .discouraged........A.CR.in.any.
100860 6f 74 68 65 72 20 63 6f 6e 74 65 78 74 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 0a 20 20 other.context.is.not.allowed....
100880 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 54 20 68 61 72 64 ....</p>.......<p>.......HT.hard
1008a0 20 74 61 62 73 20 28 62 79 74 65 20 76 61 6c 75 65 20 30 78 30 39 2c 20 63 6f 64 65 20 70 6f 69 .tabs.(byte.value.0x09,.code.poi
1008c0 6e 74 20 55 2b 30 30 30 39 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 nt.U+0009,.<code><span.class="li
1008e0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 74 27 3c 2f ne"><span.class="tok-str">'\t'</
100900 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 61 72 65 20 69 6e 74 65 72 63 68 span></span></code>).are.interch
100920 61 6e 67 65 61 62 6c 65 20 77 69 74 68 0a 20 20 20 20 20 20 53 50 20 73 70 61 63 65 73 20 28 62 angeable.with.......SP.spaces.(b
100940 79 74 65 20 76 61 6c 75 65 20 30 78 32 30 2c 20 63 6f 64 65 20 70 6f 69 6e 74 20 55 2b 30 30 32 yte.value.0x20,.code.point.U+002
100960 30 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 0,.<code><span.class="line"><spa
100980 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 20 27 3c 2f 73 70 61 6e 3e 3c 2f 73 70 n.class="tok-str">'.'</span></sp
1009a0 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 61 73 20 61 20 74 6f 6b 65 6e 20 73 65 70 61 72 61 74 6f 72 an></code>).as.a.token.separator
1009c0 2c 0a 20 20 20 20 20 20 62 75 74 20 75 73 65 20 6f 66 20 68 61 72 64 20 74 61 62 73 20 69 73 20 ,.......but.use.of.hard.tabs.is.
1009e0 64 69 73 63 6f 75 72 61 67 65 64 2e 20 53 65 65 20 3c 61 20 68 72 65 66 3d 22 23 47 72 61 6d 6d discouraged..See.<a.href="#Gramm
100a00 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 ar">Grammar</a>........</p>.....
100a20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 72 75 6e 6e 69 6e 67 20 3c 6b ..<p>.......Note.that.running.<k
100a40 62 64 3e 7a 69 67 20 66 6d 74 3c 2f 6b 62 64 3e 20 6f 6e 20 61 20 73 6f 75 72 63 65 20 66 69 6c bd>zig.fmt</kbd>.on.a.source.fil
100a60 65 20 77 69 6c 6c 20 69 6d 70 6c 65 6d 65 6e 74 20 61 6c 6c 20 72 65 63 6f 6d 6d 65 6e 64 61 74 e.will.implement.all.recommendat
100a80 69 6f 6e 73 20 6d 65 6e 74 69 6f 6e 65 64 20 68 65 72 65 2e 0a 20 20 20 20 20 20 4e 6f 74 65 20 ions.mentioned.here........Note.
100aa0 61 6c 73 6f 20 74 68 61 74 20 74 68 65 20 73 74 61 67 65 31 20 63 6f 6d 70 69 6c 65 72 20 64 6f also.that.the.stage1.compiler.do
100ac0 65 73 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a es.<a.href="https://github.com/z
100ae0 69 67 6c 61 6e 67 2f 7a 69 67 2f 77 69 6b 69 2f 46 41 51 23 77 68 79 2d 64 6f 65 73 2d 7a 69 67 iglang/zig/wiki/FAQ#why-does-zig
100b00 2d 66 6f 72 63 65 2d 6d 65 2d 74 6f 2d 75 73 65 2d 73 70 61 63 65 73 2d 69 6e 73 74 65 61 64 2d -force-me-to-use-spaces-instead-
100b20 6f 66 2d 74 61 62 73 22 3e 6e 6f 74 20 79 65 74 20 73 75 70 70 6f 72 74 20 43 52 20 6f 72 20 48 of-tabs">not.yet.support.CR.or.H
100b40 54 3c 2f 61 3e 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 20 T</a>.control.characters........
100b60 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 61 </p>.......<p>.......Note.that.a
100b80 20 74 6f 6f 6c 20 72 65 61 64 69 6e 67 20 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 63 61 .tool.reading.Zig.source.code.ca
100ba0 6e 20 6d 61 6b 65 20 61 73 73 75 6d 70 74 69 6f 6e 73 20 69 66 20 74 68 65 20 73 6f 75 72 63 65 n.make.assumptions.if.the.source
100bc0 20 63 6f 64 65 20 69 73 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 63 6f 72 72 65 63 74 20 5a .code.is.assumed.to.be.correct.Z
100be0 69 67 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 77 68 65 6e ig.code........For.example,.when
100c00 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 68 65 20 65 6e 64 73 20 6f 66 20 6c 69 6e 65 73 2c 20 .identifying.the.ends.of.lines,.
100c20 61 20 74 6f 6f 6c 20 63 61 6e 20 75 73 65 20 61 20 6e 61 69 76 65 20 73 65 61 72 63 68 20 73 75 a.tool.can.use.a.naive.search.su
100c40 63 68 20 61 73 20 3c 63 6f 64 65 3e 2f 5c 6e 2f 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 6f ch.as.<code>/\n/</code>,.......o
100c60 72 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 6d 73 64 6e 2e 6d 69 63 72 6f r.an.<a.href="https://msdn.micro
100c80 73 6f 66 74 2e 63 6f 6d 2f 65 6e 2d 75 73 2f 6c 69 62 72 61 72 79 2f 64 64 34 30 39 37 39 37 2e soft.com/en-us/library/dd409797.
100ca0 61 73 70 78 22 3e 61 64 76 61 6e 63 65 64 3c 2f 61 3e 0a 20 20 20 20 20 20 73 65 61 72 63 68 20 aspx">advanced</a>.......search.
100cc0 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 2f 5c 72 5c 6e 3f 7c 5b 5c 6e 5c 75 30 30 38 35 5c 75 such.as.<code>/\r\n?|[\n\u0085\u
100ce0 32 30 32 38 5c 75 32 30 32 39 5d 2f 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 69 6e 20 65 69 74 68 2028\u2029]/</code>,.and.in.eith
100d00 65 72 20 63 61 73 65 20 6c 69 6e 65 20 65 6e 64 69 6e 67 73 20 77 69 6c 6c 20 62 65 20 63 6f 72 er.case.line.endings.will.be.cor
100d20 72 65 63 74 6c 79 20 69 64 65 6e 74 69 66 69 65 64 2e 0a 20 20 20 20 20 20 46 6f 72 20 61 6e 6f rectly.identified........For.ano
100d40 74 68 65 72 20 65 78 61 6d 70 6c 65 2c 20 77 68 65 6e 20 69 64 65 6e 74 69 66 79 69 6e 67 20 74 ther.example,.when.identifying.t
100d60 68 65 20 77 68 69 74 65 73 70 61 63 65 20 62 65 66 6f 72 65 20 74 68 65 20 66 69 72 73 74 20 74 he.whitespace.before.the.first.t
100d80 6f 6b 65 6e 20 6f 6e 20 61 20 6c 69 6e 65 2c 0a 20 20 20 20 20 20 61 20 74 6f 6f 6c 20 63 61 6e oken.on.a.line,.......a.tool.can
100da0 20 65 69 74 68 65 72 20 75 73 65 20 61 20 6e 61 69 76 65 20 73 65 61 72 63 68 20 73 75 63 68 20 .either.use.a.naive.search.such.
100dc0 61 73 20 3c 63 6f 64 65 3e 2f 5b 20 5c 74 5d 2f 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 6f as.<code>/[.\t]/</code>,.......o
100de0 72 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 74 63 33 39 2e 65 73 2f 65 63 r.an.<a.href="https://tc39.es/ec
100e00 6d 61 32 36 32 2f 23 73 65 63 2d 63 68 61 72 61 63 74 65 72 63 6c 61 73 73 65 73 63 61 70 65 22 ma262/#sec-characterclassescape"
100e20 3e 61 64 76 61 6e 63 65 64 3c 2f 61 3e 20 73 65 61 72 63 68 20 73 75 63 68 20 61 73 20 3c 63 6f >advanced</a>.search.such.as.<co
100e40 64 65 3e 2f 5c 73 2f 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 61 6e 64 20 69 6e 20 65 69 74 de>/\s/</code>,.......and.in.eit
100e60 68 65 72 20 63 61 73 65 20 77 68 69 74 65 73 70 61 63 65 20 77 69 6c 6c 20 62 65 20 63 6f 72 72 her.case.whitespace.will.be.corr
100e80 65 63 74 6c 79 20 69 64 65 6e 74 69 66 69 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 ectly.identified........</p>....
100ea0 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 ...........<h2.id="Keyword-Refer
100ec0 65 6e 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4b 65 79 77 6f 72 64 2d 52 65 66 65 ence"><a.href="#toc-Keyword-Refe
100ee0 72 65 6e 63 65 22 3e 4b 65 79 77 6f 72 64 20 52 65 66 65 72 65 6e 63 65 3c 2f 61 3e 20 3c 61 20 rence">Keyword.Reference</a>.<a.
100f00 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 class="hdr".href="#Keyword-Refer
100f20 65 6e 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 64 69 76 20 63 6c ence">..</a></h2>........<div.cl
100f40 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c ass="table-wrapper">.......<tabl
100f60 65 3e 0a 20 20 20 20 20 20 20 20 3c 63 61 70 74 69 6f 6e 3e 4b 65 79 77 6f 72 64 73 3c 2f 63 61 e>.........<caption>Keywords</ca
100f80 70 74 69 6f 6e 3e 0a 20 20 20 20 20 20 20 20 3c 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c ption>.........<thead>.........<
100fa0 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 63 6f 6c 22 3e 4b 65 tr>...........<th.scope="col">Ke
100fc0 79 77 6f 72 64 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 yword</th>...........<th.scope="
100fe0 63 6f 6c 22 3e 44 65 73 63 72 69 70 74 69 6f 6e 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 3c 2f col">Description</th>.........</
101000 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 68 65 61 64 3e 0a 20 20 20 20 20 20 20 20 3c 74 62 tr>.........</thead>.........<tb
101020 6f 64 79 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 ody>.........<tr>...........<th.
101040 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
101060 6f 64 65 3e 3c 73 70 61 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
101080 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ss="tok-kw">align</span></span><
1010a0 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>....
1010c0 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
1010e0 70 61 6e 20 63 6c 61 73 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
101100 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-kw">align</span></span></code>
101120 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 74 68 65 20 61 6c 69 67 .can.be.used.to.specify.the.alig
101140 6e 6d 65 6e 74 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 nment.of.a.pointer..............
101160 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 66 74 65 72 20 61 20 76 61 72 69 It.can.also.be.used.after.a.vari
101180 61 62 6c 65 20 6f 72 20 66 75 6e 63 74 69 6f 6e 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 74 6f 20 able.or.function.declaration.to.
1011a0 73 70 65 63 69 66 79 20 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 70 6f 69 6e 74 65 72 specify.the.alignment.of.pointer
1011c0 73 20 74 6f 20 74 68 61 74 20 76 61 72 69 61 62 6c 65 20 6f 72 20 66 75 6e 63 74 69 6f 6e 2e 0a s.to.that.variable.or.function..
1011e0 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>...............<
101200 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 6c 69 67 6e 6d 65 6e 74 22 li>See.also.<a.href="#Alignment"
101220 3e 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 >Alignment</a></li>.............
101240 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>.........</
101260 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
101280 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
1012a0 64 65 3e 3c 73 70 61 6e 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
1012c0 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 s="tok-kw">allowzero</span></spa
1012e0 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>.
101300 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 70 ..........<td>.............The.p
101320 6f 69 6e 74 65 72 20 61 74 74 72 69 62 75 74 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 ointer.attribute.<code><span.cla
101340 73 73 3d 22 6c 69 6e 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
101360 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6c llowzero</span></span></code>.al
101380 6c 6f 77 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 68 61 76 65 20 61 64 64 72 65 73 73 20 7a lows.a.pointer.to.have.address.z
1013a0 65 72 6f 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 ero..............<ul>...........
1013c0 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 61 6c 6c 6f 77 ....<li>See.also.<a.href="#allow
1013e0 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 zero">allowzero</a></li>........
101400 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>......
101420 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>...........
101440 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 <th.scope="row">.............<pr
101460 65 3e 3c 63 6f 64 65 3e 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
101480 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .class="tok-kw">and</span></span
1014a0 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 ></code></pre>...........</th>..
1014c0 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 62 6f .........<td>.............The.bo
1014e0 6f 6c 65 61 6e 20 6f 70 65 72 61 74 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 olean.operator.<code><span.class
101500 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 ="line"><span.class="tok-kw">and
101520 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 </span></span></code>...........
101540 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c ...<ul>...............<li>See.al
101560 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 so.<a.href="#Operators">Operator
101580 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>....
1015a0 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>......
1015c0 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
1015e0 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.
101600 63 6c 61 73 73 3d 22 6c 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
101620 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ">anyframe</span></span></code><
101640 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>...........
101660 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
101680 73 73 3d 22 6c 69 6e 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
1016a0 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e nyframe</span></span></code>.can
1016c0 20 62 65 20 75 73 65 64 20 61 73 20 61 20 74 79 70 65 20 66 6f 72 20 76 61 72 69 61 62 6c 65 73 .be.used.as.a.type.for.variables
1016e0 20 77 68 69 63 68 20 68 6f 6c 64 20 70 6f 69 6e 74 65 72 73 20 74 6f 20 66 75 6e 63 74 69 6f 6e .which.hold.pointers.to.function
101700 20 66 72 61 6d 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 .frames..............<ul>.......
101720 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 ........<li>See.also.<a.href="#A
101740 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c sync-Functions">Async.Functions<
101760 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 /a></li>.............</ul>......
101780 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 .....</td>.........</tr>........
1017a0 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e .<tr>...........<th.scope="row">
1017c0 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
1017e0 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e ass="line"><span.class="tok-kw">
101800 61 6e 79 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 anytype</span></span></code></pr
101820 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
101840 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 46 75 6e 63 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 >.............Function.parameter
101860 73 20 61 6e 64 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 20 63 61 6e 20 62 65 20 64 65 63 6c 61 s.and.struct.fields.can.be.decla
101880 72 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 red.with.<code><span.class="line
1018a0 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 74 79 70 65 3c 2f "><span.class="tok-kw">anytype</
1018c0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 span></span></code>.in.place.of.
1018e0 74 68 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 77 the.type..............The.type.w
101900 69 6c 6c 20 62 65 20 69 6e 66 65 72 72 65 64 20 77 68 65 72 65 20 74 68 65 20 66 75 6e 63 74 69 ill.be.inferred.where.the.functi
101920 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 6f 72 20 74 68 65 20 73 74 72 75 63 74 20 69 73 20 69 6e on.is.called.or.the.struct.is.in
101940 73 74 61 6e 74 69 61 74 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 stantiated..............<ul>....
101960 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=
101980 22 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 "#Function-Parameter-Type-Infere
1019a0 6e 63 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 72 20 54 79 70 65 20 49 6e 66 nce">Function.Parameter.Type.Inf
1019c0 65 72 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c erence</a></li>.............</ul
1019e0 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>.
101a00 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
101a20 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><
101a40 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
101a60 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c ok-kw">asm</span></span></code><
101a80 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>...........
101aa0 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
101ac0 73 73 3d 22 6c 69 6e 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
101ae0 73 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 67 69 6e 73 20 61 sm</span></span></code>.begins.a
101b00 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 2e 20 54 68 n.inline.assembly.expression..Th
101b20 69 73 20 61 6c 6c 6f 77 73 20 66 6f 72 20 64 69 72 65 63 74 6c 79 20 63 6f 6e 74 72 6f 6c 6c 69 is.allows.for.directly.controlli
101b40 6e 67 20 74 68 65 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 20 67 65 6e 65 72 61 74 65 64 20 6f 6e ng.the.machine.code.generated.on
101b60 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 .compilation..............<ul>..
101b80 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
101ba0 66 3d 22 23 41 73 73 65 6d 62 6c 79 22 3e 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a f="#Assembly">Assembly</a></li>.
101bc0 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
101be0 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>....
101c00 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">.........
101c20 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
101c40 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 "><span.class="tok-kw">async</sp
101c60 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>.........
101c80 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>..........
101ca0 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
101cc0 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
101ce0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 62 65 66 6f 72 65 20 61 pan></code>.can.be.used.before.a
101d00 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 74 6f 20 67 65 74 20 61 20 70 6f 69 6e 74 65 72 20 .function.call.to.get.a.pointer.
101d20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 66 72 61 6d 65 20 77 68 65 6e 20 69 74 20 to.the.function's.frame.when.it.
101d40 73 75 73 70 65 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 suspends..............<ul>......
101d60 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="#
101d80 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 Async-Functions">Async.Functions
101da0 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>.....
101dc0 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>.......
101de0 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"
101e00 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
101e20 6c 61 73 73 3d 22 6c 69 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"
101e40 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 >await</span></span></code></pre
101e60 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>
101e80 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .............<code><span.class="
101ea0 6c 69 6e 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
101ec0 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
101ee0 64 20 74 6f 20 73 75 73 70 65 6e 64 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 75 6e 63 74 69 6f d.to.suspend.the.current.functio
101f00 6e 20 75 6e 74 69 6c 20 74 68 65 20 66 72 61 6d 65 20 70 72 6f 76 69 64 65 64 20 61 66 74 65 72 n.until.the.frame.provided.after
101f20 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 .the.<code><span.class="line"><s
101f40 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c pan.class="tok-kw">await</span><
101f60 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 6d 70 6c 65 74 65 73 2e 0a 20 20 20 20 20 20 20 /span></code>.completes.........
101f80 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
101fa0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c pan.class="tok-kw">await</span><
101fc0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 70 69 65 73 20 74 68 65 20 76 61 6c 75 65 20 72 /span></code>.copies.the.value.r
101fe0 65 74 75 72 6e 65 64 20 66 72 6f 6d 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e eturned.from.the.target.function
102000 27 73 20 66 72 61 6d 65 20 74 6f 20 74 68 65 20 63 61 6c 6c 65 72 2e 0a 20 20 20 20 20 20 20 20 's.frame.to.the.caller..........
102020 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 ....<ul>...............<li>See.a
102040 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 lso.<a.href="#Async-Functions">A
102060 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 sync.Functions</a></li>.........
102080 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>.......
1020a0 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>...........<
1020c0 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 th.scope="row">.............<pre
1020e0 3e 3c 63 6f 64 65 3e 3c 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.
102100 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 class="tok-kw">break</span></spa
102120 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>.
102140 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
102160 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
102180 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
1021a0 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 77 69 74 68 20 61 20 62 6c 6f 63 6b 20 6c 61 62 de>.can.be.used.with.a.block.lab
1021c0 65 6c 20 74 6f 20 72 65 74 75 72 6e 20 61 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 62 6c el.to.return.a.value.from.the.bl
1021e0 6f 63 6b 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 ock..............It.can.also.be.
102200 75 73 65 64 20 74 6f 20 65 78 69 74 20 61 20 6c 6f 6f 70 20 62 65 66 6f 72 65 20 69 74 65 72 61 used.to.exit.a.loop.before.itera
102220 74 69 6f 6e 20 63 6f 6d 70 6c 65 74 65 73 20 6e 61 74 75 72 61 6c 6c 79 2e 0a 20 20 20 20 20 20 tion.completes.naturally........
102240 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
102260 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 62 6c 6f 63 6b 73 22 3e 62 6c 6f 63 6b 73 3c 2f .also.<a.href="#blocks">blocks</
102280 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 2c 20 a>,.<a.href="#while">while</a>,.
1022a0 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 <a.href="#for">for</a></li>.....
1022c0 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>...
1022e0 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>........
102300 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">.............
102320 3c 70 72 65 3e 3c 63 6f 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
102340 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 3c pan.class="tok-kw">catch</span><
102360 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>...........</
102380 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>.............<
1023a0 63 6f 64 65 3e 3c 73 70 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
1023c0 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>
1023e0 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 65 76 61 6c 75 61 74 65 20 </code>.can.be.used.to.evaluate.
102400 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 an.expression.if.the.expression.
102420 62 65 66 6f 72 65 20 69 74 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 61 6e 20 65 72 72 6f 72 2e before.it.evaluates.to.an.error.
102440 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 61 66 74 65 .............The.expression.afte
102460 72 20 74 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c r.the.<code><span.class="line"><
102480 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e span.class="tok-kw">catch</span>
1024a0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 63 61 </span></code>.can.optionally.ca
1024c0 70 74 75 72 65 20 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 pture.the.error.value...........
1024e0 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c ...<ul>...............<li>See.al
102500 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 63 61 74 63 68 22 3e 63 61 74 63 68 3c 2f 61 3e 2c 20 3c so.<a.href="#catch">catch</a>,.<
102520 61 20 68 72 65 66 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 a.href="#Operators">Operators</a
102540 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>........
102560 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>.........<
102580 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 tr>...........<th.scope="row">..
1025a0 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
1025c0 73 3d 22 6c 69 6e 65 22 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
1025e0 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 mptime</span></span></code></pre
102600 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>
102620 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .............<code><span.class="
102640 6c 69 6e 65 22 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
102660 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 65 66 6f 72 65 20 ime</span></span></code>.before.
102680 61 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6c 61 62 a.declaration.can.be.used.to.lab
1026a0 65 6c 20 76 61 72 69 61 62 6c 65 73 20 6f 72 20 66 75 6e 63 74 69 6f 6e 20 70 61 72 61 6d 65 74 el.variables.or.function.paramet
1026c0 65 72 73 20 61 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 ers.as.known.at.compile.time....
1026e0 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 74 6f ..........It.can.also.be.used.to
102700 20 67 75 61 72 61 6e 74 65 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 72 75 6e 20 .guarantee.an.expression.is.run.
102720 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c at.compile.time..............<ul
102740 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.
102760 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
102780 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>...........<
1027a0 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>.
1027c0 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">......
1027e0 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
102800 69 6e 65 22 3e 3c 73 70 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<
102820 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>......
102840 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 .....</th>...........<td>.......
102860 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"><
102880 73 70 61 6e 20 63 6c 61 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>
1028a0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 6c 61 72 65 73 20 61 20 76 61 72 69 61 62 </span></code>.declares.a.variab
1028c0 6c 65 20 74 68 61 74 20 63 61 6e 20 6e 6f 74 20 62 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 le.that.can.not.be.modified.....
1028e0 20 20 20 20 20 20 20 20 20 55 73 65 64 20 61 73 20 61 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 .........Used.as.a.pointer.attri
102900 62 75 74 65 2c 20 69 74 20 64 65 6e 6f 74 65 73 20 74 68 65 20 76 61 6c 75 65 20 72 65 66 65 72 bute,.it.denotes.the.value.refer
102920 65 6e 63 65 64 20 62 79 20 74 68 65 20 70 6f 69 6e 74 65 72 20 63 61 6e 6e 6f 74 20 62 65 20 6d enced.by.the.pointer.cannot.be.m
102940 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 odified..............<ul>.......
102960 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 56 ........<li>See.also.<a.href="#V
102980 61 72 69 61 62 6c 65 73 22 3e 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 ariables">Variables</a></li>....
1029a0 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>..
1029c0 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>.......
1029e0 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">............
102a00 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"><
102a20 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 span.class="tok-kw">continue</sp
102a40 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>.........
102a60 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>..........
102a80 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
102aa0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e n.class="tok-kw">continue</span>
102ac0 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 69 6e 20 61 20 </span></code>.can.be.used.in.a.
102ae0 6c 6f 6f 70 20 74 6f 20 6a 75 6d 70 20 62 61 63 6b 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 loop.to.jump.back.to.the.beginni
102b00 6e 67 20 6f 66 20 74 68 65 20 6c 6f 6f 70 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e ng.of.the.loop..............<ul>
102b20 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
102b40 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d ref="#while">while</a>,.<a.href=
102b60 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 "#for">for</a></li>.............
102b80 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>.........</
102ba0 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
102bc0 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
102be0 64 65 3e 3c 73 70 61 6e 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
102c00 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f s="tok-kw">defer</span></span></
102c20 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>.....
102c40 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 ......<td>.............<code><sp
102c60 61 6e 20 63 6c 61 73 73 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
102c80 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 -kw">defer</span></span></code>.
102ca0 77 69 6c 6c 20 65 78 65 63 75 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 68 65 6e 20 will.execute.an.expression.when.
102cc0 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 6c 65 61 76 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 control.flow.leaves.the.current.
102ce0 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 block..............<ul>.........
102d00 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 64 65 66 ......<li>See.also.<a.href="#def
102d20 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c er">defer</a></li>.............<
102d40 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
102d60 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
102d80 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
102da0 65 3e 3c 73 70 61 6e 20 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
102dc0 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ="tok-kw">else</span></span></co
102de0 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>.......
102e00 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
102e20 20 63 6c 61 73 73 3d 22 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
102e40 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e w">else</span></span></code>.can
102e60 20 62 65 20 75 73 65 64 20 74 6f 20 70 72 6f 76 69 64 65 20 61 6e 20 61 6c 74 65 72 6e 61 74 65 .be.used.to.provide.an.alternate
102e80 20 62 72 61 6e 63 68 20 66 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .branch.for.<code><span.class="l
102ea0 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 ine"><span.class="tok-kw">if</sp
102ec0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 an></span></code>,.<code><span.c
102ee0 6c 61 73 73 3d 22 6c 69 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"
102f00 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 >switch</span></span></code>,...
102f20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ..........<code><span.class="lin
102f40 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 e"><span.class="tok-kw">while</s
102f60 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 pan></span></code>,.and.<code><s
102f80 70 61 6e 20 63 6c 61 73 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
102fa0 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 k-kw">for</span></span></code>.e
102fc0 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 xpressions..............<ul>....
102fe0 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 75 73 65 64 20 61 66 74 65 72 20 61 6e 20 ...........<li>If.used.after.an.
103000 69 66 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 77 if.expression,.the.else.branch.w
103020 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 69 66 20 74 68 65 20 74 65 73 74 20 76 61 6c 75 ill.be.executed.if.the.test.valu
103040 65 20 72 65 74 75 72 6e 73 20 66 61 6c 73 65 2c 20 6e 75 6c 6c 2c 20 6f 72 20 61 6e 20 65 72 72 e.returns.false,.null,.or.an.err
103060 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 75 73 or.</li>...............<li>If.us
103080 65 64 20 77 69 74 68 69 6e 20 61 20 73 77 69 74 63 68 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 ed.within.a.switch.expression,.t
1030a0 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 he.else.branch.will.be.executed.
1030c0 69 66 20 74 68 65 20 74 65 73 74 20 76 61 6c 75 65 20 6d 61 74 63 68 65 73 20 6e 6f 20 6f 74 68 if.the.test.value.matches.no.oth
1030e0 65 72 20 63 61 73 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 er.cases.</li>...............<li
103100 3e 49 66 20 75 73 65 64 20 61 66 74 65 72 20 61 20 6c 6f 6f 70 20 65 78 70 72 65 73 73 69 6f 6e >If.used.after.a.loop.expression
103120 2c 20 74 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 77 69 6c 6c 20 62 65 20 65 78 65 63 75 74 ,.the.else.branch.will.be.execut
103140 65 64 20 69 66 20 74 68 65 20 6c 6f 6f 70 20 66 69 6e 69 73 68 65 73 20 77 69 74 68 6f 75 74 20 ed.if.the.loop.finishes.without.
103160 62 72 65 61 6b 69 6e 67 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 breaking.</li>...............<li
103180 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 2c 20 >See.also.<a.href="#if">if</a>,.
1031a0 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 2c 20 3c 61 <a.href="#switch">switch</a>,.<a
1031c0 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
1031e0 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>...........
103200 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>.........
103220 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
103240 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><
103260 63 6f 64 65 3e 3c 73 70 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
103280 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c ass="tok-kw">enum</span></span><
1032a0 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>....
1032c0 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
1032e0 70 61 6e 20 63 6c 61 73 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
103300 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 k-kw">enum</span></span></code>.
103320 64 65 66 69 6e 65 73 20 61 6e 20 65 6e 75 6d 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 defines.an.enum.type............
103340 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 ..<ul>...............<li>See.als
103360 6f 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a o.<a.href="#enum">enum</a></li>.
103380 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
1033a0 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>....
1033c0 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">.........
1033e0 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
103400 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c "><span.class="tok-kw">errdefer<
103420 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>......
103440 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 .....</th>...........<td>.......
103460 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"><
103480 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
1034a0 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 65 78 65 63 75 74 65 20 61 an></span></code>.will.execute.a
1034c0 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 68 65 6e 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 6c n.expression.when.control.flow.l
1034e0 65 61 76 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 6c 6f 63 6b 20 69 66 20 74 68 65 20 66 eaves.the.current.block.if.the.f
103500 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 unction.returns.an.error........
103520 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
103540 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 65 72 72 64 65 66 65 72 22 3e 65 72 72 64 65 66 .also.<a.href="#errdefer">errdef
103560 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 er</a></li>.............</ul>...
103580 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>.....
1035a0 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
1035c0 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
1035e0 20 63 6c 61 73 73 3d 22 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
103600 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 w">error</span></span></code></p
103620 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
103640 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
103660 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 ="line"><span.class="tok-kw">err
103680 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 or</span></span></code>.defines.
1036a0 61 6e 20 65 72 72 6f 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a an.error.type..............<ul>.
1036c0 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
1036e0 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 ef="#Errors">Errors</a></li>....
103700 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>..
103720 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>.......
103740 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">............
103760 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"><
103780 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
1037a0 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>...........
1037c0 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>............
1037e0 20 3c 63 6f 64 65 3e 3c 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.
103800 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
103820 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 76 an></code>.makes.a.function.or.v
103840 61 72 69 61 62 6c 65 20 65 78 74 65 72 6e 61 6c 6c 79 20 76 69 73 69 62 6c 65 20 69 6e 20 74 68 ariable.externally.visible.in.th
103860 65 20 67 65 6e 65 72 61 74 65 64 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 e.generated.object.file.........
103880 20 20 20 20 20 45 78 70 6f 72 74 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 64 65 66 61 75 6c 74 20 .....Exported.functions.default.
1038a0 74 6f 20 74 68 65 20 43 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 2e 0a 20 20 20 to.the.C.calling.convention.....
1038c0 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>
1038e0 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 See.also.<a.href="#Functions">Fu
103900 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 nctions</a></li>.............</u
103920 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>
103940 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
103960 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>
103980 3c 73 70 61 6e 20 63 6c 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="
1039a0 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
1039c0 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>.......
1039e0 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
103a00 20 63 6c 61 73 73 3d 22 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
103a20 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 w">extern</span></span></code>.c
103a40 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 65 63 6c 61 72 65 20 61 20 66 75 6e 63 74 69 6f 6e an.be.used.to.declare.a.function
103a60 20 6f 72 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 72 65 73 6f 6c 76 .or.variable.that.will.be.resolv
103a80 65 64 20 61 74 20 6c 69 6e 6b 20 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 73 74 ed.at.link.time,.when.linking.st
103aa0 61 74 69 63 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 61 74 20 72 75 6e 74 69 atically.............or.at.runti
103ac0 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2e 0a 20 20 me,.when.linking.dynamically....
103ae0 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
103b00 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 >See.also.<a.href="#Functions">F
103b20 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>.............</
103b40 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
103b60 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
103b80 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
103ba0 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d ><span.class="line"><span.class=
103bc0 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></
103be0 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>.....
103c00 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 62 6f 6f 6c 65 ......<td>.............The.boole
103c20 61 6e 20 76 61 6c 75 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 an.value.<code><span.class="line
103c40 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f "><span.class="tok-null">false</
103c60 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>.............
103c80 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
103ca0 20 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e 50 72 69 .<a.href="#Primitive-Values">Pri
103cc0 6d 69 74 69 76 65 20 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 mitive.Values</a></li>..........
103ce0 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>........
103d00 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
103d20 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>
103d40 3c 63 6f 64 65 3e 3c 73 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
103d60 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f lass="tok-kw">fn</span></span></
103d80 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>.....
103da0 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 ......<td>.............<code><sp
103dc0 61 6e 20 63 6c 61 73 73 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
103de0 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 63 -kw">fn</span></span></code>.dec
103e00 6c 61 72 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 lares.a.function..............<u
103e20 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
103e40 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e .href="#Functions">Functions</a>
103e60 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>.........
103e80 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 ..</td>.........</tr>.........<t
103ea0 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 r>...........<th.scope="row">...
103ec0 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ..........<pre><code><span.class
103ee0 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 ="line"><span.class="tok-kw">for
103f00 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>.....
103f20 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>......
103f40 20 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 .......A.<code><span.class="line
103f60 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e "><span.class="tok-kw">for</span
103f80 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 62 ></span></code>.expression.can.b
103fa0 65 20 75 73 65 64 20 74 6f 20 69 74 65 72 61 74 65 20 6f 76 65 72 20 74 68 65 20 65 6c 65 6d 65 e.used.to.iterate.over.the.eleme
103fc0 6e 74 73 20 6f 66 20 61 20 73 6c 69 63 65 2c 20 61 72 72 61 79 2c 20 6f 72 20 74 75 70 6c 65 2e nts.of.a.slice,.array,.or.tuple.
103fe0 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>...............
104000 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c <li>See.also.<a.href="#for">for<
104020 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 /a></li>.............</ul>......
104040 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 .....</td>.........</tr>........
104060 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e .<tr>...........<th.scope="row">
104080 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
1040a0 61 73 73 3d 22 6c 69 6e 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">
1040c0 69 66 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 if</span></span></code></pre>...
1040e0 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>....
104100 20 20 20 20 20 20 20 20 20 41 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .........An.<code><span.class="l
104120 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 ine"><span.class="tok-kw">if</sp
104140 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 63 61 6e an></span></code>.expression.can
104160 20 74 65 73 74 20 62 6f 6f 6c 65 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 73 2c 20 6f 70 74 69 6f .test.boolean.expressions,.optio
104180 6e 61 6c 20 76 61 6c 75 65 73 2c 20 6f 72 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 2e 0a 20 20 20 nal.values,.or.error.unions.....
1041a0 20 20 20 20 20 20 20 20 20 46 6f 72 20 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 73 20 6f 72 20 .........For.optional.values.or.
1041c0 65 72 72 6f 72 20 75 6e 69 6f 6e 73 2c 20 74 68 65 20 69 66 20 65 78 70 72 65 73 73 69 6f 6e 20 error.unions,.the.if.expression.
1041e0 63 61 6e 20 63 61 70 74 75 72 65 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 76 61 6c 75 65 2e can.capture.the.unwrapped.value.
104200 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>...............
104220 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 <li>See.also.<a.href="#if">if</a
104240 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>........
104260 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>.........<
104280 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 tr>...........<th.scope="row">..
1042a0 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
1042c0 73 3d 22 6c 69 6e 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
1042e0 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a line</span></span></code></pre>.
104300 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>..
104320 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
104340 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c ne"><span.class="tok-kw">inline<
104360 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 /span></span></code>.can.be.used
104380 20 74 6f 20 6c 61 62 65 6c 20 61 20 6c 6f 6f 70 20 65 78 70 72 65 73 73 69 6f 6e 20 73 75 63 68 .to.label.a.loop.expression.such
1043a0 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 6e 72 6f 6c 6c 65 64 20 61 74 20 63 6f 6d .that.it.will.be.unrolled.at.com
1043c0 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c pile.time..............It.can.al
1043e0 73 6f 20 62 65 20 75 73 65 64 20 74 6f 20 66 6f 72 63 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 so.be.used.to.force.a.function.t
104400 6f 20 62 65 20 69 6e 6c 69 6e 65 64 20 61 74 20 61 6c 6c 20 63 61 6c 6c 20 73 69 74 65 73 2e 0a o.be.inlined.at.all.call.sites..
104420 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>...............<
104440 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 68 69 li>See.also.<a.href="#inline-whi
104460 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 le">inline.while</a>,.<a.href="#
104480 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 2c 20 3c 61 20 68 inline-for">inline.for</a>,.<a.h
1044a0 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></
1044c0 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>...........
1044e0 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>
104500 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">.....
104520 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="
104540 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 61 6c 69 line"><span.class="tok-kw">noali
104560 61 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 as</span></span></code></pre>...
104580 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>....
1045a0 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .........The.<code><span.class="
1045c0 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 61 6c 69 line"><span.class="tok-kw">noali
1045e0 61 73 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 2e as</span></span></code>.keyword.
104600 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>...............
104620 3c 6c 69 3e 54 4f 44 4f 20 61 64 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 6e <li>TODO.add.documentation.for.n
104640 6f 61 6c 69 61 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 oalias</li>.............</ul>...
104660 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>.....
104680 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
1046a0 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
1046c0 20 63 6c 61 73 73 3d 22 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
1046e0 77 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 w">nosuspend</span></span></code
104700 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>.........
104720 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 ..<td>.............The.<code><sp
104740 61 6e 20 63 6c 61 73 73 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
104760 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f -kw">nosuspend</span></span></co
104780 64 65 3e 20 6b 65 79 77 6f 72 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 69 6e 20 66 72 6f 6e 74 de>.keyword.can.be.used.in.front
1047a0 20 6f 66 20 61 20 62 6c 6f 63 6b 2c 20 73 74 61 74 65 6d 65 6e 74 20 6f 72 20 65 78 70 72 65 73 .of.a.block,.statement.or.expres
1047c0 73 69 6f 6e 2c 20 74 6f 20 6d 61 72 6b 20 61 20 73 63 6f 70 65 20 77 68 65 72 65 20 6e 6f 20 73 sion,.to.mark.a.scope.where.no.s
1047e0 75 73 70 65 6e 73 69 6f 6e 20 70 6f 69 6e 74 73 20 61 72 65 20 72 65 61 63 68 65 64 2e 0a 20 20 uspension.points.are.reached....
104800 20 20 20 20 20 20 20 20 20 20 49 6e 20 70 61 72 74 69 63 75 6c 61 72 2c 20 69 6e 73 69 64 65 20 ..........In.particular,.inside.
104820 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
104840 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e .class="tok-kw">nosuspend</span>
104860 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 63 6f 70 65 3a 0a 20 20 20 20 20 20 20 20 20 20 </span></code>.scope:...........
104880 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 69 6e 67 20 74 ..<ul>...............<li>Using.t
1048a0 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
1048c0 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><
1048e0 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 72 65 73 75 6c 74 73 20 69 6e /span></code>.keyword.results.in
104900 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 .a.compile.error.</li>..........
104920 20 20 20 20 20 3c 6c 69 3e 55 73 69 6e 67 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 .....<li>Using.<code><span.class
104940 3d 22 6c 69 6e 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
104960 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 20 61 20 66 75 6e it</span></span></code>.on.a.fun
104980 63 74 69 6f 6e 20 66 72 61 6d 65 20 77 68 69 63 68 20 68 61 73 6e 27 74 20 63 6f 6d 70 6c 65 74 ction.frame.which.hasn't.complet
1049a0 65 64 20 79 65 74 20 72 65 73 75 6c 74 73 20 69 6e 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 ed.yet.results.in.safety-checked
1049c0 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 .<a.href="#Undefined-Behavior">U
1049e0 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 ndefined.Behavior</a>.</li>.....
104a00 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6c 6c 69 6e 67 20 61 6e 20 61 73 79 6e 63 20 66 ..........<li>Calling.an.async.f
104a20 75 6e 63 74 69 6f 6e 20 6d 61 79 20 72 65 73 75 6c 74 20 69 6e 20 73 61 66 65 74 79 2d 63 68 65 unction.may.result.in.safety-che
104a40 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
104a60 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2c 20 62 65 63 61 75 r">Undefined.Behavior</a>,.becau
104a80 73 65 20 69 74 27 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 63 6f 64 65 3e 61 77 61 69 se.it's.equivalent.to.<code>awai
104aa0 74 20 61 73 79 6e 63 20 73 6f 6d 65 5f 61 73 79 6e 63 5f 66 6e 28 29 3c 2f 63 6f 64 65 3e 2c 20 t.async.some_async_fn()</code>,.
104ac0 77 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 61 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c which.contains.an.<code><span.cl
104ae0 61 73 73 3d 22 6c 69 6e 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">
104b00 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e await</span></span></code>.</li>
104b20 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 43 .............</ul>.............C
104b40 6f 64 65 20 69 6e 73 69 64 65 20 61 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ode.inside.a.<code><span.class="
104b60 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 73 75 73 line"><span.class="tok-kw">nosus
104b80 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 63 6f 70 65 20 pend</span></span></code>.scope.
104ba0 64 6f 65 73 20 6e 6f 74 20 63 61 75 73 65 20 74 68 65 20 65 6e 63 6c 6f 73 69 6e 67 20 66 75 6e does.not.cause.the.enclosing.fun
104bc0 63 74 69 6f 6e 20 74 6f 20 62 65 63 6f 6d 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 ction.to.become.an.<a.href="#Asy
104be0 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e nc-Functions">async.function</a>
104c00 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>..............
104c20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 .<li>See.also.<a.href="#Async-Fu
104c40 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 nctions">Async.Functions</a></li
104c60 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>...........</
104c80 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>..
104ca0 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">.......
104cc0 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
104ce0 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c ne"><span.class="tok-null">null<
104d00 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>......
104d20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 .....</th>...........<td>.......
104d40 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 20 3c 63 6f 64 65 3e 3c ......The.optional.value.<code><
104d60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
104d80 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 ok-null">null</span></span></cod
104da0 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 e>..............<ul>............
104dc0 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e ...<li>See.also.<a.href="#null">
104de0 6e 75 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a null</a></li>.............</ul>.
104e00 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>...
104e20 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="
104e40 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
104e60 61 6e 20 63 6c 61 73 73 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
104e80 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 -kw">or</span></span></code></pr
104ea0 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
104ec0 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 62 6f 6f 6c 65 61 6e 20 6f 70 65 72 61 74 >.............The.boolean.operat
104ee0 6f 72 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 or.<code><span.class="line"><spa
104f00 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e n.class="tok-kw">or</span></span
104f20 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 ></code>..............<ul>......
104f40 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="#
104f60 4f 70 65 72 61 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 Operators">Operators</a></li>...
104f80 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>.
104fa0 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>......
104fc0 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">...........
104fe0 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">
105000 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 <span.class="tok-kw">orelse</spa
105020 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>..........
105040 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>...........
105060 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
105080 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 73 .class="tok-kw">orelse</span></s
1050a0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 65 76 61 6c 75 pan></code>.can.be.used.to.evalu
1050c0 61 74 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 66 20 74 68 65 20 65 78 70 72 65 73 73 ate.an.expression.if.the.express
1050e0 69 6f 6e 20 62 65 66 6f 72 65 20 69 74 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 6e 75 6c 6c 2e ion.before.it.evaluates.to.null.
105100 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>...............
105120 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 <li>See.also.<a.href="#Optionals
105140 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 65 72 61 ">Optionals</a>,.<a.href="#Opera
105160 74 6f 72 73 22 3e 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 tors">Operators</a></li>........
105180 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>......
1051a0 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>...........
1051c0 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 <th.scope="row">.............<pr
1051e0 65 3e 3c 63 6f 64 65 3e 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
105200 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 .class="tok-kw">packed</span></s
105220 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
105240 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 >...........<td>.............The
105260 20 3c 63 6f 64 65 3e 3c 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.
105280 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 class="tok-kw">packed</span></sp
1052a0 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 62 65 66 6f 72 65 20 61 20 73 74 72 75 an></code>.keyword.before.a.stru
1052c0 63 74 20 64 65 66 69 6e 69 74 69 6f 6e 20 63 68 61 6e 67 65 73 20 74 68 65 20 73 74 72 75 63 74 ct.definition.changes.the.struct
1052e0 27 73 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 's.in-memory.layout.............
105300 74 6f 20 74 68 65 20 67 75 61 72 61 6e 74 65 65 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c to.the.guaranteed.<code><span.cl
105320 61 73 73 3d 22 6c 69 6e 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">
105340 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 61 79 6f packed</span></span></code>.layo
105360 75 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ut..............<ul>............
105380 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 ...<li>See.also.<a.href="#packed
1053a0 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a -struct">packed.struct</a></li>.
1053c0 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
1053e0 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>....
105400 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">.........
105420 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
105440 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e "><span.class="tok-kw">pub</span
105460 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>...........
105480 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>............
1054a0 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
1054c0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 73 pan.class="tok-kw">pub</span></s
1054e0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 61 20 74 6f 70 20 6c 65 pan></code>.in.front.of.a.top.le
105500 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 6d 61 6b 65 73 20 74 68 65 20 64 65 63 6c 61 72 vel.declaration.makes.the.declar
105520 61 74 69 6f 6e 20 61 76 61 69 6c 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 72 ation.available.............to.r
105540 65 66 65 72 65 6e 63 65 20 66 72 6f 6d 20 61 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65 20 74 eference.from.a.different.file.t
105560 68 61 6e 20 74 68 65 20 6f 6e 65 20 69 74 20 69 73 20 64 65 63 6c 61 72 65 64 20 69 6e 2e 0a 20 han.the.one.it.is.declared.in...
105580 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
1055a0 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e 69 6d 70 i>See.also.<a.href="#import">imp
1055c0 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ort</a></li>.............</ul>..
1055e0 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>....
105600 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
105620 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
105640 6e 20 63 6c 61 73 73 3d 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-
105660 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c kw">resume</span></span></code><
105680 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>...........
1056a0 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
1056c0 73 73 3d 22 6c 69 6e 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
1056e0 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 esume</span></span></code>.will.
105700 63 6f 6e 74 69 6e 75 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 61 20 66 75 6e 63 74 69 6f 6e continue.execution.of.a.function
105720 20 66 72 61 6d 65 20 61 66 74 65 72 20 74 68 65 20 70 6f 69 6e 74 20 74 68 65 20 66 75 6e 63 74 .frame.after.the.point.the.funct
105740 69 6f 6e 20 77 61 73 20 73 75 73 70 65 6e 64 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c ion.was.suspended..............<
105760 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.<
105780 61 20 68 72 65 66 3d 22 23 53 75 73 70 65 6e 64 2d 61 6e 64 2d 52 65 73 75 6d 65 22 3e 53 75 73 a.href="#Suspend-and-Resume">Sus
1057a0 70 65 6e 64 20 61 6e 64 20 52 65 73 75 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 pend.and.Resume</a></li>........
1057c0 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>......
1057e0 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>...........
105800 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 <th.scope="row">.............<pr
105820 65 3e 3c 63 6f 64 65 3e 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
105840 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 73 .class="tok-kw">return</span></s
105860 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
105880 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
1058a0 64 65 3e 3c 73 70 61 6e 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
1058c0 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><
1058e0 2f 63 6f 64 65 3e 20 65 78 69 74 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 61 20 76 /code>.exits.a.function.with.a.v
105900 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 alue..............<ul>..........
105920 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
105940 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 tions">Functions</a></li>.......
105960 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>.....
105980 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>..........
1059a0 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
1059c0 72 65 3e 3c 63 6f 64 65 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
1059e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6c 69 6e 6b 73 65 63 74 69 6f 6e 3c 2f 73 70 n.class="tok-kw">linksection</sp
105a00 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>.........
105a20 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>..........
105a40 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">
105a60 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6c 69 6e 6b 73 65 63 74 69 6f 6e <span.class="tok-kw">linksection
105a80 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 2e 0a 20 </span></span></code>.keyword...
105aa0 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
105ac0 69 3e 54 4f 44 4f 20 61 64 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20 6c 69 6e i>TODO.add.documentation.for.lin
105ae0 6b 73 65 63 74 69 6f 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a ksection</li>.............</ul>.
105b00 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>...
105b20 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="
105b40 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
105b60 61 6e 20 63 6c 61 73 73 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
105b80 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e -kw">struct</span></span></code>
105ba0 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>..........
105bc0 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
105be0 61 73 73 3d 22 6c 69 6e 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">
105c00 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 struct</span></span></code>.defi
105c20 6e 65 73 20 61 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 nes.a.struct..............<ul>..
105c40 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
105c60 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 f="#struct">struct</a></li>.....
105c80 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>...
105ca0 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>........
105cc0 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">.............
105ce0 3c 70 72 65 3e 3c 63 6f 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
105d00 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e pan.class="tok-kw">suspend</span
105d20 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>...........
105d40 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>............
105d60 20 3c 63 6f 64 65 3e 3c 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.
105d80 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 73 class="tok-kw">suspend</span></s
105da0 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 63 61 75 73 65 20 63 6f 6e 74 72 6f 6c 20 66 pan></code>.will.cause.control.f
105dc0 6c 6f 77 20 74 6f 20 72 65 74 75 72 6e 20 74 6f 20 74 68 65 20 63 61 6c 6c 20 73 69 74 65 20 6f low.to.return.to.the.call.site.o
105de0 72 20 72 65 73 75 6d 65 72 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 r.resumer.of.the.function.......
105e00 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">
105e20 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
105e40 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 an></span></code>.can.also.be.us
105e60 65 64 20 62 65 66 6f 72 65 20 61 20 62 6c 6f 63 6b 20 77 69 74 68 69 6e 20 61 20 66 75 6e 63 74 ed.before.a.block.within.a.funct
105e80 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 61 6c 6c 6f 77 20 74 68 65 20 66 75 ion,.............to.allow.the.fu
105ea0 6e 63 74 69 6f 6e 20 61 63 63 65 73 73 20 74 6f 20 69 74 73 20 66 72 61 6d 65 20 62 65 66 6f 72 nction.access.to.its.frame.befor
105ec0 65 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 72 65 74 75 72 6e 73 20 74 6f 20 74 68 65 20 63 61 e.control.flow.returns.to.the.ca
105ee0 6c 6c 20 73 69 74 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 ll.site..............<ul>.......
105f00 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 53 ........<li>See.also.<a.href="#S
105f20 75 73 70 65 6e 64 2d 61 6e 64 2d 52 65 73 75 6d 65 22 3e 53 75 73 70 65 6e 64 20 61 6e 64 20 52 uspend-and-Resume">Suspend.and.R
105f40 65 73 75 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e esume</a></li>.............</ul>
105f60 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>..
105f80 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=
105fa0 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
105fc0 70 61 6e 20 63 6c 61 73 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
105fe0 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 k-kw">switch</span></span></code
106000 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>.........
106020 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e ..<td>.............A.<code><span
106040 20 63 6c 61 73 73 3d 22 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
106060 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 w">switch</span></span></code>.e
106080 78 70 72 65 73 73 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 74 65 73 74 20 76 61 xpression.can.be.used.to.test.va
1060a0 6c 75 65 73 20 6f 66 20 61 20 63 6f 6d 6d 6f 6e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 lues.of.a.common.type...........
1060c0 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
1060e0 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f n.class="tok-kw">switch</span></
106100 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 73 65 73 20 63 61 6e 20 63 61 70 74 75 72 65 20 66 span></code>.cases.can.capture.f
106120 69 65 6c 64 20 76 61 6c 75 65 73 20 6f 66 20 61 20 3c 61 20 68 72 65 66 3d 22 23 54 61 67 67 65 ield.values.of.a.<a.href="#Tagge
106140 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 d-union">Tagged.union</a>.......
106160 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 .......<ul>...............<li>Se
106180 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c e.also.<a.href="#switch">switch<
1061a0 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 /a></li>.............</ul>......
1061c0 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 .....</td>.........</tr>........
1061e0 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e .<tr>...........<th.scope="row">
106200 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
106220 61 73 73 3d 22 6c 69 6e 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">
106240 74 65 73 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a test</span></span></code></pre>.
106260 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>..
106280 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 ...........The.<code><span.class
1062a0 3d 22 6c 69 6e 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
1062c0 74 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 63 t</span></span></code>.keyword.c
1062e0 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 64 65 6e 6f 74 65 20 61 20 74 6f 70 2d 6c 65 76 65 6c an.be.used.to.denote.a.top-level
106300 20 62 6c 6f 63 6b 20 6f 66 20 63 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 75 73 65 64 20 .block.of.code.............used.
106320 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 62 65 68 61 76 69 6f 72 20 6d 65 65 74 73 20 65 78 70 65 to.make.sure.behavior.meets.expe
106340 63 74 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 ctations..............<ul>......
106360 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="#
106380 5a 69 67 2d 54 65 73 74 22 3e 5a 69 67 20 54 65 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 Zig-Test">Zig.Test</a></li>.....
1063a0 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>...
1063c0 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>........
1063e0 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">.............
106400 3c 70 72 65 3e 3c 63 6f 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
106420 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 68 72 65 61 64 6c 6f 63 61 6c 3c 2f pan.class="tok-kw">threadlocal</
106440 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>.......
106460 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>........
106480 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
1064a0 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 68 72 65 61 64 6c 6f 63 61 6c 3c 2f pan.class="tok-kw">threadlocal</
1064c0 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 span></span></code>.can.be.used.
1064e0 74 6f 20 73 70 65 63 69 66 79 20 61 20 76 61 72 69 61 62 6c 65 20 61 73 20 74 68 72 65 61 64 2d to.specify.a.variable.as.thread-
106500 6c 6f 63 61 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 local..............<ul>.........
106520 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 54 68 72 ......<li>See.also.<a.href="#Thr
106540 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 61 ead-Local-Variables">Thread.Loca
106560 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 l.Variables</a></li>............
106580 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>.........<
1065a0 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.
1065c0 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
1065e0 6f 64 65 3e 3c 73 70 61 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
106600 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e ss="tok-null">true</span></span>
106620 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>...
106640 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 62 6f 6f ........<td>.............The.boo
106660 6c 65 61 6e 20 76 61 6c 75 65 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 lean.value.<code><span.class="li
106680 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<
1066a0 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>............
1066c0 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 ..<ul>...............<li>See.als
1066e0 6f 20 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e 50 72 o.<a.href="#Primitive-Values">Pr
106700 69 6d 69 74 69 76 65 20 56 61 6c 75 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 imitive.Values</a></li>.........
106720 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>.......
106740 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>...........<
106760 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 th.scope="row">.............<pre
106780 3e 3c 63 6f 64 65 3e 3c 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.
1067a0 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e class="tok-kw">try</span></span>
1067c0 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>...
1067e0 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><
106800 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 span.class="line"><span.class="t
106820 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 ok-kw">try</span></span></code>.
106840 65 76 61 6c 75 61 74 65 73 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 65 78 70 72 65 73 73 evaluates.an.error.union.express
106860 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 69 74 20 69 73 20 61 6e 20 65 72 72 ion..............If.it.is.an.err
106880 6f 72 2c 20 69 74 20 72 65 74 75 72 6e 73 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 or,.it.returns.from.the.current.
1068a0 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 65 72 72 6f 72 2e 0a 20 20 function.with.the.same.error....
1068c0 20 20 20 20 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 65 78 70 72 65 73 73 ..........Otherwise,.the.express
1068e0 69 6f 6e 20 72 65 73 75 6c 74 73 20 69 6e 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 76 61 6c ion.results.in.the.unwrapped.val
106900 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 ue..............<ul>............
106920 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 74 72 79 22 3e 74 ...<li>See.also.<a.href="#try">t
106940 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 ry</a></li>.............</ul>...
106960 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>.....
106980 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
1069a0 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
1069c0 20 63 6c 61 73 73 3d 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
1069e0 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ull">undefined</span></span></co
106a00 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>.......
106a20 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
106a40 20 63 6c 61 73 73 3d 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
106a60 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f ull">undefined</span></span></co
106a80 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6c 65 61 76 65 20 61 20 76 61 6c 75 65 de>.can.be.used.to.leave.a.value
106aa0 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e .uninitialized..............<ul>
106ac0 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
106ae0 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 3c 2f ref="#undefined">undefined</a></
106b00 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>...........
106b20 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>
106b40 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">.....
106b60 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="
106b80 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e line"><span.class="tok-kw">union
106ba0 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>.....
106bc0 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>......
106be0 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">
106c00 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e <span.class="tok-kw">union</span
106c20 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 66 69 6e 65 73 20 61 20 75 6e 69 6f 6e 2e ></span></code>.defines.a.union.
106c40 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>...............
106c60 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e <li>See.also.<a.href="#union">un
106c80 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 ion</a></li>.............</ul>..
106ca0 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>....
106cc0 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
106ce0 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
106d00 6e 20 63 6c 61 73 73 3d 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-
106d20 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
106d40 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 ode></pre>...........</th>......
106d60 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 .....<td>.............<code><spa
106d80 6e 20 63 6c 61 73 73 3d 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-
106da0 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
106dc0 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 61 73 73 65 72 74 20 74 68 61 74 20 ode>.can.be.used.to.assert.that.
106de0 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 77 69 6c 6c 20 6e 65 76 65 72 20 68 61 70 70 65 6e 20 75 control.flow.will.never.happen.u
106e00 70 6f 6e 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 6c 6f 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 pon.a.particular.location.......
106e20 20 20 20 20 20 20 20 44 65 70 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 62 75 69 6c 64 20 6d 6f .......Depending.on.the.build.mo
106e40 64 65 2c 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 de,.<code><span.class="line"><sp
106e60 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
106e80 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 65 6d 69 74 20 61 20 70 61 pan></span></code>.may.emit.a.pa
106ea0 6e 69 63 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 nic..............<ul>...........
106ec0 20 20 20 20 3c 6c 69 3e 45 6d 69 74 73 20 61 20 70 61 6e 69 63 20 69 6e 20 3c 63 6f 64 65 3e 3c ....<li>Emits.a.panic.in.<code><
106ee0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 65 62 75 67 3c 2f 73 70 61 6e 3e 3c 2f span.class="line">Debug</span></
106f00 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e code>.and.<code><span.class="lin
106f20 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 e">ReleaseSafe</span></code>.mod
106f40 65 2c 20 6f 72 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 6b 62 64 3e 7a 69 67 20 74 65 73 74 3c 2f e,.or.when.using.<kbd>zig.test</
106f60 6b 62 64 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 44 6f 65 kbd>.</li>...............<li>Doe
106f80 73 20 6e 6f 74 20 65 6d 69 74 20 61 20 70 61 6e 69 63 20 69 6e 20 3c 63 6f 64 65 3e 3c 73 70 61 s.not.emit.a.panic.in.<code><spa
106fa0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 73 70 61 6e n.class="line">ReleaseFast</span
106fc0 3e 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2c 20 75 6e 6c 65 73 73 20 3c 6b 62 64 3e 7a 69 67 20 74 ></code>.mode,.unless.<kbd>zig.t
106fe0 65 73 74 3c 2f 6b 62 64 3e 20 69 73 20 62 65 69 6e 67 20 75 73 65 64 2e 3c 2f 6c 69 3e 0a 20 20 est</kbd>.is.being.used.</li>...
107000 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
107020 3d 22 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 3c ="#unreachable">unreachable</a><
107040 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>..........
107060 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
107080 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">....
1070a0 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=
1070c0 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 73 69 6e "line"><span.class="tok-kw">usin
1070e0 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c gnamespace</span></span></code><
107100 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>...........
107120 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
107140 73 73 3d 22 6c 69 6e 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
107160 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
107180 65 3e 20 69 73 20 61 20 74 6f 70 2d 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 74 68 e>.is.a.top-level.declaration.th
1071a0 61 74 20 69 6d 70 6f 72 74 73 20 61 6c 6c 20 74 68 65 20 70 75 62 6c 69 63 20 64 65 63 6c 61 72 at.imports.all.the.public.declar
1071c0 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6f 70 65 72 61 6e 64 2c 0a 20 20 20 20 20 20 20 20 20 ations.of.the.operand,..........
1071e0 20 20 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 61 20 73 74 72 75 63 74 2c 20 75 6e 69 6f 6e ...which.must.be.a.struct,.union
107200 2c 20 6f 72 20 65 6e 75 6d 2c 20 69 6e 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 63 6f 70 ,.or.enum,.into.the.current.scop
107220 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>.............
107240 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 75 73 69 6e 67 6e 61 ..<li>See.also.<a.href="#usingna
107260 6d 65 73 70 61 63 65 22 3e 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e mespace">usingnamespace</a></li>
107280 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
1072a0 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>...
1072c0 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">........
1072e0 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
107300 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 e"><span.class="tok-kw">var</spa
107320 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>..........
107340 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>...........
107360 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
107380 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e .class="tok-kw">var</span></span
1073a0 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
1073c0 74 20 6d 61 79 20 62 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c t.may.be.modified..............<
1073e0 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.<
107400 61 20 68 72 65 66 3d 22 23 56 61 72 69 61 62 6c 65 73 22 3e 56 61 72 69 61 62 6c 65 73 3c 2f 61 a.href="#Variables">Variables</a
107420 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>........
107440 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>.........<
107460 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 20 73 63 6f 70 65 3d 22 72 6f 77 22 3e 0a 20 tr>...........<th.scope="row">..
107480 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
1074a0 73 3d 22 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f s="line"><span.class="tok-kw">vo
1074c0 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 latile</span></span></code></pre
1074e0 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>
107500 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .............<code><span.class="
107520 6c 69 6e 65 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 line"><span.class="tok-kw">volat
107540 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 ile</span></span></code>.can.be.
107560 75 73 65 64 20 74 6f 20 64 65 6e 6f 74 65 20 6c 6f 61 64 73 20 6f 72 20 73 74 6f 72 65 73 20 6f used.to.denote.loads.or.stores.o
107580 66 20 61 20 70 6f 69 6e 74 65 72 20 68 61 76 65 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 20 f.a.pointer.have.side.effects...
1075a0 20 20 20 20 20 20 20 20 20 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 6d 6f 64 69 66 79 20 61 6e ...........It.can.also.modify.an
1075c0 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 20 74 6f 20 64 .inline.assembly.expression.to.d
1075e0 65 6e 6f 74 65 20 69 74 20 68 61 73 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 0a 20 20 20 20 20 enote.it.has.side.effects.......
107600 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 .......<ul>...............<li>Se
107620 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 74 e.also.<a.href="#volatile">volat
107640 69 6c 65 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 41 73 73 65 6d 62 6c 79 22 3e 41 73 73 ile</a>,.<a.href="#Assembly">Ass
107660 65 6d 62 6c 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e embly</a></li>.............</ul>
107680 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>..
1076a0 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=
1076c0 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
1076e0 70 61 6e 20 63 6c 61 73 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
107700 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e k-kw">while</span></span></code>
107720 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>..........
107740 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 20 3c 63 6f 64 65 3e 3c 73 70 61 6e 20 .<td>.............A.<code><span.
107760 63 6c 61 73 73 3d 22 6c 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
107780 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 ">while</span></span></code>.exp
1077a0 72 65 73 73 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 70 65 61 74 65 64 6c ression.can.be.used.to.repeatedl
1077c0 79 20 74 65 73 74 20 61 20 62 6f 6f 6c 65 61 6e 2c 20 6f 70 74 69 6f 6e 61 6c 2c 20 6f 72 20 65 y.test.a.boolean,.optional,.or.e
1077e0 72 72 6f 72 20 75 6e 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 rror.union.expression,..........
107800 20 20 20 61 6e 64 20 63 65 61 73 65 20 6c 6f 6f 70 69 6e 67 20 77 68 65 6e 20 74 68 61 74 20 65 ...and.cease.looping.when.that.e
107820 78 70 72 65 73 73 69 6f 6e 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 66 61 6c 73 65 2c 20 6e 75 xpression.evaluates.to.false,.nu
107840 6c 6c 2c 20 6f 72 20 61 6e 20 65 72 72 6f 72 2c 20 72 65 73 70 65 63 74 69 76 65 6c 79 2e 0a 20 ll,.or.an.error,.respectively...
107860 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
107880 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c i>See.also.<a.href="#while">whil
1078a0 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 e</a></li>.............</ul>....
1078c0 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>......
1078e0 20 20 20 3c 2f 74 62 6f 64 79 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 20 20 20 20 ...</tbody>.......</table>......
107900 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 47 72 .</div>...............<h2.id="Gr
107920 61 6d 6d 61 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 47 72 61 6d 6d 61 72 22 3e 47 72 ammar"><a.href="#toc-Grammar">Gr
107940 61 6d 6d 61 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 ammar</a>.<a.class="hdr".href="#
107960 47 72 61 6d 6d 61 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 66 69 67 Grammar">..</a></h2>........<fig
107980 75 72 65 3e 3c 66 69 67 63 61 70 74 69 6f 6e 20 63 6c 61 73 73 3d 22 70 65 67 2d 63 61 70 22 3e ure><figcaption.class="peg-cap">
1079a0 3c 63 69 74 65 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 67 72 61 6d 6d 61 72 2e 70 65 67 3c 2f <cite.class="file">grammar.peg</
1079c0 63 69 74 65 3e 3c 2f 66 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
1079e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 6f 6f 74 20 26 6c 74 3b 2d 20 73 6b 69 70 20 an.class="line">Root.&lt;-.skip.
107a00 63 6f 6e 74 61 69 6e 65 72 5f 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 43 6f 6e 74 61 69 6e 65 72 container_doc_comment?.Container
107a20 4d 65 6d 62 65 72 73 20 65 6f 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 Members.eof</span>.<span.class="
107a40 6c 69 6e 65 22 3e 3c 2f 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"
107a60 3e 23 20 2a 2a 2a 20 54 6f 70 20 6c 65 76 65 6c 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 >#.***.Top.level.***</span>.<spa
107a80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 20 n.class="line">ContainerMembers.
107aa0 26 6c 74 3b 2d 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 73 20 28 43 6f 6e &lt;-.ContainerDeclarations.(Con
107ac0 74 61 69 6e 65 72 46 69 65 6c 64 20 43 4f 4d 4d 41 29 2a 20 28 43 6f 6e 74 61 69 6e 65 72 46 69 tainerField.COMMA)*.(ContainerFi
107ae0 65 6c 64 20 2f 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 73 29 3c 2f 73 70 eld./.ContainerDeclarations)</sp
107b00 61 6e 3e 0a 3c 73 70 61 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>.<
107b20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 61 span.class="line">ContainerDecla
107b40 72 61 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 rations</span>.<span.class="line
107b60 22 3e 20 20 20 20 26 6c 74 3b 2d 20 54 65 73 74 44 65 63 6c 20 43 6f 6e 74 61 69 6e 65 72 44 65 ">....&lt;-.TestDecl.ContainerDe
107b80 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c clarations</span>.<span.class="l
107ba0 69 6e 65 22 3e 20 20 20 20 20 2f 20 54 6f 70 4c 65 76 65 6c 43 6f 6d 70 74 69 6d 65 20 43 6f 6e ine">...../.TopLevelComptime.Con
107bc0 74 61 69 6e 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 tainerDeclarations</span>.<span.
107be0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f class="line">...../.doc_comment?
107c00 20 4b 45 59 57 4f 52 44 5f 70 75 62 3f 20 54 6f 70 4c 65 76 65 6c 44 65 63 6c 20 43 6f 6e 74 61 .KEYWORD_pub?.TopLevelDecl.Conta
107c20 69 6e 65 72 44 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c inerDeclarations</span>.<span.cl
107c40 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ass="line">...../</span>.<span.c
107c60 6c 61 73 73 3d 22 6c 69 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=
107c80 22 6c 69 6e 65 22 3e 54 65 73 74 44 65 63 6c 20 26 6c 74 3b 2d 20 64 6f 63 5f 63 6f 6d 6d 65 6e "line">TestDecl.&lt;-.doc_commen
107ca0 74 3f 20 4b 45 59 57 4f 52 44 5f 74 65 73 74 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e t?.KEYWORD_test.STRINGLITERALSIN
107cc0 47 4c 45 3f 20 42 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c GLE?.Block</span>.<span.class="l
107ce0 69 6e 65 22 3e 3c 2f 73 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">
107d00 54 6f 70 4c 65 76 65 6c 43 6f 6d 70 74 69 6d 65 20 26 6c 74 3b 2d 20 64 6f 63 5f 63 6f 6d 6d 65 TopLevelComptime.&lt;-.doc_comme
107d20 6e 74 3f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 42 6c 6f 63 6b 45 78 70 72 3c 2f nt?.KEYWORD_comptime.BlockExpr</
107d40 73 70 61 6e 3e 0a 3c 73 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>
107d60 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 54 6f 70 4c 65 76 65 6c 44 65 63 6c .<span.class="line">TopLevelDecl
107d80 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 </span>.<span.class="line">....&
107da0 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 20 2f 20 4b 45 59 57 4f 52 44 5f 65 lt;-.(KEYWORD_export./.KEYWORD_e
107dc0 78 74 65 72 6e 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 3f 20 2f 20 28 4b 45 xtern.STRINGLITERALSINGLE?./.(KE
107de0 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 29 YWORD_inline./.KEYWORD_noinline)
107e00 29 3f 20 46 6e 50 72 6f 74 6f 20 28 53 45 4d 49 43 4f 4c 4f 4e 20 2f 20 42 6c 6f 63 6b 29 3c 2f )?.FnProto.(SEMICOLON./.Block)</
107e20 73 70 61 6e 3e 0a 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">...../.
107e40 28 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e (KEYWORD_export./.KEYWORD_extern
107e60 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 3f 29 3f 20 4b 45 59 57 4f 52 44 5f .STRINGLITERALSINGLE?)?.KEYWORD_
107e80 74 68 72 65 61 64 6c 6f 63 61 6c 3f 20 56 61 72 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 threadlocal?.VarDecl</span>.<spa
107ea0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 75 73 n.class="line">...../.KEYWORD_us
107ec0 69 6e 67 6e 61 6d 65 73 70 61 63 65 20 45 78 70 72 20 53 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 ingnamespace.Expr.SEMICOLON</spa
107ee0 6e 3e 0a 3c 73 70 61 6e 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
107f00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 6e 50 72 6f 74 6f 20 26 6c 74 3b 2d 20 4b pan.class="line">FnProto.&lt;-.K
107f20 45 59 57 4f 52 44 5f 66 6e 20 49 44 45 4e 54 49 46 49 45 52 3f 20 4c 50 41 52 45 4e 20 50 61 72 EYWORD_fn.IDENTIFIER?.LPAREN.Par
107f40 61 6d 44 65 63 6c 4c 69 73 74 20 52 50 41 52 45 4e 20 42 79 74 65 41 6c 69 67 6e 3f 20 4c 69 6e amDeclList.RPAREN.ByteAlign?.Lin
107f60 6b 53 65 63 74 69 6f 6e 3f 20 43 61 6c 6c 43 6f 6e 76 3f 20 45 58 43 4c 41 4d 41 54 49 4f 4e 4d kSection?.CallConv?.EXCLAMATIONM
107f80 41 52 4b 3f 20 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ARK?.TypeExpr</span>.<span.class
107fa0 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ="line"></span>.<span.class="lin
107fc0 65 22 3e 56 61 72 44 65 63 6c 20 26 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 e">VarDecl.&lt;-.(KEYWORD_const.
107fe0 2f 20 4b 45 59 57 4f 52 44 5f 76 61 72 29 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f 4c 4f 4e /.KEYWORD_var).IDENTIFIER.(COLON
108000 20 54 79 70 65 45 78 70 72 29 3f 20 42 79 74 65 41 6c 69 67 6e 3f 20 4c 69 6e 6b 53 65 63 74 69 .TypeExpr)?.ByteAlign?.LinkSecti
108020 6f 6e 3f 20 28 45 51 55 41 4c 20 45 78 70 72 29 3f 20 53 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 on?.(EQUAL.Expr)?.SEMICOLON</spa
108040 6e 3e 0a 3c 73 70 61 6e 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
108060 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6e 74 61 69 6e 65 72 46 69 65 6c 64 20 pan.class="line">ContainerField.
108080 26 6c 74 3b 2d 20 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 &lt;-.doc_comment?.KEYWORD_compt
1080a0 69 6d 65 3f 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f 4c 4f 4e 20 28 4b 45 59 57 4f 52 44 5f ime?.IDENTIFIER.(COLON.(KEYWORD_
1080c0 61 6e 79 74 79 70 65 20 2f 20 54 79 70 65 45 78 70 72 29 20 42 79 74 65 41 6c 69 67 6e 3f 29 3f anytype./.TypeExpr).ByteAlign?)?
1080e0 20 28 45 51 55 41 4c 20 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 .(EQUAL.Expr)?</span>.<span.clas
108100 73 3d 22 6c 69 6e 65 22 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
108120 6e 65 22 3e 23 20 2a 2a 2a 20 42 6c 6f 63 6b 20 4c 65 76 65 6c 20 2a 2a 2a 3c 2f 73 70 61 6e 3e ne">#.***.Block.Level.***</span>
108140 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 74 61 74 65 6d 65 6e 74 3c 2f 73 .<span.class="line">Statement</s
108160 70 61 6e 3e 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;
108180 2d 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 3f 20 56 61 72 44 65 63 6c 3c 2f 73 70 61 -.KEYWORD_comptime?.VarDecl</spa
1081a0 6e 3e 0a 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
1081c0 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 WORD_comptime.BlockExprStatement
1081e0 3c 2f 73 70 61 6e 3e 0a 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">.....
108200 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 /.KEYWORD_nosuspend.BlockExprSta
108220 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"
108240 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 73 75 73 70 65 6e 64 20 42 6c 6f 63 6b 45 78 70 >...../.KEYWORD_suspend.BlockExp
108260 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c rStatement</span>.<span.class="l
108280 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 64 65 66 65 72 20 42 6c 6f 63 6b 45 ine">...../.KEYWORD_defer.BlockE
1082a0 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d xprStatement</span>.<span.class=
1082c0 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 20 50 "line">...../.KEYWORD_errdefer.P
1082e0 61 79 6c 6f 61 64 3f 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e ayload?.BlockExprStatement</span
108300 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 66 53 74 >.<span.class="line">...../.IfSt
108320 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
108340 22 3e 20 20 20 20 20 2f 20 4c 61 62 65 6c 65 64 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e ">...../.LabeledStatement</span>
108360 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 77 69 74 63 .<span.class="line">...../.Switc
108380 68 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e hExpr</span>.<span.class="line">
1083a0 20 20 20 20 20 2f 20 41 73 73 69 67 6e 45 78 70 72 20 53 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 ...../.AssignExpr.SEMICOLON</spa
1083c0 6e 3e 0a 3c 73 70 61 6e 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
1083e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 66 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 pan.class="line">IfStatement</sp
108400 61 6e 3e 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;-
108420 20 49 66 50 72 65 66 69 78 20 42 6c 6f 63 6b 45 78 70 72 20 28 20 4b 45 59 57 4f 52 44 5f 65 6c .IfPrefix.BlockExpr.(.KEYWORD_el
108440 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 3f 3c 2f 73 70 61 6e 3e 0a se.Payload?.Statement.)?</span>.
108460 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 66 50 72 65 66 <span.class="line">...../.IfPref
108480 69 78 20 41 73 73 69 67 6e 45 78 70 72 20 28 20 53 45 4d 49 43 4f 4c 4f 4e 20 2f 20 4b 45 59 57 ix.AssignExpr.(.SEMICOLON./.KEYW
1084a0 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 3c 2f 73 ORD_else.Payload?.Statement.)</s
1084c0 70 61 6e 3e 0a 3c 73 70 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>.
1084e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 61 62 65 6c 65 64 53 74 61 74 65 6d <span.class="line">LabeledStatem
108500 65 6e 74 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 28 42 6c 6f 63 6b 20 2f 20 4c ent.&lt;-.BlockLabel?.(Block./.L
108520 6f 6f 70 53 74 61 74 65 6d 65 6e 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 oopStatement)</span>.<span.class
108540 3d 22 6c 69 6e 65 22 3e 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
108560 65 22 3e 4c 6f 6f 70 53 74 61 74 65 6d 65 6e 74 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 e">LoopStatement.&lt;-.KEYWORD_i
108580 6e 6c 69 6e 65 3f 20 28 46 6f 72 53 74 61 74 65 6d 65 6e 74 20 2f 20 57 68 69 6c 65 53 74 61 74 nline?.(ForStatement./.WhileStat
1085a0 65 6d 65 6e 74 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ement)</span>.<span.class="line"
1085c0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 6f 72 53 ></span>.<span.class="line">ForS
1085e0 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e tatement</span>.<span.class="lin
108600 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 46 6f 72 50 72 65 66 69 78 20 42 6c 6f 63 6b 45 78 70 72 e">....&lt;-.ForPrefix.BlockExpr
108620 20 28 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 53 74 61 74 65 6d 65 6e 74 20 29 3f 3c 2f 73 70 .(.KEYWORD_else.Statement.)?</sp
108640 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 46 6f an>.<span.class="line">...../.Fo
108660 72 50 72 65 66 69 78 20 41 73 73 69 67 6e 45 78 70 72 20 28 20 53 45 4d 49 43 4f 4c 4f 4e 20 2f rPrefix.AssignExpr.(.SEMICOLON./
108680 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 53 74 61 74 65 6d 65 6e 74 20 29 3c 2f 73 70 61 6e 3e .KEYWORD_else.Statement.)</span>
1086a0 0a 3c 73 70 61 6e 20 63 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
1086c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 57 68 69 6c 65 53 74 61 74 65 6d 65 6e 74 3c 2f 73 n.class="line">WhileStatement</s
1086e0 70 61 6e 3e 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;
108700 2d 20 57 68 69 6c 65 50 72 65 66 69 78 20 42 6c 6f 63 6b 45 78 70 72 20 28 20 4b 45 59 57 4f 52 -.WhilePrefix.BlockExpr.(.KEYWOR
108720 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 3f 3c 2f 73 70 D_else.Payload?.Statement.)?</sp
108740 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 57 68 an>.<span.class="line">...../.Wh
108760 69 6c 65 50 72 65 66 69 78 20 41 73 73 69 67 6e 45 78 70 72 20 28 20 53 45 4d 49 43 4f 4c 4f 4e ilePrefix.AssignExpr.(.SEMICOLON
108780 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 ./.KEYWORD_else.Payload?.Stateme
1087a0 6e 74 20 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c nt.)</span>.<span.class="line"><
1087c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 6c 6f 63 6b 45 /span>.<span.class="line">BlockE
1087e0 78 70 72 53 74 61 74 65 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d xprStatement</span>.<span.class=
108800 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 45 78 70 72 3c 2f 73 70 61 6e "line">....&lt;-.BlockExpr</span
108820 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 73 73 69 >.<span.class="line">...../.Assi
108840 67 6e 45 78 70 72 20 53 45 4d 49 43 4f 4c 4f 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c gnExpr.SEMICOLON</span>.<span.cl
108860 61 73 73 3d 22 6c 69 6e 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="
108880 6c 69 6e 65 22 3e 42 6c 6f 63 6b 45 78 70 72 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 4c 61 62 65 6c line">BlockExpr.&lt;-.BlockLabel
1088a0 3f 20 42 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 ?.Block</span>.<span.class="line
1088c0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a "></span>.<span.class="line">#.*
1088e0 2a 2a 20 45 78 70 72 65 73 73 69 6f 6e 20 4c 65 76 65 6c 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c **.Expression.Level.***</span>.<
108900 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 73 69 67 6e 45 78 70 72 20 26 6c 74 span.class="line">AssignExpr.&lt
108920 3b 2d 20 45 78 70 72 20 28 41 73 73 69 67 6e 4f 70 20 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a ;-.Expr.(AssignOp.Expr)?</span>.
108940 3c 73 70 61 6e 20 63 6c 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
108960 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 78 70 72 20 26 6c 74 3b 2d 20 42 6f 6f 6c 4f 72 45 .class="line">Expr.&lt;-.BoolOrE
108980 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f xpr</span>.<span.class="line"></
1089a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 6f 6f 6c 4f 72 45 span>.<span.class="line">BoolOrE
1089c0 78 70 72 20 26 6c 74 3b 2d 20 42 6f 6f 6c 41 6e 64 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 6f xpr.&lt;-.BoolAndExpr.(KEYWORD_o
1089e0 72 20 42 6f 6f 6c 41 6e 64 45 78 70 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 r.BoolAndExpr)*</span>.<span.cla
108a00 73 73 3d 22 6c 69 6e 65 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
108a20 69 6e 65 22 3e 42 6f 6f 6c 41 6e 64 45 78 70 72 20 26 6c 74 3b 2d 20 43 6f 6d 70 61 72 65 45 78 ine">BoolAndExpr.&lt;-.CompareEx
108a40 70 72 20 28 4b 45 59 57 4f 52 44 5f 61 6e 64 20 43 6f 6d 70 61 72 65 45 78 70 72 29 2a 3c 2f 73 pr.(KEYWORD_and.CompareExpr)*</s
108a60 70 61 6e 3e 0a 3c 73 70 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>.
108a80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6d 70 61 72 65 45 78 70 72 20 26 <span.class="line">CompareExpr.&
108aa0 6c 74 3b 2d 20 42 69 74 77 69 73 65 45 78 70 72 20 28 43 6f 6d 70 61 72 65 4f 70 20 42 69 74 77 lt;-.BitwiseExpr.(CompareOp.Bitw
108ac0 69 73 65 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 iseExpr)?</span>.<span.class="li
108ae0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 ne"></span>.<span.class="line">B
108b00 69 74 77 69 73 65 45 78 70 72 20 26 6c 74 3b 2d 20 42 69 74 53 68 69 66 74 45 78 70 72 20 28 42 itwiseExpr.&lt;-.BitShiftExpr.(B
108b20 69 74 77 69 73 65 4f 70 20 42 69 74 53 68 69 66 74 45 78 70 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c itwiseOp.BitShiftExpr)*</span>.<
108b40 73 70 61 6e 20 63 6c 61 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.
108b60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 69 74 53 68 69 66 74 45 78 70 72 20 26 6c 74 3b 2d 20 class="line">BitShiftExpr.&lt;-.
108b80 41 64 64 69 74 69 6f 6e 45 78 70 72 20 28 42 69 74 53 68 69 66 74 4f 70 20 41 64 64 69 74 69 6f AdditionExpr.(BitShiftOp.Additio
108ba0 6e 45 78 70 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 nExpr)*</span>.<span.class="line
108bc0 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 64 64 "></span>.<span.class="line">Add
108be0 69 74 69 6f 6e 45 78 70 72 20 26 6c 74 3b 2d 20 4d 75 6c 74 69 70 6c 79 45 78 70 72 20 28 41 64 itionExpr.&lt;-.MultiplyExpr.(Ad
108c00 64 69 74 69 6f 6e 4f 70 20 4d 75 6c 74 69 70 6c 79 45 78 70 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c ditionOp.MultiplyExpr)*</span>.<
108c20 73 70 61 6e 20 63 6c 61 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.
108c40 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 75 6c 74 69 70 6c 79 45 78 70 72 20 26 6c 74 3b 2d 20 class="line">MultiplyExpr.&lt;-.
108c60 50 72 65 66 69 78 45 78 70 72 20 28 4d 75 6c 74 69 70 6c 79 4f 70 20 50 72 65 66 69 78 45 78 70 PrefixExpr.(MultiplyOp.PrefixExp
108c80 72 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f r)*</span>.<span.class="line"></
108ca0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 72 65 66 69 78 45 span>.<span.class="line">PrefixE
108cc0 78 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 69 78 4f 70 2a 20 50 72 69 6d 61 72 79 45 78 70 72 3c xpr.&lt;-.PrefixOp*.PrimaryExpr<
108ce0 2f 73 70 61 6e 3e 0a 3c 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
108d00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 72 69 6d 61 72 79 45 78 70 72 >.<span.class="line">PrimaryExpr
108d20 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 </span>.<span.class="line">....&
108d40 6c 74 3b 2d 20 41 73 6d 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d lt;-.AsmExpr</span>.<span.class=
108d60 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 66 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 "line">...../.IfExpr</span>.<spa
108d80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 62 72 n.class="line">...../.KEYWORD_br
108da0 65 61 6b 20 42 72 65 61 6b 4c 61 62 65 6c 3f 20 45 78 70 72 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 eak.BreakLabel?.Expr?</span>.<sp
108dc0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 an.class="line">...../.KEYWORD_c
108de0 6f 6d 70 74 69 6d 65 20 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d omptime.Expr</span>.<span.class=
108e00 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 73 75 73 70 65 6e 64 20 "line">...../.KEYWORD_nosuspend.
108e20 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">.
108e40 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 74 69 6e 75 65 20 42 72 65 61 6b 4c 61 62 65 ..../.KEYWORD_continue.BreakLabe
108e60 6c 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 l?</span>.<span.class="line">...
108e80 20 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 73 75 6d 65 20 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c ../.KEYWORD_resume.Expr</span>.<
108ea0 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
108ec0 5f 72 65 74 75 72 6e 20 45 78 70 72 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 _return.Expr?</span>.<span.class
108ee0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 4c 6f 6f 70 45 ="line">...../.BlockLabel?.LoopE
108f00 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 xpr</span>.<span.class="line">..
108f20 20 20 20 2f 20 42 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .../.Block</span>.<span.class="l
108f40 69 6e 65 22 3e 20 20 20 20 20 2f 20 43 75 72 6c 79 53 75 66 66 69 78 45 78 70 72 3c 2f 73 70 61 ine">...../.CurlySuffixExpr</spa
108f60 6e 3e 0a 3c 73 70 61 6e 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
108f80 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 66 45 78 70 72 20 26 6c 74 3b 2d 20 49 66 pan.class="line">IfExpr.&lt;-.If
108fa0 50 72 65 66 69 78 20 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 Prefix.Expr.(KEYWORD_else.Payloa
108fc0 64 3f 20 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 d?.Expr)?</span>.<span.class="li
108fe0 6e 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 ne"></span>.<span.class="line">B
109000 6c 6f 63 6b 20 26 6c 74 3b 2d 20 4c 42 52 41 43 45 20 53 74 61 74 65 6d 65 6e 74 2a 20 52 42 52 lock.&lt;-.LBRACE.Statement*.RBR
109020 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f ACE</span>.<span.class="line"></
109040 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 6f 6f 70 45 78 70 span>.<span.class="line">LoopExp
109060 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 3f 20 28 46 6f 72 45 78 70 72 r.&lt;-.KEYWORD_inline?.(ForExpr
109080 20 2f 20 57 68 69 6c 65 45 78 70 72 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ./.WhileExpr)</span>.<span.class
1090a0 3d 22 6c 69 6e 65 22 3e 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
1090c0 65 22 3e 46 6f 72 45 78 70 72 20 26 6c 74 3b 2d 20 46 6f 72 50 72 65 66 69 78 20 45 78 70 72 20 e">ForExpr.&lt;-.ForPrefix.Expr.
1090e0 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 (KEYWORD_else.Expr)?</span>.<spa
109100 6e 20 63 6c 61 73 73 3d 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
109120 73 73 3d 22 6c 69 6e 65 22 3e 57 68 69 6c 65 45 78 70 72 20 26 6c 74 3b 2d 20 57 68 69 6c 65 50 ss="line">WhileExpr.&lt;-.WhileP
109140 72 65 66 69 78 20 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 refix.Expr.(KEYWORD_else.Payload
109160 3f 20 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ?.Expr)?</span>.<span.class="lin
109180 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 75 e"></span>.<span.class="line">Cu
1091a0 72 6c 79 53 75 66 66 69 78 45 78 70 72 20 26 6c 74 3b 2d 20 54 79 70 65 45 78 70 72 20 49 6e 69 rlySuffixExpr.&lt;-.TypeExpr.Ini
1091c0 74 4c 69 73 74 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 tList?</span>.<span.class="line"
1091e0 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 6e 69 74 ></span>.<span.class="line">Init
109200 4c 69 73 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 List</span>.<span.class="line">.
109220 20 20 20 26 6c 74 3b 2d 20 4c 42 52 41 43 45 20 46 69 65 6c 64 49 6e 69 74 20 28 43 4f 4d 4d 41 ...&lt;-.LBRACE.FieldInit.(COMMA
109240 20 46 69 65 6c 64 49 6e 69 74 29 2a 20 43 4f 4d 4d 41 3f 20 52 42 52 41 43 45 3c 2f 73 70 61 6e .FieldInit)*.COMMA?.RBRACE</span
109260 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 42 52 41 >.<span.class="line">...../.LBRA
109280 43 45 20 45 78 70 72 20 28 43 4f 4d 4d 41 20 45 78 70 72 29 2a 20 43 4f 4d 4d 41 3f 20 52 42 52 CE.Expr.(COMMA.Expr)*.COMMA?.RBR
1092a0 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ACE</span>.<span.class="line">..
1092c0 20 20 20 2f 20 4c 42 52 41 43 45 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .../.LBRACE.RBRACE</span>.<span.
1092e0 63 6c 61 73 73 3d 22 6c 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
109300 3d 22 6c 69 6e 65 22 3e 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 69 78 54 79 70 ="line">TypeExpr.&lt;-.PrefixTyp
109320 65 4f 70 2a 20 45 72 72 6f 72 55 6e 69 6f 6e 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e eOp*.ErrorUnionExpr</span>.<span
109340 20 63 6c 61 73 73 3d 22 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
109360 73 3d 22 6c 69 6e 65 22 3e 45 72 72 6f 72 55 6e 69 6f 6e 45 78 70 72 20 26 6c 74 3b 2d 20 53 75 s="line">ErrorUnionExpr.&lt;-.Su
109380 66 66 69 78 45 78 70 72 20 28 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 20 54 79 70 65 45 78 ffixExpr.(EXCLAMATIONMARK.TypeEx
1093a0 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c pr)?</span>.<span.class="line"><
1093c0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 75 66 66 69 78 /span>.<span.class="line">Suffix
1093e0 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">.
109400 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 73 79 6e 63 20 50 72 69 6d 61 72 79 54 79 ...&lt;-.KEYWORD_async.PrimaryTy
109420 70 65 45 78 70 72 20 53 75 66 66 69 78 4f 70 2a 20 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 peExpr.SuffixOp*.FnCallArguments
109440 3c 2f 73 70 61 6e 3e 0a 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">.....
109460 2f 20 50 72 69 6d 61 72 79 54 79 70 65 45 78 70 72 20 28 53 75 66 66 69 78 4f 70 20 2f 20 46 6e /.PrimaryTypeExpr.(SuffixOp./.Fn
109480 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 CallArguments)*</span>.<span.cla
1094a0 73 73 3d 22 6c 69 6e 65 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
1094c0 69 6e 65 22 3e 50 72 69 6d 61 72 79 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ine">PrimaryTypeExpr</span>.<spa
1094e0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 42 55 49 4c 54 49 4e n.class="line">....&lt;-.BUILTIN
109500 49 44 45 4e 54 49 46 49 45 52 20 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 3c 2f 73 70 61 6e IDENTIFIER.FnCallArguments</span
109520 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 43 48 41 52 >.<span.class="line">...../.CHAR
109540 5f 4c 49 54 45 52 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e _LITERAL</span>.<span.class="lin
109560 65 22 3e 20 20 20 20 20 2f 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c e">...../.ContainerDecl</span>.<
109580 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 44 4f 54 20 49 44 45 span.class="line">...../.DOT.IDE
1095a0 4e 54 49 46 49 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 NTIFIER</span>.<span.class="line
1095c0 22 3e 20 20 20 20 20 2f 20 44 4f 54 20 49 6e 69 74 4c 69 73 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ">...../.DOT.InitList</span>.<sp
1095e0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 45 72 72 6f 72 53 65 74 44 an.class="line">...../.ErrorSetD
109600 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ecl</span>.<span.class="line">..
109620 20 20 20 2f 20 46 4c 4f 41 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .../.FLOAT</span>.<span.class="l
109640 69 6e 65 22 3e 20 20 20 20 20 2f 20 46 6e 50 72 6f 74 6f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ine">...../.FnProto</span>.<span
109660 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 47 72 6f 75 70 65 64 45 78 70 72 .class="line">...../.GroupedExpr
109680 3c 2f 73 70 61 6e 3e 0a 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">.....
1096a0 2f 20 4c 61 62 65 6c 65 64 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 /.LabeledTypeExpr</span>.<span.c
1096c0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 lass="line">...../.IDENTIFIER</s
1096e0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 49 pan>.<span.class="line">...../.I
109700 66 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 fTypeExpr</span>.<span.class="li
109720 6e 65 22 3e 20 20 20 20 20 2f 20 49 4e 54 45 47 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ne">...../.INTEGER</span>.<span.
109740 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 class="line">...../.KEYWORD_comp
109760 74 69 6d 65 20 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 time.TypeExpr</span>.<span.class
109780 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 44 4f 54 ="line">...../.KEYWORD_error.DOT
1097a0 20 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 .IDENTIFIER</span>.<span.class="
1097c0 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 3c 2f 73 line">...../.KEYWORD_anyframe</s
1097e0 70 61 6e 3e 0a 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
109800 45 59 57 4f 52 44 5f 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 EYWORD_unreachable</span>.<span.
109820 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 54 52 49 4e 47 4c 49 54 45 52 41 class="line">...../.STRINGLITERA
109840 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">....
109860 20 2f 20 53 77 69 74 63 68 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ./.SwitchExpr</span>.<span.class
109880 3d 22 6c 69 6e 65 22 3e 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
1098a0 65 22 3e 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 20 26 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f e">ContainerDecl.&lt;-.(KEYWORD_
1098c0 65 78 74 65 72 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 70 61 63 6b 65 64 29 3f 20 43 6f 6e 74 61 69 extern./.KEYWORD_packed)?.Contai
1098e0 6e 65 72 44 65 63 6c 41 75 74 6f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 nerDeclAuto</span>.<span.class="
109900 6c 69 6e 65 22 3e 3c 2f 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"
109920 3e 45 72 72 6f 72 53 65 74 44 65 63 6c 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 65 72 72 6f >ErrorSetDecl.&lt;-.KEYWORD_erro
109940 72 20 4c 42 52 41 43 45 20 49 64 65 6e 74 69 66 69 65 72 4c 69 73 74 20 52 42 52 41 43 45 3c 2f r.LBRACE.IdentifierList.RBRACE</
109960 73 70 61 6e 3e 0a 3c 73 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>
109980 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 47 72 6f 75 70 65 64 45 78 70 72 20 .<span.class="line">GroupedExpr.
1099a0 26 6c 74 3b 2d 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a &lt;-.LPAREN.Expr.RPAREN</span>.
1099c0 3c 73 70 61 6e 20 63 6c 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
1099e0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 66 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 49 .class="line">IfTypeExpr.&lt;-.I
109a00 66 50 72 65 66 69 78 20 54 79 70 65 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 fPrefix.TypeExpr.(KEYWORD_else.P
109a20 61 79 6c 6f 61 64 3f 20 54 79 70 65 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ayload?.TypeExpr)?</span>.<span.
109a40 63 6c 61 73 73 3d 22 6c 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
109a60 3d 22 6c 69 6e 65 22 3e 4c 61 62 65 6c 65 64 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c ="line">LabeledTypeExpr</span>.<
109a80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 42 6c 6f 63 span.class="line">....&lt;-.Bloc
109aa0 6b 4c 61 62 65 6c 20 42 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d kLabel.Block</span>.<span.class=
109ac0 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 4c 6f 6f 70 54 79 "line">...../.BlockLabel?.LoopTy
109ae0 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 peExpr</span>.<span.class="line"
109b00 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 6f 6f 70 ></span>.<span.class="line">Loop
109b20 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 3f 20 28 TypeExpr.&lt;-.KEYWORD_inline?.(
109b40 46 6f 72 54 79 70 65 45 78 70 72 20 2f 20 57 68 69 6c 65 54 79 70 65 45 78 70 72 29 3c 2f 73 70 ForTypeExpr./.WhileTypeExpr)</sp
109b60 61 6e 3e 0a 3c 73 70 61 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>.<
109b80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 6f 72 54 79 70 65 45 78 70 72 20 26 6c span.class="line">ForTypeExpr.&l
109ba0 74 3b 2d 20 46 6f 72 50 72 65 66 69 78 20 54 79 70 65 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f t;-.ForPrefix.TypeExpr.(KEYWORD_
109bc0 65 6c 73 65 20 54 79 70 65 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 else.TypeExpr)?</span>.<span.cla
109be0 73 73 3d 22 6c 69 6e 65 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
109c00 69 6e 65 22 3e 57 68 69 6c 65 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 57 68 69 6c 65 50 72 ine">WhileTypeExpr.&lt;-.WhilePr
109c20 65 66 69 78 20 54 79 70 65 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c efix.TypeExpr.(KEYWORD_else.Payl
109c40 6f 61 64 3f 20 54 79 70 65 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 oad?.TypeExpr)?</span>.<span.cla
109c60 73 73 3d 22 6c 69 6e 65 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
109c80 69 6e 65 22 3e 53 77 69 74 63 68 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 73 77 ine">SwitchExpr.&lt;-.KEYWORD_sw
109ca0 69 74 63 68 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 20 4c 42 52 41 43 45 20 53 itch.LPAREN.Expr.RPAREN.LBRACE.S
109cc0 77 69 74 63 68 50 72 6f 6e 67 4c 69 73 74 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 witchProngList.RBRACE</span>.<sp
109ce0 61 6e 20 63 6c 61 73 73 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
109d00 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 2a 2a 2a 20 41 73 73 65 6d 62 6c 79 20 2a 2a 2a 3c 2f 73 ass="line">#.***.Assembly.***</s
109d20 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 45 78 70 72 20 pan>.<span.class="line">AsmExpr.
109d40 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 73 6d 20 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 &lt;-.KEYWORD_asm.KEYWORD_volati
109d60 6c 65 3f 20 4c 50 41 52 45 4e 20 45 78 70 72 20 41 73 6d 4f 75 74 70 75 74 3f 20 52 50 41 52 45 le?.LPAREN.Expr.AsmOutput?.RPARE
109d80 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
109da0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 4f 75 74 70 75 74 an>.<span.class="line">AsmOutput
109dc0 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 41 73 6d 4f 75 74 70 75 74 4c 69 73 74 20 41 73 6d 49 6e .&lt;-.COLON.AsmOutputList.AsmIn
109de0 70 75 74 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c put?</span>.<span.class="line"><
109e00 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 4f 75 74 /span>.<span.class="line">AsmOut
109e20 70 75 74 49 74 65 6d 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 49 44 45 4e 54 49 46 49 45 putItem.&lt;-.LBRACKET.IDENTIFIE
109e40 52 20 52 42 52 41 43 4b 45 54 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 20 4c 50 41 52 45 4e 20 R.RBRACKET.STRINGLITERAL.LPAREN.
109e60 28 4d 49 4e 55 53 52 41 52 52 4f 57 20 54 79 70 65 45 78 70 72 20 2f 20 49 44 45 4e 54 49 46 49 (MINUSRARROW.TypeExpr./.IDENTIFI
109e80 45 52 29 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ER).RPAREN</span>.<span.class="l
109ea0 69 6e 65 22 3e 3c 2f 73 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">
109ec0 41 73 6d 49 6e 70 75 74 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 41 73 6d 49 6e 70 75 74 4c 69 73 AsmInput.&lt;-.COLON.AsmInputLis
109ee0 74 20 41 73 6d 43 6c 6f 62 62 65 72 73 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 t.AsmClobbers?</span>.<span.clas
109f00 73 3d 22 6c 69 6e 65 22 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
109f20 6e 65 22 3e 41 73 6d 49 6e 70 75 74 49 74 65 6d 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 ne">AsmInputItem.&lt;-.LBRACKET.
109f40 49 44 45 4e 54 49 46 49 45 52 20 52 42 52 41 43 4b 45 54 20 53 54 52 49 4e 47 4c 49 54 45 52 41 IDENTIFIER.RBRACKET.STRINGLITERA
109f60 4c 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 L.LPAREN.Expr.RPAREN</span>.<spa
109f80 6e 20 63 6c 61 73 73 3d 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
109fa0 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 43 6c 6f 62 62 65 72 73 20 26 6c 74 3b 2d 20 43 4f 4c 4f ss="line">AsmClobbers.&lt;-.COLO
109fc0 4e 20 53 74 72 69 6e 67 4c 69 73 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d N.StringList</span>.<span.class=
109fe0 22 6c 69 6e 65 22 3e 3c 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
10a000 22 3e 23 20 2a 2a 2a 20 48 65 6c 70 65 72 20 67 72 61 6d 6d 61 72 20 2a 2a 2a 3c 2f 73 70 61 6e ">#.***.Helper.grammar.***</span
10a020 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 72 65 61 6b 4c 61 62 65 6c 20 >.<span.class="line">BreakLabel.
10a040 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 &lt;-.COLON.IDENTIFIER</span>.<s
10a060 70 61 6e 20 63 6c 61 73 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
10a080 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 6c 6f 63 6b 4c 61 62 65 6c 20 26 6c 74 3b 2d 20 49 44 45 lass="line">BlockLabel.&lt;-.IDE
10a0a0 4e 54 49 46 49 45 52 20 43 4f 4c 4f 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 NTIFIER.COLON</span>.<span.class
10a0c0 3d 22 6c 69 6e 65 22 3e 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
10a0e0 65 22 3e 46 69 65 6c 64 49 6e 69 74 20 26 6c 74 3b 2d 20 44 4f 54 20 49 44 45 4e 54 49 46 49 45 e">FieldInit.&lt;-.DOT.IDENTIFIE
10a100 52 20 45 51 55 41 4c 20 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d R.EQUAL.Expr</span>.<span.class=
10a120 22 6c 69 6e 65 22 3e 3c 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
10a140 22 3e 57 68 69 6c 65 43 6f 6e 74 69 6e 75 65 45 78 70 72 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 ">WhileContinueExpr.&lt;-.COLON.
10a160 4c 50 41 52 45 4e 20 41 73 73 69 67 6e 45 78 70 72 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a LPAREN.AssignExpr.RPAREN</span>.
10a180 3c 73 70 61 6e 20 63 6c 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
10a1a0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 69 6e 6b 53 65 63 74 69 6f 6e 20 26 6c 74 3b 2d 20 .class="line">LinkSection.&lt;-.
10a1c0 4b 45 59 57 4f 52 44 5f 6c 69 6e 6b 73 65 63 74 69 6f 6e 20 4c 50 41 52 45 4e 20 45 78 70 72 20 KEYWORD_linksection.LPAREN.Expr.
10a1e0 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 RPAREN</span>.<span.class="line"
10a200 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 46 6e ></span>.<span.class="line">#.Fn
10a220 20 73 70 65 63 69 66 69 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 .specific</span>.<span.class="li
10a240 6e 65 22 3e 43 61 6c 6c 43 6f 6e 76 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 63 61 6c 6c 63 ne">CallConv.&lt;-.KEYWORD_callc
10a260 6f 6e 76 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 onv.LPAREN.Expr.RPAREN</span>.<s
10a280 70 61 6e 20 63 6c 61 73 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
10a2a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 61 72 61 6d 44 65 63 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 lass="line">ParamDecl</span>.<sp
10a2c0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 64 6f 63 5f 63 6f an.class="line">....&lt;-.doc_co
10a2e0 6d 6d 65 6e 74 3f 20 28 4b 45 59 57 4f 52 44 5f 6e 6f 61 6c 69 61 73 20 2f 20 4b 45 59 57 4f 52 mment?.(KEYWORD_noalias./.KEYWOR
10a300 44 5f 63 6f 6d 70 74 69 6d 65 29 3f 20 28 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4c 4f 4e 29 3f D_comptime)?.(IDENTIFIER.COLON)?
10a320 20 50 61 72 61 6d 54 79 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c .ParamType</span>.<span.class="l
10a340 69 6e 65 22 3e 20 20 20 20 20 2f 20 44 4f 54 33 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ine">...../.DOT3</span>.<span.cl
10a360 61 73 73 3d 22 6c 69 6e 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="
10a380 6c 69 6e 65 22 3e 50 61 72 61 6d 54 79 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 line">ParamType</span>.<span.cla
10a3a0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 6e 79 74 ss="line">....&lt;-.KEYWORD_anyt
10a3c0 79 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 ype</span>.<span.class="line">..
10a3e0 20 20 20 2f 20 54 79 70 65 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .../.TypeExpr</span>.<span.class
10a400 3d 22 6c 69 6e 65 22 3e 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
10a420 65 22 3e 23 20 43 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 70 72 65 66 69 78 65 73 3c 2f 73 70 61 6e e">#.Control.flow.prefixes</span
10a440 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 49 66 50 72 65 66 69 78 20 26 6c >.<span.class="line">IfPrefix.&l
10a460 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 66 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 t;-.KEYWORD_if.LPAREN.Expr.RPARE
10a480 4e 20 50 74 72 50 61 79 6c 6f 61 64 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 N.PtrPayload?</span>.<span.class
10a4a0 3d 22 6c 69 6e 65 22 3e 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
10a4c0 65 22 3e 57 68 69 6c 65 50 72 65 66 69 78 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 77 68 69 e">WhilePrefix.&lt;-.KEYWORD_whi
10a4e0 6c 65 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 20 50 74 72 50 61 79 6c 6f 61 64 le.LPAREN.Expr.RPAREN.PtrPayload
10a500 3f 20 57 68 69 6c 65 43 6f 6e 74 69 6e 75 65 45 78 70 72 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ?.WhileContinueExpr?</span>.<spa
10a520 6e 20 63 6c 61 73 73 3d 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
10a540 73 73 3d 22 6c 69 6e 65 22 3e 46 6f 72 50 72 65 66 69 78 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 ss="line">ForPrefix.&lt;-.KEYWOR
10a560 44 5f 66 6f 72 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 20 50 74 72 49 6e 64 65 D_for.LPAREN.Expr.RPAREN.PtrInde
10a580 78 50 61 79 6c 6f 61 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e xPayload</span>.<span.class="lin
10a5a0 65 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 e"></span>.<span.class="line">#.
10a5c0 50 61 79 6c 6f 61 64 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e Payloads</span>.<span.class="lin
10a5e0 65 22 3e 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 50 45 20 49 44 45 4e 54 49 46 49 45 52 e">Payload.&lt;-.PIPE.IDENTIFIER
10a600 20 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e .PIPE</span>.<span.class="line">
10a620 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 74 72 50 61 </span>.<span.class="line">PtrPa
10a640 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 50 45 20 41 53 54 45 52 49 53 4b 3f 20 49 44 45 4e 54 yload.&lt;-.PIPE.ASTERISK?.IDENT
10a660 49 46 49 45 52 20 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c IFIER.PIPE</span>.<span.class="l
10a680 69 6e 65 22 3e 3c 2f 73 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">
10a6a0 50 74 72 49 6e 64 65 78 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 50 45 20 41 53 54 45 52 PtrIndexPayload.&lt;-.PIPE.ASTER
10a6c0 49 53 4b 3f 20 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f 4d 4d 41 20 49 44 45 4e 54 49 46 49 45 ISK?.IDENTIFIER.(COMMA.IDENTIFIE
10a6e0 52 29 3f 20 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e R)?.PIPE</span>.<span.class="lin
10a700 65 22 3e 3c 2f 73 70 61 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"></
10a720 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 53 77 69 74 63 span>.<span.class="line">#.Switc
10a740 68 20 73 70 65 63 69 66 69 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c h.specific</span>.<span.class="l
10a760 69 6e 65 22 3e 53 77 69 74 63 68 50 72 6f 6e 67 20 26 6c 74 3b 2d 20 53 77 69 74 63 68 43 61 73 ine">SwitchProng.&lt;-.SwitchCas
10a780 65 20 45 51 55 41 4c 52 41 52 52 4f 57 20 50 74 72 50 61 79 6c 6f 61 64 3f 20 41 73 73 69 67 6e e.EQUALRARROW.PtrPayload?.Assign
10a7a0 45 78 70 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c Expr</span>.<span.class="line"><
10a7c0 2f 73 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
10a7e0 43 61 73 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 Case</span>.<span.class="line">.
10a800 20 20 20 26 6c 74 3b 2d 20 53 77 69 74 63 68 49 74 65 6d 20 28 43 4f 4d 4d 41 20 53 77 69 74 63 ...&lt;-.SwitchItem.(COMMA.Switc
10a820 68 49 74 65 6d 29 2a 20 43 4f 4d 4d 41 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 hItem)*.COMMA?</span>.<span.clas
10a840 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 3c 2f 73 70 s="line">...../.KEYWORD_else</sp
10a860 61 6e 3e 0a 3c 73 70 61 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>.<
10a880 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 77 69 74 63 68 49 74 65 6d 20 26 6c 74 span.class="line">SwitchItem.&lt
10a8a0 3b 2d 20 45 78 70 72 20 28 44 4f 54 33 20 45 78 70 72 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ;-.Expr.(DOT3.Expr)?</span>.<spa
10a8c0 6e 20 63 6c 61 73 73 3d 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
10a8e0 73 73 3d 22 6c 69 6e 65 22 3e 23 20 4f 70 65 72 61 74 6f 72 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 ss="line">#.Operators</span>.<sp
10a900 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 73 69 67 6e 4f 70 3c 2f 73 70 61 6e 3e 0a an.class="line">AssignOp</span>.
10a920 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 41 53 54 <span.class="line">....&lt;-.AST
10a940 45 52 49 53 4b 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c ERISKEQUAL</span>.<span.class="l
10a960 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 4c 41 53 48 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 ine">...../.SLASHEQUAL</span>.<s
10a980 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 45 52 43 45 4e 54 45 pan.class="line">...../.PERCENTE
10a9a0 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">.
10a9c0 20 20 20 20 2f 20 50 4c 55 53 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 ..../.PLUSEQUAL</span>.<span.cla
10a9e0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 45 51 55 41 4c 3c 2f 73 70 61 ss="line">...../.MINUSEQUAL</spa
10aa00 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 41 52 n>.<span.class="line">...../.LAR
10aa20 52 4f 57 32 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ROW2EQUAL</span>.<span.class="li
10aa40 6e 65 22 3e 20 20 20 20 20 2f 20 52 41 52 52 4f 57 32 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c ne">...../.RARROW2EQUAL</span>.<
10aa60 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 4d 50 45 52 53 41 span.class="line">...../.AMPERSA
10aa80 4e 44 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 NDEQUAL</span>.<span.class="line
10aaa0 22 3e 20 20 20 20 20 2f 20 43 41 52 45 54 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ">...../.CARETEQUAL</span>.<span
10aac0 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 49 50 45 45 51 55 41 4c 3c 2f .class="line">...../.PIPEEQUAL</
10aae0 73 70 61 6e 3e 0a 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">...../.
10ab00 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 ASTERISKPERCENTEQUAL</span>.<spa
10ab20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 4c 55 53 50 45 52 43 45 4e n.class="line">...../.PLUSPERCEN
10ab40 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"
10ab60 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 3c 2f 73 70 61 6e 3e >...../.MINUSPERCENTEQUAL</span>
10ab80 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 45 51 55 41 4c .<span.class="line">...../.EQUAL
10aba0 3c 2f 73 70 61 6e 3e 0a 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
10abc0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6d 70 61 72 65 4f 70 3c n>.<span.class="line">CompareOp<
10abe0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c /span>.<span.class="line">....&l
10ac00 74 3b 2d 20 45 51 55 41 4c 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 t;-.EQUALEQUAL</span>.<span.clas
10ac20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 45 s="line">...../.EXCLAMATIONMARKE
10ac40 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">.
10ac60 20 20 20 20 2f 20 4c 41 52 52 4f 57 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ..../.LARROW</span>.<span.class=
10ac80 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 52 41 52 52 4f 57 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 "line">...../.RARROW</span>.<spa
10aca0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4c 41 52 52 4f 57 45 51 55 41 n.class="line">...../.LARROWEQUA
10acc0 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">....
10ace0 20 2f 20 52 41 52 52 4f 57 45 51 55 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ./.RARROWEQUAL</span>.<span.clas
10ad00 73 3d 22 6c 69 6e 65 22 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
10ad20 6e 65 22 3e 42 69 74 77 69 73 65 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 ne">BitwiseOp</span>.<span.class
10ad40 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 41 4d 50 45 52 53 41 4e 44 3c 2f 73 70 61 ="line">....&lt;-.AMPERSAND</spa
10ad60 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 43 41 52 n>.<span.class="line">...../.CAR
10ad80 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 ET</span>.<span.class="line">...
10ada0 20 20 2f 20 50 49 50 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ../.PIPE</span>.<span.class="lin
10adc0 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 0a e">...../.KEYWORD_orelse</span>.
10ade0 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
10ae00 44 5f 63 61 74 63 68 20 50 61 79 6c 6f 61 64 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c D_catch.Payload?</span>.<span.cl
10ae20 61 73 73 3d 22 6c 69 6e 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="
10ae40 6c 69 6e 65 22 3e 42 69 74 53 68 69 66 74 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c line">BitShiftOp</span>.<span.cl
10ae60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4c 41 52 52 4f 57 32 3c 2f 73 70 ass="line">....&lt;-.LARROW2</sp
10ae80 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 52 41 an>.<span.class="line">...../.RA
10aea0 52 52 4f 57 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e RROW2</span>.<span.class="line">
10aec0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 64 64 69 74 </span>.<span.class="line">Addit
10aee0 69 6f 6e 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e ionOp</span>.<span.class="line">
10af00 20 20 20 20 26 6c 74 3b 2d 20 50 4c 55 53 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ....&lt;-.PLUS</span>.<span.clas
10af20 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 3c 2f 73 70 61 6e 3e 0a 3c 73 70 s="line">...../.MINUS</span>.<sp
10af40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 4c 55 53 32 3c 2f 73 70 an.class="line">...../.PLUS2</sp
10af60 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 4c an>.<span.class="line">...../.PL
10af80 55 53 50 45 52 43 45 4e 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 USPERCENT</span>.<span.class="li
10afa0 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 45 52 43 45 4e 54 3c 2f 73 70 61 6e 3e 0a 3c ne">...../.MINUSPERCENT</span>.<
10afc0 73 70 61 6e 20 63 6c 61 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.
10afe0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 75 6c 74 69 70 6c 79 4f 70 3c 2f 73 70 61 6e 3e 0a 3c class="line">MultiplyOp</span>.<
10b000 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 50 49 50 45 span.class="line">....&lt;-.PIPE
10b020 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 2</span>.<span.class="line">....
10b040 20 2f 20 41 53 54 45 52 49 53 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ./.ASTERISK</span>.<span.class="
10b060 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 4c 41 53 48 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 line">...../.SLASH</span>.<span.
10b080 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 45 52 43 45 4e 54 3c 2f 73 70 61 class="line">...../.PERCENT</spa
10b0a0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 53 54 n>.<span.class="line">...../.AST
10b0c0 45 52 49 53 4b 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ERISK2</span>.<span.class="line"
10b0e0 3e 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 3c 2f 73 70 61 6e 3e 0a 3c >...../.ASTERISKPERCENT</span>.<
10b100 73 70 61 6e 20 63 6c 61 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.
10b120 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 72 65 66 69 78 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 class="line">PrefixOp</span>.<sp
10b140 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 45 58 43 4c 41 4d an.class="line">....&lt;-.EXCLAM
10b160 41 54 49 4f 4e 4d 41 52 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ATIONMARK</span>.<span.class="li
10b180 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ne">...../.MINUS</span>.<span.cl
10b1a0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 54 49 4c 44 45 3c 2f 73 70 61 6e 3e 0a 3c ass="line">...../.TILDE</span>.<
10b1c0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 45 span.class="line">...../.MINUSPE
10b1e0 52 43 45 4e 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e RCENT</span>.<span.class="line">
10b200 20 20 20 20 20 2f 20 41 4d 50 45 52 53 41 4e 44 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ...../.AMPERSAND</span>.<span.cl
10b220 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 74 72 79 3c 2f 73 ass="line">...../.KEYWORD_try</s
10b240 70 61 6e 3e 0a 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
10b260 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=
10b280 22 6c 69 6e 65 22 3e 3c 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
10b2a0 22 3e 50 72 65 66 69 78 54 79 70 65 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ">PrefixTypeOp</span>.<span.clas
10b2c0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 51 55 45 53 54 49 4f 4e 4d 41 52 4b 3c s="line">....&lt;-.QUESTIONMARK<
10b2e0 2f 73 70 61 6e 3e 0a 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">...../
10b300 20 4b 45 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 20 4d 49 4e 55 53 52 41 52 52 4f 57 3c 2f 73 .KEYWORD_anyframe.MINUSRARROW</s
10b320 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 53 pan>.<span.class="line">...../.S
10b340 6c 69 63 65 54 79 70 65 53 74 61 72 74 20 28 42 79 74 65 41 6c 69 67 6e 20 2f 20 4b 45 59 57 4f liceTypeStart.(ByteAlign./.KEYWO
10b360 52 44 5f 63 6f 6e 73 74 20 2f 20 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 20 2f 20 4b 45 RD_const./.KEYWORD_volatile./.KE
10b380 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 YWORD_allowzero)*</span>.<span.c
10b3a0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 50 74 72 54 79 70 65 53 74 61 72 74 20 lass="line">...../.PtrTypeStart.
10b3c0 28 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 4c 50 41 52 45 4e 20 45 78 70 72 20 28 43 4f 4c 4f (KEYWORD_align.LPAREN.Expr.(COLO
10b3e0 4e 20 49 4e 54 45 47 45 52 20 43 4f 4c 4f 4e 20 49 4e 54 45 47 45 52 29 3f 20 52 50 41 52 45 4e N.INTEGER.COLON.INTEGER)?.RPAREN
10b400 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 2f 20 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 ./.KEYWORD_const./.KEYWORD_volat
10b420 69 6c 65 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 29 2a 3c 2f 73 70 61 6e 3e ile./.KEYWORD_allowzero)*</span>
10b440 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 72 72 61 79 .<span.class="line">...../.Array
10b460 54 79 70 65 53 74 61 72 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 TypeStart</span>.<span.class="li
10b480 6e 65 22 3e 3c 2f 73 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
10b4a0 75 66 66 69 78 4f 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 uffixOp</span>.<span.class="line
10b4c0 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 45 78 70 72 20 28 44 4f 54 32 20 ">....&lt;-.LBRACKET.Expr.(DOT2.
10b4e0 28 45 78 70 72 3f 20 28 43 4f 4c 4f 4e 20 45 78 70 72 29 3f 29 3f 29 3f 20 52 42 52 41 43 4b 45 (Expr?.(COLON.Expr)?)?)?.RBRACKE
10b500 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 T</span>.<span.class="line">....
10b520 20 2f 20 44 4f 54 20 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ./.DOT.IDENTIFIER</span>.<span.c
10b540 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 44 4f 54 41 53 54 45 52 49 53 4b 3c 2f lass="line">...../.DOTASTERISK</
10b560 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 span>.<span.class="line">...../.
10b580 44 4f 54 51 55 45 53 54 49 4f 4e 4d 41 52 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 DOTQUESTIONMARK</span>.<span.cla
10b5a0 73 73 3d 22 6c 69 6e 65 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
10b5c0 69 6e 65 22 3e 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 20 26 6c 74 3b 2d 20 4c 50 41 52 45 ine">FnCallArguments.&lt;-.LPARE
10b5e0 4e 20 45 78 70 72 4c 69 73 74 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 N.ExprList.RPAREN</span>.<span.c
10b600 6c 61 73 73 3d 22 6c 69 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=
10b620 22 6c 69 6e 65 22 3e 23 20 50 74 72 20 73 70 65 63 69 66 69 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 "line">#.Ptr.specific</span>.<sp
10b640 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 6c 69 63 65 54 79 70 65 53 74 61 72 74 20 26 an.class="line">SliceTypeStart.&
10b660 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 28 43 4f 4c 4f 4e 20 45 78 70 72 29 3f 20 52 42 52 41 lt;-.LBRACKET.(COLON.Expr)?.RBRA
10b680 43 4b 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c CKET</span>.<span.class="line"><
10b6a0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 74 72 54 79 70 /span>.<span.class="line">PtrTyp
10b6c0 65 53 74 61 72 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 eStart</span>.<span.class="line"
10b6e0 3e 20 20 20 20 26 6c 74 3b 2d 20 41 53 54 45 52 49 53 4b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e >....&lt;-.ASTERISK</span>.<span
10b700 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 32 3c 2f .class="line">...../.ASTERISK2</
10b720 73 70 61 6e 3e 0a 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">...../.
10b740 4c 42 52 41 43 4b 45 54 20 41 53 54 45 52 49 53 4b 20 28 4c 45 54 54 45 52 43 20 2f 20 43 4f 4c LBRACKET.ASTERISK.(LETTERC./.COL
10b760 4f 4e 20 45 78 70 72 29 3f 20 52 42 52 41 43 4b 45 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 ON.Expr)?.RBRACKET</span>.<span.
10b780 63 6c 61 73 73 3d 22 6c 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
10b7a0 3d 22 6c 69 6e 65 22 3e 41 72 72 61 79 54 79 70 65 53 74 61 72 74 20 26 6c 74 3b 2d 20 4c 42 52 ="line">ArrayTypeStart.&lt;-.LBR
10b7c0 41 43 4b 45 54 20 45 78 70 72 20 28 43 4f 4c 4f 4e 20 45 78 70 72 29 3f 20 52 42 52 41 43 4b 45 ACKET.Expr.(COLON.Expr)?.RBRACKE
10b7e0 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f 73 70 T</span>.<span.class="line"></sp
10b800 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 43 6f 6e 74 61 69 6e an>.<span.class="line">#.Contain
10b820 65 72 44 65 63 6c 20 73 70 65 63 69 66 69 63 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 erDecl.specific</span>.<span.cla
10b840 73 73 3d 22 6c 69 6e 65 22 3e 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 41 75 74 6f 20 26 6c 74 3b ss="line">ContainerDeclAuto.&lt;
10b860 2d 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 54 79 70 65 20 4c 42 52 41 43 45 20 63 6f 6e 74 61 -.ContainerDeclType.LBRACE.conta
10b880 69 6e 65 72 5f 64 6f 63 5f 63 6f 6d 6d 65 6e 74 3f 20 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 iner_doc_comment?.ContainerMembe
10b8a0 72 73 20 52 42 52 41 43 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 rs.RBRACE</span>.<span.class="li
10b8c0 6e 65 22 3e 3c 2f 73 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
10b8e0 6f 6e 74 61 69 6e 65 72 44 65 63 6c 54 79 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ontainerDeclType</span>.<span.cl
10b900 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 73 74 72 ass="line">....&lt;-.KEYWORD_str
10b920 75 63 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 uct</span>.<span.class="line">..
10b940 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 70 61 71 75 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e .../.KEYWORD_opaque</span>.<span
10b960 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6e 75 .class="line">...../.KEYWORD_enu
10b980 6d 20 28 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 29 3f 3c 2f 73 70 61 6e 3e 0a 3c m.(LPAREN.Expr.RPAREN)?</span>.<
10b9a0 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
10b9c0 5f 75 6e 69 6f 6e 20 28 4c 50 41 52 45 4e 20 28 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 28 4c 50 _union.(LPAREN.(KEYWORD_enum.(LP
10b9e0 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 29 3f 20 2f 20 45 78 70 72 29 20 52 50 41 52 45 AREN.Expr.RPAREN)?./.Expr).RPARE
10ba00 4e 29 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c 2f N)?</span>.<span.class="line"></
10ba20 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 41 6c 69 67 6e span>.<span.class="line">#.Align
10ba40 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 42 ment</span>.<span.class="line">B
10ba60 79 74 65 41 6c 69 67 6e 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 4c 50 41 yteAlign.&lt;-.KEYWORD_align.LPA
10ba80 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 REN.Expr.RPAREN</span>.<span.cla
10baa0 73 73 3d 22 6c 69 6e 65 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
10bac0 69 6e 65 22 3e 23 20 4c 69 73 74 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d ine">#.Lists</span>.<span.class=
10bae0 22 6c 69 6e 65 22 3e 49 64 65 6e 74 69 66 69 65 72 4c 69 73 74 20 26 6c 74 3b 2d 20 28 64 6f 63 "line">IdentifierList.&lt;-.(doc
10bb00 5f 63 6f 6d 6d 65 6e 74 3f 20 49 44 45 4e 54 49 46 49 45 52 20 43 4f 4d 4d 41 29 2a 20 28 64 6f _comment?.IDENTIFIER.COMMA)*.(do
10bb20 63 5f 63 6f 6d 6d 65 6e 74 3f 20 49 44 45 4e 54 49 46 49 45 52 29 3f 3c 2f 73 70 61 6e 3e 0a 3c c_comment?.IDENTIFIER)?</span>.<
10bb40 73 70 61 6e 20 63 6c 61 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.
10bb60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 77 69 74 63 68 50 72 6f 6e 67 4c 69 73 74 20 26 6c 74 class="line">SwitchProngList.&lt
10bb80 3b 2d 20 28 53 77 69 74 63 68 50 72 6f 6e 67 20 43 4f 4d 4d 41 29 2a 20 53 77 69 74 63 68 50 72 ;-.(SwitchProng.COMMA)*.SwitchPr
10bba0 6f 6e 67 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 3c ong?</span>.<span.class="line"><
10bbc0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 4f 75 74 /span>.<span.class="line">AsmOut
10bbe0 70 75 74 4c 69 73 74 20 26 6c 74 3b 2d 20 28 41 73 6d 4f 75 74 70 75 74 49 74 65 6d 20 43 4f 4d putList.&lt;-.(AsmOutputItem.COM
10bc00 4d 41 29 2a 20 41 73 6d 4f 75 74 70 75 74 49 74 65 6d 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e MA)*.AsmOutputItem?</span>.<span
10bc20 20 63 6c 61 73 73 3d 22 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
10bc40 73 3d 22 6c 69 6e 65 22 3e 41 73 6d 49 6e 70 75 74 4c 69 73 74 20 26 6c 74 3b 2d 20 28 41 73 6d s="line">AsmInputList.&lt;-.(Asm
10bc60 49 6e 70 75 74 49 74 65 6d 20 43 4f 4d 4d 41 29 2a 20 41 73 6d 49 6e 70 75 74 49 74 65 6d 3f 3c InputItem.COMMA)*.AsmInputItem?<
10bc80 2f 73 70 61 6e 3e 0a 3c 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
10bca0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 74 72 69 6e 67 4c 69 73 74 20 >.<span.class="line">StringList.
10bcc0 26 6c 74 3b 2d 20 28 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 20 43 4f 4d 4d 41 29 2a 20 53 54 52 &lt;-.(STRINGLITERAL.COMMA)*.STR
10bce0 49 4e 47 4c 49 54 45 52 41 4c 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 INGLITERAL?</span>.<span.class="
10bd00 6c 69 6e 65 22 3e 3c 2f 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"
10bd20 3e 50 61 72 61 6d 44 65 63 6c 4c 69 73 74 20 26 6c 74 3b 2d 20 28 50 61 72 61 6d 44 65 63 6c 20 >ParamDeclList.&lt;-.(ParamDecl.
10bd40 43 4f 4d 4d 41 29 2a 20 50 61 72 61 6d 44 65 63 6c 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 COMMA)*.ParamDecl?</span>.<span.
10bd60 63 6c 61 73 73 3d 22 6c 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
10bd80 3d 22 6c 69 6e 65 22 3e 45 78 70 72 4c 69 73 74 20 26 6c 74 3b 2d 20 28 45 78 70 72 20 43 4f 4d ="line">ExprList.&lt;-.(Expr.COM
10bda0 4d 41 29 2a 20 45 78 70 72 3f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c MA)*.Expr?</span>.<span.class="l
10bdc0 69 6e 65 22 3e 3c 2f 73 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">
10bde0 23 20 2a 2a 2a 20 54 6f 6b 65 6e 73 20 2a 2a 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c #.***.Tokens.***</span>.<span.cl
10be00 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6f 66 20 26 6c 74 3b 2d 20 21 2e 3c 2f 73 70 61 6e 3e 0a 3c ass="line">eof.&lt;-.!.</span>.<
10be20 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 69 6e 20 26 6c 74 3b 2d 20 5b 30 31 5d span.class="line">bin.&lt;-.[01]
10be40 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 69 6e 5f 20 </span>.<span.class="line">bin_.
10be60 26 6c 74 3b 2d 20 27 5f 27 3f 20 62 69 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 &lt;-.'_'?.bin</span>.<span.clas
10be80 73 3d 22 6c 69 6e 65 22 3e 6f 63 74 20 26 6c 74 3b 2d 20 5b 30 2d 37 5d 3c 2f 73 70 61 6e 3e 0a s="line">oct.&lt;-.[0-7]</span>.
10bea0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 63 74 5f 20 26 6c 74 3b 2d 20 27 5f <span.class="line">oct_.&lt;-.'_
10bec0 27 3f 20 6f 63 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 '?.oct</span>.<span.class="line"
10bee0 3e 68 65 78 20 26 6c 74 3b 2d 20 5b 30 2d 39 61 2d 66 41 2d 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 >hex.&lt;-.[0-9a-fA-F]</span>.<s
10bf00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 68 65 78 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f pan.class="line">hex_.&lt;-.'_'?
10bf20 20 68 65 78 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 .hex</span>.<span.class="line">d
10bf40 65 63 20 26 6c 74 3b 2d 20 5b 30 2d 39 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ec.&lt;-.[0-9]</span>.<span.clas
10bf60 73 3d 22 6c 69 6e 65 22 3e 64 65 63 5f 20 26 6c 74 3b 2d 20 27 5f 27 3f 20 64 65 63 3c 2f 73 70 s="line">dec_.&lt;-.'_'?.dec</sp
10bf80 61 6e 3e 0a 3c 73 70 61 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>.<
10bfa0 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 62 69 6e 5f 69 6e 74 20 26 6c 74 3b 2d 20 span.class="line">bin_int.&lt;-.
10bfc0 62 69 6e 20 62 69 6e 5f 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 bin.bin_*</span>.<span.class="li
10bfe0 6e 65 22 3e 6f 63 74 5f 69 6e 74 20 26 6c 74 3b 2d 20 6f 63 74 20 6f 63 74 5f 2a 3c 2f 73 70 61 ne">oct_int.&lt;-.oct.oct_*</spa
10c000 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 65 63 5f 69 6e 74 20 26 6c n>.<span.class="line">dec_int.&l
10c020 74 3b 2d 20 64 65 63 20 64 65 63 5f 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 t;-.dec.dec_*</span>.<span.class
10c040 3d 22 6c 69 6e 65 22 3e 68 65 78 5f 69 6e 74 20 26 6c 74 3b 2d 20 68 65 78 20 68 65 78 5f 2a 3c ="line">hex_int.&lt;-.hex.hex_*<
10c060 2f 73 70 61 6e 3e 0a 3c 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
10c080 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 38 30 5f 6f 78 42 46 20 26 >.<span.class="line">ox80_oxBF.&
10c0a0 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 37 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c lt;-.[\200-\277]</span>.<span.cl
10c0c0 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 46 34 20 26 6c 74 3b 2d 20 27 5c 33 36 34 27 3c 2f 73 70 ass="line">oxF4.&lt;-.'\364'</sp
10c0e0 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 38 30 5f 6f 78 38 46 an>.<span.class="line">ox80_ox8F
10c100 20 26 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 31 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .&lt;-.[\200-\217]</span>.<span.
10c120 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 46 31 5f 6f 78 46 33 20 26 6c 74 3b 2d 20 5b 5c 33 class="line">oxF1_oxF3.&lt;-.[\3
10c140 36 31 2d 5c 33 36 33 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 61-\363]</span>.<span.class="lin
10c160 65 22 3e 6f 78 46 30 20 26 6c 74 3b 2d 20 27 5c 33 36 30 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 e">oxF0.&lt;-.'\360'</span>.<spa
10c180 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 39 30 5f 30 78 42 46 20 26 6c 74 3b 2d 20 5b n.class="line">ox90_0xBF.&lt;-.[
10c1a0 5c 32 32 30 2d 5c 32 37 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c \220-\277]</span>.<span.class="l
10c1c0 69 6e 65 22 3e 6f 78 45 45 5f 6f 78 45 46 20 26 6c 74 3b 2d 20 5b 5c 33 35 36 2d 5c 33 35 37 5d ine">oxEE_oxEF.&lt;-.[\356-\357]
10c1e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 45 44 20 </span>.<span.class="line">oxED.
10c200 26 6c 74 3b 2d 20 27 5c 33 35 35 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d &lt;-.'\355'</span>.<span.class=
10c220 22 6c 69 6e 65 22 3e 6f 78 38 30 5f 6f 78 39 46 20 26 6c 74 3b 2d 20 5b 5c 32 30 30 2d 5c 32 33 "line">ox80_ox9F.&lt;-.[\200-\23
10c240 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 45 7]</span>.<span.class="line">oxE
10c260 31 5f 6f 78 45 43 20 26 6c 74 3b 2d 20 5b 5c 33 34 31 2d 5c 33 35 34 5d 3c 2f 73 70 61 6e 3e 0a 1_oxEC.&lt;-.[\341-\354]</span>.
10c280 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 45 30 20 26 6c 74 3b 2d 20 27 5c <span.class="line">oxE0.&lt;-.'\
10c2a0 33 34 30 27 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 340'</span>.<span.class="line">o
10c2c0 78 41 30 5f 6f 78 42 46 20 26 6c 74 3b 2d 20 5b 5c 32 34 30 2d 5c 32 37 37 5d 3c 2f 73 70 61 6e xA0_oxBF.&lt;-.[\240-\277]</span
10c2e0 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6f 78 43 32 5f 6f 78 44 46 20 26 >.<span.class="line">oxC2_oxDF.&
10c300 6c 74 3b 2d 20 5b 5c 33 30 32 2d 5c 33 33 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c lt;-.[\302-\337]</span>.<span.cl
10c320 61 73 73 3d 22 6c 69 6e 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="
10c340 6c 69 6e 65 22 3e 23 20 46 72 6f 6d 20 68 74 74 70 73 3a 2f 2f 6c 65 6d 69 72 65 2e 6d 65 2f 62 line">#.From.https://lemire.me/b
10c360 6c 6f 67 2f 32 30 31 38 2f 30 35 2f 30 39 2f 68 6f 77 2d 71 75 69 63 6b 6c 79 2d 63 61 6e 2d 79 log/2018/05/09/how-quickly-can-y
10c380 6f 75 2d 63 68 65 63 6b 2d 74 68 61 74 2d 61 2d 73 74 72 69 6e 67 2d 69 73 2d 76 61 6c 69 64 2d ou-check-that-a-string-is-valid-
10c3a0 75 6e 69 63 6f 64 65 2d 75 74 66 2d 38 2f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 unicode-utf-8/</span>.<span.clas
10c3c0 73 3d 22 6c 69 6e 65 22 3e 23 20 46 69 72 73 74 20 42 79 74 65 20 20 20 20 20 20 53 65 63 6f 6e s="line">#.First.Byte......Secon
10c3e0 64 20 42 79 74 65 20 20 20 20 20 54 68 69 72 64 20 42 79 74 65 20 20 20 20 20 20 46 6f 75 72 74 d.Byte.....Third.Byte......Fourt
10c400 68 20 42 79 74 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 h.Byte</span>.<span.class="line"
10c420 3e 23 20 5b 30 78 30 30 2c 30 78 37 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 >#.[0x00,0x7F]</span>.<span.clas
10c440 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 43 32 2c 30 78 44 46 5d 20 20 20 20 20 5b 30 78 38 30 s="line">#.[0xC2,0xDF].....[0x80
10c460 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ,0xBF]</span>.<span.class="line"
10c480 3e 23 20 20 20 20 30 78 45 30 20 20 20 20 20 20 20 20 20 5b 30 78 41 30 2c 30 78 42 46 5d 20 20 >#....0xE0.........[0xA0,0xBF]..
10c4a0 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ...[0x80,0xBF]</span>.<span.clas
10c4c0 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 45 31 2c 30 78 45 43 5d 20 20 20 20 20 5b 30 78 38 30 s="line">#.[0xE1,0xEC].....[0x80
10c4e0 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 ,0xBF].....[0x80,0xBF]</span>.<s
10c500 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 20 20 20 30 78 45 44 20 20 20 20 20 20 pan.class="line">#....0xED......
10c520 20 20 20 5b 30 78 38 30 2c 30 78 39 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f ...[0x80,0x9F].....[0x80,0xBF]</
10c540 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 45 45 span>.<span.class="line">#.[0xEE
10c560 2c 30 78 45 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 ,0xEF].....[0x80,0xBF].....[0x80
10c580 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 ,0xBF]</span>.<span.class="line"
10c5a0 3e 23 20 20 20 20 30 78 46 30 20 20 20 20 20 20 20 20 20 5b 30 78 39 30 2c 30 78 42 46 5d 20 20 >#....0xF0.........[0x90,0xBF]..
10c5c0 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f ...[0x80,0xBF].....[0x80,0xBF]</
10c5e0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 5b 30 78 46 31 span>.<span.class="line">#.[0xF1
10c600 2c 30 78 46 33 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 ,0xF3].....[0x80,0xBF].....[0x80
10c620 2c 30 78 42 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 ,0xBF].....[0x80,0xBF]</span>.<s
10c640 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 23 20 20 20 20 30 78 46 34 20 20 20 20 20 20 pan.class="line">#....0xF4......
10c660 20 20 20 5b 30 78 38 30 2c 30 78 38 46 5d 20 20 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 20 20 ...[0x80,0x8F].....[0x80,0xBF]..
10c680 20 20 20 5b 30 78 38 30 2c 30 78 42 46 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ...[0x80,0xBF]</span>.<span.clas
10c6a0 73 3d 22 6c 69 6e 65 22 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
10c6c0 6e 65 22 3e 6d 62 5f 75 74 66 38 5f 6c 69 74 65 72 61 6c 20 26 6c 74 3b 2d 3c 2f 73 70 61 6e 3e ne">mb_utf8_literal.&lt;-</span>
10c6e0 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 6f 78 46 34 20 .<span.class="line">.......oxF4.
10c700 20 20 20 20 20 6f 78 38 30 5f 6f 78 38 46 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 .....ox80_ox8F.ox80_oxBF.ox80_ox
10c720 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 BF</span>.<span.class="line">...
10c740 20 20 2f 20 6f 78 46 31 5f 6f 78 46 33 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 ../.oxF1_oxF3.ox80_oxBF.ox80_oxB
10c760 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 F.ox80_oxBF</span>.<span.class="
10c780 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 46 30 20 20 20 20 20 20 6f 78 39 30 5f 30 78 42 46 line">...../.oxF0......ox90_0xBF
10c7a0 20 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .ox80_oxBF.ox80_oxBF</span>.<spa
10c7c0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 45 45 5f 6f 78 45 46 20 n.class="line">...../.oxEE_oxEF.
10c7e0 6f 78 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e ox80_oxBF.ox80_oxBF</span>.<span
10c800 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 45 44 20 20 20 20 20 20 6f .class="line">...../.oxED......o
10c820 78 38 30 5f 6f 78 39 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 x80_ox9F.ox80_oxBF</span>.<span.
10c840 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 45 31 5f 6f 78 45 43 20 6f 78 class="line">...../.oxE1_oxEC.ox
10c860 38 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 80_oxBF.ox80_oxBF</span>.<span.c
10c880 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 45 30 20 20 20 20 20 20 6f 78 41 lass="line">...../.oxE0......oxA
10c8a0 30 5f 6f 78 42 46 20 6f 78 38 30 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 0_oxBF.ox80_oxBF</span>.<span.cl
10c8c0 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 6f 78 43 32 5f 6f 78 44 46 20 6f 78 38 30 ass="line">...../.oxC2_oxDF.ox80
10c8e0 5f 6f 78 42 46 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e _oxBF</span>.<span.class="line">
10c900 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 61 73 63 69 69 </span>.<span.class="line">ascii
10c920 5f 63 68 61 72 5f 6e 6f 74 5f 6e 6c 5f 73 6c 61 73 68 5f 73 71 75 6f 74 65 20 26 6c 74 3b 2d 20 _char_not_nl_slash_squote.&lt;-.
10c940 5b 5c 30 30 30 2d 5c 30 31 31 5c 30 31 33 2d 5c 30 34 36 2d 5c 30 35 30 2d 5c 31 33 33 5c 31 33 [\000-\011\013-\046-\050-\133\13
10c960 35 2d 5c 31 37 37 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 5-\177]</span>.<span.class="line
10c980 22 3e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 63 68 61 "></span>.<span.class="line">cha
10c9a0 72 5f 65 73 63 61 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e r_escape</span>.<span.class="lin
10c9c0 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 5c 5c 78 26 71 75 6f 74 3b 20 68 65 78 e">....&lt;-.&quot;\\x&quot;.hex
10c9e0 20 68 65 78 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 .hex</span>.<span.class="line">.
10ca00 20 20 20 20 2f 20 26 71 75 6f 74 3b 5c 5c 75 7b 26 71 75 6f 74 3b 20 68 65 78 2b 20 26 71 75 6f ..../.&quot;\\u{&quot;.hex+.&quo
10ca20 74 3b 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 t;}&quot;</span>.<span.class="li
10ca40 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 5c 5c 26 71 75 6f 74 3b 20 5b 6e 72 5c 5c 74 ne">...../.&quot;\\&quot;.[nr\\t
10ca60 27 26 71 75 6f 74 3b 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e '&quot;]</span>.<span.class="lin
10ca80 65 22 3e 63 68 61 72 5f 63 68 61 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d e">char_char</span>.<span.class=
10caa0 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 6d 62 5f 75 74 66 38 5f 6c 69 74 65 72 61 6c "line">....&lt;-.mb_utf8_literal
10cac0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 </span>.<span.class="line">.....
10cae0 2f 20 63 68 61 72 5f 65 73 63 61 70 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 /.char_escape</span>.<span.class
10cb00 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 61 73 63 69 69 5f 63 68 61 72 5f 6e 6f 74 5f 6e 6c ="line">...../.ascii_char_not_nl
10cb20 5f 73 6c 61 73 68 5f 73 71 75 6f 74 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 _slash_squote</span>.<span.class
10cb40 3d 22 6c 69 6e 65 22 3e 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
10cb60 65 22 3e 73 74 72 69 6e 67 5f 63 68 61 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 e">string_char</span>.<span.clas
10cb80 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 63 68 61 72 5f 65 73 63 61 70 65 3c 2f s="line">....&lt;-.char_escape</
10cba0 73 70 61 6e 3e 0a 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">...../.
10cbc0 5b 5e 5c 5c 26 71 75 6f 74 3b 5c 6e 5d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 [^\\&quot;\n]</span>.<span.class
10cbe0 3d 22 6c 69 6e 65 22 3e 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
10cc00 65 22 3e 63 6f 6e 74 61 69 6e 65 72 5f 64 6f 63 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 28 e">container_doc_comment.&lt;-.(
10cc20 27 2f 2f 21 27 20 5b 5e 5c 6e 5d 2a 20 5b 20 5c 6e 5d 2a 29 2b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 '//!'.[^\n]*.[.\n]*)+</span>.<sp
10cc40 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 64 6f 63 5f 63 6f 6d 6d 65 6e 74 20 26 6c 74 3b an.class="line">doc_comment.&lt;
10cc60 2d 20 28 27 2f 2f 2f 27 20 5b 5e 5c 6e 5d 2a 20 5b 20 5c 6e 5d 2a 29 2b 3c 2f 73 70 61 6e 3e 0a -.('///'.[^\n]*.[.\n]*)+</span>.
10cc80 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6c 69 6e 65 5f 63 6f 6d 6d 65 6e 74 20 <span.class="line">line_comment.
10cca0 26 6c 74 3b 2d 20 27 2f 2f 27 20 21 5b 21 2f 5d 5b 5e 5c 6e 5d 2a 20 2f 20 27 2f 2f 2f 2f 27 20 &lt;-.'//'.![!/][^\n]*./.'////'.
10ccc0 5b 5e 5c 6e 5d 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 [^\n]*</span>.<span.class="line"
10cce0 3e 6c 69 6e 65 5f 73 74 72 69 6e 67 20 26 6c 74 3b 2d 20 28 26 71 75 6f 74 3b 5c 5c 5c 5c 26 71 >line_string.&lt;-.(&quot;\\\\&q
10cd00 75 6f 74 3b 20 5b 5e 5c 6e 5d 2a 20 5b 20 5c 6e 5d 2a 29 2b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 uot;.[^\n]*.[.\n]*)+</span>.<spa
10cd20 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 73 6b 69 70 20 26 6c 74 3b 2d 20 28 5b 20 5c 6e 5d n.class="line">skip.&lt;-.([.\n]
10cd40 20 2f 20 6c 69 6e 65 5f 63 6f 6d 6d 65 6e 74 29 2a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ./.line_comment)*</span>.<span.c
10cd60 6c 61 73 73 3d 22 6c 69 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=
10cd80 22 6c 69 6e 65 22 3e 43 48 41 52 5f 4c 49 54 45 52 41 4c 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b "line">CHAR_LITERAL.&lt;-.&quot;
10cda0 27 26 71 75 6f 74 3b 20 63 68 61 72 5f 63 68 61 72 20 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 20 '&quot;.char_char.&quot;'&quot;.
10cdc0 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 46 skip</span>.<span.class="line">F
10cde0 4c 4f 41 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 LOAT</span>.<span.class="line">.
10ce00 20 20 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 30 78 26 71 75 6f 74 3b 20 68 65 78 5f 69 6e 74 20 ...&lt;-.&quot;0x&quot;.hex_int.
10ce20 26 71 75 6f 74 3b 2e 26 71 75 6f 74 3b 20 68 65 78 5f 69 6e 74 20 28 5b 70 50 5d 20 5b 2d 2b 5d &quot;.&quot;.hex_int.([pP].[-+]
10ce40 3f 20 64 65 63 5f 69 6e 74 29 3f 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c ?.dec_int)?.skip</span>.<span.cl
10ce60 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 20 20 20 20 20 64 65 63 5f 69 6e 74 20 26 ass="line">...../......dec_int.&
10ce80 71 75 6f 74 3b 2e 26 71 75 6f 74 3b 20 64 65 63 5f 69 6e 74 20 28 5b 65 45 5d 20 5b 2d 2b 5d 3f quot;.&quot;.dec_int.([eE].[-+]?
10cea0 20 64 65 63 5f 69 6e 74 29 3f 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .dec_int)?.skip</span>.<span.cla
10cec0 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 30 78 26 71 75 6f 74 3b 20 ss="line">...../.&quot;0x&quot;.
10cee0 68 65 78 5f 69 6e 74 20 5b 70 50 5d 20 5b 2d 2b 5d 3f 20 64 65 63 5f 69 6e 74 20 73 6b 69 70 3c hex_int.[pP].[-+]?.dec_int.skip<
10cf00 2f 73 70 61 6e 3e 0a 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">...../
10cf20 20 20 20 20 20 20 64 65 63 5f 69 6e 74 20 5b 65 45 5d 20 5b 2d 2b 5d 3f 20 64 65 63 5f 69 6e 74 ......dec_int.[eE].[-+]?.dec_int
10cf40 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">
10cf60 49 4e 54 45 47 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 INTEGER</span>.<span.class="line
10cf80 22 3e 20 20 20 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 30 62 26 71 75 6f 74 3b 20 62 69 6e 5f 69 ">....&lt;-.&quot;0b&quot;.bin_i
10cfa0 6e 74 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 nt.skip</span>.<span.class="line
10cfc0 22 3e 20 20 20 20 20 2f 20 26 71 75 6f 74 3b 30 6f 26 71 75 6f 74 3b 20 6f 63 74 5f 69 6e 74 20 ">...../.&quot;0o&quot;.oct_int.
10cfe0 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 skip</span>.<span.class="line">.
10d000 20 20 20 20 2f 20 26 71 75 6f 74 3b 30 78 26 71 75 6f 74 3b 20 68 65 78 5f 69 6e 74 20 73 6b 69 ..../.&quot;0x&quot;.hex_int.ski
10d020 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 p</span>.<span.class="line">....
10d040 20 2f 20 20 20 20 20 20 64 65 63 5f 69 6e 74 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 ./......dec_int...skip</span>.<s
10d060 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 pan.class="line">STRINGLITERALSI
10d080 4e 47 4c 45 20 26 6c 74 3b 2d 20 26 71 75 6f 74 3b 5c 26 71 75 6f 74 3b 26 71 75 6f 74 3b 20 73 NGLE.&lt;-.&quot;\&quot;&quot;.s
10d0a0 74 72 69 6e 67 5f 63 68 61 72 2a 20 26 71 75 6f 74 3b 5c 26 71 75 6f 74 3b 26 71 75 6f 74 3b 20 tring_char*.&quot;\&quot;&quot;.
10d0c0 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 skip</span>.<span.class="line">S
10d0e0 54 52 49 4e 47 4c 49 54 45 52 41 4c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d TRINGLITERAL</span>.<span.class=
10d100 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 "line">....&lt;-.STRINGLITERALSI
10d120 4e 47 4c 45 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 NGLE</span>.<span.class="line">.
10d140 20 20 20 20 2f 20 28 6c 69 6e 65 5f 73 74 72 69 6e 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..../.(line_string..............
10d160 20 20 20 73 6b 69 70 29 2b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 ...skip)+</span>.<span.class="li
10d180 6e 65 22 3e 49 44 45 4e 54 49 46 49 45 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ne">IDENTIFIER</span>.<span.clas
10d1a0 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 26 6c 74 3b 2d 20 21 6b 65 79 77 6f 72 64 20 5b 41 2d 5a s="line">....&lt;-.!keyword.[A-Z
10d1c0 61 2d 7a 5f 5d 20 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 5d 2a 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a a-z_].[A-Za-z0-9_]*.skip</span>.
10d1e0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 2f 20 26 71 75 6f 74 3b <span.class="line">...../.&quot;
10d200 40 5c 26 71 75 6f 74 3b 26 71 75 6f 74 3b 20 73 74 72 69 6e 67 5f 63 68 61 72 2a 20 26 71 75 6f @\&quot;&quot;.string_char*.&quo
10d220 74 3b 5c 26 71 75 6f 74 3b 26 71 75 6f 74 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t;\&quot;&quot;.................
10d240 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
10d260 73 73 3d 22 6c 69 6e 65 22 3e 42 55 49 4c 54 49 4e 49 44 45 4e 54 49 46 49 45 52 20 26 6c 74 3b ss="line">BUILTINIDENTIFIER.&lt;
10d280 2d 20 26 71 75 6f 74 3b 40 26 71 75 6f 74 3b 5b 41 2d 5a 61 2d 7a 5f 5d 5b 41 2d 5a 61 2d 7a 30 -.&quot;@&quot;[A-Za-z_][A-Za-z0
10d2a0 2d 39 5f 5d 2a 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c -9_]*.skip</span>.<span.class="l
10d2c0 69 6e 65 22 3e 3c 2f 73 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">
10d2e0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 4d 50 45 52 </span>.<span.class="line">AMPER
10d300 53 41 4e 44 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 61 6d 70 3b 27 20 20 20 SAND............&lt;-.'&amp;'...
10d320 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ...![=]......skip</span>.<span.c
10d340 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 4d 50 45 52 53 41 4e 44 45 51 55 41 4c 20 20 20 20 20 20 lass="line">AMPERSANDEQUAL......
10d360 20 26 6c 74 3b 2d 20 27 26 61 6d 70 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b .&lt;-.'&amp;='...............sk
10d380 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 53 54 ip</span>.<span.class="line">AST
10d3a0 45 52 49 53 4b 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a 27 20 20 20 20 20 ERISK.............&lt;-.'*'.....
10d3c0 20 21 5b 2a 25 3d 5d 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 .![*%=]....skip</span>.<span.cla
10d3e0 73 73 3d 22 6c 69 6e 65 22 3e 41 53 54 45 52 49 53 4b 32 20 20 20 20 20 20 20 20 20 20 20 20 26 ss="line">ASTERISK2............&
10d400 6c 74 3b 2d 20 27 2a 2a 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 lt;-.'**'...............skip</sp
10d420 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 41 53 54 45 52 49 53 4b 45 an>.<span.class="line">ASTERISKE
10d440 51 55 41 4c 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a 3d 27 20 20 20 20 20 20 20 20 20 20 QUAL........&lt;-.'*='..........
10d460 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
10d480 6e 65 22 3e 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 ne">ASTERISKPERCENT......&lt;-.'
10d4a0 2a 25 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 *%'.....![=]......skip</span>.<s
10d4c0 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
10d4e0 45 51 55 41 4c 20 26 6c 74 3b 2d 20 27 2a 25 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 EQUAL.&lt;-.'*%='..............s
10d500 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 41 kip</span>.<span.class="line">CA
10d520 52 45 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5e 27 20 20 20 20 RET................&lt;-.'^'....
10d540 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
10d560 61 73 73 3d 22 6c 69 6e 65 22 3e 43 41 52 45 54 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 ass="line">CARETEQUAL...........
10d580 26 6c 74 3b 2d 20 27 5e 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 &lt;-.'^='...............skip</s
10d5a0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 43 4f 4c 4f 4e 20 20 20 pan>.<span.class="line">COLON...
10d5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3a 27 20 20 20 20 20 20 20 20 20 20 .............&lt;-.':'..........
10d5e0 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
10d600 69 6e 65 22 3e 43 4f 4d 4d 41 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 ine">COMMA................&lt;-.
10d620 27 2c 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c ','................skip</span>.<
10d640 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 4f 54 20 20 20 20 20 20 20 20 20 20 20 span.class="line">DOT...........
10d660 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 27 20 20 20 20 20 20 21 5b 2a 2e 3f 5d 20 20 20 20 .......&lt;-.'.'......![*.?]....
10d680 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
10d6a0 4f 54 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 2e 27 20 20 OT2.................&lt;-.'..'..
10d6c0 20 20 20 21 5b 2e 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 ...![.]......skip</span>.<span.c
10d6e0 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 4f 54 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lass="line">DOT3................
10d700 20 26 6c 74 3b 2d 20 27 2e 2e 2e 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f .&lt;-.'...'..............skip</
10d720 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 44 4f 54 41 53 54 45 span>.<span.class="line">DOTASTE
10d740 52 49 53 4b 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 2a 27 20 20 20 20 20 20 20 20 RISK..........&lt;-.'.*'........
10d760 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="
10d780 6c 69 6e 65 22 3e 44 4f 54 51 55 45 53 54 49 4f 4e 4d 41 52 4b 20 20 20 20 20 20 26 6c 74 3b 2d line">DOTQUESTIONMARK......&lt;-
10d7a0 20 27 2e 3f 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a .'.?'...............skip</span>.
10d7c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 51 55 41 4c 20 20 20 20 20 20 20 20 <span.class="line">EQUAL........
10d7e0 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d 27 20 20 20 20 20 20 21 5b 26 67 74 3b 3d 5d 20 ........&lt;-.'='......![&gt;=].
10d800 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
10d820 65 22 3e 45 51 55 41 4c 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d e">EQUALEQUAL...........&lt;-.'=
10d840 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
10d860 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 51 55 41 4c 52 41 52 52 4f 57 20 20 20 20 20 an.class="line">EQUALRARROW.....
10d880 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d 26 67 74 3b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....&lt;-.'=&gt;'..............
10d8a0 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">
10d8c0 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 21 27 20 20 EXCLAMATIONMARK......&lt;-.'!'..
10d8e0 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.
10d900 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 45 51 55 41 class="line">EXCLAMATIONMARKEQUA
10d920 4c 20 26 6c 74 3b 2d 20 27 21 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c L.&lt;-.'!='...............skip<
10d940 2f 73 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
10d960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 27 20 20 20 20 20 ...............&lt;-.'&lt;'.....
10d980 20 21 5b 26 6c 74 3b 3d 5d 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .![&lt;=].....skip</span>.<span.
10d9a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 41 52 52 4f 57 32 20 20 20 20 20 20 20 20 20 20 20 20 class="line">LARROW2............
10d9c0 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 26 6c 74 3b 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 ..&lt;-.'&lt;&lt;'.....![=].....
10d9e0 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">
10da00 4c 41 52 52 4f 57 32 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b LARROW2EQUAL.........&lt;-.'&lt;
10da20 26 6c 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a &lt;='..............skip</span>.
10da40 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 41 52 52 4f 57 45 51 55 41 4c 20 20 <span.class="line">LARROWEQUAL..
10da60 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 ........&lt;-.'&lt;='...........
10da80 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
10daa0 65 22 3e 4c 42 52 41 43 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7b e">LBRACE...............&lt;-.'{
10dac0 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
10dae0 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 42 52 41 43 4b 45 54 20 20 20 20 20 20 20 20 an.class="line">LBRACKET........
10db00 20 20 20 20 20 26 6c 74 3b 2d 20 27 5b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b .....&lt;-.'['................sk
10db20 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 50 41 ip</span>.<span.class="line">LPA
10db40 52 45 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 28 27 20 20 20 20 20 REN...............&lt;-.'('.....
10db60 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
10db80 73 73 3d 22 6c 69 6e 65 22 3e 4d 49 4e 55 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 ss="line">MINUS................&
10dba0 6c 74 3b 2d 20 27 2d 27 20 20 20 20 20 20 21 5b 25 3d 26 67 74 3b 5d 20 20 20 20 73 6b 69 70 3c lt;-.'-'......![%=&gt;]....skip<
10dbc0 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4d 49 4e 55 53 45 /span>.<span.class="line">MINUSE
10dbe0 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 3d 27 20 20 20 20 20 20 20 QUAL...........&lt;-.'-='.......
10dc00 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=
10dc20 22 6c 69 6e 65 22 3e 4d 49 4e 55 53 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 26 6c 74 3b "line">MINUSPERCENT.........&lt;
10dc40 2d 20 27 2d 25 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e -.'-%'.....![=]......skip</span>
10dc60 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
10dc80 45 51 55 41 4c 20 20 20 20 26 6c 74 3b 2d 20 27 2d 25 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 EQUAL....&lt;-.'-%='............
10dca0 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"
10dcc0 3e 4d 49 4e 55 53 52 41 52 52 4f 57 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 26 67 >MINUSRARROW..........&lt;-.'-&g
10dce0 74 3b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 t;'...............skip</span>.<s
10dd00 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 pan.class="line">PERCENT........
10dd20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 25 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 ......&lt;-.'%'......![=]......s
10dd40 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
10dd60 52 43 45 4e 54 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 25 3d 27 20 20 20 RCENTEQUAL.........&lt;-.'%='...
10dd80 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
10dda0 61 73 73 3d 22 6c 69 6e 65 22 3e 50 49 50 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ass="line">PIPE.................
10ddc0 26 6c 74 3b 2d 20 27 7c 27 20 20 20 20 20 20 21 5b 7c 3d 5d 20 20 20 20 20 73 6b 69 70 3c 2f 73 &lt;-.'|'......![|=].....skip</s
10dde0 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 49 50 45 32 20 20 20 pan>.<span.class="line">PIPE2...
10de00 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7c 7c 27 20 20 20 20 20 20 20 20 20 .............&lt;-.'||'.........
10de20 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
10de40 69 6e 65 22 3e 50 49 50 45 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 ine">PIPEEQUAL............&lt;-.
10de60 27 7c 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c '|='...............skip</span>.<
10de80 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 4c 55 53 20 20 20 20 20 20 20 20 20 20 span.class="line">PLUS..........
10dea0 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 27 20 20 20 20 20 20 21 5b 25 2b 3d 5d 20 20 20 20 .......&lt;-.'+'......![%+=]....
10dec0 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
10dee0 4c 55 53 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 2b 27 20 20 LUS2................&lt;-.'++'..
10df00 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 .............skip</span>.<span.c
10df20 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 4c 55 53 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 lass="line">PLUSEQUAL...........
10df40 20 26 6c 74 3b 2d 20 27 2b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f .&lt;-.'+='...............skip</
10df60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 50 4c 55 53 50 45 52 span>.<span.class="line">PLUSPER
10df80 43 45 4e 54 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 25 27 20 20 20 20 20 21 5b 3d CENT..........&lt;-.'+%'.....![=
10dfa0 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 ]......skip</span>.<span.class="
10dfc0 6c 69 6e 65 22 3e 50 4c 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 20 20 20 20 20 26 6c 74 3b 2d line">PLUSPERCENTEQUAL.....&lt;-
10dfe0 20 27 2b 25 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a .'+%='..............skip</span>.
10e000 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4c 45 54 54 45 52 43 20 20 20 20 20 20 <span.class="line">LETTERC......
10e020 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 63 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........&lt;-.'c'...............
10e040 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">
10e060 51 55 45 53 54 49 4f 4e 4d 41 52 4b 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3f 27 20 20 QUESTIONMARK.........&lt;-.'?'..
10e080 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.
10e0a0 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 41 52 52 4f 57 20 20 20 20 20 20 20 20 20 20 20 20 20 class="line">RARROW.............
10e0c0 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 27 20 20 20 20 20 20 21 5b 26 67 74 3b 3d 5d 20 20 20 20 ..&lt;-.'&gt;'......![&gt;=]....
10e0e0 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">
10e100 52 41 52 52 4f 57 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b RARROW2..............&lt;-.'&gt;
10e120 26 67 74 3b 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a &gt;'.....![=]......skip</span>.
10e140 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 41 52 52 4f 57 32 45 51 55 41 4c 20 <span.class="line">RARROW2EQUAL.
10e160 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 26 67 74 3b 3d 27 20 20 20 20 20 20 20 ........&lt;-.'&gt;&gt;='.......
10e180 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="
10e1a0 6c 69 6e 65 22 3e 52 41 52 52 4f 57 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d line">RARROWEQUAL..........&lt;-
10e1c0 20 27 26 67 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 .'&gt;='...............skip</spa
10e1e0 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 42 52 41 43 45 20 20 20 20 n>.<span.class="line">RBRACE....
10e200 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7d 27 20 20 20 20 20 20 20 20 20 20 20 20 ...........&lt;-.'}'............
10e220 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
10e240 65 22 3e 52 42 52 41 43 4b 45 54 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5d e">RBRACKET.............&lt;-.']
10e260 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
10e280 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 52 50 41 52 45 4e 20 20 20 20 20 20 20 20 20 20 an.class="line">RPAREN..........
10e2a0 20 20 20 20 20 26 6c 74 3b 2d 20 27 29 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b .....&lt;-.')'................sk
10e2c0 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 45 4d ip</span>.<span.class="line">SEM
10e2e0 49 43 4f 4c 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3b 27 20 20 20 20 20 ICOLON............&lt;-.';'.....
10e300 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
10e320 73 73 3d 22 6c 69 6e 65 22 3e 53 4c 41 53 48 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 ss="line">SLASH................&
10e340 6c 74 3b 2d 20 27 2f 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 lt;-.'/'......![=]......skip</sp
10e360 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 53 4c 41 53 48 45 51 55 41 an>.<span.class="line">SLASHEQUA
10e380 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2f 3d 27 20 20 20 20 20 20 20 20 20 20 L...........&lt;-.'/='..........
10e3a0 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
10e3c0 6e 65 22 3e 54 49 4c 44 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 ne">TILDE................&lt;-.'
10e3e0 7e 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 ~'................skip</span>.<s
10e400 70 61 6e 20 63 6c 61 73 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
10e420 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 65 6e 64 5f 6f 66 5f 77 6f 72 64 20 26 6c 74 3b 2d 20 21 5b lass="line">end_of_word.&lt;-.![
10e440 61 2d 7a 41 2d 5a 30 2d 39 5f 5d 20 73 6b 69 70 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c a-zA-Z0-9_].skip</span>.<span.cl
10e460 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 20 20 20 20 20 20 26 ass="line">KEYWORD_align.......&
10e480 6c 74 3b 2d 20 27 61 6c 69 67 6e 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f lt;-.'align'.......end_of_word</
10e4a0 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 span>.<span.class="line">KEYWORD
10e4c0 5f 61 6c 6c 6f 77 7a 65 72 6f 20 20 20 26 6c 74 3b 2d 20 27 61 6c 6c 6f 77 7a 65 72 6f 27 20 20 _allowzero...&lt;-.'allowzero'..
10e4e0 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .end_of_word</span>.<span.class=
10e500 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 6e 64 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d "line">KEYWORD_and.........&lt;-
10e520 20 27 61 6e 64 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e .'and'.........end_of_word</span
10e540 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 6e 79 >.<span.class="line">KEYWORD_any
10e560 66 72 61 6d 65 20 20 20 20 26 6c 74 3b 2d 20 27 61 6e 79 66 72 61 6d 65 27 20 20 20 20 65 6e 64 frame....&lt;-.'anyframe'....end
10e580 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e _of_word</span>.<span.class="lin
10e5a0 65 22 3e 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 6e e">KEYWORD_anytype.....&lt;-.'an
10e5c0 79 74 79 70 65 27 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 ytype'.....end_of_word</span>.<s
10e5e0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 73 6d 20 20 20 20 pan.class="line">KEYWORD_asm....
10e600 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 73 6d 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f .....&lt;-.'asm'.........end_of_
10e620 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b word</span>.<span.class="line">K
10e640 45 59 57 4f 52 44 5f 61 73 79 6e 63 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 73 79 6e 63 27 EYWORD_async.......&lt;-.'async'
10e660 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .......end_of_word</span>.<span.
10e680 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 61 77 61 69 74 20 20 20 20 20 20 class="line">KEYWORD_await......
10e6a0 20 26 6c 74 3b 2d 20 27 61 77 61 69 74 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 .&lt;-.'await'.......end_of_word
10e6c0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f </span>.<span.class="line">KEYWO
10e6e0 52 44 5f 62 72 65 61 6b 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 62 72 65 61 6b 27 20 20 20 20 RD_break.......&lt;-.'break'....
10e700 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ...end_of_word</span>.<span.clas
10e720 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 63 61 6c 6c 63 6f 6e 76 20 20 20 20 26 6c 74 s="line">KEYWORD_callconv....&lt
10e740 3b 2d 20 27 63 61 6c 6c 63 6f 6e 76 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 ;-.'callconv'....end_of_word</sp
10e760 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 63 an>.<span.class="line">KEYWORD_c
10e780 61 74 63 68 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 63 61 74 63 68 27 20 20 20 20 20 20 20 65 atch.......&lt;-.'catch'.......e
10e7a0 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c nd_of_word</span>.<span.class="l
10e7c0 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 20 20 20 26 6c 74 3b 2d 20 27 ine">KEYWORD_comptime....&lt;-.'
10e7e0 63 6f 6d 70 74 69 6d 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a comptime'....end_of_word</span>.
10e800 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 <span.class="line">KEYWORD_const
10e820 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 63 6f 6e 73 74 27 20 20 20 20 20 20 20 65 6e 64 5f 6f .......&lt;-.'const'.......end_o
10e840 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 f_word</span>.<span.class="line"
10e860 3e 4b 45 59 57 4f 52 44 5f 63 6f 6e 74 69 6e 75 65 20 20 20 20 26 6c 74 3b 2d 20 27 63 6f 6e 74 >KEYWORD_continue....&lt;-.'cont
10e880 69 6e 75 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 inue'....end_of_word</span>.<spa
10e8a0 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 64 65 66 65 72 20 20 20 20 n.class="line">KEYWORD_defer....
10e8c0 20 20 20 26 6c 74 3b 2d 20 27 64 65 66 65 72 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f ...&lt;-.'defer'.......end_of_wo
10e8e0 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 rd</span>.<span.class="line">KEY
10e900 57 4f 52 44 5f 65 6c 73 65 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 6c 73 65 27 20 20 20 WORD_else........&lt;-.'else'...
10e920 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .....end_of_word</span>.<span.cl
10e940 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 20 20 20 20 20 20 20 26 ass="line">KEYWORD_enum........&
10e960 6c 74 3b 2d 20 27 65 6e 75 6d 27 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f lt;-.'enum'........end_of_word</
10e980 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 span>.<span.class="line">KEYWORD
10e9a0 5f 65 72 72 64 65 66 65 72 20 20 20 20 26 6c 74 3b 2d 20 27 65 72 72 64 65 66 65 72 27 20 20 20 _errdefer....&lt;-.'errdefer'...
10e9c0 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .end_of_word</span>.<span.class=
10e9e0 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 20 20 20 20 20 20 26 6c 74 3b 2d "line">KEYWORD_error.......&lt;-
10ea00 20 27 65 72 72 6f 72 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e .'error'.......end_of_word</span
10ea20 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 65 78 70 >.<span.class="line">KEYWORD_exp
10ea40 6f 72 74 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 78 70 6f 72 74 27 20 20 20 20 20 20 65 6e 64 ort......&lt;-.'export'......end
10ea60 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e _of_word</span>.<span.class="lin
10ea80 65 22 3e 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 78 e">KEYWORD_extern......&lt;-.'ex
10eaa0 74 65 72 6e 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 tern'......end_of_word</span>.<s
10eac0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 66 6e 20 20 20 20 20 pan.class="line">KEYWORD_fn.....
10eae0 20 20 20 20 20 26 6c 74 3b 2d 20 27 66 6e 27 20 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f .....&lt;-.'fn'..........end_of_
10eb00 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b word</span>.<span.class="line">K
10eb20 45 59 57 4f 52 44 5f 66 6f 72 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 66 6f 72 27 20 20 EYWORD_for.........&lt;-.'for'..
10eb40 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 .......end_of_word</span>.<span.
10eb60 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 69 66 20 20 20 20 20 20 20 20 20 class="line">KEYWORD_if.........
10eb80 20 26 6c 74 3b 2d 20 27 69 66 27 20 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 .&lt;-.'if'..........end_of_word
10eba0 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f </span>.<span.class="line">KEYWO
10ebc0 52 44 5f 69 6e 6c 69 6e 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 69 6e 6c 69 6e 65 27 20 20 20 RD_inline......&lt;-.'inline'...
10ebe0 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 ...end_of_word</span>.<span.clas
10ec00 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6e 6f 61 6c 69 61 73 20 20 20 20 20 26 6c 74 s="line">KEYWORD_noalias.....&lt
10ec20 3b 2d 20 27 6e 6f 61 6c 69 61 73 27 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 ;-.'noalias'.....end_of_word</sp
10ec40 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6e an>.<span.class="line">KEYWORD_n
10ec60 6f 73 75 73 70 65 6e 64 20 20 20 26 6c 74 3b 2d 20 27 6e 6f 73 75 73 70 65 6e 64 27 20 20 20 65 osuspend...&lt;-.'nosuspend'...e
10ec80 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c nd_of_word</span>.<span.class="l
10eca0 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 20 20 20 20 26 6c 74 3b 2d 20 27 ine">KEYWORD_noinline....&lt;-.'
10ecc0 6e 6f 69 6e 6c 69 6e 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a noinline'....end_of_word</span>.
10ece0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6f 70 61 71 75 <span.class="line">KEYWORD_opaqu
10ed00 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 6f 70 61 71 75 65 27 20 20 20 20 20 20 65 6e 64 5f 6f e......&lt;-.'opaque'......end_o
10ed20 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 f_word</span>.<span.class="line"
10ed40 3e 4b 45 59 57 4f 52 44 5f 6f 72 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 6f 72 27 20 >KEYWORD_or..........&lt;-.'or'.
10ed60 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 .........end_of_word</span>.<spa
10ed80 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6f 72 65 6c 73 65 20 20 20 n.class="line">KEYWORD_orelse...
10eda0 20 20 20 26 6c 74 3b 2d 20 27 6f 72 65 6c 73 65 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f ...&lt;-.'orelse'......end_of_wo
10edc0 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 rd</span>.<span.class="line">KEY
10ede0 57 4f 52 44 5f 70 61 63 6b 65 64 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 70 61 63 6b 65 64 27 20 WORD_packed......&lt;-.'packed'.
10ee00 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c .....end_of_word</span>.<span.cl
10ee20 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 70 75 62 20 20 20 20 20 20 20 20 20 26 ass="line">KEYWORD_pub.........&
10ee40 6c 74 3b 2d 20 27 70 75 62 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f lt;-.'pub'.........end_of_word</
10ee60 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 span>.<span.class="line">KEYWORD
10ee80 5f 72 65 73 75 6d 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 72 65 73 75 6d 65 27 20 20 20 20 20 _resume......&lt;-.'resume'.....
10eea0 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .end_of_word</span>.<span.class=
10eec0 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 72 65 74 75 72 6e 20 20 20 20 20 20 26 6c 74 3b 2d "line">KEYWORD_return......&lt;-
10eee0 20 27 72 65 74 75 72 6e 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e .'return'......end_of_word</span
10ef00 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 6c 69 6e >.<span.class="line">KEYWORD_lin
10ef20 6b 73 65 63 74 69 6f 6e 20 26 6c 74 3b 2d 20 27 6c 69 6e 6b 73 65 63 74 69 6f 6e 27 20 65 6e 64 ksection.&lt;-.'linksection'.end
10ef40 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e _of_word</span>.<span.class="lin
10ef60 65 22 3e 4b 45 59 57 4f 52 44 5f 73 74 72 75 63 74 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 73 74 e">KEYWORD_struct......&lt;-.'st
10ef80 72 75 63 74 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 ruct'......end_of_word</span>.<s
10efa0 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 73 75 73 70 65 6e 64 pan.class="line">KEYWORD_suspend
10efc0 20 20 20 20 20 26 6c 74 3b 2d 20 27 73 75 73 70 65 6e 64 27 20 20 20 20 20 65 6e 64 5f 6f 66 5f .....&lt;-.'suspend'.....end_of_
10efe0 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b word</span>.<span.class="line">K
10f000 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 73 77 69 74 63 68 EYWORD_switch......&lt;-.'switch
10f020 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 '......end_of_word</span>.<span.
10f040 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 74 65 73 74 20 20 20 20 20 20 20 class="line">KEYWORD_test.......
10f060 20 26 6c 74 3b 2d 20 27 74 65 73 74 27 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 .&lt;-.'test'........end_of_word
10f080 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f </span>.<span.class="line">KEYWO
10f0a0 52 44 5f 74 68 72 65 61 64 6c 6f 63 61 6c 20 26 6c 74 3b 2d 20 27 74 68 72 65 61 64 6c 6f 63 61 RD_threadlocal.&lt;-.'threadloca
10f0c0 6c 27 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 l'.end_of_word</span>.<span.clas
10f0e0 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 74 72 79 20 20 20 20 20 20 20 20 20 26 6c 74 s="line">KEYWORD_try.........&lt
10f100 3b 2d 20 27 74 72 79 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 ;-.'try'.........end_of_word</sp
10f120 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 75 an>.<span.class="line">KEYWORD_u
10f140 6e 69 6f 6e 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 75 6e 69 6f 6e 27 20 20 20 20 20 20 20 65 nion.......&lt;-.'union'.......e
10f160 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c nd_of_word</span>.<span.class="l
10f180 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 75 6e 72 65 61 63 68 61 62 6c 65 20 26 6c 74 3b 2d 20 27 ine">KEYWORD_unreachable.&lt;-.'
10f1a0 75 6e 72 65 61 63 68 61 62 6c 65 27 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a unreachable'.end_of_word</span>.
10f1c0 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 75 73 69 6e 67 <span.class="line">KEYWORD_using
10f1e0 6e 61 6d 65 73 70 61 63 65 20 26 6c 74 3b 2d 20 27 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 27 namespace.&lt;-.'usingnamespace'
10f200 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d .end_of_word</span>.<span.class=
10f220 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 76 61 72 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d "line">KEYWORD_var.........&lt;-
10f240 20 27 76 61 72 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e .'var'.........end_of_word</span
10f260 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 4b 45 59 57 4f 52 44 5f 76 6f 6c >.<span.class="line">KEYWORD_vol
10f280 61 74 69 6c 65 20 20 20 20 26 6c 74 3b 2d 20 27 76 6f 6c 61 74 69 6c 65 27 20 20 20 20 65 6e 64 atile....&lt;-.'volatile'....end
10f2a0 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e _of_word</span>.<span.class="lin
10f2c0 65 22 3e 4b 45 59 57 4f 52 44 5f 77 68 69 6c 65 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 77 68 e">KEYWORD_while.......&lt;-.'wh
10f2e0 69 6c 65 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 3c 2f 73 70 61 6e 3e 0a 3c 73 ile'.......end_of_word</span>.<s
10f300 70 61 6e 20 63 6c 61 73 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
10f320 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 6b 65 79 77 6f 72 64 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 lass="line">keyword.&lt;-.KEYWOR
10f340 44 5f 61 6c 69 67 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 20 2f 20 4b 45 D_align./.KEYWORD_allowzero./.KE
10f360 59 57 4f 52 44 5f 61 6e 64 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 79 66 72 61 6d 65 3c 2f 73 70 YWORD_and./.KEYWORD_anyframe</sp
10f380 61 6e 3e 0a 3c 73 70 61 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">.........
10f3a0 2f 20 4b 45 59 57 4f 52 44 5f 61 6e 79 74 79 70 65 20 2f 20 4b 45 59 57 4f 52 44 5f 61 73 6d 20 /.KEYWORD_anytype./.KEYWORD_asm.
10f3c0 2f 20 4b 45 59 57 4f 52 44 5f 61 73 79 6e 63 20 2f 20 4b 45 59 57 4f 52 44 5f 61 77 61 69 74 3c /.KEYWORD_async./.KEYWORD_await<
10f3e0 2f 73 70 61 6e 3e 0a 3c 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">......
10f400 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 62 72 65 61 6b 20 2f 20 4b 45 59 57 4f 52 44 5f 63 61 6c .../.KEYWORD_break./.KEYWORD_cal
10f420 6c 63 6f 6e 76 20 2f 20 4b 45 59 57 4f 52 44 5f 63 61 74 63 68 20 2f 20 4b 45 59 57 4f 52 44 5f lconv./.KEYWORD_catch./.KEYWORD_
10f440 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e comptime</span>.<span.class="lin
10f460 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 2f 20 4b 45 e">........./.KEYWORD_const./.KE
10f480 59 57 4f 52 44 5f 63 6f 6e 74 69 6e 75 65 20 2f 20 4b 45 59 57 4f 52 44 5f 64 65 66 65 72 20 2f YWORD_continue./.KEYWORD_defer./
10f4a0 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 .KEYWORD_else</span>.<span.class
10f4c0 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 ="line">........./.KEYWORD_enum.
10f4e0 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 /.KEYWORD_errdefer./.KEYWORD_err
10f500 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e or./.KEYWORD_export</span>.<span
10f520 20 63 6c 61 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 .class="line">........./.KEYWORD
10f540 5f 65 78 74 65 72 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 66 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 66 _extern./.KEYWORD_fn./.KEYWORD_f
10f560 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 69 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 or./.KEYWORD_if</span>.<span.cla
10f580 73 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 69 6e 6c ss="line">........./.KEYWORD_inl
10f5a0 69 6e 65 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 61 6c 69 61 73 20 2f 20 4b 45 59 57 4f 52 44 5f ine./.KEYWORD_noalias./.KEYWORD_
10f5c0 6e 6f 73 75 73 70 65 6e 64 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 6f 69 6e 6c 69 6e 65 3c 2f 73 70 nosuspend./.KEYWORD_noinline</sp
10f5e0 61 6e 3e 0a 3c 73 70 61 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">.........
10f600 2f 20 4b 45 59 57 4f 52 44 5f 6f 70 61 71 75 65 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 72 20 2f 20 /.KEYWORD_opaque./.KEYWORD_or./.
10f620 4b 45 59 57 4f 52 44 5f 6f 72 65 6c 73 65 20 2f 20 4b 45 59 57 4f 52 44 5f 70 61 63 6b 65 64 3c KEYWORD_orelse./.KEYWORD_packed<
10f640 2f 73 70 61 6e 3e 0a 3c 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">......
10f660 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 70 75 62 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 73 75 6d .../.KEYWORD_pub./.KEYWORD_resum
10f680 65 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 74 75 72 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 6c 69 6e e./.KEYWORD_return./.KEYWORD_lin
10f6a0 6b 73 65 63 74 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 6c 69 6e ksection</span>.<span.class="lin
10f6c0 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 73 74 72 75 63 74 20 2f 20 4b e">........./.KEYWORD_struct./.K
10f6e0 45 59 57 4f 52 44 5f 73 75 73 70 65 6e 64 20 2f 20 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 EYWORD_suspend./.KEYWORD_switch.
10f700 2f 20 4b 45 59 57 4f 52 44 5f 74 65 73 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 /.KEYWORD_test</span>.<span.clas
10f720 73 3d 22 6c 69 6e 65 22 3e 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 74 68 72 65 s="line">........./.KEYWORD_thre
10f740 61 64 6c 6f 63 61 6c 20 2f 20 4b 45 59 57 4f 52 44 5f 74 72 79 20 2f 20 4b 45 59 57 4f 52 44 5f adlocal./.KEYWORD_try./.KEYWORD_
10f760 75 6e 69 6f 6e 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 union./.KEYWORD_unreachable</spa
10f780 6e 3e 0a 3c 73 70 61 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">........./
10f7a0 20 4b 45 59 57 4f 52 44 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 20 2f 20 4b 45 59 57 4f 52 .KEYWORD_usingnamespace./.KEYWOR
10f7c0 44 5f 76 61 72 20 2f 20 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 20 2f 20 4b 45 59 57 4f D_var./.KEYWORD_volatile./.KEYWO
10f7e0 52 44 5f 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 66 69 RD_while</span></code></pre></fi
10f800 67 75 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 5a 65 6e 22 3e gure>..............<h2.id="Zen">
10f820 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 65 6e 22 3e 5a 65 6e 3c 2f 61 3e 20 3c 61 20 63 6c <a.href="#toc-Zen">Zen</a>.<a.cl
10f840 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 5a 65 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 ass="hdr".href="#Zen">..</a></h2
10f860 3e 0a 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6d 6d 75 6e >........<ul>.........<li>Commun
10f880 69 63 61 74 65 20 69 6e 74 65 6e 74 20 70 72 65 63 69 73 65 6c 79 2e 3c 2f 6c 69 3e 0a 20 20 20 icate.intent.precisely.</li>....
10f8a0 20 20 20 20 20 3c 6c 69 3e 45 64 67 65 20 63 61 73 65 73 20 6d 61 74 74 65 72 2e 3c 2f 6c 69 3e .....<li>Edge.cases.matter.</li>
10f8c0 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 61 76 6f 72 20 72 65 61 64 69 6e 67 20 63 6f 64 65 20 .........<li>Favor.reading.code.
10f8e0 6f 76 65 72 20 77 72 69 74 69 6e 67 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 over.writing.code.</li>.........
10f900 3c 6c 69 3e 4f 6e 6c 79 20 6f 6e 65 20 6f 62 76 69 6f 75 73 20 77 61 79 20 74 6f 20 64 6f 20 74 <li>Only.one.obvious.way.to.do.t
10f920 68 69 6e 67 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 75 6e 74 69 6d 65 20 hings.</li>.........<li>Runtime.
10f940 63 72 61 73 68 65 73 20 61 72 65 20 62 65 74 74 65 72 20 74 68 61 6e 20 62 75 67 73 2e 3c 2f 6c crashes.are.better.than.bugs.</l
10f960 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 20 61 72 i>.........<li>Compile.errors.ar
10f980 65 20 62 65 74 74 65 72 20 74 68 61 6e 20 72 75 6e 74 69 6d 65 20 63 72 61 73 68 65 73 2e 3c 2f e.better.than.runtime.crashes.</
10f9a0 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 63 72 65 6d 65 6e 74 61 6c 20 69 6d 70 72 li>.........<li>Incremental.impr
10f9c0 6f 76 65 6d 65 6e 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 76 6f 69 64 ovements.</li>.........<li>Avoid
10f9e0 20 6c 6f 63 61 6c 20 6d 61 78 69 6d 75 6d 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c .local.maximums.</li>.........<l
10fa00 69 3e 52 65 64 75 63 65 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 6e 65 20 6d 75 73 74 20 72 65 6d i>Reduce.the.amount.one.must.rem
10fa20 65 6d 62 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 46 6f 63 75 73 20 6f 6e ember.</li>.........<li>Focus.on
10fa40 20 63 6f 64 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 73 74 79 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 .code.rather.than.style.</li>...
10fa60 20 20 20 20 20 20 3c 6c 69 3e 52 65 73 6f 75 72 63 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 6d 61 ......<li>Resource.allocation.ma
10fa80 79 20 66 61 69 6c 3b 20 72 65 73 6f 75 72 63 65 20 64 65 61 6c 6c 6f 63 61 74 69 6f 6e 20 6d 75 y.fail;.resource.deallocation.mu
10faa0 73 74 20 73 75 63 63 65 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 65 6d st.succeed.</li>.........<li>Mem
10fac0 6f 72 79 20 69 73 20 61 20 72 65 73 6f 75 72 63 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 ory.is.a.resource.</li>.........
10fae0 3c 6c 69 3e 54 6f 67 65 74 68 65 72 20 77 65 20 73 65 72 76 65 20 74 68 65 20 75 73 65 72 73 2e <li>Together.we.serve.the.users.
10fb00 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>..............<
10fb20 2f 6d 61 69 6e 3e 3c 2f 64 69 76 3e 0a 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 3c 2f 62 6f 64 79 /main></div>.....</div>...</body
10fb40 3e 0a 3c 2f 68 74 6d 6c 3e 0a 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 6f 61 ab 2c 14 00 >.</html>.PK............!Roa.,..
10fb60 00 00 14 00 00 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6d 69 6d 65 74 79 70 65 ........................mimetype
10fb80 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 6f 92 d0 0a fc 00 00 00 fc 00 00 00 16 00 00 00 PK............!Ro...............
10fba0 00 00 00 00 00 00 00 00 00 00 3a 00 00 00 4d 45 54 41 2d 49 4e 46 2f 63 6f 6e 74 61 69 6e 65 72 ..........:...META-INF/container
10fbc0 2e 78 6d 6c 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 fd 74 fc bf a7 02 00 00 a7 02 00 00 .xmlPK............!R.t..........
10fbe0 11 00 00 00 00 00 00 00 00 00 00 00 00 00 6a 01 00 00 4f 45 42 50 53 2f 63 6f 6e 74 65 6e 74 2e ..............j...OEBPS/content.
10fc00 6f 70 66 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 c5 56 ee 11 86 01 00 00 86 01 00 00 0f opfPK............!R.V...........
10fc20 00 00 00 00 00 00 00 00 00 00 00 00 00 40 04 00 00 4f 45 42 50 53 2f 6e 61 76 2e 78 68 74 6d 6c .............@...OEBPS/nav.xhtml
10fc40 50 4b 01 02 14 00 14 00 00 00 00 00 00 00 21 52 95 66 93 cb 28 f5 10 00 28 f5 10 00 11 00 00 00 PK............!R.f..(...(.......
10fc60 00 00 00 00 00 00 00 00 00 00 f3 05 00 00 4f 45 42 50 53 2f 69 6e 64 65 78 2e 78 68 74 6d 6c 50 ..............OEBPS/index.xhtmlP
10fc80 4b 05 06 00 00 00 00 05 00 05 00 35 01 00 00 4a fb 10 00 00 00 K..........5...J.....