| ofs | hex dump | ascii |
|---|
| 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 ef 06 67 79 a7 02 00 00 | ontainer>.PK..........!R..gy.... |
| 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 36 2e 30 3c 2f 64 63 3a 69 64 65 6e 74 69 66 69 65 72 3e 0a 20 20 20 20 3c 64 63 3a 74 | :0.6.0</dc:identifier>.....<dc:t |
| 02a0 | 69 74 6c 65 3e 5a 69 67 20 4c 61 6e 67 75 61 67 65 20 52 65 66 65 72 65 6e 63 65 20 28 30 2e 36 | itle>Zig.Language.Reference.(0.6 |
| 02c0 | 2e 30 29 3c 2f 64 63 3a 74 69 74 6c 65 3e 0a 20 20 20 20 3c 64 63 3a 6c 61 6e 67 75 61 67 65 3e | .0)</dc:title>.....<dc:language> |
| 02e0 | 65 6e 3c 2f 64 63 3a 6c 61 6e 67 75 61 67 65 3e 0a 20 20 20 20 3c 6d 65 74 61 20 70 72 6f 70 65 | en</dc:language>.....<meta.prope |
| 0300 | 72 74 79 3d 22 64 63 74 65 72 6d 73 3a 6d 6f 64 69 66 69 65 64 22 3e 32 30 32 31 2d 30 31 2d 30 | rty="dcterms:modified">2021-01-0 |
| 0320 | 31 54 30 30 3a 30 30 3a 30 30 5a 3c 2f 6d 65 74 61 3e 0a 20 20 3c 2f 6d 65 74 61 64 61 74 61 3e | 1T00:00:00Z</meta>...</metadata> |
| 0340 | 0a 20 20 3c 6d 61 6e 69 66 65 73 74 3e 0a 20 20 20 20 3c 69 74 65 6d 20 69 64 3d 22 6e 61 76 22 | ...<manifest>.....<item.id="nav" |
| 0360 | 20 68 72 65 66 3d 22 6e 61 76 2e 78 68 74 6d 6c 22 20 6d 65 64 69 61 2d 74 79 70 65 3d 22 61 70 | .href="nav.xhtml".media-type="ap |
| 0380 | 70 6c 69 63 61 74 69 6f 6e 2f 78 68 74 6d 6c 2b 78 6d 6c 22 20 70 72 6f 70 65 72 74 69 65 73 3d | plication/xhtml+xml".properties= |
| 03a0 | 22 6e 61 76 22 2f 3e 0a 20 20 20 20 3c 69 74 65 6d 20 69 64 3d 22 69 6e 64 65 78 22 20 68 72 65 | "nav"/>.....<item.id="index".hre |
| 03c0 | 66 3d 22 69 6e 64 65 78 2e 78 68 74 6d 6c 22 20 6d 65 64 69 61 2d 74 79 70 65 3d 22 61 70 70 6c | f="index.xhtml".media-type="appl |
| 03e0 | 69 63 61 74 69 6f 6e 2f 78 68 74 6d 6c 2b 78 6d 6c 22 2f 3e 0a 20 20 3c 2f 6d 61 6e 69 66 65 73 | ication/xhtml+xml"/>...</manifes |
| 0400 | 74 3e 0a 20 20 3c 73 70 69 6e 65 3e 0a 20 20 20 20 3c 69 74 65 6d 72 65 66 20 69 64 72 65 66 3d | t>...<spine>.....<itemref.idref= |
| 0420 | 22 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 09 1e e8 42 86 01 00 00 86 01 00 00 0f 00 00 00 4f 45 | PK..........!R...B............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 36 2e 30 | le>Zig.Language.Reference.(0.6.0 |
| 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 36 2e 30 29 | ">Zig.Language.Reference.(0.6.0) |
| 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 22 08 57 ec dc cb 0a 00 dc cb 0a 00 11 00 00 00 4f 45 42 50 53 2f 69 6e 64 65 78 2e 78 68 74 | R".W.............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 74 69 74 6c 65 3e 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 2d 20 | 8"/>.....<title>Documentation.-. |
| 06c0 | 54 68 65 20 5a 69 67 20 50 72 6f 67 72 61 6d 6d 69 6e 67 20 4c 61 6e 67 75 61 67 65 3c 2f 74 69 | The.Zig.Programming.Language</ti |
| 06e0 | 74 6c 65 3e 0a 20 20 20 20 3c 6c 69 6e 6b 20 72 65 6c 3d 22 69 63 6f 6e 22 20 68 72 65 66 3d 22 | tle>.....<link.rel="icon".href=" |
| 0700 | 64 61 74 61 3a 69 6d 61 67 65 2f 70 6e 67 3b 62 61 73 65 36 34 2c 69 56 42 4f 52 77 30 4b 47 67 | data:image/png;base64,iVBORw0KGg |
| 0720 | 6f 41 41 41 41 4e 53 55 68 45 55 67 41 41 41 42 41 41 41 41 41 51 43 41 59 41 41 41 41 66 38 2f | oAAAANSUhEUgAAABAAAAAQCAYAAAAf8/ |
| 0740 | 39 68 41 41 41 41 67 6b 6c 45 51 56 52 34 41 57 4d 59 57 75 44 37 45 6c 6c 4a 49 4d 34 47 34 67 | 9hAAAAgklEQVR4AWMYWuD7EllJIM4G4g |
| 0760 | 34 67 35 6f 49 4a 2f 6f 64 68 4f 4a 38 77 54 6f 4f 78 53 54 58 67 4e 78 44 48 6f 65 69 42 4d 66 | 4g5oIJ/odhOJ8wToOxSTXgNxDHoeiBMf |
| 0780 | 41 34 2b 77 47 53 68 6a 79 59 4f 43 6b 47 2f 49 47 71 57 51 7a 69 45 7a 59 41 6f 55 41 65 69 46 | A4+wGShjyYOCkG/IGqWQziEzYAoUAeiF |
| 07a0 | 39 44 35 55 2b 44 78 45 67 31 34 44 52 55 37 6a 57 49 54 35 49 42 49 4f 64 43 78 66 2b 41 2b 43 | 9D5U+DxEg14DRU7jWIT5IBIOdCxf+A+C |
| 07c0 | 51 5a 41 41 6f 6f 70 45 42 37 51 4a 77 42 43 42 77 48 69 69 70 38 55 59 6d 52 64 72 41 6c 44 70 | QZAAoopEB7QJwBCBwHiip8UYmRdrAlDp |
| 07e0 | 49 4d 67 41 70 77 51 5a 4e 6e 4e 69 69 35 44 71 30 4d 42 67 43 78 78 79 63 42 6e 77 45 64 2b 77 | IMgApwQZNnNii5Dq0MBgCxxycBnwEd+w |
| 0800 | 41 41 41 41 42 4a 52 55 35 45 72 6b 4a 67 67 67 3d 3d 22 2f 3e 0a 20 20 20 20 3c 73 74 79 6c 65 | AAAABJRU5ErkJggg=="/>.....<style |
| 0820 | 3e 0a 20 20 20 20 20 20 62 6f 64 79 7b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 66 61 6d 69 6c | >.......body{.........font-famil |
| 0840 | 79 3a 20 73 79 73 74 65 6d 2d 75 69 2c 20 2d 61 70 70 6c 65 2d 73 79 73 74 65 6d 2c 20 52 6f 62 | y:.system-ui,.-apple-system,.Rob |
| 0860 | 6f 74 6f 2c 20 22 53 65 67 6f 65 20 55 49 22 2c 20 73 61 6e 73 2d 73 65 72 69 66 3b 0a 20 20 20 | oto,."Segoe.UI",.sans-serif;.... |
| 0880 | 20 20 20 20 20 6d 61 72 67 69 6e 3a 20 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 61 3a | .....margin:.0;.......}.......a: |
| 08a0 | 6e 6f 74 28 3a 68 6f 76 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 74 65 78 74 2d 64 65 63 6f 72 | not(:hover).{.........text-decor |
| 08c0 | 61 74 69 6f 6e 3a 20 6e 6f 6e 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 61 62 6c 65 | ation:.none;.......}.......table |
| 08e0 | 2c 20 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 2d 63 6f 6c 6c 61 70 | ,.th,.td.{.........border-collap |
| 0900 | 73 65 3a 20 63 6f 6c 6c 61 70 73 65 3b 0a 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 3a 20 31 70 | se:.collapse;.........border:.1p |
| 0920 | 78 20 73 6f 6c 69 64 20 67 72 65 79 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 74 68 2c 20 | x.solid.grey;.......}.......th,. |
| 0940 | 74 64 20 7b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e 31 65 6d 3b 0a 20 20 20 | td.{.........padding:.0.1em;.... |
| 0960 | 20 20 20 7d 0a 20 20 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.{ |
| 0980 | 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 | .........font-weight:.bold;..... |
| 09a0 | 20 20 7d 0a 20 20 20 20 20 20 2e 74 32 5f 30 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a | ..}........t2_0.{.........color: |
| 09c0 | 20 67 72 65 79 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 33 31 5f 31 20 7b 0a 20 20 | .grey;.......}........t31_1.{... |
| 09e0 | 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 72 65 64 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 | ......color:.red;.......}....... |
| 0a00 | 2e 74 33 32 5f 31 20 7b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 67 72 65 65 6e 3b 0a 20 | .t32_1.{.........color:.green;.. |
| 0a20 | 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 33 36 5f 31 20 7b 0a 20 20 20 20 20 20 20 20 63 6f | .....}........t36_1.{.........co |
| 0a40 | 6c 6f 72 3a 20 23 30 30 38 36 62 33 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 66 69 6c | lor:.#0086b3;.......}........fil |
| 0a60 | 65 20 7b 0a 20 20 20 20 20 20 20 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 20 75 6e 64 | e.{.........text-decoration:.und |
| 0a80 | 65 72 6c 69 6e 65 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 70 72 65 2c 63 6f 64 65 20 7b | erline;.......}.......pre,code.{ |
| 0aa0 | 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 73 69 7a 65 3a 20 31 32 70 74 3b 0a 20 20 20 20 20 20 | .........font-size:.12pt;....... |
| 0ac0 | 7d 0a 20 20 20 20 20 20 70 72 65 20 3e 20 63 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 64 69 73 | }.......pre.>.code.{.........dis |
| 0ae0 | 70 6c 61 79 3a 20 62 6c 6f 63 6b 3b 0a 20 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 61 | play:.block;.........overflow:.a |
| 0b00 | 75 74 6f 3b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 2e 35 65 6d 3b 0a 20 20 20 | uto;.........padding:.0.5em;.... |
| 0b20 | 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 | .....color:.#333;.........backgr |
| 0b40 | 6f 75 6e 64 3a 20 23 66 38 66 38 66 38 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 61 | ound:.#f8f8f8;.......}........ta |
| 0b60 | 62 6c 65 2d 77 72 61 70 70 65 72 20 7b 0a 20 20 20 20 20 20 20 20 77 69 64 74 68 3a 20 31 30 30 | ble-wrapper.{.........width:.100 |
| 0b80 | 25 3b 0a 20 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 2d 79 3a 20 61 75 74 6f 3b 0a 20 20 20 | %;.........overflow-y:.auto;.... |
| 0ba0 | 20 20 20 7d 0a 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 6b 77 20 7b 0a 20 20 20 20 20 20 20 20 20 20 | ...}.........tok-kw.{........... |
| 0bc0 | 63 6f 6c 6f 72 3a 20 23 33 33 33 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 | color:.#333;...........font-weig |
| 0be0 | 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 73 74 72 | ht:.bold;.......}........tok-str |
| 0c00 | 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 64 31 34 3b 0a 20 20 20 20 20 20 | .{...........color:.#d14;....... |
| 0c20 | 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 62 75 69 6c 74 69 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 | }........tok-builtin.{.......... |
| 0c40 | 20 63 6f 6c 6f 72 3a 20 23 30 30 38 36 62 33 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e | .color:.#0086b3;.......}........ |
| 0c60 | 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 | tok-comment.{...........color:.# |
| 0c80 | 37 37 37 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 73 74 79 6c 65 3a 20 69 74 61 6c 69 | 777;...........font-style:.itali |
| 0ca0 | 63 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 66 6e 20 7b 0a 20 20 20 20 20 | c;.......}........tok-fn.{...... |
| 0cc0 | 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 39 30 30 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 | .....color:.#900;...........font |
| 0ce0 | 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f | -weight:.bold;.......}........to |
| 0d00 | 6b 2d 6e 75 6c 6c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 38 30 38 | k-null.{...........color:.#00808 |
| 0d20 | 30 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 6e 75 6d 62 65 72 20 7b 0a 20 | 0;.......}........tok-number.{.. |
| 0d40 | 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 38 30 38 30 3b 0a 20 20 20 20 20 20 7d | .........color:.#008080;.......} |
| 0d60 | 0a 20 20 20 20 20 20 2e 74 6f 6b 2d 74 79 70 65 20 7b 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c | ........tok-type.{...........col |
| 0d80 | 6f 72 3a 20 23 34 35 38 3b 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 77 65 69 67 68 74 3a | or:.#458;...........font-weight: |
| 0da0 | 20 62 6f 6c 64 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 23 6d 61 69 6e 2d 77 72 61 70 | .bold;.......}........#main-wrap |
| 0dc0 | 70 65 72 20 7b 0a 20 20 20 20 20 20 20 20 64 69 73 70 6c 61 79 3a 20 66 6c 65 78 3b 0a 20 20 20 | per.{.........display:.flex;.... |
| 0de0 | 20 20 20 20 20 66 6c 65 78 2d 64 69 72 65 63 74 69 6f 6e 3a 20 63 6f 6c 75 6d 6e 3b 0a 20 20 20 | .....flex-direction:.column;.... |
| 0e00 | 20 20 20 20 20 68 65 69 67 68 74 3a 20 31 30 30 76 68 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 | .....height:.100vh;.......}..... |
| 0e20 | 20 20 20 23 63 6f 6e 74 65 6e 74 73 2d 77 72 61 70 70 65 72 20 7b 0a 20 20 20 20 20 20 20 20 66 | ...#contents-wrapper.{.........f |
| 0e40 | 6c 65 78 2d 67 72 6f 77 3a 20 31 3b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 20 | lex-grow:.1;.........padding:.0. |
| 0e60 | 32 65 6d 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 23 63 6f 6e 74 65 6e 74 73 20 7b 0a | 2em;.......}........#contents.{. |
| 0e80 | 20 20 20 20 20 20 20 20 6d 61 78 2d 77 69 64 74 68 3a 20 36 30 65 6d 3b 0a 20 20 20 20 20 20 20 | ........max-width:.60em;........ |
| 0ea0 | 20 6d 61 72 67 69 6e 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 23 69 | .margin:.auto;.......}........#i |
| 0ec0 | 6e 64 65 78 20 7b 0a 20 20 20 20 20 20 20 20 70 61 64 64 69 6e 67 3a 20 30 20 31 65 6d 3b 0a 20 | ndex.{.........padding:.0.1em;.. |
| 0ee0 | 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 40 6d 65 64 69 61 20 73 63 72 65 65 6e 20 61 6e 64 20 | .....}........@media.screen.and. |
| 0f00 | 28 6d 69 6e 2d 77 69 64 74 68 3a 20 31 30 32 35 70 78 29 20 7b 0a 20 20 20 20 20 20 20 20 23 6d | (min-width:.1025px).{.........#m |
| 0f20 | 61 69 6e 2d 77 72 61 70 70 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6c 65 78 2d 64 | ain-wrapper.{.............flex-d |
| 0f40 | 69 72 65 63 74 69 6f 6e 3a 20 72 6f 77 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 | irection:.row;.........}........ |
| 0f60 | 20 23 63 6f 6e 74 65 6e 74 73 2d 77 72 61 70 70 65 72 2c 20 23 69 6e 64 65 78 20 7b 0a 20 20 20 | .#contents-wrapper,.#index.{.... |
| 0f80 | 20 20 20 20 20 20 20 20 20 6f 76 65 72 66 6c 6f 77 3a 20 61 75 74 6f 3b 0a 20 20 20 20 20 20 20 | .........overflow:.auto;........ |
| 0fa0 | 20 7d 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 68 31 20 61 2c 20 68 32 20 61 2c 20 68 33 | .}.......}........h1.a,.h2.a,.h3 |
| 0fc0 | 20 61 2c 20 68 34 20 61 2c 20 68 35 20 61 20 7b 0a 20 20 20 20 20 20 20 20 74 65 78 74 2d 64 65 | .a,.h4.a,.h5.a.{.........text-de |
| 0fe0 | 63 6f 72 61 74 69 6f 6e 3a 20 6e 6f 6e 65 3b 0a 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 | coration:.none;.........color:.# |
| 1000 | 33 33 33 3b 0a 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 61 2e 68 64 72 20 7b 0a 20 20 20 20 | 333;.......}........a.hdr.{..... |
| 1020 | 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 20 20 7d 0a | ....visibility:.hidden;.......}. |
| 1040 | 20 20 20 20 20 20 68 31 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 32 3a 68 6f 76 65 72 | ......h1:hover.>.a.hdr,.h2:hover |
| 1060 | 20 3e 20 61 2e 68 64 72 2c 20 68 33 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 34 3a 68 | .>.a.hdr,.h3:hover.>.a.hdr,.h4:h |
| 1080 | 6f 76 65 72 20 3e 20 61 2e 68 64 72 2c 20 68 35 3a 68 6f 76 65 72 20 3e 20 61 2e 68 64 72 20 7b | over.>.a.hdr,.h5:hover.>.a.hdr.{ |
| 10a0 | 0a 20 20 20 20 20 20 20 20 76 69 73 69 62 69 6c 69 74 79 3a 20 76 69 73 69 62 6c 65 3b 0a 20 20 | .........visibility:.visible;... |
| 10c0 | 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 40 6d 65 64 69 61 20 28 70 72 65 66 65 72 73 2d 63 6f 6c | ....}........@media.(prefers-col |
| 10e0 | 6f 72 2d 73 63 68 65 6d 65 3a 20 64 61 72 6b 29 20 7b 0a 20 20 20 20 20 20 20 20 62 6f 64 79 7b | or-scheme:.dark).{.........body{ |
| 1100 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 23 31 | .............background-color:#1 |
| 1120 | 31 31 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 62 62 62 3b 0a 20 20 20 | 11;.............color:.#bbb;.... |
| 1140 | 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 61 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 | .....}.........a.{.............c |
| 1160 | 6f 6c 6f 72 3a 20 23 38 38 66 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 74 61 | olor:.#88f;.........}.........ta |
| 1180 | 62 6c 65 2c 20 74 68 2c 20 74 64 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 | ble,.th,.td.{.............border |
| 11a0 | 2d 63 6f 6c 6f 72 3a 20 67 72 65 79 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 | -color:.grey;.........}......... |
| 11c0 | 2e 74 32 5f 30 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 67 72 65 79 3b | .t2_0.{.............color:.grey; |
| 11e0 | 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 33 31 5f 31 20 7b 0a 20 20 20 20 | .........}..........t31_1.{..... |
| 1200 | 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 72 65 64 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 | ........color:.red;.........}... |
| 1220 | 20 20 20 20 20 20 2e 74 33 32 5f 31 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 | .......t32_1.{.............color |
| 1240 | 3a 20 67 72 65 65 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 33 36 5f | :.green;.........}..........t36_ |
| 1260 | 31 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 30 30 38 36 62 33 3b 0a | 1.{.............color:.#0086b3;. |
| 1280 | 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 70 72 65 20 3e 20 63 6f 64 65 20 7b 0a 20 | ........}.........pre.>.code.{.. |
| 12a0 | 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 63 63 63 3b 0a 20 20 20 20 20 20 20 20 | ...........color:.#ccc;......... |
| 12c0 | 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 3a 20 23 32 32 32 3b 0a 20 20 20 20 20 20 20 20 7d 0a | ....background:.#222;.........}. |
| 12e0 | 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 6b 77 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f | .........tok-kw.{.............co |
| 1300 | 6c 6f 72 3a 20 23 65 65 65 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f | lor:.#eee;.........}..........to |
| 1320 | 6b 2d 73 74 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 32 65 35 3b | k-str.{.............color:.#2e5; |
| 1340 | 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 62 75 69 6c 74 69 6e 20 | .........}..........tok-builtin. |
| 1360 | 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 38 39 34 63 3b 0a 20 20 | {.............color:.#ff894c;... |
| 1380 | 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 20 7b 0a 20 | ......}..........tok-comment.{.. |
| 13a0 | 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 61 61 37 3b 0a 20 20 20 20 20 20 20 20 | ...........color:.#aa7;......... |
| 13c0 | 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 66 6e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 | }..........tok-fn.{............. |
| 13e0 | 63 6f 6c 6f 72 3a 20 23 65 33 33 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e | color:.#e33;.........}.......... |
| 1400 | 74 6f 6b 2d 6e 75 6c 6c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 | tok-null.{.............color:.#f |
| 1420 | 66 38 30 38 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 6e 75 | f8080;.........}..........tok-nu |
| 1440 | 6d 62 65 72 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 66 66 38 30 38 | mber.{.............color:.#ff808 |
| 1460 | 30 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 2e 74 6f 6b 2d 74 79 70 65 20 7b | 0;.........}..........tok-type.{ |
| 1480 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 36 38 66 3b 0a 20 20 20 20 20 20 | .............color:.#68f;....... |
| 14a0 | 20 20 7d 0a 20 20 20 20 20 20 20 20 68 31 20 61 2c 20 68 32 20 61 2c 20 68 33 20 61 2c 20 68 34 | ..}.........h1.a,.h2.a,.h3.a,.h4 |
| 14c0 | 20 61 2c 20 68 35 20 61 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 3a 20 23 61 | .a,.h5.a.{.............color:.#a |
| 14e0 | 61 61 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 3c 2f 73 74 79 6c | aa;.........}.......}.....</styl |
| 1500 | 65 3e 0a 20 20 3c 2f 68 65 61 64 3e 0a 20 20 3c 62 6f 64 79 3e 0a 20 20 20 20 3c 64 69 76 20 69 | e>...</head>...<body>.....<div.i |
| 1520 | 64 3d 22 6d 61 69 6e 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 64 69 76 20 69 64 3d | d="main-wrapper">.......<div.id= |
| 1540 | 22 69 6e 64 65 78 22 3e 0a 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a | "index">.........<a.href="https: |
| 1560 | 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 2e | //ziglang.org/documentation/0.1. |
| 1580 | 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 2f | 1/">0.1.1</a>.|.<a.href="https:/ |
| 15a0 | 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 30 | /ziglang.org/documentation/0.2.0 |
| 15c0 | 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 2f | /">0.2.0</a>.|.<a.href="https:// |
| 15e0 | 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 2f | ziglang.org/documentation/0.3.0/ |
| 1600 | 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 7a | ">0.3.0</a>.|.<a.href="https://z |
| 1620 | 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 22 | iglang.org/documentation/0.4.0/" |
| 1640 | 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 69 | >0.4.0</a>.|.<a.href="https://zi |
| 1660 | 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 3e | glang.org/documentation/0.5.0/"> |
| 1680 | 30 2e 35 2e 30 3c 2f 61 3e 20 7c 0a 30 2e 36 2e 30 20 7c 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 | 0.5.0</a>.|.0.6.0.|.<a.href="htt |
| 16a0 | 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 |
| 16c0 | 2e 37 2e 31 2f 22 3e 30 2e 37 2e 31 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 | .7.1/">0.7.1</a>.|.<a.href="http |
| 16e0 | 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. |
| 1700 | 38 2e 31 2f 22 3e 30 2e 38 2e 31 3c 2f 61 3e 20 7c 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 | 8.1/">0.8.1</a>.|.<a.href="https |
| 1720 | 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 39 | ://ziglang.org/documentation/0.9 |
| 1740 | 2e 31 2f 22 3e 30 2e 39 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.9.1</a>.|.<a.href="https: |
| 1760 | 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 30 | //ziglang.org/documentation/0.10 |
| 1780 | 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 73 | .1/">0.10.1</a>.|.<a.href="https |
| 17a0 | 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 |
| 17c0 | 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 70 | 1.0/">0.11.0</a>.|.<a.href="http |
| 17e0 | 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. |
| 1800 | 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 74 | 12.1/">0.12.1</a>.|.<a.href="htt |
| 1820 | 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 |
| 1840 | 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 74 | .13.0/">0.13.0</a>.|.<a.href="ht |
| 1860 | 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/ |
| 1880 | 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 68 | 0.14.1/">0.14.1</a>.|.<a.href="h |
| 18a0 | 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 |
| 18c0 | 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 22 | /0.15.2/">0.15.2</a>.|.<a.href=" |
| 18e0 | 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 |
| 1900 | 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 3d | n/0.16.0/">0.16.0</a>.|.<a.href= |
| 1920 | 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 |
| 1940 | 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 3c | on/master/">master</a>.........< |
| 1960 | 68 31 3e 49 6e 64 65 78 3c 2f 68 31 3e 0a 20 20 20 20 20 20 20 20 0a 0a 20 20 20 20 3c 75 6c 3e | h1>Index</h1>...............<ul> |
| 1980 | 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 74 72 6f 64 75 63 | .........<li><a.id="toc-Introduc |
| 19a0 | 74 69 6f 6e 22 20 68 72 65 66 3d 22 23 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e 49 6e 74 72 6f | tion".href="#Introduction">Intro |
| 19c0 | 64 75 63 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 | duction</a></li>.........<li><a. |
| 19e0 | 69 64 3d 22 74 6f 63 2d 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 20 68 72 65 66 3d 22 23 48 65 6c 6c | id="toc-Hello-World".href="#Hell |
| 1a00 | 6f 2d 57 6f 72 6c 64 22 3e 48 65 6c 6c 6f 20 57 6f 72 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 | o-World">Hello.World</a></li>... |
| 1a20 | 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 6d 65 6e 74 73 22 20 68 | ......<li><a.id="toc-Comments".h |
| 1a40 | 72 65 66 3d 22 23 43 6f 6d 6d 65 6e 74 73 22 3e 43 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 0a 20 20 20 | ref="#Comments">Comments</a>.... |
| 1a60 | 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= |
| 1a80 | 22 74 6f 63 2d 44 6f 63 2d 63 6f 6d 6d 65 6e 74 73 22 20 68 72 65 66 3d 22 23 44 6f 63 2d 63 6f | "toc-Doc-comments".href="#Doc-co |
| 1aa0 | 6d 6d 65 6e 74 73 22 3e 44 6f 63 20 63 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 | mments">Doc.comments</a></li>... |
| 1ac0 | 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. |
| 1ae0 | 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 22 3e 56 | id="toc-Values".href="#Values">V |
| 1b00 | 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 20 20 20 | alues</a>.........<ul>.......... |
| 1b20 | 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 79 70 65 | ...<li><a.id="toc-Primitive-Type |
| 1b40 | 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 69 6d 69 | s".href="#Primitive-Types">Primi |
| 1b60 | 74 69 76 65 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | tive.Types</a></li>............. |
| 1b80 | 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 | <li><a.id="toc-Primitive-Values" |
| 1ba0 | 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 6d 69 74 | .href="#Primitive-Values">Primit |
| 1bc0 | 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 20 20 20 | ive.Values</a></li>............. |
| 1be0 | 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 73 2d 61 | <li><a.id="toc-String-Literals-a |
| 1c00 | 6e 64 2d 43 68 61 72 61 63 74 65 72 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 23 53 74 | nd-Character-Literals".href="#St |
| 1c20 | 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 43 68 61 72 61 63 74 65 72 2d 4c 69 74 65 | ring-Literals-and-Character-Lite |
| 1c40 | 72 61 6c 73 22 3e 53 74 72 69 6e 67 20 4c 69 74 65 72 61 6c 73 20 61 6e 64 20 43 68 61 72 61 63 | rals">String.Literals.and.Charac |
| 1c60 | 74 65 72 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 | ter.Literals</a>.............<ul |
| 1c80 | 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 |
| 1ca0 | 2d 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 20 68 72 65 66 3d 22 23 45 73 63 61 70 65 | -Escape-Sequences".href="#Escape |
| 1cc0 | 2d 53 65 71 75 65 6e 63 65 73 22 3e 45 73 63 61 70 65 20 53 65 71 75 65 6e 63 65 73 3c 2f 61 3e | -Sequences">Escape.Sequences</a> |
| 1ce0 | 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d | </li>.................<li><a.id= |
| 1d00 | 22 74 6f 63 2d 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 22 20 | "toc-Multiline-String-Literals". |
| 1d20 | 68 72 65 66 3d 22 23 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 | href="#Multiline-String-Literals |
| 1d40 | 22 3e 4d 75 6c 74 69 6c 69 6e 65 20 53 74 72 69 6e 67 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c | ">Multiline.String.Literals</a>< |
| 1d60 | 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 | /li>.............</ul></li>..... |
| 1d80 | 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 73 73 69 67 6e 6d 65 6e | ........<li><a.id="toc-Assignmen |
| 1da0 | 74 22 20 68 72 65 66 3d 22 23 41 73 73 69 67 6e 6d 65 6e 74 22 3e 41 73 73 69 67 6e 6d 65 6e 74 | t".href="#Assignment">Assignment |
| 1dc0 | 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 | </a>.............<ul>........... |
| 1de0 | 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 64 65 66 69 6e 65 64 22 20 | ......<li><a.id="toc-undefined". |
| 1e00 | 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 3c | href="#undefined">undefined</a>< |
| 1e20 | 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 | /li>.............</ul></li>..... |
| 1e40 | 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 |
| 1e60 | 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 6c 65 | ="toc-Variables".href="#Variable |
| 1e80 | 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 20 20 | s">Variables</a>.........<ul>... |
| 1ea0 | 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 6c 6f 62 61 6c 2d | ..........<li><a.id="toc-Global- |
| 1ec0 | 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 23 47 6c 6f 62 61 6c 2d 56 61 72 69 61 62 6c | Variables".href="#Global-Variabl |
| 1ee0 | 65 73 22 3e 47 6c 6f 62 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 | es">Global.Variables</a></li>... |
| 1f00 | 20 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- |
| 1f20 | 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 |
| 1f40 | 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 |
| 1f60 | 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> |
| 1f80 | 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 |
| 1fa0 | 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 |
| 1fc0 | 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>. |
| 1fe0 | 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" |
| 2000 | 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>.. |
| 2020 | 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 |
| 2040 | 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="# |
| 2060 | 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 |
| 2080 | 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 |
| 20a0 | 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 |
| 20c0 | 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 |
| 20e0 | 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>... |
| 2100 | 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. |
| 2120 | 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 |
| 2140 | 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>.......... |
| 2160 | 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 |
| 2180 | 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 |
| 21a0 | 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 |
| 21c0 | 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 |
| 21e0 | 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 |
| 2200 | 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 |
| 2220 | 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>.. |
| 2240 | 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" |
| 2260 | 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> |
| 2280 | 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 |
| 22a0 | 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 |
| 22c0 | 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 |
| 22e0 | 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>............. |
| 2300 | 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= |
| 2320 | 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 |
| 2340 | 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 |
| 2360 | 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 |
| 2380 | 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>...... |
| 23a0 | 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- |
| 23c0 | 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- |
| 23e0 | 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 |
| 2400 | 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> |
| 2420 | 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 |
| 2440 | 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 |
| 2460 | 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>< |
| 2480 | 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- |
| 24a0 | 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 |
| 24c0 | 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 |
| 24e0 | 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 |
| 2500 | 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 |
| 2520 | 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 |
| 2540 | 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 | tors">Vectors</a>.........<ul>.. |
| 2560 | 20 20 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 49 4d 44 22 20 | ...........<li><a.id="toc-SIMD". |
| 2580 | 68 72 65 66 3d 22 23 53 49 4d 44 22 3e 53 49 4d 44 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | href="#SIMD">SIMD</a></li>...... |
| 25a0 | 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 3d | ...</ul></li>.........<li><a.id= |
| 25c0 | 22 74 6f 63 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e | "toc-Pointers".href="#Pointers"> |
| 25e0 | 50 6f 69 6e 74 65 72 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 | Pointers</a>.........<ul>....... |
| 2600 | 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 76 6f 6c 61 74 69 6c 65 22 20 68 | ......<li><a.id="toc-volatile".h |
| 2620 | 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 3e 3c 2f 6c 69 | ref="#volatile">volatile</a></li |
| 2640 | 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 6c 69 | >.............<li><a.id="toc-Ali |
| 2660 | 67 6e 6d 65 6e 74 22 20 68 72 65 66 3d 22 23 41 6c 69 67 6e 6d 65 6e 74 22 3e 41 6c 69 67 6e 6d | gnment".href="#Alignment">Alignm |
| 2680 | 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. |
| 26a0 | 69 64 3d 22 74 6f 63 2d 61 6c 6c 6f 77 7a 65 72 6f 22 20 68 72 65 66 3d 22 23 61 6c 6c 6f 77 7a | id="toc-allowzero".href="#allowz |
| 26c0 | 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | ero">allowzero</a></li>......... |
| 26e0 | 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d | ....<li><a.id="toc-Sentinel-Term |
| 2700 | 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c | inated-Pointers".href="#Sentinel |
| 2720 | 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 | -Terminated-Pointers">Sentinel-T |
| 2740 | 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 20 20 20 20 | erminated.Pointers</a></li>..... |
| 2760 | 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 |
| 2780 | 3d 22 74 6f 63 2d 53 6c 69 63 65 73 22 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 | ="toc-Slices".href="#Slices">Sli |
| 27a0 | 63 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 20 20 20 20 20 | ces</a>.........<ul>............ |
| 27c0 | 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 | .<li><a.id="toc-Sentinel-Termina |
| 27e0 | 74 65 64 2d 53 6c 69 63 65 73 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d | ted-Slices".href="#Sentinel-Term |
| 2800 | 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 |
| 2820 | 65 64 20 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e | ed.Slices</a></li>.........</ul> |
| 2840 | 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 74 72 | </li>.........<li><a.id="toc-str |
| 2860 | 75 63 74 22 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 0a 20 | uct".href="#struct">struct</a>.. |
| 2880 | 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 |
| 28a0 | 64 3d 22 74 6f 63 2d 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 20 68 72 65 | d="toc-Default-Field-Values".hre |
| 28c0 | 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 44 65 66 61 75 6c | f="#Default-Field-Values">Defaul |
| 28e0 | 74 20 46 69 65 6c 64 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 | t.Field.Values</a></li>......... |
| 2900 | 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 65 72 6e 2d 73 74 72 75 63 74 | ....<li><a.id="toc-extern-struct |
| 2920 | 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 3e 65 78 74 65 72 6e 20 73 | ".href="#extern-struct">extern.s |
| 2940 | 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>< |
| 2960 | 61 20 69 64 3d 22 74 6f 63 2d 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 20 68 72 65 66 3d 22 23 | a.id="toc-packed-struct".href="# |
| 2980 | 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> |
| 29a0 | 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 |
| 29c0 | 2d 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 20 68 72 65 66 3d 22 23 53 74 72 75 63 74 2d 4e 61 | -Struct-Naming".href="#Struct-Na |
| 29e0 | 6d 69 6e 67 22 3e 53 74 72 75 63 74 20 4e 61 6d 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 | ming">Struct.Naming</a></li>.... |
| 2a00 | 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 | .........<li><a.id="toc-Anonymou |
| 2a20 | 73 2d 53 74 72 75 63 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 | s-Struct-Literals".href="#Anonym |
| 2a40 | 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 53 | ous-Struct-Literals">Anonymous.S |
| 2a60 | 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | truct.Literals</a></li>......... |
| 2a80 | 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 |
| 2aa0 | 63 2d 65 6e 75 6d 22 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 0a 20 20 | c-enum".href="#enum">enum</a>... |
| 2ac0 | 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 | ......<ul>.............<li><a.id |
| 2ae0 | 3d 22 74 6f 63 2d 65 78 74 65 72 6e 2d 65 6e 75 6d 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e | ="toc-extern-enum".href="#extern |
| 2b00 | 2d 65 6e 75 6d 22 3e 65 78 74 65 72 6e 20 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 | -enum">extern.enum</a></li>..... |
| 2b20 | 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 61 63 6b 65 64 2d 65 6e | ........<li><a.id="toc-packed-en |
| 2b40 | 75 6d 22 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 65 6e 75 6d 22 3e 70 61 63 6b 65 64 20 65 | um".href="#packed-enum">packed.e |
| 2b60 | 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 | num</a></li>.............<li><a. |
| 2b80 | 69 64 3d 22 74 6f 63 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 23 45 6e | id="toc-Enum-Literals".href="#En |
| 2ba0 | 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f | um-Literals">Enum.Literals</a></ |
| 2bc0 | 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 4e | li>.............<li><a.id="toc-N |
| 2be0 | 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 20 68 72 65 66 3d 22 23 4e 6f 6e 2d 65 | on-exhaustive-enum".href="#Non-e |
| 2c00 | 78 68 61 75 73 74 69 76 65 2d 65 6e 75 6d 22 3e 4e 6f 6e 2d 65 78 68 61 75 73 74 69 76 65 20 65 | xhaustive-enum">Non-exhaustive.e |
| 2c20 | 6e 75 6d 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 | num</a></li>.........</ul></li>. |
| 2c40 | 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 69 6f 6e 22 20 68 72 | ........<li><a.id="toc-union".hr |
| 2c60 | 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 | ef="#union">union</a>.........<u |
| 2c80 | 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 54 61 | l>.............<li><a.id="toc-Ta |
| 2ca0 | 67 67 65 64 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d 22 23 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 | gged-union".href="#Tagged-union" |
| 2cc0 | 3e 54 61 67 67 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 | >Tagged.union</a></li>.......... |
| 2ce0 | 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 20 | ...<li><a.id="toc-extern-union". |
| 2d00 | 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 69 6f | href="#extern-union">extern.unio |
| 2d20 | 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 | n</a></li>.............<li><a.id |
| 2d40 | 3d 22 74 6f 63 2d 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 20 68 72 65 66 3d 22 23 70 61 63 6b 65 | ="toc-packed-union".href="#packe |
| 2d60 | 64 2d 75 6e 69 6f 6e 22 3e 70 61 63 6b 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 | d-union">packed.union</a></li>.. |
| 2d80 | 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 6e 6f 6e 79 6d | ...........<li><a.id="toc-Anonym |
| 2da0 | 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 | ous-Union-Literals".href="#Anony |
| 2dc0 | 6d 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 55 | mous-Union-Literals">Anonymous.U |
| 2de0 | 6e 69 6f 6e 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c | nion.Literals</a></li>.........< |
| 2e00 | 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 |
| 2e20 | 2d 62 6c 6f 63 6b 73 22 20 68 72 65 66 3d 22 23 62 6c 6f 63 6b 73 22 3e 62 6c 6f 63 6b 73 3c 2f | -blocks".href="#blocks">blocks</ |
| 2e40 | 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> |
| 2e60 | 3c 61 20 69 64 3d 22 74 6f 63 2d 53 68 61 64 6f 77 69 6e 67 22 20 68 72 65 66 3d 22 23 53 68 61 | <a.id="toc-Shadowing".href="#Sha |
| 2e80 | 64 6f 77 69 6e 67 22 3e 53 68 61 64 6f 77 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | dowing">Shadowing</a></li>...... |
| 2ea0 | 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 3d | ...</ul></li>.........<li><a.id= |
| 2ec0 | 22 74 6f 63 2d 73 77 69 74 63 68 22 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 | "toc-switch".href="#switch">swit |
| 2ee0 | 63 68 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 | ch</a>.........<ul>............. |
| 2f00 | 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 68 | <li><a.id="toc-Exhaustive-Switch |
| 2f20 | 69 6e 67 22 20 68 72 65 66 3d 22 23 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 6e 67 | ing".href="#Exhaustive-Switching |
| 2f40 | 22 3e 45 78 68 61 75 73 74 69 76 65 20 53 77 69 74 63 68 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a | ">Exhaustive.Switching</a></li>. |
| 2f60 | 20 20 20 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 77 69 74 63 | ............<li><a.id="toc-Switc |
| 2f80 | 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 20 68 72 65 66 3d 22 23 | hing-with-Enum-Literals".href="# |
| 2fa0 | 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 53 77 | Switching-with-Enum-Literals">Sw |
| 2fc0 | 69 74 63 68 69 6e 67 20 77 69 74 68 20 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 3c 2f | itching.with.Enum.Literals</a></ |
| 2fe0 | 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c | li>.........</ul></li>.........< |
| 3000 | 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 22 20 68 72 65 66 3d 22 23 77 68 69 6c | li><a.id="toc-while".href="#whil |
| 3020 | 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 | e">while</a>.........<ul>....... |
| 3040 | 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 77 68 69 | ......<li><a.id="toc-Labeled-whi |
| 3060 | 6c 65 22 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 77 68 69 6c 65 22 3e 4c 61 62 65 6c 65 | le".href="#Labeled-while">Labele |
| 3080 | 64 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 | d.while</a></li>.............<li |
| 30a0 | 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 | ><a.id="toc-while-with-Optionals |
| 30c0 | 22 20 68 72 65 66 3d 22 23 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 77 | ".href="#while-with-Optionals">w |
| 30e0 | 68 69 6c 65 20 77 69 74 68 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 | hile.with.Optionals</a></li>.... |
| 3100 | 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 77 68 69 6c 65 2d 77 69 | .........<li><a.id="toc-while-wi |
| 3120 | 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 77 68 69 6c 65 2d 77 69 | th-Error-Unions".href="#while-wi |
| 3140 | 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 45 72 72 6f | th-Error-Unions">while.with.Erro |
| 3160 | 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c | r.Unions</a></li>.............<l |
| 3180 | 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 20 68 72 65 66 3d | i><a.id="toc-inline-while".href= |
| 31a0 | 22 23 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e | "#inline-while">inline.while</a> |
| 31c0 | 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>........ |
| 31e0 | 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6f 72 22 20 68 72 65 66 3d 22 23 66 6f 72 22 | .<li><a.id="toc-for".href="#for" |
| 3200 | 3e 66 6f 72 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 | >for</a>.........<ul>........... |
| 3220 | 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 66 6f 72 22 20 68 72 | ..<li><a.id="toc-Labeled-for".hr |
| 3240 | 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 20 66 6f 72 3c 2f 61 | ef="#Labeled-for">Labeled.for</a |
| 3260 | 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 |
| 3280 | 63 2d 69 6e 6c 69 6e 65 2d 66 6f 72 22 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 | c-inline-for".href="#inline-for" |
| 32a0 | 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 | >inline.for</a></li>.........</u |
| 32c0 | 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 | l></li>.........<li><a.id="toc-i |
| 32e0 | 66 22 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 | f".href="#if">if</a></li>....... |
| 3300 | 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 64 65 66 65 72 22 20 68 72 65 66 3d 22 23 64 | ..<li><a.id="toc-defer".href="#d |
| 3320 | 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 | efer">defer</a></li>.........<li |
| 3340 | 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 72 65 61 63 68 61 62 6c 65 22 20 68 72 65 66 3d 22 23 | ><a.id="toc-unreachable".href="# |
| 3360 | 75 6e 72 65 61 63 68 61 62 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 0a 20 20 20 | unreachable">unreachable</a>.... |
| 3380 | 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= |
| 33a0 | 22 74 6f 63 2d 42 61 73 69 63 73 22 20 68 72 65 66 3d 22 23 42 61 73 69 63 73 22 3e 42 61 73 69 | "toc-Basics".href="#Basics">Basi |
| 33c0 | 63 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 | cs</a></li>.............<li><a.i |
| 33e0 | 64 3d 22 74 6f 63 2d 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 20 68 72 65 66 3d 22 23 41 | d="toc-At-Compile-Time".href="#A |
| 3400 | 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 3e 41 74 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 3c | t-Compile-Time">At.Compile-Time< |
| 3420 | 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 | /a></li>.........</ul></li>..... |
| 3440 | 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6e 6f 72 65 74 75 72 6e 22 20 68 72 65 | ....<li><a.id="toc-noreturn".hre |
| 3460 | 66 3d 22 23 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a | f="#noreturn">noreturn</a></li>. |
| 3480 | 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 73 | ........<li><a.id="toc-Functions |
| 34a0 | 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 | ".href="#Functions">Functions</a |
| 34c0 | 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>< |
| 34e0 | 61 20 69 64 3d 22 74 6f 63 2d 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 | a.id="toc-Pass-by-value-Paramete |
| 3500 | 72 73 22 20 68 72 65 66 3d 22 23 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 | rs".href="#Pass-by-value-Paramet |
| 3520 | 65 72 73 22 3e 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 | ers">Pass-by-value.Parameters</a |
| 3540 | 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 |
| 3560 | 63 2d 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 | c-Function-Parameter-Type-Infere |
| 3580 | 6e 63 65 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 | nce".href="#Function-Parameter-T |
| 35a0 | 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 3e 46 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 | ype-Inference">Function.Paramete |
| 35c0 | 72 20 54 79 70 65 20 49 6e 66 65 72 65 6e 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 | r.Type.Inference</a></li>....... |
| 35e0 | 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 2d 52 65 | ......<li><a.id="toc-Function-Re |
| 3600 | 66 6c 65 63 74 69 6f 6e 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 2d 52 65 66 6c 65 63 | flection".href="#Function-Reflec |
| 3620 | 74 69 6f 6e 22 3e 46 75 6e 63 74 69 6f 6e 20 52 65 66 6c 65 63 74 69 6f 6e 3c 2f 61 3e 3c 2f 6c | tion">Function.Reflection</a></l |
| 3640 | 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 |
| 3660 | 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 72 72 6f 72 73 22 20 68 72 65 66 3d 22 23 45 72 72 6f | i><a.id="toc-Errors".href="#Erro |
| 3680 | 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 | rs">Errors</a>.........<ul>..... |
| 36a0 | 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 53 65 74 | ........<li><a.id="toc-Error-Set |
| 36c0 | 2d 54 79 70 65 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 | -Type".href="#Error-Set-Type">Er |
| 36e0 | 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c | ror.Set.Type</a>.............<ul |
| 3700 | 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 |
| 3720 | 2d 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 65 74 22 20 68 72 65 66 3d 22 23 54 68 | -The-Global-Error-Set".href="#Th |
| 3740 | 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 20 45 | e-Global-Error-Set">The.Global.E |
| 3760 | 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 20 20 3c 2f | rror.Set</a></li>.............</ |
| 3780 | 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 3d 22 | ul></li>.............<li><a.id=" |
| 37a0 | 74 6f 63 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 20 68 72 65 66 3d 22 23 45 72 72 | toc-Error-Union-Type".href="#Err |
| 37c0 | 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c | or-Union-Type">Error.Union.Type< |
| 37e0 | 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 | /a>.............<ul>............ |
| 3800 | 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 61 74 63 68 22 20 68 72 65 66 3d | .....<li><a.id="toc-catch".href= |
| 3820 | 22 23 63 61 74 63 68 22 3e 63 61 74 63 68 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | "#catch">catch</a></li>......... |
| 3840 | 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 79 22 20 68 72 65 66 | ........<li><a.id="toc-try".href |
| 3860 | 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 | ="#try">try</a></li>............ |
| 3880 | 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 64 65 66 65 72 22 20 68 72 | .....<li><a.id="toc-errdefer".hr |
| 38a0 | 65 66 3d 22 23 65 72 72 64 65 66 65 72 22 3e 65 72 72 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e | ef="#errdefer">errdefer</a></li> |
| 38c0 | 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- |
| 38e0 | 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 20 68 72 65 66 3d 22 23 4d 65 72 67 69 | Merging-Error-Sets".href="#Mergi |
| 3900 | 6e 67 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 4d 65 72 67 69 6e 67 20 45 72 72 6f 72 20 53 65 74 | ng-Error-Sets">Merging.Error.Set |
| 3920 | 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c | s</a></li>.................<li>< |
| 3940 | 61 20 69 64 3d 22 74 6f 63 2d 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 20 68 | a.id="toc-Inferred-Error-Sets".h |
| 3960 | 72 65 66 3d 22 23 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 49 6e 66 65 72 | ref="#Inferred-Error-Sets">Infer |
| 3980 | 72 65 64 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | red.Error.Sets</a></li>......... |
| 39a0 | 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c | ....</ul></li>.............<li>< |
| 39c0 | 61 20 69 64 3d 22 74 6f 63 2d 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 20 68 | a.id="toc-Error-Return-Traces".h |
| 39e0 | 72 65 66 3d 22 23 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 22 3e 45 72 72 6f 72 | ref="#Error-Return-Traces">Error |
| 3a00 | 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c | .Return.Traces</a>.............< |
| 3a20 | 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 | ul>.................<li><a.id="t |
| 3a40 | 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 20 68 72 65 66 3d | oc-Implementation-Details".href= |
| 3a60 | 22 23 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 3e 49 6d 70 6c 65 6d | "#Implementation-Details">Implem |
| 3a80 | 65 6e 74 61 74 69 6f 6e 20 44 65 74 61 69 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 | entation.Details</a></li>....... |
| 3aa0 | 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f | ......</ul></li>.........</ul></ |
| 3ac0 | 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 74 69 6f | li>.........<li><a.id="toc-Optio |
| 3ae0 | 6e 61 6c 73 22 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c | nals".href="#Optionals">Optional |
| 3b00 | 73 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c | s</a>.........<ul>.............< |
| 3b20 | 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 20 68 72 65 | li><a.id="toc-Optional-Type".hre |
| 3b40 | 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 4f 70 74 69 6f 6e 61 6c 20 54 79 70 65 | f="#Optional-Type">Optional.Type |
| 3b60 | 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= |
| 3b80 | 22 74 6f 63 2d 6e 75 6c 6c 22 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e | "toc-null".href="#null">null</a> |
| 3ba0 | 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 |
| 3bc0 | 2d 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 23 4f 70 74 69 6f | -Optional-Pointers".href="#Optio |
| 3be0 | 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c | nal-Pointers">Optional.Pointers< |
| 3c00 | 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 | /a></li>.........</ul></li>..... |
| 3c20 | 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 74 69 6e 67 22 20 68 72 65 66 | ....<li><a.id="toc-Casting".href |
| 3c40 | 3d 22 23 43 61 73 74 69 6e 67 22 3e 43 61 73 74 69 6e 67 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 | ="#Casting">Casting</a>......... |
| 3c60 | 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- |
| 3c80 | 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 | Type-Coercion".href="#Type-Coerc |
| 3ca0 | 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 | ion">Type.Coercion</a>.......... |
| 3cc0 | 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 | ...<ul>.................<li><a.i |
| 3ce0 | 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 | d="toc-Type-Coercion-Stricter-Qu |
| 3d00 | 61 6c 69 66 69 63 61 74 69 6f 6e 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f | alification".href="#Type-Coercio |
| 3d20 | 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e 54 79 70 65 20 43 | n-Stricter-Qualification">Type.C |
| 3d40 | 6f 65 72 63 69 6f 6e 3a 20 53 74 72 69 63 74 65 72 20 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 3c | oercion:.Stricter.Qualification< |
| 3d60 | 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. |
| 3d80 | 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e | id="toc-Type-Coercion-Integer-an |
| 3da0 | 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f | d-Float-Widening".href="#Type-Co |
| 3dc0 | 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e | ercion-Integer-and-Float-Widenin |
| 3de0 | 67 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 49 6e 74 65 67 65 72 20 61 6e 64 20 46 6c | g">Type.Coercion:.Integer.and.Fl |
| 3e00 | 6f 61 74 20 57 69 64 65 6e 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 | oat.Widening</a></li>........... |
| 3e20 | 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 | ......<li><a.id="toc-Type-Coerci |
| 3e40 | 6f 6e 2d 41 72 72 61 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 22 20 68 72 65 66 3d 22 23 54 | on-Arrays-and-Pointers".href="#T |
| 3e60 | 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 41 72 72 61 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 | ype-Coercion-Arrays-and-Pointers |
| 3e80 | 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 41 72 72 61 79 73 20 61 6e 64 20 50 6f 69 6e | ">Type.Coercion:.Arrays.and.Poin |
| 3ea0 | 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c | ters</a></li>.................<l |
| 3ec0 | 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 4f 70 74 69 6f | i><a.id="toc-Type-Coercion-Optio |
| 3ee0 | 6e 61 6c 73 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 | nals".href="#Type-Coercion-Optio |
| 3f00 | 6e 61 6c 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 4f 70 74 69 6f 6e 61 6c 73 3c 2f | nals">Type.Coercion:.Optionals</ |
| 3f20 | 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 69 | a></li>.................<li><a.i |
| 3f40 | 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e | d="toc-Type-Coercion-Error-Union |
| 3f60 | 73 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e | s".href="#Type-Coercion-Error-Un |
| 3f80 | 69 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 | ions">Type.Coercion:.Error.Union |
| 3fa0 | 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c | s</a></li>.................<li>< |
| 3fc0 | 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 6d 70 69 6c 65 2d | a.id="toc-Type-Coercion-Compile- |
| 3fe0 | 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d | Time-Known-Numbers".href="#Type- |
| 4000 | 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 | Coercion-Compile-Time-Known-Numb |
| 4020 | 65 72 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 | ers">Type.Coercion:.Compile-Time |
| 4040 | 20 4b 6e 6f 77 6e 20 4e 75 6d 62 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | .Known.Numbers</a></li>......... |
| 4060 | 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 |
| 4080 | 63 69 6f 6e 2d 75 6e 69 6f 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 20 68 72 65 66 3d 22 23 54 79 | cion-unions-and-enums".href="#Ty |
| 40a0 | 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 69 6f 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 3e 54 79 | pe-Coercion-unions-and-enums">Ty |
| 40c0 | 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 3c 2f 61 | pe.Coercion:.unions.and.enums</a |
| 40e0 | 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 | ></li>.................<li><a.id |
| 4100 | 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 | ="toc-Type-Coercion-Zero-Bit-Typ |
| 4120 | 65 73 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 | es".href="#Type-Coercion-Zero-Bi |
| 4140 | 74 2d 54 79 70 65 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 5a 65 72 6f 20 42 69 74 | t-Types">Type.Coercion:.Zero.Bit |
| 4160 | 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .Types</a></li>................. |
| 4180 | 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 | <li><a.id="toc-Type-Coercion-und |
| 41a0 | 65 66 69 6e 65 64 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 | efined".href="#Type-Coercion-und |
| 41c0 | 65 66 69 6e 65 64 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 75 6e 64 65 66 69 6e 65 64 | efined">Type.Coercion:.undefined |
| 41e0 | 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 2f 6c 69 3e | </a></li>.............</ul></li> |
| 4200 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 70 6c | .............<li><a.id="toc-Expl |
| 4220 | 69 63 69 74 2d 43 61 73 74 73 22 20 68 72 65 66 3d 22 23 45 78 70 6c 69 63 69 74 2d 43 61 73 74 | icit-Casts".href="#Explicit-Cast |
| 4240 | 73 22 3e 45 78 70 6c 69 63 69 74 20 43 61 73 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | s">Explicit.Casts</a></li>...... |
| 4260 | 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 65 65 72 2d 54 79 70 65 2d | .......<li><a.id="toc-Peer-Type- |
| 4280 | 52 65 73 6f 6c 75 74 69 6f 6e 22 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 | Resolution".href="#Peer-Type-Res |
| 42a0 | 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 |
| 42c0 | 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>....... |
| 42e0 | 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 | ..<li><a.id="toc-Zero-Bit-Types" |
| 4300 | 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 74 | .href="#Zero-Bit-Types">Zero.Bit |
| 4320 | 20 54 79 70 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 20 20 | .Types</a>.........<ul>......... |
| 4340 | 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 76 6f 69 64 22 20 68 72 65 66 3d 22 23 | ....<li><a.id="toc-void".href="# |
| 4360 | 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | void">void</a></li>............. |
| 4380 | 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 50 6f 69 6e 74 65 72 73 2d 74 6f 2d 5a 65 72 6f 2d | <li><a.id="toc-Pointers-to-Zero- |
| 43a0 | 42 69 74 2d 54 79 70 65 73 22 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 2d 74 6f 2d 5a 65 | Bit-Types".href="#Pointers-to-Ze |
| 43c0 | 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 42 | ro-Bit-Types">Pointers.to.Zero.B |
| 43e0 | 69 74 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c | it.Types</a></li>.........</ul>< |
| 4400 | 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 52 65 73 75 | /li>.........<li><a.id="toc-Resu |
| 4420 | 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 20 68 72 65 66 3d 22 23 52 65 | lt-Location-Semantics".href="#Re |
| 4440 | 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 75 6c 74 20 | sult-Location-Semantics">Result. |
| 4460 | 4c 6f 63 61 74 69 6f 6e 20 53 65 6d 61 6e 74 69 63 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 | Location.Semantics</a></li>..... |
| 4480 | 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 | ....<li><a.id="toc-usingnamespac |
| 44a0 | 65 22 20 68 72 65 66 3d 22 23 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 75 73 69 6e 67 6e | e".href="#usingnamespace">usingn |
| 44c0 | 61 6d 65 73 70 61 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 | amespace</a></li>.........<li><a |
| 44e0 | 20 69 64 3d 22 74 6f 63 2d 63 6f 6d 70 74 69 6d 65 22 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 | .id="toc-comptime".href="#compti |
| 4500 | 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 | me">comptime</a>.........<ul>... |
| 4520 | 20 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 74 72 6f 64 75 | ..........<li><a.id="toc-Introdu |
| 4540 | 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 20 68 | cing-the-Compile-Time-Concept".h |
| 4560 | 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 6c 65 2d 54 69 | ref="#Introducing-the-Compile-Ti |
| 4580 | 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 |
| 45a0 | 69 6c 65 2d 54 69 6d 65 20 43 6f 6e 63 65 70 74 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 20 20 20 | ile-Time.Concept</a>............ |
| 45c0 | 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d | .<ul>.................<li><a.id= |
| 45e0 | 22 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 20 68 72 | "toc-Compile-Time-Parameters".hr |
| 4600 | 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 43 6f | ef="#Compile-Time-Parameters">Co |
| 4620 | 6d 70 69 6c 65 2d 54 69 6d 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 | mpile-Time.Parameters</a></li>.. |
| 4640 | 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 |
| 4660 | 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 20 68 72 65 66 3d 22 23 43 6f 6d | mpile-Time-Variables".href="#Com |
| 4680 | 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d | pile-Time-Variables">Compile-Tim |
| 46a0 | 65 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 | e.Variables</a></li>............ |
| 46c0 | 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 | .....<li><a.id="toc-Compile-Time |
| 46e0 | 2d 45 78 70 72 65 73 73 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d | -Expressions".href="#Compile-Tim |
| 4700 | 65 2d 45 78 70 72 65 73 73 69 6f 6e 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 45 78 70 72 | e-Expressions">Compile-Time.Expr |
| 4720 | 65 73 73 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 | essions</a></li>.............</u |
| 4740 | 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 3d 22 74 | l></li>.............<li><a.id="t |
| 4760 | 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 20 68 72 65 66 | oc-Generic-Data-Structures".href |
| 4780 | 3d 22 23 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 3e 47 65 6e 65 | ="#Generic-Data-Structures">Gene |
| 47a0 | 72 69 63 20 44 61 74 61 20 53 74 72 75 63 74 75 72 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 | ric.Data.Structures</a></li>.... |
| 47c0 | 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 65 2d 53 74 75 | .........<li><a.id="toc-Case-Stu |
| 47e0 | 64 79 2d 70 72 69 6e 74 66 2d 69 6e 2d 5a 69 67 22 20 68 72 65 66 3d 22 23 43 61 73 65 2d 53 74 | dy-printf-in-Zig".href="#Case-St |
| 4800 | 75 64 79 2d 70 72 69 6e 74 66 2d 69 6e 2d 5a 69 67 22 3e 43 61 73 65 20 53 74 75 64 79 3a 20 70 | udy-printf-in-Zig">Case.Study:.p |
| 4820 | 72 69 6e 74 66 20 69 6e 20 5a 69 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f | rintf.in.Zig</a></li>.........</ |
| 4840 | 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 2d | ul></li>.........<li><a.id="toc- |
| 4860 | 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 22 3e 41 73 73 65 6d | Assembly".href="#Assembly">Assem |
| 4880 | 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 20 | bly</a>.........<ul>............ |
| 48a0 | 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 6e 73 74 72 61 69 6e | .<li><a.id="toc-Output-Constrain |
| 48c0 | 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 69 6e 74 73 22 3e 4f | ts".href="#Output-Constraints">O |
| 48e0 | 75 74 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | utput.Constraints</a></li>...... |
| 4900 | 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 70 75 74 2d 43 6f 6e 73 | .......<li><a.id="toc-Input-Cons |
| 4920 | 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 73 74 72 61 69 6e 74 | traints".href="#Input-Constraint |
| 4940 | 73 22 3e 49 6e 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 | s">Input.Constraints</a></li>... |
| 4960 | 20 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 6c 6f 62 62 65 72 | ..........<li><a.id="toc-Clobber |
| 4980 | 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 65 72 73 3c 2f 61 3e | s".href="#Clobbers">Clobbers</a> |
| 49a0 | 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 |
| 49c0 | 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 47 6c 6f 62 61 6c 2d | -Global-Assembly".href="#Global- |
| 49e0 | 41 73 73 65 6d 62 6c 79 22 3e 47 6c 6f 62 61 6c 20 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 3c 2f 6c | Assembly">Global.Assembly</a></l |
| 4a00 | 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 |
| 4a20 | 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 6f 6d 69 63 73 22 20 68 72 65 66 3d 22 23 41 74 6f | i><a.id="toc-Atomics".href="#Ato |
| 4a40 | 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 20 20 20 20 20 20 3c | mics">Atomics</a></li>.........< |
| 4a60 | 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 69 6f 6e 73 22 20 68 | li><a.id="toc-Async-Functions".h |
| 4a80 | 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 79 6e 63 20 46 75 6e | ref="#Async-Functions">Async.Fun |
| 4aa0 | 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 20 20 20 20 20 20 20 | ctions</a>.........<ul>......... |
| 4ac0 | 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 64 2d 61 6e 64 2d 52 | ....<li><a.id="toc-Suspend-and-R |
| 4ae0 | 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 2d 52 65 73 75 6d 65 | esume".href="#Suspend-and-Resume |
| 4b00 | 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 20 20 20 20 20 20 20 | ">Suspend.and.Resume</a>........ |
| 4b20 | 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 61 | .....<ul>.................<li><a |
| 4b40 | 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 73 70 65 6e 64 2d 42 | .id="toc-Resuming-from-Suspend-B |
| 4b60 | 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 6f 6d 2d 53 75 73 70 | locks".href="#Resuming-from-Susp |
| 4b80 | 65 6e 64 2d 42 6c 6f 63 6b 73 22 3e 52 65 73 75 6d 69 6e 67 20 66 72 6f 6d 20 53 75 73 70 65 6e | end-Blocks">Resuming.from.Suspen |
| 4ba0 | 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 20 20 20 20 20 3c 2f | d.Blocks</a></li>.............</ |
| 4bc0 | 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 3d 22 | ul></li>.............<li><a.id=" |
| 4be0 | 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 3d 22 23 41 73 79 6e | toc-Async-and-Await".href="#Asyn |
| 4c00 | 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> |
| 4c20 | 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 |
| 4c40 | 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 68 72 65 66 3d 22 23 | -Async-Function-Example".href="# |
| 4c60 | 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 |
| 4c80 | 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 20 20 20 20 20 20 20 | nction.Example</a></li>......... |
| 4ca0 | 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 |
| 4cc0 | 63 2d 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 42 75 69 6c | c-Builtin-Functions".href="#Buil |
| 4ce0 | 74 69 6e 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 46 75 6e 63 74 69 6f 6e 73 | tin-Functions">Builtin.Functions |
| 4d00 | 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 6f 6c 75 6d 6e 73 3a | </a>.........<ul.style="columns: |
| 4d20 | 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 64 3d 22 74 6f 63 2d | .2">.............<li><a.id="toc- |
| 4d40 | 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f | addWithOverflow".href="#addWithO |
| 4d60 | 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c | verflow">@addWithOverflow</a></l |
| 4d80 | 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 6c | i>.............<li><a.id="toc-al |
| 4da0 | 69 67 6e 43 61 73 74 22 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c 69 67 | ignCast".href="#alignCast">@alig |
| 4dc0 | 6e 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c | nCast</a></li>.............<li>< |
| 4de0 | 61 20 69 64 3d 22 74 6f 63 2d 61 6c 69 67 6e 4f 66 22 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 4f | a.id="toc-alignOf".href="#alignO |
| 4e00 | 66 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 | f">@alignOf</a></li>............ |
| 4e20 | 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 73 22 20 68 72 65 66 3d 22 23 61 73 22 3e 40 | .<li><a.id="toc-as".href="#as">@ |
| 4e40 | 61 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 | as</a></li>.............<li><a.i |
| 4e60 | 64 3d 22 74 6f 63 2d 61 73 79 6e 63 43 61 6c 6c 22 20 68 72 65 66 3d 22 23 61 73 79 6e 63 43 61 | d="toc-asyncCall".href="#asyncCa |
| 4e80 | 6c 6c 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | ll">@asyncCall</a></li>......... |
| 4ea0 | 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 74 6f 6d 69 63 4c 6f 61 64 22 20 68 | ....<li><a.id="toc-atomicLoad".h |
| 4ec0 | 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 | ref="#atomicLoad">@atomicLoad</a |
| 4ee0 | 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 |
| 4f00 | 63 2d 61 74 6f 6d 69 63 52 6d 77 22 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e 40 | c-atomicRmw".href="#atomicRmw">@ |
| 4f20 | 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c | atomicRmw</a></li>.............< |
| 4f40 | 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 61 74 6f 6d 69 63 53 74 6f 72 65 22 20 68 72 65 66 3d | li><a.id="toc-atomicStore".href= |
| 4f60 | 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 3c | "#atomicStore">@atomicStore</a>< |
| 4f80 | 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- |
| 4fa0 | 62 69 74 43 61 73 74 22 20 68 72 65 66 3d 22 23 62 69 74 43 61 73 74 22 3e 40 62 69 74 43 61 73 | bitCast".href="#bitCast">@bitCas |
| 4fc0 | 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 |
| 4fe0 | 3d 22 74 6f 63 2d 62 69 74 4f 66 66 73 65 74 4f 66 22 20 68 72 65 66 3d 22 23 62 69 74 4f 66 66 | ="toc-bitOffsetOf".href="#bitOff |
| 5000 | 73 65 74 4f 66 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 | setOf">@bitOffsetOf</a></li>.... |
| 5020 | 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 6f 6f 6c 54 6f 49 6e | .........<li><a.id="toc-boolToIn |
| 5040 | 74 22 20 68 72 65 66 3d 22 23 62 6f 6f 6c 54 6f 49 6e 74 22 3e 40 62 6f 6f 6c 54 6f 49 6e 74 3c | t".href="#boolToInt">@boolToInt< |
| 5060 | 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=" |
| 5080 | 74 6f 63 2d 62 69 74 53 69 7a 65 4f 66 22 20 68 72 65 66 3d 22 23 62 69 74 53 69 7a 65 4f 66 22 | toc-bitSizeOf".href="#bitSizeOf" |
| 50a0 | 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 | >@bitSizeOf</a></li>............ |
| 50c0 | 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 62 72 65 61 6b 70 6f 69 6e 74 22 20 68 72 65 66 | .<li><a.id="toc-breakpoint".href |
| 50e0 | 3d 22 23 62 72 65 61 6b 70 6f 69 6e 74 22 3e 40 62 72 65 61 6b 70 6f 69 6e 74 3c 2f 61 3e 3c 2f | ="#breakpoint">@breakpoint</a></ |
| 5100 | 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6d | li>.............<li><a.id="toc-m |
| 5120 | 75 6c 41 64 64 22 20 68 72 65 66 3d 22 23 6d 75 6c 41 64 64 22 3e 40 6d 75 6c 41 64 64 3c 2f 61 | ulAdd".href="#mulAdd">@mulAdd</a |
| 5140 | 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 |
| 5160 | 63 2d 62 79 74 65 53 77 61 70 22 20 68 72 65 66 3d 22 23 62 79 74 65 53 77 61 70 22 3e 40 62 79 | c-byteSwap".href="#byteSwap">@by |
| 5180 | 74 65 53 77 61 70 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e | teSwap</a></li>.............<li> |
| 51a0 | 3c 61 20 69 64 3d 22 74 6f 63 2d 62 69 74 52 65 76 65 72 73 65 22 20 68 72 65 66 3d 22 23 62 69 | <a.id="toc-bitReverse".href="#bi |
| 51c0 | 74 52 65 76 65 72 73 65 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 | tReverse">@bitReverse</a></li>.. |
| 51e0 | 20 20 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 79 74 65 4f 66 | ...........<li><a.id="toc-byteOf |
| 5200 | 66 73 65 74 4f 66 22 20 68 72 65 66 3d 22 23 62 79 74 65 4f 66 66 73 65 74 4f 66 22 3e 40 62 79 | fsetOf".href="#byteOffsetOf">@by |
| 5220 | 74 65 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | teOffsetOf</a></li>............. |
| 5240 | 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 61 6c 6c 22 20 68 72 65 66 3d 22 23 63 61 6c 6c | <li><a.id="toc-call".href="#call |
| 5260 | 22 3e 40 63 61 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 | ">@call</a></li>.............<li |
| 5280 | 3e 3c 61 20 69 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 | ><a.id="toc-cDefine".href="#cDef |
| 52a0 | 69 6e 65 22 3e 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 | ine">@cDefine</a></li>.......... |
| 52c0 | 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 22 20 68 72 65 66 3d | ...<li><a.id="toc-cImport".href= |
| 52e0 | 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 | "#cImport">@cImport</a></li>.... |
| 5300 | 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 49 6e 63 6c 75 64 65 | .........<li><a.id="toc-cInclude |
| 5320 | 22 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e | ".href="#cInclude">@cInclude</a> |
| 5340 | 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 |
| 5360 | 2d 63 6c 7a 22 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 | -clz".href="#clz">@clz</a></li>. |
| 5380 | 20 20 20 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 6d 70 78 63 | ............<li><a.id="toc-cmpxc |
| 53a0 | 68 67 53 74 72 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 | hgStrong".href="#cmpxchgStrong"> |
| 53c0 | 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | @cmpxchgStrong</a></li>......... |
| 53e0 | 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6d 70 78 63 68 67 57 65 61 6b 22 20 | ....<li><a.id="toc-cmpxchgWeak". |
| 5400 | 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b | href="#cmpxchgWeak">@cmpxchgWeak |
| 5420 | 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= |
| 5440 | 22 74 6f 63 2d 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 20 68 72 65 66 3d 22 23 63 6f 6d 70 69 6c | "toc-compileError".href="#compil |
| 5460 | 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 | eError">@compileError</a></li>.. |
| 5480 | 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 6d 70 69 6c | ...........<li><a.id="toc-compil |
| 54a0 | 65 4c 6f 67 22 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 | eLog".href="#compileLog">@compil |
| 54c0 | 65 4c 6f 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 | eLog</a></li>.............<li><a |
| 54e0 | 20 69 64 3d 22 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 | .id="toc-ctz".href="#ctz">@ctz</ |
| 5500 | 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 |
| 5520 | 6f 63 2d 63 55 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 | oc-cUndef".href="#cUndef">@cUnde |
| 5540 | 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 | f</a></li>.............<li><a.id |
| 5560 | 3d 22 74 6f 63 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 | ="toc-divExact".href="#divExact" |
| 5580 | 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | >@divExact</a></li>............. |
| 55a0 | 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 64 69 76 46 6c 6f 6f 72 22 20 68 72 65 66 3d 22 23 | <li><a.id="toc-divFloor".href="# |
| 55c0 | 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 | divFloor">@divFloor</a></li>.... |
| 55e0 | 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 64 69 76 54 72 75 6e 63 | .........<li><a.id="toc-divTrunc |
| 5600 | 22 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 | ".href="#divTrunc">@divTrunc</a> |
| 5620 | 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 |
| 5640 | 2d 65 6d 62 65 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 | -embedFile".href="#embedFile">@e |
| 5660 | 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c | mbedFile</a></li>.............<l |
| 5680 | 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 6e 75 6d 54 6f 49 6e 74 22 20 68 72 65 66 3d 22 23 65 | i><a.id="toc-enumToInt".href="#e |
| 56a0 | 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 69 3e 0a 20 20 | numToInt">@enumToInt</a></li>... |
| 56c0 | 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 65 72 72 6f 72 4e 61 | ..........<li><a.id="toc-errorNa |
| 56e0 | 6d 65 22 20 68 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 | me".href="#errorName">@errorName |
| 5700 | 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= |
| 5720 | 22 74 6f 63 2d 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 20 68 72 65 66 3d 22 23 65 72 | "toc-errorReturnTrace".href="#er |
| 5740 | 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 63 | rorReturnTrace">@errorReturnTrac |
| 5760 | 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 |
| 5780 | 3d 22 74 6f 63 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 | ="toc-errorToInt".href="#errorTo |
| 57a0 | 49 6e 74 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 | Int">@errorToInt</a></li>....... |
| 57c0 | 20 20 20 20 20 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 | ......<li><a.id="toc-errSetCast" |
| 57e0 | 20 68 72 65 66 3d 22 23 65 72 72 53 65 74 43 61 73 74 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c | .href="#errSetCast">@errSetCast< |
| 5800 | 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=" |
| 5820 | 74 6f 63 2d 65 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 | toc-export".href="#export">@expo |
| 5840 | 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 | rt</a></li>.............<li><a.i |
| 5860 | 64 3d 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 | d="toc-fence".href="#fence">@fen |
| 5880 | 63 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 | ce</a></li>.............<li><a.i |
| 58a0 | 64 3d 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 | d="toc-field".href="#field">@fie |
| 58c0 | 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 3c 61 20 69 | ld</a></li>.............<li><a.i |
| 58e0 | 64 3d 22 74 6f 63 2d 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 20 68 72 65 66 3d 22 23 66 69 | d="toc-fieldParentPtr".href="#fi |
| 5900 | 65 6c 64 50 61 72 65 6e 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 61 | eldParentPtr">@fieldParentPtr</a |
| 5920 | 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 |
| 5940 | 63 2d 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 | c-floatCast".href="#floatCast">@ |
| 5960 | 66 6c 6f 61 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c | floatCast</a></li>.............< |
| 5980 | 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6c 6f 61 74 54 6f 49 6e 74 22 20 68 72 65 66 3d 22 | li><a.id="toc-floatToInt".href=" |
| 59a0 | 23 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 74 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 | #floatToInt">@floatToInt</a></li |
| 59c0 | 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 72 61 | >.............<li><a.id="toc-fra |
| 59e0 | 6d 65 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 | me".href="#frame">@frame</a></li |
| 5a00 | 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 46 72 61 | >.............<li><a.id="toc-Fra |
| 5a20 | 6d 65 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 | me".href="#Frame">@Frame</a></li |
| 5a40 | 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 72 61 | >.............<li><a.id="toc-fra |
| 5a60 | 6d 65 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 | meAddress".href="#frameAddress"> |
| 5a80 | 40 66 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 | @frameAddress</a></li>.......... |
| 5aa0 | 20 20 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 | ...<li><a.id="toc-frameSize".hre |
| 5ac0 | 66 3d 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 | f="#frameSize">@frameSize</a></l |
| 5ae0 | 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 68 61 | i>.............<li><a.id="toc-ha |
| 5b00 | 73 44 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 | sDecl".href="#hasDecl">@hasDecl< |
| 5b20 | 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=" |
| 5b40 | 74 6f 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 | toc-hasField".href="#hasField">@ |
| 5b60 | 68 61 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 | hasField</a></li>.............<l |
| 5b80 | 69 3e 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 | i><a.id="toc-import".href="#impo |
| 5ba0 | 72 74 22 3e 40 69 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 | rt">@import</a></li>............ |
| 5bc0 | 20 3c 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 | .<li><a.id="toc-intCast".href="# |
| 5be0 | 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | intCast">@intCast</a></li>...... |
| 5c00 | 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 69 6e 74 54 6f 45 6e 75 6d 22 | .......<li><a.id="toc-intToEnum" |
| 5c20 | 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 61 | .href="#intToEnum">@intToEnum</a |
| 5c40 | 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 |
| 5c60 | 63 2d 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 | c-intToError".href="#intToError" |
| 5c80 | 3e 40 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 | >@intToError</a></li>........... |
| 5ca0 | 20 20 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 | ..<li><a.id="toc-intToFloat".hre |
| 5cc0 | 66 3d 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 | f="#intToFloat">@intToFloat</a>< |
| 5ce0 | 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- |
| 5d00 | 69 6e 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 | intToPtr".href="#intToPtr">@intT |
| 5d20 | 6f 50 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 | oPtr</a></li>.............<li><a |
| 5d40 | 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 70 79 22 3e | .id="toc-memcpy".href="#memcpy"> |
| 5d60 | 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 20 3c 6c 69 | @memcpy</a></li>.............<li |
| 5d80 | 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 65 6d 73 65 | ><a.id="toc-memset".href="#memse |
| 5da0 | 74 22 3e 40 6d 65 6d 73 65 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | t">@memset</a></li>............. |
| 5dc0 | 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"> |
| 5de0 | 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 |
| 5e00 | 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=" |
| 5e20 | 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 |
| 5e40 | 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 |
| 5e60 | 64 3d 22 74 6f 63 2d 4f 70 61 71 75 65 54 79 70 65 22 20 68 72 65 66 3d 22 23 4f 70 61 71 75 65 | d="toc-OpaqueType".href="#Opaque |
| 5e80 | 54 79 70 65 22 3e 40 4f 70 61 71 75 65 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | Type">@OpaqueType</a></li>...... |
| 5ea0 | 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 61 6e 69 63 22 20 68 72 65 | .......<li><a.id="toc-panic".hre |
| 5ec0 | 66 3d 22 23 70 61 6e 69 63 22 3e 40 70 61 6e 69 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | f="#panic">@panic</a></li>...... |
| 5ee0 | 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 70 6f 70 43 6f 75 6e 74 22 20 | .......<li><a.id="toc-popCount". |
| 5f00 | 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 3c 2f | href="#popCount">@popCount</a></ |
| 5f20 | 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 |
| 5f40 | 74 72 43 61 73 74 22 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 74 | trCast".href="#ptrCast">@ptrCast |
| 5f60 | 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= |
| 5f80 | 22 74 6f 63 2d 70 74 72 54 6f 49 6e 74 22 20 68 72 65 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e | "toc-ptrToInt".href="#ptrToInt"> |
| 5fa0 | 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c | @ptrToInt</a></li>.............< |
| 5fc0 | 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 72 65 6d 22 20 68 72 65 66 3d 22 23 72 65 6d 22 3e 40 | li><a.id="toc-rem".href="#rem">@ |
| 5fe0 | 72 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 | rem</a></li>.............<li><a. |
| 6000 | 69 64 3d 22 74 6f 63 2d 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 20 68 72 65 66 3d 22 23 72 65 | id="toc-returnAddress".href="#re |
| 6020 | 74 75 72 6e 41 64 64 72 65 73 73 22 3e 40 72 65 74 75 72 6e 41 64 64 72 65 73 73 3c 2f 61 3e 3c | turnAddress">@returnAddress</a>< |
| 6040 | 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- |
| 6060 | 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 20 68 72 65 66 3d 22 23 73 65 74 41 6c 69 67 6e 53 74 | setAlignStack".href="#setAlignSt |
| 6080 | 61 63 6b 22 3e 40 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 | ack">@setAlignStack</a></li>.... |
| 60a0 | 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 43 6f 6c 64 22 | .........<li><a.id="toc-setCold" |
| 60c0 | 20 68 72 65 66 3d 22 23 73 65 74 43 6f 6c 64 22 3e 40 73 65 74 43 6f 6c 64 3c 2f 61 3e 3c 2f 6c | .href="#setCold">@setCold</a></l |
| 60e0 | 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 | i>.............<li><a.id="toc-se |
| 6100 | 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 20 68 72 65 66 3d 22 23 73 65 74 45 76 61 6c | tEvalBranchQuota".href="#setEval |
| 6120 | 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 | BranchQuota">@setEvalBranchQuota |
| 6140 | 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= |
| 6160 | 22 74 6f 63 2d 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 20 68 72 65 66 3d 22 23 73 65 74 46 6c 6f | "toc-setFloatMode".href="#setFlo |
| 6180 | 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 | atMode">@setFloatMode</a></li>.. |
| 61a0 | 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 65 74 52 75 6e | ...........<li><a.id="toc-setRun |
| 61c0 | 74 69 6d 65 53 61 66 65 74 79 22 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 | timeSafety".href="#setRuntimeSaf |
| 61e0 | 65 74 79 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 3c 2f 6c 69 3e 0a | ety">@setRuntimeSafety</a></li>. |
| 6200 | 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 68 6c 45 78 | ............<li><a.id="toc-shlEx |
| 6220 | 61 63 74 22 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c | act".href="#shlExact">@shlExact< |
| 6240 | 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=" |
| 6260 | 74 6f 63 2d 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 23 73 68 6c 57 | toc-shlWithOverflow".href="#shlW |
| 6280 | 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 | ithOverflow">@shlWithOverflow</a |
| 62a0 | 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 |
| 62c0 | 63 2d 73 68 72 45 78 61 63 74 22 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 22 3e 40 73 68 | c-shrExact".href="#shrExact">@sh |
| 62e0 | 72 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e | rExact</a></li>.............<li> |
| 6300 | 3c 61 20 69 64 3d 22 74 6f 63 2d 73 68 75 66 66 6c 65 22 20 68 72 65 66 3d 22 23 73 68 75 66 66 | <a.id="toc-shuffle".href="#shuff |
| 6320 | 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 | le">@shuffle</a></li>........... |
| 6340 | 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 69 7a 65 4f 66 22 20 68 72 65 66 3d 22 23 | ..<li><a.id="toc-sizeOf".href="# |
| 6360 | 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 | sizeOf">@sizeOf</a></li>........ |
| 6380 | 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 70 6c 61 74 22 20 68 72 65 66 3d | .....<li><a.id="toc-splat".href= |
| 63a0 | 22 23 73 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 | "#splat">@splat</a></li>........ |
| 63c0 | 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 71 72 74 22 20 68 72 65 66 3d 22 | .....<li><a.id="toc-sqrt".href=" |
| 63e0 | 23 73 71 72 74 22 3e 40 73 71 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 | #sqrt">@sqrt</a></li>........... |
| 6400 | 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 69 6e 22 20 68 72 65 66 3d 22 23 73 69 6e | ..<li><a.id="toc-sin".href="#sin |
| 6420 | 22 3e 40 73 69 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e | ">@sin</a></li>.............<li> |
| 6440 | 3c 61 20 69 64 3d 22 74 6f 63 2d 63 6f 73 22 20 68 72 65 66 3d 22 23 63 6f 73 22 3e 40 63 6f 73 | <a.id="toc-cos".href="#cos">@cos |
| 6460 | 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= |
| 6480 | 22 74 6f 63 2d 65 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 | "toc-exp".href="#exp">@exp</a></ |
| 64a0 | 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 |
| 64c0 | 78 70 32 22 20 68 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 | xp2".href="#exp2">@exp2</a></li> |
| 64e0 | 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 6c 6f 67 22 | .............<li><a.id="toc-log" |
| 6500 | 20 68 72 65 66 3d 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 | .href="#log">@log</a></li>...... |
| 6520 | 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 32 22 20 68 72 65 66 | .......<li><a.id="toc-log2".href |
| 6540 | 3d 22 23 6c 6f 67 32 22 3e 40 6c 6f 67 32 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | ="#log2">@log2</a></li>......... |
| 6560 | 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 6c 6f 67 31 30 22 20 68 72 65 66 3d 22 | ....<li><a.id="toc-log10".href=" |
| 6580 | 23 6c 6f 67 31 30 22 3e 40 6c 6f 67 31 30 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | #log10">@log10</a></li>......... |
| 65a0 | 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 61 62 73 22 20 68 72 65 66 3d 22 23 | ....<li><a.id="toc-fabs".href="# |
| 65c0 | 66 61 62 73 22 3e 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 | fabs">@fabs</a></li>............ |
| 65e0 | 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 66 6c 6f 6f 72 22 20 68 72 65 66 3d 22 23 66 6c | .<li><a.id="toc-floor".href="#fl |
| 6600 | 6f 6f 72 22 3e 40 66 6c 6f 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 | oor">@floor</a></li>............ |
| 6620 | 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 63 65 69 6c 22 20 68 72 65 66 3d 22 23 63 65 69 | .<li><a.id="toc-ceil".href="#cei |
| 6640 | 6c 22 3e 40 63 65 69 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c | l">@ceil</a></li>.............<l |
| 6660 | 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 75 6e 63 22 20 68 72 65 66 3d 22 23 74 72 75 6e 63 | i><a.id="toc-trunc".href="#trunc |
| 6680 | 22 3e 40 74 72 75 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 | ">@trunc</a></li>.............<l |
| 66a0 | 69 3e 3c 61 20 69 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 | i><a.id="toc-round".href="#round |
| 66c0 | 22 3e 40 72 6f 75 6e 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c | ">@round</a></li>.............<l |
| 66e0 | 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 20 68 72 | i><a.id="toc-subWithOverflow".hr |
| 6700 | 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 75 62 57 69 74 68 4f 76 | ef="#subWithOverflow">@subWithOv |
| 6720 | 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 3c 6c 69 3e | erflow</a></li>.............<li> |
| 6740 | 3c 61 20 69 64 3d 22 74 6f 63 2d 74 61 67 4e 61 6d 65 22 20 68 72 65 66 3d 22 23 74 61 67 4e 61 | <a.id="toc-tagName".href="#tagNa |
| 6760 | 6d 65 22 3e 40 74 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 | me">@tagName</a></li>........... |
| 6780 | 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 61 67 54 79 70 65 22 20 68 72 65 66 3d 22 | ..<li><a.id="toc-TagType".href=" |
| 67a0 | 23 54 61 67 54 79 70 65 22 3e 40 54 61 67 54 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 | #TagType">@TagType</a></li>..... |
| 67c0 | 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 69 73 22 20 68 72 65 | ........<li><a.id="toc-This".hre |
| 67e0 | 66 3d 22 23 54 68 69 73 22 3e 40 54 68 69 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 | f="#This">@This</a></li>........ |
| 6800 | 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 72 75 6e 63 61 74 65 22 20 68 72 | .....<li><a.id="toc-truncate".hr |
| 6820 | 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 3c 2f 6c 69 | ef="#truncate">@truncate</a></li |
| 6840 | 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 | >.............<li><a.id="toc-Typ |
| 6860 | 65 22 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 20 | e".href="#Type">@Type</a></li>.. |
| 6880 | 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 74 79 70 65 49 6e | ...........<li><a.id="toc-typeIn |
| 68a0 | 66 6f 22 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 | fo".href="#typeInfo">@typeInfo</ |
| 68c0 | 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 |
| 68e0 | 6f 63 2d 74 79 70 65 4e 61 6d 65 22 20 68 72 65 66 3d 22 23 74 79 70 65 4e 61 6d 65 22 3e 40 74 | oc-typeName".href="#typeName">@t |
| 6900 | 79 70 65 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 | ypeName</a></li>.............<li |
| 6920 | 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 79 70 65 4f 66 22 20 68 72 65 66 3d 22 23 54 79 70 65 4f | ><a.id="toc-TypeOf".href="#TypeO |
| 6940 | 66 22 3e 40 54 79 70 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | f">@TypeOf</a></li>............. |
| 6960 | 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 75 6e 69 6f 6e 49 6e 69 74 22 20 68 72 65 66 3d 22 | <li><a.id="toc-unionInit".href=" |
| 6980 | 23 75 6e 69 6f 6e 49 6e 69 74 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a | #unionInit">@unionInit</a></li>. |
| 69a0 | 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 56 65 63 74 6f | ............<li><a.id="toc-Vecto |
| 69c0 | 72 22 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 22 3e 40 56 65 63 74 6f 72 3c 2f 61 3e 3c 2f 6c | r".href="#Vector">@Vector</a></l |
| 69e0 | 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 |
| 6a00 | 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 42 75 69 6c 64 2d 4d 6f 64 65 22 20 68 72 65 66 3d 22 23 | i><a.id="toc-Build-Mode".href="# |
| 6a20 | 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c 2f 61 3e 0a 20 20 20 20 20 | Build-Mode">Build.Mode</a>...... |
| 6a40 | 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 |
| 6a60 | 6f 63 2d 44 65 62 75 67 22 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 | oc-Debug".href="#Debug">Debug</a |
| 6a80 | 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 |
| 6aa0 | 63 2d 52 65 6c 65 61 73 65 46 61 73 74 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 | c-ReleaseFast".href="#ReleaseFas |
| 6ac0 | 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | t">ReleaseFast</a></li>......... |
| 6ae0 | 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 6c 65 61 73 65 53 61 66 65 22 20 | ....<li><a.id="toc-ReleaseSafe". |
| 6b00 | 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c | href="#ReleaseSafe">ReleaseSafe< |
| 6b20 | 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=" |
| 6b40 | 74 6f 63 2d 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 | toc-ReleaseSmall".href="#Release |
| 6b60 | 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 3e 0a 20 20 20 | Small">ReleaseSmall</a></li>.... |
| 6b80 | 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 |
| 6ba0 | 64 3d 22 74 6f 63 2d 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 20 68 | d="toc-Single-Threaded-Builds".h |
| 6bc0 | 72 65 66 3d 22 23 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 22 3e 53 69 | ref="#Single-Threaded-Builds">Si |
| 6be0 | 6e 67 6c 65 20 54 68 72 65 61 64 65 64 20 42 75 69 6c 64 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 | ngle.Threaded.Builds</a></li>... |
| 6c00 | 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 55 6e 64 65 66 69 6e 65 64 2d 42 | ......<li><a.id="toc-Undefined-B |
| 6c20 | 65 68 61 76 69 6f 72 22 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 | ehavior".href="#Undefined-Behavi |
| 6c40 | 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 0a 20 20 20 20 20 | or">Undefined.Behavior</a>...... |
| 6c60 | 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 |
| 6c80 | 6f 63 2d 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 20 68 72 | oc-Reaching-Unreachable-Code".hr |
| 6ca0 | 65 66 3d 22 23 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e | ef="#Reaching-Unreachable-Code"> |
| 6cc0 | 52 65 61 63 68 69 6e 67 20 55 6e 72 65 61 63 68 61 62 6c 65 20 43 6f 64 65 3c 2f 61 3e 3c 2f 6c | Reaching.Unreachable.Code</a></l |
| 6ce0 | 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 6e | i>.............<li><a.id="toc-In |
| 6d00 | 64 65 78 2d 6f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 22 20 68 72 65 66 3d 22 23 49 6e 64 65 78 2d | dex-out-of-Bounds".href="#Index- |
| 6d20 | 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 75 6e | out-of-Bounds">Index.out.of.Boun |
| 6d40 | 64 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 | ds</a></li>.............<li><a.i |
| 6d60 | 64 3d 22 74 6f 63 2d 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 | d="toc-Cast-Negative-Number-to-U |
| 6d80 | 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 20 68 72 65 66 3d 22 23 43 61 73 74 2d 4e 65 67 | nsigned-Integer".href="#Cast-Neg |
| 6da0 | 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 |
| 6dc0 | 22 3e 43 61 73 74 20 4e 65 67 61 74 69 76 65 20 4e 75 6d 62 65 72 20 74 6f 20 55 6e 73 69 67 6e | ">Cast.Negative.Number.to.Unsign |
| 6de0 | 65 64 20 49 6e 74 65 67 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ed.Integer</a></li>............. |
| 6e00 | 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 | <li><a.id="toc-Cast-Truncates-Da |
| 6e20 | 74 61 22 20 68 72 65 66 3d 22 23 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 2d 44 61 74 61 22 3e | ta".href="#Cast-Truncates-Data"> |
| 6e40 | 43 61 73 74 20 54 72 75 6e 63 61 74 65 73 20 44 61 74 61 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 | Cast.Truncates.Data</a></li>.... |
| 6e60 | 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 74 65 67 65 72 2d | .........<li><a.id="toc-Integer- |
| 6e80 | 4f 76 65 72 66 6c 6f 77 22 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f | Overflow".href="#Integer-Overflo |
| 6ea0 | 77 22 3e 49 6e 74 65 67 65 72 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 | w">Integer.Overflow</a>......... |
| 6ec0 | 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 61 20 | ....<ul>.................<li><a. |
| 6ee0 | 69 64 3d 22 74 6f 63 2d 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 20 68 72 65 66 | id="toc-Default-Operations".href |
| 6f00 | 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 44 65 66 61 75 6c 74 20 4f | ="#Default-Operations">Default.O |
| 6f20 | 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | perations</a></li>.............. |
| 6f40 | 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 74 61 6e 64 61 72 64 2d 4c 69 62 72 61 | ...<li><a.id="toc-Standard-Libra |
| 6f60 | 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 23 53 74 61 6e 64 61 | ry-Math-Functions".href="#Standa |
| 6f80 | 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 53 74 61 6e 64 | rd-Library-Math-Functions">Stand |
| 6fa0 | 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 2f 61 3e 3c 2f | ard.Library.Math.Functions</a></ |
| 6fc0 | 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 |
| 6fe0 | 6f 63 2d 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 20 68 | oc-Builtin-Overflow-Functions".h |
| 7000 | 72 65 66 3d 22 23 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 | ref="#Builtin-Overflow-Functions |
| 7020 | 22 3e 42 75 69 6c 74 69 6e 20 4f 76 65 72 66 6c 6f 77 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e | ">Builtin.Overflow.Functions</a> |
| 7040 | 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d | </li>.................<li><a.id= |
| 7060 | 22 74 6f 63 2d 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 20 68 72 65 66 3d 22 | "toc-Wrapping-Operations".href=" |
| 7080 | 23 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 57 72 61 70 70 69 6e 67 20 4f | #Wrapping-Operations">Wrapping.O |
| 70a0 | 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c | perations</a></li>.............< |
| 70c0 | 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 3d | /ul></li>.............<li><a.id= |
| 70e0 | 22 74 6f 63 2d 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 20 | "toc-Exact-Left-Shift-Overflow". |
| 7100 | 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 65 72 66 6c 6f 77 | href="#Exact-Left-Shift-Overflow |
| 7120 | 22 3e 45 78 61 63 74 20 4c 65 66 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c | ">Exact.Left.Shift.Overflow</a>< |
| 7140 | 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- |
| 7160 | 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 20 68 72 65 66 | Exact-Right-Shift-Overflow".href |
| 7180 | 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 45 | ="#Exact-Right-Shift-Overflow">E |
| 71a0 | 78 61 63 74 20 52 69 67 68 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c | xact.Right.Shift.Overflow</a></l |
| 71c0 | 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 69 | i>.............<li><a.id="toc-Di |
| 71e0 | 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d | vision-by-Zero".href="#Division- |
| 7200 | 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 3c 2f 6c | by-Zero">Division.by.Zero</a></l |
| 7220 | 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 65 | i>.............<li><a.id="toc-Re |
| 7240 | 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 20 68 72 65 66 3d 22 | mainder-Division-by-Zero".href=" |
| 7260 | 23 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 52 65 6d | #Remainder-Division-by-Zero">Rem |
| 7280 | 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e | ainder.Division.by.Zero</a></li> |
| 72a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 63 | .............<li><a.id="toc-Exac |
| 72c0 | 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 22 20 68 72 65 66 3d 22 23 45 78 61 | t-Division-Remainder".href="#Exa |
| 72e0 | 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 22 3e 45 78 61 63 74 20 44 69 76 | ct-Division-Remainder">Exact.Div |
| 7300 | 69 73 69 6f 6e 20 52 65 6d 61 69 6e 64 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 | ision.Remainder</a></li>........ |
| 7320 | 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 | .....<li><a.id="toc-Attempt-to-U |
| 7340 | 6e 77 72 61 70 2d 4e 75 6c 6c 22 20 68 72 65 66 3d 22 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e | nwrap-Null".href="#Attempt-to-Un |
| 7360 | 77 72 61 70 2d 4e 75 6c 6c 22 3e 41 74 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 61 70 20 4e 75 6c | wrap-Null">Attempt.to.Unwrap.Nul |
| 7380 | 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 64 | l</a></li>.............<li><a.id |
| 73a0 | 3d 22 74 6f 63 2d 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 20 68 | ="toc-Attempt-to-Unwrap-Error".h |
| 73c0 | 72 65 66 3d 22 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e 41 | ref="#Attempt-to-Unwrap-Error">A |
| 73e0 | 74 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 61 70 20 45 72 72 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a | ttempt.to.Unwrap.Error</a></li>. |
| 7400 | 20 20 20 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 76 61 6c | ............<li><a.id="toc-Inval |
| 7420 | 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 20 68 72 65 66 3d 22 23 49 6e 76 61 6c 69 64 2d 45 72 | id-Error-Code".href="#Invalid-Er |
| 7440 | 72 6f 72 2d 43 6f 64 65 22 3e 49 6e 76 61 6c 69 64 20 45 72 72 6f 72 20 43 6f 64 65 3c 2f 61 3e | ror-Code">Invalid.Error.Code</a> |
| 7460 | 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 |
| 7480 | 2d 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 20 68 72 65 66 3d 22 23 49 6e 76 61 6c | -Invalid-Enum-Cast".href="#Inval |
| 74a0 | 69 64 2d 45 6e 75 6d 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 20 45 6e 75 6d 20 43 61 73 74 3c | id-Enum-Cast">Invalid.Enum.Cast< |
| 74c0 | 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=" |
| 74e0 | 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 20 68 72 65 66 | toc-Invalid-Error-Set-Cast".href |
| 7500 | 3d 22 23 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 3e 49 6e 76 61 6c | ="#Invalid-Error-Set-Cast">Inval |
| 7520 | 69 64 20 45 72 72 6f 72 20 53 65 74 20 43 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | id.Error.Set.Cast</a></li>...... |
| 7540 | 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6e 63 6f 72 72 65 63 74 2d | .......<li><a.id="toc-Incorrect- |
| 7560 | 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 20 68 72 65 66 3d 22 23 49 6e 63 6f 72 72 | Pointer-Alignment".href="#Incorr |
| 7580 | 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 49 6e 63 6f 72 72 65 63 74 | ect-Pointer-Alignment">Incorrect |
| 75a0 | 20 50 6f 69 6e 74 65 72 20 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 | .Pointer.Alignment</a></li>..... |
| 75c0 | 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 72 6f 6e 67 2d 55 6e 69 | ........<li><a.id="toc-Wrong-Uni |
| 75e0 | 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 20 68 72 65 66 3d 22 23 57 72 6f 6e 67 2d 55 6e | on-Field-Access".href="#Wrong-Un |
| 7600 | 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e 57 72 6f 6e 67 20 55 6e 69 6f 6e 20 46 69 | ion-Field-Access">Wrong.Union.Fi |
| 7620 | 65 6c 64 20 41 63 63 65 73 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | eld.Access</a></li>............. |
| 7640 | 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 2d 46 6c 6f | <li><a.id="toc-Out-of-Bounds-Flo |
| 7660 | 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 61 73 74 22 20 68 72 65 66 3d 22 23 4f 75 74 2d 6f | at-to-Integer-Cast".href="#Out-o |
| 7680 | 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 22 3e | f-Bounds-Float-to-Integer-Cast"> |
| 76a0 | 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 20 43 | Out.of.Bounds.Float.to.Integer.C |
| 76c0 | 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 | ast</a></li>.............<li><a. |
| 76e0 | 69 64 3d 22 74 6f 63 2d 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c | id="toc-Pointer-Cast-Invalid-Nul |
| 7700 | 6c 22 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e | l".href="#Pointer-Cast-Invalid-N |
| 7720 | 75 6c 6c 22 3e 50 6f 69 6e 74 65 72 20 43 61 73 74 20 49 6e 76 61 6c 69 64 20 4e 75 6c 6c 3c 2f | ull">Pointer.Cast.Invalid.Null</ |
| 7740 | 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | a></li>.........</ul></li>...... |
| 7760 | 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4d 65 6d 6f 72 79 22 20 68 72 65 66 3d 22 | ...<li><a.id="toc-Memory".href=" |
| 7780 | 23 4d 65 6d 6f 72 79 22 3e 4d 65 6d 6f 72 79 3c 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e | #Memory">Memory</a>.........<ul> |
| 77a0 | 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 68 6f 6f | .............<li><a.id="toc-Choo |
| 77c0 | 73 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 20 68 72 65 66 3d 22 23 43 68 6f 6f 73 69 | sing-an-Allocator".href="#Choosi |
| 77e0 | 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 43 68 6f 6f 73 69 6e 67 20 61 6e 20 41 6c 6c | ng-an-Allocator">Choosing.an.All |
| 7800 | 6f 63 61 74 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 | ocator</a></li>.............<li> |
| 7820 | 3c 61 20 69 64 3d 22 74 6f 63 2d 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 20 | <a.id="toc-Where-are-the-bytes". |
| 7840 | 68 72 65 66 3d 22 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 57 68 65 72 | href="#Where-are-the-bytes">Wher |
| 7860 | 65 20 61 72 65 20 74 68 65 20 62 79 74 65 73 3f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 | e.are.the.bytes?</a></li>....... |
| 7880 | 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 49 6d 70 6c 65 6d 65 6e 74 69 6e | ......<li><a.id="toc-Implementin |
| 78a0 | 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 20 68 72 65 66 3d 22 23 49 6d 70 6c 65 6d 65 6e 74 | g-an-Allocator".href="#Implement |
| 78c0 | 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 67 20 61 | ing-an-Allocator">Implementing.a |
| 78e0 | 6e 20 41 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 | n.Allocator</a></li>............ |
| 7900 | 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d | .<li><a.id="toc-Heap-Allocation- |
| 7920 | 46 61 69 6c 75 72 65 22 20 68 72 65 66 3d 22 23 48 65 61 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d | Failure".href="#Heap-Allocation- |
| 7940 | 46 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 | Failure">Heap.Allocation.Failure |
| 7960 | 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= |
| 7980 | 22 74 6f 63 2d 52 65 63 75 72 73 69 6f 6e 22 20 68 72 65 66 3d 22 23 52 65 63 75 72 73 69 6f 6e | "toc-Recursion".href="#Recursion |
| 79a0 | 22 3e 52 65 63 75 72 73 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 | ">Recursion</a></li>............ |
| 79c0 | 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e | .<li><a.id="toc-Lifetime-and-Own |
| 79e0 | 65 72 73 68 69 70 22 20 68 72 65 66 3d 22 23 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 | ership".href="#Lifetime-and-Owne |
| 7a00 | 72 73 68 69 70 22 3e 4c 69 66 65 74 69 6d 65 20 61 6e 64 20 4f 77 6e 65 72 73 68 69 70 3c 2f 61 | rship">Lifetime.and.Ownership</a |
| 7a20 | 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>....... |
| 7a40 | 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c | ..<li><a.id="toc-Compile-Variabl |
| 7a60 | 65 73 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f | es".href="#Compile-Variables">Co |
| 7a80 | 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 20 20 20 20 20 20 20 | mpile.Variables</a></li>........ |
| 7aa0 | 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 | .<li><a.id="toc-Root-Source-File |
| 7ac0 | 22 20 68 72 65 66 3d 22 23 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 6c 65 22 3e 52 6f 6f 74 20 | ".href="#Root-Source-File">Root. |
| 7ae0 | 53 6f 75 72 63 65 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 | Source.File</a></li>.........<li |
| 7b00 | 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 69 67 2d 54 65 73 74 22 20 68 72 65 66 3d 22 23 5a 69 67 | ><a.id="toc-Zig-Test".href="#Zig |
| 7b20 | 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 20 20 20 | -Test">Zig.Test</a></li>........ |
| 7b40 | 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d | .<li><a.id="toc-Zig-Build-System |
| 7b60 | 22 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 42 | ".href="#Zig-Build-System">Zig.B |
| 7b80 | 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 | uild.System</a></li>.........<li |
| 7ba0 | 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 43 22 20 68 72 65 66 3d 22 23 43 22 3e 43 3c 2f 61 3e 0a 20 | ><a.id="toc-C".href="#C">C</a>.. |
| 7bc0 | 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 |
| 7be0 | 64 3d 22 74 6f 63 2d 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 20 68 72 65 66 3d 22 | d="toc-C-Type-Primitives".href=" |
| 7c00 | 23 43 2d 54 79 70 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e 43 20 54 79 70 65 20 50 72 69 6d 69 | #C-Type-Primitives">C.Type.Primi |
| 7c20 | 74 69 76 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 | tives</a></li>.............<li>< |
| 7c40 | 61 20 69 64 3d 22 74 6f 63 2d 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 | a.id="toc-Import-from-C-Header-F |
| 7c60 | 69 6c 65 22 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 | ile".href="#Import-from-C-Header |
| 7c80 | 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 | -File">Import.from.C.Header.File |
| 7ca0 | 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= |
| 7cc0 | 22 74 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 | "toc-C-Pointers".href="#C-Pointe |
| 7ce0 | 72 73 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 | rs">C.Pointers</a></li>......... |
| 7d00 | 20 20 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 | ....<li><a.id="toc-Exporting-a-C |
| 7d20 | 2d 4c 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 | -Library".href="#Exporting-a-C-L |
| 7d40 | 69 62 72 61 72 79 22 3e 45 78 70 6f 72 74 69 6e 67 20 61 20 43 20 4c 69 62 72 61 72 79 3c 2f 61 | ibrary">Exporting.a.C.Library</a |
| 7d60 | 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 |
| 7d80 | 63 2d 4d 69 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 20 68 72 65 66 3d 22 23 4d 69 | c-Mixing-Object-Files".href="#Mi |
| 7da0 | 78 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 3e 4d 69 78 69 6e 67 20 4f 62 6a 65 63 74 | xing-Object-Files">Mixing.Object |
| 7dc0 | 20 46 69 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c | .Files</a></li>.........</ul></l |
| 7de0 | 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 65 62 41 73 73 | i>.........<li><a.id="toc-WebAss |
| 7e00 | 65 6d 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 | embly".href="#WebAssembly">WebAs |
| 7e20 | 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 20 20 20 20 | sembly</a>.........<ul>......... |
| 7e40 | 20 20 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 | ....<li><a.id="toc-Freestanding" |
| 7e60 | 20 68 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 | .href="#Freestanding">Freestandi |
| 7e80 | 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 | ng</a></li>.............<li><a.i |
| 7ea0 | 64 3d 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 | d="toc-WASI".href="#WASI">WASI</ |
| 7ec0 | 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | a></li>.........</ul></li>...... |
| 7ee0 | 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 54 61 72 67 65 74 73 22 20 68 72 65 66 3d | ...<li><a.id="toc-Targets".href= |
| 7f00 | 22 23 54 61 72 67 65 74 73 22 3e 54 61 72 67 65 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 | "#Targets">Targets</a></li>..... |
| 7f20 | 20 20 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 | ....<li><a.id="toc-Style-Guide". |
| 7f40 | 68 72 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 | href="#Style-Guide">Style.Guide< |
| 7f60 | 2f 61 3e 0a 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 | /a>.........<ul>.............<li |
| 7f80 | 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 57 68 69 74 65 73 70 61 63 65 22 20 68 72 65 66 3d 22 23 57 | ><a.id="toc-Whitespace".href="#W |
| 7fa0 | 68 69 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 | hitespace">Whitespace</a></li>.. |
| 7fc0 | 20 20 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 | ...........<li><a.id="toc-Names" |
| 7fe0 | 20 68 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 | .href="#Names">Names</a></li>... |
| 8000 | 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 45 78 61 6d 70 6c 65 | ..........<li><a.id="toc-Example |
| 8020 | 73 22 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 | s".href="#Examples">Examples</a> |
| 8040 | 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>........ |
| 8060 | 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 | .<li><a.id="toc-Source-Encoding" |
| 8080 | 20 68 72 65 66 3d 22 23 53 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 53 6f 75 72 63 65 20 | .href="#Source-Encoding">Source. |
| 80a0 | 45 6e 63 6f 64 69 6e 67 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 | Encoding</a></li>.........<li><a |
| 80c0 | 20 69 64 3d 22 74 6f 63 2d 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 6e 63 65 22 20 68 72 65 66 | .id="toc-Keyword-Reference".href |
| 80e0 | 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 6f 72 64 20 52 65 | ="#Keyword-Reference">Keyword.Re |
| 8100 | 66 65 72 65 6e 63 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 | ference</a>.........<ul>........ |
| 8120 | 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 4b 65 79 77 6f 72 64 2d 70 75 62 22 | .....<li><a.id="toc-Keyword-pub" |
| 8140 | 20 68 72 65 66 3d 22 23 4b 65 79 77 6f 72 64 2d 70 75 62 22 3e 4b 65 79 77 6f 72 64 3a 20 70 75 | .href="#Keyword-pub">Keyword:.pu |
| 8160 | 62 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 | b</a></li>.........</ul></li>... |
| 8180 | 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 47 72 61 6d 6d 61 72 22 20 68 72 | ......<li><a.id="toc-Grammar".hr |
| 81a0 | 65 66 3d 22 23 47 72 61 6d 6d 61 72 22 3e 47 72 61 6d 6d 61 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 | ef="#Grammar">Grammar</a></li>.. |
| 81c0 | 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 69 64 3d 22 74 6f 63 2d 5a 65 6e 22 20 68 72 65 66 3d | .......<li><a.id="toc-Zen".href= |
| 81e0 | 22 23 5a 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 | "#Zen">Zen</a></li>.....</ul>... |
| 8200 | 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 20 3c 64 69 76 20 69 64 3d 22 63 6f 6e 74 65 | .....</div>.......<div.id="conte |
| 8220 | 6e 74 73 2d 77 72 61 70 70 65 72 22 3e 3c 64 69 76 20 69 64 3d 22 63 6f 6e 74 65 6e 74 73 22 3e | nts-wrapper"><div.id="contents"> |
| 8240 | 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e 3c 61 20 | .......<h1.id="Introduction"><a. |
| 8260 | 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e 49 6e 74 72 6f 64 75 | href="#toc-Introduction">Introdu |
| 8280 | 63 74 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 | ction</a>.<a.class="hdr".href="# |
| 82a0 | 49 6e 74 72 6f 64 75 63 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 | Introduction">..</a></h1>....... |
| 82c0 | 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 69 73 20 61 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 | .<p>.......Zig.is.a.general-purp |
| 82e0 | 6f 73 65 20 70 72 6f 67 72 61 6d 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 20 61 6e 64 20 74 6f 6f | ose.programming.language.and.too |
| 8300 | 6c 63 68 61 69 6e 20 66 6f 72 20 6d 61 69 6e 74 61 69 6e 69 6e 67 0a 20 20 20 20 20 20 3c 73 74 | lchain.for.maintaining.......<st |
| 8320 | 72 6f 6e 67 3e 72 6f 62 75 73 74 3c 2f 73 74 72 6f 6e 67 3e 2c 20 3c 73 74 72 6f 6e 67 3e 6f 70 | rong>robust</strong>,.<strong>op |
| 8340 | 74 69 6d 61 6c 3c 2f 73 74 72 6f 6e 67 3e 2c 20 61 6e 64 20 3c 73 74 72 6f 6e 67 3e 72 65 75 73 | timal</strong>,.and.<strong>reus |
| 8360 | 61 62 6c 65 3c 2f 73 74 72 6f 6e 67 3e 20 73 6f 66 74 77 61 72 65 2e 0a 20 20 20 20 20 20 3c 2f | able</strong>.software........</ |
| 8380 | 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 73 74 72 6f 6e | p>.......<ul>.........<li><stron |
| 83a0 | 67 3e 52 6f 62 75 73 74 3c 2f 73 74 72 6f 6e 67 3e 20 2d 20 62 65 68 61 76 69 6f 72 20 69 73 20 | g>Robust</strong>.-.behavior.is. |
| 83c0 | 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 73 75 63 68 | correct.even.for.edge.cases.such |
| 83e0 | 20 61 73 20 6f 75 74 20 6f 66 20 6d 65 6d 6f 72 79 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | .as.out.of.memory.</li>......... |
| 8400 | 3c 6c 69 3e 3c 73 74 72 6f 6e 67 3e 4f 70 74 69 6d 61 6c 3c 2f 73 74 72 6f 6e 67 3e 20 2d 20 77 | <li><strong>Optimal</strong>.-.w |
| 8420 | 72 69 74 65 20 70 72 6f 67 72 61 6d 73 20 74 68 65 20 62 65 73 74 20 77 61 79 20 74 68 65 79 20 | rite.programs.the.best.way.they. |
| 8440 | 63 61 6e 20 62 65 68 61 76 65 20 61 6e 64 20 70 65 72 66 6f 72 6d 2e 3c 2f 6c 69 3e 0a 20 20 20 | can.behave.and.perform.</li>.... |
| 8460 | 20 20 20 20 20 3c 6c 69 3e 3c 73 74 72 6f 6e 67 3e 52 65 75 73 61 62 6c 65 3c 2f 73 74 72 6f 6e | .....<li><strong>Reusable</stron |
| 8480 | 67 3e 20 2d 20 74 68 65 20 73 61 6d 65 20 63 6f 64 65 20 77 6f 72 6b 73 20 69 6e 20 6d 61 6e 79 | g>.-.the.same.code.works.in.many |
| 84a0 | 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 20 77 68 69 63 68 20 68 61 76 65 20 64 69 66 66 65 72 65 | .environments.which.have.differe |
| 84c0 | 6e 74 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 72 61 69 6e 74 73 2e 3c 2f 6c 69 3e 0a 20 | nt...........constraints.</li>.. |
| 84e0 | 20 20 20 20 20 20 20 3c 6c 69 3e 3c 73 74 72 6f 6e 67 3e 4d 61 69 6e 74 61 69 6e 61 62 6c 65 3c | .......<li><strong>Maintainable< |
| 8500 | 2f 73 74 72 6f 6e 67 3e 20 2d 20 70 72 65 63 69 73 65 6c 79 20 63 6f 6d 6d 75 6e 69 63 61 74 65 | /strong>.-.precisely.communicate |
| 8520 | 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 20 20 20 | .intent.to.the.compiler.and..... |
| 8540 | 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 6c 61 6e | ......other.programmers..The.lan |
| 8560 | 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 74 6f 20 | guage.imposes.a.low.overhead.to. |
| 8580 | 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 20 72 65 | reading.code.and.is...........re |
| 85a0 | 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 6e 74 73 | silient.to.changing.requirements |
| 85c0 | 20 61 6e 64 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f | .and.environments.</li>.......</ |
| 85e0 | 75 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 20 6d 6f | ul>.......<p>.......Often.the.mo |
| 8600 | 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 65 74 68 | st.efficient.way.to.learn.someth |
| 8620 | 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 6f 0a 20 | ing.new.is.to.see.examples,.so.. |
| 8640 | 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 20 68 6f | .....this.documentation.shows.ho |
| 8660 | 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 65 73 2e | w.to.use.each.of.Zig's.features. |
| 8680 | 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 73 6f 20 | .It.is.......all.on.one.page.so. |
| 86a0 | 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 73 65 72 | you.can.search.with.your.browser |
| 86c0 | 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 20 20 20 | 's.search.tool........</p>...... |
| 86e0 | 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 6e 20 74 | .<p>.......The.code.samples.in.t |
| 8700 | 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 20 74 65 | his.document.are.compiled.and.te |
| 8720 | 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 20 73 75 | sted.as.part.of.the.main.test.su |
| 8740 | 69 74 65 20 6f 66 20 5a 69 67 2e 0a 20 20 20 20 20 20 54 68 69 73 20 48 54 4d 4c 20 64 6f 63 75 | ite.of.Zig........This.HTML.docu |
| 8760 | 6d 65 6e 74 20 64 65 70 65 6e 64 73 20 6f 6e 20 6e 6f 20 65 78 74 65 72 6e 61 6c 20 66 69 6c 65 | ment.depends.on.no.external.file |
| 8780 | 73 2c 20 73 6f 20 79 6f 75 20 63 61 6e 20 75 73 65 20 69 74 20 6f 66 66 6c 69 6e 65 2e 0a 20 20 | s,.so.you.can.use.it.offline.... |
| 87a0 | 20 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 |
| 87c0 | 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 |
| 87e0 | 2f 77 69 6b 69 2f 46 41 51 23 77 68 65 72 65 2d 69 73 2d 74 68 65 2d 64 6f 63 75 6d 65 6e 74 61 | /wiki/FAQ#where-is-the-documenta |
| 8800 | 74 69 6f 6e 2d 66 6f 72 2d 74 68 65 2d 7a 69 67 2d 73 74 61 6e 64 61 72 64 2d 6c 69 62 72 61 72 | tion-for-the-zig-standard-librar |
| 8820 | 79 22 3e 57 68 65 72 65 20 69 73 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f | y">Where.is.the.documentation.fo |
| 8840 | 72 20 74 68 65 20 5a 69 67 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 3f 3c 2f 61 3e 0a | r.the.Zig.standard.library?</a>. |
| 8860 | 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 31 20 69 64 3d | ......</p>...............<h1.id= |
| 8880 | 22 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 48 65 6c 6c | "Hello-World"><a.href="#toc-Hell |
| 88a0 | 6f 2d 57 6f 72 6c 64 22 3e 48 65 6c 6c 6f 20 57 6f 72 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 | o-World">Hello.World</a>.<a.clas |
| 88c0 | 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 48 65 6c 6c 6f 2d 57 6f 72 6c 64 22 3e c2 a7 3c 2f | s="hdr".href="#Hello-World">..</ |
| 88e0 | 61 3e 3c 2f 68 31 3e 0a 0a 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e | a></h1>.........<p.class="file"> |
| 8900 | 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | hello.zig</p><pre><code.class="z |
| 8920 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | ig"><span.class="tok-kw">const</ |
| 8940 | 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 |
| 8960 | 6c 74 69 6e 22 3e 40 69 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 |
| 8980 | 3d 22 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">"std"</span |
| 89a0 | 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 | >);..<span.class="tok-kw">pub</s |
| 89c0 | 70 61 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 |
| 89e0 | 61 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 |
| 8a00 | 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 |
| 8a20 | 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | oid</span>.{.....<span.class="to |
| 8a40 | 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 6f 75 74 20 3d 20 73 74 64 2e | k-kw">const</span>.stdout.=.std. |
| 8a60 | 69 6f 2e 67 65 74 53 74 64 4f 75 74 28 29 2e 6f 75 74 53 74 72 65 61 6d 28 29 3b 0a 20 20 20 20 | io.getStdOut().outStream();..... |
| 8a80 | 3c 73 70 61 6e 20 63 6c 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>. |
| 8aa0 | 73 74 64 6f 75 74 2e 70 72 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 | stdout.print(<span.class="tok-st |
| 8ac0 | 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 7b 7d 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 | r">"Hello,.{}!\n"</spa |
| 8ae0 | 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f | n>,..{<span.class="tok-str">&quo |
| 8b00 | 74 3b 77 6f 72 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e | t;world"</span>});.}</code> |
| 8b20 | 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 | </pre><pre><code.class="shell">$ |
| 8b40 | 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 68 65 6c 6c 6f 2e 7a 69 67 0a 24 20 2e 2f 68 65 6c | .zig.build-exe.hello.zig.$../hel |
| 8b60 | 6c 6f 0a 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a | lo.Hello,.world!.</code></pre>.. |
| 8b80 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 75 61 6c 6c 79 20 79 6f 75 20 64 6f 6e 27 | ......<p>.......Usually.you.don' |
| 8ba0 | 74 20 77 61 6e 74 20 74 6f 20 77 72 69 74 65 20 74 6f 20 73 74 64 6f 75 74 2e 20 59 6f 75 20 77 | t.want.to.write.to.stdout..You.w |
| 8bc0 | 61 6e 74 20 74 6f 20 77 72 69 74 65 20 74 6f 20 73 74 64 65 72 72 2e 20 41 6e 64 20 79 6f 75 0a | ant.to.write.to.stderr..And.you. |
| 8be0 | 20 20 20 20 20 20 64 6f 6e 27 74 20 63 61 72 65 20 69 66 20 69 74 20 66 61 69 6c 73 2e 20 49 74 | ......don't.care.if.it.fails..It |
| 8c00 | 27 73 20 6d 6f 72 65 20 6c 69 6b 65 20 61 20 3c 65 6d 3e 77 61 72 6e 69 6e 67 20 6d 65 73 73 61 | 's.more.like.a.<em>warning.messa |
| 8c20 | 67 65 3c 2f 65 6d 3e 20 74 68 61 74 20 79 6f 75 20 77 61 6e 74 0a 20 20 20 20 20 20 74 6f 20 65 | ge</em>.that.you.want.......to.e |
| 8c40 | 6d 69 74 2e 20 46 6f 72 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 75 73 65 20 61 20 73 69 6d 70 | mit..For.that.you.can.use.a.simp |
| 8c60 | 6c 65 72 20 41 50 49 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 | ler.API:.......</p>.......<p.cla |
| 8c80 | 73 73 3d 22 66 69 6c 65 22 3e 68 65 6c 6c 6f 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 | ss="file">hello.zig</p><pre><cod |
| 8ca0 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | e.class="zig"><span.class="tok-k |
| 8cc0 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 61 72 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 | w">const</span>.warn.=.<span.cla |
| 8ce0 | 73 73 3d 22 74 6f 6b 2d 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>( |
| 8d00 | 3c 73 70 61 6e 20 63 6c 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">"std& |
| 8d20 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 77 61 72 6e 3b 0a 0a 3c 73 70 61 6e | quot;</span>).debug.warn;..<span |
| 8d40 | 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 |
| 8d60 | 20 63 6c 61 73 73 3d 22 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. |
| 8d80 | 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 |
| 8da0 | 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>. |
| 8dc0 | 7b 0a 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 | {.....warn(<span.class="tok-str" |
| 8de0 | 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 | >"Hello,.world!\n"</sp |
| 8e00 | 61 6e 3e 2c 20 2e 7b 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 | an>,..{});.}</code></pre><pre><c |
| 8e20 | 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 | ode.class="shell">$.zig.build-ex |
| 8e40 | 65 20 68 65 6c 6c 6f 2e 7a 69 67 0a 24 20 2e 2f 68 65 6c 6c 6f 0a 48 65 6c 6c 6f 2c 20 77 6f 72 | e.hello.zig.$../hello.Hello,.wor |
| 8e60 | 6c 64 21 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 | ld!.</code></pre>........<p>.... |
| 8e80 | 20 20 20 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 6c 65 61 76 65 20 6f 66 66 20 74 | ...Note.that.you.can.leave.off.t |
| 8ea0 | 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 21 3c 2f 63 6f 64 65 3e 20 66 72 | he.<code.class="zig">!</code>.fr |
| 8ec0 | 6f 6d 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 | om.the.return.type.because.<code |
| 8ee0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 77 61 72 6e 3c 2f 63 6f 64 65 3e 20 63 61 6e 6e 6f 74 20 | .class="zig">warn</code>.cannot. |
| 8f00 | 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 65 20 61 6c | fail........</p>.......<p>See.al |
| 8f20 | 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 6c 75 65 73 | so:</p><ul>.<li><a.href="#Values |
| 8f40 | 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 66 3d 22 23 | ">Values</a></li>.<li><a.href="# |
| 8f60 | 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 3e 3c 61 20 | import">@import</a></li>.<li><a. |
| 8f80 | 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c | href="#Errors">Errors</a></li>.< |
| 8fa0 | 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 22 3e 52 | li><a.href="#Root-Source-File">R |
| 8fc0 | 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 3e 0a 0a | oot.Source.File</a></li>.</ul>.. |
| 8fe0 | 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 43 6f 6d 6d 65 6e 74 73 22 3e 3c | .............<h1.id="Comments">< |
| 9000 | 61 20 68 72 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 | a.href="#toc-Comments">Comments< |
| 9020 | 2f 61 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 6d 65 6e | /a>.<a.class="hdr".href="#Commen |
| 9040 | 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d | ts">..</a></h1>........<p.class= |
| 9060 | 22 66 69 6c 65 22 3e 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 | "file">comments.zig</p><pre><cod |
| 9080 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | e.class="zig"><span.class="tok-k |
| 90a0 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 | w">const</span>.assert.=.<span.c |
| 90c0 | 6c 61 73 73 3d 22 74 6f 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 |
| 90e0 | 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 | >(<span.class="tok-str">"st |
| 9100 | 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c | d"</span>).debug.assert;..< |
| 9120 | 73 70 61 6e 20 63 6c 61 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>. |
| 9140 | 3c 73 70 61 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 6d | <span.class="tok-str">"comm |
| 9160 | 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | ents"</span>.{.....<span.cl |
| 9180 | 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 6d 6d 65 6e 74 73 20 69 6e | ass="tok-comment">//.Comments.in |
| 91a0 | 20 5a 69 67 20 73 74 61 72 74 20 77 69 74 68 20 26 71 75 6f 74 3b 2f 2f 26 71 75 6f 74 3b 20 61 | .Zig.start.with."//".a |
| 91c0 | 6e 64 20 65 6e 64 20 61 74 20 74 68 65 20 6e 65 78 74 20 4c 46 20 62 79 74 65 20 28 65 6e 64 20 | nd.end.at.the.next.LF.byte.(end. |
| 91e0 | 6f 66 20 6c 69 6e 65 29 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | of.line).</span>.....<span.class |
| 9200 | 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 62 65 6c 6f 77 20 6c 69 6e 65 | ="tok-comment">//.The.below.line |
| 9220 | 20 69 73 20 61 20 63 6f 6d 6d 65 6e 74 2c 20 61 6e 64 20 77 6f 6e 27 74 20 62 65 20 65 78 65 63 | .is.a.comment,.and.won't.be.exec |
| 9240 | 75 74 65 64 2e 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | uted.</span>......<span.class="t |
| 9260 | 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 3c 2f 73 70 | ok-comment">//assert(false);</sp |
| 9280 | 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | an>......<span.class="tok-kw">co |
| 92a0 | 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | nst</span>.x.=.<span.class="tok- |
| 92c0 | 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | null">true</span>;..<span.class= |
| 92e0 | 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 6d 6d 65 6e 74 | "tok-comment">//.another.comment |
| 9300 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 73 73 65 72 74 28 78 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c | </span>.....assert(x);.}</code>< |
| 9320 | 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 | /pre><pre><code.class="shell">$. |
| 9340 | 7a 69 67 20 74 65 73 74 20 63 6f 6d 6d 65 6e 74 73 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 | zig.test.comments.zig.1/1.test.& |
| 9360 | 71 75 6f 74 3b 63 6f 6d 6d 65 6e 74 73 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 | quot;comments"...OK.All.1.t |
| 9380 | 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 | ests.passed..</code></pre>...... |
| 93a0 | 20 20 3c 70 3e 0a 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 | ..<p>.......There.are.no.multili |
| 93c0 | 6e 65 20 63 6f 6d 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 | ne.comments.in.Zig.(e.g..like.<c |
| 93e0 | 6f 64 65 20 63 6c 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 | ode.class="c">/*.*/</code>...... |
| 9400 | 20 63 6f 6d 6d 65 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 | .comments.in.C)...This.helps.all |
| 9420 | 6f 77 20 5a 69 67 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 | ow.Zig.to.have.the.property.that |
| 9440 | 20 65 61 63 68 20 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 | .each.line.......of.code.can.be. |
| 9460 | 74 6f 6b 65 6e 69 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 | tokenized.out.of.context........ |
| 9480 | 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 44 6f 63 2d 63 6f 6d 6d 65 6e 74 73 22 | </p>.......<h2.id="Doc-comments" |
| 94a0 | 3e 3c 61 20 68 72 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 | ><a.href="#toc-Doc-comments">Doc |
| 94c0 | 20 63 6f 6d 6d 65 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 | .comments</a>.<a.class="hdr".hre |
| 94e0 | 66 3d 22 23 44 6f 63 2d 63 6f 6d 6d 65 6e 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 | f="#Doc-comments">..</a></h2>... |
| 9500 | 20 20 20 20 20 3c 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 | .....<p>.......A.doc.comment.is. |
| 9520 | 6f 6e 65 20 74 68 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 | one.that.begins.with.exactly.thr |
| 9540 | 65 65 20 73 6c 61 73 68 65 73 20 28 69 2e 65 2e 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 | ee.slashes.(i.e........<code.cla |
| 9560 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-commen |
| 9580 | 74 22 3e 2f 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 75 74 20 6e 6f 74 20 3c 63 6f | t">///</span></code>.but.not.<co |
| 95a0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 95c0 | 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 2f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 3b 0a 20 20 | comment">////</span></code>);... |
| 95e0 | 20 20 20 20 6d 75 6c 74 69 70 6c 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 61 20 72 | ....multiple.doc.comments.in.a.r |
| 9600 | 6f 77 20 61 72 65 20 6d 65 72 67 65 64 20 74 6f 67 65 74 68 65 72 20 74 6f 20 66 6f 72 6d 20 61 | ow.are.merged.together.to.form.a |
| 9620 | 20 6d 75 6c 74 69 6c 69 6e 65 0a 20 20 20 20 20 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 2e 20 20 54 | .multiline.......doc.comment...T |
| 9640 | 68 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 64 6f 63 75 6d 65 6e 74 73 20 77 68 61 74 65 76 65 | he.doc.comment.documents.whateve |
| 9660 | 72 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 66 6f 6c 6c 6f 77 73 20 69 74 2e 0a 20 20 20 20 20 20 | r.immediately.follows.it........ |
| 9680 | 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 7a 69 67 | </p>.......<pre><code.class="zig |
| 96a0 | 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 | "><span.class="tok-comment">///. |
| 96c0 | 41 20 73 74 72 75 63 74 75 72 65 20 66 6f 72 20 73 74 6f 72 69 6e 67 20 61 20 74 69 6d 65 73 74 | A.structure.for.storing.a.timest |
| 96e0 | 61 6d 70 2c 20 77 69 74 68 20 6e 61 6e 6f 73 65 63 6f 6e 64 20 70 72 65 63 69 73 69 6f 6e 20 28 | amp,.with.nanosecond.precision.( |
| 9700 | 74 68 69 73 20 69 73 20 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | this.is.a</span>.<span.class="to |
| 9720 | 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6d 75 6c 74 69 6c 69 6e 65 20 64 6f 63 20 63 6f 6d | k-comment">///.multiline.doc.com |
| 9740 | 6d 65 6e 74 29 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | ment).</span>.<span.class="tok-k |
| 9760 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 69 6d 65 73 74 61 6d 70 20 3d 20 3c 73 70 61 | w">const</span>.Timestamp.=.<spa |
| 9780 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b | n.class="tok-kw">struct</span>.{ |
| 97a0 | 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f | .....<span.class="tok-comment">/ |
| 97c0 | 2f 2f 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 6f 6e 64 73 20 73 69 6e 63 65 20 74 | //.The.number.of.seconds.since.t |
| 97e0 | 68 65 20 65 70 6f 63 68 20 28 74 68 69 73 20 69 73 20 61 6c 73 6f 20 61 20 64 6f 63 20 63 6f 6d | he.epoch.(this.is.also.a.doc.com |
| 9800 | 6d 65 6e 74 29 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 73 65 63 6f 6e 64 73 3a 20 3c 73 70 61 6e | ment).</span>.....seconds:.<span |
| 9820 | 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>,..< |
| 9840 | 73 70 61 6e 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 |
| 9860 | 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. |
| 9880 | 28 6e 6f 74 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c | (not.a.doc.comment)</span>.....< |
| 98a0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 54 68 65 | span.class="tok-comment">///.The |
| 98c0 | 20 6e 75 6d 62 65 72 20 6f 66 20 6e 61 6e 6f 73 65 63 6f 6e 64 73 20 70 61 73 74 20 74 68 65 20 | .number.of.nanoseconds.past.the. |
| 98e0 | 73 65 63 6f 6e 64 20 28 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 61 67 61 69 6e 29 2e 3c 2f 73 70 61 | second.(doc.comment.again).</spa |
| 9900 | 6e 3e 0a 20 20 20 20 6e 61 6e 6f 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | n>.....nanos:.<span.class="tok-t |
| 9920 | 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | ype">u32</span>,......<span.clas |
| 9940 | 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 52 65 74 75 72 6e 73 20 61 20 60 54 | s="tok-comment">///.Returns.a.`T |
| 9960 | 69 6d 65 73 74 61 6d 70 60 20 73 74 72 75 63 74 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 | imestamp`.struct.representing.th |
| 9980 | 65 20 55 6e 69 78 20 65 70 6f 63 68 3b 20 74 68 61 74 20 69 73 2c 20 74 68 65 3c 2f 73 70 61 6e | e.Unix.epoch;.that.is,.the</span |
| 99a0 | 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e | >.....<span.class="tok-comment"> |
| 99c0 | 2f 2f 2f 20 6d 6f 6d 65 6e 74 20 6f 66 20 31 39 37 30 20 4a 61 6e 20 31 20 30 30 3a 30 30 3a 30 | ///.moment.of.1970.Jan.1.00:00:0 |
| 99e0 | 30 20 55 54 43 20 28 74 68 69 73 20 69 73 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 74 6f 6f | 0.UTC.(this.is.a.doc.comment.too |
| 9a00 | 29 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | ).</span>.....<span.class="tok-k |
| 9a20 | 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 |
| 9a40 | 77 22 3e 66 6e 3c 2f 73 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 |
| 9a60 | 22 3e 75 6e 69 78 45 70 6f 63 68 3c 2f 73 70 61 6e 3e 28 29 20 54 69 6d 65 73 74 61 6d 70 20 7b | ">unixEpoch</span>().Timestamp.{ |
| 9a80 | 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 | .........<span.class="tok-kw">re |
| 9aa0 | 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 54 69 6d 65 73 74 61 6d 70 7b 0a 20 20 20 20 20 20 20 20 20 | turn</span>.Timestamp{.......... |
| 9ac0 | 20 20 20 2e 73 65 63 6f 6e 64 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | ....seconds.=.<span.class="tok-n |
| 9ae0 | 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 6e 61 | umber">0</span>,..............na |
| 9b00 | 6e 6f 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 | nos.=.<span.class="tok-number">0 |
| 9b20 | 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 7d 0a 7d 3b 3c 2f 63 6f | </span>,.........};.....}.};</co |
| 9b40 | 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 44 6f 63 20 63 6f | de></pre>.......<p>.......Doc.co |
| 9b60 | 6d 6d 65 6e 74 73 20 61 72 65 20 6f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 69 6e 20 63 65 72 74 61 | mments.are.only.allowed.in.certa |
| 9b80 | 69 6e 20 70 6c 61 63 65 73 3b 20 65 76 65 6e 74 75 61 6c 6c 79 2c 20 69 74 20 77 69 6c 6c 0a 20 | in.places;.eventually,.it.will.. |
| 9ba0 | 20 20 20 20 20 62 65 63 6f 6d 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 74 6f 20 68 | .....become.a.compile.error.to.h |
| 9bc0 | 61 76 65 20 61 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 20 69 6e 20 61 6e 20 75 6e 65 78 70 65 63 74 | ave.a.doc.comment.in.an.unexpect |
| 9be0 | 65 64 20 70 6c 61 63 65 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 69 6e 20 74 68 65 20 6d | ed.place,.such.as.......in.the.m |
| 9c00 | 69 64 64 6c 65 20 6f 66 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 6f 72 20 6a 75 73 74 20 | iddle.of.an.expression,.or.just. |
| 9c20 | 62 65 66 6f 72 65 20 61 20 6e 6f 6e 2d 64 6f 63 20 63 6f 6d 6d 65 6e 74 2e 0a 20 20 20 20 20 20 | before.a.non-doc.comment........ |
| 9c40 | 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 31 20 69 64 3d | </p>.....................<h1.id= |
| 9c60 | 22 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 56 61 6c 75 65 73 22 3e 56 | "Values"><a.href="#toc-Values">V |
| 9c80 | 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 | alues</a>.<a.class="hdr".href="# |
| 9ca0 | 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 20 63 6c | Values">..</a></h1>........<p.cl |
| 9cc0 | 61 73 73 3d 22 66 69 6c 65 22 3e 76 61 6c 75 65 73 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 | ass="file">values.zig</p><pre><c |
| 9ce0 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 9d00 | 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 6c 61 72 61 74 69 | -comment">//.Top-level.declarati |
| 9d20 | 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 3c 2f 73 70 61 6e | ons.are.order-independent:</span |
| 9d40 | 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 | >.<span.class="tok-kw">const</sp |
| 9d60 | 61 6e 3e 20 77 61 72 6e 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 3b 0a 3c 73 70 61 6e | an>.warn.=.std.debug.warn;.<span |
| 9d80 | 20 63 6c 61 73 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 |
| 9da0 | 20 3d 20 3c 73 70 61 6e 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 |
| 9dc0 | 70 6f 72 74 3c 2f 73 70 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 |
| 9de0 | 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e | ">"std"</span>);.<span |
| 9e00 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 20 | .class="tok-kw">const</span>.os. |
| 9e20 | 3d 20 73 74 64 2e 6f 73 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | =.std.os;.<span.class="tok-kw">c |
| 9e40 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 | onst</span>.assert.=.std.debug.a |
| 9e60 | 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 | ssert;..<span.class="tok-kw">pub |
| 9e80 | 3c 2f 73 70 61 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< |
| 9ea0 | 2f 73 70 61 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 |
| 9ec0 | 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" |
| 9ee0 | 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | >void</span>.{.....<span.class=" |
| 9f00 | 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 74 65 67 65 72 73 3c 2f 73 70 61 6e 3e 0a | tok-comment">//.integers</span>. |
| 9f20 | 20 20 20 20 3c 73 70 61 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</ |
| 9f40 | 73 70 61 6e 3e 20 6f 6e 65 5f 70 6c 75 73 5f 6f 6e 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | span>.one_plus_one:.<span.class= |
| 9f60 | 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 |
| 9f80 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 | ass="tok-number">1</span>.+.<spa |
| 9fa0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 | n.class="tok-number">1</span>;.. |
| 9fc0 | 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 | ...warn(<span.class="tok-str">&q |
| 9fe0 | 75 6f 74 3b 31 20 2b 20 31 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e | uot;1.+.1.=.{}\n"</span>,.. |
| a000 | 7b 6f 6e 65 5f 70 6c 75 73 5f 6f 6e 65 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | {one_plus_one});......<span.clas |
| a020 | 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 3c 2f 73 70 61 6e 3e | s="tok-comment">//.floats</span> |
| a040 | 0a 20 20 20 20 3c 73 70 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< |
| a060 | 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 6c | /span>.seven_div_three:.<span.cl |
| a080 | 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 61 | ass="tok-type">f32</span>.=.<spa |
| a0a0 | 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 20 | n.class="tok-number">7.0</span>. |
| a0c0 | 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 2f | /.<span.class="tok-number">3.0</ |
| a0e0 | 73 70 61 6e 3e 3b 0a 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | span>;.....warn(<span.class="tok |
| a100 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 37 2e 30 20 2f 20 33 2e 30 20 3d 20 7b 7d 5c 6e 26 71 75 6f | -str">"7.0./.3.0.=.{}\n&quo |
| a120 | 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 73 65 76 65 6e 5f 64 69 76 5f 74 68 72 65 65 7d 29 3b 0a | t;</span>,..{seven_div_three});. |
| a140 | 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f | .....<span.class="tok-comment">/ |
| a160 | 2f 20 62 6f 6f 6c 65 61 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 | /.boolean</span>.....warn(<span. |
| a180 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 5c 6e 7b 7d 5c 6e 7b 7d | class="tok-str">"{}\n{}\n{} |
| a1a0 | 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 | \n"</span>,..{.........<spa |
| a1c0 | 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 20 3c | n.class="tok-null">true</span>.< |
| a1e0 | 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 3c | span.class="tok-kw">and</span>.< |
| a200 | 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 |
| a220 | 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c | n>,.........<span.class="tok-nul |
| a240 | 6c 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 | l">true</span>.<span.class="tok- |
| a260 | 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | kw">or</span>.<span.class="tok-n |
| a280 | 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 21 3c 73 70 61 | ull">false</span>,.........!<spa |
| a2a0 | 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 0a | n.class="tok-null">true</span>,. |
| a2c0 | 20 20 20 20 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f | ....});......<span.class="tok-co |
| a2e0 | 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 0a 20 20 20 20 3c 73 | mment">//.optional</span>.....<s |
| a300 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6f 70 | pan.class="tok-kw">var</span>.op |
| a320 | 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 6f | tional_value:.?[]<span.class="to |
| a340 | 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=" |
| a360 | 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 |
| a380 | 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 | s="tok-null">null</span>;.....as |
| a3a0 | 73 65 72 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 | sert(optional_value.==.<span.cla |
| a3c0 | 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 | ss="tok-null">null</span>);..... |
| a3e0 | 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f | .warn(<span.class="tok-str">&quo |
| a400 | 74 3b 5c 6e 6f 70 74 69 6f 6e 61 6c 20 31 5c 6e 74 79 70 65 3a 20 7b 7d 5c 6e 76 61 6c 75 65 3a | t;\noptional.1\ntype:.{}\nvalue: |
| a420 | 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 0a 20 20 20 20 20 20 20 20 3c | .{}\n"</span>,..{.........< |
| a440 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 | span.class="tok-builtin">@typeNa |
| a460 | 6d 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 62 75 69 6c 74 | me</span>(<span.class="tok-built |
| a480 | 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 | in">@TypeOf</span>(optional_valu |
| a4a0 | 65 29 29 2c 0a 20 20 20 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 2c 0a 20 20 20 | e)),.........optional_value,.... |
| a4c0 | 20 7d 29 3b 0a 0a 20 20 20 20 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 20 3d 20 3c 73 70 61 6e | .});......optional_value.=.<span |
| a4e0 | 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">"hi"< |
| a500 | 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 73 65 72 74 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 | /span>;.....assert(optional_valu |
| a520 | 65 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c | e.!=.<span.class="tok-null">null |
| a540 | 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d | </span>);......warn(<span.class= |
| a560 | 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 6e 74 79 | "tok-str">"\noptional.2\nty |
| a580 | 70 65 3a 20 7b 7d 5c 6e 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e | pe:.{}\nvalue:.{}\n"</span> |
| a5a0 | 2c 20 2e 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 | ,..{.........<span.class="tok-bu |
| a5c0 | 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 |
| a5e0 | 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e | ass="tok-builtin">@TypeOf</span> |
| a600 | 28 6f 70 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 29 29 2c 0a 20 20 20 20 20 20 20 20 6f 70 74 69 6f | (optional_value)),.........optio |
| a620 | 6e 61 6c 5f 76 61 6c 75 65 2c 0a 20 20 20 20 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | nal_value,.....});......<span.cl |
| a640 | 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 72 72 6f 72 20 75 6e 69 6f 6e | ass="tok-comment">//.error.union |
| a660 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | </span>.....<span.class="tok-kw" |
| a680 | 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 70 | >var</span>.number_or_error:.<sp |
| a6a0 | 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 |
| a6c0 | 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 2f | an>!<span.class="tok-type">i32</ |
| a6e0 | 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 |
| a700 | 6f 72 3c 2f 73 70 61 6e 3e 2e 41 72 67 4e 6f 74 46 6f 75 6e 64 3b 0a 0a 20 20 20 20 77 61 72 6e | or</span>.ArgNotFound;......warn |
| a720 | 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 65 | (<span.class="tok-str">"\ne |
| a740 | 72 72 6f 72 20 75 6e 69 6f 6e 20 31 5c 6e 74 79 70 65 3a 20 7b 7d 5c 6e 76 61 6c 75 65 3a 20 7b | rror.union.1\ntype:.{}\nvalue:.{ |
| a760 | 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 | }\n"</span>,..{.........<sp |
| a780 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 | an.class="tok-builtin">@typeName |
| a7a0 | 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e | </span>(<span.class="tok-builtin |
| a7c0 | 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 | ">@TypeOf</span>(number_or_error |
| a7e0 | 29 29 2c 0a 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 5f 6f 72 5f 65 72 72 6f 72 2c 0a 20 20 20 | )),.........number_or_error,.... |
| a800 | 20 7d 29 3b 0a 0a 20 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 | .});......number_or_error.=.<spa |
| a820 | 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> |
| a840 | 3b 0a 0a 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 | ;......warn(<span.class="tok-str |
| a860 | 22 3e 26 71 75 6f 74 3b 5c 6e 65 72 72 6f 72 20 75 6e 69 6f 6e 20 32 5c 6e 74 79 70 65 3a 20 7b | ">"\nerror.union.2\ntype:.{ |
| a880 | 7d 5c 6e 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 0a | }\nvalue:.{}\n"</span>,..{. |
| a8a0 | 20 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 |
| a8c0 | 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=" |
| a8e0 | 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 | tok-builtin">@TypeOf</span>(numb |
| a900 | 65 72 5f 6f 72 5f 65 72 72 6f 72 29 29 2c 0a 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 5f 6f 72 | er_or_error)),.........number_or |
| a920 | 5f 65 72 72 6f 72 2c 0a 20 20 20 20 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 | _error,.....});.}</code></pre><p |
| a940 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 | re><code.class="shell">$.zig.bui |
| a960 | 6c 64 2d 65 78 65 20 76 61 6c 75 65 73 2e 7a 69 67 0a 24 20 2e 2f 76 61 6c 75 65 73 0a 31 20 2b | ld-exe.values.zig.$../values.1.+ |
| a980 | 20 31 20 3d 20 32 0a 37 2e 30 20 2f 20 33 2e 30 20 3d 20 32 2e 33 33 33 33 33 33 32 35 65 2b 30 | .1.=.2.7.0./.3.0.=.2.33333325e+0 |
| a9a0 | 30 0a 66 61 6c 73 65 0a 74 72 75 65 0a 66 61 6c 73 65 0a 0a 6f 70 74 69 6f 6e 61 6c 20 31 0a 74 | 0.false.true.false..optional.1.t |
| a9c0 | 79 70 65 3a 20 3f 5b 5d 63 6f 6e 73 74 20 75 38 0a 76 61 6c 75 65 3a 20 6e 75 6c 6c 0a 0a 6f 70 | ype:.?[]const.u8.value:.null..op |
| a9e0 | 74 69 6f 6e 61 6c 20 32 0a 74 79 70 65 3a 20 3f 5b 5d 63 6f 6e 73 74 20 75 38 0a 76 61 6c 75 65 | tional.2.type:.?[]const.u8.value |
| aa00 | 3a 20 68 69 0a 0a 65 72 72 6f 72 20 75 6e 69 6f 6e 20 31 0a 74 79 70 65 3a 20 61 6e 79 65 72 72 | :.hi..error.union.1.type:.anyerr |
| aa20 | 6f 72 21 69 33 32 0a 76 61 6c 75 65 3a 20 65 72 72 6f 72 2e 41 72 67 4e 6f 74 46 6f 75 6e 64 0a | or!i32.value:.error.ArgNotFound. |
| aa40 | 0a 65 72 72 6f 72 20 75 6e 69 6f 6e 20 32 0a 74 79 70 65 3a 20 61 6e 79 65 72 72 6f 72 21 69 33 | .error.union.2.type:.anyerror!i3 |
| aa60 | 32 0a 76 61 6c 75 65 3a 20 31 32 33 34 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 | 2.value:.1234.</code></pre>..... |
| aa80 | 20 20 20 3c 68 32 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 | ...<h2.id="Primitive-Types"><a.h |
| aaa0 | 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 |
| aac0 | 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 |
| aae0 | 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 32 | ef="#Primitive-Types">..</a></h2 |
| ab00 | 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 |
| ab20 | 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a | er">.......<table>.........<tr>. |
| ab40 | 20 20 20 20 20 20 20 20 20 20 3c 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 61 6d 65 0a | ..........<th>.............Name. |
| ab60 | 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 68 3e 0a 20 | ..........</th>...........<th>.. |
| ab80 | 20 20 20 20 20 20 20 20 20 20 20 43 20 45 71 75 69 76 61 6c 65 6e 74 0a 20 20 20 20 20 20 20 20 | ...........C.Equivalent......... |
| aba0 | 20 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 3e 0a 20 20 20 20 20 20 20 20 20 | ..</th>...........<th>.......... |
| abc0 | 20 20 20 44 65 73 63 72 69 70 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e 0a 20 | ...Description...........</th>.. |
| abe0 | 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>....... |
| ac00 | 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | ......<td><code.class="zig"><spa |
| ac20 | 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 3c 2f 63 6f | n.class="tok-type">i8</span></co |
| ac40 | 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 | de></td>...........<td><code.cla |
| ac60 | 73 73 3d 22 63 22 3e 69 6e 74 38 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 | ss="c">int8_t</code></td>....... |
| ac80 | 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 | ....<td>signed.8-bit.integer</td |
| aca0 | 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>.... |
| acc0 | 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 7a 69 67 22 3e 3c | .........<td><code.class="zig">< |
| ace0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c | span.class="tok-type">u8</span>< |
| ad00 | 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 3c 63 6f 64 65 20 | /code></td>...........<td><code. |
| ad20 | 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 38 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 | class="c">uint8_t</code></td>... |
| ad40 | 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 38 2d 62 69 74 20 69 6e 74 65 67 | ........<td>unsigned.8-bit.integ |
| ad60 | 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 | er</td>.........</tr>.........<t |
| ad80 | 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | r>.............<td><code.class=" |
| ada0 | 7a 69 67 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 31 36 3c | zig"><span.class="tok-type">i16< |
| adc0 | 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 20 20 3c 74 64 | /span></code></td>...........<td |
| ade0 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 31 36 5f 74 3c 2f 63 6f 64 65 3e 3c | ><code.class="c">int16_t</code>< |
| ae00 | 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 31 36 2d 62 69 74 | /td>...........<td>signed.16-bit |
| ae20 | 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 | .integer</td>.........</tr>..... |
| ae40 | 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 | ....<tr>.............<td><code.c |
| ae60 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | lass="zig"><span.class="tok-type |
| ae80 | 22 3e 75 31 36 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 | ">u16</span></code></td>........ |
| aea0 | 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 31 36 5f 74 3c | ...<td><code.class="c">uint16_t< |
| aec0 | 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 |
| aee0 | 65 64 20 31 36 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c | ed.16-bit.integer</td>.........< |
| af00 | 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 | /tr>.........<tr>.............<t |
| af20 | 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | d><code.class="zig"><span.class= |
| af40 | 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 | "tok-type">i32</span></code></td |
| af60 | 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"> |
| af80 | 69 6e 74 33 32 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 | int32_t</code></td>...........<t |
| afa0 | 64 3e 73 69 67 6e 65 64 20 33 32 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 | d>signed.32-bit.integer</td>.... |
| afc0 | 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>......... |
| afe0 | 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | ....<td><code.class="zig"><span. |
| b000 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 | class="tok-type">u32</span></cod |
| b020 | 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 | e></td>...........<td><code.clas |
| b040 | 73 3d 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 | s="c">uint32_t</code></td>...... |
| b060 | 20 20 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 | .....<td>unsigned.32-bit.integer |
| b080 | 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> |
| b0a0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | .............<td><code.class="zi |
| b0c0 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 | g"><span.class="tok-type">i64</s |
| b0e0 | 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 20 20 3c 74 64 3e 3c | pan></code></td>...........<td>< |
| b100 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 69 6e 74 36 34 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 | code.class="c">int64_t</code></t |
| b120 | 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 73 69 67 6e 65 64 20 36 34 2d 62 69 74 20 69 | d>...........<td>signed.64-bit.i |
| b140 | 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 | nteger</td>.........</tr>....... |
| b160 | 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 | ..<tr>.............<td><code.cla |
| b180 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-type"> |
| b1a0 | 75 36 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 | u64</span></code></td>.......... |
| b1c0 | 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 36 34 5f 74 3c 2f 63 | .<td><code.class="c">uint64_t</c |
| b1e0 | 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 | ode></td>...........<td>unsigned |
| b200 | 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 | .64-bit.integer</td>.........</t |
| b220 | 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 64 3e | r>.........<tr>.............<td> |
| b240 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| b260 | 6f 6b 2d 74 79 70 65 22 3e 69 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e | ok-type">i128</span></code></td> |
| b280 | 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 5f | ...........<td><code.class="c">_ |
| b2a0 | 5f 69 6e 74 31 32 38 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 | _int128</code></td>...........<t |
| b2c0 | 64 3e 73 69 67 6e 65 64 20 31 32 38 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 | d>signed.128-bit.integer</td>... |
| b2e0 | 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>........ |
| b300 | 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | .....<td><code.class="zig"><span |
| b320 | 20 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 63 | .class="tok-type">u128</span></c |
| b340 | 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c | ode></td>...........<td><code.cl |
| b360 | 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 5f 5f 69 6e 74 31 32 38 3c 2f 63 6f 64 65 3e | ass="c">unsigned.__int128</code> |
| b380 | 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 31 32 38 | </td>...........<td>unsigned.128 |
| b3a0 | 2d 62 69 74 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a | -bit.integer</td>.........</tr>. |
| b3c0 | 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 64 3e 3c 63 6f | ........<tr>.............<td><co |
| b3e0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| b400 | 74 79 70 65 22 3e 69 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 | type">isize</span></code></td>.. |
| b420 | 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 |
| b440 | 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> |
| b460 | 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 |
| b480 | 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>.... |
| b4a0 | 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 7a 69 67 22 3e 3c | .........<td><code.class="zig">< |
| b4c0 | 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 |
| b4e0 | 6e 3e 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 3c 63 6f | n></code></td>...........<td><co |
| b500 | 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 69 6e 74 70 74 72 5f 74 3c 2f 63 6f 64 65 3e 3c 2f 74 | de.class="c">uintptr_t</code></t |
| b520 | 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 75 6e 73 69 67 6e 65 64 20 70 6f 69 6e 74 65 | d>...........<td>unsigned.pointe |
| b540 | 72 20 73 69 7a 65 64 20 69 6e 74 65 67 65 72 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 | r.sized.integer</td>.........</t |
| b560 | 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 64 | r>..........<tr>.............<td |
| b580 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| b5a0 | 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 73 68 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c | tok-type">c_short</span></code>< |
| b5c0 | 2f 74 64 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 | /td>...........<td><code.class=" |
| b5e0 | 63 22 3e 73 68 6f 72 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c | c">short</code></td>...........< |
| b600 | 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 43 3c | td>for.ABI.compatibility.with.C< |
| b620 | 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>. |
| b640 | 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | ............<td><code.class="zig |
| b660 | 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 73 68 6f 72 | "><span.class="tok-type">c_ushor |
| b680 | 74 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 20 20 3c | t</span></code></td>...........< |
| b6a0 | 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 73 68 6f 72 | td><code.class="c">unsigned.shor |
| b6c0 | 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 | t</code></td>...........<td>for. |
| b6e0 | 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 | ABI.compatibility.with.C</td>... |
| b700 | 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>........ |
| b720 | 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | .....<td><code.class="zig"><span |
| b740 | 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 2f | .class="tok-type">c_int</span></ |
| b760 | 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 3c 63 6f 64 65 20 63 | code></td>...........<td><code.c |
| b780 | 6c 61 73 73 3d 22 63 22 3e 69 6e 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 | lass="c">int</code></td>........ |
| b7a0 | 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 | ...<td>for.ABI.compatibility.wit |
| b7c0 | 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c | h.C</td>.........</tr>.........< |
| b7e0 | 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | tr>.............<td><code.class= |
| b800 | 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 | "zig"><span.class="tok-type">c_u |
| b820 | 69 6e 74 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 20 | int</span></code></td>.......... |
| b840 | 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 69 6e | .<td><code.class="c">unsigned.in |
| b860 | 74 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 | t</code></td>...........<td>for. |
| b880 | 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 | ABI.compatibility.with.C</td>... |
| b8a0 | 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>........ |
| b8c0 | 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | .....<td><code.class="zig"><span |
| b8e0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c | .class="tok-type">c_long</span>< |
| b900 | 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 3c 63 6f 64 65 20 | /code></td>...........<td><code. |
| b920 | 63 6c 61 73 73 3d 22 63 22 3e 6c 6f 6e 67 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 | class="c">long</code></td>...... |
| b940 | 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 | .....<td>for.ABI.compatibility.w |
| b960 | 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 | ith.C</td>.........</tr>........ |
| b980 | 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 | .<tr>.............<td><code.clas |
| b9a0 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-type">c |
| b9c0 | 5f 75 6c 6f 6e 67 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 | _ulong</span></code></td>....... |
| b9e0 | 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 | ....<td><code.class="c">unsigned |
| ba00 | 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> |
| ba20 | 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 |
| ba40 | 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>.... |
| ba60 | 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 7a 69 67 22 3e 3c | .........<td><code.class="zig">< |
| ba80 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 6c 6f 6e 67 | span.class="tok-type">c_longlong |
| baa0 | 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 20 20 3c 74 | </span></code></td>...........<t |
| bac0 | 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 6c 6f 6e 67 20 6c 6f 6e 67 3c 2f 63 6f 64 | d><code.class="c">long.long</cod |
| bae0 | 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 |
| bb00 | 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>......... |
| bb20 | 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>.............< |
| bb40 | 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | td><code.class="zig"><span.class |
| bb60 | 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 3e 3c 2f | ="tok-type">c_ulonglong</span></ |
| bb80 | 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 3c 63 6f 64 65 20 63 | code></td>...........<td><code.c |
| bba0 | 6c 61 73 73 3d 22 63 22 3e 75 6e 73 69 67 6e 65 64 20 6c 6f 6e 67 20 6c 6f 6e 67 3c 2f 63 6f 64 | lass="c">unsigned.long.long</cod |
| bbc0 | 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 |
| bbe0 | 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>......... |
| bc00 | 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>.............< |
| bc20 | 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | td><code.class="zig"><span.class |
| bc40 | 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>< |
| bc60 | 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 3c 63 6f 64 65 20 | /code></td>...........<td><code. |
| bc80 | 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 3c 2f 74 64 | class="c">long.double</code></td |
| bca0 | 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 20 41 42 49 20 63 6f 6d 70 61 74 69 62 | >...........<td>for.ABI.compatib |
| bcc0 | 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a | ility.with.C</td>.........</tr>. |
| bce0 | 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 64 3e 3c 63 6f | ........<tr>.............<td><co |
| bd00 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| bd20 | 74 79 70 65 22 3e 63 5f 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a | type">c_void</span></code></td>. |
| bd40 | 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 76 6f | ..........<td><code.class="c">vo |
| bd60 | 69 64 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 66 6f 72 | id</code></td>...........<td>for |
| bd80 | 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 43 3c 2f 74 64 3e 0a 20 | .ABI.compatibility.with.C</td>.. |
| bda0 | 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 | .......</tr>..........<tr>...... |
| bdc0 | 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | .......<td><code.class="zig"><sp |
| bde0 | 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 3c 2f | an.class="tok-type">f16</span></ |
| be00 | 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 3c 63 6f 64 65 20 63 | code></td>...........<td><code.c |
| be20 | 6c 61 73 73 3d 22 63 22 3e 5f 46 6c 6f 61 74 31 36 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 | lass="c">_Float16</code></td>... |
| be40 | 20 20 20 20 20 20 20 20 3c 74 64 3e 31 36 2d 62 69 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e | ........<td>16-bit.floating.poin |
| be60 | 74 20 28 31 30 2d 62 69 74 20 6d 61 6e 74 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 | t.(10-bit.mantissa).IEEE-754-200 |
| be80 | 38 20 62 69 6e 61 72 79 31 36 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 | 8.binary16</td>.........</tr>... |
| bea0 | 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 64 3e 3c 63 6f 64 65 | ......<tr>.............<td><code |
| bec0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | .class="zig"><span.class="tok-ty |
| bee0 | 70 65 22 3e 66 33 32 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 | pe">f32</span></code></td>...... |
| bf00 | 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 66 6c 6f 61 74 3c 2f | .....<td><code.class="c">float</ |
| bf20 | 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 33 32 2d 62 69 74 20 | code></td>...........<td>32-bit. |
| bf40 | 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 28 32 33 2d 62 69 74 20 6d 61 6e 74 69 73 73 61 29 | floating.point.(23-bit.mantissa) |
| bf60 | 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 33 32 3c 2f 74 64 3e 0a 20 20 20 | .IEEE-754-2008.binary32</td>.... |
| bf80 | 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>......... |
| bfa0 | 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | ....<td><code.class="zig"><span. |
| bfc0 | 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 3c 2f 63 6f 64 | class="tok-type">f64</span></cod |
| bfe0 | 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 | e></td>...........<td><code.clas |
| c000 | 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 20 20 20 20 20 | s="c">double</code></td>........ |
| c020 | 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 74 20 28 35 32 | ...<td>64-bit.floating.point.(52 |
| c040 | 2d 62 69 74 20 6d 61 6e 74 69 73 73 61 29 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e | -bit.mantissa).IEEE-754-2008.bin |
| c060 | 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 20 20 20 20 20 | ary64</td>.........</tr>........ |
| c080 | 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 | .<tr>.............<td><code.clas |
| c0a0 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-type">f |
| c0c0 | 31 32 38 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 20 | 128</span></code></td>.......... |
| c0e0 | 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 31 32 38 | ...<td><code.class="c">_Float128 |
| c100 | 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 32 38 2d 62 | </code></td>...........<td>128-b |
| c120 | 69 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 | it.floating.point.(112-bit.manti |
| c140 | 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 32 38 3c 2f 74 64 | ssa).IEEE-754-2008.binary128</td |
| c160 | 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>.... |
| c180 | 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 7a 69 67 22 3e 3c | .........<td><code.class="zig">< |
| c1a0 | 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 |
| c1c0 | 3e 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 3c 63 6f 64 | ></code></td>...........<td><cod |
| c1e0 | 65 20 63 6c 61 73 73 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 | e.class="c">bool</code></td>.... |
| c200 | 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | .......<td><code.class="zig"><sp |
| c220 | 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>< |
| c240 | 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | /code>.or.<code.class="zig"><spa |
| c260 | 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>< |
| c280 | 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 | /code></td>.........</tr>....... |
| c2a0 | 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 | ..<tr>.............<td><code.cla |
| c2c0 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-type"> |
| c2e0 | 76 6f 69 64 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 | void</span></code></td>......... |
| c300 | 20 20 3c 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e | ..<td>(none)</td>...........<td> |
| c320 | 30 20 62 69 74 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 | 0.bit.type</td>.........</tr>... |
| c340 | 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 64 3e 3c 63 6f 64 65 | ......<tr>.............<td><code |
| c360 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | .class="zig"><span.class="tok-ty |
| c380 | 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a | pe">noreturn</span></code></td>. |
| c3a0 | 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 20 20 20 20 | ..........<td>(none)</td>....... |
| c3c0 | 20 20 20 20 3c 74 64 3e 74 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d | ....<td>the.type.of.<code.class= |
| c3e0 | 22 7a 69 67 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 | "zig"><span.class="tok-kw">break |
| c400 | 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | </span></code>,.<code.class="zig |
| c420 | 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c | "><span.class="tok-kw">continue< |
| c440 | 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | /span></code>,.<code.class="zig" |
| c460 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 | ><span.class="tok-kw">return</sp |
| c480 | 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | an></code>,.<code.class="zig"><s |
| c4a0 | 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</ |
| c4c0 | 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | span></code>,.and.<code.class="z |
| c4e0 | 69 67 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 | ig"><span.class="tok-kw">while</ |
| c500 | 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 | span>.(<span.class="tok-null">tr |
| c520 | 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 | ue</span>).{}</code></td>....... |
| c540 | 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>............ |
| c560 | 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | .<td><code.class="zig"><span.cla |
| c580 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e | ss="tok-type">type</span></code> |
| c5a0 | 3c 2f 74 64 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 | </td>...........<td>(none)</td>. |
| c5c0 | 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 74 68 65 20 74 79 70 65 20 6f 66 20 74 79 70 65 73 3c | ..........<td>the.type.of.types< |
| c5e0 | 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>. |
| c600 | 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | ............<td><code.class="zig |
| c620 | 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f | "><span.class="tok-type">anyerro |
| c640 | 72 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 20 20 3c | r</span></code></td>...........< |
| c660 | 74 64 3e 28 6e 6f 6e 65 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 61 6e 20 | td>(none)</td>...........<td>an. |
| c680 | 65 72 72 6f 72 20 63 6f 64 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 | error.code</td>.........</tr>... |
| c6a0 | 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 64 3e 3c 63 6f 64 65 | ......<tr>.............<td><code |
| c6c0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | .class="zig"><span.class="tok-ty |
| c6e0 | 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f | pe">comptime_int</span></code></ |
| c700 | 74 64 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 | td>...........<td>(none)</td>... |
| c720 | 20 20 20 20 20 20 20 20 3c 74 64 3e 4f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 3c 61 20 | ........<td>Only.allowed.for.<a. |
| c740 | 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e | href="#comptime">comptime</a>-kn |
| c760 | 6f 77 6e 20 76 61 6c 75 65 73 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 69 6e 74 65 67 65 72 20 | own.values..The.type.of.integer. |
| c780 | 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 20 20 | literals.</td>.........</tr>.... |
| c7a0 | 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 | .....<tr>.............<td><code. |
| c7c0 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | class="zig"><span.class="tok-typ |
| c7e0 | 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c | e">comptime_float</span></code>< |
| c800 | 2f 74 64 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 | /td>...........<td>(none)</td>.. |
| c820 | 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4f 6e 6c 79 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 3c 61 | .........<td>Only.allowed.for.<a |
| c840 | 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b | .href="#comptime">comptime</a>-k |
| c860 | 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 74 20 6c | nown.values..The.type.of.float.l |
| c880 | 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 20 20 20 | iterals.</td>.........</tr>..... |
| c8a0 | 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 70 | ..</table>.......</div>.......<p |
| c8c0 | 3e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 69 6e 74 65 67 | >.......In.addition.to.the.integ |
| c8e0 | 65 72 20 74 79 70 65 73 20 61 62 6f 76 65 2c 20 61 72 62 69 74 72 61 72 79 20 62 69 74 2d 77 69 | er.types.above,.arbitrary.bit-wi |
| c900 | 64 74 68 20 69 6e 74 65 67 65 72 73 20 63 61 6e 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 62 | dth.integers.can.be.referenced.b |
| c920 | 79 20 75 73 69 6e 67 0a 20 20 20 20 20 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 6f 66 20 3c | y.using.......an.identifier.of.< |
| c940 | 63 6f 64 65 3e 69 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 75 3c 2f 63 6f 64 65 3e 20 | code>i</code>.or.<code>u</code>. |
| c960 | 66 6f 6c 6c 6f 77 65 64 20 62 79 20 64 69 67 69 74 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c | followed.by.digits..For.example, |
| c980 | 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 | .the.identifier.......<code.clas |
| c9a0 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-type">i |
| c9c0 | 37 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 67 6e | 7</span></code>.refers.to.a.sign |
| c9e0 | 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 61 6c | ed.7-bit.integer..The.maximum.al |
| ca00 | 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 74 65 | lowed.bit-width.of.an.......inte |
| ca20 | 67 65 72 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | ger.type.is.<code.class="zig"><s |
| ca40 | 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 3c 2f 73 70 | pan.class="tok-number">65535</sp |
| ca60 | 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e | an></code>........</p>.......<p> |
| ca80 | 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="# |
| caa0 | 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e | Integers">Integers</a></li>.<li> |
| cac0 | 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 | <a.href="#Floats">Floats</a></li |
| cae0 | 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f | >.<li><a.href="#void">void</a></ |
| cb00 | 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 | li>.<li><a.href="#Errors">Errors |
| cb20 | 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 22 3e 40 54 | </a></li>.<li><a.href="#Type">@T |
| cb40 | 79 70 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 | ype</a></li>.</ul>.............. |
| cb60 | 20 3c 68 32 20 69 64 3d 22 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 | .<h2.id="Primitive-Values"><a.hr |
| cb80 | 65 66 3d 22 23 74 6f 63 2d 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e 50 72 69 6d 69 | ef="#toc-Primitive-Values">Primi |
| cba0 | 74 69 76 65 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 | tive.Values</a>.<a.class="hdr".h |
| cbc0 | 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f | ref="#Primitive-Values">..</a></ |
| cbe0 | 68 32 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 | h2>........<div.class="table-wra |
| cc00 | 70 70 65 72 22 3e 0a 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 | pper">.......<table>.........<tr |
| cc20 | 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 61 6d | >...........<th>.............Nam |
| cc40 | 65 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 68 3e | e...........</th>...........<th> |
| cc60 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 73 63 72 69 70 74 69 6f 6e 0a 20 20 20 20 20 20 20 | .............Description........ |
| cc80 | 20 20 20 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 20 3c | ...</th>.........</tr>.........< |
| cca0 | 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | tr>.............<td><code.class= |
| ccc0 | 22 7a 69 67 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 | "zig"><span.class="tok-null">tru |
| cce0 | 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d | e</span></code>.and.<code.class= |
| cd00 | 22 7a 69 67 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 | "zig"><span.class="tok-null">fal |
| cd20 | 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 | se</span></code></td>........... |
| cd40 | 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ..<td><code.class="zig"><span.cl |
| cd60 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 | ass="tok-type">bool</span></code |
| cd80 | 3e 20 76 61 6c 75 65 73 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 | >.values</td>.........</tr>..... |
| cda0 | 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 | ....<tr>.............<td><code.c |
| cdc0 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c | lass="zig"><span.class="tok-null |
| cde0 | 22 3e 6e 75 6c 6c 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 | ">null</span></code></td>....... |
| ce00 | 20 20 20 20 20 20 3c 74 64 3e 75 73 65 64 20 74 6f 20 73 65 74 20 61 6e 20 6f 70 74 69 6f 6e 61 | ......<td>used.to.set.an.optiona |
| ce20 | 6c 20 74 79 70 65 20 74 6f 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | l.type.to.<code.class="zig"><spa |
| ce40 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f | n.class="tok-null">null</span></ |
| ce60 | 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 | code></td>.........</tr>........ |
| ce80 | 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 20 63 6c 61 73 | .<tr>.............<td><code.clas |
| cea0 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-null">u |
| cec0 | 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 | ndefined</span></code></td>..... |
| cee0 | 20 20 20 20 20 20 3c 74 64 3e 75 73 65 64 20 74 6f 20 6c 65 61 76 65 20 61 20 76 61 6c 75 65 20 | ......<td>used.to.leave.a.value. |
| cf00 | 75 6e 73 70 65 63 69 66 69 65 64 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 | unspecified</td>.........</tr>.. |
| cf20 | 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 20 20 20 | .....</table>.......</div>...... |
| cf40 | 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 |
| cf60 | 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 | f="#Optionals">Optionals</a></li |
| cf80 | 3e 0a 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 | >.<li><a.href="#undefined">undef |
| cfa0 | 69 6e 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 | ined</a></li>.</ul>............. |
| cfc0 | 20 20 3c 68 32 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 43 68 | ..<h2.id="String-Literals-and-Ch |
| cfe0 | 61 72 61 63 74 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 | aracter-Literals"><a.href="#toc- |
| d000 | 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 2d 61 6e 64 2d 43 68 61 72 61 63 74 65 72 2d 4c 69 | String-Literals-and-Character-Li |
| d020 | 74 65 72 61 6c 73 22 3e 53 74 72 69 6e 67 20 4c 69 74 65 72 61 6c 73 20 61 6e 64 20 43 68 61 72 | terals">String.Literals.and.Char |
| d040 | 61 63 74 65 72 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 | acter.Literals</a>.<a.class="hdr |
| d060 | 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 43 68 61 | ".href="#String-Literals-and-Cha |
| d080 | 72 61 63 74 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 | racter-Literals">..</a></h2>.... |
| d0a0 | 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 61 72 | ....<p>.......String.literals.ar |
| d0c0 | 65 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 63 6f 6e 73 74 61 6e 74 20 3c 61 20 68 72 65 66 3d 22 | e.single-item.constant.<a.href=" |
| d0e0 | 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 6c 2d | #Pointers">Pointers</a>.to.null- |
| d100 | 74 65 72 6d 69 6e 61 74 65 64 20 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 20 62 79 74 65 20 61 72 | terminated.UTF-8.encoded.byte.ar |
| d120 | 72 61 79 73 2e 0a 20 20 20 20 20 20 54 68 65 20 74 79 70 65 20 6f 66 20 73 74 72 69 6e 67 20 6c | rays........The.type.of.string.l |
| d140 | 69 74 65 72 61 6c 73 20 65 6e 63 6f 64 65 73 20 62 6f 74 68 20 74 68 65 20 6c 65 6e 67 74 68 2c | iterals.encodes.both.the.length, |
| d160 | 20 61 6e 64 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 6e 75 6c 6c | .and.the.fact.that.they.are.null |
| d180 | 2d 74 65 72 6d 69 6e 61 74 65 64 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 75 73 20 74 68 65 79 | -terminated,.......and.thus.they |
| d1a0 | 20 63 61 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 | .can.be.<a.href="#Type-Coercion" |
| d1c0 | 3e 63 6f 65 72 63 65 64 3c 2f 61 3e 20 74 6f 20 62 6f 74 68 20 3c 61 20 68 72 65 66 3d 22 23 53 | >coerced</a>.to.both.<a.href="#S |
| d1e0 | 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 | lices">Slices</a>.and.......<a.h |
| d200 | 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 | ref="#Sentinel-Terminated-Pointe |
| d220 | 72 73 22 3e 4e 75 6c 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e | rs">Null-Terminated.Pointers</a> |
| d240 | 2e 0a 20 20 20 20 20 20 44 65 72 65 66 65 72 65 6e 63 69 6e 67 20 73 74 72 69 6e 67 20 6c 69 74 | ........Dereferencing.string.lit |
| d260 | 65 72 61 6c 73 20 63 6f 6e 76 65 72 74 73 20 74 68 65 6d 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 | erals.converts.them.to.<a.href=" |
| d280 | 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | #Arrays">Arrays</a>........</p>. |
| d2a0 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 68 61 72 61 63 74 65 72 20 6c 69 74 65 72 61 | ......<p>.......Character.litera |
| d2c0 | 6c 73 20 68 61 76 65 20 74 79 70 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | ls.have.type.<code.class="zig">< |
| d2e0 | 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 |
| d300 | 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 20 | nt</span></code>,.the.same.as... |
| d320 | 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e | ....<a.href="#Integer-Literals"> |
| d340 | 49 6e 74 65 67 65 72 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 2e 20 41 6c 6c 20 3c 61 20 68 72 65 | Integer.Literals</a>..All.<a.hre |
| d360 | 66 3d 22 23 45 73 63 61 70 65 2d 53 65 71 75 65 6e 63 65 73 22 3e 45 73 63 61 70 65 20 53 65 71 | f="#Escape-Sequences">Escape.Seq |
| d380 | 75 65 6e 63 65 73 3c 2f 61 3e 20 61 72 65 20 76 61 6c 69 64 20 69 6e 20 62 6f 74 68 20 73 74 72 | uences</a>.are.valid.in.both.str |
| d3a0 | 69 6e 67 20 6c 69 74 65 72 61 6c 73 0a 20 20 20 20 20 20 61 6e 64 20 63 68 61 72 61 63 74 65 72 | ing.literals.......and.character |
| d3c0 | 20 6c 69 74 65 72 61 6c 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 | .literals........</p>.......<p.c |
| d3e0 | 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f | lass="file">test.zig</p><pre><co |
| d400 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| d420 | 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 | kw">const</span>.assert.=.<span. |
| d440 | 63 6c 61 73 73 3d 22 74 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 |
| d460 | 6e 3e 28 3c 73 70 61 6e 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">"s |
| d480 | 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 3c | td"</span>).debug.assert;.< |
| d4a0 | 73 70 61 6e 20 63 6c 61 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> |
| d4c0 | 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 | .mem.=.<span.class="tok-builtin" |
| d4e0 | 3e 40 69 6d 70 6f 72 74 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 |
| d500 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 | -str">"std"</span>).me |
| d520 | 6d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 | m;..<span.class="tok-kw">test</s |
| d540 | 70 61 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">" |
| d560 | 3b 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a | ;string.literals"</span>.{. |
| d580 | 20 20 20 20 3c 73 70 61 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</ |
| d5a0 | 73 70 61 6e 3e 20 62 79 74 65 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 | span>.bytes.=.<span.class="tok-s |
| d5c0 | 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 0a 20 20 | tr">"hello"</span>;... |
| d5e0 | 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 | ..assert(<span.class="tok-builti |
| d600 | 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 62 79 74 65 73 29 20 3d 3d 20 2a 3c 73 70 | n">@TypeOf</span>(bytes).==.*<sp |
| d620 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5b | an.class="tok-kw">const</span>.[ |
| d640 | 3c 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 |
| d660 | 3e 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 | >:<span.class="tok-number">0</sp |
| d680 | 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 |
| d6a0 | 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 62 79 74 65 73 2e 6c 65 6e 20 3d 3d 20 3c | pan>);.....assert(bytes.len.==.< |
| d6c0 | 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> |
| d6e0 | 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 62 79 74 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d | );.....assert(bytes[<span.class= |
| d700 | 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 | "tok-number">1</span>].==.<span. |
| d720 | 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 29 3b 0a 20 20 20 | class="tok-str">'e'</span>);.... |
| d740 | 20 61 73 73 65 72 74 28 62 79 74 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | .assert(bytes[<span.class="tok-n |
| d760 | 75 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 | umber">5</span>].==.<span.class= |
| d780 | 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 | "tok-number">0</span>);.....asse |
| d7a0 | 72 74 28 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 | rt(<span.class="tok-str">'e'</sp |
| d7c0 | 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 78 | an>.==.<span.class="tok-str">'\x |
| d7e0 | 36 35 27 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c | 65'</span>);.....assert(<span.cl |
| d800 | 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 75 7b 31 66 34 61 39 7d 27 3c 2f 73 70 61 6e 3e | ass="tok-str">'\u{1f4a9}'</span> |
| d820 | 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 38 | .==.<span.class="tok-number">128 |
| d840 | 31 36 39 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c | 169</span>);.....assert(<span.cl |
| d860 | 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 f0 9f 92 af 27 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c | ass="tok-str">'....'</span>.==.< |
| d880 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 38 31 37 35 3c 2f | span.class="tok-number">128175</ |
| d8a0 | 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e | span>);.....assert(mem.eql(<span |
| d8c0 | 20 63 6c 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 |
| d8e0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 | an.class="tok-str">"hello&q |
| d900 | 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 |
| d920 | 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 29 | r">"h\x65llo"</span>)) |
| d940 | 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | ;.}</code></pre><pre><code.class |
| d960 | 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 | ="shell">$.zig.test.test.zig.1/1 |
| d980 | 20 74 65 73 74 20 26 71 75 6f 74 3b 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 26 71 75 6f 74 | .test."string.literals" |
| d9a0 | 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 | ;...OK.All.1.tests.passed..</cod |
| d9c0 | 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e | e></pre>........<p>See.also:</p> |
| d9e0 | 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 | <ul>.<li><a.href="#Arrays">Array |
| da00 | 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 5a 69 67 2d 54 65 73 | s</a></li>.<li><a.href="#Zig-Tes |
| da20 | 74 22 3e 5a 69 67 20 54 65 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 | t">Zig.Test</a></li>.<li><a.href |
| da40 | 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 64 | ="#Source-Encoding">Source.Encod |
| da60 | 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 33 20 69 64 | ing</a></li>.</ul>........<h3.id |
| da80 | 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 6f | ="Escape-Sequences"><a.href="#to |
| daa0 | 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 65 | c-Escape-Sequences">Escape.Seque |
| dac0 | 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 45 | nces</a>.<a.class="hdr".href="#E |
| dae0 | 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 33 3e 0a 0a 20 20 | scape-Sequences">..</a></h3>.... |
| db00 | 20 20 20 20 3c 64 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a | ....<div.class="table-wrapper">. |
| db20 | 20 20 20 20 20 20 3c 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 | ......<table>.........<tr>...... |
| db40 | 20 20 20 20 20 3c 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 73 63 61 70 65 20 53 65 71 | .....<th>.............Escape.Seq |
| db60 | 75 65 6e 63 65 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 | uence...........</th>........... |
| db80 | 3c 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 | <th>.............Name........... |
| dba0 | 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 20 3c 74 72 3e | </th>.........</tr>.........<tr> |
| dbc0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 5c 6e 3c 2f 63 6f 64 65 3e | .............<td><code>\n</code> |
| dbe0 | 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 4e 65 77 6c 69 6e 65 3c 2f 74 64 3e | </td>...........<td>Newline</td> |
| dc00 | 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>..... |
| dc20 | 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 5c 72 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e | ........<td><code>\r</code></td> |
| dc40 | 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 43 61 72 72 69 61 67 65 20 52 65 74 75 72 6e 3c 2f | ...........<td>Carriage.Return</ |
| dc60 | 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>.. |
| dc80 | 20 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 5c 74 3c 2f 63 6f 64 65 3e 3c 2f | ...........<td><code>\t</code></ |
| dca0 | 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 54 61 62 3c 2f 74 64 3e 0a 20 20 20 20 20 | td>...........<td>Tab</td>...... |
| dcc0 | 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>........... |
| dce0 | 20 20 3c 74 64 3e 3c 63 6f 64 65 3e 5c 5c 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 | ..<td><code>\\</code></td>...... |
| dd00 | 20 20 20 20 20 3c 74 64 3e 42 61 63 6b 73 6c 61 73 68 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 | .....<td>Backslash</td>......... |
| dd20 | 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>.............< |
| dd40 | 74 64 3e 3c 63 6f 64 65 3e 5c 27 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 | td><code>\'</code></td>......... |
| dd60 | 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 20 20 | ..<td>Single.Quote</td>......... |
| dd80 | 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>.............< |
| dda0 | 74 64 3e 3c 63 6f 64 65 3e 5c 22 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 | td><code>\"</code></td>......... |
| ddc0 | 20 20 3c 74 64 3e 44 6f 75 62 6c 65 20 51 75 6f 74 65 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 | ..<td>Double.Quote</td>......... |
| dde0 | 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>.............< |
| de00 | 74 64 3e 3c 63 6f 64 65 3e 5c 78 4e 4e 3c 2f 63 6f 64 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 | td><code>\xNN</code></td>....... |
| de20 | 20 20 20 20 3c 74 64 3e 68 65 78 61 64 65 63 69 6d 61 6c 20 38 2d 62 69 74 20 63 68 61 72 61 63 | ....<td>hexadecimal.8-bit.charac |
| de40 | 74 65 72 20 63 6f 64 65 20 28 32 20 64 69 67 69 74 73 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 | ter.code.(2.digits)</td>........ |
| de60 | 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>............. |
| de80 | 3c 74 64 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 64 3e | <td><code>\u{NNNNNN}</code></td> |
| dea0 | 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 63 6f | ...........<td>hexadecimal.Unico |
| dec0 | 64 65 20 63 68 61 72 61 63 74 65 72 20 63 6f 64 65 20 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 20 | de.character.code.UTF-8.encoded. |
| dee0 | 28 31 20 6f 72 20 6d 6f 72 65 20 64 69 67 69 74 73 29 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 | (1.or.more.digits)</td>......... |
| df00 | 3c 2f 74 72 3e 0a 20 20 20 20 20 20 3c 2f 74 61 62 6c 65 3e 0a 20 20 20 20 20 20 3c 2f 64 69 76 | </tr>.......</table>.......</div |
| df20 | 3e 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 6d 61 78 69 6d 75 6d | >.......<p>Note.that.the.maximum |
| df40 | 20 76 61 6c 69 64 20 55 6e 69 63 6f 64 65 20 70 6f 69 6e 74 20 69 73 20 3c 63 6f 64 65 20 63 6c | .valid.Unicode.point.is.<code.cl |
| df60 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | ass="zig"><span.class="tok-numbe |
| df80 | 72 22 3e 30 78 31 30 66 66 66 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 | r">0x10ffff</span></code>.</p>.. |
| dfa0 | 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 4d 75 6c 74 69 6c 69 6e 65 2d 53 74 | ............<h3.id="Multiline-St |
| dfc0 | 72 69 6e 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 | ring-Literals"><a.href="#toc-Mul |
| dfe0 | 74 69 6c 69 6e 65 2d 53 74 72 69 6e 67 2d 4c 69 74 65 72 61 6c 73 22 3e 4d 75 6c 74 69 6c 69 6e | tiline-String-Literals">Multilin |
| e000 | 65 20 53 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 | e.String.Literals</a>.<a.class=" |
| e020 | 68 64 72 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 | hdr".href="#Multiline-String-Lit |
| e040 | 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 | erals">..</a></h3>........<p>... |
| e060 | 20 20 20 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 | ....Multiline.string.literals.ha |
| e080 | 76 65 20 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 | ve.no.escapes.and.can.span.acros |
| e0a0 | 73 20 6d 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 | s.multiple.lines........To.start |
| e0c0 | 20 61 20 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 | .a.multiline.string.literal,.use |
| e0e0 | 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | .the.<code.class="zig"><span.cla |
| e100 | 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f | ss="tok-str">\\</span></code>.to |
| e120 | 6b 65 6e 2e 20 4a 75 73 74 20 6c 69 6b 65 20 61 20 63 6f 6d 6d 65 6e 74 2c 0a 20 20 20 20 20 20 | ken..Just.like.a.comment,....... |
| e140 | 74 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 67 6f 65 73 20 75 6e 74 69 6c 20 74 68 | the.string.literal.goes.until.th |
| e160 | 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6c 69 6e 65 2e 20 54 68 65 20 65 6e 64 20 6f 66 20 74 68 | e.end.of.the.line..The.end.of.th |
| e180 | 65 20 6c 69 6e 65 20 69 73 0a 20 20 20 20 20 20 6e 6f 74 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 | e.line.is.......not.included.in. |
| e1a0 | 74 68 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 | the.string.literal........Howeve |
| e1c0 | 72 2c 20 69 66 20 74 68 65 20 6e 65 78 74 20 6c 69 6e 65 20 62 65 67 69 6e 73 20 77 69 74 68 20 | r,.if.the.next.line.begins.with. |
| e1e0 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| e200 | 6f 6b 2d 73 74 72 22 3e 5c 5c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 68 65 6e 20 61 20 | ok-str">\\</span></code>.then.a. |
| e220 | 6e 65 77 6c 69 6e 65 20 69 73 20 61 70 70 65 6e 64 65 64 20 61 6e 64 0a 20 20 20 20 20 20 74 68 | newline.is.appended.and.......th |
| e240 | 65 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 63 6f 6e 74 69 6e 75 65 73 2e 0a 20 20 20 20 | e.string.literal.continues...... |
| e260 | 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 7a | ..</p>.......<pre><code.class="z |
| e280 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | ig"><span.class="tok-kw">const</ |
| e2a0 | 73 70 61 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 5f 69 6e 5f 63 20 3d 0a 20 20 20 20 3c 73 70 | span>.hello_world_in_c.=.....<sp |
| e2c0 | 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 26 6c | an.class="tok-str">\\#include.&l |
| e2e0 | 74 3b 73 74 64 69 6f 2e 68 26 67 74 3b 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 3c 73 70 61 6e 20 63 | t;stdio.h>.</span>....<span.c |
| e300 | 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 3c 73 70 | lass="tok-str">\\.</span>....<sp |
| e320 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 69 6e 74 20 6d 61 69 6e 28 69 6e | an.class="tok-str">\\int.main(in |
| e340 | 74 20 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 20 7b 0a 3c 2f 73 70 61 6e 3e 20 20 | t.argc,.char.**argv).{.</span>.. |
| e360 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 20 20 20 20 70 72 | ..<span.class="tok-str">\\....pr |
| e380 | 69 6e 74 66 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 5c 6e 26 71 75 6f 74 3b 29 3b | intf("hello.world\n"); |
| e3a0 | 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 | .</span>....<span.class="tok-str |
| e3c0 | 22 3e 5c 5c 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 3c 73 70 | ">\\....return.0;.</span>....<sp |
| e3e0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 7d 0a 3c 2f 73 70 61 6e 3e 3b 3c | an.class="tok-str">\\}.</span>;< |
| e400 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c | /code></pre>.......<p>See.also:< |
| e420 | 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 6d 62 65 64 46 69 6c 65 22 | /p><ul>.<li><a.href="#embedFile" |
| e440 | 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 | >@embedFile</a></li>.</ul>...... |
| e460 | 20 20 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 69 67 6e 6d 65 | ................<h2.id="Assignme |
| e480 | 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 73 73 69 67 6e 6d 65 6e 74 22 3e 41 73 | nt"><a.href="#toc-Assignment">As |
| e4a0 | 73 69 67 6e 6d 65 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 | signment</a>.<a.class="hdr".href |
| e4c0 | 3d 22 23 41 73 73 69 67 6e 6d 65 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 | ="#Assignment">..</a></h2>...... |
| e4e0 | 20 20 3c 70 3e 55 73 65 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | ..<p>Use.the.<code.class="zig">< |
| e500 | 73 70 61 6e 20 63 6c 61 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> |
| e520 | 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 74 6f 20 61 73 73 69 67 6e 20 61 20 76 61 6c 75 | </code>.keyword.to.assign.a.valu |
| e540 | 65 20 74 6f 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 | e.to.an.identifier:</p>.......<p |
| e560 | 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c | .class="file">test.zig</p><pre>< |
| e580 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| e5a0 | 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 | k-kw">const</span>.x.=.<span.cla |
| e5c0 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 | ss="tok-number">1234</span>;..<s |
| e5e0 | 70 61 6e 20 63 6c 61 73 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 |
| e600 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c | an.class="tok-fn">foo</span>().< |
| e620 | 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 |
| e640 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 | >.{.....<span.class="tok-comment |
| e660 | 22 3e 2f 2f 20 49 74 20 77 6f 72 6b 73 20 61 74 20 67 6c 6f 62 61 6c 20 73 63 6f 70 65 20 61 73 | ">//.It.works.at.global.scope.as |
| e680 | 20 77 65 6c 6c 20 61 73 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e | .well.as.inside.functions.</span |
| e6a0 | 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | >.....<span.class="tok-kw">const |
| e6c0 | 3c 2f 73 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d | </span>.y.=.<span.class="tok-num |
| e6e0 | 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | ber">5678</span>;......<span.cla |
| e700 | 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 6e 63 65 20 61 73 73 69 67 6e 65 | ss="tok-comment">//.Once.assigne |
| e720 | 64 2c 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 63 61 6e 6e 6f 74 20 62 65 20 63 68 61 6e 67 | d,.an.identifier.cannot.be.chang |
| e740 | 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 79 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ed.</span>.....y.+=.<span.class= |
| e760 | 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 | "tok-number">1</span>;.}..<span. |
| e780 | 63 6c 61 73 73 3d 22 74 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 |
| e7a0 | 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 73 69 67 6e 6d 65 6e | .class="tok-str">"assignmen |
| e7c0 | 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 29 3b 0a 7d 3c 2f 63 | t"</span>.{.....foo();.}</c |
| e7e0 | 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c | ode></pre><pre><code.class="shel |
| e800 | 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 | l">$.zig.test.test.zig.<span.cla |
| e820 | 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: |
| e840 | 38 3a 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 22 3e | 8:7:.</span><span.class="t31_1"> |
| e860 | 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" |
| e880 | 3e 63 61 6e 6e 6f 74 20 61 73 73 69 67 6e 20 74 6f 20 63 6f 6e 73 74 61 6e 74 3c 2f 73 70 61 6e | >cannot.assign.to.constant</span |
| e8a0 | 3e 0a 20 20 20 20 79 20 2b 3d 20 31 3b 0a 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | >.....y.+=.1;.......<span.class= |
| e8c0 | 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a | "t32_1">^</span>.</code></pre>.. |
| e8e0 | 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | ......<p><code.class="zig"><span |
| e900 | 20 63 6c 61 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 63 6f | .class="tok-kw">const</span></co |
| e920 | 64 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 | de>.applies.to.all.of.the.bytes. |
| e940 | 74 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 | that.the.identifier.immediately. |
| e960 | 61 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 | addresses..<a.href="#Pointers">P |
| e980 | 6f 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 | ointers</a>.have.their.own.const |
| e9a0 | 2d 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 | -ness.</p>.......<p>If.you.need. |
| e9c0 | 61 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 | a.variable.that.you.can.modify,. |
| e9e0 | 75 73 65 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | use.the.<code.class="zig"><span. |
| ea00 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e | class="tok-kw">var</span></code> |
| ea20 | 20 6b 65 79 77 6f 72 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 | .keyword:</p>.......<p.class="fi |
| ea40 | 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | le">test.zig</p><pre><code.class |
| ea60 | 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | ="zig"><span.class="tok-kw">cons |
| ea80 | 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | t</span>.assert.=.<span.class="t |
| eaa0 | 6f 6b 2d 62 75 69 6c 74 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 |
| eac0 | 20 63 6c 61 73 73 3d 22 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">"std" |
| eae0 | 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c | </span>).debug.assert;..<span.cl |
| eb00 | 61 73 73 3d 22 74 6f 6b 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 |
| eb20 | 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 26 71 75 6f 74 3b 3c 2f | lass="tok-str">"var"</ |
| eb40 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | span>.{.....<span.class="tok-kw" |
| eb60 | 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- |
| eb80 | 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=" |
| eba0 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 79 20 | tok-number">5678</span>;......y. |
| ebc0 | 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 |
| ebe0 | 70 61 6e 3e 3b 0a 0a 20 20 20 20 61 73 73 65 72 74 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 | pan>;......assert(y.==.<span.cla |
| ec00 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 39 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c | ss="tok-number">5679</span>);.}< |
| ec20 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 | /code></pre><pre><code.class="sh |
| ec40 | 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 | ell">$.zig.test.test.zig.1/1.tes |
| ec60 | 74 20 26 71 75 6f 74 3b 76 61 72 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 | t."var"...OK.All.1.tes |
| ec80 | 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 | ts.passed..</code></pre>........ |
| eca0 | 3c 70 3e 56 61 72 69 61 62 6c 65 73 20 6d 75 73 74 20 62 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 | <p>Variables.must.be.initialized |
| ecc0 | 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 | :</p>.......<p.class="file">test |
| ece0 | 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | .zig</p><pre><code.class="zig">< |
| ed00 | 73 70 61 6e 20 63 6c 61 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>. |
| ed20 | 3c 73 70 61 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 69 74 | <span.class="tok-str">"init |
| ed40 | 69 61 6c 69 7a 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 | ialization"</span>.{.....<s |
| ed60 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a | pan.class="tok-kw">var</span>.x: |
| ed80 | 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 |
| eda0 | 6e 3e 3b 0a 0a 20 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 | n>;......x.=.<span.class="tok-nu |
| edc0 | 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 | mber">1</span>;.}</code></pre><p |
| ede0 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 | re><code.class="shell">$.zig.tes |
| ee00 | 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f | t.test.zig.<span.class="t0_1">./ |
| ee20 | 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 35 3a 20 3c 2f 73 70 61 6e 3e | docgen_tmp/test.zig:2:5:.</span> |
| ee40 | 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 |
| ee60 | 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 76 61 72 69 61 62 6c 65 73 20 6d | n><span.class="t0_1">variables.m |
| ee80 | 75 73 74 20 62 65 20 69 6e 69 74 69 61 6c 69 7a 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 76 61 | ust.be.initialized</span>.....va |
| eea0 | 72 20 78 3a 20 69 33 32 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 | r.x:.i32;.....<span.class="t32_1 |
| eec0 | 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 | ">^</span>.</code></pre>........ |
| eee0 | 3c 68 33 20 69 64 3d 22 75 6e 64 65 66 69 6e 65 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 | <h3.id="undefined"><a.href="#toc |
| ef00 | 2d 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 | -undefined">undefined</a>.<a.cla |
| ef20 | 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e c2 a7 3c 2f 61 | ss="hdr".href="#undefined">..</a |
| ef40 | 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 55 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 | ></h3>........<p>Use.<code.class |
| ef60 | 3d 22 7a 69 67 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 | ="zig"><span.class="tok-null">un |
| ef80 | 64 65 66 69 6e 65 64 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 | defined</span></code>.to.leave.v |
| efa0 | 61 72 69 61 62 6c 65 73 20 75 6e 69 6e 69 74 69 61 6c 69 7a 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 | ariables.uninitialized:</p>..... |
| efc0 | 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 | ..<p.class="file">test.zig</p><p |
| efe0 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| f000 | 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 74 20 3d 20 | ="tok-kw">const</span>.assert.=. |
| f020 | 3c 73 70 61 6e 20 63 6c 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 |
| f040 | 74 3c 2f 73 70 61 6e 3e 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">& |
| f060 | 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 61 73 73 | quot;std"</span>).debug.ass |
| f080 | 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c | ert;..<span.class="tok-kw">test< |
| f0a0 | 2f 73 70 61 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 |
| f0c0 | 6f 74 3b 69 6e 69 74 20 77 69 74 68 20 75 6e 64 65 66 69 6e 65 64 26 71 75 6f 74 3b 3c 2f 73 70 | ot;init.with.undefined"</sp |
| f0e0 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 | an>.{.....<span.class="tok-kw">v |
| f100 | 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | ar</span>.x:.<span.class="tok-ty |
| f120 | 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 |
| f140 | 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 78 20 | k-null">undefined</span>;.....x. |
| f160 | 3d 20 3c 73 70 61 6e 20 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 |
| f180 | 61 6e 3e 3b 0a 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 | an>;.....assert(x.==.<span.class |
| f1a0 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 | ="tok-number">1</span>);.}</code |
| f1c0 | 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e | ></pre><pre><code.class="shell"> |
| f1e0 | 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 | $.zig.test.test.zig.1/1.test.&qu |
| f200 | 6f 74 3b 69 6e 69 74 20 77 69 74 68 20 75 6e 64 65 66 69 6e 65 64 26 71 75 6f 74 3b 2e 2e 2e 4f | ot;init.with.undefined"...O |
| f220 | 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 | K.All.1.tests.passed..</code></p |
| f240 | 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 | re>........<p>.......<code.class |
| f260 | 3d 22 7a 69 67 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 | ="zig"><span.class="tok-null">un |
| f280 | 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 3c 61 20 | defined</span></code>.can.be.<a. |
| f2a0 | 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 | href="#Type-Coercion">coerced</a |
| f2c0 | 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 6e 63 65 20 74 68 | >.to.any.type............Once.th |
| f2e0 | 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 72 20 70 6f 73 73 | is.happens,.it.is.no.longer.poss |
| f300 | 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 6c 75 65 20 69 73 | ible.to.detect.that.the.value.is |
| f320 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .<code.class="zig"><span.class=" |
| f340 | 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 63 6f 64 65 | tok-null">undefined</span></code |
| f360 | 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | >................<code.class="zi |
| f380 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 | g"><span.class="tok-null">undefi |
| f3a0 | 6e 65 64 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 6c 75 | ned</span></code>.means.the.valu |
| f3c0 | 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 74 68 | e.could.be.anything,.even.someth |
| f3e0 | 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 20 20 | ing.that.is.nonsense............ |
| f400 | 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 54 72 | .......according.to.the.type..Tr |
| f420 | 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 20 63 6c 61 | anslated.into.English,.<code.cla |
| f440 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-null"> |
| f460 | 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 65 61 6e 73 20 22 4e | undefined</span></code>.means."N |
| f480 | 6f 74 20 61 20 6d 65 61 6e 69 6e 67 66 75 6c 0a 20 20 20 20 20 20 76 61 6c 75 65 2e 20 55 73 69 | ot.a.meaningful.......value..Usi |
| f4a0 | 6e 67 20 74 68 69 73 20 76 61 6c 75 65 20 77 6f 75 6c 64 20 62 65 20 61 20 62 75 67 2e 20 54 68 | ng.this.value.would.be.a.bug..Th |
| f4c0 | 65 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 75 6e 75 73 65 64 2c 20 6f 72 20 6f 76 65 72 77 | e.value.will.be.unused,.or.overw |
| f4e0 | 72 69 74 74 65 6e 20 62 65 66 6f 72 65 20 62 65 69 6e 67 20 75 73 65 64 2e 22 0a 20 20 20 20 20 | ritten.before.being.used."...... |
| f500 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 3c 61 20 68 72 65 66 | .</p>.......<p>.......In.<a.href |
| f520 | 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 6d 6f 64 65 2c 20 5a 69 67 20 77 72 | ="#Debug">Debug</a>.mode,.Zig.wr |
| f540 | 69 74 65 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | ites.<code.class="zig"><span.cla |
| f560 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 61 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 | ss="tok-number">0xaa</span></cod |
| f580 | 65 3e 20 62 79 74 65 73 20 74 6f 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 6d 6f 72 79 2e 20 54 68 | e>.bytes.to.undefined.memory..Th |
| f5a0 | 69 73 20 69 73 20 74 6f 20 63 61 74 63 68 0a 20 20 20 20 20 20 62 75 67 73 20 65 61 72 6c 79 2c | is.is.to.catch.......bugs.early, |
| f5c0 | 20 61 6e 64 20 74 6f 20 68 65 6c 70 20 64 65 74 65 63 74 20 75 73 65 20 6f 66 20 75 6e 64 65 66 | .and.to.help.detect.use.of.undef |
| f5e0 | 69 6e 65 64 20 6d 65 6d 6f 72 79 20 69 6e 20 61 20 64 65 62 75 67 67 65 72 2e 0a 20 20 20 20 20 | ined.memory.in.a.debugger....... |
| f600 | 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 0a 0a 20 20 20 20 | .</p>........................... |
| f620 | 20 20 3c 68 31 20 69 64 3d 22 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 | ..<h1.id="Variables"><a.href="#t |
| f640 | 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 3e 20 3c 61 20 63 | oc-Variables">Variables</a>.<a.c |
| f660 | 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 73 22 3e c2 a7 3c | lass="hdr".href="#Variables">..< |
| f680 | 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 76 61 72 69 | /a></h1>........<p>.......A.vari |
| f6a0 | 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 22 23 4d 65 6d 6f | able.is.a.unit.of.<a.href="#Memo |
| f6c0 | 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 20 20 20 20 3c 2f | ry">Memory</a>.storage........</ |
| f6e0 | 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 56 61 72 69 61 62 6c 65 73 20 61 72 65 | p>.......<p>.......Variables.are |
| f700 | 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 69 66 | .never.allowed.to.shadow.identif |
| f720 | 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 20 20 | iers.from.an.outer.scope........ |
| f740 | 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 65 6e 65 72 | </p>.......<p>.......It.is.gener |
| f760 | 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 20 63 6c 61 | ally.preferable.to.use.<code.cla |
| f780 | 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | ss="zig"><span.class="tok-kw">co |
| f7a0 | 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 61 74 68 65 72 20 74 68 61 6e 0a 20 20 | nst</span></code>.rather.than... |
| f7c0 | 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | ....<code.class="zig"><span.clas |
| f7e0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 65 | s="tok-kw">var</span></code>.whe |
| f800 | 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 |
| f820 | 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 |
| f840 | 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 |
| f860 | 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 |
| f880 | 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........</ |
| f8a0 | 70 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 47 6c 6f 62 61 6c 2d 56 61 72 69 61 62 6c 65 | p>.......<h2.id="Global-Variable |
| f8c0 | 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 47 6c 6f 62 61 6c 2d 56 61 72 69 61 62 6c 65 | s"><a.href="#toc-Global-Variable |
| f8e0 | 73 22 3e 47 6c 6f 62 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 | s">Global.Variables</a>.<a.class |
| f900 | 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 47 6c 6f 62 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e | ="hdr".href="#Global-Variables"> |
| f920 | 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 47 6c 6f | ..</a></h2>........<p>.......Glo |
| f940 | 62 61 6c 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 | bal.variables.are.considered.to. |
| f960 | 62 65 20 61 20 74 6f 70 20 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 2c 20 77 68 69 63 | be.a.top.level.declaration,.whic |
| f980 | 68 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 79 20 61 72 65 0a 20 20 20 20 20 20 6f 72 64 65 | h.means.that.they.are.......orde |
| f9a0 | 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 61 6c 79 7a 65 | r-independent.and.lazily.analyze |
| f9c0 | 64 2e 20 54 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 76 61 6c 75 65 20 6f 66 20 67 | d..The.initialization.value.of.g |
| f9e0 | 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 73 20 69 73 20 69 6d 70 6c 69 63 69 74 6c 79 0a 20 20 | lobal.variables.is.implicitly... |
| fa00 | 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 |
| fa20 | 3c 2f 61 3e 2e 20 49 66 20 61 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 69 73 20 3c 63 | </a>..If.a.global.variable.is.<c |
| fa40 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| fa60 | 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 68 65 6e 20 69 74 | -kw">const</span></code>.then.it |
| fa80 | 73 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | s.value.is.......<code.class="zi |
| faa0 | 67 22 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 | g"><span.class="tok-kw">comptime |
| fac0 | 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2d 6b 6e 6f 77 6e 2c 20 6f 74 68 65 72 77 69 73 65 20 | </span></code>-known,.otherwise. |
| fae0 | 69 74 20 69 73 20 72 75 6e 74 69 6d 65 2d 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | it.is.runtime-known........</p>. |
| fb00 | 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 67 6c 6f 62 61 6c 5f 76 61 72 | ......<p.class="file">global_var |
| fb20 | 69 61 62 6c 65 73 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | iables.zig</p><pre><code.class=" |
| fb40 | 7a 69 67 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 | zig"><span.class="tok-kw">var</s |
| fb60 | 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 |
| fb80 | 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 |
| fba0 | 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 78 29 3b 0a 3c 73 70 61 6e 20 63 6c | -number">10</span>,.x);.<span.cl |
| fbc0 | 61 73 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 | ass="tok-kw">const</span>.x:.<sp |
| fbe0 | 61 6e 20 63 6c 61 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>.= |
| fc00 | 20 61 64 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 | .add(<span.class="tok-number">12 |
| fc20 | 3c 2f 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 |
| fc40 | 22 3e 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ">34</span>);..<span.class="tok- |
| fc60 | 6b 77 22 3e 74 65 73 74 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 |
| fc80 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 73 26 71 75 6f | -str">"global.variables&quo |
| fca0 | 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 78 20 3d 3d 20 3c 73 70 61 | t;</span>.{.....assert(x.==.<spa |
| fcc0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 29 3b | n.class="tok-number">46</span>); |
| fce0 | 0a 20 20 20 20 61 73 73 65 72 74 28 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | .....assert(y.==.<span.class="to |
| fd00 | 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 | k-number">56</span>);.}..<span.c |
| fd20 | 6c 61 73 73 3d 22 74 6f 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 |
| fd40 | 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e | ass="tok-fn">add</span>(a:.<span |
| fd60 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a | .class="tok-type">i32</span>,.b: |
| fd80 | 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 |
| fda0 | 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</ |
| fdc0 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | span>.{.....<span.class="tok-kw" |
| fde0 | 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 | >return</span>.a.+.b;.}..<span.c |
| fe00 | 6c 61 73 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.= |
| fe20 | 20 3c 73 70 61 6e 20 63 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 |
| fe40 | 72 74 3c 2f 73 70 61 6e 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"> |
| fe60 | 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 | "std"</span>);.<span.c |
| fe80 | 6c 61 73 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 |
| fea0 | 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | t.=.std.debug.assert;</code></pr |
| fec0 | 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 | e><pre><code.class="shell">$.zig |
| fee0 | 20 74 65 73 74 20 67 6c 6f 62 61 6c 5f 76 61 72 69 61 62 6c 65 73 2e 7a 69 67 0a 31 2f 31 20 74 | .test.global_variables.zig.1/1.t |
| ff00 | 65 73 74 20 26 71 75 6f 74 3b 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 73 26 71 75 6f 74 3b | est."global.variables" |
| ff20 | 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 | ...OK.All.1.tests.passed..</code |
| ff40 | 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 47 6c 6f 62 61 6c 20 | ></pre>........<p>.......Global. |
| ff60 | 76 61 72 69 61 62 6c 65 73 20 6d 61 79 20 62 65 20 64 65 63 6c 61 72 65 64 20 69 6e 73 69 64 65 | variables.may.be.declared.inside |
| ff80 | 20 61 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2c | .a.<a.href="#struct">struct</a>, |
| ffa0 | 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 2c 20 6f 72 20 | .<a.href="#union">union</a>,.or. |
| ffc0 | 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 | <a.href="#enum">enum</a>:....... |
| ffe0 | 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6e 61 6d 65 73 | </p>.......<p.class="file">names |
| 10000 | 70 61 63 65 64 5f 67 6c 6f 62 61 6c 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | paced_global.zig</p><pre><code.c |
| 10020 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | lass="zig"><span.class="tok-kw"> |
| 10040 | 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=" |
| 10060 | 74 6f 6b 2d 62 75 69 6c 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 |
| 10080 | 6e 20 63 6c 61 73 73 3d 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">"std" |
| 100a0 | 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ;</span>);.<span.class="tok-kw"> |
| 100c0 | 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e | const</span>.assert.=.std.debug. |
| 100e0 | 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 | assert;..<span.class="tok-kw">te |
| 10100 | 73 74 3c 2f 73 70 61 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"> |
| 10120 | 26 71 75 6f 74 3b 6e 61 6d 65 73 70 61 63 65 64 20 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 | "namespaced.global.variable |
| 10140 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 66 6f 6f 28 29 | "</span>.{.....assert(foo() |
| 10160 | 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 |
| 10180 | 35 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 66 6f 6f 28 29 20 3d 3d 20 3c | 5</span>);.....assert(foo().==.< |
| 101a0 | 73 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 36 3c 2f 73 70 | span.class="tok-number">1236</sp |
| 101c0 | 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e | an>);.}..<span.class="tok-kw">fn |
| 101e0 | 3c 2f 73 70 61 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 |
| 10200 | 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" |
| 10220 | 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | >i32</span>.{.....<span.class="t |
| 10240 | 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c | ok-kw">const</span>.S.=.<span.cl |
| 10260 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | ass="tok-kw">struct</span>.{.... |
| 10280 | 20 20 20 20 20 3c 73 70 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 |
| 102a0 | 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 |
| 102c0 | 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 |
| 102e0 | 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 3b 0a 20 20 20 20 53 2e 78 | ber">1234</span>;.....};.....S.x |
| 10300 | 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</ |
| 10320 | 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | span>;.....<span.class="tok-kw"> |
| 10340 | 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 53 2e 78 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | return</span>.S.x;.}</code></pre |
| 10360 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 | ><pre><code.class="shell">$.zig. |
| 10380 | 74 65 73 74 20 6e 61 6d 65 73 70 61 63 65 64 5f 67 6c 6f 62 61 6c 2e 7a 69 67 0a 31 2f 31 20 74 | test.namespaced_global.zig.1/1.t |
| 103a0 | 65 73 74 20 26 71 75 6f 74 3b 6e 61 6d 65 73 70 61 63 65 64 20 67 6c 6f 62 61 6c 20 76 61 72 69 | est."namespaced.global.vari |
| 103c0 | 61 62 6c 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 | able"...OK.All.1.tests.pass |
| 103e0 | 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 | ed..</code></pre>........<p>.... |
| 10400 | 20 20 20 54 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | ...The.<code.class="zig"><span.c |
| 10420 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 | lass="tok-kw">extern</span></cod |
| 10440 | 65 3e 20 6b 65 79 77 6f 72 64 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6c 69 6e 6b 20 61 | e>.keyword.can.be.used.to.link.a |
| 10460 | 67 61 69 6e 73 74 20 61 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 69 73 20 65 78 70 6f 72 74 | gainst.a.variable.that.is.export |
| 10480 | 65 64 0a 20 20 20 20 20 20 66 72 6f 6d 20 61 6e 6f 74 68 65 72 20 6f 62 6a 65 63 74 2e 20 54 68 | ed.......from.another.object..Th |
| 104a0 | 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e.<code.class="zig"><span.class= |
| 104c0 | 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 | "tok-kw">export</span></code>.ke |
| 104e0 | 79 77 6f 72 64 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 65 78 70 6f 72 74 22 3e 40 65 78 70 6f | yword.or.<a.href="#export">@expo |
| 10500 | 72 74 3c 2f 61 3e 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 63 61 | rt</a>.builtin.function.......ca |
| 10520 | 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6d 61 6b 65 20 61 20 76 61 72 69 61 62 6c 65 20 61 76 61 | n.be.used.to.make.a.variable.ava |
| 10540 | 69 6c 61 62 6c 65 20 74 6f 20 6f 74 68 65 72 20 6f 62 6a 65 63 74 73 20 61 74 20 6c 69 6e 6b 20 | ilable.to.other.objects.at.link. |
| 10560 | 74 69 6d 65 2e 20 49 6e 20 62 6f 74 68 20 63 61 73 65 73 2c 0a 20 20 20 20 20 20 74 68 65 20 74 | time..In.both.cases,.......the.t |
| 10580 | 79 70 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 6d 75 73 74 20 62 65 20 43 20 41 42 | ype.of.the.variable.must.be.C.AB |
| 105a0 | 49 20 63 6f 6d 70 61 74 69 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c | I.compatible........</p>.......< |
| 105c0 | 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= |
| 105e0 | 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 45 78 70 6f 72 74 69 | "#Exporting-a-C-Library">Exporti |
| 10600 | 6e 67 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 | ng.a.C.Library</a></li>.</ul>... |
| 10620 | 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 54 68 72 65 61 64 2d 4c 6f 63 61 | .............<h2.id="Thread-Loca |
| 10640 | 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 68 72 65 61 | l-Variables"><a.href="#toc-Threa |
| 10660 | 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e 54 68 72 65 61 64 20 4c 6f 63 61 6c 20 | d-Local-Variables">Thread.Local. |
| 10680 | 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 | Variables</a>.<a.class="hdr".hre |
| 106a0 | 66 3d 22 23 54 68 72 65 61 64 2d 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f | f="#Thread-Local-Variables">..</ |
| 106c0 | 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 20 76 61 72 69 61 62 6c 65 20 6d 61 79 | a></h2>........<p>A.variable.may |
| 106e0 | 20 62 65 20 73 70 65 63 69 66 69 65 64 20 74 6f 20 62 65 20 61 20 74 68 72 65 61 64 2d 6c 6f 63 | .be.specified.to.be.a.thread-loc |
| 10700 | 61 6c 20 76 61 72 69 61 62 6c 65 20 75 73 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 | al.variable.using.the.......<cod |
| 10720 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | e.class="zig"><span.class="tok-k |
| 10740 | 77 22 3e 74 68 72 65 61 64 6c 6f 63 61 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 | w">threadlocal</span></code>.key |
| 10760 | 77 6f 72 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e | word:</p>.......<p.class="file"> |
| 10780 | 74 6c 73 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | tls.zig</p><pre><code.class="zig |
| 107a0 | 22 3e 3c 73 70 61 6e 20 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 |
| 107c0 | 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 |
| 107e0 | 69 6e 22 3e 40 69 6d 70 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=" |
| 10800 | 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">"std"</span>) |
| 10820 | 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 | ;.<span.class="tok-kw">const</sp |
| 10840 | 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a | an>.assert.=.std.debug.assert;.. |
| 10860 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 68 72 65 61 64 6c 6f 63 61 6c | <span.class="tok-kw">threadlocal |
| 10880 | 3c 2f 73 70 61 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 |
| 108a0 | 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 |
| 108c0 | 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- |
| 108e0 | 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 | number">1234</span>;..<span.clas |
| 10900 | 73 3d 22 74 6f 6b 2d 6b 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 |
| 10920 | 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 72 65 61 64 20 6c 6f 63 61 6c 20 | ss="tok-str">"thread.local. |
| 10940 | 73 74 6f 72 61 67 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e | storage"</span>.{.....<span |
| 10960 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 68 72 | .class="tok-kw">const</span>.thr |
| 10980 | 65 61 64 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c | ead1.=.<span.class="tok-kw">try< |
| 109a0 | 2f 73 70 61 6e 3e 20 73 74 64 2e 54 68 72 65 61 64 2e 73 70 61 77 6e 28 7b 7d 2c 20 74 65 73 74 | /span>.std.Thread.spawn({},.test |
| 109c0 | 54 6c 73 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | Tls);.....<span.class="tok-kw">c |
| 109e0 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 68 72 65 61 64 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | onst</span>.thread2.=.<span.clas |
| 10a00 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 54 68 72 65 61 64 | s="tok-kw">try</span>.std.Thread |
| 10a20 | 2e 73 70 61 77 6e 28 7b 7d 2c 20 74 65 73 74 54 6c 73 29 3b 0a 20 20 20 20 74 65 73 74 54 6c 73 | .spawn({},.testTls);.....testTls |
| 10a40 | 28 7b 7d 29 3b 0a 20 20 20 20 74 68 72 65 61 64 31 2e 77 61 69 74 28 29 3b 0a 20 20 20 20 74 68 | ({});.....thread1.wait();.....th |
| 10a60 | 72 65 61 64 32 2e 77 61 69 74 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | read2.wait();.}..<span.class="to |
| 10a80 | 6b 2d 6b 77 22 3e 66 6e 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 |
| 10aa0 | 2d 66 6e 22 3e 74 65 73 74 54 6c 73 3c 2f 73 70 61 6e 3e 28 63 6f 6e 74 65 78 74 3a 20 3c 73 70 | -fn">testTls</span>(context:.<sp |
| 10ac0 | 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 29 | an.class="tok-type">void</span>) |
| 10ae0 | 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 |
| 10b00 | 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | an>.{.....assert(x.==.<span.clas |
| 10b20 | 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 0a 20 20 20 | s="tok-number">1234</span>);.... |
| 10b40 | 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 | .x.+=.<span.class="tok-number">1 |
| 10b60 | 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 73 65 72 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 | </span>;.....assert(x.==.<span.c |
| 10b80 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 35 3c 2f 73 70 61 6e 3e 29 3b 0a | lass="tok-number">1235</span>);. |
| 10ba0 | 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | }</code></pre><pre><code.class=" |
| 10bc0 | 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 6c 73 2e 7a 69 67 0a 31 2f 31 20 74 65 | shell">$.zig.test.tls.zig.1/1.te |
| 10be0 | 73 74 20 26 71 75 6f 74 3b 74 68 72 65 61 64 20 6c 6f 63 61 6c 20 73 74 6f 72 61 67 65 26 71 75 | st."thread.local.storage&qu |
| 10c00 | 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 | ot;...OK.All.1.tests.passed..</c |
| 10c20 | 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 | ode></pre>........<p>.......For. |
| 10c40 | 3c 61 20 68 72 65 66 3d 22 23 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 75 69 6c 64 73 | <a.href="#Single-Threaded-Builds |
| 10c60 | 22 3e 53 69 6e 67 6c 65 20 54 68 72 65 61 64 65 64 20 42 75 69 6c 64 73 3c 2f 61 3e 2c 20 61 6c | ">Single.Threaded.Builds</a>,.al |
| 10c80 | 6c 20 74 68 72 65 61 64 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 74 72 65 | l.thread.local.variables.are.tre |
| 10ca0 | 61 74 65 64 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 47 6c 6f 62 61 6c 2d 56 61 72 69 61 62 6c | ated.as.<a.href="#Global-Variabl |
| 10cc0 | 65 73 22 3e 47 6c 6f 62 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 | es">Global.Variables</a>........ |
| 10ce0 | 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 72 65 61 64 20 6c 6f 63 61 | </p>.......<p>.......Thread.loca |
| 10d00 | 6c 20 76 61 72 69 61 62 6c 65 73 20 6d 61 79 20 6e 6f 74 20 62 65 20 3c 63 6f 64 65 20 63 6c 61 | l.variables.may.not.be.<code.cla |
| 10d20 | 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | ss="zig"><span.class="tok-kw">co |
| 10d40 | 6e 73 74 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 | nst</span></code>........</p>... |
| 10d60 | 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4c 6f 63 61 6c 2d 56 61 72 69 61 62 | ............<h2.id="Local-Variab |
| 10d80 | 6c 65 73 22 3e 3c 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 | les"><a.href="#toc-Local-Variabl |
| 10da0 | 65 73 22 3e 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 | es">Local.Variables</a>.<a.class |
| 10dc0 | 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4c 6f 63 61 6c 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 | ="hdr".href="#Local-Variables">. |
| 10de0 | 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 4c 6f 63 61 | .</a></h2>........<p>.......Loca |
| 10e00 | 6c 20 76 61 72 69 61 62 6c 65 73 20 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c 61 20 68 72 65 66 | l.variables.occur.inside.<a.href |
| 10e20 | 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 2c 20 3c 61 20 | ="#Functions">Functions</a>,.<a. |
| 10e40 | 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 6c | href="#comptime">comptime</a>.bl |
| 10e60 | 6f 63 6b 73 2c 20 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 | ocks,.and.<a.href="#cImport">@cI |
| 10e80 | 6d 70 6f 72 74 3c 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 | mport</a>.blocks........</p>.... |
| 10ea0 | 20 20 20 3c 70 3e 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 | ...<p>.......When.a.local.variab |
| 10ec0 | 6c 65 20 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | le.is.<code.class="zig"><span.cl |
| 10ee0 | 61 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 63 6f 64 65 3e | ass="tok-kw">const</span></code> |
| 10f00 | 2c 20 69 74 20 6d 65 61 6e 73 20 74 68 61 74 20 61 66 74 65 72 20 69 6e 69 74 69 61 6c 69 7a 61 | ,.it.means.that.after.initializa |
| 10f20 | 74 69 6f 6e 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 27 73 0a 20 20 20 20 20 20 76 61 6c 75 65 | tion,.the.variable's.......value |
| 10f40 | 20 77 69 6c 6c 20 6e 6f 74 20 63 68 61 6e 67 65 2e 20 49 66 20 74 68 65 20 69 6e 69 74 69 61 6c | .will.not.change..If.the.initial |
| 10f60 | 69 7a 61 74 69 6f 6e 20 76 61 6c 75 65 20 6f 66 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | ization.value.of.a.<code.class=" |
| 10f80 | 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c | zig"><span.class="tok-kw">const< |
| 10fa0 | 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 72 69 61 62 6c 65 20 69 73 0a 20 20 20 20 20 20 | /span></code>.variable.is....... |
| 10fc0 | 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> |
| 10fe0 | 2d 6b 6e 6f 77 6e 2c 20 74 68 65 6e 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 69 73 20 61 6c 73 | -known,.then.the.variable.is.als |
| 11000 | 6f 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | o.<code.class="zig"><span.class= |
| 11020 | 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2d | "tok-kw">comptime</span></code>- |
| 11040 | 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 | known........</p>.......<p>..... |
| 11060 | 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 61 6c 69 66 | ..A.local.variable.may.be.qualif |
| 11080 | 69 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | ied.with.the.<code.class="zig">< |
| 110a0 | 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 |
| 110c0 | 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 2e 20 54 68 69 73 20 63 61 75 73 65 73 0a | an></code>.keyword..This.causes. |
| 110e0 | 20 20 20 20 20 20 74 68 65 20 76 61 72 69 61 62 6c 65 27 73 20 76 61 6c 75 65 20 74 6f 20 62 65 | ......the.variable's.value.to.be |
| 11100 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .<code.class="zig"><span.class=" |
| 11120 | 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2d 6b | tok-kw">comptime</span></code>-k |
| 11140 | 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 |
| 11160 | 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 |
| 11180 | 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 |
| 111a0 | 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.. |
| 111c0 | 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. |
| 111e0 | 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | a.<code.class="zig"><span.class= |
| 11200 | 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 | "tok-kw">comptime</span></code>. |
| 11220 | 65 78 70 72 65 73 73 69 6f 6e 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 | expression.are.implicitly....... |
| 11240 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 11260 | 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 | ok-kw">comptime</span></code>.va |
| 11280 | 72 69 61 62 6c 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 | riables........</p>.......<p.cla |
| 112a0 | 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 70 3e 3c | ss="file">comptime_vars.zig</p>< |
| 112c0 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | pre><code.class="zig"><span.clas |
| 112e0 | 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 |
| 11300 | 70 61 6e 20 63 6c 61 73 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< |
| 11320 | 2f 73 70 61 6e 3e 28 3c 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 |
| 11340 | 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 | ot;std"</span>);.<span.clas |
| 11360 | 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 74 20 3d | s="tok-kw">const</span>.assert.= |
| 11380 | 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | .std.debug.assert;..<span.class= |
| 113a0 | 22 74 6f 6b 2d 6b 77 22 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 |
| 113c0 | 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 72 73 26 71 | ="tok-str">"comptime.vars&q |
| 113e0 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | uot;</span>.{.....<span.class="t |
| 11400 | 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ok-kw">var</span>.x:.<span.class |
| 11420 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 | ="tok-type">i32</span>.=.<span.c |
| 11440 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 | lass="tok-number">1</span>;..... |
| 11460 | 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 |
| 11480 | 70 61 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 |
| 114a0 | 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 |
| 114c0 | 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 |
| 114e0 | 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 | ber">1</span>;......x.+=.<span.c |
| 11500 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 | lass="tok-number">1</span>;..... |
| 11520 | 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< |
| 11540 | 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 61 73 73 65 72 74 28 78 20 3d 3d 20 3c 73 70 61 6e 20 63 | /span>;......assert(x.==.<span.c |
| 11560 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 | lass="tok-number">2</span>);.... |
| 11580 | 20 61 73 73 65 72 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 | .assert(y.==.<span.class="tok-nu |
| 115a0 | 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | mber">2</span>);......<span.clas |
| 115c0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 79 20 21 3d 20 3c 73 70 61 6e | s="tok-kw">if</span>.(y.!=.<span |
| 115e0 | 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 7b 0a | .class="tok-number">2</span>).{. |
| 11600 | 20 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 |
| 11620 | 22 3e 2f 2f 20 54 68 69 73 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 6e 65 76 65 72 20 74 72 | ">//.This.compile.error.never.tr |
| 11640 | 69 67 67 65 72 73 20 62 65 63 61 75 73 65 20 79 20 69 73 20 61 20 63 6f 6d 70 74 69 6d 65 20 76 | iggers.because.y.is.a.comptime.v |
| 11660 | 61 72 69 61 62 6c 65 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c | ariable,</span>.........<span.cl |
| 11680 | 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 20 21 | ass="tok-comment">//.and.so.`y.! |
| 116a0 | 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 74 68 | =.2`.is.a.comptime.value,.and.th |
| 116c0 | 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 3c 2f | is.if.is.statically.evaluated.</ |
| 116e0 | 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 | span>.........<span.class="tok-b |
| 11700 | 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 | uiltin">@compileError</span>(<sp |
| 11720 | 61 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 72 6f 6e 67 20 79 | an.class="tok-str">"wrong.y |
| 11740 | 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 | .value"</span>);.....}.}</c |
| 11760 | 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c | ode></pre><pre><code.class="shel |
| 11780 | 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a 69 67 0a | l">$.zig.test.comptime_vars.zig. |
| 117a0 | 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 75 6f | 1/1.test."comptime.vars&quo |
| 117c0 | 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f | t;...OK.All.1.tests.passed..</co |
| 117e0 | 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 | de></pre>....................... |
| 11800 | 3c 68 31 20 69 64 3d 22 49 6e 74 65 67 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d | <h1.id="Integers"><a.href="#toc- |
| 11820 | 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d | Integers">Integers</a>.<a.class= |
| 11840 | 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 | "hdr".href="#Integers">..</a></h |
| 11860 | 31 3e 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 | 1>........<h2.id="Integer-Litera |
| 11880 | 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 | ls"><a.href="#toc-Integer-Litera |
| 118a0 | 6c 73 22 3e 49 6e 74 65 67 65 72 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 | ls">Integer.Literals</a>.<a.clas |
| 118c0 | 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 2d 4c 69 74 65 72 61 6c 73 22 | s="hdr".href="#Integer-Literals" |
| 118e0 | 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | >..</a></h2>........<pre><code.c |
| 11900 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | lass="zig"><span.class="tok-kw"> |
| 11920 | 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 65 63 69 6d 61 6c 5f 69 6e 74 20 3d 20 3c 73 70 61 6e | const</span>.decimal_int.=.<span |
| 11940 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 38 32 32 32 3c 2f 73 70 61 6e 3e | .class="tok-number">98222</span> |
| 11960 | 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 | ;.<span.class="tok-kw">const</sp |
| 11980 | 61 6e 3e 20 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 | an>.hex_int.=.<span.class="tok-n |
| 119a0 | 75 6d 62 65 72 22 3e 30 78 66 66 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | umber">0xff</span>;.<span.class= |
| 119c0 | 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 |
| 119e0 | 78 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | x_int.=.<span.class="tok-number" |
| 11a00 | 3e 30 78 46 46 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | >0xFF</span>;.<span.class="tok-k |
| 11a20 | 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 |
| 11a40 | 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 |
| 11a60 | 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 | >;.<span.class="tok-kw">const</s |
| 11a80 | 70 61 6e 3e 20 62 69 6e 61 72 79 5f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | pan>.binary_int.=.<span.class="t |
| 11aa0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 31 31 31 30 30 30 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c | ok-number">0b11110000</span>;..< |
| 11ac0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 64 65 | span.class="tok-comment">//.unde |
| 11ae0 | 72 73 63 6f 72 65 73 20 6d 61 79 20 62 65 20 70 6c 61 63 65 64 20 62 65 74 77 65 65 6e 20 74 77 | rscores.may.be.placed.between.tw |
| 11b00 | 6f 20 64 69 67 69 74 73 20 61 73 20 61 20 76 69 73 75 61 6c 20 73 65 70 61 72 61 74 6f 72 3c 2f | o.digits.as.a.visual.separator</ |
| 11b20 | 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | span>.<span.class="tok-kw">const |
| 11b40 | 3c 2f 73 70 61 6e 3e 20 6f 6e 65 5f 62 69 6c 6c 69 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | </span>.one_billion.=.<span.clas |
| 11b60 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 5f 30 30 30 5f 30 30 30 5f 30 30 30 3c 2f 73 70 | s="tok-number">1_000_000_000</sp |
| 11b80 | 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c | an>;.<span.class="tok-kw">const< |
| 11ba0 | 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 73 73 | /span>.binary_mask.=.<span.class |
| 11bc0 | 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 70 61 | ="tok-number">0b1_1111_1111</spa |
| 11be0 | 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | n>;.<span.class="tok-kw">const</ |
| 11c00 | 73 70 61 6e 3e 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | span>.permissions.=.<span.class= |
| 11c20 | 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 6f 37 5f 35 5f 35 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 | "tok-number">0o7_5_5</span>;.<sp |
| 11c40 | 61 6e 20 63 6c 61 73 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 |
| 11c60 | 69 67 5f 61 64 64 72 65 73 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | ig_address.=.<span.class="tok-nu |
| 11c80 | 6d 62 65 72 22 3e 30 78 46 46 38 30 5f 30 30 30 30 5f 30 30 30 30 5f 30 30 30 30 3c 2f 73 70 61 | mber">0xFF80_0000_0000_0000</spa |
| 11ca0 | 6e 3e 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 | n>;</code></pre>..............<h |
| 11cc0 | 32 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 65 73 22 3e 3c 61 | 2.id="Runtime-Integer-Values"><a |
| 11ce0 | 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 72 2d 56 61 6c 75 | .href="#toc-Runtime-Integer-Valu |
| 11d00 | 65 73 22 3e 52 75 6e 74 69 6d 65 20 49 6e 74 65 67 65 72 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c | es">Runtime.Integer.Values</a>.< |
| 11d20 | 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 75 6e 74 69 6d 65 2d 49 6e 74 | a.class="hdr".href="#Runtime-Int |
| 11d40 | 65 67 65 72 2d 56 61 6c 75 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 | eger-Values">..</a></h2>........ |
| 11d60 | 3c 70 3e 0a 20 20 20 20 20 20 49 6e 74 65 67 65 72 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 | <p>.......Integer.literals.have. |
| 11d80 | 6e 6f 20 73 69 7a 65 20 6c 69 6d 69 74 61 74 69 6f 6e 2c 20 61 6e 64 20 69 66 20 61 6e 79 20 75 | no.size.limitation,.and.if.any.u |
| 11da0 | 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 20 20 20 20 20 20 | ndefined.behavior.occurs,....... |
| 11dc0 | 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 63 61 74 63 68 65 73 20 69 74 2e 0a 20 20 20 20 20 20 3c | the.compiler.catches.it........< |
| 11de0 | 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 6f 6e 63 | /p>.......<p>.......However,.onc |
| 11e00 | 65 20 61 6e 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 | e.an.integer.value.is.no.longer. |
| 11e20 | 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 69 74 20 6d 75 73 74 20 68 | known.at.compile-time,.it.must.h |
| 11e40 | 61 76 65 20 61 0a 20 20 20 20 20 20 6b 6e 6f 77 6e 20 73 69 7a 65 2c 20 61 6e 64 20 69 73 20 76 | ave.a.......known.size,.and.is.v |
| 11e60 | 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 61 76 69 6f 72 2e | ulnerable.to.undefined.behavior. |
| 11e80 | 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | .......</p>.......<pre><code.cla |
| 11ea0 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-kw">fn |
| 11ec0 | 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 69 76 | </span>.<span.class="tok-fn">div |
| 11ee0 | 69 64 65 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | ide</span>(a:.<span.class="tok-t |
| 11f00 | 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ype">i32</span>,.b:.<span.class= |
| 11f20 | 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 | "tok-type">i32</span>).<span.cla |
| 11f40 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c | ss="tok-type">i32</span>.{.....< |
| 11f60 | 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 |
| 11f80 | 3e 20 61 20 2f 20 62 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 | >.a./.b;.}</code></pre>.......<p |
| 11fa0 | 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 76 61 6c 75 65 73 | >.......In.this.function,.values |
| 11fc0 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 | .<code.class="zig">a</code>.and. |
| 11fe0 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 3c 2f 63 6f 64 65 3e 20 61 72 65 20 6b | <code.class="zig">b</code>.are.k |
| 12000 | 6e 6f 77 6e 20 6f 6e 6c 79 20 61 74 20 72 75 6e 74 69 6d 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 | nown.only.at.runtime,.......and. |
| 12020 | 74 68 75 73 20 74 68 69 73 20 64 69 76 69 73 69 6f 6e 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 | thus.this.division.operation.is. |
| 12040 | 76 75 6c 6e 65 72 61 62 6c 65 20 74 6f 20 62 6f 74 68 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 | vulnerable.to.both.<a.href="#Int |
| 12060 | 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 6f 77 3c | eger-Overflow">Integer.Overflow< |
| 12080 | 2f 61 3e 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e | /a>.and.......<a.href="#Division |
| 120a0 | 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 2e 0a | -by-Zero">Division.by.Zero</a>.. |
| 120c0 | 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 70 65 72 61 | ......</p>.......<p>.......Opera |
| 120e0 | 74 6f 72 73 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2b | tors.such.as.<code.class="zig">+ |
| 12100 | 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2d 3c | </code>.and.<code.class="zig">-< |
| 12120 | 2f 63 6f 64 65 3e 20 63 61 75 73 65 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 | /code>.cause.undefined.behavior. |
| 12140 | 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f | on...............integer.overflo |
| 12160 | 77 2e 20 41 6c 73 6f 20 61 76 61 69 6c 61 62 6c 65 20 61 72 65 20 6f 70 65 72 61 74 69 6f 6e 73 | w..Also.available.are.operations |
| 12180 | 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2b 25 3c 2f 63 | .such.as.<code.class="zig">+%</c |
| 121a0 | 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 | ode>.and...................<code |
| 121c0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2d 25 3c 2f 63 6f 64 65 3e 20 77 68 69 63 68 20 61 72 65 | .class="zig">-%</code>.which.are |
| 121e0 | 20 64 65 66 69 6e 65 64 20 74 6f 20 68 61 76 65 20 77 72 61 70 70 69 6e 67 20 61 72 69 74 68 6d | .defined.to.have.wrapping.arithm |
| 12200 | 65 74 69 63 20 6f 6e 20 61 6c 6c 20 74 61 72 67 65 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | etic.on.all.targets........</p>. |
| 12220 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 73 75 70 70 6f 72 74 73 20 61 72 62 | ......<p>.......Zig.supports.arb |
| 12240 | 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 2c 20 72 65 66 65 72 | itrary.bit-width.integers,.refer |
| 12260 | 65 6e 63 65 64 20 62 79 20 75 73 69 6e 67 0a 20 20 20 20 20 20 61 6e 20 69 64 65 6e 74 69 66 69 | enced.by.using.......an.identifi |
| 12280 | 65 72 20 6f 66 20 3c 63 6f 64 65 3e 69 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 3e 75 3c | er.of.<code>i</code>.or.<code>u< |
| 122a0 | 2f 63 6f 64 65 3e 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 64 69 67 69 74 73 2e 20 46 6f 72 20 65 | /code>.followed.by.digits..For.e |
| 122c0 | 78 61 6d 70 6c 65 2c 20 74 68 65 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 3c 63 6f | xample,.the.identifier.......<co |
| 122e0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 12300 | 74 79 70 65 22 3e 69 37 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 6f | type">i7</span></code>.refers.to |
| 12320 | 20 61 20 73 69 67 6e 65 64 20 37 2d 62 69 74 20 69 6e 74 65 67 65 72 2e 20 54 68 65 20 6d 61 78 | .a.signed.7-bit.integer..The.max |
| 12340 | 69 6d 75 6d 20 61 6c 6c 6f 77 65 64 20 62 69 74 2d 77 69 64 74 68 20 6f 66 20 61 6e 0a 20 20 20 | imum.allowed.bit-width.of.an.... |
| 12360 | 20 20 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | ...integer.type.is.<code.class=" |
| 12380 | 7a 69 67 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 | zig"><span.class="tok-number">65 |
| 123a0 | 35 33 35 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 | 535</span></code>........</p>... |
| 123c0 | 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 | ....<p>See.also:</p><ul>.<li><a. |
| 123e0 | 68 72 65 66 3d 22 23 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 57 72 61 70 | href="#Wrapping-Operations">Wrap |
| 12400 | 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a | ping.Operations</a></li>.</ul>.. |
| 12420 | 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 46 6c 6f 61 | ....................<h1.id="Floa |
| 12440 | 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 6f 61 74 73 | ts"><a.href="#toc-Floats">Floats |
| 12460 | 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 | </a>.<a.class="hdr".href="#Float |
| 12480 | 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 68 61 73 | s">..</a></h1>........<p>Zig.has |
| 124a0 | 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 74 20 74 79 | .the.following.floating.point.ty |
| 124c0 | 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 20 20 3c 6c | pes:</p>.......<ul>...........<l |
| 124e0 | 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | i><code.class="zig"><span.class= |
| 12500 | 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 36 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 | "tok-type">f16</span></code>.-.I |
| 12520 | 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 79 31 36 3c 2f 6c 69 3e 0a 20 20 20 20 20 | EEE-754-2008.binary16</li>...... |
| 12540 | 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | .....<li><code.class="zig"><span |
| 12560 | 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 3c 2f 63 6f | .class="tok-type">f32</span></co |
| 12580 | 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 |
| 125a0 | 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | >...........<li><code.class="zig |
| 125c0 | 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 36 34 3c 2f 73 70 | "><span.class="tok-type">f64</sp |
| 125e0 | 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 30 30 38 20 62 69 6e 61 72 | an></code>.-.IEEE-754-2008.binar |
| 12600 | 79 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 | y64</li>...........<li><code.cla |
| 12620 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-type"> |
| 12640 | 66 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 49 45 45 45 2d 37 35 34 2d 32 30 | f128</span></code>.-.IEEE-754-20 |
| 12660 | 30 38 20 62 69 6e 61 72 79 31 32 38 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e | 08.binary128</li>...........<li> |
| 12680 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 126a0 | 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 64 6f 75 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f | ok-type">c_longdouble</span></co |
| 126c0 | 64 65 3e 20 2d 20 6d 61 74 63 68 65 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 6c 6f | de>.-.matches.<code.class="c">lo |
| 126e0 | 6e 67 20 64 6f 75 62 6c 65 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 74 68 65 20 74 61 72 67 65 74 20 | ng.double</code>.for.the.target. |
| 12700 | 43 20 41 42 49 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 68 32 | C.ABI</li>.......</ul>.......<h2 |
| 12720 | 20 69 64 3d 22 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 | .id="Float-Literals"><a.href="#t |
| 12740 | 6f 63 2d 46 6c 6f 61 74 2d 4c 69 74 65 72 61 6c 73 22 3e 46 6c 6f 61 74 20 4c 69 74 65 72 61 6c | oc-Float-Literals">Float.Literal |
| 12760 | 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 6c 6f 61 | s</a>.<a.class="hdr".href="#Floa |
| 12780 | 74 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c | t-Literals">..</a></h2>........< |
| 127a0 | 70 3e 0a 20 20 20 20 20 20 46 6c 6f 61 74 20 6c 69 74 65 72 61 6c 73 20 68 61 76 65 20 74 79 70 | p>.......Float.literals.have.typ |
| 127c0 | 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e.<code.class="zig"><span.class= |
| 127e0 | 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 66 6c 6f 61 74 3c 2f 73 70 61 6e 3e | "tok-type">comptime_float</span> |
| 12800 | 3c 2f 63 6f 64 65 3e 20 77 68 69 63 68 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 | </code>.which.is.guaranteed.to.h |
| 12820 | 61 76 65 0a 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 70 72 65 63 69 73 69 6f 6e 20 61 6e 64 | ave.......the.same.precision.and |
| 12840 | 20 6f 70 65 72 61 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 6c 61 72 67 65 73 74 20 6f 74 68 65 72 | .operations.of.the.largest.other |
| 12860 | 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 74 79 70 65 2c 20 77 68 69 63 68 20 69 73 0a 20 | .floating.point.type,.which.is.. |
| 12880 | 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | .....<code.class="zig"><span.cla |
| 128a0 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e | ss="tok-type">f128</span></code> |
| 128c0 | 2e 0a 20 20 20 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 6c 6f | ........</p>.......<p>.......Flo |
| 128e0 | 61 74 20 6c 69 74 65 72 61 6c 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 | at.literals.<a.href="#Type-Coerc |
| 12900 | 69 6f 6e 22 3e 63 6f 65 72 63 65 3c 2f 61 3e 20 74 6f 20 61 6e 79 20 66 6c 6f 61 74 69 6e 67 20 | ion">coerce</a>.to.any.floating. |
| 12920 | 70 6f 69 6e 74 20 74 79 70 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 6f 20 61 6e 79 20 3c 61 20 | point.type,.......and.to.any.<a. |
| 12940 | 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 74 79 70 | href="#Integers">integer</a>.typ |
| 12960 | 65 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 66 72 61 63 74 69 6f 6e 61 6c 20 63 6f | e.when.there.is.no.fractional.co |
| 12980 | 6d 70 6f 6e 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c | mponent........</p>.......<pre>< |
| 129a0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 129c0 | 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 6c 6f 61 74 69 6e 67 5f 70 6f 69 6e | k-kw">const</span>.floating_poin |
| 129e0 | 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 | t.=.<span.class="tok-number">123 |
| 12a00 | 2e 30 45 2b 37 37 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | .0E+77</span>;.<span.class="tok- |
| 12a20 | 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 68 65 72 5f 66 6c 6f 61 74 20 3d | kw">const</span>.another_float.= |
| 12a40 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 2e 30 3c | .<span.class="tok-number">123.0< |
| 12a60 | 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | /span>;.<span.class="tok-kw">con |
| 12a80 | 73 74 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 | st</span>.yet_another.=.<span.cl |
| 12aa0 | 61 73 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 | ass="tok-number">123.0e+77</span |
| 12ac0 | 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | >;..<span.class="tok-kw">const</ |
| 12ae0 | 73 70 61 6e 3e 20 68 65 78 5f 66 6c 6f 61 74 69 6e 67 5f 70 6f 69 6e 74 20 3d 20 3c 73 70 61 6e | span>.hex_floating_point.=.<span |
| 12b00 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 30 33 2e 37 30 70 2d 35 3c | .class="tok-number">0x103.70p-5< |
| 12b20 | 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | /span>;.<span.class="tok-kw">con |
| 12b40 | 73 74 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 68 65 72 5f 68 65 78 5f 66 6c 6f 61 74 20 3d 20 3c 73 | st</span>.another_hex_float.=.<s |
| 12b60 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 30 33 2e 37 30 3c | pan.class="tok-number">0x103.70< |
| 12b80 | 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | /span>;.<span.class="tok-kw">con |
| 12ba0 | 73 74 3c 2f 73 70 61 6e 3e 20 79 65 74 5f 61 6e 6f 74 68 65 72 5f 68 65 78 5f 66 6c 6f 61 74 20 | st</span>.yet_another_hex_float. |
| 12bc0 | 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 30 33 | =.<span.class="tok-number">0x103 |
| 12be0 | 2e 37 30 50 2d 35 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | .70P-5</span>;..<span.class="tok |
| 12c00 | 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 6e 64 65 72 73 63 6f 72 65 73 20 6d 61 79 20 62 65 20 | -comment">//.underscores.may.be. |
| 12c20 | 70 6c 61 63 65 64 20 62 65 74 77 65 65 6e 20 74 77 6f 20 64 69 67 69 74 73 20 61 73 20 61 20 76 | placed.between.two.digits.as.a.v |
| 12c40 | 69 73 75 61 6c 20 73 65 70 61 72 61 74 6f 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 | isual.separator</span>.<span.cla |
| 12c60 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 67 68 74 73 70 | ss="tok-kw">const</span>.lightsp |
| 12c80 | 65 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 62 65 72 22 3e 32 | eed.=.<span.class="tok-number">2 |
| 12ca0 | 39 39 5f 37 39 32 5f 34 35 38 2e 30 30 30 5f 30 30 30 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e | 99_792_458.000_000</span>;.<span |
| 12cc0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 61 6e | .class="tok-kw">const</span>.nan |
| 12ce0 | 6f 73 65 63 6f 6e 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | osecond.=.<span.class="tok-numbe |
| 12d00 | 72 22 3e 30 2e 30 30 30 5f 30 30 30 5f 30 30 31 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 | r">0.000_000_001</span>;.<span.c |
| 12d20 | 6c 61 73 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 72 65 5f | lass="tok-kw">const</span>.more_ |
| 12d40 | 68 65 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 | hex.=.<span.class="tok-number">0 |
| 12d60 | 78 31 32 33 34 5f 35 36 37 38 2e 39 41 42 43 5f 43 44 45 46 70 2d 31 30 3c 2f 73 70 61 6e 3e 3b | x1234_5678.9ABC_CDEFp-10</span>; |
| 12d80 | 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 |
| 12da0 | 65 72 65 20 69 73 20 6e 6f 20 73 79 6e 74 61 78 20 66 6f 72 20 4e 61 4e 2c 20 69 6e 66 69 6e 69 | ere.is.no.syntax.for.NaN,.infini |
| 12dc0 | 74 79 2c 20 6f 72 20 6e 65 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2e 20 46 6f 72 20 74 68 | ty,.or.negative.infinity..For.th |
| 12de0 | 65 73 65 20 73 70 65 63 69 61 6c 20 76 61 6c 75 65 73 2c 0a 20 20 20 20 20 20 6f 6e 65 20 6d 75 | ese.special.values,.......one.mu |
| 12e00 | 73 74 20 75 73 65 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 61 72 79 3a 0a 20 20 20 | st.use.the.standard.library:.... |
| 12e20 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | ...</p>.......<pre><code.class=" |
| 12e40 | 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c | zig"><span.class="tok-kw">const< |
| 12e60 | 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 |
| 12e80 | 69 6c 74 69 6e 22 3e 40 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 |
| 12ea0 | 73 3d 22 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">"std"</spa |
| 12ec0 | 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | n>);..<span.class="tok-kw">const |
| 12ee0 | 3c 2f 73 70 61 6e 3e 20 69 6e 66 20 3d 20 73 74 64 2e 6d 61 74 68 2e 69 6e 66 28 3c 73 70 61 6e | </span>.inf.=.std.math.inf(<span |
| 12f00 | 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 3b 0a 3c | .class="tok-type">f32</span>);.< |
| 12f20 | 73 70 61 6e 20 63 6c 61 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> |
| 12f40 | 20 6e 65 67 61 74 69 76 65 5f 69 6e 66 20 3d 20 2d 73 74 64 2e 6d 61 74 68 2e 69 6e 66 28 3c 73 | .negative_inf.=.-std.math.inf(<s |
| 12f60 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 | pan.class="tok-type">f64</span>) |
| 12f80 | 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 | ;.<span.class="tok-kw">const</sp |
| 12fa0 | 61 6e 3e 20 6e 61 6e 20 3d 20 73 74 64 2e 6d 61 74 68 2e 6e 61 6e 28 3c 73 70 61 6e 20 63 6c 61 | an>.nan.=.std.math.nan(<span.cla |
| 12fc0 | 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 29 3b 3c 2f 63 6f 64 | ss="tok-type">f128</span>);</cod |
| 12fe0 | 65 3e 3c 2f 70 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 46 6c | e></pre>..............<h2.id="Fl |
| 13000 | 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 3c 61 20 68 72 65 66 | oating-Point-Operations"><a.href |
| 13020 | 3d 22 23 74 6f 63 2d 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 | ="#toc-Floating-Point-Operations |
| 13040 | 22 3e 46 6c 6f 61 74 69 6e 67 20 50 6f 69 6e 74 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 20 | ">Floating.Point.Operations</a>. |
| 13060 | 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 | <a.class="hdr".href="#Floating-P |
| 13080 | 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 | oint-Operations">..</a></h2>.... |
| 130a0 | 20 20 20 20 3c 70 3e 42 79 20 64 65 66 61 75 6c 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 | ....<p>By.default.floating.point |
| 130c0 | 20 6f 70 65 72 61 74 69 6f 6e 73 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | .operations.use.<code.class="zig |
| 130e0 | 22 3e 53 74 72 69 63 74 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 20 20 | ">Strict</code>.mode,........... |
| 13100 | 62 75 74 20 79 6f 75 20 63 61 6e 20 73 77 69 74 63 68 20 74 6f 20 3c 63 6f 64 65 20 63 6c 61 73 | but.you.can.switch.to.<code.clas |
| 13120 | 73 3d 22 7a 69 67 22 3e 4f 70 74 69 6d 69 7a 65 64 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 20 6f 6e | s="zig">Optimized</code>.mode.on |
| 13140 | 20 61 20 70 65 72 2d 62 6c 6f 63 6b 20 62 61 73 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 | .a.per-block.basis:</p>.......<p |
| 13160 | 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6f 6f 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 | .class="file">foo.zig</p><pre><c |
| 13180 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 131a0 | 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 |
| 131c0 | 61 73 73 3d 22 74 6f 6b 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> |
| 131e0 | 28 3c 73 70 61 6e 20 63 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">"std |
| 13200 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | "</span>);.<span.class="tok |
| 13220 | 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 73 74 64 2e | -kw">const</span>.builtin.=.std. |
| 13240 | 62 75 69 6c 74 69 6e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | builtin;.<span.class="tok-kw">co |
| 13260 | 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 69 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | nst</span>.big.=.<span.class="to |
| 13280 | 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 | k-builtin">@as</span>(<span.clas |
| 132a0 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 | s="tok-type">f64</span>,.<span.c |
| 132c0 | 6c 61 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 26 | lass="tok-number">1</span>.<& |
| 132e0 | 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 34 30 3c | lt;.<span.class="tok-number">40< |
| 13300 | 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 | /span>);..<span.class="tok-kw">e |
| 13320 | 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 |
| 13340 | 22 3e 66 6e 3c 2f 73 70 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" |
| 13360 | 3e 66 6f 6f 5f 73 74 72 69 63 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | >foo_strict</span>(x:.<span.clas |
| 13380 | 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 |
| 133a0 | 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 0a 20 20 20 | lass="tok-type">f64</span>.{.... |
| 133c0 | 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 |
| 133e0 | 61 6e 3e 20 78 20 2b 20 62 69 67 20 2d 20 62 69 67 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 | an>.x.+.big.-.big;.}..<span.clas |
| 13400 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 | s="tok-kw">export</span>.<span.c |
| 13420 | 6c 61 73 73 3d 22 74 6f 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 |
| 13440 | 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 6e | ass="tok-fn">foo_optimized</span |
| 13460 | 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c | >(x:.<span.class="tok-type">f64< |
| 13480 | 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 66 | /span>).<span.class="tok-type">f |
| 134a0 | 36 34 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | 64</span>.{.....<span.class="tok |
| 134c0 | 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 73 70 61 6e 3e 28 2e | -builtin">@setFloatMode</span>(. |
| 134e0 | 4f 70 74 69 6d 69 7a 65 64 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | Optimized);.....<span.class="tok |
| 13500 | 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 20 2b 20 62 69 67 20 2d 20 62 69 67 | -kw">return</span>.x.+.big.-.big |
| 13520 | 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | ;.}</code></pre><pre><code.class |
| 13540 | 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 66 6f 6f 2e 7a 69 67 | ="shell">$.zig.build-obj.foo.zig |
| 13560 | 20 2d 2d 72 65 6c 65 61 73 65 2d 66 61 73 74 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 | .--release-fast</code></pre>.... |
| 13580 | 20 20 20 20 3c 70 3e 46 6f 72 20 74 68 69 73 20 74 65 73 74 20 77 65 20 68 61 76 65 20 74 6f 20 | ....<p>For.this.test.we.have.to. |
| 135a0 | 73 65 70 61 72 61 74 65 20 63 6f 64 65 20 69 6e 74 6f 20 74 77 6f 20 6f 62 6a 65 63 74 20 66 69 | separate.code.into.two.object.fi |
| 135c0 | 6c 65 73 20 2d 0a 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 6f 70 74 69 6d 69 | les.-.......otherwise.the.optimi |
| 135e0 | 7a 65 72 20 66 69 67 75 72 65 73 20 6f 75 74 20 61 6c 6c 20 74 68 65 20 76 61 6c 75 65 73 20 61 | zer.figures.out.all.the.values.a |
| 13600 | 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 0a 20 20 20 20 20 20 77 68 69 63 68 20 6f 70 65 72 | t.compile-time,.......which.oper |
| 13620 | 61 74 65 73 20 69 6e 20 73 74 72 69 63 74 20 6d 6f 64 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c | ates.in.strict.mode.</p>.......< |
| 13640 | 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6c 6f 61 74 5f 6d 6f 64 65 2e 7a 69 67 3c 2f 70 | p.class="file">float_mode.zig</p |
| 13660 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ><pre><code.class="zig"><span.cl |
| 13680 | 61 73 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 61 72 6e 20 3d | ass="tok-kw">const</span>.warn.= |
| 136a0 | 20 3c 73 70 61 6e 20 63 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 |
| 136c0 | 72 74 3c 2f 73 70 61 6e 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"> |
| 136e0 | 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 77 61 | "std"</span>).debug.wa |
| 13700 | 72 6e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e | rn;..<span.class="tok-kw">extern |
| 13720 | 3c 2f 73 70 61 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< |
| 13740 | 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f | /span>.<span.class="tok-fn">foo_ |
| 13760 | 73 74 72 69 63 74 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | strict</span>(x:.<span.class="to |
| 13780 | 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | k-type">f64</span>).<span.class= |
| 137a0 | 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 | "tok-type">f64</span>;.<span.cla |
| 137c0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 | ss="tok-kw">extern</span>.<span. |
| 137e0 | 63 6c 61 73 73 3d 22 74 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 |
| 13800 | 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 3c 2f 73 70 61 | lass="tok-fn">foo_optimized</spa |
| 13820 | 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 | n>(x:.<span.class="tok-type">f64 |
| 13840 | 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"> |
| 13860 | 66 36 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | f64</span>;..<span.class="tok-kw |
| 13880 | 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | ">pub</span>.<span.class="tok-kw |
| 138a0 | 22 3e 66 6e 3c 2f 73 70 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" |
| 138c0 | 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >main</span>().<span.class="tok- |
| 138e0 | 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | type">void</span>.{.....<span.cl |
| 13900 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 | ass="tok-kw">const</span>.x.=.<s |
| 13920 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 30 31 3c 2f 73 70 | pan.class="tok-number">0.001</sp |
| 13940 | 61 6e 3e 3b 0a 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 | an>;.....warn(<span.class="tok-s |
| 13960 | 74 72 22 3e 26 71 75 6f 74 3b 6f 70 74 69 6d 69 7a 65 64 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b | tr">"optimized.=.{}\n" |
| 13980 | 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 6f 6f 5f 6f 70 74 69 6d 69 7a 65 64 28 78 29 7d 29 3b 0a 20 | </span>,..{foo_optimized(x)});.. |
| 139a0 | 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 | ...warn(<span.class="tok-str">&q |
| 139c0 | 75 6f 74 3b 73 74 72 69 63 74 20 3d 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 | uot;strict.=.{}\n"</span>,. |
| 139e0 | 2e 7b 66 6f 6f 5f 73 74 72 69 63 74 28 78 29 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | .{foo_strict(x)});.}</code></pre |
| 13a00 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 | ><pre><code.class="shell">$.zig. |
| 13a20 | 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 2d 2d 6f 62 6a 65 63 | build-exe.float_mode.zig.--objec |
| 13a40 | 74 20 66 6f 6f 2e 6f 0a 24 20 2e 2f 66 6c 6f 61 74 5f 6d 6f 64 65 0a 6f 70 74 69 6d 69 7a 65 64 | t.foo.o.$../float_mode.optimized |
| 13a60 | 20 3d 20 31 2e 30 65 2d 30 33 0a 73 74 72 69 63 74 20 3d 20 39 2e 37 36 35 36 32 35 65 2d 30 34 | .=.1.0e-03.strict.=.9.765625e-04 |
| 13a80 | 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 | .</code></pre>........<p>See.als |
| 13aa0 | 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 65 74 46 6c 6f 61 | o:</p><ul>.<li><a.href="#setFloa |
| 13ac0 | 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c | tMode">@setFloatMode</a></li>.<l |
| 13ae0 | 69 3e 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 | i><a.href="#Division-by-Zero">Di |
| 13b00 | 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 | vision.by.Zero</a></li>.</ul>... |
| 13b20 | 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 4f 70 65 72 61 | ...................<h1.id="Opera |
| 13b40 | 74 6f 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 70 65 72 61 74 6f 72 73 22 3e 4f | tors"><a.href="#toc-Operators">O |
| 13b60 | 70 65 72 61 74 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 | perators</a>.<a.class="hdr".href |
| 13b80 | 3d 22 23 4f 70 65 72 61 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 | ="#Operators">..</a></h1>....... |
| 13ba0 | 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 6f 70 65 72 61 74 6f 72 20 | .<p>.......There.is.no.operator. |
| 13bc0 | 6f 76 65 72 6c 6f 61 64 69 6e 67 2e 20 57 68 65 6e 20 79 6f 75 20 73 65 65 20 61 6e 20 6f 70 65 | overloading..When.you.see.an.ope |
| 13be0 | 72 61 74 6f 72 20 69 6e 20 5a 69 67 2c 20 79 6f 75 20 6b 6e 6f 77 20 74 68 61 74 0a 20 20 20 20 | rator.in.Zig,.you.know.that..... |
| 13c00 | 20 20 69 74 20 69 73 20 64 6f 69 6e 67 20 73 6f 6d 65 74 68 69 6e 67 20 66 72 6f 6d 20 74 68 69 | ..it.is.doing.something.from.thi |
| 13c20 | 73 20 74 61 62 6c 65 2c 20 61 6e 64 20 6e 6f 74 68 69 6e 67 20 65 6c 73 65 2e 0a 20 20 20 20 20 | s.table,.and.nothing.else....... |
| 13c40 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 | .</p>.......<h2.id="Table-of-Ope |
| 13c60 | 72 61 74 6f 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 61 62 6c 65 2d 6f 66 2d 4f | rators"><a.href="#toc-Table-of-O |
| 13c80 | 70 65 72 61 74 6f 72 73 22 3e 54 61 62 6c 65 20 6f 66 20 4f 70 65 72 61 74 6f 72 73 3c 2f 61 3e | perators">Table.of.Operators</a> |
| 13ca0 | 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 61 62 6c 65 2d 6f 66 2d | .<a.class="hdr".href="#Table-of- |
| 13cc0 | 4f 70 65 72 61 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 64 | Operators">..</a></h2>........<d |
| 13ce0 | 69 76 20 63 6c 61 73 73 3d 22 74 61 62 6c 65 2d 77 72 61 70 70 65 72 22 3e 0a 20 20 20 20 20 20 | iv.class="table-wrapper">....... |
| 13d00 | 3c 74 61 62 6c 65 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 | <table>.........<tr>...........< |
| 13d20 | 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 79 6e 74 61 78 0a 20 20 20 20 20 20 20 20 20 | th>.............Syntax.......... |
| 13d40 | 20 3c 2f 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 | .</th>...........<th>........... |
| 13d60 | 20 20 52 65 6c 65 76 61 6e 74 20 54 79 70 65 73 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 68 3e | ..Relevant.Types...........</th> |
| 13d80 | 0a 20 20 20 20 20 20 20 20 20 20 3c 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 73 63 | ...........<th>.............Desc |
| 13da0 | 72 69 70 74 69 6f 6e 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 | ription...........</th>......... |
| 13dc0 | 20 20 3c 74 68 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 45 78 61 6d 70 6c 65 0a 20 20 20 20 20 | ..<th>.............Example...... |
| 13de0 | 20 20 20 20 20 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 | .....</th>.........</tr>........ |
| 13e00 | 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | .<tr>...........<td><pre><code.c |
| 13e20 | 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 2b 20 62 0a 61 20 2b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f | lass="zig">a.+.b.a.+=.b</code></ |
| 13e40 | 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 | pre></td>...........<td>........ |
| 13e60 | 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 |
| 13e80 | 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 |
| 13ea0 | 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 46 6c | >...............<li><a.href="#Fl |
| 13ec0 | 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 | oats">Floats</a></li>........... |
| 13ee0 | 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>......... |
| 13f00 | 20 20 3c 74 64 3e 41 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e | ..<td>Addition..............<ul> |
| 13f20 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 | ...............<li>Can.cause.<a. |
| 13f40 | 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 6f 76 65 72 66 | href="#Default-Operations">overf |
| 13f60 | 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | low</a>.for.integers.</li>...... |
| 13f80 | 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 | .........<li>Invokes.<a.href="#P |
| 13fa0 | 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 | eer-Type-Resolution">Peer.Type.R |
| 13fc0 | 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c | esolution</a>.for.the.operands.< |
| 13fe0 | 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 | /li>...............<li>See.also. |
| 14000 | 3c 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 | <a.href="#addWithOverflow">@addW |
| 14020 | 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 | ithOverflow</a>.</li>........... |
| 14040 | 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>......... |
| 14060 | 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 20 63 6c | ..<td>.............<pre><code.cl |
| 14080 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | ass="zig"><span.class="tok-numbe |
| 140a0 | 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | r">2</span>.+.<span.class="tok-n |
| 140c0 | 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | umber">5</span>.==.<span.class=" |
| 140e0 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | tok-number">7</span></code></pre |
| 14100 | 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>. |
| 14120 | 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e | ........<tr>...........<td><pre> |
| 14140 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 2b 25 20 62 0a 61 20 2b 25 3d 20 62 | <code.class="zig">a.+%.b.a.+%=.b |
| 14160 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 | </code></pre></td>...........<td |
| 14180 | 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>.............. |
| 141a0 | 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 |
| 141c0 | 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>.... |
| 141e0 | 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 57 72 61 70 70 | .......</td>...........<td>Wrapp |
| 14200 | 69 6e 67 20 41 64 64 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 | ing.Addition..............<ul>.. |
| 14220 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 47 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 | .............<li>Guaranteed.to.h |
| 14240 | 61 76 65 20 74 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 | ave.twos-complement.wrapping.beh |
| 14260 | 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e | avior.</li>...............<li>In |
| 14280 | 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 | vokes.<a.href="#Peer-Type-Resolu |
| 142a0 | 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 | tion">Peer.Type.Resolution</a>.f |
| 142c0 | 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 | or.the.operands.</li>........... |
| 142e0 | 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 64 64 57 69 | ....<li>See.also.<a.href="#addWi |
| 14300 | 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e | thOverflow">@addWithOverflow</a> |
| 14320 | 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>........ |
| 14340 | 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>......... |
| 14360 | 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | ....<pre><code.class="zig"><span |
| 14380 | 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>( |
| 143a0 | 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 |
| 143c0 | 3e 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | >,.std.math.maxInt(<span.class=" |
| 143e0 | 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 29 20 2b 25 20 3c 73 70 61 6e 20 | tok-type">u32</span>)).+%.<span. |
| 14400 | 63 6c 61 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 | class="tok-number">1</span>.==.< |
| 14420 | 73 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> |
| 14440 | 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>... |
| 14460 | 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>........ |
| 14480 | 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 | ...<td><pre><code.class="zig">a. |
| 144a0 | 2d 20 62 0a 61 20 2d 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 | -.b.a.-=.b</code></pre></td>.... |
| 144c0 | 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>.... |
| 144e0 | 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 |
| 14500 | 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>............ |
| 14520 | 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c | ...<li><a.href="#Floats">Floats< |
| 14540 | 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>...... |
| 14560 | 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 75 62 74 72 61 63 | .....</td>...........<td>Subtrac |
| 14580 | 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>.......... |
| 145a0 | 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 |
| 145c0 | 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 |
| 145e0 | 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 20 20 3c | r.integers.</li>...............< |
| 14600 | 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 | li>Invokes.<a.href="#Peer-Type-R |
| 14620 | 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< |
| 14640 | 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | /a>.for.the.operands.</li>...... |
| 14660 | 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="# |
| 14680 | 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f | subWithOverflow">@subWithOverflo |
| 146a0 | 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 | w</a>.</li>.............</ul>... |
| 146c0 | 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>.... |
| 146e0 | 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | .........<pre><code.class="zig"> |
| 14700 | 3c 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 |
| 14720 | 3e 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f | >.-.<span.class="tok-number">5</ |
| 14740 | 73 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 | span>.==.-<span.class="tok-numbe |
| 14760 | 72 22 3e 33 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 | r">3</span></code></pre>........ |
| 14780 | 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>.........< |
| 147a0 | 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | tr>...........<td><pre><code.cla |
| 147c0 | 73 73 3d 22 7a 69 67 22 3e 61 20 2d 25 20 62 0a 61 20 2d 25 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f | ss="zig">a.-%.b.a.-%=.b</code></ |
| 147e0 | 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 | pre></td>...........<td>........ |
| 14800 | 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 |
| 14820 | 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 |
| 14840 | 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>...........</ |
| 14860 | 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 53 75 62 74 72 | td>...........<td>Wrapping.Subtr |
| 14880 | 61 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 | action..............<ul>........ |
| 148a0 | 20 20 20 20 20 20 20 3c 6c 69 3e 47 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 74 77 | .......<li>Guaranteed.to.have.tw |
| 148c0 | 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e | os-complement.wrapping.behavior. |
| 148e0 | 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 20 | </li>...............<li>Invokes. |
| 14900 | 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"> |
| 14920 | 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 |
| 14940 | 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c | .operands.</li>...............<l |
| 14960 | 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f 76 65 72 | i>See.also.<a.href="#subWithOver |
| 14980 | 66 6c 6f 77 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e | flow">@subWithOverflow</a>.</li> |
| 149a0 | 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 |
| 149c0 | 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 | d>...........<td>.............<p |
| 149e0 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| 14a00 | 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. |
| 14a20 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 | class="tok-type">u32</span>,.<sp |
| 14a40 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 | an.class="tok-number">0</span>). |
| 14a60 | 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 73 | -%.<span.class="tok-number">1</s |
| 14a80 | 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 6c | pan>.==.std.math.maxInt(<span.cl |
| 14aa0 | 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 63 6f 64 65 | ass="tok-type">u32</span>)</code |
| 14ac0 | 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>......... |
| 14ae0 | 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 64 | </tr>.........<tr>...........<td |
| 14b00 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2d 61 3c 2f 63 6f 64 65 | ><pre><code.class="zig">-a</code |
| 14b20 | 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 | ></pre></td>...........<td>..... |
| 14b40 | 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>< |
| 14b60 | 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c | a.href="#Integers">Integers</a>< |
| 14b80 | 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 | /li>...............<li><a.href=" |
| 14ba0 | 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 | #Floats">Floats</a></li>........ |
| 14bc0 | 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>...... |
| 14be0 | 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 4e 65 67 61 74 69 6f 6e 2e 0a | .....<td>.............Negation.. |
| 14c00 | 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>...............< |
| 14c20 | 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f | li>Can.cause.<a.href="#Default-O |
| 14c40 | 70 65 72 61 74 69 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 | perations">overflow</a>.for.inte |
| 14c60 | 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 | gers.</li>.............</ul>.... |
| 14c80 | 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 | .......</td>...........<td>..... |
| 14ca0 | 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2d | ........<pre><code.class="zig">- |
| 14cc0 | 3c 73 70 61 6e 20 63 6c 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 |
| 14ce0 | 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c | >.==.<span.class="tok-number">0< |
| 14d00 | 2f 73 70 61 6e 3e 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 | /span>.-.<span.class="tok-number |
| 14d20 | 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 | ">1</span></code></pre>......... |
| 14d40 | 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 |
| 14d60 | 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | r>...........<td><pre><code.clas |
| 14d80 | 73 3d 22 7a 69 67 22 3e 2d 25 61 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 | s="zig">-%a</code></pre></td>... |
| 14da0 | 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 | ........<td>.............<ul>... |
| 14dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 | ............<li><a.href="#Intege |
| 14de0 | 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 | rs">Integers</a></li>........... |
| 14e00 | 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>......... |
| 14e20 | 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 57 72 61 70 70 69 6e 67 20 4e 65 67 61 | ..<td>.............Wrapping.Nega |
| 14e40 | 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>.......... |
| 14e60 | 20 20 20 20 20 3c 6c 69 3e 47 75 61 72 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 74 77 6f 73 | .....<li>Guaranteed.to.have.twos |
| 14e80 | 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c 2f | -complement.wrapping.behavior.</ |
| 14ea0 | 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>........... |
| 14ec0 | 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>............ |
| 14ee0 | 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2d 25 3c 73 70 61 6e 20 | .<pre><code.class="zig">-%<span. |
| 14f00 | 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>(< |
| 14f20 | 73 70 61 6e 20 63 6c 61 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> |
| 14f40 | 2c 20 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ,.std.math.minInt(<span.class="t |
| 14f60 | 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 20 3d 3d 20 73 74 64 2e 6d 61 74 | ok-type">i32</span>)).==.std.mat |
| 14f80 | 68 2e 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 | h.minInt(<span.class="tok-type"> |
| 14fa0 | 69 33 32 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 | i32</span>)</code></pre>........ |
| 14fc0 | 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>.........< |
| 14fe0 | 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | tr>...........<td><pre><code.cla |
| 15000 | 73 73 3d 22 7a 69 67 22 3e 61 20 2a 20 62 0a 61 20 2a 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | ss="zig">a.*.b.a.*=.b</code></pr |
| 15020 | 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 | e></td>...........<td>.......... |
| 15040 | 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 |
| 15060 | 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>. |
| 15080 | 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 |
| 150a0 | 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>............. |
| 150c0 | 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>........... |
| 150e0 | 3c 74 64 3e 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 | <td>Multiplication.............. |
| 15100 | 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 | <ul>...............<li>Can.cause |
| 15120 | 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 6f | .<a.href="#Default-Operations">o |
| 15140 | 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 | verflow</a>.for.integers.</li>.. |
| 15160 | 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 |
| 15180 | 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 |
| 151a0 | 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 |
| 151c0 | 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 61 | ds.</li>...............<li>See.a |
| 151e0 | 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 | lso.<a.href="#mulWithOverflow">@ |
| 15200 | 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 | mulWithOverflow</a>.</li>....... |
| 15220 | 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>..... |
| 15240 | 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 |
| 15260 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | e.class="zig"><span.class="tok-n |
| 15280 | 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | umber">2</span>.*.<span.class="t |
| 152a0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 | ok-number">5</span>.==.<span.cla |
| 152c0 | 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 3c 2f 63 6f 64 65 3e | ss="tok-number">10</span></code> |
| 152e0 | 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>.........< |
| 15300 | 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e | /tr>.........<tr>...........<td> |
| 15320 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 2a 25 20 62 0a 61 20 | <pre><code.class="zig">a.*%.b.a. |
| 15340 | 2a 25 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 | *%=.b</code></pre></td>......... |
| 15360 | 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>......... |
| 15380 | 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 |
| 153a0 | 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c | tegers</a></li>.............</ul |
| 153c0 | 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> |
| 153e0 | 57 72 61 70 70 69 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 | Wrapping.Multiplication......... |
| 15400 | 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 47 75 61 72 | .....<ul>...............<li>Guar |
| 15420 | 61 6e 74 65 65 64 20 74 6f 20 68 61 76 65 20 74 77 6f 73 2d 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 | anteed.to.have.twos-complement.w |
| 15440 | 72 61 70 70 69 6e 67 20 62 65 68 61 76 69 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 | rapping.behavior.</li>.......... |
| 15460 | 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d | .....<li>Invokes.<a.href="#Peer- |
| 15480 | 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c | Type-Resolution">Peer.Type.Resol |
| 154a0 | 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e | ution</a>.for.the.operands.</li> |
| 154c0 | 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 |
| 154e0 | 72 65 66 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f | ref="#mulWithOverflow">@mulWithO |
| 15500 | 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f | verflow</a>.</li>.............</ |
| 15520 | 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 |
| 15540 | 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 20 63 6c 61 73 73 3d | d>.............<pre><code.class= |
| 15560 | 22 7a 69 67 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 | "zig"><span.class="tok-builtin"> |
| 15580 | 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 |
| 155a0 | 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | ">u8</span>,.<span.class="tok-nu |
| 155c0 | 6d 62 65 72 22 3e 32 30 30 3c 2f 73 70 61 6e 3e 29 20 2a 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 | mber">200</span>).*%.<span.class |
| 155e0 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 | ="tok-number">2</span>.==.<span. |
| 15600 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 34 34 3c 2f 73 70 61 6e 3e 3c 2f 63 | class="tok-number">144</span></c |
| 15620 | 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>...... |
| 15640 | 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>........... |
| 15660 | 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 2f 20 62 | <td><pre><code.class="zig">a./.b |
| 15680 | 0a 61 20 2f 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 | .a./=.b</code></pre></td>....... |
| 156a0 | 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 | ....<td>.............<ul>....... |
| 156c0 | 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e | ........<li><a.href="#Integers"> |
| 156e0 | 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | Integers</a></li>............... |
| 15700 | 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e | <li><a.href="#Floats">Floats</a> |
| 15720 | 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>......... |
| 15740 | 20 20 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 | ..</td>...........<td>Division.. |
| 15760 | 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>...............< |
| 15780 | 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f | li>Can.cause.<a.href="#Default-O |
| 157a0 | 70 65 72 61 74 69 6f 6e 73 22 3e 6f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 | perations">overflow</a>.for.inte |
| 157c0 | 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e | gers.</li>...............<li>Can |
| 157e0 | 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 | .cause.<a.href="#Division-by-Zer |
| 15800 | 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 69 6e 74 65 | o">Division.by.Zero</a>.for.inte |
| 15820 | 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 61 6e | gers.</li>...............<li>Can |
| 15840 | 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 | .cause.<a.href="#Division-by-Zer |
| 15860 | 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 6f 72 20 66 6c 6f 61 | o">Division.by.Zero</a>.for.floa |
| 15880 | 74 73 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f | ts.in.<a.href="#Floating-Point-O |
| 158a0 | 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 4d 6f 64 65 2e 4f 70 74 69 6d 69 7a 65 64 20 4d | perations">FloatMode.Optimized.M |
| 158c0 | 6f 64 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e | ode</a>.</li>...............<li> |
| 158e0 | 46 6f 72 20 6e 6f 6e 2d 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2d 6b 6e 6f 77 6e 20 73 69 67 6e 65 | For.non-compile-time-known.signe |
| 15900 | 64 20 69 6e 74 65 67 65 72 73 2c 20 6d 75 73 74 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 | d.integers,.must.use............ |
| 15920 | 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 | .....<a.href="#divTrunc">@divTru |
| 15940 | 6e 63 3c 2f 61 3e 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 | nc</a>,.................<a.href= |
| 15960 | 22 23 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 2c 20 6f 72 0a 20 20 | "#divFloor">@divFloor</a>,.or... |
| 15980 | 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 45 78 61 63 74 | ..............<a.href="#divExact |
| 159a0 | 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 3c 63 6f 64 65 | ">@divExact</a>.instead.of.<code |
| 159c0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2f 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 | .class="zig">/</code>........... |
| 159e0 | 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 | .....</li>...............<li>Inv |
| 15a00 | 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 | okes.<a.href="#Peer-Type-Resolut |
| 15a20 | 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f | ion">Peer.Type.Resolution</a>.fo |
| 15a40 | 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 | r.the.operands.</li>............ |
| 15a60 | 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>.......... |
| 15a80 | 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 20 63 6c 61 | .<td>.............<pre><code.cla |
| 15aa0 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-number |
| 15ac0 | 22 3e 31 30 3c 2f 73 70 61 6e 3e 20 2f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | ">10</span>./.<span.class="tok-n |
| 15ae0 | 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | umber">5</span>.==.<span.class=" |
| 15b00 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | tok-number">2</span></code></pre |
| 15b20 | 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>. |
| 15b40 | 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e | ........<tr>...........<td><pre> |
| 15b60 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 25 20 62 0a 61 20 25 3d 20 62 3c 2f | <code.class="zig">a.%.b.a.%=.b</ |
| 15b80 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a | code></pre></td>...........<td>. |
| 15ba0 | 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>...............< |
| 15bc0 | 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c | li><a.href="#Integers">Integers< |
| 15be0 | 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 | /a></li>...............<li><a.hr |
| 15c00 | 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 | ef="#Floats">Floats</a></li>.... |
| 15c20 | 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>.. |
| 15c40 | 20 20 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 | .........<td>Remainder.Division. |
| 15c60 | 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>............... |
| 15c80 | 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e | <li>Can.cause.<a.href="#Division |
| 15ca0 | 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 | -by-Zero">Division.by.Zero</a>.f |
| 15cc0 | 6f 72 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | or.integers.</li>............... |
| 15ce0 | 3c 6c 69 3e 43 61 6e 20 63 61 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e | <li>Can.cause.<a.href="#Division |
| 15d00 | 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 66 | -by-Zero">Division.by.Zero</a>.f |
| 15d20 | 6f 72 20 66 6c 6f 61 74 73 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d | or.floats.in.<a.href="#Floating- |
| 15d40 | 50 6f 69 6e 74 2d 4f 70 65 72 61 74 69 6f 6e 73 22 3e 46 6c 6f 61 74 4d 6f 64 65 2e 4f 70 74 69 | Point-Operations">FloatMode.Opti |
| 15d60 | 6d 69 7a 65 64 20 4d 6f 64 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 | mized.Mode</a>.</li>............ |
| 15d80 | 20 20 20 3c 6c 69 3e 46 6f 72 20 6e 6f 6e 2d 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2d 6b 6e 6f 77 | ...<li>For.non-compile-time-know |
| 15da0 | 6e 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 2c 20 6d 75 73 74 20 75 73 65 0a 20 20 20 20 | n.signed.integers,.must.use..... |
| 15dc0 | 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 72 65 6d 22 3e 40 72 65 6d 3c | ............<a.href="#rem">@rem< |
| 15de0 | 2f 61 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 | /a>.or.................<a.href=" |
| 15e00 | 23 6d 6f 64 22 3e 40 6d 6f 64 3c 2f 61 3e 20 69 6e 73 74 65 61 64 20 6f 66 20 3c 63 6f 64 65 20 | #mod">@mod</a>.instead.of.<code. |
| 15e20 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 25 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 | class="zig">%</code>............ |
| 15e40 | 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 76 6f | ....</li>...............<li>Invo |
| 15e60 | 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 |
| 15e80 | 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 |
| 15ea0 | 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>............. |
| 15ec0 | 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>........... |
| 15ee0 | 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 20 63 6c 61 73 | <td>.............<pre><code.clas |
| 15f00 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-number" |
| 15f20 | 3e 31 30 3c 2f 73 70 61 6e 3e 20 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | >10</span>.%.<span.class="tok-nu |
| 15f40 | 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | mber">3</span>.==.<span.class="t |
| 15f60 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | ok-number">1</span></code></pre> |
| 15f80 | 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>.. |
| 15fa0 | 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c | .......<tr>...........<td><pre>< |
| 15fc0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 26 6c 74 3b 26 6c 74 3b 20 62 0a 61 20 | code.class="zig">a.<<.b.a. |
| 15fe0 | 26 6c 74 3b 26 6c 74 3b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 | <<=.b</code></pre></td>... |
| 16000 | 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 | ........<td>.............<ul>... |
| 16020 | 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 | ............<li><a.href="#Intege |
| 16040 | 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 | rs">Integers</a></li>........... |
| 16060 | 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>......... |
| 16080 | 20 20 3c 74 64 3e 42 69 74 20 53 68 69 66 74 20 4c 65 66 74 2e 0a 20 20 20 20 20 20 20 20 20 20 | ..<td>Bit.Shift.Left............ |
| 160a0 | 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 | ..<ul>.................<li><code |
| 160c0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 61 | .class="zig">b</code>.must.be.<a |
| 160e0 | 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 2d 6b 6e 6f 77 6e | .href="#comptime">comptime-known |
| 16100 | 3c 2f 61 3e 20 6f 72 20 68 61 76 65 20 61 20 74 79 70 65 20 77 69 74 68 20 6c 6f 67 32 20 6e 75 | </a>.or.have.a.type.with.log2.nu |
| 16120 | 6d 62 65 72 20 6f 66 20 62 69 74 73 20 61 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | mber.of.bits.as.<code.class="zig |
| 16140 | 22 3e 61 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c | ">a</code>.</li>...............< |
| 16160 | 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 63 74 22 3e | li>See.also.<a.href="#shlExact"> |
| 16180 | 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | @shlExact</a>.</li>............. |
| 161a0 | 20 20 3c 6c 69 3e 53 65 65 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 | ..<li>See.also.<a.href="#shlWith |
| 161c0 | 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 2e 3c | Overflow">@shlWithOverflow</a>.< |
| 161e0 | 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>.......... |
| 16200 | 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>........... |
| 16220 | 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | ..<pre><code.class="zig"><span.c |
| 16240 | 6c 61 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 26 | lass="tok-number">1</span>.<& |
| 16260 | 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 38 3c 2f | lt;.<span.class="tok-number">8</ |
| 16280 | 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 | span>.==.<span.class="tok-number |
| 162a0 | 22 3e 32 35 36 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 | ">256</span></code></pre>....... |
| 162c0 | 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 | ....</td>.........</tr>......... |
| 162e0 | 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | <tr>...........<td><pre><code.cl |
| 16300 | 61 73 73 3d 22 7a 69 67 22 3e 61 20 26 67 74 3b 26 67 74 3b 20 62 0a 61 20 26 67 74 3b 26 67 74 | ass="zig">a.>>.b.a.>> |
| 16320 | 3b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 | ;=.b</code></pre></td>.......... |
| 16340 | 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 | .<td>.............<ul>.......... |
| 16360 | 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 | .....<li><a.href="#Integers">Int |
| 16380 | 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e | egers</a></li>.............</ul> |
| 163a0 | 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 | ...........</td>...........<td>B |
| 163c0 | 69 74 20 53 68 69 66 74 20 52 69 67 68 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e | it.Shift.Right..............<ul> |
| 163e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | .................<li><code.class |
| 16400 | 3d 22 7a 69 67 22 3e 62 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c 61 20 68 72 65 66 3d | ="zig">b</code>.must.be.<a.href= |
| 16420 | 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 3c 2f 61 3e 20 6f | "#comptime">comptime-known</a>.o |
| 16440 | 72 20 68 61 76 65 20 61 20 74 79 70 65 20 77 69 74 68 20 6c 6f 67 32 20 6e 75 6d 62 65 72 20 6f | r.have.a.type.with.log2.number.o |
| 16460 | 66 20 62 69 74 73 20 61 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 3c 2f 63 | f.bits.as.<code.class="zig">a</c |
| 16480 | 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 65 65 | ode>.</li>...............<li>See |
| 164a0 | 20 61 6c 73 6f 20 3c 61 20 68 72 65 66 3d 22 23 73 68 72 45 78 61 63 74 22 3e 40 73 68 72 45 78 | .also.<a.href="#shrExact">@shrEx |
| 164c0 | 61 63 74 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a | act</a>.</li>.............</ul>. |
| 164e0 | 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>.. |
| 16500 | 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | ...........<pre><code.class="zig |
| 16520 | 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 30 3c 2f 73 | "><span.class="tok-number">10</s |
| 16540 | 70 61 6e 3e 20 26 67 74 3b 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | pan>.>>.<span.class="tok-n |
| 16560 | 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | umber">1</span>.==.<span.class=" |
| 16580 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | tok-number">5</span></code></pre |
| 165a0 | 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>. |
| 165c0 | 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e | ........<tr>...........<td><pre> |
| 165e0 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 26 61 6d 70 3b 20 62 0a 61 20 26 61 | <code.class="zig">a.&.b.a.&a |
| 16600 | 6d 70 3b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 | mp;=.b</code></pre></td>........ |
| 16620 | 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>........ |
| 16640 | 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 |
| 16660 | 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 |
| 16680 | 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 |
| 166a0 | 3e 42 69 74 77 69 73 65 20 41 4e 44 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 | >Bitwise.AND..............<ul>.. |
| 166c0 | 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 |
| 166e0 | 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 |
| 16700 | 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 |
| 16720 | 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>...... |
| 16740 | 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>....... |
| 16760 | 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ......<pre><code.class="zig"><sp |
| 16780 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 31 3c 2f 73 70 61 | an.class="tok-number">0b011</spa |
| 167a0 | 6e 3e 20 26 61 6d 70 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 | n>.&.<span.class="tok-number |
| 167c0 | 22 3e 30 62 31 30 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ">0b101</span>.==.<span.class="t |
| 167e0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 30 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f | ok-number">0b001</span></code></ |
| 16800 | 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 |
| 16820 | 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 | r>.........<tr>...........<td><p |
| 16840 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 7c 20 62 0a 61 20 7c 3d 20 | re><code.class="zig">a.|.b.a.|=. |
| 16860 | 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 | b</code></pre></td>...........<t |
| 16880 | 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | d>.............<ul>............. |
| 168a0 | 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 65 | ..<li><a.href="#Integers">Intege |
| 168c0 | 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 20 | rs</a></li>.............</ul>... |
| 168e0 | 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 77 | ........</td>...........<td>Bitw |
| 16900 | 69 73 65 20 4f 52 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 | ise.OR..............<ul>........ |
| 16920 | 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 |
| 16940 | 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 |
| 16960 | 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 |
| 16980 | 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>...........< |
| 169a0 | 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>............. |
| 169c0 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | <pre><code.class="zig"><span.cla |
| 169e0 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 30 3c 2f 73 70 61 6e 3e 20 7c 20 3c | ss="tok-number">0b010</span>.|.< |
| 16a00 | 73 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 30 3c 2f 73 | span.class="tok-number">0b100</s |
| 16a20 | 70 61 6e 3e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | pan>.==.<span.class="tok-number" |
| 16a40 | 3e 30 62 31 31 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 | >0b110</span></code></pre>...... |
| 16a60 | 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>........ |
| 16a80 | 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | .<tr>...........<td><pre><code.c |
| 16aa0 | 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 5e 20 62 0a 61 20 5e 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f | lass="zig">a.^.b.a.^=.b</code></ |
| 16ac0 | 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 | pre></td>...........<td>........ |
| 16ae0 | 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 |
| 16b00 | 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 |
| 16b20 | 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>...........</ |
| 16b40 | 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 42 69 74 77 69 73 65 20 58 4f 52 2e 0a 20 | td>...........<td>Bitwise.XOR... |
| 16b60 | 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 |
| 16b80 | 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 |
| 16ba0 | 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</ |
| 16bc0 | 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>....... |
| 16be0 | 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>..... |
| 16c00 | 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 |
| 16c20 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | e.class="zig"><span.class="tok-n |
| 16c40 | 75 6d 62 65 72 22 3e 30 62 30 31 31 3c 2f 73 70 61 6e 3e 20 5e 20 3c 73 70 61 6e 20 63 6c 61 73 | umber">0b011</span>.^.<span.clas |
| 16c60 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 3c 2f 73 70 61 6e 3e 20 3d 3d 20 3c | s="tok-number">0b101</span>.==.< |
| 16c80 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 31 30 3c 2f 73 | span.class="tok-number">0b110</s |
| 16ca0 | 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 |
| 16cc0 | 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>.... |
| 16ce0 | 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | .......<td><pre><code.class="zig |
| 16d00 | 22 3e 7e 61 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 | ">~a</code></pre></td>.......... |
| 16d20 | 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 | .<td>.............<ul>.......... |
| 16d40 | 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 | .....<li><a.href="#Integers">Int |
| 16d60 | 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e | egers</a></li>.............</ul> |
| 16d80 | 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a | ...........</td>...........<td>. |
| 16da0 | 20 20 20 20 20 20 20 20 20 20 20 20 42 69 74 77 69 73 65 20 4e 4f 54 2e 0a 20 20 20 20 20 20 20 | ............Bitwise.NOT......... |
| 16dc0 | 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>......... |
| 16de0 | 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 7e 3c 73 70 61 | ....<pre><code.class="zig">~<spa |
| 16e00 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e | n.class="tok-builtin">@as</span> |
| 16e20 | 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e | (<span.class="tok-type">u8</span |
| 16e40 | 3e 2c 20 3c 73 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 | >,.<span.class="tok-number">0b10 |
| 16e60 | 31 30 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 | 101111</span>).==.<span.class="t |
| 16e80 | 6f 6b 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 63 6f | ok-number">0b01010000</span></co |
| 16ea0 | 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>....... |
| 16ec0 | 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>...........< |
| 16ee0 | 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 3c 73 70 61 | td><pre><code.class="zig">a.<spa |
| 16f00 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 | n.class="tok-kw">orelse</span>.b |
| 16f20 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 | </code></pre></td>...........<td |
| 16f40 | 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>.............. |
| 16f60 | 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e | .<li><a.href="#Optionals">Option |
| 16f80 | 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 | als</a></li>.............</ul>.. |
| 16fa0 | 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 49 66 20 | .........</td>...........<td>If. |
| 16fc0 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 | <code.class="zig">a</code>.is.<c |
| 16fe0 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 17000 | 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 | -null">null</span></code>,...... |
| 17020 | 20 20 20 20 20 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 20 63 | .................returns.<code.c |
| 17040 | 6c 61 73 73 3d 22 7a 69 67 22 3e 62 3c 2f 63 6f 64 65 3e 20 28 22 64 65 66 61 75 6c 74 20 76 61 | lass="zig">b</code>.("default.va |
| 17060 | 6c 75 65 22 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | lue"),.......................... |
| 17080 | 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 | .otherwise.returns.the.unwrapped |
| 170a0 | 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 3c 2f 63 | .value.of.<code.class="zig">a</c |
| 170c0 | 6f 64 65 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 | ode>............................ |
| 170e0 | 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | ....Note.that.<code.class="zig"> |
| 17100 | 62 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 | b</code>.may.be.a.value.of.type. |
| 17120 | 3c 61 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e | <a.href="#noreturn">noreturn</a> |
| 17140 | 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e | ............</td>...........<td> |
| 17160 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | .............<pre><code.class="z |
| 17180 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | ig"><span.class="tok-kw">const</ |
| 171a0 | 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | span>.value:.?<span.class="tok-t |
| 171c0 | 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 |
| 171e0 | 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 | ok-null">null</span>;.<span.clas |
| 17200 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 6e 77 72 61 70 70 65 | s="tok-kw">const</span>.unwrappe |
| 17220 | 64 20 3d 20 76 61 6c 75 65 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f | d.=.value.<span.class="tok-kw">o |
| 17240 | 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | relse</span>.<span.class="tok-nu |
| 17260 | 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 75 6e 77 72 61 70 70 65 64 20 3d 3d 20 | mber">1234</span>;.unwrapped.==. |
| 17280 | 3c 73 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 |
| 172a0 | 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 |
| 172c0 | 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>.... |
| 172e0 | 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | .......<td><pre><code.class="zig |
| 17300 | 22 3e 61 2e 3f 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 | ">a.?</code></pre></td>......... |
| 17320 | 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>......... |
| 17340 | 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 4f | ......<li><a.href="#Optionals">O |
| 17360 | 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 2f | ptionals</a></li>.............</ |
| 17380 | 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 |
| 173a0 | 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 20 | d>.............Equivalent.to:... |
| 173c0 | 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | ..........<pre><code.class="zig" |
| 173e0 | 3e 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f | >a.<span.class="tok-kw">orelse</ |
| 17400 | 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 | span>.<span.class="tok-kw">unrea |
| 17420 | 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 | chable</span></code></pre>...... |
| 17440 | 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>....... |
| 17460 | 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ......<pre><code.class="zig"><sp |
| 17480 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 | an.class="tok-kw">const</span>.v |
| 174a0 | 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 | alue:.?<span.class="tok-type">u3 |
| 174c0 | 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 |
| 174e0 | 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e 3b 0a 76 61 6c 75 65 2e 3f 20 3d 3d 20 3c 73 70 61 | er">5678</span>;.value.?.==.<spa |
| 17500 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 6e 3e | n.class="tok-number">5678</span> |
| 17520 | 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>... |
| 17540 | 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>........ |
| 17560 | 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 | ...<td><pre><code.class="zig">a. |
| 17580 | 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 |
| 175a0 | 3e 20 62 0a 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 | >.b.a.<span.class="tok-kw">catch |
| 175c0 | 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 | </span>.|err|.b</code></pre></td |
| 175e0 | 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 |
| 17600 | 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 | >...............<li><a.href="#Er |
| 17620 | 72 6f 72 73 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 | rors">Error.Unions</a></li>..... |
| 17640 | 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>... |
| 17660 | 20 20 20 20 20 20 20 20 3c 74 64 3e 49 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | ........<td>If.<code.class="zig" |
| 17680 | 3e 61 3c 2f 63 6f 64 65 3e 20 69 73 20 61 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | >a</code>.is.an.<code.class="zig |
| 176a0 | 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 |
| 176c0 | 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>,..................... |
| 176e0 | 20 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 3c 2f 63 | ..returns.<code.class="zig">b</c |
| 17700 | 6f 64 65 3e 20 28 22 64 65 66 61 75 6c 74 20 76 61 6c 75 65 22 29 2c 0a 20 20 20 20 20 20 20 20 | ode>.("default.value"),......... |
| 17720 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 | ..................otherwise.retu |
| 17740 | 72 6e 73 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 | rns.the.unwrapped.value.of.<code |
| 17760 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 | .class="zig">a</code>........... |
| 17780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 3c | .....................Note.that.< |
| 177a0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 | code.class="zig">b</code>.may.be |
| 177c0 | 20 61 20 76 61 6c 75 65 20 6f 66 20 74 79 70 65 20 3c 61 20 68 72 65 66 3d 22 23 6e 6f 72 65 74 | .a.value.of.type.<a.href="#noret |
| 177e0 | 75 72 6e 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | urn">noreturn</a>............... |
| 17800 | 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 20 63 6c 61 73 73 | .....................<code.class |
| 17820 | 3d 22 7a 69 67 22 3e 65 72 72 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 3c 63 6f 64 65 20 63 | ="zig">err</code>.is.the.<code.c |
| 17840 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | lass="zig"><span.class="tok-kw"> |
| 17860 | 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 69 73 20 69 6e 20 73 63 | error</span></code>.and.is.in.sc |
| 17880 | 6f 70 65 20 6f 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 3c 63 6f 64 65 20 63 6c 61 73 | ope.of.the.expression.<code.clas |
| 178a0 | 73 3d 22 7a 69 67 22 3e 62 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 | s="zig">b</code>............</td |
| 178c0 | 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 | >...........<td>.............<pr |
| 178e0 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e><code.class="zig"><span.class= |
| 17900 | 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c 73 70 | "tok-kw">const</span>.value:.<sp |
| 17920 | 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 |
| 17940 | 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</ |
| 17960 | 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 |
| 17980 | 6f 72 3c 2f 73 70 61 6e 3e 2e 42 72 6f 6b 65 6e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | or</span>.Broken;.<span.class="t |
| 179a0 | 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 75 6e 77 72 61 70 70 65 64 20 3d 20 | ok-kw">const</span>.unwrapped.=. |
| 179c0 | 76 61 6c 75 65 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 | value.<span.class="tok-kw">catch |
| 179e0 | 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | </span>.<span.class="tok-number" |
| 17a00 | 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 75 6e 77 72 61 70 70 65 64 20 3d 3d 20 3c 73 70 61 6e | >1234</span>;.unwrapped.==.<span |
| 17a20 | 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 3c | .class="tok-number">1234</span>< |
| 17a40 | 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>.... |
| 17a60 | 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>......... |
| 17a80 | 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 3c | ..<td><pre><code.class="zig">a.< |
| 17aa0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 62 | span.class="tok-kw">and</span>.b |
| 17ac0 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 | </code></pre></td>...........<td |
| 17ae0 | 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>.............. |
| 17b00 | 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e | .<li><a.href="#Primitive-Types"> |
| 17b20 | 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a | bool</a></li>.............</ul>. |
| 17b40 | 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>.. |
| 17b60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | .............If.<code.class="zig |
| 17b80 | 22 3e 61 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | ">a</code>.is.<code.class="zig"> |
| 17ba0 | 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 |
| 17bc0 | 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d | an></code>,.returns.<code.class= |
| 17be0 | 22 7a 69 67 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 | "zig"><span.class="tok-null">fal |
| 17c00 | 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | se</span></code>................ |
| 17c20 | 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 63 | ...........without.evaluating.<c |
| 17c40 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 3c 2f 63 6f 64 65 3e 2e 20 4f 74 68 65 72 77 | ode.class="zig">b</code>..Otherw |
| 17c60 | 69 73 65 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 | ise,.returns.<code.class="zig">b |
| 17c80 | 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 | </code>............</td>........ |
| 17ca0 | 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 20 63 | ...<td>.............<pre><code.c |
| 17cc0 | 6c 61 73 73 3d 22 7a 69 67 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c | lass="zig">(<span.class="tok-nul |
| 17ce0 | 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | l">false</span>.<span.class="tok |
| 17d00 | 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | -kw">and</span>.<span.class="tok |
| 17d20 | 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 | -null">true</span>).==.<span.cla |
| 17d40 | 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 | ss="tok-null">false</span></code |
| 17d60 | 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>......... |
| 17d80 | 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 64 | </tr>.........<tr>...........<td |
| 17da0 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 3c 73 70 61 6e 20 | ><pre><code.class="zig">a.<span. |
| 17dc0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3c 2f 63 6f 64 65 | class="tok-kw">or</span>.b</code |
| 17de0 | 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 | ></pre></td>...........<td>..... |
| 17e00 | 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>< |
| 17e20 | 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f | a.href="#Primitive-Types">bool</ |
| 17e40 | 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>....... |
| 17e60 | 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>........ |
| 17e80 | 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 3c 2f 63 | .......If.<code.class="zig">a</c |
| 17ea0 | 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | ode>.is.<code.class="zig"><span. |
| 17ec0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f | class="tok-null">true</span></co |
| 17ee0 | 64 65 3e 2c 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | de>,.returns.<code.class="zig">< |
| 17f00 | 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 |
| 17f20 | 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ></code>........................ |
| 17f40 | 20 20 20 77 69 74 68 6f 75 74 20 65 76 61 6c 75 61 74 69 6e 67 20 3c 63 6f 64 65 20 63 6c 61 73 | ...without.evaluating.<code.clas |
| 17f60 | 73 3d 22 7a 69 67 22 3e 62 3c 2f 63 6f 64 65 3e 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 | s="zig">b</code>..Otherwise,.ret |
| 17f80 | 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 3c 2f 63 6f 64 65 3e 2e | urns.<code.class="zig">b</code>. |
| 17fa0 | 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a | ...........</td>...........<td>. |
| 17fc0 | 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | ............<pre><code.class="zi |
| 17fe0 | 67 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 | g"><span.class="tok-null">false< |
| 18000 | 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f | /span>.<span.class="tok-kw">or</ |
| 18020 | 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 | span>.<span.class="tok-null">tru |
| 18040 | 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 |
| 18060 | 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 | l">true</span></code></pre>..... |
| 18080 | 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>....... |
| 180a0 | 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 | ..<tr>...........<td><pre><code. |
| 180c0 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 21 61 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e | class="zig">!a</code></pre></td> |
| 180e0 | 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> |
| 18100 | 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 72 69 | ...............<li><a.href="#Pri |
| 18120 | 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 | mitive-Types">bool</a></li>..... |
| 18140 | 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>... |
| 18160 | 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 42 6f 6f 6c 65 61 6e | ........<td>.............Boolean |
| 18180 | 20 4e 4f 54 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 | .NOT............</td>........... |
| 181a0 | 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 20 63 6c 61 73 | <td>.............<pre><code.clas |
| 181c0 | 73 3d 22 7a 69 67 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 | s="zig">!<span.class="tok-null"> |
| 181e0 | 66 61 6c 73 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 | false</span>.==.<span.class="tok |
| 18200 | 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a | -null">true</span></code></pre>. |
| 18220 | 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>... |
| 18240 | 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 | ......<tr>...........<td><pre><c |
| 18260 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 3d 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 | ode.class="zig">a.==.b</code></p |
| 18280 | 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 | re></td>...........<td>......... |
| 182a0 | 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 | ....<ul>...............<li><a.hr |
| 182c0 | 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e | ef="#Integers">Integers</a></li> |
| 182e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f | ...............<li><a.href="#Flo |
| 18300 | 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 | ats">Floats</a></li>............ |
| 18320 | 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 | ...<li><a.href="#Primitive-Types |
| 18340 | 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 20 20 3c 6c | ">bool</a></li>...............<l |
| 18360 | 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 74 79 70 | i><a.href="#Primitive-Types">typ |
| 18380 | 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>.... |
| 183a0 | 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 | .......</td>...........<td>..... |
| 183c0 | 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | ..........Returns.<code.class="z |
| 183e0 | 69 67 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 | ig"><span.class="tok-null">true< |
| 18400 | 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 61 6e 64 20 62 20 61 72 65 20 65 71 75 | /span></code>.if.a.and.b.are.equ |
| 18420 | 61 6c 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 | al,.otherwise.returns.<code.clas |
| 18440 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-null">f |
| 18460 | 61 6c 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 20 20 20 20 | alse</span></code>.............. |
| 18480 | 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f | Invokes.<a.href="#Peer-Type-Reso |
| 184a0 | 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e | lution">Peer.Type.Resolution</a> |
| 184c0 | 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 | .for.the.operands............</t |
| 184e0 | 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 | d>...........<td>.............<p |
| 18500 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 | re><code.class="zig">(<span.clas |
| 18520 | 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 |
| 18540 | 20 63 6c 61 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>).== |
| 18560 | 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 |
| 18580 | 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e | an></code></pre>...........</td> |
| 185a0 | 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>..... |
| 185c0 | 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | ......<td><pre><code.class="zig" |
| 185e0 | 3e 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c | >a.==.<span.class="tok-null">nul |
| 18600 | 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 | l</span></code></pre></td>...... |
| 18620 | 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 | .....<td>.............<ul>...... |
| 18640 | 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 73 | .........<li><a.href="#Optionals |
| 18660 | 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 20 | ">Optionals</a></li>............ |
| 18680 | 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>.......... |
| 186a0 | 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 | .<td>...............Returns.<cod |
| 186c0 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | e.class="zig"><span.class="tok-n |
| 186e0 | 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 | ull">true</span></code>.if.a.is. |
| 18700 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 18720 | 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6f 74 68 | ok-null">null</span></code>,.oth |
| 18740 | 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | erwise.returns.<code.class="zig" |
| 18760 | 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 73 | ><span.class="tok-null">false</s |
| 18780 | 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>.... |
| 187a0 | 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 |
| 187c0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 187e0 | 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 63 | kw">const</span>.value:.?<span.c |
| 18800 | 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 |
| 18820 | 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>; |
| 18840 | 0a 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 6c 6c 22 | .value.==.<span.class="tok-null" |
| 18860 | 3e 6e 75 6c 6c 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 | >null</span></code></pre>....... |
| 18880 | 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 3c 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 | ....</td>.........</tr>......... |
| 188a0 | 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | <tr>...........<td><pre><code.cl |
| 188c0 | 61 73 73 3d 22 7a 69 67 22 3e 61 20 21 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 | ass="zig">a.!=.b</code></pre></t |
| 188e0 | 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 | d>...........<td>.............<u |
| 18900 | 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 49 | l>...............<li><a.href="#I |
| 18920 | 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 20 | ntegers">Integers</a></li>...... |
| 18940 | 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 46 | .........<li><a.href="#Floats">F |
| 18960 | 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 | loats</a></li>...............<li |
| 18980 | 3e 3c 61 20 68 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c | ><a.href="#Primitive-Types">bool |
| 189a0 | 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 |
| 189c0 | 72 65 66 3d 22 23 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 74 79 70 65 3c 2f 61 3e 3c | ref="#Primitive-Types">type</a>< |
| 189e0 | 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>.......... |
| 18a00 | 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>........... |
| 18a20 | 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | ....Returns.<code.class="zig"><s |
| 18a40 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e | pan.class="tok-null">false</span |
| 18a60 | 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 61 6e 64 20 62 20 61 72 65 20 65 71 75 61 6c 2c 20 6f | ></code>.if.a.and.b.are.equal,.o |
| 18a80 | 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | therwise.returns.<code.class="zi |
| 18aa0 | 67 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 | g"><span.class="tok-null">true</ |
| 18ac0 | 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 | span></code>..............Invoke |
| 18ae0 | 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e | s.<a.href="#Peer-Type-Resolution |
| 18b00 | 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 | ">Peer.Type.Resolution</a>.for.t |
| 18b20 | 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 | he.operands............</td>.... |
| 18b40 | 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 |
| 18b60 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | de.class="zig">(<span.class="tok |
| 18b80 | 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | -number">1</span>.!=.<span.class |
| 18ba0 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e | ="tok-number">1</span>).==.<span |
| 18bc0 | 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></ |
| 18be0 | 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>..... |
| 18c00 | 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>.......... |
| 18c20 | 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 26 67 | .<td><pre><code.class="zig">a.&g |
| 18c40 | 74 3b 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 | t;.b</code></pre></td>.......... |
| 18c60 | 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 | .<td>.............<ul>.......... |
| 18c80 | 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 | .....<li><a.href="#Integers">Int |
| 18ca0 | 65 67 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 | egers</a></li>...............<li |
| 18cc0 | 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c | ><a.href="#Floats">Floats</a></l |
| 18ce0 | 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>...........< |
| 18d00 | 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>............. |
| 18d20 | 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | ..Returns.<code.class="zig"><spa |
| 18d40 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f | n.class="tok-null">true</span></ |
| 18d60 | 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 62 2c 20 6f 74 | code>.if.a.is.greater.than.b,.ot |
| 18d80 | 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | herwise.returns.<code.class="zig |
| 18da0 | 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</ |
| 18dc0 | 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 | span></code>..............Invoke |
| 18de0 | 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e | s.<a.href="#Peer-Type-Resolution |
| 18e00 | 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 | ">Peer.Type.Resolution</a>.for.t |
| 18e20 | 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 | he.operands............</td>.... |
| 18e40 | 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 |
| 18e60 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | de.class="zig">(<span.class="tok |
| 18e80 | 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 | -number">2</span>.>.<span.cla |
| 18ea0 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 | ss="tok-number">1</span>).==.<sp |
| 18ec0 | 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>< |
| 18ee0 | 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>.... |
| 18f00 | 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>......... |
| 18f20 | 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 26 | ..<td><pre><code.class="zig">a.& |
| 18f40 | 67 74 3b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 | gt;=.b</code></pre></td>........ |
| 18f60 | 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>........ |
| 18f80 | 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 |
| 18fa0 | 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 20 20 3c | ntegers</a></li>...............< |
| 18fc0 | 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c | li><a.href="#Floats">Floats</a>< |
| 18fe0 | 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>.......... |
| 19000 | 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>........... |
| 19020 | 20 20 20 20 52 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | ....Returns.<code.class="zig"><s |
| 19040 | 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> |
| 19060 | 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 6f 72 20 | </code>.if.a.is.greater.than.or. |
| 19080 | 65 71 75 61 6c 20 74 6f 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 | equal.to.b,.otherwise.returns.<c |
| 190a0 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 190c0 | 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 | -null">false</span></code>...... |
| 190e0 | 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 | ........Invokes.<a.href="#Peer-T |
| 19100 | 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 |
| 19120 | 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 61 6e 64 73 2e 0a 20 20 20 20 20 | tion</a>.for.the.operands....... |
| 19140 | 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>....... |
| 19160 | 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 28 3c 73 | ......<pre><code.class="zig">(<s |
| 19180 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 | pan.class="tok-number">2</span>. |
| 191a0 | 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 | >=.<span.class="tok-number">1 |
| 191c0 | 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 6c | </span>).==.<span.class="tok-nul |
| 191e0 | 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 | l">true</span></code></pre>..... |
| 19200 | 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>....... |
| 19220 | 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 | ..<tr>...........<td><pre><code. |
| 19240 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 26 6c 74 3b 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | class="zig">a.<.b</code></pre |
| 19260 | 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 | ></td>...........<td>........... |
| 19280 | 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 | ..<ul>...............<li><a.href |
| 192a0 | 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 20 | ="#Integers">Integers</a></li>.. |
| 192c0 | 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 74 | .............<li><a.href="#Float |
| 192e0 | 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 3c | s">Floats</a></li>.............< |
| 19300 | 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>...........< |
| 19320 | 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 20 | td>...............Returns.<code. |
| 19340 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c | class="zig"><span.class="tok-nul |
| 19360 | 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 6c 65 | l">true</span></code>.if.a.is.le |
| 19380 | 73 73 20 74 68 61 6e 20 62 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 73 20 3c 63 6f | ss.than.b,.otherwise.returns.<co |
| 193a0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 193c0 | 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 | null">false</span></code>....... |
| 193e0 | 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 |
| 19400 | 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 |
| 19420 | 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........ |
| 19440 | 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>........ |
| 19460 | 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 28 3c 73 70 | .....<pre><code.class="zig">(<sp |
| 19480 | 61 6e 20 63 6c 61 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 | an.class="tok-number">1</span>.& |
| 194a0 | 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f | lt;.<span.class="tok-number">2</ |
| 194c0 | 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 22 | span>).==.<span.class="tok-null" |
| 194e0 | 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 | >true</span></code>></pre>...... |
| 19500 | 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>........ |
| 19520 | 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | .<tr>...........<td><pre><code.c |
| 19540 | 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 26 6c 74 3b 3d 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | lass="zig">a.<=.b</code></pre |
| 19560 | 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 | ></td>...........<td>........... |
| 19580 | 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 | ..<ul>...............<li><a.href |
| 195a0 | 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 20 | ="#Integers">Integers</a></li>.. |
| 195c0 | 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 74 | .............<li><a.href="#Float |
| 195e0 | 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 3c | s">Floats</a></li>.............< |
| 19600 | 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>...........< |
| 19620 | 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 20 | td>...............Returns.<code. |
| 19640 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c | class="zig"><span.class="tok-nul |
| 19660 | 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 61 20 69 73 20 6c 65 | l">true</span></code>.if.a.is.le |
| 19680 | 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 62 2c 20 6f 74 68 65 72 77 69 73 65 | ss.than.or.equal.to.b,.otherwise |
| 196a0 | 20 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | .returns.<code.class="zig"><span |
| 196c0 | 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></ |
| 196e0 | 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 76 6f 6b 65 73 20 3c 61 20 68 72 | code>..............Invokes.<a.hr |
| 19700 | 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 | ef="#Peer-Type-Resolution">Peer. |
| 19720 | 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 74 68 65 20 6f 70 65 72 | Type.Resolution</a>.for.the.oper |
| 19740 | 61 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 | ands............</td>........... |
| 19760 | 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 20 63 6c 61 73 | <td>.............<pre><code.clas |
| 19780 | 73 3d 22 7a 69 67 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 | s="zig">(<span.class="tok-number |
| 197a0 | 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>.<=.<span.class="to |
| 197c0 | 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 |
| 197e0 | 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e | ss="tok-null">true</span></code> |
| 19800 | 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>.........< |
| 19820 | 2f 74 72 3e 0a 20 20 20 20 20 20 20 20 3c 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e | /tr>.........<tr>...........<td> |
| 19840 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 20 2b 2b 20 62 3c 2f 63 | <pre><code.class="zig">a.++.b</c |
| 19860 | 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 | ode></pre></td>...........<td>.. |
| 19880 | 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 |
| 198a0 | 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></ |
| 198c0 | 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>........... |
| 198e0 | 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>............ |
| 19900 | 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 20 | .Array.concatenation............ |
| 19920 | 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 4f 6e 6c 79 20 | ..<ul>.................<li>Only. |
| 19940 | 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | available.when.<code.class="zig" |
| 19960 | 3e 61 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | >a</code>.and.<code.class="zig"> |
| 19980 | 62 3c 2f 63 6f 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 | b</code>.are.<a.href="#comptime" |
| 199a0 | 3e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 | >compile-time.known</a>......... |
| 199c0 | 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>...... |
| 199e0 | 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 |
| 19a00 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| 19a20 | 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 73 73 | ">const</span>.mem.=.<span.class |
| 19a40 | 3d 22 74 6f 6b 2d 62 75 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 |
| 19a60 | 70 61 6e 20 63 6c 61 73 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">"std&qu |
| 19a80 | 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ot;</span>).mem;.<span.class="to |
| 19aa0 | 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 3c | k-kw">const</span>.array1.=.[_]< |
| 19ac0 | 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> |
| 19ae0 | 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 61 | {<span.class="tok-number">1</spa |
| 19b00 | 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 73 | n>,<span.class="tok-number">2</s |
| 19b20 | 70 61 6e 3e 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | pan>};.<span.class="tok-kw">cons |
| 19b40 | 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 32 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 | t</span>.array2.=.[_]<span.class |
| 19b60 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 | ="tok-type">u32</span>{<span.cla |
| 19b80 | 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 73 70 61 6e 20 63 | ss="tok-number">3</span>,<span.c |
| 19ba0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 7d 3b 0a 3c 73 70 | lass="tok-number">4</span>};.<sp |
| 19bc0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 | an.class="tok-kw">const</span>.t |
| 19be0 | 6f 67 65 74 68 65 72 20 3d 20 61 72 72 61 79 31 20 2b 2b 20 61 72 72 61 79 32 3b 0a 6d 65 6d 2e | ogether.=.array1.++.array2;.mem. |
| 19c00 | 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 33 32 3c 2f | eql(<span.class="tok-type">u32</ |
| 19c20 | 73 70 61 6e 3e 2c 20 74 6f 67 65 74 68 65 72 2c 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 6e 20 63 | span>,.together,.&[_]<span.c |
| 19c40 | 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e | lass="tok-type">u32</span>{<span |
| 19c60 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 3c 73 70 | .class="tok-number">1</span>,<sp |
| 19c80 | 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 3c | an.class="tok-number">2</span>,< |
| 19ca0 | 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> |
| 19cc0 | 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 34 3c 2f 73 70 61 | ,<span.class="tok-number">4</spa |
| 19ce0 | 6e 3e 7d 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 | n>})</code></pre>...........</td |
| 19d00 | 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>.... |
| 19d20 | 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | .......<td><pre><code.class="zig |
| 19d40 | 22 3e 61 20 2a 2a 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 | ">a.**.b</code></pre></td>...... |
| 19d60 | 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 | .....<td>.............<ul>...... |
| 19d80 | 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 | .........<li><a.href="#Arrays">A |
| 19da0 | 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e | rrays</a></li>.............</ul> |
| 19dc0 | 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a | ...........</td>...........<td>. |
| 19de0 | 20 20 20 20 20 20 20 20 20 20 20 20 41 72 72 61 79 20 6d 75 6c 74 69 70 6c 69 63 61 74 69 6f 6e | ............Array.multiplication |
| 19e00 | 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>.............. |
| 19e20 | 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 61 76 61 69 6c 61 62 6c 65 20 77 68 65 6e 20 3c 63 6f 64 65 | ...<li>Only.available.when.<code |
| 19e40 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 20 | .class="zig">a</code>.and.<code. |
| 19e60 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 3c 2f 63 6f 64 65 3e 20 61 72 65 20 3c 61 20 68 72 65 66 | class="zig">b</code>.are.<a.href |
| 19e80 | 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 3c | ="#comptime">compile-time.known< |
| 19ea0 | 2f 61 3e 2e 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 | /a>..............</ul>.......... |
| 19ec0 | 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>........... |
| 19ee0 | 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | ..<pre><code.class="zig"><span.c |
| 19f00 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d | lass="tok-kw">const</span>.mem.= |
| 19f20 | 20 3c 73 70 61 6e 20 63 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 |
| 19f40 | 72 74 3c 2f 73 70 61 6e 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"> |
| 19f60 | 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 0a 3c 73 70 | "std"</span>).mem;.<sp |
| 19f80 | 61 6e 20 63 6c 61 73 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 |
| 19fa0 | 61 74 74 65 72 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 | attern.=.<span.class="tok-str">& |
| 19fc0 | 71 75 6f 74 3b 61 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 2a 2a 20 3c 73 70 61 6e 20 63 6c | quot;ab"</span>.**.<span.cl |
| 19fe0 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 6d 65 6d 2e 65 | ass="tok-number">3</span>;.mem.e |
| 1a000 | 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 | ql(<span.class="tok-type">u8</sp |
| 1a020 | 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 73 | an>,.pattern,.<span.class="tok-s |
| 1a040 | 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 3c 2f | tr">"ababab"</span>)</ |
| 1a060 | 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>..... |
| 1a080 | 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>.......... |
| 1a0a0 | 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 2e 2a 3c | .<td><pre><code.class="zig">a.*< |
| 1a0c0 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e | /code></pre></td>...........<td> |
| 1a0e0 | 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>............... |
| 1a100 | 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 | <li><a.href="#Pointers">Pointers |
| 1a120 | 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>..... |
| 1a140 | 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>...... |
| 1a160 | 20 20 20 20 20 20 20 50 6f 69 6e 74 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 2e 0a 20 20 20 20 | .......Pointer.dereference...... |
| 1a180 | 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>...... |
| 1a1a0 | 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | .......<pre><code.class="zig"><s |
| 1a1c0 | 70 61 6e 20 63 6c 61 73 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>. |
| 1a1e0 | 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 | x:.<span.class="tok-type">u32</s |
| 1a200 | 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"> |
| 1a220 | 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | 1234</span>;.<span.class="tok-kw |
| 1a240 | 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 0a 70 74 72 | ">const</span>.ptr.=.&x;.ptr |
| 1a260 | 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 | .*.==.<span.class="tok-number">1 |
| 1a280 | 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 20 | 234</span></code></pre>......... |
| 1a2a0 | 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 |
| 1a2c0 | 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | r>...........<td><pre><code.clas |
| 1a2e0 | 73 3d 22 7a 69 67 22 3e 26 61 6d 70 3b 61 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 3e | s="zig">&a</code></pre></td> |
| 1a300 | 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 6c 6c 20 | ...........<td>.............All. |
| 1a320 | 74 79 70 65 73 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 | types...........</td>........... |
| 1a340 | 3c 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 64 64 72 65 73 73 20 6f 66 2e 0a 20 20 20 | <td>.............Address.of..... |
| 1a360 | 20 20 20 20 20 20 20 3c 2f 74 64 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 0a 20 20 20 20 | .......</td>...........<td>..... |
| 1a380 | 20 20 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | ........<pre><code.class="zig">< |
| 1a3a0 | 73 70 61 6e 20 63 6c 61 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> |
| 1a3c0 | 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f | .x:.<span.class="tok-type">u32</ |
| 1a3e0 | 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" |
| 1a400 | 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | >1234</span>;.<span.class="tok-k |
| 1a420 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 0a 70 74 | w">const</span>.ptr.=.&x;.pt |
| 1a440 | 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | r.*.==.<span.class="tok-number"> |
| 1a460 | 31 32 33 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 20 | 1234</span></code></pre>........ |
| 1a480 | 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>.........< |
| 1a4a0 | 74 72 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 74 64 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | tr>...........<td><pre><code.cla |
| 1a4c0 | 73 73 3d 22 7a 69 67 22 3e 61 20 7c 7c 20 62 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 2f 74 64 | ss="zig">a.||.b</code></pre></td |
| 1a4e0 | 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 |
| 1a500 | 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 45 72 | >...............<li><a.href="#Er |
| 1a520 | 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e | ror-Set-Type">Error.Set.Type</a> |
| 1a540 | 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>......... |
| 1a560 | 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>.......... |
| 1a580 | 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 | .....<a.href="#Merging-Error-Set |
| 1a5a0 | 73 22 3e 4d 65 72 67 69 6e 67 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 0a 20 20 20 20 20 20 | s">Merging.Error.Sets</a>....... |
| 1a5c0 | 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>........ |
| 1a5e0 | 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | .....<pre><code.class="zig"><spa |
| 1a600 | 6e 20 63 6c 61 73 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 20 | n.class="tok-kw">const</span>.A. |
| 1a620 | 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 | =.<span.class="tok-kw">error</sp |
| 1a640 | 61 6e 3e 7b 4f 6e 65 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | an>{One};.<span.class="tok-kw">c |
| 1a660 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | onst</span>.B.=.<span.class="tok |
| 1a680 | 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 54 77 6f 7d 3b 0a 28 41 20 7c 7c 20 42 29 | -kw">error</span>{Two};.(A.||.B) |
| 1a6a0 | 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f | .==.<span.class="tok-kw">error</ |
| 1a6c0 | 73 70 61 6e 3e 7b 4f 6e 65 2c 20 54 77 6f 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 | span>{One,.Two}</code></pre>.... |
| 1a6e0 | 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>...... |
| 1a700 | 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 0a 20 20 | .</table>.......</div>.......... |
| 1a720 | 20 20 20 20 3c 68 32 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 | ....<h2.id="Precedence"><a.href= |
| 1a740 | 22 23 74 6f 63 2d 50 72 65 63 65 64 65 6e 63 65 22 3e 50 72 65 63 65 64 65 6e 63 65 3c 2f 61 3e | "#toc-Precedence">Precedence</a> |
| 1a760 | 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 72 65 63 65 64 65 6e 63 | .<a.class="hdr".href="#Precedenc |
| 1a780 | 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 | e">..</a></h2>........<pre><code |
| 1a7a0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 78 28 29 20 78 5b 5d 20 78 2e 79 0a 61 21 62 0a 21 78 20 | .class="zig">x().x[].x.y.a!b.!x. |
| 1a7c0 | 2d 78 20 2d 25 78 20 7e 78 20 26 61 6d 70 3b 78 20 3f 78 0a 78 7b 7d 20 78 2e 2a 20 78 2e 3f 0a | -x.-%x.~x.&x.?x.x{}.x.*.x.?. |
| 1a7e0 | 21 20 2a 20 2f 20 25 20 2a 2a 20 2a 25 20 7c 7c 0a 2b 20 2d 20 2b 2b 20 2b 25 20 2d 25 0a 26 6c | !.*./.%.**.*%.||.+.-.++.+%.-%.&l |
| 1a800 | 74 3b 26 6c 74 3b 20 26 67 74 3b 26 67 74 3b 0a 26 61 6d 70 3b 20 5e 20 7c 0a 3d 3d 20 21 3d 20 | t;<.>>.&.^.|.==.!=. |
| 1a820 | 26 6c 74 3b 20 26 67 74 3b 20 26 6c 74 3b 3d 20 26 67 74 3b 3d 0a 3c 73 70 61 6e 20 63 6c 61 73 | <.>.<=.>=.<span.clas |
| 1a840 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 | s="tok-kw">and</span>.<span.clas |
| 1a860 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | s="tok-kw">or</span>.<span.class |
| 1a880 | 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 63 6c | ="tok-kw">orelse</span>.<span.cl |
| 1a8a0 | 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 0a 3d 20 2a 3d 20 2f | ass="tok-kw">catch</span>.=.*=./ |
| 1a8c0 | 3d 20 25 3d 20 2b 3d 20 2d 3d 20 26 6c 74 3b 26 6c 74 3b 3d 20 26 67 74 3b 26 67 74 3b 3d 20 26 | =.%=.+=.-=.<<=.>>=.& |
| 1a8e0 | 61 6d 70 3b 3d 20 5e 3d 20 7c 3d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 0a | amp;=.^=.|=</code></pre>........ |
| 1a900 | 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 41 72 72 61 79 73 22 3e 3c 61 20 | .............<h1.id="Arrays"><a. |
| 1a920 | 68 72 65 66 3d 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 | href="#toc-Arrays">Arrays</a>.<a |
| 1a940 | 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e c2 a7 3c 2f | .class="hdr".href="#Arrays">..</ |
| 1a960 | 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 | a></h1>........<p.class="file">a |
| 1a980 | 72 72 61 79 73 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | rrays.zig</p><pre><code.class="z |
| 1a9a0 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | ig"><span.class="tok-kw">const</ |
| 1a9c0 | 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | span>.assert.=.<span.class="tok- |
| 1a9e0 | 62 75 69 6c 74 69 6e 22 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 |
| 1aa00 | 61 73 73 3d 22 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">"std"</s |
| 1aa20 | 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | pan>).debug.assert;.<span.class= |
| 1aa40 | 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 |
| 1aa60 | 6e 20 63 6c 61 73 73 3d 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 |
| 1aa80 | 70 61 6e 3e 28 3c 73 70 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">" |
| 1aaa0 | 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 0a 0a 3c 73 70 61 6e 20 63 | ;std"</span>).mem;..<span.c |
| 1aac0 | 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 72 72 61 79 20 6c 69 74 65 | lass="tok-comment">//.array.lite |
| 1aae0 | 72 61 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ral</span>.<span.class="tok-kw"> |
| 1ab00 | 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 73 73 61 67 65 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 | const</span>.message.=.[_]<span. |
| 1ab20 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 | class="tok-type">u8</span>{.<spa |
| 1ab40 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 | n.class="tok-str">'h'</span>,.<s |
| 1ab60 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 | pan.class="tok-str">'e'</span>,. |
| 1ab80 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e | <span.class="tok-str">'l'</span> |
| 1aba0 | 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 |
| 1abc0 | 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 6f 27 3c 2f 73 | n>,.<span.class="tok-str">'o'</s |
| 1abe0 | 70 61 6e 3e 20 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e | pan>.};..<span.class="tok-commen |
| 1ac00 | 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 2f | t">//.get.the.size.of.an.array</ |
| 1ac20 | 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 | span>.<span.class="tok-kw">compt |
| 1ac40 | 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 73 73 61 67 65 2e | ime</span>.{.....assert(message. |
| 1ac60 | 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"> |
| 1ac80 | 35 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 | 5</span>);.}..<span.class="tok-c |
| 1aca0 | 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 69 73 20 61 | omment">//.A.string.literal.is.a |
| 1acc0 | 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 20 6c 69 74 65 72 61 6c 2e 3c 2f 73 | .pointer.to.an.array.literal.</s |
| 1ace0 | 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c | pan>.<span.class="tok-kw">const< |
| 1ad00 | 2f 73 70 61 6e 3e 20 73 61 6d 65 5f 6d 65 73 73 61 67 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | /span>.same_message.=.<span.clas |
| 1ad20 | 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 | s="tok-str">"hello"</s |
| 1ad40 | 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 | pan>;..<span.class="tok-kw">comp |
| 1ad60 | 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c | time</span>.{.....assert(mem.eql |
| 1ad80 | 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e | (<span.class="tok-type">u8</span |
| 1ada0 | 3e 2c 20 26 61 6d 70 3b 6d 65 73 73 61 67 65 2c 20 73 61 6d 65 5f 6d 65 73 73 61 67 65 29 29 3b | >,.&message,.same_message)); |
| 1adc0 | 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 | .}..<span.class="tok-kw">test</s |
| 1ade0 | 70 61 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">" |
| 1ae00 | 3b 69 74 65 72 61 74 65 20 6f 76 65 72 20 61 6e 20 61 72 72 61 79 26 71 75 6f 74 3b 3c 2f 73 70 | ;iterate.over.an.array"</sp |
| 1ae20 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 | an>.{.....<span.class="tok-kw">v |
| 1ae40 | 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ar</span>.sum:.<span.class="tok- |
| 1ae60 | 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 |
| 1ae80 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 | ="tok-number">0</span>;.....<spa |
| 1aea0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 6d 65 73 | n.class="tok-kw">for</span>.(mes |
| 1aec0 | 73 61 67 65 29 20 7c 62 79 74 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 62 79 | sage).|byte|.{.........sum.+=.by |
| 1aee0 | 74 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 61 73 73 65 72 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 | te;.....}.....assert(sum.==.<spa |
| 1af00 | 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 20 2b 20 3c | n.class="tok-str">'h'</span>.+.< |
| 1af20 | 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 20 | span.class="tok-str">'e'</span>. |
| 1af40 | 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 | +.<span.class="tok-str">'l'</spa |
| 1af60 | 6e 3e 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c | n>.*.<span.class="tok-number">2< |
| 1af80 | 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">' |
| 1afa0 | 6f 27 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | o'</span>);.}..<span.class="tok- |
| 1afc0 | 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 6f 64 69 66 69 61 62 6c 65 20 61 72 72 61 79 3c 2f 73 70 | comment">//.modifiable.array</sp |
| 1afe0 | 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 | an>.<span.class="tok-kw">var</sp |
| 1b000 | 61 6e 3e 20 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d | an>.some_integers:.[<span.class= |
| 1b020 | 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c | "tok-number">100</span>]<span.cl |
| 1b040 | 61 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 |
| 1b060 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 | n.class="tok-null">undefined</sp |
| 1b080 | 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c | an>;..<span.class="tok-kw">test< |
| 1b0a0 | 2f 73 70 61 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 |
| 1b0c0 | 6f 74 3b 6d 6f 64 69 66 79 20 61 6e 20 61 72 72 61 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 | ot;modify.an.array"</span>. |
| 1b0e0 | 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f | {.....<span.class="tok-kw">for</ |
| 1b100 | 73 70 61 6e 3e 20 28 73 6f 6d 65 5f 69 6e 74 65 67 65 72 73 29 20 7c 2a 69 74 65 6d 2c 20 69 7c | span>.(some_integers).|*item,.i| |
| 1b120 | 20 7b 0a 20 20 20 20 20 20 20 20 69 74 65 6d 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | .{.........item.*.=.<span.class= |
| 1b140 | 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 |
| 1b160 | 70 61 6e 20 63 6c 61 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>, |
| 1b180 | 20 69 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 61 73 73 65 72 74 28 73 6f 6d 65 5f 69 6e 74 65 67 | .i);.....}.....assert(some_integ |
| 1b1a0 | 65 72 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c | ers[<span.class="tok-number">10< |
| 1b1c0 | 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 62 | /span>].==.<span.class="tok-numb |
| 1b1e0 | 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 73 6f 6d 65 5f | er">10</span>);.....assert(some_ |
| 1b200 | 69 6e 74 65 67 65 72 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 | integers[<span.class="tok-number |
| 1b220 | 22 3e 39 39 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ">99</span>].==.<span.class="tok |
| 1b240 | 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c | -number">99</span>);.}..<span.cl |
| 1b260 | 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 72 72 61 79 20 63 6f 6e 63 61 | ass="tok-comment">//.array.conca |
| 1b280 | 74 65 6e 61 74 69 6f 6e 20 77 6f 72 6b 73 20 69 66 20 74 68 65 20 76 61 6c 75 65 73 20 61 72 65 | tenation.works.if.the.values.are |
| 1b2a0 | 20 6b 6e 6f 77 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 | .known</span>.<span.class="tok-c |
| 1b2c0 | 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 3c 2f 73 70 61 6e | omment">//.at.compile.time</span |
| 1b2e0 | 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 | >.<span.class="tok-kw">const</sp |
| 1b300 | 61 6e 3e 20 70 61 72 74 5f 6f 6e 65 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | an>.part_one.=.[_]<span.class="t |
| 1b320 | 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ok-type">i32</span>{.<span.class |
| 1b340 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c | ="tok-number">1</span>,.<span.cl |
| 1b360 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e | ass="tok-number">2</span>,.<span |
| 1b380 | 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 |
| 1b3a0 | 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 20 | pan.class="tok-number">4</span>. |
| 1b3c0 | 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 | };.<span.class="tok-kw">const</s |
| 1b3e0 | 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 22 | pan>.part_two.=.[_]<span.class=" |
| 1b400 | 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 73 | tok-type">i32</span>{.<span.clas |
| 1b420 | 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 63 | s="tok-number">5</span>,.<span.c |
| 1b440 | 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 61 | lass="tok-number">6</span>,.<spa |
| 1b460 | 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 3c | n.class="tok-number">7</span>,.< |
| 1b480 | 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 3e | span.class="tok-number">8</span> |
| 1b4a0 | 20 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | .};.<span.class="tok-kw">const</ |
| 1b4c0 | 73 70 61 6e 3e 20 61 6c 6c 5f 6f 66 5f 69 74 20 3d 20 70 61 72 74 5f 6f 6e 65 20 2b 2b 20 70 61 | span>.all_of_it.=.part_one.++.pa |
| 1b4e0 | 72 74 5f 74 77 6f 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d | rt_two;.<span.class="tok-kw">com |
| 1b500 | 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 | ptime</span>.{.....assert(mem.eq |
| 1b520 | 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 69 33 32 3c 2f 73 70 | l(<span.class="tok-type">i32</sp |
| 1b540 | 61 6e 3e 2c 20 26 61 6d 70 3b 61 6c 6c 5f 6f 66 5f 69 74 2c 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 | an>,.&all_of_it,.&[_]<sp |
| 1b560 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 | an.class="tok-type">i32</span>{. |
| 1b580 | 3c 73 70 61 6e 20 63 6c 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 |
| 1b5a0 | 3e 2c 20 3c 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 |
| 1b5c0 | 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 | pan>,.<span.class="tok-number">3 |
| 1b5e0 | 3c 2f 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 |
| 1b600 | 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 6d | ">4</span>,.<span.class="tok-num |
| 1b620 | 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ber">5</span>,.<span.class="tok- |
| 1b640 | 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | number">6</span>,.<span.class="t |
| 1b660 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ok-number">7</span>,.<span.class |
| 1b680 | 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 29 3b 0a 7d 0a 0a 3c | ="tok-number">8</span>.}));.}..< |
| 1b6a0 | 73 70 61 6e 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 | span.class="tok-comment">//.reme |
| 1b6c0 | 6d 62 65 72 20 74 68 61 74 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 61 72 65 20 61 72 | mber.that.string.literals.are.ar |
| 1b6e0 | 72 61 79 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | rays</span>.<span.class="tok-kw" |
| 1b700 | 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | >const</span>.hello.=.<span.clas |
| 1b720 | 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 | s="tok-str">"hello"</s |
| 1b740 | 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | pan>;.<span.class="tok-kw">const |
| 1b760 | 3c 2f 73 70 61 6e 3e 20 77 6f 72 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | </span>.world.=.<span.class="tok |
| 1b780 | 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 6e 3e 3b 0a | -str">"world"</span>;. |
| 1b7a0 | 3c 73 70 61 6e 20 63 6c 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 |
| 1b7c0 | 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 20 3d 20 68 65 6c 6c 6f 20 2b 2b 20 3c 73 70 61 6e 20 63 | >.hello_world.=.hello.++.<span.c |
| 1b7e0 | 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 20 26 71 75 6f 74 3b 3c 2f 73 70 | lass="tok-str">"."</sp |
| 1b800 | 61 6e 3e 20 2b 2b 20 77 6f 72 6c 64 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | an>.++.world;.<span.class="tok-k |
| 1b820 | 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 | w">comptime</span>.{.....assert( |
| 1b840 | 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 75 | mem.eql(<span.class="tok-type">u |
| 1b860 | 38 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 | 8</span>,.hello_world,.<span.cla |
| 1b880 | 73 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 | ss="tok-str">"hello.world&q |
| 1b8a0 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | uot;</span>));.}..<span.class="t |
| 1b8c0 | 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 2a 20 64 6f 65 73 20 72 65 70 65 61 74 69 6e 67 | ok-comment">//.**.does.repeating |
| 1b8e0 | 20 70 61 74 74 65 72 6e 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | .patterns</span>.<span.class="to |
| 1b900 | 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 70 | k-kw">const</span>.pattern.=.<sp |
| 1b920 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 62 26 71 75 6f 74 | an.class="tok-str">"ab" |
| 1b940 | 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 6d | ;</span>.**.<span.class="tok-num |
| 1b960 | 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ber">3</span>;.<span.class="tok- |
| 1b980 | 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 | kw">comptime</span>.{.....assert |
| 1b9a0 | 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"> |
| 1b9c0 | 75 38 3c 2f 73 70 61 6e 3e 2c 20 70 61 74 74 65 72 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | u8</span>,.pattern,.<span.class= |
| 1b9e0 | 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 62 61 62 61 62 26 71 75 6f 74 3b 3c 2f 73 70 | "tok-str">"ababab"</sp |
| 1ba00 | 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 | an>));.}..<span.class="tok-comme |
| 1ba20 | 6e 74 22 3e 2f 2f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6e 20 61 72 72 61 79 20 74 6f 20 7a 65 | nt">//.initialize.an.array.to.ze |
| 1ba40 | 72 6f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | ro</span>.<span.class="tok-kw">c |
| 1ba60 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 7a 65 72 6f 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 | onst</span>.all_zero.=.[_]<span. |
| 1ba80 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 | class="tok-type">u16</span>{<spa |
| 1baa0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 7d 20 2a | n.class="tok-number">0</span>}.* |
| 1bac0 | 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 | *.<span.class="tok-number">10</s |
| 1bae0 | 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 | pan>;..<span.class="tok-kw">comp |
| 1bb00 | 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 61 6c 6c 5f 7a 65 72 | time</span>.{.....assert(all_zer |
| 1bb20 | 6f 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 | o.len.==.<span.class="tok-number |
| 1bb40 | 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 6c 6c 5f 7a 65 72 | ">10</span>);.....assert(all_zer |
| 1bb60 | 6f 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 | o[<span.class="tok-number">5</sp |
| 1bb80 | 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" |
| 1bba0 | 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >0</span>);.}..<span.class="tok- |
| 1bbc0 | 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 75 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 64 | comment">//.use.compile-time.cod |
| 1bbe0 | 65 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 6e 20 61 72 72 61 79 3c 2f 73 70 61 6e 3e 0a | e.to.initialize.an.array</span>. |
| 1bc00 | 3c 73 70 61 6e 20 63 6c 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>. |
| 1bc20 | 66 61 6e 63 79 5f 61 72 72 61 79 20 3d 20 69 6e 69 74 3a 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 | fancy_array.=.init:.{.....<span. |
| 1bc40 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 6e 69 74 69 61 | class="tok-kw">var</span>.initia |
| 1bc60 | 6c 5f 76 61 6c 75 65 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 | l_value:.[<span.class="tok-numbe |
| 1bc80 | 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 50 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | r">10</span>]Point.=.<span.class |
| 1bca0 | 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 | ="tok-null">undefined</span>;... |
| 1bcc0 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e | ..<span.class="tok-kw">for</span |
| 1bce0 | 3e 20 28 69 6e 69 74 69 61 6c 5f 76 61 6c 75 65 29 20 7c 2a 70 74 2c 20 69 7c 20 7b 0a 20 20 20 | >.(initial_value).|*pt,.i|.{.... |
| 1bd00 | 20 20 20 20 20 70 74 2e 2a 20 3d 20 50 6f 69 6e 74 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e | .....pt.*.=.Point{.............. |
| 1bd20 | 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 | x.=.<span.class="tok-builtin">@i |
| 1bd40 | 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 74 | ntCast</span>(<span.class="tok-t |
| 1bd60 | 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 69 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 | ype">i32</span>,.i),............ |
| 1bd80 | 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e | ..y.=.<span.class="tok-builtin"> |
| 1bda0 | 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | @intCast</span>(<span.class="tok |
| 1bdc0 | 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 69 29 20 2a 20 3c 73 70 61 6e 20 63 6c | -type">i32</span>,.i).*.<span.cl |
| 1bde0 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 | ass="tok-number">2</span>,...... |
| 1be00 | 20 20 20 7d 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ...};.....}.....<span.class="tok |
| 1be20 | 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 69 6e 69 74 20 69 6e 69 74 69 61 6c 5f | -kw">break</span>.:init.initial_ |
| 1be40 | 76 61 6c 75 65 3b 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | value;.};.<span.class="tok-kw">c |
| 1be60 | 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= |
| 1be80 | 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 78 3a 20 | "tok-kw">struct</span>.{.....x:. |
| 1bea0 | 3c 73 70 61 6e 20 63 6c 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 |
| 1bec0 | 3e 2c 0a 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | >,.....y:.<span.class="tok-type" |
| 1bee0 | 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | >i32</span>,.};..<span.class="to |
| 1bf00 | 6b 2d 6b 77 22 3e 74 65 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 |
| 1bf20 | 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 72 61 79 | ok-str">"compile-time.array |
| 1bf40 | 20 69 6e 69 74 61 6c 69 7a 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | .initalization"</span>.{... |
| 1bf60 | 20 20 61 73 73 65 72 74 28 66 61 6e 63 79 5f 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 | ..assert(fancy_array[<span.class |
| 1bf80 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 78 20 3d 3d 20 3c 73 70 | ="tok-number">4</span>].x.==.<sp |
| 1bfa0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b | an.class="tok-number">4</span>); |
| 1bfc0 | 0a 20 20 20 20 61 73 73 65 72 74 28 66 61 6e 63 79 5f 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c | .....assert(fancy_array[<span.cl |
| 1bfe0 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 79 20 3d 3d 20 | ass="tok-number">4</span>].y.==. |
| 1c000 | 3c 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 |
| 1c020 | 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 | >);.}..<span.class="tok-comment" |
| 1c040 | 3e 2f 2f 20 63 61 6c 6c 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a | >//.call.a.function.to.initializ |
| 1c060 | 65 20 61 6e 20 61 72 72 61 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | e.an.array</span>.<span.class="t |
| 1c080 | 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6d 6f 72 65 5f 70 6f 69 6e 74 73 20 3d 20 | ok-kw">var</span>.more_points.=. |
| 1c0a0 | 5b 5f 5d 50 6f 69 6e 74 7b 6d 61 6b 65 50 6f 69 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | [_]Point{makePoint(<span.class=" |
| 1c0c0 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 7d 20 2a 2a 20 3c 73 70 61 6e 20 | tok-number">3</span>)}.**.<span. |
| 1c0e0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 | class="tok-number">10</span>;.<s |
| 1c100 | 70 61 6e 20 63 6c 61 73 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 |
| 1c120 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 6b 65 50 6f 69 6e 74 3c 2f 73 70 61 | an.class="tok-fn">makePoint</spa |
| 1c140 | 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 | n>(x:.<span.class="tok-type">i32 |
| 1c160 | 3c 2f 73 70 61 6e 3e 29 20 50 6f 69 6e 74 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | </span>).Point.{.....<span.class |
| 1c180 | 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 7b 0a 20 | ="tok-kw">return</span>.Point{.. |
| 1c1a0 | 20 20 20 20 20 20 20 2e 78 20 3d 20 78 2c 0a 20 20 20 20 20 20 20 20 2e 79 20 3d 20 78 20 2a 20 | ........x.=.x,..........y.=.x.*. |
| 1c1c0 | 3c 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 |
| 1c1e0 | 3e 2c 0a 20 20 20 20 7d 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | >,.....};.}.<span.class="tok-kw" |
| 1c200 | 3e 74 65 73 74 3c 2f 73 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 |
| 1c220 | 72 22 3e 26 71 75 6f 74 3b 61 72 72 61 79 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 77 69 | r">"array.initialization.wi |
| 1c240 | 74 68 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b | th.function.calls"</span>.{ |
| 1c260 | 0a 20 20 20 20 61 73 73 65 72 74 28 6d 6f 72 65 5f 70 6f 69 6e 74 73 5b 3c 73 70 61 6e 20 63 6c | .....assert(more_points[<span.cl |
| 1c280 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 2e 78 20 3d 3d 20 | ass="tok-number">4</span>].x.==. |
| 1c2a0 | 3c 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 |
| 1c2c0 | 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 6f 72 65 5f 70 6f 69 6e 74 73 5b 3c 73 70 61 6e | >);.....assert(more_points[<span |
| 1c2e0 | 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. |
| 1c300 | 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 |
| 1c320 | 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 6f 72 65 5f 70 6f 69 6e 74 73 2e 6c 65 | pan>);.....assert(more_points.le |
| 1c340 | 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 | n.==.<span.class="tok-number">10 |
| 1c360 | 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f | </span>);.}</code></pre><pre><co |
| 1c380 | 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 61 72 72 61 | de.class="shell">$.zig.test.arra |
| 1c3a0 | 79 73 2e 7a 69 67 0a 31 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b 69 74 65 72 61 74 65 20 6f 76 | ys.zig.1/4.test."iterate.ov |
| 1c3c0 | 65 72 20 61 6e 20 61 72 72 61 79 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 32 2f 34 20 74 65 73 74 20 | er.an.array"...OK.2/4.test. |
| 1c3e0 | 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 4f 4b | "modify.an.array"...OK |
| 1c400 | 0a 33 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 72 | .3/4.test."compile-time.arr |
| 1c420 | 61 79 20 69 6e 69 74 61 6c 69 7a 61 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 34 2f 34 20 | ay.initalization"...OK.4/4. |
| 1c440 | 74 65 73 74 20 26 71 75 6f 74 3b 61 72 72 61 79 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 | test."array.initialization. |
| 1c460 | 77 69 74 68 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 | with.function.calls"...OK.A |
| 1c480 | 6c 6c 20 34 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | ll.4.tests.passed..</code></pre> |
| 1c4a0 | 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 | ........<p>See.also:</p><ul>.<li |
| 1c4c0 | 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 6c 69 | ><a.href="#for">for</a></li>.<li |
| 1c4e0 | 3e 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c | ><a.href="#Slices">Slices</a></l |
| 1c500 | 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 6e 6f 6e 79 6d 6f | i>.</ul>.........<h2.id="Anonymo |
| 1c520 | 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 63 2d | us-List-Literals"><a.href="#toc- |
| 1c540 | 41 6e 6f 6e 79 6d 6f 75 73 2d 4c 69 73 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f | Anonymous-List-Literals">Anonymo |
| 1c560 | 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 22 68 | us.List.Literals</a>.<a.class="h |
| 1c580 | 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 72 61 | dr".href="#Anonymous-List-Litera |
| 1c5a0 | 6c 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 53 69 6d 69 6c 61 | ls">..</a></h2>........<p>Simila |
| 1c5c0 | 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 45 6e | r.to.<a.href="#Enum-Literals">En |
| 1c5e0 | 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 41 6e | um.Literals</a>.and.<a.href="#An |
| 1c600 | 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 |
| 1c620 | 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 68 65 | us.Struct.Literals</a>.......the |
| 1c640 | 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 79 20 | .type.can.be.omitted.from.array. |
| 1c660 | 6c 69 74 65 72 61 6c 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 | literals:</p>.......<p.class="fi |
| 1c680 | 6c 65 22 3e 61 6e 6f 6e 5f 6c 69 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 | le">anon_list.zig</p><pre><code. |
| 1c6a0 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | class="zig"><span.class="tok-kw" |
| 1c6c0 | 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= |
| 1c6e0 | 22 74 6f 6b 2d 62 75 69 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 |
| 1c700 | 61 6e 20 63 6c 61 73 73 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">"std&quo |
| 1c720 | 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | t;</span>);.<span.class="tok-kw" |
| 1c740 | 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 | >const</span>.assert.=.std.debug |
| 1c760 | 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 | .assert;..<span.class="tok-kw">t |
| 1c780 | 65 73 74 3c 2f 73 70 61 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" |
| 1c7a0 | 3e 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c 20 73 79 | >"anonymous.list.literal.sy |
| 1c7c0 | 6e 74 61 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | ntax"</span>.{.....<span.cl |
| 1c7e0 | 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 3a 20 5b | ass="tok-kw">var</span>.array:.[ |
| 1c800 | 3c 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 |
| 1c820 | 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 | >]<span.class="tok-type">u8</spa |
| 1c840 | 6e 3e 20 3d 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | n>.=..{<span.class="tok-number"> |
| 1c860 | 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 75 6d 62 | 11</span>,.<span.class="tok-numb |
| 1c880 | 65 72 22 3e 32 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | er">22</span>,.<span.class="tok- |
| 1c8a0 | 6e 75 6d 62 65 72 22 3e 33 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | number">33</span>,.<span.class=" |
| 1c8c0 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 34 3c 2f 73 70 61 6e 3e 7d 3b 0a 20 20 20 20 61 73 73 65 | tok-number">44</span>};.....asse |
| 1c8e0 | 72 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 | rt(array[<span.class="tok-number |
| 1c900 | 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ">0</span>].==.<span.class="tok- |
| 1c920 | 6e 75 6d 62 65 72 22 3e 31 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 | number">11</span>);.....assert(a |
| 1c940 | 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 31 3c | rray[<span.class="tok-number">1< |
| 1c960 | 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 62 | /span>].==.<span.class="tok-numb |
| 1c980 | 65 72 22 3e 32 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 72 72 61 79 | er">22</span>);.....assert(array |
| 1c9a0 | 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 | [<span.class="tok-number">2</spa |
| 1c9c0 | 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 3e | n>].==.<span.class="tok-number"> |
| 1c9e0 | 33 33 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 72 72 61 79 5b 3c 73 70 | 33</span>);.....assert(array[<sp |
| 1ca00 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 5d 20 | an.class="tok-number">3</span>]. |
| 1ca20 | 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 34 3c 2f | ==.<span.class="tok-number">44</ |
| 1ca40 | 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 | span>);.}</code></pre><pre><code |
| 1ca60 | 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 61 6e 6f 6e 5f 6c | .class="shell">$.zig.test.anon_l |
| 1ca80 | 69 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 | ist.zig.1/1.test."anonymous |
| 1caa0 | 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 2e 2e 2e 4f 4b 0a | .list.literal.syntax"...OK. |
| 1cac0 | 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | All.1.tests.passed..</code></pre |
| 1cae0 | 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6e | >........<p>.......If.there.is.n |
| 1cb00 | 6f 20 74 79 70 65 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 20 74 68 | o.type.in.the.result.location.th |
| 1cb20 | 65 6e 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c 20 61 63 74 | en.an.anonymous.list.literal.act |
| 1cb40 | 75 61 6c 6c 79 0a 20 20 20 20 20 20 74 75 72 6e 73 20 69 6e 74 6f 20 61 20 3c 61 20 68 72 65 66 | ually.......turns.into.a.<a.href |
| 1cb60 | 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 20 77 69 74 68 20 6e 75 6d 62 65 | ="#struct">struct</a>.with.numbe |
| 1cb80 | 72 65 64 20 66 69 65 6c 64 20 6e 61 6d 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 | red.field.names:.......</p>..... |
| 1cba0 | 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 6e 66 65 72 5f 6c 69 73 74 5f 6c 69 74 | ..<p.class="file">infer_list_lit |
| 1cbc0 | 65 72 61 6c 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | eral.zig</p><pre><code.class="zi |
| 1cbe0 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 | g"><span.class="tok-kw">const</s |
| 1cc00 | 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 |
| 1cc20 | 74 69 6e 22 3e 40 69 6d 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= |
| 1cc40 | 22 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">"std"</span> |
| 1cc60 | 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 | );.<span.class="tok-kw">const</s |
| 1cc80 | 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a | pan>.assert.=.std.debug.assert;. |
| 1cca0 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e | .<span.class="tok-kw">test</span |
| 1ccc0 | 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 | >.<span.class="tok-str">"fu |
| 1cce0 | 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 26 71 75 6f 74 3b | lly.anonymous.list.literal" |
| 1cd00 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 64 75 6d 70 28 2e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 | </span>.{.....dump(.{.<span.clas |
| 1cd20 | 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 |
| 1cd40 | 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 |
| 1cd60 | 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 |
| 1cd80 | 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 | n>),.<span.class="tok-builtin">@ |
| 1cda0 | 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | as</span>(<span.class="tok-type" |
| 1cdc0 | 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | >f64</span>,.<span.class="tok-nu |
| 1cde0 | 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 | mber">12.34</span>),.<span.class |
| 1ce00 | 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 | ="tok-null">true</span>,.<span.c |
| 1ce20 | 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">"hi"</s |
| 1ce40 | 70 61 6e 3e 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | pan>});.}..<span.class="tok-kw"> |
| 1ce60 | 66 6e 3c 2f 73 70 61 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 |
| 1ce80 | 75 6d 70 3c 2f 73 70 61 6e 3e 28 61 72 67 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ump</span>(args:.<span.class="to |
| 1cea0 | 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | k-kw">var</span>).<span.class="t |
| 1cec0 | 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 | ok-type">void</span>.{.....asser |
| 1cee0 | 74 28 61 72 67 73 2e 40 26 71 75 6f 74 3b 30 26 71 75 6f 74 3b 20 3d 3d 20 3c 73 70 61 6e 20 63 | t(args.@"0".==.<span.c |
| 1cf00 | 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 3b 0a | lass="tok-number">1234</span>);. |
| 1cf20 | 20 20 20 20 61 73 73 65 72 74 28 61 72 67 73 2e 40 26 71 75 6f 74 3b 31 26 71 75 6f 74 3b 20 3d | ....assert(args.@"1".= |
| 1cf40 | 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 | =.<span.class="tok-number">12.34 |
| 1cf60 | 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 72 67 73 2e 40 26 71 75 6f 74 | </span>);.....assert(args.@" |
| 1cf80 | 3b 32 26 71 75 6f 74 3b 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 72 67 73 2e 40 26 71 75 6f | ;2");.....assert(args.@&quo |
| 1cfa0 | 74 3b 33 26 71 75 6f 74 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | t;3"[<span.class="tok-numbe |
| 1cfc0 | 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | r">0</span>].==.<span.class="tok |
| 1cfe0 | 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 72 | -str">'h'</span>);.....assert(ar |
| 1d000 | 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 3d 22 74 | gs.@"3"[<span.class="t |
| 1d020 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c | ok-number">1</span>].==.<span.cl |
| 1d040 | 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 0a 7d 3c 2f 63 6f | ass="tok-str">'i'</span>);.}</co |
| 1d060 | 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c | de></pre><pre><code.class="shell |
| 1d080 | 22 3e 24 20 7a 69 67 20 74 65 73 74 20 69 6e 66 65 72 5f 6c 69 73 74 5f 6c 69 74 65 72 61 6c 2e | ">$.zig.test.infer_list_literal. |
| 1d0a0 | 7a 69 67 0a 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 | zig.1/1.test."fully.anonymo |
| 1d0c0 | 75 73 20 6c 69 73 74 20 6c 69 74 65 72 61 6c 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 | us.list.literal"...OK.All.1 |
| 1d0e0 | 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 | .tests.passed..</code></pre>.... |
| 1d100 | 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4d 75 6c 74 69 64 69 6d 65 6e 73 69 | ............<h2.id="Multidimensi |
| 1d120 | 6f 6e 61 6c 2d 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 | onal-Arrays"><a.href="#toc-Multi |
| 1d140 | 64 69 6d 65 6e 73 69 6f 6e 61 6c 2d 41 72 72 61 79 73 22 3e 4d 75 6c 74 69 64 69 6d 65 6e 73 69 | dimensional-Arrays">Multidimensi |
| 1d160 | 6f 6e 61 6c 20 41 72 72 61 79 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 | onal.Arrays</a>.<a.class="hdr".h |
| 1d180 | 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 79 73 22 3e c2 | ref="#Multidimensional-Arrays">. |
| 1d1a0 | a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 75 74 6c | .</a></h2>........<p>.......Mutl |
| 1d1c0 | 69 64 69 6d 65 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 | idimensional.arrays.can.be.creat |
| 1d1e0 | 65 64 20 62 79 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 | ed.by.nesting.arrays:.......</p> |
| 1d200 | 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 6d 75 6c 74 69 64 69 6d 65 | .......<p.class="file">multidime |
| 1d220 | 6e 73 69 6f 6e 61 6c 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | nsional.zig</p><pre><code.class= |
| 1d240 | 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | "zig"><span.class="tok-kw">const |
| 1d260 | 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 |
| 1d280 | 75 69 6c 74 69 6e 22 3e 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 |
| 1d2a0 | 73 73 3d 22 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">"std"</sp |
| 1d2c0 | 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | an>);.<span.class="tok-kw">const |
| 1d2e0 | 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 | </span>.assert.=.std.debug.asser |
| 1d300 | 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | t;..<span.class="tok-kw">const</ |
| 1d320 | 73 70 61 6e 3e 20 6d 61 74 34 78 34 20 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | span>.mat4x4.=.[<span.class="tok |
| 1d340 | 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | -number">4</span>][<span.class=" |
| 1d360 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 | tok-number">4</span>]<span.class |
| 1d380 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 5b 5f 5d 3c | ="tok-type">f32</span>{.....[_]< |
| 1d3a0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e | span.class="tok-type">f32</span> |
| 1d3c0 | 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f | {.<span.class="tok-number">1.0</ |
| 1d3e0 | 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"> |
| 1d400 | 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 |
| 1d420 | 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 6f | ber">0.0</span>,.<span.class="to |
| 1d440 | 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 0a 20 20 20 20 5b 5f 5d 3c | k-number">0.0</span>.},.....[_]< |
| 1d460 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e | span.class="tok-type">f32</span> |
| 1d480 | 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f | {.<span.class="tok-number">0.0</ |
| 1d4a0 | 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"> |
| 1d4c0 | 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 6d | 1.0</span>,.<span.class="tok-num |
| 1d4e0 | 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 6f | ber">0.0</span>,.<span.class="to |
| 1d500 | 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 0a 20 20 20 20 5b 5f 5d 3c | k-number">1.0</span>.},.....[_]< |
| 1d520 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e | span.class="tok-type">f32</span> |
| 1d540 | 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f | {.<span.class="tok-number">0.0</ |
| 1d560 | 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"> |
| 1d580 | 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 |
| 1d5a0 | 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 |
| 1d5c0 | 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 0a 20 20 20 20 5b 5f 5d 3c | k-number">0.0</span>.},.....[_]< |
| 1d5e0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e | span.class="tok-type">f32</span> |
| 1d600 | 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f | {.<span.class="tok-number">0.0</ |
| 1d620 | 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"> |
| 1d640 | 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 |
| 1d660 | 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 6f | ber">0.0</span>,.<span.class="to |
| 1d680 | 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 20 7d 2c 0a 7d 3b 0a 3c 73 70 61 6e | k-number">1.0</span>.},.};.<span |
| 1d6a0 | 20 63 6c 61 73 73 3d 22 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 |
| 1d6c0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 75 6c 74 69 64 69 6d | n.class="tok-str">"multidim |
| 1d6e0 | 65 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 | ensional.arrays"</span>.{.. |
| 1d700 | 20 20 20 3c 73 70 61 6e 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">//. |
| 1d720 | 41 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 | Access.the.2D.array.by.indexing. |
| 1d740 | 74 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 | the.outer.array,.and.then.the.in |
| 1d760 | 6e 65 72 20 61 72 72 61 79 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 73 73 65 72 74 28 6d 61 74 | ner.array.</span>.....assert(mat |
| 1d780 | 34 78 34 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 | 4x4[<span.class="tok-number">1</ |
| 1d7a0 | 73 70 61 6e 3e 5d 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | span>][<span.class="tok-number"> |
| 1d7c0 | 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | 1</span>].==.<span.class="tok-nu |
| 1d7e0 | 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | mber">1.0</span>);......<span.cl |
| 1d800 | 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 65 20 77 65 20 69 74 65 | ass="tok-comment">//.Here.we.ite |
| 1d820 | 72 61 74 65 20 77 69 74 68 20 66 6f 72 20 6c 6f 6f 70 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 | rate.with.for.loops.</span>..... |
| 1d840 | 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>. |
| 1d860 | 28 6d 61 74 34 78 34 29 20 7c 72 6f 77 2c 20 72 6f 77 5f 69 6e 64 65 78 7c 20 7b 0a 20 20 20 20 | (mat4x4).|row,.row_index|.{..... |
| 1d880 | 20 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 |
| 1d8a0 | 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 7b | an>.(row).|cell,.column_index|.{ |
| 1d8c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .............<span.class="tok-kw |
| 1d8e0 | 22 3e 69 66 3c 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 | ">if</span>.(row_index.==.column |
| 1d900 | 5f 69 6e 64 65 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 | _index).{.................assert |
| 1d920 | 28 63 65 6c 6c 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 | (cell.==.<span.class="tok-number |
| 1d940 | 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 | ">1.0</span>);.............}.... |
| 1d960 | 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e | .....}.....}.}</code></pre><pre> |
| 1d980 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 6d | <code.class="shell">$.zig.test.m |
| 1d9a0 | 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 | ultidimensional.zig.1/1.test.&qu |
| 1d9c0 | 6f 74 3b 6d 75 6c 74 69 64 69 6d 65 6e 73 69 6f 6e 61 6c 20 61 72 72 61 79 73 26 71 75 6f 74 3b | ot;multidimensional.arrays" |
| 1d9e0 | 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 | ...OK.All.1.tests.passed..</code |
| 1da00 | 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 | ></pre>................<h2.id="S |
| 1da20 | 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 3c 61 20 68 72 | entinel-Terminated-Arrays"><a.hr |
| 1da40 | 65 66 3d 22 23 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 | ef="#toc-Sentinel-Terminated-Arr |
| 1da60 | 61 79 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c | ays">Sentinel-Terminated.Arrays< |
| 1da80 | 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e | /a>.<a.class="hdr".href="#Sentin |
| 1daa0 | 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 | el-Terminated-Arrays">..</a></h2 |
| 1dac0 | 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 | >........<p>.......The.syntax.<c |
| 1dae0 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 5b 4e 3a 78 5d 54 3c 2f 63 6f 64 65 3e 20 64 65 | ode.class="zig">[N:x]T</code>.de |
| 1db00 | 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 73 20 61 20 73 65 6e | scribes.an.array.which.has.a.sen |
| 1db20 | 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 6f 64 65 20 63 6c 61 | tinel.element.of.value.<code.cla |
| 1db40 | 73 73 3d 22 7a 69 67 22 3e 78 3c 2f 63 6f 64 65 3e 20 61 74 20 74 68 65 0a 20 20 20 20 20 20 69 | ss="zig">x</code>.at.the.......i |
| 1db60 | 6e 64 65 78 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 3c 63 6f 64 65 20 63 6c 61 73 | ndex.corresponding.to.<code.clas |
| 1db80 | 73 3d 22 7a 69 67 22 3e 6c 65 6e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 | s="zig">len</code>........</p>.. |
| 1dba0 | 20 20 20 20 20 3c 70 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 | .....<p.class="file">null_termin |
| 1dbc0 | 61 74 65 64 5f 61 72 72 61 79 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | ated_array.zig</p><pre><code.cla |
| 1dbe0 | 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | ss="zig"><span.class="tok-kw">co |
| 1dc00 | 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 |
| 1dc20 | 6b 2d 62 75 69 6c 74 69 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. |
| 1dc40 | 63 6c 61 73 73 3d 22 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">"std"< |
| 1dc60 | 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | /span>);.<span.class="tok-kw">co |
| 1dc80 | 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 | nst</span>.assert.=.std.debug.as |
| 1dca0 | 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 | sert;..<span.class="tok-kw">test |
| 1dcc0 | 3c 2f 73 70 61 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 |
| 1dce0 | 75 6f 74 3b 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 61 72 72 61 79 26 71 75 6f 74 3b 3c | uot;null.terminated.array"< |
| 1dd00 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | /span>.{.....<span.class="tok-kw |
| 1dd20 | 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3d 20 5b 5f 3a 3c 73 70 61 6e 20 | ">const</span>.array.=.[_:<span. |
| 1dd40 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 | class="tok-number">0</span>]<spa |
| 1dd60 | 6e 20 63 6c 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 73 | n.class="tok-type">u8</span>.{<s |
| 1dd80 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c | pan.class="tok-number">1</span>, |
| 1dda0 | 20 3c 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 |
| 1ddc0 | 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f | n>,.<span.class="tok-number">3</ |
| 1dde0 | 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"> |
| 1de00 | 34 3c 2f 73 70 61 6e 3e 7d 3b 0a 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 | 4</span>};......assert(<span.cla |
| 1de20 | 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>( |
| 1de40 | 61 72 72 61 79 29 20 3d 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | array).==.[<span.class="tok-numb |
| 1de60 | 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | er">4</span>:<span.class="tok-nu |
| 1de80 | 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- |
| 1dea0 | 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 72 72 | type">u8</span>);.....assert(arr |
| 1dec0 | 61 79 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | ay.len.==.<span.class="tok-numbe |
| 1dee0 | 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 72 72 61 79 5b 3c | r">4</span>);.....assert(array[< |
| 1df00 | 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> |
| 1df20 | 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 3c | ].==.<span.class="tok-number">0< |
| 1df40 | 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 | /span>);.}</code></pre><pre><cod |
| 1df60 | 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 6e 75 6c 6c 5f | e.class="shell">$.zig.test.null_ |
| 1df80 | 74 65 72 6d 69 6e 61 74 65 64 5f 61 72 72 61 79 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 | terminated_array.zig.1/1.test.&q |
| 1dfa0 | 75 6f 74 3b 6e 75 6c 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 61 72 72 61 79 26 71 75 6f 74 3b 2e | uot;null.terminated.array". |
| 1dfc0 | 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e | ..OK.All.1.tests.passed..</code> |
| 1dfe0 | 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 | </pre>........<p>See.also:</p><u |
| 1e000 | 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 69 6e | l>.<li><a.href="#Sentinel-Termin |
| 1e020 | 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 | ated-Pointers">Sentinel-Terminat |
| 1e040 | 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 | ed.Pointers</a></li>.<li><a.href |
| 1e060 | 3d 22 23 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 | ="#Sentinel-Terminated-Slices">S |
| 1e080 | 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 53 6c 69 63 65 73 3c 2f 61 3e 3c 2f 6c | entinel-Terminated.Slices</a></l |
| 1e0a0 | 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c | i>.</ul>.......................< |
| 1e0c0 | 68 31 20 69 64 3d 22 56 65 63 74 6f 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 56 65 | h1.id="Vectors"><a.href="#toc-Ve |
| 1e0e0 | 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 | ctors">Vectors</a>.<a.class="hdr |
| 1e100 | 22 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 | ".href="#Vectors">..</a></h1>... |
| 1e120 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 76 65 63 74 6f 72 20 69 73 20 61 20 67 72 6f | .....<p>.......A.vector.is.a.gro |
| 1e140 | 75 70 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 3e 49 6e 74 65 67 65 | up.of.<a.href="#Integers">Intege |
| 1e160 | 72 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 | rs</a>,.<a.href="#Floats">Floats |
| 1e180 | 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 | </a>,.or.<a.href="#Pointers">Poi |
| 1e1a0 | 6e 74 65 72 73 3c 2f 61 3e 20 77 68 69 63 68 20 61 72 65 20 6f 70 65 72 61 74 65 64 20 6f 6e 0a | nters</a>.which.are.operated.on. |
| 1e1c0 | 20 20 20 20 20 20 69 6e 20 70 61 72 61 6c 6c 65 6c 20 75 73 69 6e 67 20 61 20 73 69 6e 67 6c 65 | ......in.parallel.using.a.single |
| 1e1e0 | 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 28 3c 61 20 68 72 65 66 3d 22 23 53 49 4d 44 22 3e 53 49 | .instruction.(<a.href="#SIMD">SI |
| 1e200 | 4d 44 3c 2f 61 3e 29 2e 20 56 65 63 74 6f 72 20 74 79 70 65 73 20 61 72 65 20 63 72 65 61 74 65 | MD</a>)..Vector.types.are.create |
| 1e220 | 64 20 77 69 74 68 20 74 68 65 20 62 75 69 6c 74 69 6e 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f | d.with.the.builtin.......functio |
| 1e240 | 6e 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 22 3e 40 56 65 63 74 6f 72 3c 2f 61 3e 2e | n.<a.href="#Vector">@Vector</a>. |
| 1e260 | 0a 20 20 20 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 4f 44 4f | .......</p>.......<p>.......TODO |
| 1e280 | 20 74 61 6c 6b 20 61 62 6f 75 74 20 43 20 41 42 49 20 69 6e 74 65 72 6f 70 0a 20 20 20 20 20 20 | .talk.about.C.ABI.interop....... |
| 1e2a0 | 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 49 4d 44 22 3e 3c 61 20 68 72 65 66 | </p>.......<h2.id="SIMD"><a.href |
| 1e2c0 | 3d 22 23 74 6f 63 2d 53 49 4d 44 22 3e 53 49 4d 44 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 | ="#toc-SIMD">SIMD</a>.<a.class=" |
| 1e2e0 | 68 64 72 22 20 68 72 65 66 3d 22 23 53 49 4d 44 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 | hdr".href="#SIMD">..</a></h2>... |
| 1e300 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 4f 44 4f 20 5a 69 67 27 73 20 53 49 4d 44 20 61 | .....<p>.......TODO.Zig's.SIMD.a |
| 1e320 | 62 69 6c 69 74 69 65 73 20 61 72 65 20 6a 75 73 74 20 62 65 67 69 6e 6e 69 6e 67 20 74 6f 20 62 | bilities.are.just.beginning.to.b |
| 1e340 | 65 20 66 6c 65 73 68 65 64 20 6f 75 74 2e 20 48 65 72 65 20 61 72 65 20 73 6f 6d 65 20 74 61 6c | e.fleshed.out..Here.are.some.tal |
| 1e360 | 6b 69 6e 67 20 70 6f 69 6e 74 73 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 0a 20 20 20 20 20 20 | king.points.to.update.the....... |
| 1e380 | 64 6f 63 73 20 77 69 74 68 3a 0a 20 20 20 20 20 20 2a 20 57 68 61 74 20 6b 69 6e 64 20 6f 66 20 | docs.with:.......*.What.kind.of. |
| 1e3a0 | 6f 70 65 72 61 74 69 6f 6e 73 20 63 61 6e 20 79 6f 75 20 64 6f 3f 20 41 6c 6c 20 74 68 65 20 6f | operations.can.you.do?.All.the.o |
| 1e3c0 | 70 65 72 61 74 69 6f 6e 73 20 6f 6e 20 69 6e 74 65 67 65 72 73 20 61 6e 64 20 66 6c 6f 61 74 73 | perations.on.integers.and.floats |
| 1e3e0 | 3f 20 57 68 61 74 20 61 62 6f 75 74 20 6d 69 78 69 6e 67 20 73 63 61 6c 61 72 20 61 6e 64 20 76 | ?.What.about.mixing.scalar.and.v |
| 1e400 | 65 63 74 6f 72 3f 0a 20 20 20 20 20 20 2a 20 48 6f 77 20 74 6f 20 63 6f 6e 76 65 72 74 20 74 6f | ector?.......*.How.to.convert.to |
| 1e420 | 2f 66 72 6f 6d 20 76 65 63 74 6f 72 73 2f 61 72 72 61 79 73 0a 20 20 20 20 20 20 2a 20 48 6f 77 | /from.vectors/arrays.......*.How |
| 1e440 | 20 74 6f 20 61 63 63 65 73 73 20 69 6e 64 69 76 69 64 75 61 6c 20 65 6c 65 6d 65 6e 74 73 20 66 | .to.access.individual.elements.f |
| 1e460 | 72 6f 6d 20 76 65 63 74 6f 72 73 2c 20 68 6f 77 20 74 6f 20 6c 6f 6f 70 20 6f 76 65 72 20 74 68 | rom.vectors,.how.to.loop.over.th |
| 1e480 | 65 20 65 6c 65 6d 65 6e 74 73 0a 20 20 20 20 20 20 2a 20 22 73 68 75 66 66 6c 65 22 0a 20 20 20 | e.elements.......*."shuffle".... |
| 1e4a0 | 20 20 20 2a 20 41 64 76 69 63 65 20 6f 6e 20 77 72 69 74 69 6e 67 20 68 69 67 68 20 70 65 72 66 | ...*.Advice.on.writing.high.perf |
| 1e4c0 | 20 73 6f 66 74 77 61 72 65 2c 20 68 6f 77 20 74 6f 20 61 62 73 74 72 61 63 74 20 74 68 65 20 62 | .software,.how.to.abstract.the.b |
| 1e4e0 | 65 73 74 20 77 61 79 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 | est.way.......</p>.............. |
| 1e500 | 0a 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 | ........<h1.id="Pointers"><a.hre |
| 1e520 | 66 3d 22 23 74 6f 63 2d 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c | f="#toc-Pointers">Pointers</a>.< |
| 1e540 | 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 22 3e c2 | a.class="hdr".href="#Pointers">. |
| 1e560 | a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 | .</a></h1>........<p>.......Zig. |
| 1e580 | 68 61 73 20 74 77 6f 20 6b 69 6e 64 73 20 6f 66 20 70 6f 69 6e 74 65 72 73 3a 0a 20 20 20 20 20 | has.two.kinds.of.pointers:...... |
| 1e5a0 | 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>< |
| 1e5c0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2a 54 3c 2f 63 6f 64 65 3e 20 2d 20 70 6f 69 | code.class="zig">*T</code>.-.poi |
| 1e5e0 | 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........ |
| 1e600 | 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 |
| 1e620 | 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 20 63 6c 61 73 73 3d | ports.deref.syntax:.<code.class= |
| 1e640 | 22 7a 69 67 22 3e 70 74 72 2e 2a 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | "zig">ptr.*</code></li>......... |
| 1e660 | 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 20 20 | ....</ul>...........</li>....... |
| 1e680 | 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 5b 2a 5d 54 3c 2f | ....<li><code.class="zig">[*]T</ |
| 1e6a0 | 63 6f 64 65 3e 20 2d 20 70 6f 69 6e 74 65 72 20 74 6f 20 75 6e 6b 6e 6f 77 6e 20 6e 75 6d 62 65 | code>.-.pointer.to.unknown.numbe |
| 1e6c0 | 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 20 | r.of.items..............<ul>.... |
| 1e6e0 | 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 73 20 69 6e 64 65 78 20 73 79 | ...........<li>Supports.index.sy |
| 1e700 | 6e 74 61 78 3a 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 70 74 72 5b 69 5d 3c 2f | ntax:.<code.class="zig">ptr[i]</ |
| 1e720 | 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 | code></li>...............<li>Sup |
| 1e740 | 70 6f 72 74 73 20 73 6c 69 63 65 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d | ports.slice.syntax:.<code.class= |
| 1e760 | 22 7a 69 67 22 3e 70 74 72 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 | "zig">ptr[start..end]</code></li |
| 1e780 | 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 6f 69 | >...............<li>Supports.poi |
| 1e7a0 | 6e 74 65 72 20 61 72 69 74 68 6d 65 74 69 63 3a 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | nter.arithmetic:.<code.class="zi |
| 1e7c0 | 67 22 3e 70 74 72 20 2b 20 78 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | g">ptr.+.x</code>,.<code.class=" |
| 1e7e0 | 7a 69 67 22 3e 70 74 72 20 2d 20 78 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 | zig">ptr.-.x</code></li>........ |
| 1e800 | 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 54 3c 2f | .......<li><code.class="zig">T</ |
| 1e820 | 63 6f 64 65 3e 20 6d 75 73 74 20 68 61 76 65 20 61 20 6b 6e 6f 77 6e 20 73 69 7a 65 2c 20 77 68 | code>.must.have.a.known.size,.wh |
| 1e840 | 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 0a 20 20 20 20 | ich.means.that.it.cannot.be..... |
| 1e860 | 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | ..........<code.class="zig"><spa |
| 1e880 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 76 6f 69 64 3c 2f 73 70 61 6e 3e | n.class="tok-type">c_void</span> |
| 1e8a0 | 3c 2f 63 6f 64 65 3e 20 6f 72 20 61 6e 79 20 6f 74 68 65 72 20 3c 61 20 68 72 65 66 3d 22 23 4f | </code>.or.any.other.<a.href="#O |
| 1e8c0 | 70 61 71 75 65 54 79 70 65 22 3e 40 4f 70 61 71 75 65 54 79 70 65 3c 2f 61 3e 2e 3c 2f 6c 69 3e | paqueType">@OpaqueType</a>.</li> |
| 1e8e0 | 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 6c | .............</ul>...........</l |
| 1e900 | 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 74 79 | i>.......</ul>.......<p>These.ty |
| 1e920 | 70 65 73 20 61 72 65 20 63 6c 6f 73 65 6c 79 20 72 65 6c 61 74 65 64 20 74 6f 20 3c 61 20 68 72 | pes.are.closely.related.to.<a.hr |
| 1e940 | 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 | ef="#Arrays">Arrays</a>.and.<a.h |
| 1e960 | 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 3a 3c 2f 70 3e 0a 20 20 | ref="#Slices">Slices</a>:</p>... |
| 1e980 | 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 | ......<ul>.............<li><code |
| 1e9a0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2a 5b 4e 5d 54 3c 2f 63 6f 64 65 3e 20 2d 20 70 6f 69 6e | .class="zig">*[N]T</code>.-.poin |
| 1e9c0 | 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 69 6e 67 6c 65 2d 69 | ter.to.N.items,.same.as.single-i |
| 1e9e0 | 74 65 6d 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 72 72 61 79 2e 0a 20 20 20 20 20 20 20 20 20 20 | tem.pointer.to.array............ |
| 1ea00 | 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f | ..<ul>.................<li>Suppo |
| 1ea20 | 72 74 73 20 69 6e 64 65 78 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | rts.index.syntax:.<code.class="z |
| 1ea40 | 69 67 22 3e 61 72 72 61 79 5f 70 74 72 5b 69 5d 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 | ig">array_ptr[i]</code></li>.... |
| 1ea60 | 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. |
| 1ea80 | 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 72 72 61 79 5f | syntax:.<code.class="zig">array_ |
| 1eaa0 | 70 74 72 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 | ptr[start..end]</code></li>..... |
| 1eac0 | 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 65 6e 20 70 72 6f | ............<li>Supports.len.pro |
| 1eae0 | 70 65 72 74 79 3a 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 72 72 61 79 5f 70 | perty:.<code.class="zig">array_p |
| 1eb00 | 74 72 2e 6c 65 6e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c | tr.len</code></li>.............< |
| 1eb20 | 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c | /ul>.............</li>.........< |
| 1eb40 | 2f 75 6c 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 | /ul>.........<ul>.............<l |
| 1eb60 | 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 5b 5d 54 3c 2f 63 6f 64 65 3e 20 2d | i><code.class="zig">[]T</code>.- |
| 1eb80 | 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 65 72 | .pointer.to.runtime-known.number |
| 1eba0 | 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 20 20 | .of.items..............<ul>..... |
| 1ebc0 | 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 20 73 | ............<li>Supports.index.s |
| 1ebe0 | 79 6e 74 61 78 3a 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 6c 69 63 65 5b 69 | yntax:.<code.class="zig">slice[i |
| 1ec00 | 5d 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c | ]</code></li>.................<l |
| 1ec20 | 69 3e 53 75 70 70 6f 72 74 73 20 73 6c 69 63 65 20 73 79 6e 74 61 78 3a 20 3c 63 6f 64 65 20 63 | i>Supports.slice.syntax:.<code.c |
| 1ec40 | 6c 61 73 73 3d 22 7a 69 67 22 3e 73 6c 69 63 65 5b 73 74 61 72 74 2e 2e 65 6e 64 5d 3c 2f 63 6f | lass="zig">slice[start..end]</co |
| 1ec60 | 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 | de></li>.................<li>Sup |
| 1ec80 | 70 6f 72 74 73 20 6c 65 6e 20 70 72 6f 70 65 72 74 79 3a 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d | ports.len.property:.<code.class= |
| 1eca0 | 22 7a 69 67 22 3e 73 6c 69 63 65 2e 6c 65 6e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 | "zig">slice.len</code></li>..... |
| 1ecc0 | 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a | ........</ul>.............</li>. |
| 1ece0 | 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 55 73 65 20 3c 63 6f | ........</ul>.........<p>Use.<co |
| 1ed00 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 26 61 6d 70 3b 78 3c 2f 63 6f 64 65 3e 20 74 6f 20 | de.class="zig">&x</code>.to. |
| 1ed20 | 6f 62 74 61 69 6e 20 61 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 3a 3c 2f 70 | obtain.a.single-item.pointer:</p |
| 1ed40 | 3e 0a 20 20 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a | >.........<p.class="file">test.z |
| 1ed60 | 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ig</p><pre><code.class="zig"><sp |
| 1ed80 | 61 6e 20 63 6c 61 73 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 |
| 1eda0 | 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e | ssert.=.<span.class="tok-builtin |
| 1edc0 | 22 3e 40 69 6d 70 6f 72 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 |
| 1ede0 | 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 | k-str">"std"</span>).d |
| 1ee00 | 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | ebug.assert;..<span.class="tok-k |
| 1ee20 | 77 22 3e 74 65 73 74 3c 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- |
| 1ee40 | 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 75 6f | str">"address.of.syntax&quo |
| 1ee60 | 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | t;</span>.{.....<span.class="tok |
| 1ee80 | 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 47 65 74 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 | -comment">//.Get.the.address.of. |
| 1eea0 | 61 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | a.variable:</span>.....<span.cla |
| 1eec0 | 73 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 |
| 1eee0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 | n.class="tok-type">i32</span>.=. |
| 1ef00 | 3c 73 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 |
| 1ef20 | 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | pan>;.....<span.class="tok-kw">c |
| 1ef40 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 5f 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 0a 0a 20 20 20 | onst</span>.x_ptr.=.&x;..... |
| 1ef60 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 | .<span.class="tok-comment">//.De |
| 1ef80 | 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 0a 20 20 20 20 | reference.a.pointer:</span>..... |
| 1efa0 | 61 73 73 65 72 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 | assert(x_ptr.*.==.<span.class="t |
| 1efc0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 | ok-number">1234</span>);......<s |
| 1efe0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 68 65 6e 20 | pan.class="tok-comment">//.When. |
| 1f000 | 79 6f 75 20 67 65 74 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 63 6f 6e 73 74 20 76 | you.get.the.address.of.a.const.v |
| 1f020 | 61 72 69 61 62 6c 65 2c 20 79 6f 75 20 67 65 74 20 61 20 63 6f 6e 73 74 20 70 6f 69 6e 74 65 72 | ariable,.you.get.a.const.pointer |
| 1f040 | 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 69 74 65 6d 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 73 | .to.a.single.item.</span>.....as |
| 1f060 | 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">@ |
| 1f080 | 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 3c 73 70 61 6e 20 63 | TypeOf</span>(x_ptr).==.*<span.c |
| 1f0a0 | 6c 61 73 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 |
| 1f0c0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 0a | .class="tok-type">i32</span>);.. |
| 1f0e0 | 20 20 20 20 3c 73 70 61 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">// |
| 1f100 | 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6d 75 74 61 74 65 20 74 68 65 20 76 61 6c 75 65 | .If.you.want.to.mutate.the.value |
| 1f120 | 2c 20 79 6f 75 27 64 20 6e 65 65 64 20 61 6e 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 6d 75 74 | ,.you'd.need.an.address.of.a.mut |
| 1f140 | 61 62 6c 65 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 | able.variable:</span>.....<span. |
| 1f160 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 | class="tok-kw">var</span>.y:.<sp |
| 1f180 | 61 6e 20 63 6c 61 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>.= |
| 1f1a0 | 20 3c 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</ |
| 1f1c0 | 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | span>;.....<span.class="tok-kw"> |
| 1f1e0 | 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 5f 70 74 72 20 3d 20 26 61 6d 70 3b 79 3b 0a 20 20 20 | const</span>.y_ptr.=.&y;.... |
| 1f200 | 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e | .assert(<span.class="tok-builtin |
| 1f220 | 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 79 5f 70 74 72 29 20 3d 3d 20 2a 3c 73 70 61 | ">@TypeOf</span>(y_ptr).==.*<spa |
| 1f240 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a | n.class="tok-type">i32</span>);. |
| 1f260 | 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 6f 6b 2d | ....y_ptr.*.+=.<span.class="tok- |
| 1f280 | 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 73 65 72 74 28 79 5f 70 | number">1</span>;.....assert(y_p |
| 1f2a0 | 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | tr.*.==.<span.class="tok-number" |
| 1f2c0 | 3e 35 36 37 39 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | >5679</span>);.}..<span.class="t |
| 1f2e0 | 6f 6b 2d 6b 77 22 3e 74 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=" |
| 1f300 | 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 72 72 61 79 20 61 63 63 | tok-str">"pointer.array.acc |
| 1f320 | 65 73 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | ess"</span>.{.....<span.cla |
| 1f340 | 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 61 6e 20 61 64 | ss="tok-comment">//.Taking.an.ad |
| 1f360 | 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 65 6e 74 20 67 | dress.of.an.individual.element.g |
| 1f380 | 69 76 65 73 20 61 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ives.a</span>.....<span.class="t |
| 1f3a0 | 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 20 73 69 6e 67 | ok-comment">//.pointer.to.a.sing |
| 1f3c0 | 6c 65 20 69 74 65 6d 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 | le.item..This.kind.of.pointer</s |
| 1f3e0 | 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e | pan>.....<span.class="tok-commen |
| 1f400 | 74 22 3e 2f 2f 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 70 6f 69 6e 74 65 72 20 61 | t">//.does.not.support.pointer.a |
| 1f420 | 72 69 74 68 6d 65 74 69 63 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | rithmetic.</span>.....<span.clas |
| 1f440 | 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 3d 20 5b 5f | s="tok-kw">var</span>.array.=.[_ |
| 1f460 | 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 |
| 1f480 | 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 | >{.<span.class="tok-number">1</s |
| 1f4a0 | 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 |
| 1f4c0 | 3c 2f 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 |
| 1f4e0 | 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d | ">3</span>,.<span.class="tok-num |
| 1f500 | 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- |
| 1f520 | 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 74 | number">5</span>,.<span.class="t |
| 1f540 | 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 73 | ok-number">6</span>,.<span.class |
| 1f560 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c | ="tok-number">7</span>,.<span.cl |
| 1f580 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e | ass="tok-number">8</span>,.<span |
| 1f5a0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 2c 20 3c 73 | .class="tok-number">9</span>,.<s |
| 1f5c0 | 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> |
| 1f5e0 | 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | .};.....<span.class="tok-kw">con |
| 1f600 | 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 61 72 72 61 79 5b 3c 73 70 61 6e | st</span>.ptr.=.&array[<span |
| 1f620 | 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 3b 0a 20 | .class="tok-number">2</span>];.. |
| 1f640 | 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 | ...assert(<span.class="tok-built |
| 1f660 | 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 70 61 | in">@TypeOf</span>(ptr).==.*<spa |
| 1f680 | 6e 20 63 6c 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 0a 0a | n.class="tok-type">u8</span>);.. |
| 1f6a0 | 20 20 20 20 61 73 73 65 72 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ....assert(array[<span.class="to |
| 1f6c0 | 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 | k-number">2</span>].==.<span.cla |
| 1f6e0 | 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 0a 20 20 20 20 70 | ss="tok-number">3</span>);.....p |
| 1f700 | 74 72 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | tr.*.+=.<span.class="tok-number" |
| 1f720 | 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 72 72 61 79 5b 3c 73 70 61 | >1</span>;.....assert(array[<spa |
| 1f740 | 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 20 3d | n.class="tok-number">2</span>].= |
| 1f760 | 3d 20 3c 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 |
| 1f780 | 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | an>);.}</code></pre><pre><code.c |
| 1f7a0 | 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 | lass="shell">$.zig.test.test.zig |
| 1f7c0 | 0a 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 61 64 64 72 65 73 73 20 6f 66 20 73 79 6e 74 61 | .1/2.test."address.of.synta |
| 1f7e0 | 78 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e | x"...OK.2/2.test."poin |
| 1f800 | 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 4f 4b 0a 41 6c 6c 20 | ter.array.access"...OK.All. |
| 1f820 | 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 | 2.tests.passed..</code></pre>... |
| 1f840 | 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 77 65 20 67 65 6e 65 | .....<p>.........In.Zig,.we.gene |
| 1f860 | 72 61 6c 6c 79 20 70 72 65 66 65 72 20 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 53 | rally.prefer.<a.href="#Slices">S |
| 1f880 | 6c 69 63 65 73 3c 2f 61 3e 20 72 61 74 68 65 72 20 74 68 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 | lices</a>.rather.than.<a.href="# |
| 1f8a0 | 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 53 65 | Sentinel-Terminated-Pointers">Se |
| 1f8c0 | 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 2e 0a | ntinel-Terminated.Pointers</a>.. |
| 1f8e0 | 20 20 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 74 75 72 6e 20 61 6e 20 61 72 72 61 79 20 6f 72 | ........You.can.turn.an.array.or |
| 1f900 | 20 70 6f 69 6e 74 65 72 20 69 6e 74 6f 20 61 20 73 6c 69 63 65 20 75 73 69 6e 67 20 73 6c 69 63 | .pointer.into.a.slice.using.slic |
| 1f920 | 65 20 73 79 6e 74 61 78 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 | e.syntax........</p>.......<p>.. |
| 1f940 | 20 20 20 20 20 20 20 53 6c 69 63 65 73 20 68 61 76 65 20 62 6f 75 6e 64 73 20 63 68 65 63 6b 69 | .......Slices.have.bounds.checki |
| 1f960 | 6e 67 20 61 6e 64 20 61 72 65 20 74 68 65 72 65 66 6f 72 65 20 70 72 6f 74 65 63 74 65 64 0a 20 | ng.and.are.therefore.protected.. |
| 1f980 | 20 20 20 20 20 20 20 61 67 61 69 6e 73 74 20 74 68 69 73 20 6b 69 6e 64 20 6f 66 20 75 6e 64 65 | .......against.this.kind.of.unde |
| 1f9a0 | 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 20 54 68 69 73 20 69 73 20 6f 6e 65 20 72 65 61 73 | fined.behavior..This.is.one.reas |
| 1f9c0 | 6f 6e 0a 20 20 20 20 20 20 20 20 77 65 20 70 72 65 66 65 72 20 73 6c 69 63 65 73 20 74 6f 20 70 | on.........we.prefer.slices.to.p |
| 1f9e0 | 6f 69 6e 74 65 72 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 | ointers........</p>.......<p.cla |
| 1fa00 | 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 | ss="file">test.zig</p><pre><code |
| 1fa20 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| 1fa40 | 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c | ">const</span>.assert.=.<span.cl |
| 1fa60 | 61 73 73 3d 22 74 6f 6b 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> |
| 1fa80 | 28 3c 73 70 61 6e 20 63 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">"std |
| 1faa0 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 | "</span>).debug.assert;..<s |
| 1fac0 | 70 61 6e 20 63 6c 61 73 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>.< |
| 1fae0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 | span.class="tok-str">"point |
| 1fb00 | 65 72 20 73 6c 69 63 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 | er.slicing"</span>.{.....<s |
| 1fb20 | 70 61 6e 20 63 6c 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 |
| 1fb40 | 72 61 79 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | ray.=.[_]<span.class="tok-type"> |
| 1fb60 | 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | u8</span>{.<span.class="tok-numb |
| 1fb80 | 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 2d 6e | er">1</span>,.<span.class="tok-n |
| 1fba0 | 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | umber">2</span>,.<span.class="to |
| 1fbc0 | 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | k-number">3</span>,.<span.class= |
| 1fbe0 | 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 | "tok-number">4</span>,.<span.cla |
| 1fc00 | 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. |
| 1fc20 | 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 |
| 1fc40 | 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>,. |
| 1fc60 | 3c 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 |
| 1fc80 | 3e 2c 20 3c 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 | >,.<span.class="tok-number">9</s |
| 1fca0 | 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 |
| 1fcc0 | 30 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | 0</span>.};.....<span.class="tok |
| 1fce0 | 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 20 3d 20 61 72 72 61 79 5b | -kw">const</span>.slice.=.array[ |
| 1fd00 | 3c 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 |
| 1fd20 | 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 34 3c 2f 73 | >..<span.class="tok-number">4</s |
| 1fd40 | 70 61 6e 3e 5d 3b 0a 20 20 20 20 61 73 73 65 72 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 3c | pan>];.....assert(slice.len.==.< |
| 1fd60 | 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> |
| 1fd80 | 29 3b 0a 0a 20 20 20 20 61 73 73 65 72 74 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 | );......assert(array[<span.class |
| 1fda0 | 3d 22 74 6f 6b 2d 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 | ="tok-number">3</span>].==.<span |
| 1fdc0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 | .class="tok-number">4</span>);.. |
| 1fde0 | 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 75 6d 62 65 72 | ...slice[<span.class="tok-number |
| 1fe00 | 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 73 3d 22 74 6f 6b 2d | ">1</span>].+=.<span.class="tok- |
| 1fe20 | 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 72 72 | number">1</span>;.....assert(arr |
| 1fe40 | 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 73 | ay[<span.class="tok-number">3</s |
| 1fe60 | 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 |
| 1fe80 | 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e | ">5</span>);.}</code></pre><pre> |
| 1fea0 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 | <code.class="shell">$.zig.test.t |
| 1fec0 | 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 73 | est.zig.1/1.test."pointer.s |
| 1fee0 | 6c 69 63 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 | licing"...OK.All.1.tests.pa |
| 1ff00 | 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 50 6f | ssed..</code></pre>........<p>Po |
| 1ff20 | 69 6e 74 65 72 73 20 77 6f 72 6b 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 74 6f 6f 2c | inters.work.at.compile-time.too, |
| 1ff40 | 20 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 20 63 6f 64 65 20 64 6f 65 73 20 6e 6f 74 20 64 65 | .as.long.as.the.code.does.not.de |
| 1ff60 | 70 65 6e 64 20 6f 6e 0a 20 20 20 20 20 20 61 6e 20 75 6e 64 65 66 69 6e 65 64 20 6d 65 6d 6f 72 | pend.on.......an.undefined.memor |
| 1ff80 | 79 20 6c 61 79 6f 75 74 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 | y.layout:</p>.......<p.class="fi |
| 1ffa0 | 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | le">test.zig</p><pre><code.class |
| 1ffc0 | 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | ="zig"><span.class="tok-kw">cons |
| 1ffe0 | 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | t</span>.assert.=.<span.class="t |
| 20000 | 6f 6b 2d 62 75 69 6c 74 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 |
| 20020 | 20 63 6c 61 73 73 3d 22 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">"std" |
| 20040 | 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c | </span>).debug.assert;..<span.cl |
| 20060 | 61 73 73 3d 22 74 6f 6b 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 |
| 20080 | 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">"comptime.po |
| 200a0 | 69 6e 74 65 72 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 | inters"</span>.{.....<span. |
| 200c0 | 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>.{ |
| 200e0 | 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 | .........<span.class="tok-kw">va |
| 20100 | 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | r</span>.x:.<span.class="tok-typ |
| 20120 | 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 |
| 20140 | 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e | -number">1</span>;.........<span |
| 20160 | 20 63 6c 61 73 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 |
| 20180 | 20 3d 20 26 61 6d 70 3b 78 3b 0a 20 20 20 20 20 20 20 20 70 74 72 2e 2a 20 2b 3d 20 3c 73 70 61 | .=.&x;.........ptr.*.+=.<spa |
| 201a0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 | n.class="tok-number">1</span>;.. |
| 201c0 | 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 75 6d | .......x.+=.<span.class="tok-num |
| 201e0 | 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 70 74 | ber">1</span>;.........assert(pt |
| 20200 | 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | r.*.==.<span.class="tok-number"> |
| 20220 | 33 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c | 3</span>);.....}.}</code></pre>< |
| 20240 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 | pre><code.class="shell">$.zig.te |
| 20260 | 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 6d 70 74 | st.test.zig.1/1.test."compt |
| 20280 | 69 6d 65 20 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 | ime.pointers"...OK.All.1.te |
| 202a0 | 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 | sts.passed..</code></pre>....... |
| 202c0 | 20 3c 70 3e 54 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 61 64 64 72 65 73 | .<p>To.convert.an.integer.addres |
| 202e0 | 73 20 69 6e 74 6f 20 61 20 70 6f 69 6e 74 65 72 2c 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 | s.into.a.pointer,.use.<code.clas |
| 20300 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-builtin |
| 20320 | 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 | ">@intToPtr</span></code>....... |
| 20340 | 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 61 6e 20 69 6e 74 65 | .To.convert.a.pointer.to.an.inte |
| 20360 | 67 65 72 2c 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | ger,.use.<code.class="zig"><span |
| 20380 | 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</ |
| 203a0 | 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 | span></code>:</p>.......<p.class |
| 203c0 | 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | ="file">test.zig</p><pre><code.c |
| 203e0 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | lass="zig"><span.class="tok-kw"> |
| 20400 | 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 |
| 20420 | 73 3d 22 74 6f 6b 2d 62 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>(< |
| 20440 | 73 70 61 6e 20 63 6c 61 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">"std&q |
| 20460 | 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 0a 0a 3c 73 70 61 | uot;</span>).debug.assert;..<spa |
| 20480 | 6e 20 63 6c 61 73 73 3d 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 |
| 204a0 | 61 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 | an.class="tok-str">"@ptrToI |
| 204c0 | 6e 74 20 61 6e 64 20 40 69 6e 74 54 6f 50 74 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a | nt.and.@intToPtr"</span>.{. |
| 204e0 | 20 20 20 20 3c 73 70 61 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</ |
| 20500 | 73 70 61 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 | span>.ptr.=.<span.class="tok-bui |
| 20520 | 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c | ltin">@intToPtr</span>(*<span.cl |
| 20540 | 61 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 | ass="tok-type">i32</span>,.<span |
| 20560 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f | .class="tok-number">0xdeadbee0</ |
| 20580 | 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | span>);.....<span.class="tok-kw" |
| 205a0 | 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 64 64 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | >const</span>.addr.=.<span.class |
| 205c0 | 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 | ="tok-builtin">@ptrToInt</span>( |
| 205e0 | 70 74 72 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ptr);.....assert(<span.class="to |
| 20600 | 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 64 64 72 29 20 | k-builtin">@TypeOf</span>(addr). |
| 20620 | 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 75 73 69 7a 65 3c | ==.<span.class="tok-type">usize< |
| 20640 | 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 64 64 72 20 3d 3d 20 3c 73 70 61 | /span>);.....assert(addr.==.<spa |
| 20660 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c | n.class="tok-number">0xdeadbee0< |
| 20680 | 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 | /span>);.}</code></pre><pre><cod |
| 206a0 | 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e | e.class="shell">$.zig.test.test. |
| 206c0 | 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 70 74 72 54 6f 49 6e 74 20 61 6e 64 | zig.1/1.test."@ptrToInt.and |
| 206e0 | 20 40 69 6e 74 54 6f 50 74 72 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 | .@intToPtr"...OK.All.1.test |
| 20700 | 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c | s.passed..</code></pre>........< |
| 20720 | 70 3e 5a 69 67 20 69 73 20 61 62 6c 65 20 74 6f 20 70 72 65 73 65 72 76 65 20 6d 65 6d 6f 72 79 | p>Zig.is.able.to.preserve.memory |
| 20740 | 20 61 64 64 72 65 73 73 65 73 20 69 6e 20 63 6f 6d 70 74 69 6d 65 20 63 6f 64 65 2c 20 61 73 20 | .addresses.in.comptime.code,.as. |
| 20760 | 6c 6f 6e 67 20 61 73 0a 20 20 20 20 20 20 74 68 65 20 70 6f 69 6e 74 65 72 20 69 73 20 6e 65 76 | long.as.......the.pointer.is.nev |
| 20780 | 65 72 20 64 65 72 65 66 65 72 65 6e 63 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c | er.dereferenced:</p>.......<p.cl |
| 207a0 | 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 | ass="file">test.zig</p><pre><cod |
| 207c0 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | e.class="zig"><span.class="tok-k |
| 207e0 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 | w">const</span>.assert.=.<span.c |
| 20800 | 6c 61 73 73 3d 22 74 6f 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 |
| 20820 | 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 | >(<span.class="tok-str">"st |
| 20840 | 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c | d"</span>).debug.assert;..< |
| 20860 | 73 70 61 6e 20 63 6c 61 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>. |
| 20880 | 3c 73 70 61 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 | <span.class="tok-str">"comp |
| 208a0 | 74 69 6d 65 20 40 69 6e 74 54 6f 50 74 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | time.@intToPtr"</span>.{... |
| 208c0 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c | ..<span.class="tok-kw">comptime< |
| 208e0 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | /span>.{.........<span.class="to |
| 20900 | 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 5a 69 67 20 69 73 20 61 62 6c 65 20 74 6f 20 64 6f 20 | k-comment">//.Zig.is.able.to.do. |
| 20920 | 74 68 69 73 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 61 73 20 6c 6f 6e 67 20 61 73 | this.at.compile-time,.as.long.as |
| 20940 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | </span>.........<span.class="tok |
| 20960 | 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 74 72 20 69 73 20 6e 65 76 65 72 20 64 65 72 65 66 65 | -comment">//.ptr.is.never.derefe |
| 20980 | 72 65 6e 63 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | renced.</span>.........<span.cla |
| 209a0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 3c | ss="tok-kw">const</span>.ptr.=.< |
| 209c0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 | span.class="tok-builtin">@intToP |
| 209e0 | 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 74 79 70 65 | tr</span>(*<span.class="tok-type |
| 20a00 | 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 6e | ">i32</span>,.<span.class="tok-n |
| 20a20 | 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 0a 20 20 20 20 20 | umber">0xdeadbee0</span>);...... |
| 20a40 | 20 20 20 3c 73 70 61 6e 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 |
| 20a60 | 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 |
| 20a80 | 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 0a 20 20 20 | ltin">@ptrToInt</span>(ptr);.... |
| 20aa0 | 20 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 | .....assert(<span.class="tok-bui |
| 20ac0 | 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 64 64 72 29 20 3d 3d 20 3c 73 | ltin">@TypeOf</span>(addr).==.<s |
| 20ae0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e | pan.class="tok-type">usize</span |
| 20b00 | 3e 29 3b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 61 64 64 72 20 3d 3d 20 3c 73 70 61 6e | >);.........assert(addr.==.<span |
| 20b20 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 64 65 61 64 62 65 65 30 3c 2f | .class="tok-number">0xdeadbee0</ |
| 20b40 | 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 | span>);.....}.}</code></pre><pre |
| 20b60 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 | ><code.class="shell">$.zig.test. |
| 20b80 | 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 | test.zig.1/1.test."comptime |
| 20ba0 | 20 40 69 6e 74 54 6f 50 74 72 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 | .@intToPtr"...OK.All.1.test |
| 20bc0 | 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c | s.passed..</code></pre>........< |
| 20be0 | 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= |
| 20c00 | 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 6f | "#Optional-Pointers">Optional.Po |
| 20c20 | 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e | inters</a></li>.<li><a.href="#in |
| 20c40 | 74 54 6f 50 74 72 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c | tToPtr">@intToPtr</a></li>.<li>< |
| 20c60 | 61 20 68 72 65 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e | a.href="#ptrToInt">@ptrToInt</a> |
| 20c80 | 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 22 3e | </li>.<li><a.href="#C-Pointers"> |
| 20ca0 | 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 66 3d | C.Pointers</a></li>.<li><a.href= |
| 20cc0 | 22 23 50 6f 69 6e 74 65 72 73 2d 74 6f 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 50 6f | "#Pointers-to-Zero-Bit-Types">Po |
| 20ce0 | 69 6e 74 65 72 73 20 74 6f 20 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 3c 2f 6c 69 | inters.to.Zero.Bit.Types</a></li |
| 20d00 | 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 76 6f 6c 61 74 69 6c 65 22 | >.</ul>........<h2.id="volatile" |
| 20d20 | 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 76 6f 6c 61 74 69 6c 65 22 3e 76 6f 6c 61 74 69 6c | ><a.href="#toc-volatile">volatil |
| 20d40 | 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 76 6f 6c 61 | e</a>.<a.class="hdr".href="#vola |
| 20d60 | 74 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 4c 6f 61 64 | tile">..</a></h2>........<p>Load |
| 20d80 | 73 20 61 6e 64 20 73 74 6f 72 65 73 20 61 72 65 20 61 73 73 75 6d 65 64 20 74 6f 20 6e 6f 74 20 | s.and.stores.are.assumed.to.not. |
| 20da0 | 68 61 76 65 20 73 69 64 65 20 65 66 66 65 63 74 73 2e 20 49 66 20 61 20 67 69 76 65 6e 20 6c 6f | have.side.effects..If.a.given.lo |
| 20dc0 | 61 64 20 6f 72 20 73 74 6f 72 65 0a 20 20 20 20 20 20 73 68 6f 75 6c 64 20 68 61 76 65 20 73 69 | ad.or.store.......should.have.si |
| 20de0 | 64 65 20 65 66 66 65 63 74 73 2c 20 73 75 63 68 20 61 73 20 4d 65 6d 6f 72 79 20 4d 61 70 70 65 | de.effects,.such.as.Memory.Mappe |
| 20e00 | 64 20 49 6e 70 75 74 2f 4f 75 74 70 75 74 20 28 4d 4d 49 4f 29 2c 20 75 73 65 20 3c 63 6f 64 65 | d.Input/Output.(MMIO),.use.<code |
| 20e20 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| 20e40 | 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 | ">volatile</span></code>........ |
| 20e60 | 49 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 2c 20 6c 6f 61 64 73 20 61 6e 64 | In.the.following.code,.loads.and |
| 20e80 | 20 73 74 6f 72 65 73 20 77 69 74 68 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 6d | .stores.with.<code.class="zig">m |
| 20ea0 | 6d 69 6f 5f 70 74 72 3c 2f 63 6f 64 65 3e 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f | mio_ptr</code>.are.guaranteed.to |
| 20ec0 | 20 61 6c 6c 20 68 61 70 70 65 6e 0a 20 20 20 20 20 20 61 6e 64 20 69 6e 20 74 68 65 20 73 61 6d | .all.happen.......and.in.the.sam |
| 20ee0 | 65 20 6f 72 64 65 72 20 61 73 20 69 6e 20 73 6f 75 72 63 65 20 63 6f 64 65 3a 3c 2f 70 3e 0a 20 | e.order.as.in.source.code:</p>.. |
| 20f00 | 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 | .....<p.class="file">test.zig</p |
| 20f20 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ><pre><code.class="zig"><span.cl |
| 20f40 | 61 73 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 74 | ass="tok-kw">const</span>.assert |
| 20f60 | 20 3d 20 3c 73 70 61 6e 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 |
| 20f80 | 70 6f 72 74 3c 2f 73 70 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 |
| 20fa0 | 22 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 | ">"std"</span>).debug. |
| 20fc0 | 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 | assert;..<span.class="tok-kw">te |
| 20fe0 | 73 74 3c 2f 73 70 61 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"> |
| 21000 | 26 71 75 6f 74 3b 76 6f 6c 61 74 69 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | "volatile"</span>.{... |
| 21020 | 20 20 3c 73 70 61 6e 20 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 |
| 21040 | 61 6e 3e 20 6d 6d 69 6f 5f 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | an>.mmio_ptr.=.<span.class="tok- |
| 21060 | 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e | builtin">@intToPtr</span>(*<span |
| 21080 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 20 | .class="tok-kw">volatile</span>. |
| 210a0 | 3c 73 70 61 6e 20 63 6c 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> |
| 210c0 | 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 33 | ,.<span.class="tok-number">0x123 |
| 210e0 | 34 35 36 37 38 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 | 45678</span>);.....assert(<span. |
| 21100 | 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 |
| 21120 | 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 22 74 6f | n>(mmio_ptr).==.*<span.class="to |
| 21140 | 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 | k-kw">volatile</span>.<span.clas |
| 21160 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 | s="tok-type">u8</span>);.}</code |
| 21180 | 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e | ></pre><pre><code.class="shell"> |
| 211a0 | 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 | $.zig.test.test.zig.1/1.test.&qu |
| 211c0 | 6f 74 3b 76 6f 6c 61 74 69 6c 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 | ot;volatile"...OK.All.1.tes |
| 211e0 | 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 | ts.passed..</code></pre>........ |
| 21200 | 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 20 63 6c 61 73 73 3d | <p>.......Note.that.<code.class= |
| 21220 | 22 7a 69 67 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 | "zig"><span.class="tok-kw">volat |
| 21240 | 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 75 6e 72 65 6c 61 74 65 64 20 74 | ile</span></code>.is.unrelated.t |
| 21260 | 6f 20 63 6f 6e 63 75 72 72 65 6e 63 79 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 41 74 6f 6d | o.concurrency.and.<a.href="#Atom |
| 21280 | 69 63 73 22 3e 41 74 6f 6d 69 63 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 49 66 20 79 6f 75 20 73 | ics">Atomics</a>........If.you.s |
| 212a0 | 65 65 20 63 6f 64 65 20 74 68 61 74 20 69 73 20 75 73 69 6e 67 20 3c 63 6f 64 65 20 63 6c 61 73 | ee.code.that.is.using.<code.clas |
| 212c0 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-kw">vol |
| 212e0 | 61 74 69 6c 65 3c 2f 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 | atile</span></code>.for.somethin |
| 21300 | 67 20 6f 74 68 65 72 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 | g.other.than.Memory.Mapped...... |
| 21320 | 20 49 6e 70 75 74 2f 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 | .Input/Output,.it.is.probably.a. |
| 21340 | 62 75 67 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 | bug........</p>..............<p> |
| 21360 | 0a 20 20 20 20 20 20 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 | .......To.convert.one.pointer.ty |
| 21380 | 70 65 20 74 6f 20 61 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 | pe.to.another,.use.<a.href="#ptr |
| 213a0 | 43 61 73 74 22 3e 40 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 | Cast">@ptrCast</a>..This.is.an.u |
| 213c0 | 6e 73 61 66 65 0a 20 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 | nsafe.......operation.that.Zig.c |
| 213e0 | 61 6e 6e 6f 74 20 70 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 | annot.protect.you.against..Use.< |
| 21400 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 21420 | 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 63 6f 64 65 | k-builtin">@ptrCast</span></code |
| 21440 | 3e 20 6f 6e 6c 79 20 77 68 65 6e 20 6f 74 68 65 72 0a 20 20 20 20 20 20 63 6f 6e 76 65 72 73 69 | >.only.when.other.......conversi |
| 21460 | 6f 6e 73 20 61 72 65 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e | ons.are.not.possible........</p> |
| 21480 | 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c | .......<p.class="file">test.zig< |
| 214a0 | 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | /p><pre><code.class="zig"><span. |
| 214c0 | 63 6c 61 73 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. |
| 214e0 | 3d 20 3c 73 70 61 6e 20 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 |
| 21500 | 6f 72 74 3c 2f 73 70 61 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" |
| 21520 | 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 | >"std"</span>);.<span. |
| 21540 | 63 6c 61 73 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 |
| 21560 | 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c | rt.=.std.debug.assert;..<span.cl |
| 21580 | 61 73 73 3d 22 74 6f 6b 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 |
| 215a0 | 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">"pointer.cas |
| 215c0 | 74 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | ting"</span>.{.....<span.cl |
| 215e0 | 61 73 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. |
| 21600 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e | <span.class="tok-kw">align</span |
| 21620 | 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 | >(<span.class="tok-builtin">@ali |
| 21640 | 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | gnOf</span>(<span.class="tok-typ |
| 21660 | 65 22 3e 75 33 32 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 | e">u32</span>)).=.[_]<span.class |
| 21680 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 | ="tok-type">u8</span>{.<span.cla |
| 216a0 | 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 |
| 216c0 | 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 |
| 216e0 | 3e 2c 20 3c 73 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 |
| 21700 | 3c 2f 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 |
| 21720 | 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ">0x12</span>.};.....<span.class |
| 21740 | 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 70 74 72 20 3d | ="tok-kw">const</span>.u32_ptr.= |
| 21760 | 20 3c 73 70 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 | .<span.class="tok-builtin">@ptrC |
| 21780 | 61 73 74 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | ast</span>(*<span.class="tok-kw" |
| 217a0 | 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 |
| 217c0 | 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 62 79 74 65 73 29 3b 0a 20 20 | ype">u32</span>,.&bytes);... |
| 217e0 | 20 20 61 73 73 65 72 74 28 75 33 32 5f 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | ..assert(u32_ptr.*.==.<span.clas |
| 21800 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 31 32 31 32 31 32 3c 2f 73 70 61 6e 3e | s="tok-number">0x12121212</span> |
| 21820 | 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 | );......<span.class="tok-comment |
| 21840 | 22 3e 2f 2f 20 45 76 65 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 69 73 20 63 6f 6e 74 72 69 | ">//.Even.this.example.is.contri |
| 21860 | 76 65 64 20 2d 20 74 68 65 72 65 20 61 72 65 20 62 65 74 74 65 72 20 77 61 79 73 20 74 6f 20 64 | ved.-.there.are.better.ways.to.d |
| 21880 | 6f 20 74 68 65 20 61 62 6f 76 65 20 74 68 61 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 | o.the.above.than</span>.....<spa |
| 218a0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 | n.class="tok-comment">//.pointer |
| 218c0 | 20 63 61 73 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 | .casting..For.example,.using.a.s |
| 218e0 | 6c 69 63 65 20 6e 61 72 72 6f 77 69 6e 67 20 63 61 73 74 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 | lice.narrowing.cast:</span>..... |
| 21900 | 3c 73 70 61 6e 20 63 6c 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 |
| 21920 | 3e 20 75 33 32 5f 76 61 6c 75 65 20 3d 20 73 74 64 2e 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c 69 | >.u32_value.=.std.mem.bytesAsSli |
| 21940 | 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 | ce(<span.class="tok-type">u32</s |
| 21960 | 70 61 6e 3e 2c 20 62 79 74 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d | pan>,.bytes[<span.class="tok-num |
| 21980 | 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 29 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ber">0</span>..])[<span.class="t |
| 219a0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 61 73 73 65 72 74 | ok-number">0</span>];.....assert |
| 219c0 | 28 75 33 32 5f 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | (u32_value.==.<span.class="tok-n |
| 219e0 | 75 6d 62 65 72 22 3e 30 78 31 32 31 32 31 32 31 32 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 | umber">0x12121212</span>);...... |
| 21a00 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 64 | <span.class="tok-comment">//.And |
| 21a20 | 20 65 76 65 6e 20 61 6e 6f 74 68 65 72 20 77 61 79 2c 20 74 68 65 20 6d 6f 73 74 20 73 74 72 61 | .even.another.way,.the.most.stra |
| 21a40 | 69 67 68 74 66 6f 72 77 61 72 64 20 77 61 79 20 74 6f 20 64 6f 20 69 74 3a 3c 2f 73 70 61 6e 3e | ightforward.way.to.do.it:</span> |
| 21a60 | 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 | .....assert(<span.class="tok-bui |
| 21a80 | 6c 74 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 | ltin">@bitCast</span>(<span.clas |
| 21aa0 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 73 29 20 | s="tok-type">u32</span>,.bytes). |
| 21ac0 | 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 | ==.<span.class="tok-number">0x12 |
| 21ae0 | 31 32 31 32 31 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | 121212</span>);.}..<span.class=" |
| 21b00 | 74 6f 6b 2d 6b 77 22 3e 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= |
| 21b20 | 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 68 69 6c 64 20 74 79 | "tok-str">"pointer.child.ty |
| 21b40 | 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | pe"</span>.{.....<span.clas |
| 21b60 | 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 | s="tok-comment">//.pointer.types |
| 21b80 | 20 68 61 76 65 20 61 20 60 63 68 69 6c 64 60 20 66 69 65 6c 64 20 77 68 69 63 68 20 74 65 6c 6c | .have.a.`child`.field.which.tell |
| 21ba0 | 73 20 79 6f 75 20 74 68 65 20 74 79 70 65 20 74 68 65 79 20 70 6f 69 6e 74 20 74 6f 2e 3c 2f 73 | s.you.the.type.they.point.to.</s |
| 21bc0 | 70 61 6e 3e 0a 20 20 20 20 61 73 73 65 72 74 28 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | pan>.....assert((*<span.class="t |
| 21be0 | 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 2e 43 68 69 6c 64 20 3d 3d 20 3c 73 | ok-type">u32</span>).Child.==.<s |
| 21c00 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 | pan.class="tok-type">u32</span>) |
| 21c20 | 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | ;.}</code></pre><pre><code.class |
| 21c40 | 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 32 | ="shell">$.zig.test.test.zig.1/2 |
| 21c60 | 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 63 61 73 74 69 6e 67 26 71 75 6f 74 | .test."pointer.casting" |
| 21c80 | 3b 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 63 68 | ;...OK.2/2.test."pointer.ch |
| 21ca0 | 69 6c 64 20 74 79 70 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 | ild.type"...OK.All.2.tests. |
| 21cc0 | 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 32 | passed..</code></pre>........<h2 |
| 21ce0 | 20 69 64 3d 22 41 6c 69 67 6e 6d 65 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 6c | .id="Alignment"><a.href="#toc-Al |
| 21d00 | 69 67 6e 6d 65 6e 74 22 3e 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d | ignment">Alignment</a>.<a.class= |
| 21d20 | 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 6c 69 67 6e 6d 65 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f | "hdr".href="#Alignment">..</a></ |
| 21d40 | 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 74 79 70 65 20 68 | h2>........<p>.......Each.type.h |
| 21d60 | 61 73 20 61 6e 20 3c 73 74 72 6f 6e 67 3e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 73 74 72 6f 6e 67 3e | as.an.<strong>alignment</strong> |
| 21d80 | 20 2d 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 73 75 63 68 20 74 68 61 74 2c 0a | .-.a.number.of.bytes.such.that,. |
| 21da0 | 20 20 20 20 20 20 77 68 65 6e 20 61 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 74 79 70 65 20 69 | ......when.a.value.of.the.type.i |
| 21dc0 | 73 20 6c 6f 61 64 65 64 20 66 72 6f 6d 20 6f 72 20 73 74 6f 72 65 64 20 74 6f 20 6d 65 6d 6f 72 | s.loaded.from.or.stored.to.memor |
| 21de0 | 79 2c 0a 20 20 20 20 20 20 74 68 65 20 6d 65 6d 6f 72 79 20 61 64 64 72 65 73 73 20 6d 75 73 74 | y,.......the.memory.address.must |
| 21e00 | 20 62 65 20 65 76 65 6e 6c 79 20 64 69 76 69 73 69 62 6c 65 20 62 79 20 74 68 69 73 20 6e 75 6d | .be.evenly.divisible.by.this.num |
| 21e20 | 62 65 72 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 | ber..You.can.use.......<a.href=" |
| 21e40 | 23 61 6c 69 67 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e 20 74 6f 20 66 69 6e 64 20 6f | #alignOf">@alignOf</a>.to.find.o |
| 21e60 | 75 74 20 74 68 69 73 20 76 61 6c 75 65 20 66 6f 72 20 61 6e 79 20 74 79 70 65 2e 0a 20 20 20 20 | ut.this.value.for.any.type...... |
| 21e80 | 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6c 69 67 6e 6d 65 6e 74 | ..</p>.......<p>.......Alignment |
| 21ea0 | 20 64 65 70 65 6e 64 73 20 6f 6e 20 74 68 65 20 43 50 55 20 61 72 63 68 69 74 65 63 74 75 72 65 | .depends.on.the.CPU.architecture |
| 21ec0 | 2c 20 62 75 74 20 69 73 20 61 6c 77 61 79 73 20 61 20 70 6f 77 65 72 20 6f 66 20 74 77 6f 2c 20 | ,.but.is.always.a.power.of.two,. |
| 21ee0 | 61 6e 64 0a 20 20 20 20 20 20 6c 65 73 73 20 74 68 61 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d | and.......less.than.<code.class= |
| 21f00 | 22 7a 69 67 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 | "zig"><span.class="tok-number">1 |
| 21f20 | 3c 2f 73 70 61 6e 3e 20 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | </span>.<<.<span.class="to |
| 21f40 | 6b 2d 6e 75 6d 62 65 72 22 3e 32 39 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 | k-number">29</span></code>...... |
| 21f60 | 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 61 | ..</p>.......<p>.......In.Zig,.a |
| 21f80 | 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 68 61 73 20 61 6e 20 61 6c 69 67 6e 6d 65 6e 74 20 76 | .pointer.type.has.an.alignment.v |
| 21fa0 | 61 6c 75 65 2e 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 65 71 75 61 6c 20 74 6f 20 74 | alue..If.the.value.is.equal.to.t |
| 21fc0 | 68 65 0a 20 20 20 20 20 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 74 68 65 20 75 6e 64 65 72 6c | he.......alignment.of.the.underl |
| 21fe0 | 79 69 6e 67 20 74 79 70 65 2c 20 69 74 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 66 72 6f | ying.type,.it.can.be.omitted.fro |
| 22000 | 6d 20 74 68 65 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 | m.the.type:.......</p>.......<p. |
| 22020 | 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 | class="file">test.zig</p><pre><c |
| 22040 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 22060 | 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 |
| 22080 | 61 73 73 3d 22 74 6f 6b 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> |
| 220a0 | 28 3c 73 70 61 6e 20 63 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">"std |
| 220c0 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | "</span>);.<span.class="tok |
| 220e0 | 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 73 74 64 2e 64 | -kw">const</span>.assert.=.std.d |
| 22100 | 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | ebug.assert;..<span.class="tok-k |
| 22120 | 77 22 3e 74 65 73 74 3c 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- |
| 22140 | 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 26 71 75 | str">"variable.alignment&qu |
| 22160 | 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ot;</span>.{.....<span.class="to |
| 22180 | 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= |
| 221a0 | 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 |
| 221c0 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 | ass="tok-number">1234</span>;... |
| 221e0 | 20 20 3c 73 70 61 6e 20 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 |
| 22200 | 61 6e 3e 20 61 6c 69 67 6e 5f 6f 66 5f 69 33 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | an>.align_of_i32.=.<span.class=" |
| 22220 | 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 | tok-builtin">@alignOf</span>(<sp |
| 22240 | 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</ |
| 22260 | 73 70 61 6e 3e 28 78 29 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 | span>(x));.....assert(<span.clas |
| 22280 | 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 26 | s="tok-builtin">@TypeOf</span>(& |
| 222a0 | 61 6d 70 3b 78 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | amp;x).==.*<span.class="tok-type |
| 222c0 | 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 2a 3c 73 70 61 6e | ">i32</span>);.....assert(*<span |
| 222e0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 | .class="tok-type">i32</span>.==. |
| 22300 | 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 |
| 22320 | 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 74 6f | n>(align_of_i32).<span.class="to |
| 22340 | 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | k-type">i32</span>);.....<span.c |
| 22360 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 64 2e 54 61 72 | lass="tok-kw">if</span>.(std.Tar |
| 22380 | 67 65 74 2e 63 75 72 72 65 6e 74 2e 63 70 75 2e 61 72 63 68 20 3d 3d 20 2e 78 38 36 5f 36 34 29 | get.current.cpu.arch.==..x86_64) |
| 223a0 | 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | .{.........assert((*<span.class= |
| 223c0 | 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 2e 61 6c 69 67 6e 6d 65 6e 74 | "tok-type">i32</span>).alignment |
| 223e0 | 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f | .==.<span.class="tok-number">4</ |
| 22400 | 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 | span>);.....}.}</code></pre><pre |
| 22420 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 | ><code.class="shell">$.zig.test. |
| 22440 | 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 | test.zig.1/1.test."variable |
| 22460 | 20 61 6c 69 67 6e 6d 65 6e 74 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 | .alignment"...OK.All.1.test |
| 22480 | 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c | s.passed..</code></pre>........< |
| 224a0 | 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 20 63 | p>In.the.same.way.that.a.<code.c |
| 224c0 | 6c 61 73 73 3d 22 7a 69 67 22 3e 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | lass="zig">*<span.class="tok-typ |
| 224e0 | 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 3c 61 20 68 | e">i32</span></code>.can.be.<a.h |
| 22500 | 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> |
| 22520 | 20 74 6f 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | .to.a...........<code.class="zig |
| 22540 | 22 3e 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 | ">*<span.class="tok-kw">const</s |
| 22560 | 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c | pan>.<span.class="tok-type">i32< |
| 22580 | 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 61 20 | /span></code>,.a.pointer.with.a. |
| 225a0 | 6c 61 72 67 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 69 63 69 74 | larger.alignment.can.be.implicit |
| 225c0 | 6c 79 0a 20 20 20 20 20 20 63 61 73 74 20 74 6f 20 61 20 70 6f 69 6e 74 65 72 20 77 69 74 68 20 | ly.......cast.to.a.pointer.with. |
| 225e0 | 61 20 73 6d 61 6c 6c 65 72 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 62 75 74 20 6e 6f 74 20 76 69 63 | a.smaller.alignment,.but.not.vic |
| 22600 | 65 20 76 65 72 73 61 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 | e.versa........</p>.......<p>... |
| 22620 | 20 20 20 20 59 6f 75 20 63 61 6e 20 73 70 65 63 69 66 79 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 6e | ....You.can.specify.alignment.on |
| 22640 | 20 76 61 72 69 61 62 6c 65 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 2e 20 49 66 20 79 6f 75 | .variables.and.functions..If.you |
| 22660 | 20 64 6f 20 74 68 69 73 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 70 6f 69 6e 74 65 72 73 20 74 6f | .do.this,.then.......pointers.to |
| 22680 | 20 74 68 65 6d 20 67 65 74 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 61 6c 69 67 6e 6d 65 6e | .them.get.the.specified.alignmen |
| 226a0 | 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 | t:.......</p>.......<p.class="fi |
| 226c0 | 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | le">test.zig</p><pre><code.class |
| 226e0 | 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | ="zig"><span.class="tok-kw">cons |
| 22700 | 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | t</span>.assert.=.<span.class="t |
| 22720 | 6f 6b 2d 62 75 69 6c 74 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 |
| 22740 | 20 63 6c 61 73 73 3d 22 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">"std" |
| 22760 | 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c | </span>).debug.assert;..<span.cl |
| 22780 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 3c 73 70 | ass="tok-kw">var</span>.foo:.<sp |
| 227a0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3c 73 | an.class="tok-type">u8</span>.<s |
| 227c0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 | pan.class="tok-kw">align</span>( |
| 227e0 | 3c 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 |
| 22800 | 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 | >).=.<span.class="tok-number">10 |
| 22820 | 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | 0</span>;..<span.class="tok-kw"> |
| 22840 | 74 65 73 74 3c 2f 73 70 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 |
| 22860 | 22 3e 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 | ">"global.variable.alignmen |
| 22880 | 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 | t"</span>.{.....assert(<spa |
| 228a0 | 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 |
| 228c0 | 70 61 6e 3e 28 26 61 6d 70 3b 66 6f 6f 29 2e 61 6c 69 67 6e 6d 65 6e 74 20 3d 3d 20 3c 73 70 61 | pan>(&foo).alignment.==.<spa |
| 228e0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a | n.class="tok-number">4</span>);. |
| 22900 | 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | ....assert(<span.class="tok-buil |
| 22920 | 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 3d | tin">@TypeOf</span>(&foo).== |
| 22940 | 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 70 | .*<span.class="tok-kw">align</sp |
| 22960 | 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f | an>(<span.class="tok-number">4</ |
| 22980 | 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 | span>).<span.class="tok-type">u8 |
| 229a0 | 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | </span>);.....<span.class="tok-k |
| 229c0 | 77 22 3e 63 6f 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 | w">const</span>.as_pointer_to_ar |
| 229e0 | 72 61 79 3a 20 2a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | ray:.*[<span.class="tok-number"> |
| 22a00 | 31 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | 1</span>]<span.class="tok-type"> |
| 22a20 | 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 66 6f 6f 3b 0a 20 20 20 20 3c 73 70 61 6e 20 | u8</span>.=.&foo;.....<span. |
| 22a40 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 5f 73 | class="tok-kw">const</span>.as_s |
| 22a60 | 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 | lice:.[]<span.class="tok-type">u |
| 22a80 | 38 3c 2f 73 70 61 6e 3e 20 3d 20 61 73 5f 70 6f 69 6e 74 65 72 5f 74 6f 5f 61 72 72 61 79 3b 0a | 8</span>.=.as_pointer_to_array;. |
| 22aa0 | 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | ....assert(<span.class="tok-buil |
| 22ac0 | 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 73 5f 73 6c 69 63 65 29 20 3d 3d | tin">@TypeOf</span>(as_slice).== |
| 22ae0 | 20 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 | .[]<span.class="tok-kw">align</s |
| 22b00 | 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< |
| 22b20 | 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 |
| 22b40 | 38 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | 8</span>);.}..<span.class="tok-k |
| 22b60 | 77 22 3e 66 6e 3c 2f 73 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 |
| 22b80 | 22 3e 64 65 72 70 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ">derp</span>().<span.class="tok |
| 22ba0 | 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | -kw">align</span>(<span.class="t |
| 22bc0 | 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 |
| 22be0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 | .class="tok-type">usize</span>). |
| 22c00 | 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 | *.<span.class="tok-number">2</sp |
| 22c20 | 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< |
| 22c40 | 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 | /span>.{.<span.class="tok-kw">re |
| 22c60 | 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d | turn</span>.<span.class="tok-num |
| 22c80 | 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 20 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ber">1234</span>;.}.<span.class= |
| 22ca0 | 22 74 6f 6b 2d 6b 77 22 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=" |
| 22cc0 | 74 6f 6b 2d 66 6e 22 3e 6e 6f 6f 70 31 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 | tok-fn">noop1</span>().<span.cla |
| 22ce0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 | ss="tok-kw">align</span>(<span.c |
| 22d00 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 | lass="tok-number">1</span>).<spa |
| 22d20 | 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>.{ |
| 22d40 | 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e | }.<span.class="tok-kw">fn</span> |
| 22d60 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6e 6f 6f 70 34 3c 2f 73 70 61 | .<span.class="tok-fn">noop4</spa |
| 22d80 | 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 6e 3c | n>().<span.class="tok-kw">align< |
| 22da0 | 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | /span>(<span.class="tok-number"> |
| 22dc0 | 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | 4</span>).<span.class="tok-type" |
| 22de0 | 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | >void</span>.{}..<span.class="to |
| 22e00 | 6b 2d 6b 77 22 3e 74 65 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 |
| 22e20 | 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 20 61 6c 69 67 6e 6d 65 6e 74 | ok-str">"function.alignment |
| 22e40 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 64 65 72 70 28 | "</span>.{.....assert(derp( |
| 22e60 | 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 | ).==.<span.class="tok-number">12 |
| 22e80 | 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 | 34</span>);.....assert(<span.cla |
| 22ea0 | 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>( |
| 22ec0 | 6e 6f 6f 70 31 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 | noop1).==.<span.class="tok-kw">f |
| 22ee0 | 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 6b 77 22 3e | n</span>().<span.class="tok-kw"> |
| 22f00 | 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 |
| 22f20 | 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | mber">1</span>).<span.class="tok |
| 22f40 | 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 | -type">void</span>);.....assert( |
| 22f60 | 3c 73 70 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 |
| 22f80 | 66 3c 2f 73 70 61 6e 3e 28 6e 6f 6f 70 34 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | f</span>(noop4).==.<span.class=" |
| 22fa0 | 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | tok-kw">fn</span>().<span.class= |
| 22fc0 | 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 | "tok-kw">align</span>(<span.clas |
| 22fe0 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 | s="tok-number">4</span>).<span.c |
| 23000 | 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 3b 0a 20 20 | lass="tok-type">void</span>);... |
| 23020 | 20 20 6e 6f 6f 70 31 28 29 3b 0a 20 20 20 20 6e 6f 6f 70 34 28 29 3b 0a 7d 3c 2f 63 6f 64 65 3e | ..noop1();.....noop4();.}</code> |
| 23040 | 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 | </pre><pre><code.class="shell">$ |
| 23060 | 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 32 20 74 65 73 74 20 26 71 75 6f | .zig.test.test.zig.1/2.test.&quo |
| 23080 | 74 3b 67 6c 6f 62 61 6c 20 76 61 72 69 61 62 6c 65 20 61 6c 69 67 6e 6d 65 6e 74 26 71 75 6f 74 | t;global.variable.alignment" |
| 230a0 | 3b 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 20 61 | ;...OK.2/2.test."function.a |
| 230c0 | 6c 69 67 6e 6d 65 6e 74 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 | lignment"...OK.All.2.tests. |
| 230e0 | 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e | passed..</code></pre>........<p> |
| 23100 | 0a 20 20 20 20 20 20 49 66 20 79 6f 75 20 68 61 76 65 20 61 20 70 6f 69 6e 74 65 72 20 6f 72 20 | .......If.you.have.a.pointer.or. |
| 23120 | 61 20 73 6c 69 63 65 20 74 68 61 74 20 68 61 73 20 61 20 73 6d 61 6c 6c 20 61 6c 69 67 6e 6d 65 | a.slice.that.has.a.small.alignme |
| 23140 | 6e 74 2c 20 62 75 74 20 79 6f 75 20 6b 6e 6f 77 20 74 68 61 74 20 69 74 20 61 63 74 75 61 6c 6c | nt,.but.you.know.that.it.actuall |
| 23160 | 79 0a 20 20 20 20 20 20 68 61 73 20 61 20 62 69 67 67 65 72 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 | y.......has.a.bigger.alignment,. |
| 23180 | 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c 69 67 6e 43 | use.<a.href="#alignCast">@alignC |
| 231a0 | 61 73 74 3c 2f 61 3e 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 0a 20 20 20 20 20 20 70 6f 69 6e | ast</a>.to.change.the.......poin |
| 231c0 | 74 65 72 20 69 6e 74 6f 20 61 20 6d 6f 72 65 20 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 2e | ter.into.a.more.aligned.pointer. |
| 231e0 | 20 54 68 69 73 20 69 73 20 61 20 6e 6f 2d 6f 70 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 62 75 74 | .This.is.a.no-op.at.runtime,.but |
| 23200 | 20 69 6e 73 65 72 74 73 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 63 6f 72 | .inserts.a.......<a.href="#Incor |
| 23220 | 72 65 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 73 61 66 65 74 79 20 63 | rect-Pointer-Alignment">safety.c |
| 23240 | 68 65 63 6b 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c | heck</a>:.......</p>.......<p.cl |
| 23260 | 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 | ass="file">test.zig</p><pre><cod |
| 23280 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | e.class="zig"><span.class="tok-k |
| 232a0 | 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 |
| 232c0 | 73 3d 22 74 6f 6b 2d 62 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>(< |
| 232e0 | 73 70 61 6e 20 63 6c 61 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">"std&q |
| 23300 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | uot;</span>);..<span.class="tok- |
| 23320 | 6b 77 22 3e 74 65 73 74 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 |
| 23340 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 | -str">"pointer.alignment.sa |
| 23360 | 66 65 74 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | fety"</span>.{.....<span.cl |
| 23380 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3c 73 | ass="tok-kw">var</span>.array.<s |
| 233a0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 | pan.class="tok-kw">align</span>( |
| 233c0 | 3c 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 |
| 233e0 | 3e 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 | >).=.[_]<span.class="tok-type">u |
| 23400 | 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | 32</span>{.<span.class="tok-numb |
| 23420 | 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 | er">0x11111111</span>,.<span.cla |
| 23440 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e | ss="tok-number">0x11111111</span |
| 23460 | 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | >.};.....<span.class="tok-kw">co |
| 23480 | 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 20 3d 20 73 74 64 2e 6d 65 6d 2e 73 6c 69 63 65 | nst</span>.bytes.=.std.mem.slice |
| 234a0 | 41 73 42 79 74 65 73 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | AsBytes(array[<span.class="tok-n |
| 234c0 | 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 | umber">0</span>..]);.....std.deb |
| 234e0 | 75 67 2e 61 73 73 65 72 74 28 66 6f 6f 28 62 79 74 65 73 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c | ug.assert(foo(bytes).==.<span.cl |
| 23500 | 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 |
| 23520 | 6e 3e 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f | n>);.}.<span.class="tok-kw">fn</ |
| 23540 | 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f | span>.<span.class="tok-fn">foo</ |
| 23560 | 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 2d | span>(bytes:.[]<span.class="tok- |
| 23580 | 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | type">u8</span>).<span.class="to |
| 235a0 | 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | k-type">u32</span>.{.....<span.c |
| 235c0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 | lass="tok-kw">const</span>.slice |
| 235e0 | 34 20 3d 20 62 79 74 65 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | 4.=.bytes[<span.class="tok-numbe |
| 23600 | 72 22 3e 31 3c 2f 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | r">1</span>..<span.class="tok-nu |
| 23620 | 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | mber">5</span>];.....<span.class |
| 23640 | 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 | ="tok-kw">const</span>.int_slice |
| 23660 | 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 6c | .=.std.mem.bytesAsSlice(<span.cl |
| 23680 | 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 |
| 236a0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c | .class="tok-builtin">@alignCast< |
| 236c0 | 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | /span>(<span.class="tok-number"> |
| 236e0 | 34 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 34 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | 4</span>,.slice4));.....<span.cl |
| 23700 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 | ass="tok-kw">return</span>.int_s |
| 23720 | 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< |
| 23740 | 2f 73 70 61 6e 3e 5d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 | /span>];.}</code></pre><pre><cod |
| 23760 | 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e | e.class="shell">$.zig.test.test. |
| 23780 | 7a 69 67 0a 31 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 | zig.1/1.test."pointer.align |
| 237a0 | 6d 65 6e 74 20 73 61 66 65 74 79 26 71 75 6f 74 3b 2e 2e 2e 69 6e 63 6f 72 72 65 63 74 20 61 6c | ment.safety"...incorrect.al |
| 237c0 | 69 67 6e 6d 65 6e 74 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 | ignment.<span.class="t37_1">/dep |
| 237e0 | 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 36 33 3c | s/zig/docgen_tmp/test.zig:10:63< |
| 23800 | 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 35 | /span>:.<span.class="t2_0">0x205 |
| 23820 | 34 34 62 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f 6e | 44b.in.foo.(test)</span>.....con |
| 23840 | 73 74 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 73 74 64 2e 6d 65 6d 2e 62 79 74 65 73 41 73 53 6c | st.int_slice.=.std.mem.bytesAsSl |
| 23860 | 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)); |
| 23880 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 238a0 | 20 20 20 20 20 20 20 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 | ...............................< |
| 238c0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 | span.class="t32_1">^</span>.<spa |
| 238e0 | 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e | n.class="t37_1">/deps/zig/docgen |
| 23900 | 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 32 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e | _tmp/test.zig:6:25</span>:.<span |
| 23920 | 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 62 65 61 20 69 6e 20 74 65 73 74 20 26 | .class="t2_0">0x204bea.in.test.& |
| 23940 | 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 73 61 66 65 74 79 26 71 75 | quot;pointer.alignment.safety&qu |
| 23960 | 6f 74 3b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e | ot;.(test)</span>.....std.debug. |
| 23980 | 61 73 73 65 72 74 28 66 6f 6f 28 62 79 74 65 73 29 20 3d 3d 20 30 78 31 31 31 31 31 31 31 31 29 | assert(foo(bytes).==.0x11111111) |
| 239a0 | 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | ;.........................<span. |
| 239c0 | 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 | class="t32_1">^</span>.<span.cla |
| 239e0 | 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 | ss="t37_1">/deps/zig/lib/std/spe |
| 23a00 | 63 69 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 34 37 3a 32 38 3c 2f 73 70 61 6e | cial/test_runner.zig:47:28</span |
| 23a20 | 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 62 64 30 65 20 69 | >:.<span.class="t2_0">0x22bd0e.i |
| 23a40 | 6e 20 73 74 64 2e 73 70 65 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e | n.std.special.main.(test)</span> |
| 23a60 | 0a 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 3b 0a | .........}.else.test_fn.func();. |
| 23a80 | 20 20 20 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 |
| 23aa0 | 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c | .class="t32_1">^</span>.<span.cl |
| 23ac0 | 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 | ass="t37_1">/deps/zig/lib/std/st |
| 23ae0 | 61 72 74 2e 7a 69 67 3a 32 35 33 3a 33 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 | art.zig:253:37</span>:.<span.cla |
| 23b00 | 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 37 61 64 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e | ss="t2_0">0x2057ad.in.std.start. |
| 23b20 | 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 | posixCallMainAndExit.(test)</spa |
| 23b40 | 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 72 65 73 75 6c 74 20 3d 20 72 6f | n>.............const.result.=.ro |
| 23b60 | 6f 74 2e 6d 61 69 6e 28 29 20 63 61 74 63 68 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 | ot.main().catch.|err|.{......... |
| 23b80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 | ............................<spa |
| 23ba0 | 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 |
| 23bc0 | 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 | lass="t37_1">/deps/zig/lib/std/s |
| 23be0 | 74 61 72 74 2e 7a 69 67 3a 31 32 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 | tart.zig:123:5</span>:.<span.cla |
| 23c00 | 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 34 65 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e | ss="t2_0">0x2054ef.in.std.start. |
| 23c20 | 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 2e | _start.(test)</span>.....@call(. |
| 23c40 | 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 |
| 23c60 | 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 0a 20 20 20 20 3c | osixCallMainAndExit,..{});.....< |
| 23c80 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 0a 54 65 73 | span.class="t32_1">^</span>..Tes |
| 23ca0 | 74 73 20 66 61 69 6c 65 64 2e 20 55 73 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d | ts.failed..Use.the.following.com |
| 23cc0 | 6d 61 6e 64 20 74 6f 20 72 65 70 72 6f 64 75 63 65 20 74 68 65 20 66 61 69 6c 75 72 65 3a 0a 2f | mand.to.reproduce.the.failure:./ |
| 23ce0 | 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 0a 3c 2f 63 6f 64 65 3e | deps/zig/docgen_tmp/test.</code> |
| 23d00 | 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 61 6c | </pre>................<h2.id="al |
| 23d20 | 6c 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 | lowzero"><a.href="#toc-allowzero |
| 23d40 | 22 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 | ">allowzero</a>.<a.class="hdr".h |
| 23d60 | 72 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 32 3e 0a 0a 20 20 | ref="#allowzero">..</a></h2>.... |
| 23d80 | 20 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 | ....<p>.......This.pointer.attri |
| 23da0 | 62 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 | bute.allows.a.pointer.to.have.ad |
| 23dc0 | 64 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 | dress.zero..This.is.only.ever.ne |
| 23de0 | 65 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 | eded.on.the.......freestanding.O |
| 23e00 | 53 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 | S.target,.where.the.address.zero |
| 23e20 | 20 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 | .is.mappable..If.you.want.to.rep |
| 23e40 | 72 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 | resent.null.pointers,.use....... |
| 23e60 | 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 | <a.href="#Optional-Pointers">Opt |
| 23e80 | 69 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 | ional.Pointers</a>.instead..<a.h |
| 23ea0 | 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 | ref="#Optional-Pointers">Optiona |
| 23ec0 | 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 77 69 74 68 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d | l.Pointers</a>.with.<code.class= |
| 23ee0 | 22 7a 69 67 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 6c 6f 77 | "zig"><span.class="tok-kw">allow |
| 23f00 | 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 61 72 65 20 6e 6f 74 | zero</span></code>.......are.not |
| 23f20 | 20 74 68 65 20 73 61 6d 65 20 73 69 7a 65 20 61 73 20 70 6f 69 6e 74 65 72 73 2e 20 49 6e 20 74 | .the.same.size.as.pointers..In.t |
| 23f40 | 68 69 73 20 63 6f 64 65 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 20 70 6f 69 6e 74 65 72 | his.code.example,.if.the.pointer |
| 23f60 | 0a 20 20 20 20 20 20 64 69 64 20 6e 6f 74 20 68 61 76 65 20 74 68 65 20 3c 63 6f 64 65 20 63 6c | .......did.not.have.the.<code.cl |
| 23f80 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 | ass="zig"><span.class="tok-kw">a |
| 23fa0 | 6c 6c 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 74 74 72 69 62 75 74 65 | llowzero</span></code>.attribute |
| 23fc0 | 2c 20 74 68 69 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 | ,.this.would.be.a.......<a.href= |
| 23fe0 | 22 23 50 6f 69 6e 74 65 72 2d 43 61 73 74 2d 49 6e 76 61 6c 69 64 2d 4e 75 6c 6c 22 3e 50 6f 69 | "#Pointer-Cast-Invalid-Null">Poi |
| 24000 | 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 70 61 6e 69 63 | nter.Cast.Invalid.Null</a>.panic |
| 24020 | 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c | :.......</p>.......<p.class="fil |
| 24040 | 65 22 3e 61 6c 6c 6f 77 7a 65 72 6f 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | e">allowzero.zig</p><pre><code.c |
| 24060 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | lass="zig"><span.class="tok-kw"> |
| 24080 | 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=" |
| 240a0 | 74 6f 6b 2d 62 75 69 6c 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 |
| 240c0 | 6e 20 63 6c 61 73 73 3d 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">"std" |
| 240e0 | 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ;</span>);.<span.class="tok-kw"> |
| 24100 | 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e | const</span>.assert.=.std.debug. |
| 24120 | 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 | assert;..<span.class="tok-kw">te |
| 24140 | 73 74 3c 2f 73 70 61 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"> |
| 24160 | 26 71 75 6f 74 3b 61 6c 6c 6f 77 7a 65 72 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 | "allowzero"</span>.{.. |
| 24180 | 20 20 20 3c 73 70 61 6e 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 |
| 241a0 | 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 65 22 3e | n>.zero:.<span.class="tok-type"> |
| 241c0 | 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | usize</span>.=.<span.class="tok- |
| 241e0 | 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | number">0</span>;.....<span.clas |
| 24200 | 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 20 3d 20 3c 73 70 61 | s="tok-kw">var</span>.ptr.=.<spa |
| 24220 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c | n.class="tok-builtin">@intToPtr< |
| 24240 | 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 22 3e 61 6c 6c | /span>(*<span.class="tok-kw">all |
| 24260 | 6f 77 7a 65 72 6f 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | owzero</span>.<span.class="tok-t |
| 24280 | 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 7a 65 72 6f 29 3b 0a 20 20 20 20 61 73 73 65 | ype">i32</span>,.zero);.....asse |
| 242a0 | 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 70 74 | rt(<span.class="tok-builtin">@pt |
| 242c0 | 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 70 74 72 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | rToInt</span>(ptr).==.<span.clas |
| 242e0 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 | s="tok-number">0</span>);.}</cod |
| 24300 | 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 | e></pre><pre><code.class="shell" |
| 24320 | 3e 24 20 7a 69 67 20 74 65 73 74 20 61 6c 6c 6f 77 7a 65 72 6f 2e 7a 69 67 0a 31 2f 31 20 74 65 | >$.zig.test.allowzero.zig.1/1.te |
| 24340 | 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 4f 4b 0a 41 6c | st."allowzero"...OK.Al |
| 24360 | 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a | l.1.tests.passed..</code></pre>. |
| 24380 | 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 65 6e 74 69 6e 65 6c 2d | ...............<h2.id="Sentinel- |
| 243a0 | 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 | Terminated-Pointers"><a.href="#t |
| 243c0 | 6f 63 2d 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 | oc-Sentinel-Terminated-Pointers" |
| 243e0 | 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 | >Sentinel-Terminated.Pointers</a |
| 24400 | 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 6e 65 6c | >.<a.class="hdr".href="#Sentinel |
| 24420 | 2d 54 65 72 6d 69 6e 61 74 65 64 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 | -Terminated-Pointers">..</a></h2 |
| 24440 | 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c 63 | >........<p>.......The.syntax.<c |
| 24460 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 5b 2a 3a 78 5d 54 3c 2f 63 6f 64 65 3e 20 64 65 | ode.class="zig">[*:x]T</code>.de |
| 24480 | 73 63 72 69 62 65 73 20 61 20 70 6f 69 6e 74 65 72 20 74 68 61 74 0a 20 20 20 20 20 20 68 61 73 | scribes.a.pointer.that.......has |
| 244a0 | 20 61 20 6c 65 6e 67 74 68 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 61 20 73 65 6e 74 69 6e | .a.length.determined.by.a.sentin |
| 244c0 | 65 6c 20 76 61 6c 75 65 2e 20 54 68 69 73 20 70 72 6f 76 69 64 65 73 20 70 72 6f 74 65 63 74 69 | el.value..This.provides.protecti |
| 244e0 | 6f 6e 0a 20 20 20 20 20 20 61 67 61 69 6e 73 74 20 62 75 66 66 65 72 20 6f 76 65 72 66 6c 6f 77 | on.......against.buffer.overflow |
| 24500 | 20 61 6e 64 20 6f 76 65 72 72 65 61 64 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 | .and.overreads........</p>...... |
| 24520 | 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 | .<p.class="file">test.zig</p><pr |
| 24540 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e><code.class="zig"><span.class= |
| 24560 | 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 |
| 24580 | 6e 20 63 6c 61 73 73 3d 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 |
| 245a0 | 70 61 6e 3e 28 3c 73 70 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">" |
| 245c0 | 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | ;std"</span>);..<span.class |
| 245e0 | 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 69 73 20 61 6c 73 6f 20 61 | ="tok-comment">//.This.is.also.a |
| 24600 | 76 61 69 6c 61 62 6c 65 20 61 73 20 60 73 74 64 2e 63 2e 70 72 69 6e 74 66 60 2e 3c 2f 73 70 61 | vailable.as.`std.c.printf`.</spa |
| 24620 | 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 | n>.<span.class="tok-kw">pub</spa |
| 24640 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f | n>.<span.class="tok-kw">extern</ |
| 24660 | 73 70 61 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 |
| 24680 | 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | t;c"</span>.<span.class="to |
| 246a0 | 6b 2d 6b 77 22 3e 66 6e 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 |
| 246c0 | 2d 66 6e 22 3e 70 72 69 6e 74 66 3c 2f 73 70 61 6e 3e 28 66 6f 72 6d 61 74 3a 20 5b 2a 3a 3c 73 | -fn">printf</span>(format:.[*:<s |
| 246e0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d | pan.class="tok-number">0</span>] |
| 24700 | 3c 73 70 61 6e 20 63 6c 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 |
| 24720 | 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 |
| 24740 | 6e 3e 2c 20 2e 2e 2e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | n>,....).<span.class="tok-type"> |
| 24760 | 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | c_int</span>;..<span.class="tok- |
| 24780 | 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- |
| 247a0 | 6b 77 22 3e 66 6e 3c 2f 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 |
| 247c0 | 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | n">main</span>().<span.class="to |
| 247e0 | 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 |
| 24800 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | ass="tok-type">void</span>.{.... |
| 24820 | 20 5f 20 3d 20 70 72 69 6e 74 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 | ._.=.printf(<span.class="tok-str |
| 24840 | 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 | ">"Hello,.world!\n"</s |
| 24860 | 70 61 6e 3e 29 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 | pan>);.<span.class="tok-comment" |
| 24880 | 3e 2f 2f 20 4f 4b 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | >//.OK</span>......<span.class=" |
| 248a0 | 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 73 67 20 3d 20 3c 73 70 61 6e | tok-kw">const</span>.msg.=.<span |
| 248c0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 48 65 6c 6c 6f 2c 20 77 6f | .class="tok-str">"Hello,.wo |
| 248e0 | 72 6c 64 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | rld!\n"</span>;.....<span.c |
| 24900 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 6f 6e 5f 6e | lass="tok-kw">const</span>.non_n |
| 24920 | 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 3c 73 70 | ull_terminated_msg:.[msg.len]<sp |
| 24940 | 61 6e 20 63 6c 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>.=. |
| 24960 | 6d 73 67 2e 2a 3b 0a 20 20 20 20 5f 20 3d 20 70 72 69 6e 74 66 28 26 61 6d 70 3b 6e 6f 6e 5f 6e | msg.*;....._.=.printf(&non_n |
| 24980 | 75 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 | ull_terminated_msg);.}</code></p |
| 249a0 | 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 | re><pre><code.class="shell">$.zi |
| 249c0 | 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 20 2d 6c 63 0a 3c 73 70 61 6e 20 63 | g.build-exe.test.zig.-lc.<span.c |
| 249e0 | 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 |
| 24a00 | 67 3a 31 31 3a 31 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 | g:11:17:.</span><span.class="t31 |
| 24a20 | 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 |
| 24a40 | 30 5f 31 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 5b 2a 3a 30 5d 63 6f 6e 73 74 20 75 | 0_1">expected.type.'[*:0]const.u |
| 24a60 | 38 27 2c 20 66 6f 75 6e 64 20 27 2a 63 6f 6e 73 74 20 5b 31 34 5d 75 38 27 3c 2f 73 70 61 6e 3e | 8',.found.'*const.[14]u8'</span> |
| 24a80 | 0a 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 5f 74 65 | ....._.=.printf(&non_null_te |
| 24aa0 | 72 6d 69 6e 61 74 65 64 5f 6d 73 67 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c | rminated_msg);.................< |
| 24ac0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 | span.class="t32_1">^</span>.<spa |
| 24ae0 | 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 |
| 24b00 | 2e 7a 69 67 3a 31 31 3a 31 37 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .zig:11:17:.</span><span.class=" |
| 24b20 | 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= |
| 24b40 | 22 74 30 5f 31 22 3e 64 65 73 74 69 6e 61 74 69 6f 6e 20 70 6f 69 6e 74 65 72 20 72 65 71 75 69 | "t0_1">destination.pointer.requi |
| 24b60 | 72 65 73 20 61 20 74 65 72 6d 69 6e 61 74 69 6e 67 20 27 30 27 20 73 65 6e 74 69 6e 65 6c 3c 2f | res.a.terminating.'0'.sentinel</ |
| 24b80 | 73 70 61 6e 3e 0a 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 | span>....._.=.printf(&non_nu |
| 24ba0 | 6c 6c 5f 74 65 72 6d 69 6e 61 74 65 64 5f 6d 73 67 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ll_terminated_msg);............. |
| 24bc0 | 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> |
| 24be0 | 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 | .</code></pre>........<p>See.als |
| 24c00 | 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 65 | o:</p><ul>.<li><a.href="#Sentine |
| 24c20 | 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 | l-Terminated-Slices">Sentinel-Te |
| 24c40 | 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 3c 6c 69 3e 3c 61 20 | rminated.Slices</a></li>.<li><a. |
| 24c60 | 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 41 72 72 61 79 | href="#Sentinel-Terminated-Array |
| 24c80 | 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 | s">Sentinel-Terminated.Arrays</a |
| 24ca0 | 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 | ></li>.</ul>.................... |
| 24cc0 | 20 20 20 3c 68 31 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 | ...<h1.id="Slices"><a.href="#toc |
| 24ce0 | 2d 53 6c 69 63 65 73 22 3e 53 6c 69 63 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 | -Slices">Slices</a>.<a.class="hd |
| 24d00 | 72 22 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 | r".href="#Slices">..</a></h1>... |
| 24d20 | 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 | .....<p.class="file">test.zig</p |
| 24d40 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ><pre><code.class="zig"><span.cl |
| 24d60 | 61 73 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 74 | ass="tok-kw">const</span>.assert |
| 24d80 | 20 3d 20 3c 73 70 61 6e 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 |
| 24da0 | 70 6f 72 74 3c 2f 73 70 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 |
| 24dc0 | 22 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 | ">"std"</span>).debug. |
| 24de0 | 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 | assert;..<span.class="tok-kw">te |
| 24e00 | 73 74 3c 2f 73 70 61 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"> |
| 24e20 | 26 71 75 6f 74 3b 62 61 73 69 63 20 73 6c 69 63 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 | "basic.slices"</span>. |
| 24e40 | 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f | {.....<span.class="tok-kw">var</ |
| 24e60 | 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 |
| 24e80 | 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= |
| 24ea0 | 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 |
| 24ec0 | 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. |
| 24ee0 | 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 |
| 24f00 | 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>.} |
| 24f20 | 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e | ;.....<span.class="tok-comment"> |
| 24f40 | 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 6c 65 | //.A.slice.is.a.pointer.and.a.le |
| 24f60 | 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 6e 20 | ngth..The.difference.between.an. |
| 24f80 | 61 72 72 61 79 20 61 6e 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | array.and</span>.....<span.class |
| 24fa0 | 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 20 73 6c 69 63 65 20 69 73 20 74 68 61 | ="tok-comment">//.a.slice.is.tha |
| 24fc0 | 74 20 74 68 65 20 61 72 72 61 79 27 73 20 6c 65 6e 67 74 68 20 69 73 20 70 61 72 74 20 6f 66 20 | t.the.array's.length.is.part.of. |
| 24fe0 | 74 68 65 20 74 79 70 65 20 61 6e 64 20 6b 6e 6f 77 6e 20 61 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 | the.type.and.known.at</span>.... |
| 25000 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f | .<span.class="tok-comment">//.co |
| 25020 | 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 77 68 65 72 65 61 73 20 74 68 65 20 73 6c 69 63 65 27 73 20 | mpile-time,.whereas.the.slice's. |
| 25040 | 6c 65 6e 67 74 68 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 72 75 6e 74 69 6d 65 2e 3c 2f 73 70 61 | length.is.known.at.runtime.</spa |
| 25060 | 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 | n>.....<span.class="tok-comment" |
| 25080 | 3e 2f 2f 20 42 6f 74 68 20 63 61 6e 20 62 65 20 61 63 63 65 73 73 65 64 20 77 69 74 68 20 74 68 | >//.Both.can.be.accessed.with.th |
| 250a0 | 65 20 60 6c 65 6e 60 20 66 69 65 6c 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 | e.`len`.field.</span>.....<span. |
| 250c0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6b 6e 6f 77 6e 5f | class="tok-kw">var</span>.known_ |
| 250e0 | 61 74 5f 72 75 6e 74 69 6d 65 5f 7a 65 72 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | at_runtime_zero:.<span.class="to |
| 25100 | 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 |
| 25120 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 | ss="tok-number">0</span>;.....<s |
| 25140 | 70 61 6e 20 63 6c 61 73 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>. |
| 25160 | 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 6d 65 5f 7a | slice.=.array[known_at_runtime_z |
| 25180 | 65 72 6f 2e 2e 61 72 72 61 79 2e 6c 65 6e 5d 3b 0a 20 20 20 20 61 73 73 65 72 74 28 26 61 6d 70 | ero..array.len];.....assert(& |
| 251a0 | 3b 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | ;slice[<span.class="tok-number"> |
| 251c0 | 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 26 61 6d 70 3b 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c | 0</span>].==.&array[<span.cl |
| 251e0 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 29 3b 0a 20 20 20 | ass="tok-number">0</span>]);.... |
| 25200 | 20 61 73 73 65 72 74 28 73 6c 69 63 65 2e 6c 65 6e 20 3d 3d 20 61 72 72 61 79 2e 6c 65 6e 29 3b | .assert(slice.len.==.array.len); |
| 25220 | 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e | ......<span.class="tok-comment"> |
| 25240 | 2f 2f 20 55 73 69 6e 67 20 74 68 65 20 61 64 64 72 65 73 73 2d 6f 66 20 6f 70 65 72 61 74 6f 72 | //.Using.the.address-of.operator |
| 25260 | 20 6f 6e 20 61 20 73 6c 69 63 65 20 67 69 76 65 73 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 | .on.a.slice.gives.a.pointer.to.a |
| 25280 | 20 73 69 6e 67 6c 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .single</span>.....<span.class=" |
| 252a0 | 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 74 65 6d 2c 20 77 68 69 6c 65 20 75 73 69 6e | tok-comment">//.item,.while.usin |
| 252c0 | 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 6e 20 75 6e 6b 6e 6f | g.the.`ptr`.field.gives.an.unkno |
| 252e0 | 77 6e 20 6c 65 6e 67 74 68 20 70 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 73 | wn.length.pointer.</span>.....as |
| 25300 | 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">@ |
| 25320 | 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 73 6c 69 63 65 2e 70 74 72 29 20 3d 3d 20 5b 2a 5d 3c | TypeOf</span>(slice.ptr).==.[*]< |
| 25340 | 73 70 61 6e 20 63 6c 61 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> |
| 25360 | 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 | );.....assert(<span.class="tok-b |
| 25380 | 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 73 6c 69 63 | uiltin">@TypeOf</span>(&slic |
| 253a0 | 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 | e[<span.class="tok-number">0</sp |
| 253c0 | 61 6e 3e 5d 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | an>]).==.*<span.class="tok-type" |
| 253e0 | 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 | >i32</span>);.....assert(<span.c |
| 25400 | 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 | lass="tok-builtin">@ptrToInt</sp |
| 25420 | 61 6e 3e 28 73 6c 69 63 65 2e 70 74 72 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | an>(slice.ptr).==.<span.class="t |
| 25440 | 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d | ok-builtin">@ptrToInt</span>(&am |
| 25460 | 70 3b 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | p;slice[<span.class="tok-number" |
| 25480 | 3e 30 3c 2f 73 70 61 6e 3e 5d 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | >0</span>]));......<span.class=" |
| 254a0 | 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 6c 69 63 65 73 20 68 61 76 65 20 61 72 72 61 | tok-comment">//.Slices.have.arra |
| 254c0 | 79 20 62 6f 75 6e 64 73 20 63 68 65 63 6b 69 6e 67 2e 20 49 66 20 79 6f 75 20 74 72 79 20 74 6f | y.bounds.checking..If.you.try.to |
| 254e0 | 20 61 63 63 65 73 73 20 73 6f 6d 65 74 68 69 6e 67 20 6f 75 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 | .access.something.out</span>.... |
| 25500 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 66 | .<span.class="tok-comment">//.of |
| 25520 | 20 62 6f 75 6e 64 73 2c 20 79 6f 75 27 6c 6c 20 67 65 74 20 61 20 73 61 66 65 74 79 20 63 68 65 | .bounds,.you'll.get.a.safety.che |
| 25540 | 63 6b 20 66 61 69 6c 75 72 65 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 73 6c 69 63 65 5b 3c 73 70 | ck.failure:</span>.....slice[<sp |
| 25560 | 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 5d | an.class="tok-number">10</span>] |
| 25580 | 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</ |
| 255a0 | 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d | span>;......<span.class="tok-com |
| 255c0 | 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 74 72 60 20 64 | ment">//.Note.that.`slice.ptr`.d |
| 255e0 | 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 69 6e 67 2c 20 | oes.not.invoke.safety.checking,. |
| 25600 | 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 3e 0a 20 20 20 | while.`&slice[0]`</span>.... |
| 25620 | 20 3c 73 70 61 6e 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 | .<span.class="tok-comment">//.as |
| 25640 | 73 65 72 74 73 20 74 68 61 74 20 74 68 65 20 73 6c 69 63 65 20 68 61 73 20 6c 65 6e 20 26 67 74 | serts.that.the.slice.has.len.> |
| 25660 | 3b 3d 20 31 2e 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e | ;=.1.</span>.}</code></pre><pre> |
| 25680 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 | <code.class="shell">$.zig.test.t |
| 256a0 | 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 62 61 73 69 63 20 73 6c 69 | est.zig.1/1.test."basic.sli |
| 256c0 | 63 65 73 26 71 75 6f 74 3b 2e 2e 2e 69 6e 64 65 78 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 0a | ces"...index.out.of.bounds. |
| 256e0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f | <span.class="t37_1">/deps/zig/do |
| 25700 | 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 6e 3e 3a 20 | cgen_tmp/test.zig:22:10</span>:. |
| 25720 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 63 63 36 20 69 6e 20 74 | <span.class="t2_0">0x204cc6.in.t |
| 25740 | 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 20 28 74 65 | est."basic.slices".(te |
| 25760 | 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 73 6c 69 63 65 5b 31 30 5d 20 2b 3d 20 31 3b 0a 20 | st)</span>.....slice[10].+=.1;.. |
| 25780 | 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 |
| 257a0 | 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a | pan>.<span.class="t37_1">/deps/z |
| 257c0 | 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a | ig/lib/std/special/test_runner.z |
| 257e0 | 69 67 3a 34 37 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 | ig:47:28</span>:.<span.class="t2 |
| 25800 | 5f 30 22 3e 30 78 32 32 62 63 31 65 20 69 6e 20 73 74 64 2e 73 70 65 63 69 61 6c 2e 6d 61 69 6e | _0">0x22bc1e.in.std.special.main |
| 25820 | 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 | .(test)</span>.........}.else.te |
| 25840 | 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | st_fn.func();................... |
| 25860 | 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">^</ |
| 25880 | 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f | span>.<span.class="t37_1">/deps/ |
| 258a0 | 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 33 37 3c 2f 73 70 | zig/lib/std/start.zig:253:37</sp |
| 258c0 | 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 37 34 64 | an>:.<span.class="t2_0">0x20574d |
| 258e0 | 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 |
| 25900 | 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e | it.(test)</span>.............con |
| 25920 | 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 65 | st.result.=.root.main().catch.|e |
| 25940 | 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rr|.{........................... |
| 25960 | 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">^< |
| 25980 | 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 | /span>.<span.class="t37_1">/deps |
| 259a0 | 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 3a 35 3c 2f 73 70 | /zig/lib/std/start.zig:123:5</sp |
| 259c0 | 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 34 38 66 | an>:.<span.class="t2_0">0x20548f |
| 259e0 | 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 | .in.std.start._start.(test)</spa |
| 25a00 | 6e 3e 0a 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 | n>.....@call(.{..modifier.=..nev |
| 25a20 | 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 |
| 25a40 | 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 | t,..{});.....<span.class="t32_1" |
| 25a60 | 3e 5e 3c 2f 73 70 61 6e 3e 0a 0a 54 65 73 74 73 20 66 61 69 6c 65 64 2e 20 55 73 65 20 74 68 65 | >^</span>..Tests.failed..Use.the |
| 25a80 | 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 72 65 70 72 6f 64 75 63 65 20 | .following.command.to.reproduce. |
| 25aa0 | 74 68 65 20 66 61 69 6c 75 72 65 3a 0a 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d | the.failure:./deps/zig/docgen_tm |
| 25ac0 | 70 2f 74 65 73 74 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 | p/test.</code></pre>........<p>T |
| 25ae0 | 68 69 73 20 69 73 20 6f 6e 65 20 72 65 61 73 6f 6e 20 77 65 20 70 72 65 66 65 72 20 73 6c 69 63 | his.is.one.reason.we.prefer.slic |
| 25b00 | 65 73 20 74 6f 20 70 6f 69 6e 74 65 72 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 | es.to.pointers.</p>.......<p.cla |
| 25b20 | 73 73 3d 22 66 69 6c 65 22 3e 73 6c 69 63 65 73 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f | ss="file">slices.zig</p><pre><co |
| 25b40 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 25b60 | 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 |
| 25b80 | 73 73 3d 22 74 6f 6b 2d 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>( |
| 25ba0 | 3c 73 70 61 6e 20 63 6c 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">"std& |
| 25bc0 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | quot;</span>);.<span.class="tok- |
| 25be0 | 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 | kw">const</span>.assert.=.std.de |
| 25c00 | 62 75 67 2e 61 73 73 65 72 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | bug.assert;.<span.class="tok-kw" |
| 25c20 | 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b 0a 3c 73 70 | >const</span>.mem.=.std.mem;.<sp |
| 25c40 | 61 6e 20 63 6c 61 73 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 | an.class="tok-kw">const</span>.f |
| 25c60 | 6d 74 20 3d 20 73 74 64 2e 66 6d 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | mt.=.std.fmt;..<span.class="tok- |
| 25c80 | 6b 77 22 3e 74 65 73 74 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 |
| 25ca0 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 73 69 6e 67 20 73 6c 69 63 65 73 20 66 6f 72 20 73 74 72 | -str">"using.slices.for.str |
| 25cc0 | 69 6e 67 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | ings"</span>.{.....<span.cl |
| 25ce0 | 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 5a 69 67 20 68 61 73 20 6e 6f 20 | ass="tok-comment">//.Zig.has.no. |
| 25d00 | 63 6f 6e 63 65 70 74 20 6f 66 20 73 74 72 69 6e 67 73 2e 20 53 74 72 69 6e 67 20 6c 69 74 65 72 | concept.of.strings..String.liter |
| 25d20 | 61 6c 73 20 61 72 65 20 63 6f 6e 73 74 20 70 6f 69 6e 74 65 72 73 20 74 6f 3c 2f 73 70 61 6e 3e | als.are.const.pointers.to</span> |
| 25d40 | 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f | .....<span.class="tok-comment">/ |
| 25d60 | 2f 20 61 72 72 61 79 73 20 6f 66 20 75 38 2c 20 61 6e 64 20 62 79 20 63 6f 6e 76 65 6e 74 69 6f | /.arrays.of.u8,.and.by.conventio |
| 25d80 | 6e 20 70 61 72 61 6d 65 74 65 72 73 20 74 68 61 74 20 61 72 65 20 26 71 75 6f 74 3b 73 74 72 69 | n.parameters.that.are."stri |
| 25da0 | 6e 67 73 26 71 75 6f 74 3b 20 61 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 | ngs".are</span>.....<span.c |
| 25dc0 | 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 70 65 63 74 65 64 20 74 | lass="tok-comment">//.expected.t |
| 25de0 | 6f 20 62 65 20 55 54 46 2d 38 20 65 6e 63 6f 64 65 64 20 73 6c 69 63 65 73 20 6f 66 20 75 38 2e | o.be.UTF-8.encoded.slices.of.u8. |
| 25e00 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d | </span>.....<span.class="tok-com |
| 25e20 | 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 65 20 77 65 20 63 6f 65 72 63 65 20 5b 35 5d 75 38 20 74 6f | ment">//.Here.we.coerce.[5]u8.to |
| 25e40 | 20 5b 5d 63 6f 6e 73 74 20 75 38 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | .[]const.u8</span>.....<span.cla |
| 25e60 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 3a 20 | ss="tok-kw">const</span>.hello:. |
| 25e80 | 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 |
| 25ea0 | 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 |
| 25ec0 | 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 | pan>.=.<span.class="tok-str">&qu |
| 25ee0 | 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e | ot;hello"</span>;.....<span |
| 25f00 | 20 63 6c 61 73 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 | .class="tok-kw">const</span>.wor |
| 25f20 | 6c 64 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | ld:.[]<span.class="tok-kw">const |
| 25f40 | 3c 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 |
| 25f60 | 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 | 8</span>.=.<span.class="tok-str" |
| 25f80 | 3e 26 71 75 6f 74 3b e4 b8 96 e7 95 8c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 | >"......"</span>;..... |
| 25fa0 | 20 3c 73 70 61 6e 20 63 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> |
| 25fc0 | 20 61 6c 6c 5f 74 6f 67 65 74 68 65 72 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | .all_together:.[<span.class="tok |
| 25fe0 | 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d | -number">100</span>]<span.class= |
| 26000 | 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 |
| 26020 | 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 0a | ss="tok-null">undefined</span>;. |
| 26040 | 20 20 20 20 3c 73 70 61 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">// |
| 26060 | 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 6e 20 61 6e 20 | .You.can.use.slice.syntax.on.an. |
| 26080 | 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 6e 74 6f 20 61 | array.to.convert.an.array.into.a |
| 260a0 | 20 73 6c 69 63 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .slice.</span>.....<span.class=" |
| 260c0 | 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 5f 74 6f 67 65 74 68 65 | tok-kw">const</span>.all_togethe |
| 260e0 | 72 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 | r_slice.=.all_together[<span.cla |
| 26100 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 3b 0a 20 20 20 | ss="tok-number">0</span>..];.... |
| 26120 | 20 3c 73 70 61 6e 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 | .<span.class="tok-comment">//.St |
| 26140 | 72 69 6e 67 20 63 6f 6e 63 61 74 65 6e 61 74 69 6f 6e 20 65 78 61 6d 70 6c 65 2e 3c 2f 73 70 61 | ring.concatenation.example.</spa |
| 26160 | 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | n>.....<span.class="tok-kw">cons |
| 26180 | 74 3c 2f 73 70 61 6e 3e 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 | t</span>.hello_world.=.<span.cla |
| 261a0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 66 6d 74 2e 62 75 66 50 72 | ss="tok-kw">try</span>.fmt.bufPr |
| 261c0 | 69 6e 74 28 61 6c 6c 5f 74 6f 67 65 74 68 65 72 5f 73 6c 69 63 65 2c 20 3c 73 70 61 6e 20 63 6c | int(all_together_slice,.<span.cl |
| 261e0 | 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 20 7b 7d 26 71 75 6f 74 3b 3c | ass="tok-str">"{}.{}"< |
| 26200 | 2f 73 70 61 6e 3e 2c 20 2e 7b 20 68 65 6c 6c 6f 2c 20 77 6f 72 6c 64 20 7d 29 3b 0a 0a 20 20 20 | /span>,..{.hello,.world.});..... |
| 26220 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 47 65 | .<span.class="tok-comment">//.Ge |
| 26240 | 6e 65 72 61 6c 6c 79 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 55 54 46 2d 38 20 61 6e 64 20 6e | nerally,.you.can.use.UTF-8.and.n |
| 26260 | 6f 74 20 77 6f 72 72 79 20 61 62 6f 75 74 20 77 68 65 74 68 65 72 20 73 6f 6d 65 74 68 69 6e 67 | ot.worry.about.whether.something |
| 26280 | 20 69 73 20 61 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | .is.a</span>.....<span.class="to |
| 262a0 | 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 64 6f 6e | k-comment">//.string..If.you.don |
| 262c0 | 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 61 6c 20 | 't.need.to.deal.with.individual. |
| 262e0 | 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 0a 20 20 20 20 3c | characters,.no.need</span>.....< |
| 26300 | 73 70 61 6e 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 | span.class="tok-comment">//.to.d |
| 26320 | 65 63 6f 64 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c | ecode.</span>.....assert(mem.eql |
| 26340 | 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e | (<span.class="tok-type">u8</span |
| 26360 | 3e 2c 20 68 65 6c 6c 6f 5f 77 6f 72 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | >,.hello_world,.<span.class="tok |
| 26380 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 e4 b8 96 e7 95 8c 26 71 75 6f 74 3b 3c 2f | -str">"hello......."</ |
| 263a0 | 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | span>));.}..<span.class="tok-kw" |
| 263c0 | 3e 74 65 73 74 3c 2f 73 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 |
| 263e0 | 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 3b 3c 2f 73 70 | r">"slice.pointer"</sp |
| 26400 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 | an>.{.....<span.class="tok-kw">v |
| 26420 | 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ar</span>.array:.[<span.class="t |
| 26440 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 | ok-number">10</span>]<span.class |
| 26460 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c | ="tok-type">u8</span>.=.<span.cl |
| 26480 | 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>; |
| 264a0 | 0a 20 20 20 20 3c 73 70 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< |
| 264c0 | 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 61 72 72 61 79 3b 0a 0a 20 20 20 20 3c 73 | /span>.ptr.=.&array;......<s |
| 264e0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 | pan.class="tok-comment">//.You.c |
| 26500 | 61 6e 20 75 73 65 20 73 6c 69 63 69 6e 67 20 73 79 6e 74 61 78 20 74 6f 20 63 6f 6e 76 65 72 74 | an.use.slicing.syntax.to.convert |
| 26520 | 20 61 20 70 6f 69 6e 74 65 72 20 69 6e 74 6f 20 61 20 73 6c 69 63 65 3a 3c 2f 73 70 61 6e 3e 0a | .a.pointer.into.a.slice:</span>. |
| 26540 | 20 20 20 20 3c 73 70 61 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</ |
| 26560 | 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 6c 61 73 73 3d 22 74 | span>.slice.=.ptr[<span.class="t |
| 26580 | 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 73 | ok-number">0</span>..<span.class |
| 265a0 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 73 6c 69 | ="tok-number">5</span>];.....sli |
| 265c0 | 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 73 | ce[<span.class="tok-number">2</s |
| 265e0 | 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 22 | pan>].=.<span.class="tok-number" |
| 26600 | 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 73 65 72 74 28 73 6c 69 63 65 5b 3c 73 70 61 | >3</span>;.....assert(slice[<spa |
| 26620 | 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 20 3d | n.class="tok-number">2</span>].= |
| 26640 | 3d 20 3c 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 |
| 26660 | 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 | an>);.....<span.class="tok-comme |
| 26680 | 6e 74 22 3e 2f 2f 20 54 68 65 20 73 6c 69 63 65 20 69 73 20 6d 75 74 61 62 6c 65 20 62 65 63 61 | nt">//.The.slice.is.mutable.beca |
| 266a0 | 75 73 65 20 77 65 20 73 6c 69 63 65 64 20 61 20 6d 75 74 61 62 6c 65 20 70 6f 69 6e 74 65 72 2e | use.we.sliced.a.mutable.pointer. |
| 266c0 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d | </span>.....<span.class="tok-com |
| 266e0 | 6d 65 6e 74 22 3e 2f 2f 20 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 69 74 20 69 73 20 61 63 74 75 | ment">//.Furthermore,.it.is.actu |
| 26700 | 61 6c 6c 79 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 6e 20 61 72 72 61 79 2c 20 73 69 6e 63 | ally.a.pointer.to.an.array,.sinc |
| 26720 | 65 20 74 68 65 20 73 74 61 72 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | e.the.start</span>.....<span.cla |
| 26740 | 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 6e 64 20 65 6e 64 20 69 6e 64 65 | ss="tok-comment">//.and.end.inde |
| 26760 | 78 65 73 20 77 65 72 65 20 62 6f 74 68 20 63 6f 6d 70 74 69 6d 65 2d 6b 6e 6f 77 6e 2e 3c 2f 73 | xes.were.both.comptime-known.</s |
| 26780 | 70 61 6e 3e 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | pan>.....assert(<span.class="tok |
| 267a0 | 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 20 | -builtin">@TypeOf</span>(slice). |
| 267c0 | 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 3e 35 3c | ==.*[<span.class="tok-number">5< |
| 267e0 | 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 |
| 26800 | 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | </span>);......<span.class="tok- |
| 26820 | 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 73 6c 69 63 65 20 61 | comment">//.You.can.also.slice.a |
| 26840 | 20 73 6c 69 63 65 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .slice:</span>.....<span.class=" |
| 26860 | 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 32 20 3d 20 73 6c | tok-kw">const</span>.slice2.=.sl |
| 26880 | 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</ |
| 268a0 | 73 70 61 6e 3e 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | span>..<span.class="tok-number"> |
| 268c0 | 33 3c 2f 73 70 61 6e 3e 5d 3b 0a 20 20 20 20 61 73 73 65 72 74 28 73 6c 69 63 65 32 2e 6c 65 6e | 3</span>];.....assert(slice2.len |
| 268e0 | 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f | .==.<span.class="tok-number">1</ |
| 26900 | 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 73 6c 69 63 65 32 5b 3c 73 70 61 6e 20 | span>);.....assert(slice2[<span. |
| 26920 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 | class="tok-number">0</span>].==. |
| 26940 | 3c 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 |
| 26960 | 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | >);.}</code></pre><pre><code.cla |
| 26980 | 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 73 6c 69 63 65 73 2e 7a 69 67 | ss="shell">$.zig.test.slices.zig |
| 269a0 | 0a 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 75 73 69 6e 67 20 73 6c 69 63 65 73 20 66 6f 72 | .1/2.test."using.slices.for |
| 269c0 | 20 73 74 72 69 6e 67 73 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 20 26 71 75 | .strings"...OK.2/2.test.&qu |
| 269e0 | 6f 74 3b 73 6c 69 63 65 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 | ot;slice.pointer"...OK.All. |
| 26a00 | 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 | 2.tests.passed..</code></pre>... |
| 26a20 | 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 |
| 26a40 | 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 3c 2f | .href="#Pointers">Pointers</a></ |
| 26a60 | 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 3c 2f | li>.<li><a.href="#for">for</a></ |
| 26a80 | 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 | li>.<li><a.href="#Arrays">Arrays |
| 26aa0 | 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 32 20 69 64 3d 22 | </a></li>.</ul>.........<h2.id=" |
| 26ac0 | 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e 3c 61 20 68 | Sentinel-Terminated-Slices"><a.h |
| 26ae0 | 72 65 66 3d 22 23 74 6f 63 2d 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c | ref="#toc-Sentinel-Terminated-Sl |
| 26b00 | 69 63 65 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 53 6c 69 63 65 73 | ices">Sentinel-Terminated.Slices |
| 26b20 | 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 65 6e 74 69 | </a>.<a.class="hdr".href="#Senti |
| 26b40 | 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 53 6c 69 63 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 | nel-Terminated-Slices">..</a></h |
| 26b60 | 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 79 6e 74 61 78 20 3c | 2>........<p>.......The.syntax.< |
| 26b80 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 5b 3a 78 5d 54 3c 2f 63 6f 64 65 3e 20 69 73 | code.class="zig">[:x]T</code>.is |
| 26ba0 | 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 20 6b 6e 6f | .a.slice.which.has.a.runtime.kno |
| 26bc0 | 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 72 61 6e 74 | wn.length.......and.also.guarant |
| 26be0 | 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 65 6c 65 6d | ees.a.sentinel.value.at.the.elem |
| 26c00 | 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 68 65 20 74 | ent.indexed.by.the.length..The.t |
| 26c20 | 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 20 74 68 61 | ype.does.not.......guarantee.tha |
| 26c40 | 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 65 6e 74 73 | t.there.are.no.sentinel.elements |
| 26c60 | 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 6e 61 74 65 | .before.that..Sentinel-terminate |
| 26c80 | 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 20 61 63 63 | d.slices.allow.element.......acc |
| 26ca0 | 65 73 73 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 6c 65 6e | ess.to.the.<code.class="zig">len |
| 26cc0 | 3c 2f 63 6f 64 65 3e 20 69 6e 64 65 78 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 | </code>.index........</p>....... |
| 26ce0 | 3c 70 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 5f | <p.class="file">null_terminated_ |
| 26d00 | 73 6c 69 63 65 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | slice.zig</p><pre><code.class="z |
| 26d20 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | ig"><span.class="tok-kw">const</ |
| 26d40 | 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 |
| 26d60 | 6c 74 69 6e 22 3e 40 69 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 |
| 26d80 | 3d 22 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">"std"</span |
| 26da0 | 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | >);.<span.class="tok-kw">const</ |
| 26dc0 | 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b | span>.assert.=.std.debug.assert; |
| 26de0 | 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 | ..<span.class="tok-kw">test</spa |
| 26e00 | 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">"n |
| 26e20 | 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"</span |
| 26e40 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | >.{.....<span.class="tok-kw">con |
| 26e60 | 73 74 3c 2f 73 70 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 | st</span>.slice:.[:<span.class=" |
| 26e80 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 | tok-number">0</span>]<span.class |
| 26ea0 | 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 |
| 26ec0 | 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. |
| 26ee0 | 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">"hello" |
| 26f00 | 3b 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 61 73 73 65 72 74 28 73 6c 69 63 65 2e 6c 65 6e 20 | ;</span>;......assert(slice.len. |
| 26f20 | 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 |
| 26f40 | 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c | pan>);.....assert(slice[<span.cl |
| 26f60 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 | ass="tok-number">5</span>].==.<s |
| 26f80 | 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>) |
| 26fa0 | 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | ;.}</code></pre><pre><code.class |
| 26fc0 | 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 6e 75 6c 6c 5f 74 65 72 6d 69 6e 61 | ="shell">$.zig.test.null_termina |
| 26fe0 | 74 65 64 5f 73 6c 69 63 65 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 75 6c | ted_slice.zig.1/1.test."nul |
| 27000 | 6c 20 74 65 72 6d 69 6e 61 74 65 64 20 73 6c 69 63 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c | l.terminated.slice"...OK.Al |
| 27020 | 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a | l.1.tests.passed..</code></pre>. |
| 27040 | 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> |
| 27060 | 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 50 6f | <a.href="#Sentinel-Terminated-Po |
| 27080 | 69 6e 74 65 72 73 22 3e 53 65 6e 74 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 20 50 6f 69 6e | inters">Sentinel-Terminated.Poin |
| 270a0 | 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 53 65 6e 74 | ters</a></li>.<li><a.href="#Sent |
| 270c0 | 69 6e 65 6c 2d 54 65 72 6d 69 6e 61 74 65 64 2d 41 72 72 61 79 73 22 3e 53 65 6e 74 69 6e 65 6c | inel-Terminated-Arrays">Sentinel |
| 270e0 | 2d 54 65 72 6d 69 6e 61 74 65 64 20 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c | -Terminated.Arrays</a></li>.</ul |
| 27100 | 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 31 20 69 64 3d 22 | >.......................<h1.id=" |
| 27120 | 73 74 72 75 63 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 74 72 75 63 74 22 3e 73 74 | struct"><a.href="#toc-struct">st |
| 27140 | 72 75 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 | ruct</a>.<a.class="hdr".href="#s |
| 27160 | 74 72 75 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 | truct">..</a></h1>........<p.cla |
| 27180 | 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 63 74 73 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 | ss="file">structs.zig</p><pre><c |
| 271a0 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 271c0 | 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 20 73 74 72 75 63 74 2e 3c 2f | -comment">//.Declare.a.struct.</ |
| 271e0 | 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e | span>.<span.class="tok-comment"> |
| 27200 | 2f 2f 20 5a 69 67 20 67 69 76 65 73 20 6e 6f 20 67 75 61 72 61 6e 74 65 65 73 20 61 62 6f 75 74 | //.Zig.gives.no.guarantees.about |
| 27220 | 20 74 68 65 20 6f 72 64 65 72 20 6f 66 20 66 69 65 6c 64 73 20 61 6e 64 20 74 68 65 20 73 69 7a | .the.order.of.fields.and.the.siz |
| 27240 | 65 20 6f 66 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d | e.of</span>.<span.class="tok-com |
| 27260 | 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 66 69 65 6c | ment">//.the.struct.but.the.fiel |
| 27280 | 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 61 6c 69 67 | ds.are.guaranteed.to.be.ABI-alig |
| 272a0 | 6e 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | ned.</span>.<span.class="tok-kw" |
| 272c0 | 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | >const</span>.Point.=.<span.clas |
| 272e0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 78 | s="tok-kw">struct</span>.{.....x |
| 27300 | 3a 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 |
| 27320 | 61 6e 3e 2c 0a 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | an>,.....y:.<span.class="tok-typ |
| 27340 | 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | e">f32</span>,.};..<span.class=" |
| 27360 | 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 |
| 27380 | 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 |
| 273a0 | 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 0a 3c 73 70 61 | .be.particular.about</span>.<spa |
| 273c0 | 6e 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 20 74 68 65 | n.class="tok-comment">//.how.the |
| 273e0 | 20 62 79 74 65 73 20 61 72 65 20 61 72 72 61 6e 67 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 | .bytes.are.arranged.</span>.<spa |
| 27400 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 6f | n.class="tok-kw">const</span>.Po |
| 27420 | 69 6e 74 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b | int2.=.<span.class="tok-kw">pack |
| 27440 | 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 | ed</span>.<span.class="tok-kw">s |
| 27460 | 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | truct</span>.{.....x:.<span.clas |
| 27480 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 79 3a 20 | s="tok-type">f32</span>,.....y:. |
| 274a0 | 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 |
| 274c0 | 3e 2c 0a 7d 3b 0a 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 | >,.};...<span.class="tok-comment |
| 274e0 | 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 6e 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 61 20 73 74 | ">//.Declare.an.instance.of.a.st |
| 27500 | 72 75 63 74 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | ruct.</span>.<span.class="tok-kw |
| 27520 | 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 20 3d 20 50 6f 69 6e 74 20 7b 0a 20 20 20 20 2e | ">const</span>.p.=.Point.{...... |
| 27540 | 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 30 2e 31 | x.=.<span.class="tok-number">0.1 |
| 27560 | 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | 2</span>,......y.=.<span.class=" |
| 27580 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 33 34 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 | tok-number">0.34</span>,.};..<sp |
| 275a0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4d 61 79 62 65 20 | an.class="tok-comment">//.Maybe. |
| 275c0 | 77 65 27 72 65 20 6e 6f 74 20 72 65 61 64 79 20 74 6f 20 66 69 6c 6c 20 6f 75 74 20 73 6f 6d 65 | we're.not.ready.to.fill.out.some |
| 275e0 | 20 6f 66 20 74 68 65 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 | .of.the.fields.</span>.<span.cla |
| 27600 | 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 3d 20 50 6f 69 6e | ss="tok-kw">var</span>.p2.=.Poin |
| 27620 | 74 20 7b 0a 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 | t.{......x.=.<span.class="tok-nu |
| 27640 | 6d 62 65 72 22 3e 30 2e 31 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 | mber">0.12</span>,......y.=.<spa |
| 27660 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 | n.class="tok-null">undefined</sp |
| 27680 | 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e | an>,.};..<span.class="tok-commen |
| 276a0 | 74 22 3e 2f 2f 20 53 74 72 75 63 74 73 20 63 61 6e 20 68 61 76 65 20 6d 65 74 68 6f 64 73 3c 2f | t">//.Structs.can.have.methods</ |
| 276c0 | 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e | span>.<span.class="tok-comment"> |
| 276e0 | 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 69 61 | //.Struct.methods.are.not.specia |
| 27700 | 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 70 61 | l,.they.are.only.namespaced</spa |
| 27720 | 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 | n>.<span.class="tok-comment">//. |
| 27740 | 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 63 61 6c 6c 20 77 69 74 68 | functions.that.you.can.call.with |
| 27760 | 20 64 6f 74 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | .dot.syntax.</span>.<span.class= |
| 27780 | 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 56 65 63 33 20 3d 20 3c 73 70 | "tok-kw">const</span>.Vec3.=.<sp |
| 277a0 | 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>. |
| 277c0 | 7b 0a 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | {.....x:.<span.class="tok-type"> |
| 277e0 | 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | f32</span>,.....y:.<span.class=" |
| 27800 | 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7a 3a 20 3c 73 70 | tok-type">f32</span>,.....z:.<sp |
| 27820 | 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 0a | an.class="tok-type">f32</span>,. |
| 27840 | 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 | .....<span.class="tok-kw">pub</s |
| 27860 | 70 61 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 |
| 27880 | 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 6e 69 74 3c 2f 73 | an>.<span.class="tok-fn">init</s |
| 278a0 | 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 | pan>(x:.<span.class="tok-type">f |
| 278c0 | 33 32 3c 2f 73 70 61 6e 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | 32</span>,.y:.<span.class="tok-t |
| 278e0 | 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ype">f32</span>,.z:.<span.class= |
| 27900 | 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 56 65 63 33 20 7b 0a 20 20 | "tok-type">f32</span>).Vec3.{... |
| 27920 | 20 20 20 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 |
| 27940 | 6e 3c 2f 73 70 61 6e 3e 20 56 65 63 33 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 78 20 3d | n</span>.Vec3.{..............x.= |
| 27960 | 20 78 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 79 20 3d 20 79 2c 0a 20 20 20 20 20 20 20 20 | .x,..............y.=.y,......... |
| 27980 | 20 20 20 20 2e 7a 20 3d 20 7a 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 7d 0a 0a 20 20 | .....z.=.z,.........};.....}.... |
| 279a0 | 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 |
| 279c0 | 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> |
| 279e0 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 74 3c 2f 73 70 61 6e 3e | .<span.class="tok-fn">dot</span> |
| 27a00 | 28 73 65 6c 66 3a 20 56 65 63 33 2c 20 6f 74 68 65 72 3a 20 56 65 63 33 29 20 3c 73 70 61 6e 20 | (self:.Vec3,.other:.Vec3).<span. |
| 27a20 | 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 7b 0a 20 20 | class="tok-type">f32</span>.{... |
| 27a40 | 20 20 20 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 |
| 27a60 | 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 6c 66 | n</span>.self.x.*.other.x.+.self |
| 27a80 | 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 7a 3b | .y.*.other.y.+.self.z.*.other.z; |
| 27aa0 | 0a 20 20 20 20 7d 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | .....}.};..<span.class="tok-kw"> |
| 27ac0 | 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 |
| 27ae0 | 73 3d 22 74 6f 6b 2d 62 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>(< |
| 27b00 | 73 70 61 6e 20 63 6c 61 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">"std&q |
| 27b20 | 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 0a 3c 73 70 61 6e | uot;</span>).debug.assert;.<span |
| 27b40 | 20 63 6c 61 73 73 3d 22 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 |
| 27b60 | 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 74 20 70 72 6f 64 | n.class="tok-str">"dot.prod |
| 27b80 | 75 63 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | uct"</span>.{.....<span.cla |
| 27ba0 | 73 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 |
| 27bc0 | 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" |
| 27be0 | 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 |
| 27c00 | 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 |
| 27c20 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 | ok-number">0.0</span>);.....<spa |
| 27c40 | 6e 20 63 6c 61 73 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 | n.class="tok-kw">const</span>.v2 |
| 27c60 | 20 3d 20 56 65 63 33 2e 69 6e 69 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | .=.Vec3.init(<span.class="tok-nu |
| 27c80 | 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 |
| 27ca0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 | ok-number">1.0</span>,.<span.cla |
| 27cc0 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 | ss="tok-number">0.0</span>);.... |
| 27ce0 | 20 61 73 73 65 72 74 28 76 31 2e 64 6f 74 28 76 32 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | .assert(v1.dot(v2).==.<span.clas |
| 27d00 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 | s="tok-number">0.0</span>);..... |
| 27d20 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 74 | .<span.class="tok-comment">//.Ot |
| 27d40 | 68 65 72 20 74 68 61 6e 20 62 65 69 6e 67 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 63 61 6c 6c | her.than.being.available.to.call |
| 27d60 | 20 77 69 74 68 20 64 6f 74 20 73 79 6e 74 61 78 2c 20 73 74 72 75 63 74 20 6d 65 74 68 6f 64 73 | .with.dot.syntax,.struct.methods |
| 27d80 | 20 61 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | .are</span>.....<span.class="tok |
| 27da0 | 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 63 61 | -comment">//.not.special..You.ca |
| 27dc0 | 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 64 65 | n.reference.them.as.any.other.de |
| 27de0 | 63 6c 61 72 61 74 69 6f 6e 20 69 6e 73 69 64 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 | claration.inside</span>.....<spa |
| 27e00 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 73 74 72 | n.class="tok-comment">//.the.str |
| 27e20 | 75 63 74 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 73 73 65 72 74 28 56 65 63 33 2e 64 6f 74 28 | uct:</span>.....assert(Vec3.dot( |
| 27e40 | 76 31 2c 20 76 32 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | v1,.v2).==.<span.class="tok-numb |
| 27e60 | 65 72 22 3e 30 2e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | er">0.0</span>);.}..<span.class= |
| 27e80 | 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 76 | "tok-comment">//.Structs.can.hav |
| 27ea0 | 65 20 67 6c 6f 62 61 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 | e.global.declarations.</span>.<s |
| 27ec0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 74 72 75 63 | pan.class="tok-comment">//.Struc |
| 27ee0 | 74 73 20 63 61 6e 20 68 61 76 65 20 30 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 | ts.can.have.0.fields.</span>.<sp |
| 27f00 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 | an.class="tok-kw">const</span>.E |
| 27f20 | 6d 70 74 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 | mpty.=.<span.class="tok-kw">stru |
| 27f40 | 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ct</span>.{.....<span.class="tok |
| 27f60 | 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 |
| 27f80 | 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 50 49 20 3d 20 3c 73 70 61 6e 20 63 6c 61 | -kw">const</span>.PI.=.<span.cla |
| 27fa0 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 3b 0a | ss="tok-number">3.14</span>;.};. |
| 27fc0 | 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> |
| 27fe0 | 20 3c 73 70 61 6e 20 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">"str |
| 28000 | 75 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 | uct.namespaced.variable"</s |
| 28020 | 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 45 6d 70 74 79 2e 50 49 20 3d 3d 20 3c 73 | pan>.{.....assert(Empty.PI.==.<s |
| 28040 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 70 61 | pan.class="tok-number">3.14</spa |
| 28060 | 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | n>);.....assert(<span.class="tok |
| 28080 | 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 45 6d 70 74 79 29 20 | -builtin">@sizeOf</span>(Empty). |
| 280a0 | 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 73 | ==.<span.class="tok-number">0</s |
| 280c0 | 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d | pan>);......<span.class="tok-com |
| 280e0 | 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 73 74 61 6e 74 69 61 | ment">//.you.can.still.instantia |
| 28100 | 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 0a 20 20 20 20 3c 73 | te.an.empty.struct</span>.....<s |
| 28120 | 70 61 6e 20 63 6c 61 73 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>. |
| 28140 | 64 6f 65 73 5f 6e 6f 74 68 69 6e 67 20 3d 20 45 6d 70 74 79 20 7b 7d 3b 0a 7d 0a 0a 3c 73 70 61 | does_nothing.=.Empty.{};.}..<spa |
| 28160 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 74 72 75 63 74 20 | n.class="tok-comment">//.struct. |
| 28180 | 66 69 65 6c 64 20 6f 72 64 65 72 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 | field.order.is.determined.by.the |
| 281a0 | 20 63 6f 6d 70 69 6c 65 72 20 66 6f 72 20 6f 70 74 69 6d 61 6c 20 70 65 72 66 6f 72 6d 61 6e 63 | .compiler.for.optimal.performanc |
| 281c0 | 65 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 | e.</span>.<span.class="tok-comme |
| 281e0 | 6e 74 22 3e 2f 2f 20 68 6f 77 65 76 65 72 2c 20 79 6f 75 20 63 61 6e 20 73 74 69 6c 6c 20 63 61 | nt">//.however,.you.can.still.ca |
| 28200 | 6c 63 75 6c 61 74 65 20 61 20 73 74 72 75 63 74 20 62 61 73 65 20 70 6f 69 6e 74 65 72 20 67 69 | lculate.a.struct.base.pointer.gi |
| 28220 | 76 65 6e 20 61 20 66 69 65 6c 64 20 70 6f 69 6e 74 65 72 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 | ven.a.field.pointer:</span>.<spa |
| 28240 | 6e 20 63 6c 61 73 73 3d 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 |
| 28260 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 65 74 59 42 61 73 65 64 4f 6e 58 3c 2f 73 70 | .class="tok-fn">setYBasedOnX</sp |
| 28280 | 61 6e 3e 28 78 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 | an>(x:.*<span.class="tok-type">f |
| 282a0 | 33 32 3c 2f 73 70 61 6e 3e 2c 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | 32</span>,.y:.<span.class="tok-t |
| 282c0 | 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ype">f32</span>).<span.class="to |
| 282e0 | 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 | k-type">void</span>.{.....<span. |
| 28300 | 63 6c 61 73 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 69 6e | class="tok-kw">const</span>.poin |
| 28320 | 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 66 | t.=.<span.class="tok-builtin">@f |
| 28340 | 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f 73 70 61 6e 3e 28 50 6f 69 6e 74 2c 20 3c 73 70 61 | ieldParentPtr</span>(Point,.<spa |
| 28360 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 75 6f 74 3b 3c | n.class="tok-str">"x"< |
| 28380 | 2f 73 70 61 6e 3e 2c 20 78 29 3b 0a 20 20 20 20 70 6f 69 6e 74 2e 79 20 3d 20 79 3b 0a 7d 0a 3c | /span>,.x);.....point.y.=.y;.}.< |
| 283a0 | 73 70 61 6e 20 63 6c 61 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>. |
| 283c0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 65 6c | <span.class="tok-str">"fiel |
| 283e0 | 64 20 70 61 72 65 6e 74 20 70 6f 69 6e 74 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a | d.parent.pointer"</span>.{. |
| 28400 | 20 20 20 20 3c 73 70 61 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 |
| 28420 | 61 6e 3e 20 70 6f 69 6e 74 20 3d 20 50 6f 69 6e 74 20 7b 0a 20 20 20 20 20 20 20 20 2e 78 20 3d | an>.point.=.Point.{..........x.= |
| 28440 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 31 32 33 34 | .<span.class="tok-number">0.1234 |
| 28460 | 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | </span>,..........y.=.<span.clas |
| 28480 | 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 2c 0a 20 20 | s="tok-number">0.5678</span>,... |
| 284a0 | 20 20 7d 3b 0a 20 20 20 20 73 65 74 59 42 61 73 65 64 4f 6e 58 28 26 61 6d 70 3b 70 6f 69 6e 74 | ..};.....setYBasedOnX(&point |
| 284c0 | 2e 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 39 | .x,.<span.class="tok-number">0.9 |
| 284e0 | 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 70 6f 69 6e 74 2e 79 20 3d 3d 20 | </span>);.....assert(point.y.==. |
| 28500 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 2e 39 3c 2f 73 70 | <span.class="tok-number">0.9</sp |
| 28520 | 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e | an>);.}..<span.class="tok-commen |
| 28540 | 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 |
| 28560 | 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 |
| 28580 | 20 67 65 6e 65 72 69 63 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | .generics</span>.<span.class="to |
| 285a0 | 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 20 5a 69 67 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 | k-comment">//.in.Zig:</span>.<sp |
| 285c0 | 61 6e 20 63 6c 61 73 73 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 |
| 285e0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 6e 6b 65 64 4c 69 73 74 3c 2f 73 70 61 | n.class="tok-fn">LinkedList</spa |
| 28600 | 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 |
| 28620 | 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 |
| 28640 | 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ">type</span>).<span.class="tok- |
| 28660 | 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | type">type</span>.{.....<span.cl |
| 28680 | 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 |
| 286a0 | 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 0a | .class="tok-kw">struct</span>.{. |
| 286c0 | 20 20 20 20 20 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 | ........<span.class="tok-kw">pub |
| 286e0 | 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | </span>.<span.class="tok-kw">con |
| 28700 | 73 74 3c 2f 73 70 61 6e 3e 20 4e 6f 64 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | st</span>.Node.=.<span.class="to |
| 28720 | 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 | k-kw">struct</span>.{........... |
| 28740 | 20 20 70 72 65 76 3a 20 3f 2a 4e 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 78 74 | ..prev:.?*Node,.............next |
| 28760 | 3a 20 3f 2a 4e 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 61 74 61 3a 20 54 2c 0a 20 | :.?*Node,.............data:.T,.. |
| 28780 | 20 20 20 20 20 20 20 7d 3b 0a 0a 20 20 20 20 20 20 20 20 66 69 72 73 74 3a 20 3f 2a 4e 6f 64 65 | .......};..........first:.?*Node |
| 287a0 | 2c 0a 20 20 20 20 20 20 20 20 6c 61 73 74 3a 20 20 3f 2a 4e 6f 64 65 2c 0a 20 20 20 20 20 20 20 | ,.........last:..?*Node,........ |
| 287c0 | 20 6c 65 6e 3a 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 | .len:...<span.class="tok-type">u |
| 287e0 | 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 | size</span>,.....};.}..<span.cla |
| 28800 | 73 73 3d 22 74 6f 6b 2d 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 |
| 28820 | 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">"linked.list& |
| 28840 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | quot;</span>.{.....<span.class=" |
| 28860 | 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 75 6e 63 74 69 6f 6e 73 20 63 61 6c 6c 65 64 | tok-comment">//.Functions.called |
| 28880 | 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 61 72 65 20 6d 65 6d 6f 69 7a 65 64 2e 20 54 | .at.compile-time.are.memoized..T |
| 288a0 | 68 69 73 20 6d 65 61 6e 73 20 79 6f 75 20 63 61 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 | his.means.you.can</span>.....<sp |
| 288c0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 20 74 68 69 | an.class="tok-comment">//.do.thi |
| 288e0 | 73 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 73 73 65 72 74 28 4c 69 6e 6b 65 64 4c 69 73 74 28 | s:</span>.....assert(LinkedList( |
| 28900 | 3c 73 70 61 6e 20 63 6c 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 |
| 28920 | 3e 29 20 3d 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | >).==.LinkedList(<span.class="to |
| 28940 | 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e | k-type">i32</span>));......<span |
| 28960 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 20 | .class="tok-kw">var</span>.list. |
| 28980 | 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 74 79 | =.LinkedList(<span.class="tok-ty |
| 289a0 | 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 2e 66 69 72 73 74 | pe">i32</span>).{..........first |
| 289c0 | 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</ |
| 289e0 | 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 6c 61 73 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 | span>,..........last.=.<span.cla |
| 28a00 | 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 0a 20 20 20 20 20 | ss="tok-null">null</span>,...... |
| 28a20 | 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | ....len.=.<span.class="tok-numbe |
| 28a40 | 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 61 73 73 65 72 74 28 6c | r">0</span>,.....};.....assert(l |
| 28a60 | 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 6e 75 6d 62 | ist.len.==.<span.class="tok-numb |
| 28a80 | 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | er">0</span>);......<span.class= |
| 28aa0 | 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 69 6e 63 65 20 74 79 70 65 73 20 61 72 65 | "tok-comment">//.Since.types.are |
| 28ac0 | 20 66 69 72 73 74 20 63 6c 61 73 73 20 76 61 6c 75 65 73 20 79 6f 75 20 63 61 6e 20 69 6e 73 74 | .first.class.values.you.can.inst |
| 28ae0 | 61 6e 74 69 61 74 65 20 74 68 65 20 74 79 70 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 | antiate.the.type</span>.....<spa |
| 28b00 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 79 20 61 73 73 69 | n.class="tok-comment">//.by.assi |
| 28b20 | 67 6e 69 6e 67 20 69 74 20 74 6f 20 61 20 76 61 72 69 61 62 6c 65 3a 3c 2f 73 70 61 6e 3e 0a 20 | gning.it.to.a.variable:</span>.. |
| 28b40 | 20 20 20 3c 73 70 61 6e 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 |
| 28b60 | 70 61 6e 3e 20 4c 69 73 74 4f 66 49 6e 74 73 20 3d 20 4c 69 6e 6b 65 64 4c 69 73 74 28 3c 73 70 | pan>.ListOfInts.=.LinkedList(<sp |
| 28b80 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b | an.class="tok-type">i32</span>); |
| 28ba0 | 0a 20 20 20 20 61 73 73 65 72 74 28 4c 69 73 74 4f 66 49 6e 74 73 20 3d 3d 20 4c 69 6e 6b 65 64 | .....assert(ListOfInts.==.Linked |
| 28bc0 | 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c | List(<span.class="tok-type">i32< |
| 28be0 | 2f 73 70 61 6e 3e 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | /span>));......<span.class="tok- |
| 28c00 | 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 6f 64 65 20 3d 20 4c 69 73 74 4f 66 49 6e 74 73 | kw">var</span>.node.=.ListOfInts |
| 28c20 | 2e 4e 6f 64 65 20 7b 0a 20 20 20 20 20 20 20 20 2e 70 72 65 76 20 3d 20 3c 73 70 61 6e 20 63 6c | .Node.{..........prev.=.<span.cl |
| 28c40 | 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 0a 20 20 20 20 | ass="tok-null">null</span>,..... |
| 28c60 | 20 20 20 20 2e 6e 65 78 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c | .....next.=.<span.class="tok-nul |
| 28c80 | 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 64 61 74 61 20 3d 20 | l">null</span>,..........data.=. |
| 28ca0 | 3c 73 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 |
| 28cc0 | 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | pan>,.....};.....<span.class="to |
| 28ce0 | 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6c 69 73 74 32 20 3d 20 4c 69 6e 6b 65 64 4c | k-kw">var</span>.list2.=.LinkedL |
| 28d00 | 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f | ist(<span.class="tok-type">i32</ |
| 28d20 | 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 2e 66 69 72 73 74 20 3d 20 26 61 6d 70 3b 6e | span>).{..........first.=.&n |
| 28d40 | 6f 64 65 2c 0a 20 20 20 20 20 20 20 20 2e 6c 61 73 74 20 3d 20 26 61 6d 70 3b 6e 6f 64 65 2c 0a | ode,..........last.=.&node,. |
| 28d60 | 20 20 20 20 20 20 20 20 2e 6c 65 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | .........len.=.<span.class="tok- |
| 28d80 | 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 61 73 73 | number">1</span>,.....};.....ass |
| 28da0 | 65 72 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 | ert(list2.first.?.data.==.<span. |
| 28dc0 | 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 3b | class="tok-number">1234</span>); |
| 28de0 | 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | .}</code></pre><pre><code.class= |
| 28e00 | 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 73 74 72 75 63 74 73 2e 7a 69 67 0a 31 | "shell">$.zig.test.structs.zig.1 |
| 28e20 | 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 2e | /4.test."dot.product". |
| 28e40 | 2e 2e 4f 4b 0a 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 | ..OK.2/4.test."struct.names |
| 28e60 | 70 61 63 65 64 20 76 61 72 69 61 62 6c 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 33 2f 34 20 74 65 | paced.variable"...OK.3/4.te |
| 28e80 | 73 74 20 26 71 75 6f 74 3b 66 69 65 6c 64 20 70 61 72 65 6e 74 20 70 6f 69 6e 74 65 72 26 71 75 | st."field.parent.pointer&qu |
| 28ea0 | 6f 74 3b 2e 2e 2e 4f 4b 0a 34 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b 6c 69 6e 6b 65 64 20 6c | ot;...OK.4/4.test."linked.l |
| 28ec0 | 69 73 74 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 34 20 74 65 73 74 73 20 70 61 73 73 65 | ist"...OK.All.4.tests.passe |
| 28ee0 | 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d | d..</code></pre>.........<h2.id= |
| 28f00 | 22 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 | "Default-Field-Values"><a.href=" |
| 28f20 | 23 74 6f 63 2d 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e 44 65 66 61 75 | #toc-Default-Field-Values">Defau |
| 28f40 | 6c 74 20 46 69 65 6c 64 20 56 61 6c 75 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 | lt.Field.Values</a>.<a.class="hd |
| 28f60 | 72 22 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 46 69 65 6c 64 2d 56 61 6c 75 65 73 22 3e | r".href="#Default-Field-Values"> |
| 28f80 | 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 45 61 63 | ..</a></h2>........<p>.......Eac |
| 28fa0 | 68 20 73 74 72 75 63 74 20 66 69 65 6c 64 20 6d 61 79 20 68 61 76 65 20 61 6e 20 65 78 70 72 65 | h.struct.field.may.have.an.expre |
| 28fc0 | 73 73 69 6f 6e 20 69 6e 64 69 63 61 74 69 6e 67 20 74 68 65 20 64 65 66 61 75 6c 74 20 66 69 65 | ssion.indicating.the.default.fie |
| 28fe0 | 6c 64 20 76 61 6c 75 65 2e 20 53 75 63 68 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 20 20 20 20 20 | ld.value..Such.expressions...... |
| 29000 | 20 61 72 65 20 65 78 65 63 75 74 65 64 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 | .are.executed.at.<a.href="#compt |
| 29020 | 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 20 61 6e 64 20 61 6c 6c 6f 77 20 74 68 65 | ime">comptime</a>,.and.allow.the |
| 29040 | 20 66 69 65 6c 64 20 74 6f 20 62 65 20 6f 6d 69 74 74 65 64 20 69 6e 20 61 20 73 74 72 75 63 74 | .field.to.be.omitted.in.a.struct |
| 29060 | 20 6c 69 74 65 72 61 6c 20 65 78 70 72 65 73 73 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | .literal.expression:.......</p>. |
| 29080 | 20 20 20 20 20 20 3c 70 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.class="file">test.zig</ |
| 290a0 | 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | p><pre><code.class="zig"><span.c |
| 290c0 | 6c 61 73 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 | lass="tok-kw">const</span>.Foo.= |
| 290e0 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 | .<span.class="tok-kw">struct</sp |
| 29100 | 61 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | an>.{.....a:.<span.class="tok-ty |
| 29120 | 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 |
| 29140 | 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 | k-number">1234</span>,.....b:.<s |
| 29160 | 70 61 6e 20 63 6c 61 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>, |
| 29180 | 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f | .};..<span.class="tok-kw">test</ |
| 291a0 | 73 70 61 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 |
| 291c0 | 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 6f 6e 20 | t;default.struct.initialization. |
| 291e0 | 66 69 65 6c 64 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 | fields"</span>.{.....<span. |
| 29200 | 63 6c 61 73 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 | class="tok-kw">const</span>.x.=. |
| 29220 | 46 6f 6f 7b 0a 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 | Foo{..........b.=.<span.class="t |
| 29240 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 | ok-number">5</span>,.....};..... |
| 29260 | 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>.( |
| 29280 | 78 2e 61 20 2b 20 78 2e 62 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | x.a.+.x.b.!=.<span.class="tok-nu |
| 292a0 | 6d 62 65 72 22 3e 31 32 33 39 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 | mber">1239</span>).{.........<sp |
| 292c0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 | an.class="tok-builtin">@compileE |
| 292e0 | 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 | rror</span>(<span.class="tok-str |
| 29300 | 22 3e 26 71 75 6f 74 3b 69 74 27 73 20 65 76 65 6e 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e | ">"it's.even.comptime.known |
| 29320 | 21 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c | !"</span>);.....}.}</code>< |
| 29340 | 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 | /pre><pre><code.class="shell">$. |
| 29360 | 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 | zig.test.test.zig.1/1.test." |
| 29380 | 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 6f 6e 20 66 | ;default.struct.initialization.f |
| 293a0 | 69 65 6c 64 73 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 | ields"...OK.All.1.tests.pas |
| 293c0 | 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 | sed..</code></pre>.............. |
| 293e0 | 20 20 3c 68 32 20 69 64 3d 22 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 3e 3c 61 20 68 72 65 66 | ..<h2.id="extern-struct"><a.href |
| 29400 | 3d 22 23 74 6f 63 2d 65 78 74 65 72 6e 2d 73 74 72 75 63 74 22 3e 65 78 74 65 72 6e 20 73 74 72 | ="#toc-extern-struct">extern.str |
| 29420 | 75 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 | uct</a>.<a.class="hdr".href="#ex |
| 29440 | 74 65 72 6e 2d 73 74 72 75 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 | tern-struct">..</a></h2>........ |
| 29460 | 3c 70 3e 41 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | <p>An.<code.class="zig"><span.cl |
| 29480 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e | ass="tok-kw">extern</span>.<span |
| 294a0 | 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 63 | .class="tok-kw">struct</span></c |
| 294c0 | 6f 64 65 3e 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 | ode>.has.in-memory.layout.guaran |
| 294e0 | 74 65 65 64 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 | teed.to.match.the.......C.ABI.fo |
| 29500 | 72 20 74 68 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 | r.the.target.</p>.......<p>This. |
| 29520 | 6b 69 6e 64 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 | kind.of.struct.should.only.be.us |
| 29540 | 65 64 20 66 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 | ed.for.compatibility.with.the.C. |
| 29560 | 41 42 49 2e 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 | ABI..Every.other.......use.case. |
| 29580 | 73 68 6f 75 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 | should.be.solved.with.<a.href="# |
| 295a0 | 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> |
| 295c0 | 20 6f 72 20 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 | .or.normal.<a.href="#struct">str |
| 295e0 | 75 63 74 3c 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 | uct</a>.</p>.......<p>See.also:< |
| 29600 | 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 | /p><ul>.<li><a.href="#extern-uni |
| 29620 | 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 | on">extern.union</a></li>.<li><a |
| 29640 | 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 65 78 74 65 72 6e 20 65 6e 75 6d | .href="#extern-enum">extern.enum |
| 29660 | 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c | </a></li>.</ul>................< |
| 29680 | 68 32 20 69 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 | h2.id="packed-struct"><a.href="# |
| 296a0 | 74 6f 63 2d 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 | toc-packed-struct">packed.struct |
| 296c0 | 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 61 63 6b 65 | </a>.<a.class="hdr".href="#packe |
| 296e0 | 64 2d 73 74 72 75 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e | d-struct">..</a></h2>........<p> |
| 29700 | 0a 20 20 20 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 | .......Unlike.normal.structs,.<c |
| 29720 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 29740 | 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 | -kw">packed</span></code>.struct |
| 29760 | 73 20 68 61 76 65 20 67 75 61 72 61 6e 74 65 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f | s.have.guaranteed.in-memory.layo |
| 29780 | 75 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 | ut:.......</p>.......<ul>....... |
| 297a0 | 20 20 3c 6c 69 3e 46 69 65 6c 64 73 20 72 65 6d 61 69 6e 20 69 6e 20 74 68 65 20 6f 72 64 65 72 | ..<li>Fields.remain.in.the.order |
| 297c0 | 20 64 65 63 6c 61 72 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 72 | .declared.</li>.........<li>Ther |
| 297e0 | 65 20 69 73 20 6e 6f 20 70 61 64 64 69 6e 67 20 62 65 74 77 65 65 6e 20 66 69 65 6c 64 73 2e 3c | e.is.no.padding.between.fields.< |
| 29800 | 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 5a 69 67 20 73 75 70 70 6f 72 74 73 20 61 72 | /li>.........<li>Zig.supports.ar |
| 29820 | 62 69 74 72 61 72 79 20 77 69 64 74 68 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 | bitrary.width.<a.href="#Integers |
| 29840 | 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 61 6e 64 20 61 6c 74 68 6f 75 67 68 20 6e 6f 72 6d | ">Integers</a>.and.although.norm |
| 29860 | 61 6c 6c 79 2c 20 69 6e 74 65 67 65 72 73 20 77 69 74 68 20 66 65 77 65 72 0a 20 20 20 20 20 20 | ally,.integers.with.fewer....... |
| 29880 | 20 20 74 68 61 6e 20 38 20 62 69 74 73 20 77 69 6c 6c 20 73 74 69 6c 6c 20 75 73 65 20 31 20 62 | ..than.8.bits.will.still.use.1.b |
| 298a0 | 79 74 65 20 6f 66 20 6d 65 6d 6f 72 79 2c 20 69 6e 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 | yte.of.memory,.in.packed.structs |
| 298c0 | 2c 20 74 68 65 79 20 75 73 65 0a 20 20 20 20 20 20 20 20 65 78 61 63 74 6c 79 20 74 68 65 69 72 | ,.they.use.........exactly.their |
| 298e0 | 20 62 69 74 20 77 69 64 74 68 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 | .bit.width..........</li>....... |
| 29900 | 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ..<li><code.class="zig"><span.cl |
| 29920 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 | ass="tok-type">bool</span></code |
| 29940 | 3e 20 66 69 65 6c 64 73 20 75 73 65 20 65 78 61 63 74 6c 79 20 31 20 62 69 74 2e 3c 2f 6c 69 3e | >.fields.use.exactly.1.bit.</li> |
| 29960 | 0a 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 | .........<li>A.<a.href="#packed- |
| 29980 | 65 6e 75 6d 22 3e 70 61 63 6b 65 64 20 65 6e 75 6d 3c 2f 61 3e 20 66 69 65 6c 64 20 75 73 65 73 | enum">packed.enum</a>.field.uses |
| 299a0 | 20 65 78 61 63 74 6c 79 20 74 68 65 20 62 69 74 20 77 69 64 74 68 20 6f 66 20 69 74 73 20 69 6e | .exactly.the.bit.width.of.its.in |
| 299c0 | 74 65 67 65 72 20 74 61 67 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 | teger.tag.type.</li>.........<li |
| 299e0 | 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e 70 61 63 6b 65 | >A.<a.href="#packed-union">packe |
| 29a00 | 64 20 75 6e 69 6f 6e 3c 2f 61 3e 20 66 69 65 6c 64 20 75 73 65 73 20 65 78 61 63 74 6c 79 20 74 | d.union</a>.field.uses.exactly.t |
| 29a20 | 68 65 20 62 69 74 20 77 69 64 74 68 20 6f 66 20 74 68 65 20 75 6e 69 6f 6e 20 66 69 65 6c 64 20 | he.bit.width.of.the.union.field. |
| 29a40 | 77 69 74 68 0a 20 20 20 20 20 20 20 20 74 68 65 20 6c 61 72 67 65 73 74 20 62 69 74 20 77 69 64 | with.........the.largest.bit.wid |
| 29a60 | 74 68 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4e 6f 6e 2d 41 42 49 2d 61 6c 69 | th.</li>.........<li>Non-ABI-ali |
| 29a80 | 67 6e 65 64 20 66 69 65 6c 64 73 20 61 72 65 20 70 61 63 6b 65 64 20 69 6e 74 6f 20 74 68 65 20 | gned.fields.are.packed.into.the. |
| 29aa0 | 73 6d 61 6c 6c 65 73 74 20 70 6f 73 73 69 62 6c 65 0a 20 20 20 20 20 20 20 20 41 42 49 2d 61 6c | smallest.possible.........ABI-al |
| 29ac0 | 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 69 6e 20 61 63 63 6f 72 64 61 6e 63 65 20 77 69 74 | igned.integers.in.accordance.wit |
| 29ae0 | 68 20 74 68 65 20 74 61 72 67 65 74 20 65 6e 64 69 61 6e 6e 65 73 73 2e 0a 20 20 20 20 20 20 20 | h.the.target.endianness......... |
| 29b00 | 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 | .</li>.......</ul>.......<p>.... |
| 29b20 | 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 | ...This.means.that.a.<code.class |
| 29b40 | 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b | ="zig"><span.class="tok-kw">pack |
| 29b60 | 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 | ed</span>.<span.class="tok-kw">s |
| 29b80 | 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 70 61 72 74 69 63 69 70 | truct</span></code>.can.particip |
| 29ba0 | 61 74 65 0a 20 20 20 20 20 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 62 69 74 43 61 73 74 | ate.......in.a.<a.href="#bitCast |
| 29bc0 | 22 3e 40 62 69 74 43 61 73 74 3c 2f 61 3e 20 6f 72 20 61 20 3c 61 20 68 72 65 66 3d 22 23 70 74 | ">@bitCast</a>.or.a.<a.href="#pt |
| 29be0 | 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 20 74 6f 20 72 65 69 6e 74 65 72 70 72 | rCast">@ptrCast</a>.to.reinterpr |
| 29c00 | 65 74 20 6d 65 6d 6f 72 79 2e 0a 20 20 20 20 20 20 54 68 69 73 20 65 76 65 6e 20 77 6f 72 6b 73 | et.memory........This.even.works |
| 29c20 | 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 | .at.<a.href="#comptime">comptime |
| 29c40 | 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d | </a>:.......</p>.......<p.class= |
| 29c60 | 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | "file">test.zig</p><pre><code.cl |
| 29c80 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | ass="zig"><span.class="tok-kw">c |
| 29ca0 | 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 |
| 29cc0 | 6f 6b 2d 62 75 69 6c 74 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 |
| 29ce0 | 20 63 6c 61 73 73 3d 22 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">"std" |
| 29d00 | 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | </span>);.<span.class="tok-kw">c |
| 29d20 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 73 74 64 2e 62 75 69 6c 74 69 | onst</span>.builtin.=.std.builti |
| 29d40 | 6e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 | n;.<span.class="tok-kw">const</s |
| 29d60 | 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a | pan>.assert.=.std.debug.assert;. |
| 29d80 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 | .<span.class="tok-kw">const</spa |
| 29da0 | 6e 3e 20 46 75 6c 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 | n>.Full.=.<span.class="tok-kw">p |
| 29dc0 | 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | acked</span>.<span.class="tok-kw |
| 29de0 | 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6e 75 6d 62 65 72 3a 20 3c 73 | ">struct</span>.{.....number:.<s |
| 29e00 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 2c | pan.class="tok-type">u16</span>, |
| 29e20 | 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | .};.<span.class="tok-kw">const</ |
| 29e40 | 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 73 73 3d 22 74 6f 6b | span>.Divided.=.<span.class="tok |
| 29e60 | 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | -kw">packed</span>.<span.class=" |
| 29e80 | 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 68 61 6c 66 | tok-kw">struct</span>.{.....half |
| 29ea0 | 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 70 | 1:.<span.class="tok-type">u8</sp |
| 29ec0 | 61 6e 3e 2c 0a 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 | an>,.....quarter3:.<span.class=" |
| 29ee0 | 74 6f 6b 2d 74 79 70 65 22 3e 75 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 71 75 61 72 74 65 72 | tok-type">u4</span>,.....quarter |
| 29f00 | 34 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 34 3c 2f 73 70 | 4:.<span.class="tok-type">u4</sp |
| 29f20 | 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 | an>,.};..<span.class="tok-kw">te |
| 29f40 | 73 74 3c 2f 73 70 61 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"> |
| 29f60 | 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 20 73 74 | "@bitCast.between.packed.st |
| 29f80 | 72 75 63 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 64 6f 54 68 65 54 65 | ructs"</span>.{.....doTheTe |
| 29fa0 | 73 74 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | st();.....<span.class="tok-kw">c |
| 29fc0 | 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 64 6f 54 68 65 54 65 73 74 28 29 3b 0a 7d 0a 0a 3c | omptime</span>.doTheTest();.}..< |
| 29fe0 | 73 70 61 6e 20 63 6c 61 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 |
| 2a000 | 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 74 3c 2f 73 70 | pan.class="tok-fn">doTheTest</sp |
| 2a020 | 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 |
| 2a040 | 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 | d</span>.{.....assert(<span.clas |
| 2a060 | 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 |
| 2a080 | 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" |
| 2a0a0 | 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 | >2</span>);.....assert(<span.cla |
| 2a0c0 | 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 | ss="tok-builtin">@sizeOf</span>( |
| 2a0e0 | 44 69 76 69 64 65 64 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d | Divided).==.<span.class="tok-num |
| 2a100 | 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ber">2</span>);.....<span.class= |
| 2a120 | 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 75 6c 6c 20 3d 20 46 75 6c 6c 7b | "tok-kw">var</span>.full.=.Full{ |
| 2a140 | 20 2e 6e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | ..number.=.<span.class="tok-numb |
| 2a160 | 65 72 22 3e 30 78 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | er">0x1234</span>.};.....<span.c |
| 2a180 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 69 76 69 64 65 64 | lass="tok-kw">var</span>.divided |
| 2a1a0 | 20 3d 20 3c 73 70 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 | .=.<span.class="tok-builtin">@bi |
| 2a1c0 | 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 44 69 76 69 64 65 64 2c 20 66 75 6c 6c 29 3b 0a 20 20 20 | tCast</span>(Divided,.full);.... |
| 2a1e0 | 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 |
| 2a200 | 61 6e 3e 20 28 62 75 69 6c 74 69 6e 2e 65 6e 64 69 61 6e 29 20 7b 0a 20 20 20 20 20 20 20 20 2e | an>.(builtin.endian).{.......... |
| 2a220 | 42 69 67 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 64 | Big.=>.{.............assert(d |
| 2a240 | 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 3d 22 74 6f 6b | ivided.half1.==.<span.class="tok |
| 2a260 | 2d 6e 75 6d 62 65 72 22 3e 30 78 31 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 20 | -number">0x12</span>);.......... |
| 2a280 | 20 20 20 61 73 73 65 72 74 28 64 69 76 69 64 65 64 2e 71 75 61 72 74 65 72 33 20 3d 3d 20 3c 73 | ...assert(divided.quarter3.==.<s |
| 2a2a0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 33 3c 2f 73 70 61 6e | pan.class="tok-number">0x3</span |
| 2a2c0 | 3e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 64 69 76 69 64 65 64 2e 71 | >);.............assert(divided.q |
| 2a2e0 | 75 61 72 74 65 72 34 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | uarter4.==.<span.class="tok-numb |
| 2a300 | 65 72 22 3e 30 78 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 | er">0x4</span>);.........},..... |
| 2a320 | 20 20 20 20 2e 4c 69 74 74 6c 65 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .....Little.=>.{............. |
| 2a340 | 61 73 73 65 72 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 | assert(divided.half1.==.<span.cl |
| 2a360 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 | ass="tok-number">0x34</span>);.. |
| 2a380 | 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 64 69 76 69 64 65 64 2e 71 75 61 72 74 65 | ...........assert(divided.quarte |
| 2a3a0 | 72 33 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 | r3.==.<span.class="tok-number">0 |
| 2a3c0 | 78 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 64 | x2</span>);.............assert(d |
| 2a3e0 | 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 63 6c 61 73 73 3d 22 | ivided.quarter4.==.<span.class=" |
| 2a400 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 | tok-number">0x1</span>);........ |
| 2a420 | 20 7d 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f | .},.....}.}</code></pre><pre><co |
| 2a440 | 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 | de.class="shell">$.zig.test.test |
| 2a460 | 2e 7a 69 67 0a 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 | .zig.1/1.test."@bitCast.bet |
| 2a480 | 77 65 65 6e 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 | ween.packed.structs"...OK.A |
| 2a4a0 | 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | ll.1.tests.passed..</code></pre> |
| 2a4c0 | 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 61 6c 6c 6f 77 73 20 74 68 65 | ........<p>.......Zig.allows.the |
| 2a4e0 | 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 6f 6e 2d 62 79 | .address.to.be.taken.of.a.non-by |
| 2a500 | 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 3e 0a 20 20 20 | te-aligned.field:.......</p>.... |
| 2a520 | 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c | ...<p.class="file">test.zig</p>< |
| 2a540 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | pre><code.class="zig"><span.clas |
| 2a560 | 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 |
| 2a580 | 70 61 6e 20 63 6c 61 73 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< |
| 2a5a0 | 2f 73 70 61 6e 3e 28 3c 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 |
| 2a5c0 | 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 | ot;std"</span>);.<span.clas |
| 2a5e0 | 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 74 20 3d | s="tok-kw">const</span>.assert.= |
| 2a600 | 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | .std.debug.assert;..<span.class= |
| 2a620 | 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d | "tok-kw">const</span>.BitField.= |
| 2a640 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 | .<span.class="tok-kw">packed</sp |
| 2a660 | 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c | an>.<span.class="tok-kw">struct< |
| 2a680 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | /span>.{.....a:.<span.class="tok |
| 2a6a0 | 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 | -type">u3</span>,.....b:.<span.c |
| 2a6c0 | 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 63 | lass="tok-type">u3</span>,.....c |
| 2a6e0 | 3a 20 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 | :.<span.class="tok-type">u2</spa |
| 2a700 | 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 | n>,.};..<span.class="tok-kw">var |
| 2a720 | 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d 20 42 69 74 46 69 65 6c 64 7b 0a 20 20 20 20 2e 61 20 3d | </span>.foo.=.BitField{......a.= |
| 2a740 | 20 3c 73 70 61 6e 20 63 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 |
| 2a760 | 6e 3e 2c 0a 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 | n>,......b.=.<span.class="tok-nu |
| 2a780 | 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 | mber">2</span>,......c.=.<span.c |
| 2a7a0 | 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 0a 7d 3b 0a 0a | lass="tok-number">3</span>,.};.. |
| 2a7c0 | 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> |
| 2a7e0 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 | .<span.class="tok-str">"poi |
| 2a800 | 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 | nter.to.non-byte-aligned.field&q |
| 2a820 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | uot;</span>.{.....<span.class="t |
| 2a840 | 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 26 61 6d 70 3b 66 | ok-kw">const</span>.ptr.=.&f |
| 2a860 | 6f 6f 2e 62 3b 0a 20 20 20 20 61 73 73 65 72 74 28 70 74 72 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 | oo.b;.....assert(ptr.*.==.<span. |
| 2a880 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c | class="tok-number">2</span>);.}< |
| 2a8a0 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 | /code></pre><pre><code.class="sh |
| 2a8c0 | 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 | ell">$.zig.test.test.zig.1/1.tes |
| 2a8e0 | 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 2d 61 6c 69 67 | t."pointer.to.non-byte-alig |
| 2a900 | 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 | ned.field"...OK.All.1.tests |
| 2a920 | 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 | .passed..</code></pre>........<p |
| 2a940 | 3e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 74 68 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 | >.......However,.the.pointer.to. |
| 2a960 | 61 20 6e 6f 6e 2d 62 79 74 65 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 20 68 61 73 20 73 70 65 | a.non-byte-aligned.field.has.spe |
| 2a980 | 63 69 61 6c 20 70 72 6f 70 65 72 74 69 65 73 20 61 6e 64 20 63 61 6e 6e 6f 74 0a 20 20 20 20 20 | cial.properties.and.cannot...... |
| 2a9a0 | 20 62 65 20 70 61 73 73 65 64 20 77 68 65 6e 20 61 20 6e 6f 72 6d 61 6c 20 70 6f 69 6e 74 65 72 | .be.passed.when.a.normal.pointer |
| 2a9c0 | 20 69 73 20 65 78 70 65 63 74 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c | .is.expected:.......</p>.......< |
| 2a9e0 | 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e | p.class="file">test.zig</p><pre> |
| 2aa00 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 2aa20 | 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 | ok-kw">const</span>.std.=.<span. |
| 2aa40 | 63 6c 61 73 73 3d 22 74 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 |
| 2aa60 | 6e 3e 28 3c 73 70 61 6e 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">"s |
| 2aa80 | 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | td"</span>);.<span.class="t |
| 2aaa0 | 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 73 74 64 | ok-kw">const</span>.assert.=.std |
| 2aac0 | 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | .debug.assert;..<span.class="tok |
| 2aae0 | 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 | -kw">const</span>.BitField.=.<sp |
| 2ab00 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 | an.class="tok-kw">packed</span>. |
| 2ab20 | 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 |
| 2ab40 | 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | n>.{.....a:.<span.class="tok-typ |
| 2ab60 | 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | e">u3</span>,.....b:.<span.class |
| 2ab80 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 63 3a 20 3c 73 | ="tok-type">u3</span>,.....c:.<s |
| 2aba0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 0a | pan.class="tok-type">u2</span>,. |
| 2abc0 | 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 | };..<span.class="tok-kw">var</sp |
| 2abe0 | 61 6e 3e 20 62 69 74 5f 66 69 65 6c 64 20 3d 20 42 69 74 46 69 65 6c 64 7b 0a 20 20 20 20 2e 61 | an>.bit_field.=.BitField{......a |
| 2ac00 | 20 3d 20 3c 73 70 61 6e 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 |
| 2ac20 | 70 61 6e 3e 2c 0a 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | pan>,......b.=.<span.class="tok- |
| 2ac40 | 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 63 20 3d 20 3c 73 70 61 6e | number">2</span>,......c.=.<span |
| 2ac60 | 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 0a 7d 3b | .class="tok-number">3</span>,.}; |
| 2ac80 | 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 | ..<span.class="tok-kw">test</spa |
| 2aca0 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 | n>.<span.class="tok-str">"p |
| 2acc0 | 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 | ointer.to.non-bit-aligned.field& |
| 2ace0 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 62 61 72 28 26 61 | quot;</span>.{.....assert(bar(&a |
| 2ad00 | 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | mp;bit_field.b).==.<span.class=" |
| 2ad20 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 | tok-number">2</span>);.}..<span. |
| 2ad40 | 63 6c 61 73 73 3d 22 74 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 |
| 2ad60 | 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 78 3a 20 2a 3c 73 70 | lass="tok-fn">bar</span>(x:.*<sp |
| 2ad80 | 61 6e 20 63 6c 61 73 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>.< |
| 2ada0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 29 | span.class="tok-type">u3</span>) |
| 2adc0 | 20 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 |
| 2ade0 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 | >.{.....<span.class="tok-kw">ret |
| 2ae00 | 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 2e 2a 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 | urn</span>.x.*;.}</code></pre><p |
| 2ae20 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 | re><code.class="shell">$.zig.tes |
| 2ae40 | 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f | t.test.zig.<span.class="t0_1">./ |
| 2ae60 | 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 3a 32 36 3a 20 3c 2f 73 70 61 | docgen_tmp/test.zig:17:26:.</spa |
| 2ae80 | 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 |
| 2aea0 | 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 20 | pan><span.class="t0_1">expected. |
| 2aec0 | 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 67 6e 28 | type.'*const.u3',.found.'*align( |
| 2aee0 | 3a 33 3a 31 29 20 75 33 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 73 73 65 72 74 28 62 61 72 28 | :3:1).u3'</span>.....assert(bar( |
| 2af00 | 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 2e 62 29 20 3d 3d 20 32 29 3b 0a 20 20 20 20 20 20 20 | &bit_field.b).==.2);........ |
| 2af20 | 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 |
| 2af40 | 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 | 32_1">^</span>.</code></pre>.... |
| 2af60 | 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 74 68 65 20 | ....<p>.......In.this.case,.the. |
| 2af80 | 66 75 6e 63 74 69 6f 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 61 72 3c 2f | function.<code.class="zig">bar</ |
| 2afa0 | 63 6f 64 65 3e 20 63 61 6e 6e 6f 74 20 62 65 20 63 61 6c 6c 65 64 20 62 65 63 75 73 65 20 74 68 | code>.cannot.be.called.becuse.th |
| 2afc0 | 65 20 70 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 | e.pointer.......to.the.non-ABI-a |
| 2afe0 | 6c 69 67 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 | ligned.field.mentions.the.bit.of |
| 2b000 | 66 73 65 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 | fset,.but.the.function.expects.a |
| 2b020 | 6e 20 41 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 | n.ABI-aligned.pointer........</p |
| 2b040 | 3e 0a 20 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 | >.......<p>.......Pointers.to.no |
| 2b060 | 6e 2d 41 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 | n-ABI-aligned.fields.share.the.s |
| 2b080 | 61 6d 65 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 | ame.address.as.the.other.fields. |
| 2b0a0 | 77 69 74 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 | within.their.host.integer:...... |
| 2b0c0 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 | .</p>.......<p.class="file">test |
| 2b0e0 | 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | .zig</p><pre><code.class="zig">< |
| 2b100 | 73 70 61 6e 20 63 6c 61 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> |
| 2b120 | 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" |
| 2b140 | 3e 40 69 6d 70 6f 72 74 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 |
| 2b160 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c | -str">"std"</span>);.< |
| 2b180 | 73 70 61 6e 20 63 6c 61 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> |
| 2b1a0 | 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 | .assert.=.std.debug.assert;..<sp |
| 2b1c0 | 61 6e 20 63 6c 61 73 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 |
| 2b1e0 | 69 74 46 69 65 6c 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 | itField.=.<span.class="tok-kw">p |
| 2b200 | 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | acked</span>.<span.class="tok-kw |
| 2b220 | 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 | ">struct</span>.{.....a:.<span.c |
| 2b240 | 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 | lass="tok-type">u3</span>,.....b |
| 2b260 | 3a 20 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 | :.<span.class="tok-type">u3</spa |
| 2b280 | 6e 3e 2c 0a 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | n>,.....c:.<span.class="tok-type |
| 2b2a0 | 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ">u2</span>,.};..<span.class="to |
| 2b2c0 | 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 69 74 5f 66 69 65 6c 64 20 3d 20 42 69 74 | k-kw">var</span>.bit_field.=.Bit |
| 2b2e0 | 46 69 65 6c 64 7b 0a 20 20 20 20 2e 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | Field{......a.=.<span.class="tok |
| 2b300 | 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 2e 62 20 3d 20 3c 73 70 61 | -number">1</span>,......b.=.<spa |
| 2b320 | 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 0a 20 | n.class="tok-number">2</span>,.. |
| 2b340 | 20 20 20 2e 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | ....c.=.<span.class="tok-number" |
| 2b360 | 3e 33 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >3</span>,.};..<span.class="tok- |
| 2b380 | 6b 77 22 3e 74 65 73 74 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 |
| 2b3a0 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 | -str">"pointer.to.non-bit-a |
| 2b3c0 | 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | ligned.field"</span>.{..... |
| 2b3e0 | 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 | assert(<span.class="tok-builtin" |
| 2b400 | 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 | >@ptrToInt</span>(&bit_field |
| 2b420 | 2e 61 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 | .a).==.<span.class="tok-builtin" |
| 2b440 | 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 62 69 74 5f 66 69 65 6c 64 | >@ptrToInt</span>(&bit_field |
| 2b460 | 2e 62 29 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | .b));.....assert(<span.class="to |
| 2b480 | 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 | k-builtin">@ptrToInt</span>(& |
| 2b4a0 | 3b 62 69 74 5f 66 69 65 6c 64 2e 61 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ;bit_field.a).==.<span.class="to |
| 2b4c0 | 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 | k-builtin">@ptrToInt</span>(& |
| 2b4e0 | 3b 62 69 74 5f 66 69 65 6c 64 2e 63 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 | ;bit_field.c));.}</code></pre><p |
| 2b500 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 | re><code.class="shell">$.zig.tes |
| 2b520 | 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 | t.test.zig.1/1.test."pointe |
| 2b540 | 72 20 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f 74 3b | r.to.non-bit-aligned.field" |
| 2b560 | 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 | ...OK.All.1.tests.passed..</code |
| 2b580 | 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 63 61 | ></pre>........<p>.......This.ca |
| 2b5a0 | 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 22 23 62 69 74 | n.be.observed.with.<a.href="#bit |
| 2b5c0 | 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 61 6e 64 20 3c | OffsetOf">@bitOffsetOf</a>.and.< |
| 2b5e0 | 61 20 68 72 65 66 3d 22 23 62 79 74 65 4f 66 66 73 65 74 4f 66 22 3e 62 79 74 65 4f 66 66 73 65 | a.href="#byteOffsetOf">byteOffse |
| 2b600 | 74 4f 66 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 | tOf</a>:.......</p>.......<p.cla |
| 2b620 | 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 | ss="file">test.zig</p><pre><code |
| 2b640 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| 2b660 | 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 |
| 2b680 | 3d 22 74 6f 6b 2d 62 75 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 |
| 2b6a0 | 70 61 6e 20 63 6c 61 73 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">"std&qu |
| 2b6c0 | 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | ot;</span>);.<span.class="tok-kw |
| 2b6e0 | 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 | ">const</span>.assert.=.std.debu |
| 2b700 | 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | g.assert;..<span.class="tok-kw"> |
| 2b720 | 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 |
| 2b740 | 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 |
| 2b760 | 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 0a | .class="tok-kw">struct</span>.{. |
| 2b780 | 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 | ....a:.<span.class="tok-type">u3 |
| 2b7a0 | 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | </span>,.....b:.<span.class="tok |
| 2b7c0 | 2d 74 79 70 65 22 3e 75 33 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 63 3a 20 3c 73 70 61 6e 20 63 | -type">u3</span>,.....c:.<span.c |
| 2b7e0 | 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c | lass="tok-type">u2</span>,.};..< |
| 2b800 | 73 70 61 6e 20 63 6c 61 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>. |
| 2b820 | 3c 73 70 61 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">"poin |
| 2b840 | 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 64 20 66 69 65 6c 64 26 71 75 6f | ter.to.non-bit-aligned.field&quo |
| 2b860 | 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | t;</span>.{.....<span.class="tok |
| 2b880 | 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 61 | -kw">comptime</span>.{.........a |
| 2b8a0 | 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e | ssert(<span.class="tok-builtin"> |
| 2b8c0 | 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 2c 20 3c 73 | @bitOffsetOf</span>(BitField,.<s |
| 2b8e0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 26 71 75 6f 74 | pan.class="tok-str">"a" |
| 2b900 | 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | ;</span>).==.<span.class="tok-nu |
| 2b920 | 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 | mber">0</span>);.........assert( |
| 2b940 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 4f 66 | <span.class="tok-builtin">@bitOf |
| 2b960 | 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c | fsetOf</span>(BitField,.<span.cl |
| 2b980 | 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 26 71 75 6f 74 3b 3c 2f 73 70 61 | ass="tok-str">"b"</spa |
| 2b9a0 | 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | n>).==.<span.class="tok-number"> |
| 2b9c0 | 33 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 | 3</span>);.........assert(<span. |
| 2b9e0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 | class="tok-builtin">@bitOffsetOf |
| 2ba00 | 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 74 | </span>(BitField,.<span.class="t |
| 2ba20 | 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 29 20 3d 3d | ok-str">"c"</span>).== |
| 2ba40 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 | .<span.class="tok-number">6</spa |
| 2ba60 | 6e 3e 29 3b 0a 0a 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 | n>);..........assert(<span.class |
| 2ba80 | 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 79 74 65 4f 66 66 73 65 74 4f 66 3c 2f 73 70 | ="tok-builtin">@byteOffsetOf</sp |
| 2baa0 | 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 |
| 2bac0 | 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">"a"</span>).==.<sp |
| 2bae0 | 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>); |
| 2bb00 | 0a 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 6b | .........assert(<span.class="tok |
| 2bb20 | 2d 62 75 69 6c 74 69 6e 22 3e 40 62 79 74 65 4f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 | -builtin">@byteOffsetOf</span>(B |
| 2bb40 | 69 74 46 69 65 6c 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 | itField,.<span.class="tok-str">& |
| 2bb60 | 71 75 6f 74 3b 62 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c | quot;b"</span>).==.<span.cl |
| 2bb80 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 | ass="tok-number">0</span>);..... |
| 2bba0 | 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | ....assert(<span.class="tok-buil |
| 2bbc0 | 74 69 6e 22 3e 40 62 79 74 65 4f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 42 69 74 46 69 65 | tin">@byteOffsetOf</span>(BitFie |
| 2bbe0 | 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">" |
| 2bc00 | 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"</span>).==.<span.class=" |
| 2bc20 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f | tok-number">0</span>);.....}.}</ |
| 2bc40 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 | code></pre><pre><code.class="she |
| 2bc60 | 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 | ll">$.zig.test.test.zig.1/1.test |
| 2bc80 | 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 20 74 6f 20 6e 6f 6e 2d 62 69 74 2d 61 6c 69 67 6e 65 | ."pointer.to.non-bit-aligne |
| 2bca0 | 64 20 66 69 65 6c 64 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 | d.field"...OK.All.1.tests.p |
| 2bcc0 | 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a | assed..</code></pre>........<p>. |
| 2bce0 | 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 2d 62 79 74 65 | ......Packed.structs.have.1-byte |
| 2bd00 | 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 68 61 76 65 20 | .alignment..However.if.you.have. |
| 2bd20 | 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 20 70 61 63 6b | an.overaligned.pointer.to.a.pack |
| 2bd40 | 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 20 63 6f 72 72 | ed.struct,.......Zig.should.corr |
| 2bd60 | 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 65 6e 74 20 6f | ectly.understand.the.alignment.o |
| 2bd80 | 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 20 20 20 20 20 | f.fields..However.there.is...... |
| 2bda0 | 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 69 67 | .<a.href="https://github.com/zig |
| 2bdc0 | 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 3c 2f 61 3e 3a | lang/zig/issues/1994">a.bug</a>: |
| 2bde0 | 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 | .......</p>.......<p.class="file |
| 2be00 | 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | ">test.zig</p><pre><code.class=" |
| 2be20 | 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c | zig"><span.class="tok-kw">const< |
| 2be40 | 2f 73 70 61 6e 3e 20 53 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | /span>.S.=.<span.class="tok-kw"> |
| 2be60 | 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | packed</span>.<span.class="tok-k |
| 2be80 | 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 3a 20 3c 73 70 61 6e 20 | w">struct</span>.{.....a:.<span. |
| 2bea0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 | class="tok-type">u32</span>,.... |
| 2bec0 | 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f | .b:.<span.class="tok-type">u32</ |
| 2bee0 | 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 | span>,.};.<span.class="tok-kw">t |
| 2bf00 | 65 73 74 3c 2f 73 70 61 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" |
| 2bf20 | 3e 26 71 75 6f 74 3b 6f 76 65 72 61 6c 69 67 6e 65 64 20 70 6f 69 6e 74 65 72 20 74 6f 20 70 61 | >"overaligned.pointer.to.pa |
| 2bf40 | 63 6b 65 64 20 73 74 72 75 63 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c | cked.struct"</span>.{.....< |
| 2bf60 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 | span.class="tok-kw">var</span>.f |
| 2bf80 | 6f 6f 3a 20 53 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e | oo:.S.<span.class="tok-kw">align |
| 2bfa0 | 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | </span>(<span.class="tok-number" |
| 2bfc0 | 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 6f 6b 2d 6e 75 | >4</span>).=.<span.class="tok-nu |
| 2bfe0 | 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 | ll">undefined</span>;.....<span. |
| 2c000 | 63 6c 61 73 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 | class="tok-kw">const</span>.ptr: |
| 2c020 | 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 70 | .*<span.class="tok-kw">align</sp |
| 2c040 | 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f | an>(<span.class="tok-number">4</ |
| 2c060 | 73 70 61 6e 3e 29 20 53 20 3d 20 26 61 6d 70 3b 66 6f 6f 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | span>).S.=.&foo;.....<span.c |
| 2c080 | 6c 61 73 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 5f 74 | lass="tok-kw">const</span>.ptr_t |
| 2c0a0 | 6f 5f 62 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 | o_b:.*<span.class="tok-type">u32 |
| 2c0c0 | 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 70 74 72 2e 62 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f | </span>.=.&ptr.b;.}</code></ |
| 2c0e0 | 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a | pre><pre><code.class="shell">$.z |
| 2c100 | 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 | ig.test.test.zig.<span.class="t0 |
| 2c120 | 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 38 3a 33 32 3a 20 | _1">./docgen_tmp/test.zig:8:32:. |
| 2c140 | 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 | </span><span.class="t31_1">error |
| 2c160 | 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 78 70 65 | :.</span><span.class="t0_1">expe |
| 2c180 | 63 74 65 64 20 74 79 70 65 20 27 2a 75 33 32 27 2c 20 66 6f 75 6e 64 20 27 2a 61 6c 69 67 6e 28 | cted.type.'*u32',.found.'*align( |
| 2c1a0 | 31 29 20 75 33 32 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f 6e 73 74 20 70 74 72 5f 74 6f 5f | 1).u32'</span>.....const.ptr_to_ |
| 2c1c0 | 62 3a 20 2a 75 33 32 20 3d 20 26 61 6d 70 3b 70 74 72 2e 62 3b 0a 20 20 20 20 20 20 20 20 20 20 | b:.*u32.=.&ptr.b;........... |
| 2c1e0 | 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 |
| 2c200 | 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a | ="t32_1">^</span>.</code></pre>. |
| 2c220 | 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 74 68 69 73 20 62 75 67 20 69 73 20 66 69 78 65 64 | .......<p>When.this.bug.is.fixed |
| 2c240 | 2c 20 74 68 65 20 61 62 6f 76 65 20 74 65 73 74 20 69 6e 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 | ,.the.above.test.in.the.document |
| 2c260 | 61 74 69 6f 6e 20 77 69 6c 6c 20 75 6e 65 78 70 65 63 74 65 64 6c 79 20 70 61 73 73 2c 20 77 68 | ation.will.unexpectedly.pass,.wh |
| 2c280 | 69 63 68 20 77 69 6c 6c 0a 20 20 20 20 20 20 63 61 75 73 65 20 74 68 65 20 74 65 73 74 20 73 75 | ich.will.......cause.the.test.su |
| 2c2a0 | 69 74 65 20 74 6f 20 66 61 69 6c 2c 20 6e 6f 74 69 66 79 69 6e 67 20 74 68 65 20 62 75 67 20 66 | ite.to.fail,.notifying.the.bug.f |
| 2c2c0 | 69 78 65 72 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 73 65 20 64 6f 63 73 2e 0a 20 20 20 20 20 | ixer.to.update.these.docs....... |
| 2c2e0 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 27 73 20 61 6c 73 6f 0a | .</p>.......<p>.......It's.also. |
| 2c300 | 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 |
| 2c320 | 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 31 35 31 32 22 3e 70 6c 61 6e 6e | m/ziglang/zig/issues/1512">plann |
| 2c340 | 65 64 20 74 6f 20 62 65 20 61 62 6c 65 20 74 6f 20 73 65 74 20 61 6c 69 67 6e 6d 65 6e 74 20 6f | ed.to.be.able.to.set.alignment.o |
| 2c360 | 66 20 73 74 72 75 63 74 20 66 69 65 6c 64 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | f.struct.fields</a>........</p>. |
| 2c380 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 73 69 6e 67 20 70 61 63 6b 65 64 20 73 74 72 | ......<p>.......Using.packed.str |
| 2c3a0 | 75 63 74 73 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 76 6f 6c 61 74 69 6c 65 22 3e 76 6f | ucts.with.<a.href="#volatile">vo |
| 2c3c0 | 6c 61 74 69 6c 65 3c 2f 61 3e 20 69 73 20 70 72 6f 62 6c 65 6d 61 74 69 63 2c 20 61 6e 64 20 6d | latile</a>.is.problematic,.and.m |
| 2c3e0 | 61 79 20 62 65 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 6e 20 74 68 65 20 66 75 74 | ay.be.a.compile.error.in.the.fut |
| 2c400 | 75 72 65 2e 0a 20 20 20 20 20 20 46 6f 72 20 64 65 74 61 69 6c 73 20 6f 6e 20 74 68 69 73 20 73 | ure........For.details.on.this.s |
| 2c420 | 75 62 73 63 72 69 62 65 20 74 6f 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 | ubscribe.to.......<a.href="https |
| 2c440 | 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 |
| 2c460 | 2f 31 37 36 31 22 3e 74 68 69 73 20 69 73 73 75 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 54 4f 44 | /1761">this.issue</a>........TOD |
| 2c480 | 4f 20 75 70 64 61 74 65 20 74 68 65 73 65 20 64 6f 63 73 20 77 69 74 68 20 61 20 72 65 63 6f 6d | O.update.these.docs.with.a.recom |
| 2c4a0 | 6d 65 6e 64 61 74 69 6f 6e 20 6f 6e 20 68 6f 77 20 74 6f 20 75 73 65 20 70 61 63 6b 65 64 20 73 | mendation.on.how.to.use.packed.s |
| 2c4c0 | 74 72 75 63 74 73 20 77 69 74 68 20 4d 4d 49 4f 0a 20 20 20 20 20 20 28 74 68 65 20 75 73 65 20 | tructs.with.MMIO.......(the.use. |
| 2c4e0 | 63 61 73 65 20 66 6f 72 20 76 6f 6c 61 74 69 6c 65 20 70 61 63 6b 65 64 20 73 74 72 75 63 74 73 | case.for.volatile.packed.structs |
| 2c500 | 29 20 6f 6e 63 65 20 74 68 69 73 20 69 73 73 75 65 20 69 73 20 72 65 73 6f 6c 76 65 64 2e 0a 20 | ).once.this.issue.is.resolved... |
| 2c520 | 20 20 20 20 20 44 6f 6e 27 74 20 77 6f 72 72 79 2c 20 74 68 65 72 65 20 77 69 6c 6c 20 62 65 20 | .....Don't.worry,.there.will.be. |
| 2c540 | 61 20 67 6f 6f 64 20 73 6f 6c 75 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 20 75 73 65 20 63 61 73 | a.good.solution.for.this.use.cas |
| 2c560 | 65 20 69 6e 20 7a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 | e.in.zig........</p>............ |
| 2c580 | 20 20 20 3c 68 32 20 69 64 3d 22 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e 3c 61 20 68 72 65 | ...<h2.id="Struct-Naming"><a.hre |
| 2c5a0 | 66 3d 22 23 74 6f 63 2d 53 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e 53 74 72 75 63 74 20 4e 61 | f="#toc-Struct-Naming">Struct.Na |
| 2c5c0 | 6d 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 | ming</a>.<a.class="hdr".href="#S |
| 2c5e0 | 74 72 75 63 74 2d 4e 61 6d 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 | truct-Naming">..</a></h2>....... |
| 2c600 | 20 3c 70 3e 53 69 6e 63 65 20 61 6c 6c 20 73 74 72 75 63 74 73 20 61 72 65 20 61 6e 6f 6e 79 6d | .<p>Since.all.structs.are.anonym |
| 2c620 | 6f 75 73 2c 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 65 20 74 79 70 65 20 6e 61 6d 65 20 62 61 | ous,.Zig.infers.the.type.name.ba |
| 2c640 | 73 65 64 20 6f 6e 20 61 20 66 65 77 20 72 75 6c 65 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 | sed.on.a.few.rules.</p>.......<u |
| 2c660 | 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 74 68 65 20 73 74 72 75 63 74 20 69 | l>...........<li>If.the.struct.i |
| 2c680 | 73 20 69 6e 20 74 68 65 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 65 78 70 72 65 73 73 69 | s.in.the.initialization.expressi |
| 2c6a0 | 6f 6e 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 2c 20 69 74 20 67 65 74 73 20 6e 61 6d 65 64 20 | on.of.a.variable,.it.gets.named. |
| 2c6c0 | 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 74 68 61 74 20 76 61 72 69 61 62 6c 65 2e 3c 2f | after...........that.variable.</ |
| 2c6e0 | 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 66 20 74 68 65 20 73 74 72 75 63 74 20 | li>...........<li>If.the.struct. |
| 2c700 | 69 73 20 69 6e 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | is.in.the.<code.class="zig"><spa |
| 2c720 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f | n.class="tok-kw">return</span></ |
| 2c740 | 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 69 74 20 67 65 74 73 20 6e 61 6d 65 64 20 | code>.expression,.it.gets.named. |
| 2c760 | 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 74 20 | after...........the.function.it. |
| 2c780 | 69 73 20 72 65 74 75 72 6e 69 6e 67 20 66 72 6f 6d 2c 20 77 69 74 68 20 74 68 65 20 70 61 72 61 | is.returning.from,.with.the.para |
| 2c7a0 | 6d 65 74 65 72 20 76 61 6c 75 65 73 20 73 65 72 69 61 6c 69 7a 65 64 2e 3c 2f 6c 69 3e 0a 20 20 | meter.values.serialized.</li>... |
| 2c7c0 | 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 73 74 72 75 63 | ........<li>Otherwise,.the.struc |
| 2c7e0 | 74 20 67 65 74 73 20 61 20 6e 61 6d 65 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 3e 28 61 6e 6f | t.gets.a.name.such.as.<code>(ano |
| 2c800 | 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 61 74 20 66 69 6c 65 2e 7a 69 67 3a 37 3a 33 38 29 3c | nymous.struct.at.file.zig:7:38)< |
| 2c820 | 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c | /code>.</li>.......</ul>.......< |
| 2c840 | 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 63 74 5f 6e 61 6d 65 2e 7a 69 67 3c 2f | p.class="file">struct_name.zig</ |
| 2c860 | 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | p><pre><code.class="zig"><span.c |
| 2c880 | 6c 61 73 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.= |
| 2c8a0 | 20 3c 73 70 61 6e 20 63 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 |
| 2c8c0 | 72 74 3c 2f 73 70 61 6e 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"> |
| 2c8e0 | 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 | "std"</span>);..<span. |
| 2c900 | 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. |
| 2c920 | 63 6c 61 73 73 3d 22 74 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 |
| 2c940 | 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 |
| 2c960 | 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>.{ |
| 2c980 | 0a 20 20 20 20 3c 73 70 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< |
| 2c9a0 | 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | /span>.Foo.=.<span.class="tok-kw |
| 2c9c0 | 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 | ">struct</span>.{};.....std.debu |
| 2c9e0 | 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 | g.warn(<span.class="tok-str">&qu |
| 2ca00 | 6f 74 3b 76 61 72 69 61 62 6c 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 | ot;variable:.{}\n"</span>,. |
| 2ca20 | 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 | .{<span.class="tok-builtin">@typ |
| 2ca40 | 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 46 6f 6f 29 7d 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 | eName</span>(Foo)});.....std.deb |
| 2ca60 | 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 | ug.warn(<span.class="tok-str">&q |
| 2ca80 | 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e | uot;anonymous:.{}\n"</span> |
| 2caa0 | 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 | ,..{<span.class="tok-builtin">@t |
| 2cac0 | 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 74 6f 6b 2d | ypeName</span>(<span.class="tok- |
| 2cae0 | 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 7d 29 7d 29 3b 0a 20 20 20 20 73 74 64 | kw">struct</span>.{})});.....std |
| 2cb00 | 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 | .debug.warn(<span.class="tok-str |
| 2cb20 | 22 3e 26 71 75 6f 74 3b 66 75 6e 63 74 69 6f 6e 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 | ">"function:.{}\n"</sp |
| 2cb40 | 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" |
| 2cb60 | 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 | >@typeName</span>(List(<span.cla |
| 2cb80 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 7d 29 3b 0a 7d 0a | ss="tok-type">i32</span>))});.}. |
| 2cba0 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 | .<span.class="tok-kw">fn</span>. |
| 2cbc0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 3c 2f 73 70 61 6e 3e | <span.class="tok-fn">List</span> |
| 2cbe0 | 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</ |
| 2cc00 | 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"> |
| 2cc20 | 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | type</span>).<span.class="tok-ty |
| 2cc40 | 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | pe">type</span>.{.....<span.clas |
| 2cc60 | 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 |
| 2cc80 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | lass="tok-kw">struct</span>.{... |
| 2cca0 | 20 20 20 20 20 20 78 3a 20 54 2c 0a 20 20 20 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | ......x:.T,.....};.}</code></pre |
| 2ccc0 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 | ><pre><code.class="shell">$.zig. |
| 2cce0 | 62 75 69 6c 64 2d 65 78 65 20 73 74 72 75 63 74 5f 6e 61 6d 65 2e 7a 69 67 0a 24 20 2e 2f 73 74 | build-exe.struct_name.zig.$../st |
| 2cd00 | 72 75 63 74 5f 6e 61 6d 65 0a 76 61 72 69 61 62 6c 65 3a 20 46 6f 6f 0a 61 6e 6f 6e 79 6d 6f 75 | ruct_name.variable:.Foo.anonymou |
| 2cd20 | 73 3a 20 73 74 72 75 63 74 3a 36 3a 35 31 0a 66 75 6e 63 74 69 6f 6e 3a 20 4c 69 73 74 28 69 33 | s:.struct:6:51.function:.List(i3 |
| 2cd40 | 32 29 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 | 2).</code></pre>................ |
| 2cd60 | 3c 68 32 20 69 64 3d 22 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c | <h2.id="Anonymous-Struct-Literal |
| 2cd80 | 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 | s"><a.href="#toc-Anonymous-Struc |
| 2cda0 | 74 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 53 74 72 75 63 74 20 4c 69 74 | t-Literals">Anonymous.Struct.Lit |
| 2cdc0 | 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 | erals</a>.<a.class="hdr".href="# |
| 2cde0 | 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 | Anonymous-Struct-Literals">..</a |
| 2ce00 | 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 61 6c 6c 6f | ></h2>........<p>.......Zig.allo |
| 2ce20 | 77 73 20 6f 6d 69 74 74 69 6e 67 20 74 68 65 20 73 74 72 75 63 74 20 74 79 70 65 20 6f 66 20 61 | ws.omitting.the.struct.type.of.a |
| 2ce40 | 20 6c 69 74 65 72 61 6c 2e 20 57 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 61 20 | .literal..When.the.result.is.<a. |
| 2ce60 | 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f 65 72 63 65 64 3c 2f 61 | href="#Type-Coercion">coerced</a |
| 2ce80 | 3e 2c 0a 20 20 20 20 20 20 74 68 65 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 20 77 69 6c 6c | >,.......the.struct.literal.will |
| 2cea0 | 20 64 69 72 65 63 74 6c 79 20 69 6e 73 74 61 6e 74 69 61 74 65 20 74 68 65 20 72 65 73 75 6c 74 | .directly.instantiate.the.result |
| 2cec0 | 20 6c 6f 63 61 74 69 6f 6e 2c 20 77 69 74 68 20 6e 6f 20 63 6f 70 79 3a 0a 20 20 20 20 20 20 3c | .location,.with.no.copy:.......< |
| 2cee0 | 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 63 74 | /p>.......<p.class="file">struct |
| 2cf00 | 5f 72 65 73 75 6c 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | _result.zig</p><pre><code.class= |
| 2cf20 | 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | "zig"><span.class="tok-kw">const |
| 2cf40 | 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 |
| 2cf60 | 75 69 6c 74 69 6e 22 3e 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 |
| 2cf80 | 73 73 3d 22 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">"std"</sp |
| 2cfa0 | 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | an>);.<span.class="tok-kw">const |
| 2cfc0 | 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 | </span>.assert.=.std.debug.asser |
| 2cfe0 | 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | t;..<span.class="tok-kw">const</ |
| 2d000 | 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 2d 6b | span>.Point.=.<span.class="tok-k |
| 2d020 | 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | w">struct</span>.{x:.<span.class |
| 2d040 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 79 3a 20 3c 73 70 61 6e | ="tok-type">i32</span>,.y:.<span |
| 2d060 | 20 63 6c 61 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 0a 0a | .class="tok-type">i32</span>};.. |
| 2d080 | 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> |
| 2d0a0 | 20 3c 73 70 61 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">"ano |
| 2d0c0 | 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 3c 2f 73 70 61 | nymous.struct.literal"</spa |
| 2d0e0 | 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 | n>.{.....<span.class="tok-kw">va |
| 2d100 | 72 3c 2f 73 70 61 6e 3e 20 70 74 3a 20 50 6f 69 6e 74 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 | r</span>.pt:.Point.=..{......... |
| 2d120 | 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 | .x.=.<span.class="tok-number">13 |
| 2d140 | 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | </span>,..........y.=.<span.clas |
| 2d160 | 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 0a 20 20 20 20 7d 3b | s="tok-number">67</span>,.....}; |
| 2d180 | 0a 20 20 20 20 61 73 73 65 72 74 28 70 74 2e 78 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | .....assert(pt.x.==.<span.class= |
| 2d1a0 | 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 | "tok-number">13</span>);.....ass |
| 2d1c0 | 65 72 74 28 70 74 2e 79 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d | ert(pt.y.==.<span.class="tok-num |
| 2d1e0 | 62 65 72 22 3e 36 37 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c | ber">67</span>);.}</code></pre>< |
| 2d200 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 | pre><code.class="shell">$.zig.te |
| 2d220 | 73 74 20 73 74 72 75 63 74 5f 72 65 73 75 6c 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 | st.struct_result.zig.1/1.test.&q |
| 2d240 | 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 20 6c 69 74 65 72 61 6c 26 71 75 6f | uot;anonymous.struct.literal&quo |
| 2d260 | 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f | t;...OK.All.1.tests.passed..</co |
| 2d280 | 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 | de></pre>........<p>.......The.s |
| 2d2a0 | 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 48 65 72 65 | truct.type.can.be.inferred..Here |
| 2d2c0 | 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 74 20 69 6e | .the.result.location.does.not.in |
| 2d2e0 | 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 69 67 20 69 | clude.a.type,.and.......so.Zig.i |
| 2d300 | 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 20 20 20 20 | nfers.the.type:.......</p>...... |
| 2d320 | 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 75 63 74 5f 61 6e 6f 6e 2e 7a 69 67 | .<p.class="file">struct_anon.zig |
| 2d340 | 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | </p><pre><code.class="zig"><span |
| 2d360 | 20 63 6c 61 73 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 |
| 2d380 | 20 3d 20 3c 73 70 61 6e 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 |
| 2d3a0 | 70 6f 72 74 3c 2f 73 70 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 |
| 2d3c0 | 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e | ">"std"</span>);.<span |
| 2d3e0 | 20 63 6c 61 73 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 | .class="tok-kw">const</span>.ass |
| 2d400 | 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 | ert.=.std.debug.assert;..<span.c |
| 2d420 | 6c 61 73 73 3d 22 74 6f 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. |
| 2d440 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 75 6c 6c 79 20 61 6e 6f 6e | class="tok-str">"fully.anon |
| 2d460 | 79 6d 6f 75 73 20 73 74 72 75 63 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | ymous.struct"</span>.{..... |
| 2d480 | 64 75 6d 70 28 2e 7b 0a 20 20 20 20 20 20 20 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 | dump(.{..........int.=.<span.cla |
| 2d4a0 | 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 |
| 2d4c0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c | n.class="tok-type">u32</span>,.< |
| 2d4e0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 | span.class="tok-number">1234</sp |
| 2d500 | 61 6e 3e 29 2c 0a 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 | an>),..........float.=.<span.cla |
| 2d520 | 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 |
| 2d540 | 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>,.< |
| 2d560 | 73 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 |
| 2d580 | 70 61 6e 3e 29 2c 0a 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 | pan>),..........b.=.<span.class= |
| 2d5a0 | 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 | "tok-null">true</span>,......... |
| 2d5c0 | 2e 73 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 | .s.=.<span.class="tok-str">" |
| 2d5e0 | 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 29 3b 0a 7d 0a 0a 3c 73 70 | ;hi"</span>,.....});.}..<sp |
| 2d600 | 61 6e 20 63 6c 61 73 73 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 |
| 2d620 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 75 6d 70 3c 2f 73 70 61 6e 3e 28 61 72 67 | n.class="tok-fn">dump</span>(arg |
| 2d640 | 73 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 | s:.<span.class="tok-kw">var</spa |
| 2d660 | 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c | n>).<span.class="tok-type">void< |
| 2d680 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 61 72 67 73 2e 69 6e 74 20 3d 3d 20 | /span>.{.....assert(args.int.==. |
| 2d6a0 | 3c 73 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 |
| 2d6c0 | 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 72 67 73 2e 66 6c 6f 61 74 20 3d 3d 20 | pan>);.....assert(args.float.==. |
| 2d6e0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f | <span.class="tok-number">12.34</ |
| 2d700 | 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 72 67 73 2e 62 29 3b 0a 20 20 20 20 | span>);.....assert(args.b);..... |
| 2d720 | 61 73 73 65 72 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 | assert(args.s[<span.class="tok-n |
| 2d740 | 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | umber">0</span>].==.<span.class= |
| 2d760 | 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 | "tok-str">'h'</span>);.....asser |
| 2d780 | 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 62 65 72 | t(args.s[<span.class="tok-number |
| 2d7a0 | 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ">1</span>].==.<span.class="tok- |
| 2d7c0 | 73 74 72 22 3e 27 69 27 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | str">'i'</span>);.}</code></pre> |
| 2d7e0 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 | <pre><code.class="shell">$.zig.t |
| 2d800 | 65 73 74 20 73 74 72 75 63 74 5f 61 6e 6f 6e 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 | est.struct_anon.zig.1/1.test.&qu |
| 2d820 | 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 75 6f 74 3b 2e | ot;fully.anonymous.struct". |
| 2d840 | 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e | ..OK.All.1.tests.passed..</code> |
| 2d860 | 3c 2f 70 72 65 3e 0a 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 | </pre>...............<p>See.also |
| 2d880 | 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 | :</p><ul>.<li><a.href="#comptime |
| 2d8a0 | 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d | ">comptime</a></li>.<li><a.href= |
| 2d8c0 | 22 23 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 | "#fieldParentPtr">@fieldParentPt |
| 2d8e0 | 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c | r</a></li>.</ul>...............< |
| 2d900 | 68 31 20 69 64 3d 22 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 | h1.id="enum"><a.href="#toc-enum" |
| 2d920 | 3e 65 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 | >enum</a>.<a.class="hdr".href="# |
| 2d940 | 65 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 | enum">..</a></h1>........<p.clas |
| 2d960 | 73 3d 22 66 69 6c 65 22 3e 65 6e 75 6d 73 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 | s="file">enums.zig</p><pre><code |
| 2d980 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| 2d9a0 | 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c | ">const</span>.assert.=.<span.cl |
| 2d9c0 | 61 73 73 3d 22 74 6f 6b 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> |
| 2d9e0 | 28 3c 73 70 61 6e 20 63 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">"std |
| 2da00 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 3c 73 70 | "</span>).debug.assert;.<sp |
| 2da20 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d | an.class="tok-kw">const</span>.m |
| 2da40 | 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 | em.=.<span.class="tok-builtin">@ |
| 2da60 | 69 6d 70 6f 72 74 3c 2f 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 |
| 2da80 | 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b | tr">"std"</span>).mem; |
| 2daa0 | 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 | ..<span.class="tok-comment">//.D |
| 2dac0 | 65 63 6c 61 72 65 20 61 6e 20 65 6e 75 6d 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 | eclare.an.enum.</span>.<span.cla |
| 2dae0 | 73 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 20 | ss="tok-kw">const</span>.Type.=. |
| 2db00 | 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> |
| 2db20 | 20 7b 0a 20 20 20 20 4f 6b 2c 0a 20 20 20 20 4e 6f 74 4f 6b 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 | .{.....Ok,.....NotOk,.};..<span. |
| 2db40 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 44 65 63 6c 61 72 65 20 61 | class="tok-comment">//.Declare.a |
| 2db60 | 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 75 6d 20 76 | .specific.instance.of.the.enum.v |
| 2db80 | 61 72 69 61 6e 74 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ariant.</span>.<span.class="tok- |
| 2dba0 | 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 54 79 70 65 2e 4f 6b 3b 0a 0a 3c | kw">const</span>.c.=.Type.Ok;..< |
| 2dbc0 | 73 70 61 6e 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 |
| 2dbe0 | 6f 75 20 77 61 6e 74 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 | ou.want.access.to.the.ordinal.va |
| 2dc00 | 6c 75 65 20 6f 66 20 61 6e 20 65 6e 75 6d 2c 20 79 6f 75 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e | lue.of.an.enum,.you</span>.<span |
| 2dc20 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 61 6e 20 73 70 65 63 | .class="tok-comment">//.can.spec |
| 2dc40 | 69 66 79 20 74 68 65 20 74 61 67 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 | ify.the.tag.type.</span>.<span.c |
| 2dc60 | 6c 61 73 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 61 6c 75 65 | lass="tok-kw">const</span>.Value |
| 2dc80 | 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 |
| 2dca0 | 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 32 3c 2f 73 | an>(<span.class="tok-type">u2</s |
| 2dcc0 | 70 61 6e 3e 29 20 7b 0a 20 20 20 20 5a 65 72 6f 2c 0a 20 20 20 20 4f 6e 65 2c 0a 20 20 20 20 54 | pan>).{.....Zero,.....One,.....T |
| 2dce0 | 77 6f 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 | wo,.};..<span.class="tok-comment |
| 2dd00 | 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 75 32 | ">//.Now.you.can.cast.between.u2 |
| 2dd20 | 20 61 6e 64 20 56 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .and.Value.</span>.<span.class=" |
| 2dd40 | 74 6f 6b 2d 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 | tok-comment">//.The.ordinal.valu |
| 2dd60 | 65 20 73 74 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 | e.starts.from.0,.counting.up.for |
| 2dd80 | 20 65 61 63 68 20 6d 65 6d 62 65 72 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | .each.member.</span>.<span.class |
| 2dda0 | 3d 22 74 6f 6b 2d 6b 77 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 |
| 2ddc0 | 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 | s="tok-str">"enum.ordinal.v |
| 2dde0 | 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 3c | alue"</span>.{.....assert(< |
| 2de00 | 73 70 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 6e 75 6d 54 6f | span.class="tok-builtin">@enumTo |
| 2de20 | 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 2e 5a 65 72 6f 29 20 3d 3d 20 3c 73 70 61 6e 20 | Int</span>(Value.Zero).==.<span. |
| 2de40 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 | class="tok-number">0</span>);... |
| 2de60 | 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 | ..assert(<span.class="tok-builti |
| 2de80 | 6e 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 56 61 6c 75 65 2e 4f 6e 65 29 20 | n">@enumToInt</span>(Value.One). |
| 2dea0 | 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 |
| 2dec0 | 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | pan>);.....assert(<span.class="t |
| 2dee0 | 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 61 | ok-builtin">@enumToInt</span>(Va |
| 2df00 | 6c 75 65 2e 54 77 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 | lue.Two).==.<span.class="tok-num |
| 2df20 | 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ber">2</span>);.}..<span.class=" |
| 2df40 | 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 59 6f 75 20 63 61 6e 20 6f 76 65 72 72 69 64 65 | tok-comment">//.You.can.override |
| 2df60 | 20 74 68 65 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 20 66 6f 72 20 61 6e 20 65 6e 75 6d 2e 3c | .the.ordinal.value.for.an.enum.< |
| 2df80 | 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | /span>.<span.class="tok-kw">cons |
| 2dfa0 | 74 3c 2f 73 70 61 6e 3e 20 56 61 6c 75 65 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | t</span>.Value2.=.<span.class="t |
| 2dfc0 | 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ok-kw">enum</span>(<span.class=" |
| 2dfe0 | 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 48 75 6e 64 | tok-type">u32</span>).{.....Hund |
| 2e000 | 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 62 65 72 22 3e 31 | red.=.<span.class="tok-number">1 |
| 2e020 | 30 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 54 68 6f 75 73 61 6e 64 20 3d 20 3c 73 70 61 6e 20 | 00</span>,.....Thousand.=.<span. |
| 2e040 | 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 0a | class="tok-number">1000</span>,. |
| 2e060 | 20 20 20 20 4d 69 6c 6c 69 6f 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | ....Million.=.<span.class="tok-n |
| 2e080 | 75 6d 62 65 72 22 3e 31 30 30 30 30 30 30 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 | umber">1000000</span>,.};.<span. |
| 2e0a0 | 63 6c 61 73 73 3d 22 74 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 |
| 2e0c0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 65 74 20 65 6e 75 6d 20 | .class="tok-str">"set.enum. |
| 2e0e0 | 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | ordinal.value"</span>.{.... |
| 2e100 | 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e | .assert(<span.class="tok-builtin |
| 2e120 | 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 32 2e 48 75 6e 64 72 | ">@enumToInt</span>(Value2.Hundr |
| 2e140 | 65 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 | ed).==.<span.class="tok-number"> |
| 2e160 | 31 30 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c | 100</span>);.....assert(<span.cl |
| 2e180 | 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 73 70 | ass="tok-builtin">@enumToInt</sp |
| 2e1a0 | 61 6e 3e 28 56 61 6c 75 65 32 2e 54 68 6f 75 73 61 6e 64 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c | an>(Value2.Thousand).==.<span.cl |
| 2e1c0 | 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 0a 20 | ass="tok-number">1000</span>);.. |
| 2e1e0 | 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 | ...assert(<span.class="tok-built |
| 2e200 | 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 32 2e 4d 69 6c | in">@enumToInt</span>(Value2.Mil |
| 2e220 | 6c 69 6f 6e 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 | lion).==.<span.class="tok-number |
| 2e240 | 22 3e 31 30 30 30 30 30 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 | ">1000000</span>);.}..<span.clas |
| 2e260 | 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 6e 75 6d 73 20 63 61 6e 20 68 61 76 | s="tok-comment">//.Enums.can.hav |
| 2e280 | 65 20 6d 65 74 68 6f 64 73 2c 20 74 68 65 20 73 61 6d 65 20 61 73 20 73 74 72 75 63 74 73 20 61 | e.methods,.the.same.as.structs.a |
| 2e2a0 | 6e 64 20 75 6e 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | nd.unions.</span>.<span.class="t |
| 2e2c0 | 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 61 72 65 20 | ok-comment">//.Enum.methods.are. |
| 2e2e0 | 6e 6f 74 20 73 70 65 63 69 61 6c 2c 20 74 68 65 79 20 61 72 65 20 6f 6e 6c 79 20 6e 61 6d 65 73 | not.special,.they.are.only.names |
| 2e300 | 70 61 63 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f | paced</span>.<span.class="tok-co |
| 2e320 | 6d 6d 65 6e 74 22 3e 2f 2f 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e | mment">//.functions.that.you.can |
| 2e340 | 20 63 61 6c 6c 20 77 69 74 68 20 64 6f 74 20 73 79 6e 74 61 78 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 | .call.with.dot.syntax.</span>.<s |
| 2e360 | 70 61 6e 20 63 6c 61 73 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>. |
| 2e380 | 53 75 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 3e 65 6e 75 6d | Suit.=.<span.class="tok-kw">enum |
| 2e3a0 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 43 6c 75 62 73 2c 0a 20 20 20 20 53 70 61 64 65 73 2c | </span>.{.....Clubs,.....Spades, |
| 2e3c0 | 0a 20 20 20 20 44 69 61 6d 6f 6e 64 73 2c 0a 20 20 20 20 48 65 61 72 74 73 2c 0a 0a 20 20 20 20 | .....Diamonds,.....Hearts,...... |
| 2e3e0 | 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>. |
| 2e400 | 3c 73 70 61 6e 20 63 6c 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>.< |
| 2e420 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 73 43 6c 75 62 73 3c 2f 73 70 61 | span.class="tok-fn">isClubs</spa |
| 2e440 | 6e 3e 28 73 65 6c 66 3a 20 53 75 69 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | n>(self:.Suit).<span.class="tok- |
| 2e460 | 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 | type">bool</span>.{.........<spa |
| 2e480 | 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 73 | n.class="tok-kw">return</span>.s |
| 2e4a0 | 65 6c 66 20 3d 3d 20 53 75 69 74 2e 43 6c 75 62 73 3b 0a 20 20 20 20 7d 0a 7d 3b 0a 3c 73 70 61 | elf.==.Suit.Clubs;.....}.};.<spa |
| 2e4c0 | 6e 20 63 6c 61 73 73 3d 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 |
| 2e4e0 | 61 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 6d 65 | an.class="tok-str">"enum.me |
| 2e500 | 74 68 6f 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | thod"</span>.{.....<span.cl |
| 2e520 | 61 73 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 53 75 | ass="tok-kw">const</span>.p.=.Su |
| 2e540 | 69 74 2e 53 70 61 64 65 73 3b 0a 20 20 20 20 61 73 73 65 72 74 28 21 70 2e 69 73 43 6c 75 62 73 | it.Spades;.....assert(!p.isClubs |
| 2e560 | 28 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 | ());.}..<span.class="tok-comment |
| 2e580 | 22 3e 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 | ">//.An.enum.variant.of.differen |
| 2e5a0 | 74 20 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 | t.types.can.be.switched.upon.</s |
| 2e5c0 | 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c | pan>.<span.class="tok-kw">const< |
| 2e5e0 | 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | /span>.Foo.=.<span.class="tok-kw |
| 2e600 | 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 53 74 72 69 6e 67 2c 0a 20 20 20 20 | ">enum</span>.{.....String,..... |
| 2e620 | 4e 75 6d 62 65 72 2c 0a 20 20 20 20 4e 6f 6e 65 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | Number,.....None,.};.<span.class |
| 2e640 | 3d 22 74 6f 6b 2d 6b 77 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 |
| 2e660 | 73 3d 22 74 6f 6b 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 | s="tok-str">"enum.variant.s |
| 2e680 | 77 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | witch"</span>.{.....<span.c |
| 2e6a0 | 6c 61 73 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 46 | lass="tok-kw">const</span>.p.=.F |
| 2e6c0 | 6f 6f 2e 4e 75 6d 62 65 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | oo.Number;.....<span.class="tok- |
| 2e6e0 | 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 68 61 74 5f 69 73 5f 69 74 20 3d 20 3c 73 | kw">const</span>.what_is_it.=.<s |
| 2e700 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e | pan.class="tok-kw">switch</span> |
| 2e720 | 20 28 70 29 20 7b 0a 20 20 20 20 20 20 20 20 46 6f 6f 2e 53 74 72 69 6e 67 20 3d 26 67 74 3b 20 | .(p).{.........Foo.String.=>. |
| 2e740 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 | <span.class="tok-str">"this |
| 2e760 | 20 69 73 20 61 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 | .is.a.string"</span>,...... |
| 2e780 | 20 20 20 46 6f 6f 2e 4e 75 6d 62 65 72 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ...Foo.Number.=>.<span.class= |
| 2e7a0 | 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 65 72 | "tok-str">"this.is.a.number |
| 2e7c0 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 46 6f 6f 2e 4e 6f 6e 65 20 | "</span>,.........Foo.None. |
| 2e7e0 | 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f | =>.<span.class="tok-str">&quo |
| 2e800 | 74 3b 74 68 69 73 20 69 73 20 61 20 6e 6f 6e 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 | t;this.is.a.none"</span>,.. |
| 2e820 | 20 20 20 7d 3b 0a 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 | ...};.....assert(mem.eql(<span.c |
| 2e840 | 6c 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 77 68 61 74 5f | lass="tok-type">u8</span>,.what_ |
| 2e860 | 69 73 5f 69 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 | is_it,.<span.class="tok-str">&qu |
| 2e880 | 6f 74 3b 74 68 69 73 20 69 73 20 61 20 6e 75 6d 62 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e | ot;this.is.a.number"</span> |
| 2e8a0 | 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 | ));.}..<span.class="tok-comment" |
| 2e8c0 | 3e 2f 2f 20 40 54 61 67 54 79 70 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 61 63 63 65 | >//.@TagType.can.be.used.to.acce |
| 2e8e0 | 73 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 | ss.the.integer.tag.type.of.an.en |
| 2e900 | 75 6d 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | um.</span>.<span.class="tok-kw"> |
| 2e920 | 63 6f 6e 73 74 3c 2f 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 | const</span>.Small.=.<span.class |
| 2e940 | 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 4f 6e 65 2c | ="tok-kw">enum</span>.{.....One, |
| 2e960 | 0a 20 20 20 20 54 77 6f 2c 0a 20 20 20 20 54 68 72 65 65 2c 0a 20 20 20 20 46 6f 75 72 2c 0a 7d | .....Two,.....Three,.....Four,.} |
| 2e980 | 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 | ;.<span.class="tok-kw">test</spa |
| 2e9a0 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 | n>.<span.class="tok-str">"@ |
| 2e9c0 | 54 61 67 54 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 | TagType"</span>.{.....asser |
| 2e9e0 | 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 61 67 | t(<span.class="tok-builtin">@Tag |
| 2ea00 | 54 79 70 65 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | Type</span>(Small).==.<span.clas |
| 2ea20 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 | s="tok-type">u2</span>);.}..<spa |
| 2ea40 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 74 79 70 65 49 6e | n.class="tok-comment">//.@typeIn |
| 2ea60 | 66 6f 20 74 65 6c 6c 73 20 75 73 20 74 68 65 20 66 69 65 6c 64 20 63 6f 75 6e 74 20 61 6e 64 20 | fo.tells.us.the.field.count.and. |
| 2ea80 | 74 68 65 20 66 69 65 6c 64 73 20 6e 61 6d 65 73 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 | the.fields.names:</span>.<span.c |
| 2eaa0 | 6c 61 73 73 3d 22 74 6f 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. |
| 2eac0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 74 79 70 65 49 6e 66 6f 26 | class="tok-str">"@typeInfo& |
| 2eae0 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 | quot;</span>.{.....assert(<span. |
| 2eb00 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 | class="tok-builtin">@typeInfo</s |
| 2eb20 | 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 3d 3d 20 3c | pan>(Small).Enum.fields.len.==.< |
| 2eb40 | 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> |
| 2eb60 | 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 | );.....assert(mem.eql(<span.clas |
| 2eb80 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c | s="tok-type">u8</span>,.<span.cl |
| 2eba0 | 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 |
| 2ebc0 | 6e 3e 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 | n>(Small).Enum.fields[<span.clas |
| 2ebe0 | 73 3d 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 | s="tok-number">1</span>].name,.< |
| 2ec00 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 54 77 6f 26 71 | span.class="tok-str">"Two&q |
| 2ec20 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | uot;</span>));.}..<span.class="t |
| 2ec40 | 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 40 74 61 67 4e 61 6d 65 20 67 69 76 65 73 20 61 20 | ok-comment">//.@tagName.gives.a. |
| 2ec60 | 5b 5d 63 6f 6e 73 74 20 75 38 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 | []const.u8.representation.of.an. |
| 2ec80 | 65 6e 75 6d 20 76 61 6c 75 65 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | enum.value:</span>.<span.class=" |
| 2eca0 | 74 6f 6b 2d 6b 77 22 3e 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= |
| 2ecc0 | 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 74 61 67 4e 61 6d 65 26 71 75 6f 74 3b 3c 2f | "tok-str">"@tagName"</ |
| 2ece0 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e | span>.{.....assert(mem.eql(<span |
| 2ed00 | 20 63 6c 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 |
| 2ed20 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d 65 3c | an.class="tok-builtin">@tagName< |
| 2ed40 | 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 2e 54 68 72 65 65 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 | /span>(Small.Three),.<span.class |
| 2ed60 | 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 54 68 72 65 65 26 71 75 6f 74 3b 3c 2f 73 70 | ="tok-str">"Three"</sp |
| 2ed80 | 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 | an>));.}</code></pre><pre><code. |
| 2eda0 | 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 65 6e 75 6d 73 2e 7a | class="shell">$.zig.test.enums.z |
| 2edc0 | 69 67 0a 31 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 | ig.1/7.test."enum.ordinal.v |
| 2ede0 | 61 6c 75 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 32 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 73 | alue"...OK.2/7.test."s |
| 2ee00 | 65 74 20 65 6e 75 6d 20 6f 72 64 69 6e 61 6c 20 76 61 6c 75 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b | et.enum.ordinal.value"...OK |
| 2ee20 | 0a 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 71 75 6f 74 | .3/7.test."enum.method" |
| 2ee40 | 3b 2e 2e 2e 4f 4b 0a 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 | ;...OK.4/7.test."enum.varia |
| 2ee60 | 6e 74 20 73 77 69 74 63 68 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 35 2f 37 20 74 65 73 74 20 26 71 | nt.switch"...OK.5/7.test.&q |
| 2ee80 | 75 6f 74 3b 40 54 61 67 54 79 70 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 36 2f 37 20 74 65 73 74 | uot;@TagType"...OK.6/7.test |
| 2eea0 | 20 26 71 75 6f 74 3b 40 74 79 70 65 49 6e 66 6f 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 37 2f 37 20 | ."@typeInfo"...OK.7/7. |
| 2eec0 | 74 65 73 74 20 26 71 75 6f 74 3b 40 74 61 67 4e 61 6d 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 | test."@tagName"...OK.A |
| 2eee0 | 6c 6c 20 37 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | ll.7.tests.passed..</code></pre> |
| 2ef00 | 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 | ........<p>See.also:</p><ul>.<li |
| 2ef20 | 3e 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f | ><a.href="#typeInfo">@typeInfo</ |
| 2ef40 | 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e 40 | a></li>.<li><a.href="#tagName">@ |
| 2ef60 | 74 61 67 4e 61 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 | tagName</a></li>.<li><a.href="#s |
| 2ef80 | 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a | izeOf">@sizeOf</a></li>.</ul>... |
| 2efa0 | 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 3c 61 20 68 72 | ......<h2.id="extern-enum"><a.hr |
| 2efc0 | 65 66 3d 22 23 74 6f 63 2d 65 78 74 65 72 6e 2d 65 6e 75 6d 22 3e 65 78 74 65 72 6e 20 65 6e 75 | ef="#toc-extern-enum">extern.enu |
| 2efe0 | 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 74 65 | m</a>.<a.class="hdr".href="#exte |
| 2f000 | 72 6e 2d 65 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a | rn-enum">..</a></h2>........<p>. |
| 2f020 | 20 20 20 20 20 20 42 79 20 64 65 66 61 75 6c 74 2c 20 65 6e 75 6d 73 20 61 72 65 20 6e 6f 74 20 | ......By.default,.enums.are.not. |
| 2f040 | 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 | guaranteed.to.be.compatible.with |
| 2f060 | 20 74 68 65 20 43 20 41 42 49 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 | .the.C.ABI:.......</p>.......<p. |
| 2f080 | 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 | class="file">test.zig</p><pre><c |
| 2f0a0 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 2f0c0 | 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c | -kw">const</span>.Foo.=.<span.cl |
| 2f0e0 | 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 20 41 2c 20 42 2c | ass="tok-kw">enum</span>.{.A,.B, |
| 2f100 | 20 43 20 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 | .C.};.<span.class="tok-kw">expor |
| 2f120 | 74 3c 2f 73 70 61 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 |
| 2f140 | 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 6e 74 | </span>.<span.class="tok-fn">ent |
| 2f160 | 72 79 3c 2f 73 70 61 6e 3e 28 66 6f 6f 3a 20 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ry</span>(foo:.Foo).<span.class= |
| 2f180 | 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 7d 3c 2f 63 6f 64 65 | "tok-type">void</span>.{.}</code |
| 2f1a0 | 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e | ></pre><pre><code.class="shell"> |
| 2f1c0 | 24 20 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 | $.zig.build-obj.test.zig.<span.c |
| 2f1e0 | 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 |
| 2f200 | 67 3a 32 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 33 31 5f | g:2:22:.</span><span.class="t31_ |
| 2f220 | 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 | 1">error:.</span><span.class="t0 |
| 2f240 | 5f 31 22 3e 70 61 72 61 6d 65 74 65 72 20 6f 66 20 74 79 70 65 20 27 46 6f 6f 27 20 6e 6f 74 20 | _1">parameter.of.type.'Foo'.not. |
| 2f260 | 61 6c 6c 6f 77 65 64 20 69 6e 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 63 61 6c 6c 69 6e 67 | allowed.in.function.with.calling |
| 2f280 | 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 27 43 27 3c 2f 73 70 61 6e 3e 0a 65 78 70 6f 72 74 20 66 6e | .convention.'C'</span>.export.fn |
| 2f2a0 | 20 65 6e 74 72 79 28 66 6f 6f 3a 20 46 6f 6f 29 20 76 6f 69 64 20 7b 20 0a 20 20 20 20 20 20 20 | .entry(foo:.Foo).void.{......... |
| 2f2c0 | 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 |
| 2f2e0 | 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 | ">^</span>.</code></pre>........ |
| 2f300 | 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 61 20 43 2d 41 42 49 2d 63 6f 6d 70 61 74 69 62 6c 65 | <p>.......For.a.C-ABI-compatible |
| 2f320 | 20 65 6e 75 6d 2c 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | .enum,.use.<code.class="zig"><sp |
| 2f340 | 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>. |
| 2f360 | 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> |
| 2f380 | 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 | </code>:.......</p>.......<p.cla |
| 2f3a0 | 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 | ss="file">test.zig</p><pre><code |
| 2f3c0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| 2f3e0 | 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 |
| 2f400 | 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c | ="tok-kw">extern</span>.<span.cl |
| 2f420 | 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 20 41 2c 20 42 2c | ass="tok-kw">enum</span>.{.A,.B, |
| 2f440 | 20 43 20 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 | .C.};.<span.class="tok-kw">expor |
| 2f460 | 74 3c 2f 73 70 61 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 |
| 2f480 | 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 6e 74 | </span>.<span.class="tok-fn">ent |
| 2f4a0 | 72 79 3c 2f 73 70 61 6e 3e 28 66 6f 6f 3a 20 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ry</span>(foo:.Foo).<span.class= |
| 2f4c0 | 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 7d 3c 2f 63 6f 64 65 | "tok-type">void</span>.{.}</code |
| 2f4e0 | 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e | ></pre><pre><code.class="shell"> |
| 2f500 | 24 20 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 74 65 73 74 2e 7a 69 67 3c 2f 63 6f 64 65 3e 3c | $.zig.build-obj.test.zig</code>< |
| 2f520 | 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 70 61 63 | /pre>................<h2.id="pac |
| 2f540 | 6b 65 64 2d 65 6e 75 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 61 63 6b 65 64 2d 65 | ked-enum"><a.href="#toc-packed-e |
| 2f560 | 6e 75 6d 22 3e 70 61 63 6b 65 64 20 65 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 | num">packed.enum</a>.<a.class="h |
| 2f580 | 64 72 22 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 65 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f | dr".href="#packed-enum">..</a></ |
| 2f5a0 | 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 65 20 73 69 | h2>........<p>By.default,.the.si |
| 2f5c0 | 7a 65 20 6f 66 20 65 6e 75 6d 73 20 69 73 20 6e 6f 74 20 67 75 61 72 61 6e 74 65 65 64 2e 3c 2f | ze.of.enums.is.not.guaranteed.</ |
| 2f5e0 | 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | p>.......<p><code.class="zig"><s |
| 2f600 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e | pan.class="tok-kw">packed</span> |
| 2f620 | 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 |
| 2f640 | 3e 3c 2f 63 6f 64 65 3e 20 63 61 75 73 65 73 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 | ></code>.causes.the.size.of.the. |
| 2f660 | 65 6e 75 6d 20 74 6f 20 62 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 74 68 65 20 73 69 7a 65 20 | enum.to.be.the.same.as.the.size. |
| 2f680 | 6f 66 20 74 68 65 0a 20 20 20 20 20 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 20 6f 66 | of.the.......integer.tag.type.of |
| 2f6a0 | 20 74 68 65 20 65 6e 75 6d 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 | .the.enum:</p>.......<p.class="f |
| 2f6c0 | 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | ile">test.zig</p><pre><code.clas |
| 2f6e0 | 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | s="zig"><span.class="tok-kw">con |
| 2f700 | 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 |
| 2f720 | 2d 62 75 69 6c 74 69 6e 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 |
| 2f740 | 6c 61 73 73 3d 22 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">"std"</ |
| 2f760 | 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 | span>);..<span.class="tok-kw">te |
| 2f780 | 73 74 3c 2f 73 70 61 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"> |
| 2f7a0 | 26 71 75 6f 74 3b 70 61 63 6b 65 64 20 65 6e 75 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b | "packed.enum"</span>.{ |
| 2f7c0 | 0a 20 20 20 20 3c 73 70 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< |
| 2f7e0 | 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 22 74 6f 6b | /span>.Number.=.<span.class="tok |
| 2f800 | 2d 6b 77 22 3e 70 61 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | -kw">packed</span>.<span.class=" |
| 2f820 | 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d | tok-kw">enum</span>(<span.class= |
| 2f840 | 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 | "tok-type">u8</span>).{......... |
| 2f860 | 4f 6e 65 2c 0a 20 20 20 20 20 20 20 20 54 77 6f 2c 0a 20 20 20 20 20 20 20 20 54 68 72 65 65 2c | One,.........Two,.........Three, |
| 2f880 | 0a 20 20 20 20 7d 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 28 3c 73 70 | .....};.....std.debug.assert(<sp |
| 2f8a0 | 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</ |
| 2f8c0 | 73 70 61 6e 3e 28 4e 75 6d 62 65 72 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | span>(Number).==.<span.class="to |
| 2f8e0 | 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 | k-builtin">@sizeOf</span>(<span. |
| 2f900 | 63 6c 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 29 3b 0a 7d 3c | class="tok-type">u8</span>));.}< |
| 2f920 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 | /code></pre><pre><code.class="sh |
| 2f940 | 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 | ell">$.zig.test.test.zig.1/1.tes |
| 2f960 | 74 20 26 71 75 6f 74 3b 70 61 63 6b 65 64 20 65 6e 75 6d 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 | t."packed.enum"...OK.A |
| 2f980 | 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | ll.1.tests.passed..</code></pre> |
| 2f9a0 | 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 6d 61 6b 65 73 20 74 68 65 20 65 6e 75 6d 20 65 | ........<p>This.makes.the.enum.e |
| 2f9c0 | 6c 69 67 69 62 6c 65 20 74 6f 20 62 65 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 | ligible.to.be.in.a.<a.href="#pac |
| 2f9e0 | 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 2e 3c 2f | ked-struct">packed.struct</a>.</ |
| 2fa00 | 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 45 6e 75 6d 2d 4c 69 | p>...............<h2.id="Enum-Li |
| 2fa20 | 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 6e 75 6d 2d 4c 69 74 65 72 | terals"><a.href="#toc-Enum-Liter |
| 2fa40 | 61 6c 73 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d | als">Enum.Literals</a>.<a.class= |
| 2fa60 | 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f | "hdr".href="#Enum-Literals">..</ |
| 2fa80 | 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 45 6e 75 6d 20 6c 69 | a></h2>........<p>.......Enum.li |
| 2faa0 | 74 65 72 61 6c 73 20 61 6c 6c 6f 77 20 73 70 65 63 69 66 79 69 6e 67 20 74 68 65 20 6e 61 6d 65 | terals.allow.specifying.the.name |
| 2fac0 | 20 6f 66 20 61 6e 20 65 6e 75 6d 20 66 69 65 6c 64 20 77 69 74 68 6f 75 74 20 73 70 65 63 69 66 | .of.an.enum.field.without.specif |
| 2fae0 | 79 69 6e 67 20 74 68 65 20 65 6e 75 6d 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 | ying.the.enum.type:.......</p>.. |
| 2fb00 | 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 | .....<p.class="file">test.zig</p |
| 2fb20 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ><pre><code.class="zig"><span.cl |
| 2fb40 | 61 73 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.=. |
| 2fb60 | 3c 73 70 61 6e 20 63 6c 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 |
| 2fb80 | 74 3c 2f 73 70 61 6e 3e 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">& |
| 2fba0 | 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c | quot;std"</span>);.<span.cl |
| 2fbc0 | 61 73 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 74 | ass="tok-kw">const</span>.assert |
| 2fbe0 | 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 | .=.std.debug.assert;..<span.clas |
| 2fc00 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 | s="tok-kw">const</span>.Color.=. |
| 2fc20 | 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> |
| 2fc40 | 20 7b 0a 20 20 20 20 41 75 74 6f 2c 0a 20 20 20 20 4f 66 66 2c 0a 20 20 20 20 4f 6e 2c 0a 7d 3b | .{.....Auto,.....Off,.....On,.}; |
| 2fc60 | 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 | ..<span.class="tok-kw">test</spa |
| 2fc80 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 | n>.<span.class="tok-str">"e |
| 2fca0 | 6e 75 6d 20 6c 69 74 65 72 61 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | num.literals"</span>.{..... |
| 2fcc0 | 3c 73 70 61 6e 20 63 6c 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 |
| 2fce0 | 3e 20 63 6f 6c 6f 72 31 3a 20 43 6f 6c 6f 72 20 3d 20 2e 41 75 74 6f 3b 0a 20 20 20 20 3c 73 70 | >.color1:.Color.=..Auto;.....<sp |
| 2fd00 | 61 6e 20 63 6c 61 73 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 |
| 2fd20 | 6f 6c 6f 72 32 20 3d 20 43 6f 6c 6f 72 2e 41 75 74 6f 3b 0a 20 20 20 20 61 73 73 65 72 74 28 63 | olor2.=.Color.Auto;.....assert(c |
| 2fd40 | 6f 6c 6f 72 31 20 3d 3d 20 63 6f 6c 6f 72 32 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | olor1.==.color2);.}..<span.class |
| 2fd60 | 3d 22 74 6f 6b 2d 6b 77 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 |
| 2fd80 | 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 75 73 69 6e 67 20 65 | s="tok-str">"switch.using.e |
| 2fda0 | 6e 75 6d 20 6c 69 74 65 72 61 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | num.literals"</span>.{..... |
| 2fdc0 | 3c 73 70 61 6e 20 63 6c 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 |
| 2fde0 | 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 4f 6e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | >.color.=.Color.On;.....<span.cl |
| 2fe00 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 | ass="tok-kw">const</span>.result |
| 2fe20 | 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</ |
| 2fe40 | 73 70 61 6e 3e 20 28 63 6f 6c 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 2e 41 75 74 6f 20 3d 26 | span>.(color).{..........Auto.=& |
| 2fe60 | 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 |
| 2fe80 | 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 4f 6e 20 3d 26 67 74 3b 20 3c 73 70 61 6e | </span>,..........On.=>.<span |
| 2fea0 | 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 0a 20 | .class="tok-null">true</span>,.. |
| 2fec0 | 20 20 20 20 20 20 20 2e 4f 66 66 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ........Off.=>.<span.class="t |
| 2fee0 | 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 | ok-null">false</span>,.....};... |
| 2ff00 | 20 20 61 73 73 65 72 74 28 72 65 73 75 6c 74 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | ..assert(result);.}</code></pre> |
| 2ff20 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 | <pre><code.class="shell">$.zig.t |
| 2ff40 | 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 65 6e 75 6d | est.test.zig.1/2.test."enum |
| 2ff60 | 20 6c 69 74 65 72 61 6c 73 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 20 26 71 | .literals"...OK.2/2.test.&q |
| 2ff80 | 75 6f 74 3b 73 77 69 74 63 68 20 75 73 69 6e 67 20 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 26 71 | uot;switch.using.enum.literals&q |
| 2ffa0 | 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f | uot;...OK.All.2.tests.passed..</ |
| 2ffc0 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 | code></pre>................<h2.i |
| 2ffe0 | 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 72 65 66 3d | d="Non-exhaustive-enum"><a.href= |
| 30000 | 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 6f 6e 2d 65 | "#toc-Non-exhaustive-enum">Non-e |
| 30020 | 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 22 68 64 72 | xhaustive.enum</a>.<a.class="hdr |
| 30040 | 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 22 3e c2 a7 | ".href="#Non-exhaustive-enum">.. |
| 30060 | 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 4e 6f 6e | </a></h2>........<p>.......A.Non |
| 30080 | 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 74 65 64 20 | -exhaustive.enum.can.be.created. |
| 300a0 | 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 6c 64 2e 0a | by.adding.a.trailing.'_'.field.. |
| 300c0 | 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 20 74 79 70 | ......It..must.specify.a.tag.typ |
| 300e0 | 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 6e 75 6d 65 | e.and.cannot.consume.every.enume |
| 30100 | 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 20 20 20 3c | ration.value........</p>.......< |
| 30120 | 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 22 3e 40 69 | p>.......<a.href="#intToEnum">@i |
| 30140 | 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 74 69 76 65 | ntToEnum</a>.on.a.non-exhaustive |
| 30160 | 20 65 6e 75 6d 20 63 61 6e 6e 6f 74 20 66 61 69 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 | .enum.cannot.fail........</p>... |
| 30180 | 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 73 77 69 74 63 68 20 6f 6e 20 61 20 6e 6f 6e 2d | ....<p>.......A.switch.on.a.non- |
| 301a0 | 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 20 63 61 6e 20 69 6e 63 6c 75 64 65 20 61 20 27 5f | exhaustive.enum.can.include.a.'_ |
| 301c0 | 27 20 70 72 6f 6e 67 20 61 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 20 61 6e 20 | '.prong.as.an.alternative.to.an. |
| 301e0 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 30200 | 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 6f 6e 67 0a | ok-kw">else</span></code>.prong. |
| 30220 | 20 20 20 20 20 20 77 69 74 68 20 74 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 62 65 69 6e 67 20 | ......with.the.difference.being. |
| 30240 | 74 68 61 74 20 69 74 20 6d 61 6b 65 73 20 69 74 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 | that.it.makes.it.a.compile.error |
| 30260 | 20 69 66 20 61 6c 6c 20 74 68 65 20 6b 6e 6f 77 6e 20 74 61 67 20 6e 61 6d 65 73 20 61 72 65 20 | .if.all.the.known.tag.names.are. |
| 30280 | 6e 6f 74 20 68 61 6e 64 6c 65 64 20 62 79 20 74 68 65 20 73 77 69 74 63 68 2e 0a 20 20 20 20 20 | not.handled.by.the.switch....... |
| 302a0 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 | .</p>.......<p.class="file">test |
| 302c0 | 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | .zig</p><pre><code.class="zig">< |
| 302e0 | 73 70 61 6e 20 63 6c 61 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> |
| 30300 | 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" |
| 30320 | 3e 40 69 6d 70 6f 72 74 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 |
| 30340 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c | -str">"std"</span>);.< |
| 30360 | 73 70 61 6e 20 63 6c 61 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> |
| 30380 | 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 | .assert.=.std.debug.assert;..<sp |
| 303a0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e | an.class="tok-kw">const</span>.N |
| 303c0 | 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 6b 77 22 3e 65 6e 75 | umber.=.<span.class="tok-kw">enu |
| 303e0 | 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 3e | m</span>(<span.class="tok-type"> |
| 30400 | 75 38 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 4f 6e 65 2c 0a 20 20 20 20 54 77 6f 2c 0a 20 | u8</span>).{.....One,.....Two,.. |
| 30420 | 20 20 20 54 68 72 65 65 2c 0a 20 20 20 20 5f 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | ...Three,....._,.};..<span.class |
| 30440 | 3d 22 74 6f 6b 2d 6b 77 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 |
| 30460 | 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 6e 2d | s="tok-str">"switch.on.non- |
| 30480 | 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 0a 20 | exhaustive.enum"</span>.{.. |
| 304a0 | 20 20 20 3c 73 70 61 6e 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 |
| 304c0 | 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 4e 75 6d 62 65 72 2e 4f 6e 65 3b 0a 20 20 20 20 3c 73 | pan>.number.=.Number.One;.....<s |
| 304e0 | 70 61 6e 20 63 6c 61 73 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>. |
| 30500 | 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 73 77 | result.=.<span.class="tok-kw">sw |
| 30520 | 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 20 7b 0a 20 20 20 20 20 20 20 20 2e | itch</span>.(number).{.......... |
| 30540 | 4f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 | One.=>.<span.class="tok-null" |
| 30560 | 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 54 77 6f 2c 0a 20 20 20 20 | >true</span>,..........Two,..... |
| 30580 | 20 20 20 20 2e 54 68 72 65 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | .....Three.=>.<span.class="to |
| 305a0 | 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 5f 20 | k-null">false</span>,........._. |
| 305c0 | 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c | =>.<span.class="tok-null">fal |
| 305e0 | 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 61 73 73 65 72 74 28 72 65 73 | se</span>,.....};.....assert(res |
| 30600 | 75 6c 74 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | ult);.....<span.class="tok-kw">c |
| 30620 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 73 5f 6f 6e 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | onst</span>.is_one.=.<span.class |
| 30640 | 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 6e 75 6d 62 65 72 29 | ="tok-kw">switch</span>.(number) |
| 30660 | 20 7b 0a 20 20 20 20 20 20 20 20 2e 4f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 | .{..........One.=>.<span.clas |
| 30680 | 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 0a 20 20 20 20 20 20 | s="tok-null">true</span>,....... |
| 306a0 | 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 |
| 306c0 | 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>.=>.<span.class="tok-null"> |
| 306e0 | 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 61 73 73 65 72 74 28 | false</span>,.....};.....assert( |
| 30700 | 69 73 5f 6f 6e 65 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 | is_one);.}</code></pre><pre><cod |
| 30720 | 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e | e.class="shell">$.zig.test.test. |
| 30740 | 7a 69 67 0a 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 6e 6f 6e | zig.1/1.test."switch.on.non |
| 30760 | 2d 65 78 68 61 75 73 74 69 76 65 20 65 6e 75 6d 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 | -exhaustive.enum"...OK.All. |
| 30780 | 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 | 1.tests.passed..</code></pre>... |
| 307a0 | 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 75 6e 69 6f | ....................<h1.id="unio |
| 307c0 | 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 |
| 307e0 | 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">. |
| 30800 | a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 62 61 | .</a></h1>........<p>.......A.ba |
| 30820 | 72 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re.<code.class="zig"><span.class |
| 30840 | 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 64 65 | ="tok-kw">union</span></code>.de |
| 30860 | 66 69 6e 65 73 20 61 20 73 65 74 20 6f 66 20 70 6f 73 73 69 62 6c 65 20 74 79 70 65 73 20 74 68 | fines.a.set.of.possible.types.th |
| 30880 | 61 74 20 61 20 76 61 6c 75 65 0a 20 20 20 20 20 20 63 61 6e 20 62 65 20 61 73 20 61 20 6c 69 73 | at.a.value.......can.be.as.a.lis |
| 308a0 | 74 20 6f 66 20 66 69 65 6c 64 73 2e 20 4f 6e 6c 79 20 6f 6e 65 20 66 69 65 6c 64 20 63 61 6e 20 | t.of.fields..Only.one.field.can. |
| 308c0 | 62 65 20 61 63 74 69 76 65 20 61 74 20 61 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 54 68 65 20 69 | be.active.at.a.time........The.i |
| 308e0 | 6e 2d 6d 65 6d 6f 72 79 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 62 61 72 65 20 | n-memory.representation.of.bare. |
| 30900 | 75 6e 69 6f 6e 73 20 69 73 20 6e 6f 74 20 67 75 61 72 61 6e 74 65 65 64 2e 0a 20 20 20 20 20 20 | unions.is.not.guaranteed........ |
| 30920 | 42 61 72 65 20 75 6e 69 6f 6e 73 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 | Bare.unions.cannot.be.used.to.re |
| 30940 | 69 6e 74 65 72 70 72 65 74 20 6d 65 6d 6f 72 79 2e 20 46 6f 72 20 74 68 61 74 2c 20 75 73 65 20 | interpret.memory..For.that,.use. |
| 30960 | 3c 61 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e 40 70 74 72 43 61 73 74 3c 2f 61 3e 2c | <a.href="#ptrCast">@ptrCast</a>, |
| 30980 | 0a 20 20 20 20 20 20 6f 72 20 75 73 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 65 78 74 65 72 | .......or.use.an.<a.href="#exter |
| 309a0 | 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 20 6f 72 20 61 20 3c | n-union">extern.union</a>.or.a.< |
| 309c0 | 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 75 6e 69 6f 6e 22 3e 70 61 63 6b 65 64 20 75 6e | a.href="#packed-union">packed.un |
| 309e0 | 69 6f 6e 3c 2f 61 3e 20 77 68 69 63 68 20 68 61 76 65 0a 20 20 20 20 20 20 67 75 61 72 61 6e 74 | ion</a>.which.have.......guarant |
| 30a00 | 65 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 2e 0a 20 20 20 20 20 20 3c 61 20 68 | eed.in-memory.layout........<a.h |
| 30a20 | 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 73 22 3e | ref="#Wrong-Union-Field-Access"> |
| 30a40 | 41 63 63 65 73 73 69 6e 67 20 74 68 65 20 6e 6f 6e 2d 61 63 74 69 76 65 20 66 69 65 6c 64 3c 2f | Accessing.the.non-active.field</ |
| 30a60 | 61 3e 20 69 73 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 | a>.is.......safety-checked.<a.hr |
| 30a80 | 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 |
| 30aa0 | 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 | ed.Behavior</a>:.......</p>..... |
| 30ac0 | 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 | ..<p.class="file">test.zig</p><p |
| 30ae0 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| 30b00 | 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 3d | ="tok-kw">const</span>.Payload.= |
| 30b20 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 | .<span.class="tok-kw">union</spa |
| 30b40 | 6e 3e 20 7b 0a 20 20 20 20 49 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | n>.{.....Int:.<span.class="tok-t |
| 30b60 | 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 46 6c 6f 61 74 3a 20 3c 73 70 61 | ype">i64</span>,.....Float:.<spa |
| 30b80 | 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 0a 20 | n.class="tok-type">f64</span>,.. |
| 30ba0 | 20 20 20 42 6f 6f 6c 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | ...Bool:.<span.class="tok-type"> |
| 30bc0 | 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | bool</span>,.};.<span.class="tok |
| 30be0 | 2d 6b 77 22 3e 74 65 73 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 |
| 30c00 | 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 71 75 6f 74 3b 3c | k-str">"simple.union"< |
| 30c20 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | /span>.{.....<span.class="tok-kw |
| 30c40 | 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{. |
| 30c60 | 2e 49 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"> |
| 30c80 | 31 32 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 70 61 79 6c 6f 61 64 2e 46 6c 6f 61 74 | 1234</span>.};.....payload.Float |
| 30ca0 | 20 3d 20 3c 73 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 |
| 30cc0 | 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f | 4</span>;.}</code></pre><pre><co |
| 30ce0 | 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 | de.class="shell">$.zig.test.test |
| 30d00 | 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 69 6d 70 6c 65 20 75 6e 69 6f 6e | .zig.1/1.test."simple.union |
| 30d20 | 26 71 75 6f 74 3b 2e 2e 2e 61 63 63 65 73 73 20 6f 66 20 69 6e 61 63 74 69 76 65 20 75 6e 69 6f | "...access.of.inactive.unio |
| 30d40 | 6e 20 66 69 65 6c 64 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 | n.field.<span.class="t37_1">/dep |
| 30d60 | 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 38 3a 31 32 3c 2f | s/zig/docgen_tmp/test.zig:8:12</ |
| 30d80 | 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 34 63 | span>:.<span.class="t2_0">0x204c |
| 30da0 | 31 62 20 69 6e 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 | 1b.in.test."simple.union&qu |
| 30dc0 | 6f 74 3b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 70 61 79 6c 6f 61 64 2e 46 6c | ot;.(test)</span>.....payload.Fl |
| 30de0 | 6f 61 74 20 3d 20 31 32 2e 33 34 3b 0a 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c | oat.=.12.34;............<span.cl |
| 30e00 | 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | ass="t32_1">^</span>.<span.class |
| 30e20 | 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 | ="t37_1">/deps/zig/lib/std/speci |
| 30e40 | 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 34 37 3a 32 38 3c 2f 73 70 61 6e 3e 3a | al/test_runner.zig:47:28</span>: |
| 30e60 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 62 62 31 65 20 69 6e 20 | .<span.class="t2_0">0x22bb1e.in. |
| 30e80 | 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 0a 20 | std.special.main.(test)</span>.. |
| 30ea0 | 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 0a 20 20 | .......}.else.test_fn.func();... |
| 30ec0 | 20 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 |
| 30ee0 | 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 | lass="t32_1">^</span>.<span.clas |
| 30f00 | 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 | s="t37_1">/deps/zig/lib/std/star |
| 30f20 | 74 2e 7a 69 67 3a 32 35 33 3a 33 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | t.zig:253:37</span>:.<span.class |
| 30f40 | 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 36 34 64 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f | ="t2_0">0x20564d.in.std.start.po |
| 30f60 | 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e | sixCallMainAndExit.(test)</span> |
| 30f80 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 72 65 73 75 6c 74 20 3d 20 72 6f 6f 74 | .............const.result.=.root |
| 30fa0 | 2e 6d 61 69 6e 28 29 20 63 61 74 63 68 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 | .main().catch.|err|.{........... |
| 30fc0 | 20 20 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. |
| 30fe0 | 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 | class="t32_1">^</span>.<span.cla |
| 31000 | 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 | ss="t37_1">/deps/zig/lib/std/sta |
| 31020 | 72 74 2e 7a 69 67 3a 31 32 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | rt.zig:123:5</span>:.<span.class |
| 31040 | 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 33 38 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 | ="t2_0">0x20538f.in.std.start._s |
| 31060 | 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 | tart.(test)</span>.....@call(.{. |
| 31080 | 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 |
| 310a0 | 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 | ixCallMainAndExit,..{});.....<sp |
| 310c0 | 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 0a 54 65 73 74 73 | an.class="t32_1">^</span>..Tests |
| 310e0 | 20 66 61 69 6c 65 64 2e 20 55 73 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 | .failed..Use.the.following.comma |
| 31100 | 6e 64 20 74 6f 20 72 65 70 72 6f 64 75 63 65 20 74 68 65 20 66 61 69 6c 75 72 65 3a 0a 2f 64 65 | nd.to.reproduce.the.failure:./de |
| 31120 | 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 0a 3c 2f 63 6f 64 65 3e 3c 2f | ps/zig/docgen_tmp/test.</code></ |
| 31140 | 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 59 6f 75 20 63 61 6e 20 61 63 74 69 76 61 74 65 20 | pre>........<p>You.can.activate. |
| 31160 | 61 6e 6f 74 68 65 72 20 66 69 65 6c 64 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 68 65 20 65 | another.field.by.assigning.the.e |
| 31180 | 6e 74 69 72 65 20 75 6e 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d | ntire.union:</p>.......<p.class= |
| 311a0 | 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | "file">test.zig</p><pre><code.cl |
| 311c0 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | ass="zig"><span.class="tok-kw">c |
| 311e0 | 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 |
| 31200 | 6f 6b 2d 62 75 69 6c 74 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 |
| 31220 | 20 63 6c 61 73 73 3d 22 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">"std" |
| 31240 | 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | </span>);.<span.class="tok-kw">c |
| 31260 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 | onst</span>.assert.=.std.debug.a |
| 31280 | 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | ssert;..<span.class="tok-kw">con |
| 312a0 | 73 74 3c 2f 73 70 61 6e 3e 20 50 61 79 6c 6f 61 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | st</span>.Payload.=.<span.class= |
| 312c0 | 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 49 6e 74 3a | "tok-kw">union</span>.{.....Int: |
| 312e0 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 | .<span.class="tok-type">i64</spa |
| 31300 | 6e 3e 2c 0a 20 20 20 20 46 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | n>,.....Float:.<span.class="tok- |
| 31320 | 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 42 6f 6f 6c 3a 20 3c 73 70 61 | type">f64</span>,.....Bool:.<spa |
| 31340 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 0a | n.class="tok-type">bool</span>,. |
| 31360 | 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 | };.<span.class="tok-kw">test</sp |
| 31380 | 61 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">" |
| 313a0 | 73 69 6d 70 6c 65 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | simple.union"</span>.{..... |
| 313c0 | 3c 73 70 61 6e 20 63 6c 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>. |
| 313e0 | 70 61 79 6c 6f 61 64 20 3d 20 50 61 79 6c 6f 61 64 7b 20 2e 49 6e 74 20 3d 20 3c 73 70 61 6e 20 | payload.=.Payload{..Int.=.<span. |
| 31400 | 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 20 7d | class="tok-number">1234</span>.} |
| 31420 | 3b 0a 20 20 20 20 61 73 73 65 72 74 28 70 61 79 6c 6f 61 64 2e 49 6e 74 20 3d 3d 20 3c 73 70 61 | ;.....assert(payload.Int.==.<spa |
| 31440 | 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> |
| 31460 | 29 3b 0a 20 20 20 20 70 61 79 6c 6f 61 64 20 3d 20 50 61 79 6c 6f 61 64 7b 20 2e 46 6c 6f 61 74 | );.....payload.=.Payload{..Float |
| 31480 | 20 3d 20 3c 73 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 |
| 314a0 | 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 61 73 73 65 72 74 28 70 61 79 6c 6f 61 64 2e 46 | 4</span>.};.....assert(payload.F |
| 314c0 | 6c 6f 61 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | loat.==.<span.class="tok-number" |
| 314e0 | 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 | >12.34</span>);.}</code></pre><p |
| 31500 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 | re><code.class="shell">$.zig.tes |
| 31520 | 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 69 6d 70 6c 65 | t.test.zig.1/1.test."simple |
| 31540 | 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 | .union"...OK.All.1.tests.pa |
| 31560 | 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 | ssed..</code></pre>........<p>.. |
| 31580 | 20 20 20 20 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 73 | .....In.order.to.use.<a.href="#s |
| 315a0 | 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 77 69 74 68 20 61 20 75 6e 69 6f 6e 2c 20 | witch">switch</a>.with.a.union,. |
| 315c0 | 69 74 20 6d 75 73 74 20 62 65 20 61 20 3c 61 20 68 72 65 66 3d 22 23 54 61 67 67 65 64 2d 75 6e | it.must.be.a.<a.href="#Tagged-un |
| 315e0 | 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 | ion">Tagged.union</a>........</p |
| 31600 | 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 | >.......<p>.......To.initialize. |
| 31620 | 61 20 75 6e 69 6f 6e 20 77 68 65 6e 20 74 68 65 20 74 61 67 20 69 73 20 61 20 3c 61 20 68 72 65 | a.union.when.the.tag.is.a.<a.hre |
| 31640 | 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e | f="#comptime">comptime</a>-known |
| 31660 | 20 6e 61 6d 65 2c 20 73 65 65 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 49 6e 69 74 22 3e | .name,.see.<a.href="#unionInit"> |
| 31680 | 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 | @unionInit</a>........</p>...... |
| 316a0 | 20 20 3c 68 32 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 | ..<h2.id="Tagged-union"><a.href= |
| 316c0 | 22 23 74 6f 63 2d 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 6e 69 6f 6e | "#toc-Tagged-union">Tagged.union |
| 316e0 | 3c 2f 61 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 | </a>.<a.class="hdr".href="#Tagge |
| 31700 | 64 2d 75 6e 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 55 | d-union">..</a></h2>........<p>U |
| 31720 | 6e 69 6f 6e 73 20 63 61 6e 20 62 65 20 64 65 63 6c 61 72 65 64 20 77 69 74 68 20 61 6e 20 65 6e | nions.can.be.declared.with.an.en |
| 31740 | 75 6d 20 74 61 67 20 74 79 70 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 74 75 72 6e 73 20 74 68 | um.tag.type........This.turns.th |
| 31760 | 65 20 75 6e 69 6f 6e 20 69 6e 74 6f 20 61 20 3c 65 6d 3e 74 61 67 67 65 64 3c 2f 65 6d 3e 20 75 | e.union.into.a.<em>tagged</em>.u |
| 31780 | 6e 69 6f 6e 2c 20 77 68 69 63 68 20 6d 61 6b 65 73 20 69 74 20 65 6c 69 67 69 62 6c 65 0a 20 20 | nion,.which.makes.it.eligible... |
| 317a0 | 20 20 20 20 74 6f 20 75 73 65 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 | ....to.use.with.<a.href="#switch |
| 317c0 | 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 4f 6e 65 20 63 61 | ">switch</a>.expressions..One.ca |
| 317e0 | 6e 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 54 61 67 54 79 70 65 22 3e 40 54 61 67 54 79 70 | n.use.<a.href="#TagType">@TagTyp |
| 31800 | 65 3c 2f 61 3e 20 74 6f 0a 20 20 20 20 20 20 6f 62 74 61 69 6e 20 74 68 65 20 65 6e 75 6d 20 74 | e</a>.to.......obtain.the.enum.t |
| 31820 | 79 70 65 20 66 72 6f 6d 20 74 68 65 20 75 6e 69 6f 6e 20 74 79 70 65 2e 0a 20 20 20 20 20 20 54 | ype.from.the.union.type........T |
| 31840 | 61 67 67 65 64 20 75 6e 69 6f 6e 73 20 63 6f 65 72 63 65 20 74 6f 20 74 68 65 69 72 20 74 61 67 | agged.unions.coerce.to.their.tag |
| 31860 | 20 74 79 70 65 3a 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 | .type:.<a.href="#Type-Coercion-u |
| 31880 | 6e 69 6f 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 | nions-and-enums">Type.Coercion:. |
| 318a0 | 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e | unions.and.enums</a>........</p> |
| 318c0 | 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c | .......<p.class="file">test.zig< |
| 318e0 | 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | /p><pre><code.class="zig"><span. |
| 31900 | 63 6c 61 73 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. |
| 31920 | 3d 20 3c 73 70 61 6e 20 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 |
| 31940 | 6f 72 74 3c 2f 73 70 61 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" |
| 31960 | 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 | >"std"</span>);.<span. |
| 31980 | 63 6c 61 73 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 |
| 319a0 | 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c | rt.=.std.debug.assert;..<span.cl |
| 319c0 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6d 70 6c 65 | ass="tok-kw">const</span>.Comple |
| 319e0 | 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 3e | xTypeTag.=.<span.class="tok-kw"> |
| 31a00 | 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 4f 6b 2c 0a 20 20 20 20 4e 6f 74 4f 6b 2c | enum</span>.{.....Ok,.....NotOk, |
| 31a20 | 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | .};.<span.class="tok-kw">const</ |
| 31a40 | 73 70 61 6e 3e 20 43 6f 6d 70 6c 65 78 54 79 70 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | span>.ComplexType.=.<span.class= |
| 31a60 | 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 43 6f 6d 70 6c 65 78 54 79 70 | "tok-kw">union</span>(ComplexTyp |
| 31a80 | 65 54 61 67 29 20 7b 0a 20 20 20 20 4f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | eTag).{.....Ok:.<span.class="tok |
| 31aa0 | 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 4e 6f 74 4f 6b 3a 20 3c 73 70 | -type">u8</span>,.....NotOk:.<sp |
| 31ac0 | 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 2c | an.class="tok-type">void</span>, |
| 31ae0 | 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f | .};..<span.class="tok-kw">test</ |
| 31b00 | 73 70 61 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 |
| 31b20 | 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"</ |
| 31b40 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | span>.{.....<span.class="tok-kw" |
| 31b60 | 3e 63 6f 6e 73 74 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 | >const</span>.c.=.ComplexType{.. |
| 31b80 | 4f 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 34 32 | Ok.=.<span.class="tok-number">42 |
| 31ba0 | 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 | </span>.};.....assert(<span.clas |
| 31bc0 | 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 6c | s="tok-builtin">@as</span>(Compl |
| 31be0 | 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 2e | exTypeTag,.c).==.ComplexTypeTag. |
| 31c00 | 4f 6b 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 | Ok);......<span.class="tok-kw">s |
| 31c20 | 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 0a 20 20 20 20 20 20 20 20 43 6f 6d 70 6c | witch</span>.(c).{.........Compl |
| 31c40 | 65 78 54 79 70 65 54 61 67 2e 4f 6b 20 3d 26 67 74 3b 20 7c 76 61 6c 75 65 7c 20 61 73 73 65 72 | exTypeTag.Ok.=>.|value|.asser |
| 31c60 | 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | t(value.==.<span.class="tok-numb |
| 31c80 | 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 | er">42</span>),.........ComplexT |
| 31ca0 | 79 70 65 54 61 67 2e 4e 6f 74 4f 6b 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ypeTag.NotOk.=>.<span.class=" |
| 31cc0 | 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 | tok-kw">unreachable</span>,..... |
| 31ce0 | 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f | }.}..<span.class="tok-kw">test</ |
| 31d00 | 73 70 61 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 |
| 31d20 | 74 3b 40 54 61 67 54 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 | t;@TagType"</span>.{.....as |
| 31d40 | 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">@ |
| 31d60 | 54 61 67 54 79 70 65 3c 2f 73 70 61 6e 3e 28 43 6f 6d 70 6c 65 78 54 79 70 65 29 20 3d 3d 20 43 | TagType</span>(ComplexType).==.C |
| 31d80 | 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | omplexTypeTag);.}..<span.class=" |
| 31da0 | 74 6f 6b 2d 6b 77 22 3e 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= |
| 31dc0 | 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 71 | "tok-str">"coerce.to.enum&q |
| 31de0 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | uot;</span>.{.....<span.class="t |
| 31e00 | 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 31 20 3d 20 43 6f 6d 70 6c 65 78 | ok-kw">const</span>.c1.=.Complex |
| 31e20 | 54 79 70 65 7b 20 2e 4f 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 |
| 31e40 | 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | ber">42</span>.};.....<span.clas |
| 31e60 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 32 20 3d 20 43 6f 6d | s="tok-kw">const</span>.c2.=.Com |
| 31e80 | 70 6c 65 78 54 79 70 65 2e 4e 6f 74 4f 6b 3b 0a 0a 20 20 20 20 61 73 73 65 72 74 28 63 31 20 3d | plexType.NotOk;......assert(c1.= |
| 31ea0 | 3d 20 2e 4f 6b 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 63 32 20 3d 3d 20 2e 4e 6f 74 4f 6b 29 | =..Ok);.....assert(c2.==..NotOk) |
| 31ec0 | 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | ;.}</code></pre><pre><code.class |
| 31ee0 | 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 33 | ="shell">$.zig.test.test.zig.1/3 |
| 31f00 | 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 64 20 75 6e 69 | .test."switch.on.tagged.uni |
| 31f20 | 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 32 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 40 54 61 | on"...OK.2/3.test."@Ta |
| 31f40 | 67 54 79 70 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 33 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b | gType"...OK.3/3.test." |
| 31f60 | 63 6f 65 72 63 65 20 74 6f 20 65 6e 75 6d 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 33 20 | coerce.to.enum"...OK.All.3. |
| 31f80 | 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 | tests.passed..</code></pre>..... |
| 31fa0 | 20 20 20 3c 70 3e 49 6e 20 6f 72 64 65 72 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 70 61 79 | ...<p>In.order.to.modify.the.pay |
| 31fc0 | 6c 6f 61 64 20 6f 66 20 61 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 20 69 6e 20 61 20 73 77 69 74 | load.of.a.tagged.union.in.a.swit |
| 31fe0 | 63 68 20 65 78 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 70 6c 61 63 65 20 61 20 3c 63 6f | ch.expression,.......place.a.<co |
| 32000 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2a 3c 2f 63 6f 64 65 3e 20 62 65 66 6f 72 65 20 74 | de.class="zig">*</code>.before.t |
| 32020 | 68 65 20 76 61 72 69 61 62 6c 65 20 6e 61 6d 65 20 74 6f 20 6d 61 6b 65 20 69 74 20 61 20 70 6f | he.variable.name.to.make.it.a.po |
| 32040 | 69 6e 74 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 | inter:.......</p>.......<p.class |
| 32060 | 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | ="file">test.zig</p><pre><code.c |
| 32080 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | lass="zig"><span.class="tok-kw"> |
| 320a0 | 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=" |
| 320c0 | 74 6f 6b 2d 62 75 69 6c 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 |
| 320e0 | 6e 20 63 6c 61 73 73 3d 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">"std" |
| 32100 | 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ;</span>);.<span.class="tok-kw"> |
| 32120 | 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e | const</span>.assert.=.std.debug. |
| 32140 | 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | assert;..<span.class="tok-kw">co |
| 32160 | 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 |
| 32180 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 | n.class="tok-kw">enum</span>.{.. |
| 321a0 | 20 20 20 4f 6b 2c 0a 20 20 20 20 4e 6f 74 4f 6b 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | ...Ok,.....NotOk,.};.<span.class |
| 321c0 | 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6d 70 6c 65 78 54 79 | ="tok-kw">const</span>.ComplexTy |
| 321e0 | 70 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c | pe.=.<span.class="tok-kw">union< |
| 32200 | 2f 73 70 61 6e 3e 28 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 29 20 7b 0a 20 20 20 20 4f 6b 3a | /span>(ComplexTypeTag).{.....Ok: |
| 32220 | 20 3c 73 70 61 6e 20 63 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 |
| 32240 | 3e 2c 0a 20 20 20 20 4e 6f 74 4f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | >,.....NotOk:.<span.class="tok-t |
| 32260 | 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 | ype">void</span>,.};..<span.clas |
| 32280 | 73 3d 22 74 6f 6b 2d 6b 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 |
| 322a0 | 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 6f 64 69 66 79 20 74 61 67 67 65 64 | ss="tok-str">"modify.tagged |
| 322c0 | 20 75 6e 69 6f 6e 20 69 6e 20 73 77 69 74 63 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a | .union.in.switch"</span>.{. |
| 322e0 | 20 20 20 20 3c 73 70 61 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 |
| 32300 | 61 6e 3e 20 63 20 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 7b 20 2e 4f 6b 20 3d 20 3c 73 70 61 6e | an>.c.=.ComplexType{..Ok.=.<span |
| 32320 | 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 20 7d 3b | .class="tok-number">42</span>.}; |
| 32340 | 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 | .....assert(<span.class="tok-bui |
| 32360 | 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, |
| 32380 | 20 63 29 20 3d 3d 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 4f 6b 29 3b 0a 0a 20 20 20 20 | .c).==.ComplexTypeTag.Ok);...... |
| 323a0 | 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 |
| 323c0 | 6e 3e 20 28 63 29 20 7b 0a 20 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e | n>.(c).{.........ComplexTypeTag. |
| 323e0 | 4f 6b 20 3d 26 67 74 3b 20 7c 2a 76 61 6c 75 65 7c 20 76 61 6c 75 65 2e 2a 20 2b 3d 20 3c 73 70 | Ok.=>.|*value|.value.*.+=.<sp |
| 32400 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a | an.class="tok-number">1</span>,. |
| 32420 | 20 20 20 20 20 20 20 20 43 6f 6d 70 6c 65 78 54 79 70 65 54 61 67 2e 4e 6f 74 4f 6b 20 3d 26 67 | ........ComplexTypeTag.NotOk.=&g |
| 32440 | 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 | t;.<span.class="tok-kw">unreacha |
| 32460 | 62 6c 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 0a 0a 20 20 20 20 61 73 73 65 72 74 28 63 2e | ble</span>,.....}......assert(c. |
| 32480 | 4f 6b 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 | Ok.==.<span.class="tok-number">4 |
| 324a0 | 33 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 | 3</span>);.}</code></pre><pre><c |
| 324c0 | 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 | ode.class="shell">$.zig.test.tes |
| 324e0 | 74 2e 7a 69 67 0a 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 | t.zig.1/1.test."modify.tagg |
| 32500 | 65 64 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 4f 4b 0a 41 6c | ed.union.in.switch"...OK.Al |
| 32520 | 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a | l.1.tests.passed..</code></pre>. |
| 32540 | 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 55 6e 69 6f 6e 73 20 63 61 6e 20 62 65 20 6d | .......<p>.......Unions.can.be.m |
| 32560 | 61 64 65 20 74 6f 20 69 6e 66 65 72 20 74 68 65 20 65 6e 75 6d 20 74 61 67 20 74 79 70 65 2e 0a | ade.to.infer.the.enum.tag.type.. |
| 32580 | 20 20 20 20 20 20 46 75 72 74 68 65 72 2c 20 75 6e 69 6f 6e 73 20 63 61 6e 20 68 61 76 65 20 6d | ......Further,.unions.can.have.m |
| 325a0 | 65 74 68 6f 64 73 20 6a 75 73 74 20 6c 69 6b 65 20 73 74 72 75 63 74 73 20 61 6e 64 20 65 6e 75 | ethods.just.like.structs.and.enu |
| 325c0 | 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 | ms........</p>.......<p.class="f |
| 325e0 | 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | ile">test.zig</p><pre><code.clas |
| 32600 | 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | s="zig"><span.class="tok-kw">con |
| 32620 | 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 |
| 32640 | 2d 62 75 69 6c 74 69 6e 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 |
| 32660 | 6c 61 73 73 3d 22 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">"std"</ |
| 32680 | 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | span>);.<span.class="tok-kw">con |
| 326a0 | 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 | st</span>.assert.=.std.debug.ass |
| 326c0 | 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | ert;..<span.class="tok-kw">const |
| 326e0 | 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 3d 22 74 | </span>.Variant.=.<span.class="t |
| 32700 | 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ok-kw">union</span>(<span.class= |
| 32720 | 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 49 6e 74 3a | "tok-kw">enum</span>).{.....Int: |
| 32740 | 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 |
| 32760 | 6e 3e 2c 0a 20 20 20 20 42 6f 6f 6c 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | n>,.....Bool:.<span.class="tok-t |
| 32780 | 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | ype">bool</span>,......<span.cla |
| 327a0 | 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 6f 69 64 20 63 61 6e 20 62 65 20 | ss="tok-comment">//.void.can.be. |
| 327c0 | 6f 6d 69 74 74 65 64 20 77 68 65 6e 20 69 6e 66 65 72 72 69 6e 67 20 65 6e 75 6d 20 74 61 67 20 | omitted.when.inferring.enum.tag. |
| 327e0 | 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 4e 6f 6e 65 2c 0a 0a 20 20 20 20 3c 73 70 61 | type.</span>.....None,......<spa |
| 32800 | 6e 20 63 6c 61 73 73 3d 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 |
| 32820 | 20 63 6c 61 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 | .class="tok-fn">truthy</span>(se |
| 32840 | 6c 66 3a 20 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 | lf:.Variant).<span.class="tok-ty |
| 32860 | 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | pe">bool</span>.{.........<span. |
| 32880 | 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 |
| 328a0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 | an.class="tok-kw">switch</span>. |
| 328c0 | 28 73 65 6c 66 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 56 61 72 69 61 6e 74 2e 49 6e 74 | (self).{.............Variant.Int |
| 328e0 | 20 3d 26 67 74 3b 20 7c 78 5f 69 6e 74 7c 20 78 5f 69 6e 74 20 21 3d 20 3c 73 70 61 6e 20 63 6c | .=>.|x_int|.x_int.!=.<span.cl |
| 32900 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 | ass="tok-number">0</span>,...... |
| 32920 | 20 20 20 20 20 20 20 56 61 72 69 61 6e 74 2e 42 6f 6f 6c 20 3d 26 67 74 3b 20 7c 78 5f 62 6f 6f | .......Variant.Bool.=>.|x_boo |
| 32940 | 6c 7c 20 78 5f 62 6f 6f 6c 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 56 61 72 69 61 6e 74 2e 4e | l|.x_bool,.............Variant.N |
| 32960 | 6f 6e 65 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 | one.=>.<span.class="tok-null" |
| 32980 | 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 7d 0a | >false</span>,.........};.....}. |
| 329a0 | 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 | };..<span.class="tok-kw">test</s |
| 329c0 | 70 61 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">" |
| 329e0 | 3b 75 6e 69 6f 6e 20 6d 65 74 68 6f 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | ;union.method"</span>.{.... |
| 32a00 | 20 3c 73 70 61 6e 20 63 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> |
| 32a20 | 20 76 31 20 3d 20 56 61 72 69 61 6e 74 7b 20 2e 49 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | .v1.=.Variant{..Int.=.<span.clas |
| 32a40 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c | s="tok-number">1</span>.};.....< |
| 32a60 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 76 | span.class="tok-kw">var</span>.v |
| 32a80 | 32 20 3d 20 56 61 72 69 61 6e 74 7b 20 2e 42 6f 6f 6c 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | 2.=.Variant{..Bool.=.<span.class |
| 32aa0 | 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 | ="tok-null">false</span>.};..... |
| 32ac0 | 20 61 73 73 65 72 74 28 76 31 2e 74 72 75 74 68 79 28 29 29 3b 0a 20 20 20 20 61 73 73 65 72 74 | .assert(v1.truthy());.....assert |
| 32ae0 | 28 21 76 32 2e 74 72 75 74 68 79 28 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 | (!v2.truthy());.}</code></pre><p |
| 32b00 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 | re><code.class="shell">$.zig.tes |
| 32b20 | 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 75 6e 69 6f 6e 20 | t.test.zig.1/1.test."union. |
| 32b40 | 6d 65 74 68 6f 64 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 | method"...OK.All.1.tests.pa |
| 32b60 | 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 | ssed..</code></pre>........<p>.. |
| 32b80 | 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e 40 74 61 67 4e 61 6d 65 | .....<a.href="#tagName">@tagName |
| 32ba0 | 3c 2f 61 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 74 75 72 6e 20 61 20 3c 61 20 | </a>.can.be.used.to.return.a.<a. |
| 32bc0 | 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 0a 20 20 | href="#comptime">comptime</a>... |
| 32be0 | 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 5b 5d 3c 73 70 61 6e 20 63 6c | ....<code.class="zig">[]<span.cl |
| 32c00 | 61 73 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. |
| 32c20 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 | class="tok-type">u8</span></code |
| 32c40 | 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 6e | >.value.representing.the.field.n |
| 32c60 | 61 6d 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 | ame:.......</p>.......<p.class=" |
| 32c80 | 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | file">test.zig</p><pre><code.cla |
| 32ca0 | 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | ss="zig"><span.class="tok-kw">co |
| 32cc0 | 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 |
| 32ce0 | 6b 2d 62 75 69 6c 74 69 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. |
| 32d00 | 63 6c 61 73 73 3d 22 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">"std"< |
| 32d20 | 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | /span>);.<span.class="tok-kw">co |
| 32d40 | 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 | nst</span>.assert.=.std.debug.as |
| 32d60 | 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | sert;..<span.class="tok-kw">cons |
| 32d80 | 74 3c 2f 73 70 61 6e 3e 20 53 6d 61 6c 6c 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | t</span>.Small2.=.<span.class="t |
| 32da0 | 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ok-kw">union</span>(<span.class= |
| 32dc0 | 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 41 3a 20 3c | "tok-kw">enum</span>).{.....A:.< |
| 32de0 | 73 70 61 6e 20 63 6c 61 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> |
| 32e00 | 2c 0a 20 20 20 20 42 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | ,.....B:.<span.class="tok-type"> |
| 32e20 | 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 43 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | bool</span>,.....C:.<span.class= |
| 32e40 | 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 | "tok-type">u8</span>,.};.<span.c |
| 32e60 | 6c 61 73 73 3d 22 74 6f 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. |
| 32e80 | 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 26 71 | class="tok-str">"@tagName&q |
| 32ea0 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 73 74 64 2e 6d 65 6d | uot;</span>.{.....assert(std.mem |
| 32ec0 | 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f | .eql(<span.class="tok-type">u8</ |
| 32ee0 | 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 | span>,.<span.class="tok-builtin" |
| 32f00 | 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 53 6d 61 6c 6c 32 2e 43 29 2c 20 3c 73 70 61 | >@tagName</span>(Small2.C),.<spa |
| 32f20 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 43 26 71 75 6f 74 3b 3c | n.class="tok-str">"C"< |
| 32f40 | 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f | /span>));.}</code></pre><pre><co |
| 32f60 | 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 | de.class="shell">$.zig.test.test |
| 32f80 | 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 74 61 67 4e 61 6d 65 26 71 75 6f | .zig.1/1.test."@tagName&quo |
| 32fa0 | 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f | t;...OK.All.1.tests.passed..</co |
| 32fc0 | 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d | de></pre>................<h2.id= |
| 32fe0 | 22 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 74 | "extern-union"><a.href="#toc-ext |
| 33000 | 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 20 3c 61 20 63 | ern-union">extern.union</a>.<a.c |
| 33020 | 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e | lass="hdr".href="#extern-union"> |
| 33040 | 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 6e 20 | ..</a></h2>........<p>.......An. |
| 33060 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 33080 | 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ok-kw">extern</span>.<span.class |
| 330a0 | 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 | ="tok-kw">union</span></code>.ha |
| 330c0 | 73 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 | s.memory.layout.guaranteed.to.be |
| 330e0 | 20 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 | .compatible.with.......the.targe |
| 33100 | 74 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 | t.C.ABI........</p>.......<p>See |
| 33120 | 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 78 74 | .also:</p><ul>.<li><a.href="#ext |
| 33140 | 65 72 6e 2d 73 74 72 75 63 74 22 3e 65 78 74 65 72 6e 20 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c | ern-struct">extern.struct</a></l |
| 33160 | 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 32 20 69 64 3d 22 | i>.</ul>................<h2.id=" |
| 33180 | 70 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 | packed-union"><a.href="#toc-pack |
| 331a0 | 65 64 2d 75 6e 69 6f 6e 22 3e 70 61 63 6b 65 64 20 75 6e 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c | ed-union">packed.union</a>.<a.cl |
| 331c0 | 61 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 | ass="hdr".href="#packed-union">. |
| 331e0 | a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 20 3c 63 6f 64 65 20 63 6c 61 | .</a></h2>........<p>A.<code.cla |
| 33200 | 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 61 | ss="zig"><span.class="tok-kw">pa |
| 33220 | 63 6b 65 64 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | cked</span>.<span.class="tok-kw" |
| 33240 | 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 77 65 6c 6c 2d 64 65 | >union</span></code>.has.well-de |
| 33260 | 66 69 6e 65 64 20 69 6e 2d 6d 65 6d 6f 72 79 20 6c 61 79 6f 75 74 20 61 6e 64 20 69 73 20 65 6c | fined.in-memory.layout.and.is.el |
| 33280 | 69 67 69 62 6c 65 0a 20 20 20 20 20 20 74 6f 20 62 65 20 69 6e 20 61 20 3c 61 20 68 72 65 66 3d | igible.......to.be.in.a.<a.href= |
| 332a0 | 22 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 6b 65 64 20 73 74 72 75 63 74 3c 2f | "#packed-struct">packed.struct</ |
| 332c0 | 61 3e 2e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 6e 6f 6e 79 6d | a>................<h2.id="Anonym |
| 332e0 | 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f | ous-Union-Literals"><a.href="#to |
| 33300 | 63 2d 41 6e 6f 6e 79 6d 6f 75 73 2d 55 6e 69 6f 6e 2d 4c 69 74 65 72 61 6c 73 22 3e 41 6e 6f 6e | c-Anonymous-Union-Literals">Anon |
| 33320 | 79 6d 6f 75 73 20 55 6e 69 6f 6e 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 | ymous.Union.Literals</a>.<a.clas |
| 33340 | 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 55 6e 69 6f 6e 2d 4c | s="hdr".href="#Anonymous-Union-L |
| 33360 | 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c | iterals">..</a></h2>........<p>< |
| 33380 | 61 20 68 72 65 66 3d 22 23 41 6e 6f 6e 79 6d 6f 75 73 2d 53 74 72 75 63 74 2d 4c 69 74 65 72 61 | a.href="#Anonymous-Struct-Litera |
| 333a0 | 6c 73 22 3e 41 6e 6f 6e 79 6d 6f 75 73 20 53 74 72 75 63 74 20 4c 69 74 65 72 61 6c 73 3c 2f 61 | ls">Anonymous.Struct.Literals</a |
| 333c0 | 3e 20 73 79 6e 74 61 78 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 69 6e 69 74 69 61 6c 69 | >.syntax.can.be.used.to.initiali |
| 333e0 | 7a 65 20 75 6e 69 6f 6e 73 20 77 69 74 68 6f 75 74 20 73 70 65 63 69 66 79 69 6e 67 0a 20 20 20 | ze.unions.without.specifying.... |
| 33400 | 20 20 20 74 68 65 20 74 79 70 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d | ...the.type:</p>.......<p.class= |
| 33420 | 22 66 69 6c 65 22 3e 61 6e 6f 6e 5f 75 6e 69 6f 6e 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 | "file">anon_union.zig</p><pre><c |
| 33440 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 33460 | 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 |
| 33480 | 61 73 73 3d 22 74 6f 6b 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> |
| 334a0 | 28 3c 73 70 61 6e 20 63 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">"std |
| 334c0 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | "</span>);.<span.class="tok |
| 334e0 | 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 73 74 64 2e 64 | -kw">const</span>.assert.=.std.d |
| 33500 | 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | ebug.assert;..<span.class="tok-k |
| 33520 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 4e 75 6d 62 65 72 20 3d 20 3c 73 70 61 6e 20 63 | w">const</span>.Number.=.<span.c |
| 33540 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | lass="tok-kw">union</span>.{.... |
| 33560 | 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 | .int:.<span.class="tok-type">i32 |
| 33580 | 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | </span>,.....float:.<span.class= |
| 335a0 | 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e | "tok-type">f64</span>,.};..<span |
| 335c0 | 20 63 6c 61 73 73 3d 22 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 |
| 335e0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6e 6f 6e 79 6d 6f 75 | n.class="tok-str">"anonymou |
| 33600 | 73 20 75 6e 69 6f 6e 20 6c 69 74 65 72 61 6c 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 3c 2f 73 70 | s.union.literal.syntax"</sp |
| 33620 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 | an>.{.....<span.class="tok-kw">v |
| 33640 | 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 4e 75 6d 62 65 72 20 3d 20 2e 7b 2e 69 6e 74 20 3d 20 3c | ar</span>.i:.Number.=..{.int.=.< |
| 33660 | 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 |
| 33680 | 3e 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 | >};.....<span.class="tok-kw">var |
| 336a0 | 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 6d 61 6b 65 4e 75 6d 62 65 72 28 29 3b 0a 20 20 20 20 61 73 | </span>.f.=.makeNumber();.....as |
| 336c0 | 73 65 72 74 28 69 2e 69 6e 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | sert(i.int.==.<span.class="tok-n |
| 336e0 | 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 66 2e | umber">42</span>);.....assert(f. |
| 33700 | 66 6c 6f 61 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 | float.==.<span.class="tok-number |
| 33720 | 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ">12.34</span>);.}..<span.class= |
| 33740 | 22 74 6f 6b 2d 6b 77 22 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=" |
| 33760 | 74 6f 6b 2d 66 6e 22 3e 6d 61 6b 65 4e 75 6d 62 65 72 3c 2f 73 70 61 6e 3e 28 29 20 4e 75 6d 62 | tok-fn">makeNumber</span>().Numb |
| 33780 | 65 72 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 | er.{.....<span.class="tok-kw">re |
| 337a0 | 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 2e 7b 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 | turn</span>..{.float.=.<span.cla |
| 337c0 | 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 7d 3b 0a 7d | ss="tok-number">12.34</span>};.} |
| 337e0 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 | </code></pre><pre><code.class="s |
| 33800 | 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 61 6e 6f 6e 5f 75 6e 69 6f 6e 2e 7a 69 67 0a | hell">$.zig.test.anon_union.zig. |
| 33820 | 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 6c | 1/1.test."anonymous.union.l |
| 33840 | 69 74 65 72 61 6c 20 73 79 6e 74 61 78 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 | iteral.syntax"...OK.All.1.t |
| 33860 | 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 | ests.passed..</code></pre>...... |
| 33880 | 20 20 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 62 6c 6f 63 6b 73 | ..................<h1.id="blocks |
| 338a0 | 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 6c 6f 63 6b 73 22 3e 62 6c 6f 63 6b 73 3c 2f | "><a.href="#toc-blocks">blocks</ |
| 338c0 | 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 6c 6f 63 6b 73 22 | a>.<a.class="hdr".href="#blocks" |
| 338e0 | 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 6c | >..</a></h1>........<p>.......Bl |
| 33900 | 6f 63 6b 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 6c 69 6d 69 74 20 74 68 65 20 73 63 6f 70 65 | ocks.are.used.to.limit.the.scope |
| 33920 | 20 6f 66 20 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 3a 0a 20 20 20 20 20 | .of.variable.declarations:...... |
| 33940 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 | .</p>.......<p.class="file">test |
| 33960 | 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | .zig</p><pre><code.class="zig">< |
| 33980 | 73 70 61 6e 20 63 6c 61 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>. |
| 339a0 | 3c 73 70 61 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 63 63 65 | <span.class="tok-str">"acce |
| 339c0 | 73 73 20 76 61 72 69 61 62 6c 65 20 61 66 74 65 72 20 62 6c 6f 63 6b 20 73 63 6f 70 65 26 71 75 | ss.variable.after.block.scope&qu |
| 339e0 | 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e | ot;</span>.{.....{.........<span |
| 33a00 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 | .class="tok-kw">var</span>.x:.<s |
| 33a20 | 70 61 6e 20 63 6c 61 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>. |
| 33a40 | 3d 20 3c 73 70 61 6e 20 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 |
| 33a60 | 61 6e 3e 3b 0a 20 20 20 20 7d 0a 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | an>;.....}.....x.+=.<span.class= |
| 33a80 | 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c | "tok-number">1</span>;.}</code>< |
| 33aa0 | 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 | /pre><pre><code.class="shell">$. |
| 33ac0 | 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | zig.test.test.zig.<span.class="t |
| 33ae0 | 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 20 | 0_1">./docgen_tmp/test.zig:5:5:. |
| 33b00 | 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e 65 72 72 6f 72 | </span><span.class="t31_1">error |
| 33b20 | 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 75 73 65 20 | :.</span><span.class="t0_1">use. |
| 33b40 | 6f 66 20 75 6e 64 65 63 6c 61 72 65 64 20 69 64 65 6e 74 69 66 69 65 72 20 27 78 27 3c 2f 73 70 | of.undeclared.identifier.'x'</sp |
| 33b60 | 61 6e 3e 0a 20 20 20 20 78 20 2b 3d 20 31 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | an>.....x.+=.1;.....<span.class= |
| 33b80 | 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a | "t32_1">^</span>.</code></pre>.. |
| 33ba0 | 20 20 20 20 20 20 3c 70 3e 42 6c 6f 63 6b 73 20 61 72 65 20 65 78 70 72 65 73 73 69 6f 6e 73 2e | ......<p>Blocks.are.expressions. |
| 33bc0 | 20 57 68 65 6e 20 6c 61 62 65 6c 65 64 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | .When.labeled,.<code.class="zig" |
| 33be0 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 | ><span.class="tok-kw">break</spa |
| 33c00 | 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f 20 72 | n></code>.can.be.used.......to.r |
| 33c20 | 65 74 75 72 6e 20 61 20 76 61 6c 75 65 20 66 72 6f 6d 20 74 68 65 20 62 6c 6f 63 6b 3a 0a 20 20 | eturn.a.value.from.the.block:... |
| 33c40 | 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 | ....</p>.......<p.class="file">t |
| 33c60 | 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | est.zig</p><pre><code.class="zig |
| 33c80 | 22 3e 3c 73 70 61 6e 20 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 |
| 33ca0 | 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 |
| 33cc0 | 69 6e 22 3e 40 69 6d 70 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=" |
| 33ce0 | 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">"std"</span>) |
| 33d00 | 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 | ;.<span.class="tok-kw">const</sp |
| 33d20 | 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a | an>.assert.=.std.debug.assert;.. |
| 33d40 | 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> |
| 33d60 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6c 61 62 | .<span.class="tok-str">"lab |
| 33d80 | 65 6c 65 64 20 62 72 65 61 6b 20 66 72 6f 6d 20 6c 61 62 65 6c 65 64 20 62 6c 6f 63 6b 20 65 78 | eled.break.from.labeled.block.ex |
| 33da0 | 70 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 | pression"</span>.{.....<spa |
| 33dc0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c | n.class="tok-kw">var</span>.y:.< |
| 33de0 | 73 70 61 6e 20 63 6c 61 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> |
| 33e00 | 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 3c | .=.<span.class="tok-number">123< |
| 33e20 | 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | /span>;......<span.class="tok-kw |
| 33e40 | 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 62 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 | ">const</span>.x.=.blk:.{....... |
| 33e60 | 20 20 79 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | ..y.+=.<span.class="tok-number"> |
| 33e80 | 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | 1</span>;.........<span.class="t |
| 33ea0 | 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 79 3b 0a 20 20 20 20 | ok-kw">break</span>.:blk.y;..... |
| 33ec0 | 7d 3b 0a 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 3d 22 | };.....assert(x.==.<span.class=" |
| 33ee0 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 | tok-number">124</span>);.....ass |
| 33f00 | 65 72 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 | ert(y.==.<span.class="tok-number |
| 33f20 | 22 3e 31 32 34 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 | ">124</span>);.}</code></pre><pr |
| 33f40 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 | e><code.class="shell">$.zig.test |
| 33f60 | 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6c 61 62 65 6c 65 64 | .test.zig.1/1.test."labeled |
| 33f80 | 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 |
| 33fa0 | 73 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 | sion"...OK.All.1.tests.pass |
| 33fc0 | 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 48 65 72 65 | ed..</code></pre>........<p>Here |
| 33fe0 | 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 6c 6b 3c 2f 63 6f 64 65 3e 20 63 | ,.<code.class="zig">blk</code>.c |
| 34000 | 61 6e 20 62 65 20 61 6e 79 20 6e 61 6d 65 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 | an.be.any.name.</p>.......<p>See |
| 34020 | 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 4c 61 62 | .also:</p><ul>.<li><a.href="#Lab |
| 34040 | 65 6c 65 64 2d 77 68 69 6c 65 22 3e 4c 61 62 65 6c 65 64 20 77 68 69 6c 65 3c 2f 61 3e 3c 2f 6c | eled-while">Labeled.while</a></l |
| 34060 | 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 | i>.<li><a.href="#Labeled-for">La |
| 34080 | 62 65 6c 65 64 20 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 | beled.for</a></li>.</ul>........ |
| 340a0 | 20 3c 68 32 20 69 64 3d 22 53 68 61 64 6f 77 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f | .<h2.id="Shadowing"><a.href="#to |
| 340c0 | 63 2d 53 68 61 64 6f 77 69 6e 67 22 3e 53 68 61 64 6f 77 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c | c-Shadowing">Shadowing</a>.<a.cl |
| 340e0 | 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 68 61 64 6f 77 69 6e 67 22 3e c2 a7 3c 2f | ass="hdr".href="#Shadowing">..</ |
| 34100 | 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 49 74 20 69 73 20 6e 65 76 65 72 20 61 6c | a></h2>........<p>It.is.never.al |
| 34120 | 6c 6f 77 65 64 20 66 6f 72 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 74 6f 20 22 68 69 64 65 | lowed.for.an.identifier.to."hide |
| 34140 | 22 20 61 6e 6f 74 68 65 72 20 6f 6e 65 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 73 61 6d 65 20 | ".another.one.by.using.the.same. |
| 34160 | 6e 61 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e | name:</p>.......<p.class="file"> |
| 34180 | 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | test.zig</p><pre><code.class="zi |
| 341a0 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 | g"><span.class="tok-kw">const</s |
| 341c0 | 70 61 6e 3e 20 70 69 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | pan>.pi.=.<span.class="tok-numbe |
| 341e0 | 72 22 3e 33 2e 31 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | r">3.14</span>;..<span.class="to |
| 34200 | 6b 2d 6b 77 22 3e 74 65 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 |
| 34220 | 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 63 6b 26 | ok-str">"inside.test.block& |
| 34240 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | quot;</span>.{.....<span.class=" |
| 34260 | 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 65 74 27 73 20 65 76 65 6e 20 67 6f 20 69 6e | tok-comment">//.Let's.even.go.in |
| 34280 | 73 69 64 65 20 61 6e 6f 74 68 65 72 20 62 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 7b 0a | side.another.block</span>.....{. |
| 342a0 | 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 | ........<span.class="tok-kw">var |
| 342c0 | 3c 2f 73 70 61 6e 3e 20 70 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | </span>.pi:.<span.class="tok-typ |
| 342e0 | 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 |
| 34300 | 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 | -number">1234</span>;.....}.}</c |
| 34320 | 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c | ode></pre><pre><code.class="shel |
| 34340 | 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 | l">$.zig.test.test.zig.<span.cla |
| 34360 | 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: |
| 34380 | 36 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f 31 22 3e | 6:9:.</span><span.class="t31_1"> |
| 343a0 | 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" |
| 343c0 | 3e 72 65 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 27 70 69 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 | >redefinition.of.'pi'</span>.... |
| 343e0 | 20 20 20 20 20 76 61 72 20 70 69 3a 20 69 33 32 20 3d 20 31 32 33 34 3b 0a 20 20 20 20 20 20 20 | .....var.pi:.i32.=.1234;........ |
| 34400 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 | .<span.class="t32_1">^</span>.<s |
| 34420 | 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 |
| 34440 | 73 74 2e 7a 69 67 3a 31 3a 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | st.zig:1:1:.</span><span.class=" |
| 34460 | 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= |
| 34480 | 22 74 30 5f 31 22 3e 70 72 65 76 69 6f 75 73 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 68 65 | "t0_1">previous.definition.is.he |
| 344a0 | 72 65 3c 2f 73 70 61 6e 3e 0a 63 6f 6e 73 74 20 70 69 20 3d 20 33 2e 31 34 3b 0a 3c 73 70 61 6e | re</span>.const.pi.=.3.14;.<span |
| 344c0 | 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 2f 63 6f 64 65 3e 3c | .class="t32_1">^</span>.</code>< |
| 344e0 | 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 65 63 61 75 73 65 20 6f | /pre>........<p>.......Because.o |
| 34500 | 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 65 20 79 | f.this,.when.you.read.Zig.code.y |
| 34520 | 6f 75 20 63 61 6e 20 72 65 6c 79 20 6f 6e 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 61 6c 77 | ou.can.rely.on.an.identifier.alw |
| 34540 | 61 79 73 20 6d 65 61 6e 69 6e 67 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 2c 0a 20 20 20 20 | ays.meaning.the.same.thing,..... |
| 34560 | 20 20 77 69 74 68 69 6e 20 74 68 65 20 73 63 6f 70 65 20 69 74 20 69 73 20 64 65 66 69 6e 65 64 | ..within.the.scope.it.is.defined |
| 34580 | 2e 20 4e 6f 74 65 20 74 68 61 74 20 79 6f 75 20 63 61 6e 2c 20 68 6f 77 65 76 65 72 20 75 73 65 | ..Note.that.you.can,.however.use |
| 345a0 | 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 69 66 20 74 68 65 20 73 63 6f 70 65 73 20 61 72 65 | .the.same.name.if.the.scopes.are |
| 345c0 | 20 73 65 70 61 72 61 74 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 | .separate:.......</p>.......<p.c |
| 345e0 | 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f | lass="file">test.zig</p><pre><co |
| 34600 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 34620 | 6b 77 22 3e 74 65 73 74 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 |
| 34640 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 65 70 61 72 61 74 65 20 73 63 6f 70 65 73 26 71 75 6f 74 | -str">"separate.scopes" |
| 34660 | 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 | ;</span>.{.....{.........<span.c |
| 34680 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 69 20 3d 20 | lass="tok-kw">const</span>.pi.=. |
| 346a0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 31 34 3c 2f 73 | <span.class="tok-number">3.14</s |
| 346c0 | 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | pan>;.....}.....{.........<span. |
| 346e0 | 63 6c 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 | class="tok-kw">var</span>.pi:.<s |
| 34700 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e | pan.class="tok-type">bool</span> |
| 34720 | 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f | .=.<span.class="tok-null">true</ |
| 34740 | 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e | span>;.....}.}</code></pre><pre> |
| 34760 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 | <code.class="shell">$.zig.test.t |
| 34780 | 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 65 70 61 72 61 74 65 20 | est.zig.1/1.test."separate. |
| 347a0 | 73 63 6f 70 65 73 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 | scopes"...OK.All.1.tests.pa |
| 347c0 | 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 | ssed..</code></pre>............. |
| 347e0 | 20 20 0a 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 73 77 69 74 63 68 22 3e 3c 61 20 68 72 65 | ..........<h1.id="switch"><a.hre |
| 34800 | 66 3d 22 23 74 6f 63 2d 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 20 3c 61 20 63 6c | f="#toc-switch">switch</a>.<a.cl |
| 34820 | 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c | ass="hdr".href="#switch">..</a>< |
| 34840 | 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 77 69 74 | /h1>........<p.class="file">swit |
| 34860 | 63 68 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | ch.zig</p><pre><code.class="zig" |
| 34880 | 3e 3c 73 70 61 6e 20 63 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 |
| 348a0 | 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 |
| 348c0 | 6e 22 3e 40 69 6d 70 6f 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 |
| 348e0 | 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">"std"</span>); |
| 34900 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 | .<span.class="tok-kw">const</spa |
| 34920 | 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c | n>.assert.=.std.debug.assert;..< |
| 34940 | 73 70 61 6e 20 63 6c 61 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>. |
| 34960 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 | <span.class="tok-str">"swit |
| 34980 | 63 68 20 73 69 6d 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 | ch.simple"</span>.{.....<sp |
| 349a0 | 61 6e 20 63 6c 61 73 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 |
| 349c0 | 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 | :.<span.class="tok-type">u64</sp |
| 349e0 | 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 |
| 34a00 | 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | 0</span>;.....<span.class="tok-k |
| 34a20 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 7a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | w">const</span>.zz:.<span.class= |
| 34a40 | 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 |
| 34a60 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 33 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 | ass="tok-number">103</span>;.... |
| 34a80 | 20 20 3c 73 70 61 6e 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 |
| 34aa0 | 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 |
| 34ac0 | 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 |
| 34ae0 | 20 61 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 | .a</span>.....<span.class="tok-c |
| 34b00 | 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6d 6d 6f 6e 20 74 79 70 65 2e 3c 2f 73 70 61 6e 3e 0a 20 | omment">//.common.type.</span>.. |
| 34b20 | 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 3c | ...<span.class="tok-comment">//< |
| 34b40 | 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d | /span>.....<span.class="tok-comm |
| 34b60 | 65 6e 74 22 3e 2f 2f 20 42 72 61 6e 63 68 65 73 20 63 61 6e 6e 6f 74 20 66 61 6c 6c 74 68 72 6f | ent">//.Branches.cannot.fallthro |
| 34b80 | 75 67 68 2e 20 49 66 20 66 61 6c 6c 74 68 72 6f 75 67 68 20 62 65 68 61 76 69 6f 72 20 69 73 20 | ugh..If.fallthrough.behavior.is. |
| 34ba0 | 64 65 73 69 72 65 64 2c 20 63 6f 6d 62 69 6e 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 | desired,.combine</span>.....<spa |
| 34bc0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 63 61 73 | n.class="tok-comment">//.the.cas |
| 34be0 | 65 73 20 61 6e 64 20 75 73 65 20 61 6e 20 69 66 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 | es.and.use.an.if.</span>.....<sp |
| 34c00 | 61 6e 20 63 6c 61 73 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 |
| 34c20 | 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</ |
| 34c40 | 73 70 61 6e 3e 20 28 61 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | span>.(a).{.........<span.class= |
| 34c60 | 22 74 6f 6b 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 | "tok-comment">//.Multiple.cases. |
| 34c80 | 63 61 6e 20 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 | can.be.combined.via.a.','</span> |
| 34ca0 | 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 | .........<span.class="tok-number |
| 34cc0 | 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 |
| 34ce0 | 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- |
| 34d00 | 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 | number">3</span>.=>.<span.cla |
| 34d20 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 20 | ss="tok-number">0</span>,....... |
| 34d40 | 20 20 20 3c 73 70 61 6e 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">//. |
| 34d60 | 52 61 6e 67 65 73 20 63 61 6e 20 62 65 20 73 70 65 63 69 66 69 65 64 20 75 73 69 6e 67 20 74 68 | Ranges.can.be.specified.using.th |
| 34d80 | 65 20 2e 2e 2e 20 73 79 6e 74 61 78 2e 20 54 68 65 73 65 20 61 72 65 20 69 6e 63 6c 75 73 69 76 | e.....syntax..These.are.inclusiv |
| 34da0 | 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | e</span>.........<span.class="to |
| 34dc0 | 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 6f 74 68 20 65 6e 64 73 2e 3c 2f 73 70 61 6e 3e 0a | k-comment">//.both.ends.</span>. |
| 34de0 | 20 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" |
| 34e00 | 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 6d | >5</span>...<span.class="tok-num |
| 34e20 | 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 73 | ber">100</span>.=>.<span.clas |
| 34e40 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 20 20 | s="tok-number">1</span>,........ |
| 34e60 | 20 20 3c 73 70 61 6e 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 |
| 34e80 | 72 61 6e 63 68 65 73 20 63 61 6e 20 62 65 20 61 72 62 69 74 72 61 72 69 6c 79 20 63 6f 6d 70 6c | ranches.can.be.arbitrarily.compl |
| 34ea0 | 65 78 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ex.</span>.........<span.class=" |
| 34ec0 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 31 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 62 6c 6b | tok-number">101</span>.=>.blk |
| 34ee0 | 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | :.{.............<span.class="tok |
| 34f00 | 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 |
| 34f20 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 | ="tok-type">u64</span>.=.<span.c |
| 34f40 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 | lass="tok-number">5</span>;..... |
| 34f60 | 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 | ........<span.class="tok-kw">bre |
| 34f80 | 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 73 3d 22 | ak</span>.:blk.c.*.<span.class=" |
| 34fa0 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e 20 63 6c 61 | tok-number">2</span>.+.<span.cla |
| 34fc0 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 | ss="tok-number">1</span>;....... |
| 34fe0 | 20 20 7d 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 | ..},..........<span.class="tok-c |
| 35000 | 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 77 69 74 63 68 69 6e 67 20 6f 6e 20 61 72 62 69 74 72 61 72 | omment">//.Switching.on.arbitrar |
| 35020 | 79 20 65 78 70 72 65 73 73 69 6f 6e 73 20 69 73 20 61 6c 6c 6f 77 65 64 20 61 73 20 6c 6f 6e 67 | y.expressions.is.allowed.as.long |
| 35040 | 20 61 73 20 74 68 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | .as.the</span>.........<span.cla |
| 35060 | 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 78 70 72 65 73 73 69 6f 6e 20 69 | ss="tok-comment">//.expression.i |
| 35080 | 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 3c 2f 73 70 61 6e 3e 0a | s.known.at.compile-time.</span>. |
| 350a0 | 20 20 20 20 20 20 20 20 7a 7a 20 3d 26 67 74 3b 20 7a 7a 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 | ........zz.=>.zz,.........<sp |
| 350c0 | 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 |
| 350e0 | 3e 20 62 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | >.blk:.{.............<span.class |
| 35100 | 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 3a 20 3c 73 70 61 6e 20 | ="tok-kw">const</span>.d:.<span. |
| 35120 | 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 |
| 35140 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 3b | pan.class="tok-number">5</span>; |
| 35160 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .............<span.class="tok-kw |
| 35180 | 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ">const</span>.e:.<span.class="t |
| 351a0 | 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 |
| 351c0 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 | s="tok-number">100</span>;...... |
| 351e0 | 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 | .......<span.class="tok-kw">brea |
| 35200 | 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 64 20 2b 20 65 3b 0a 20 20 20 20 20 20 20 20 7d 20 3d | k</span>.:blk.d.+.e;.........}.= |
| 35220 | 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 | >.<span.class="tok-number">10 |
| 35240 | 37 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | 7</span>,..........<span.class=" |
| 35260 | 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 | tok-comment">//.The.else.branch. |
| 35280 | 63 61 74 63 68 65 73 20 65 76 65 72 79 74 68 69 6e 67 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 63 | catches.everything.not.already.c |
| 352a0 | 61 70 74 75 72 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c | aptured.</span>.........<span.cl |
| 352c0 | 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 6c 73 65 20 62 72 61 6e 63 68 | ass="tok-comment">//.Else.branch |
| 352e0 | 65 73 20 61 72 65 20 6d 61 6e 64 61 74 6f 72 79 20 75 6e 6c 65 73 73 20 74 68 65 20 65 6e 74 69 | es.are.mandatory.unless.the.enti |
| 35300 | 72 65 20 72 61 6e 67 65 20 6f 66 20 76 61 6c 75 65 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 | re.range.of.values</span>....... |
| 35320 | 20 20 3c 73 70 61 6e 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 |
| 35340 | 73 20 68 61 6e 64 6c 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | s.handled.</span>.........<span. |
| 35360 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b | class="tok-kw">else</span>.=> |
| 35380 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 | .<span.class="tok-number">9</spa |
| 353a0 | 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 61 73 73 65 72 74 28 62 20 3d 3d 20 3c 73 70 61 | n>,.....};......assert(b.==.<spa |
| 353c0 | 6e 20 63 6c 61 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 0a | n.class="tok-number">1</span>);. |
| 353e0 | 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 | }..<span.class="tok-comment">//. |
| 35400 | 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 |
| 35420 | 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 0a 3c 73 70 61 6e 20 | utside.a.function:</span>.<span. |
| 35440 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 73 5f 6d | class="tok-kw">const</span>.os_m |
| 35460 | 73 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 | sg.=.<span.class="tok-kw">switch |
| 35480 | 3c 2f 73 70 61 6e 3e 20 28 73 74 64 2e 54 61 72 67 65 74 2e 63 75 72 72 65 6e 74 2e 6f 73 2e 74 | </span>.(std.Target.current.os.t |
| 354a0 | 61 67 29 20 7b 0a 20 20 20 20 2e 6c 69 6e 75 78 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 | ag).{......linux.=>.<span.cla |
| 354c0 | 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 65 20 66 6f 75 6e 64 20 61 20 6c 69 | ss="tok-str">"we.found.a.li |
| 354e0 | 6e 75 78 20 75 73 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 3c 73 70 61 6e | nux.user"</span>,.....<span |
| 35500 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 | .class="tok-kw">else</span>.=> |
| 35520 | 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 6e 6f | ;.<span.class="tok-str">"no |
| 35540 | 74 20 61 20 6c 69 6e 75 78 20 75 73 65 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a | t.a.linux.user"</span>,.};. |
| 35560 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e | .<span.class="tok-comment">//.In |
| 35580 | 73 69 64 65 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 73 77 69 74 63 68 20 73 74 61 74 65 6d 65 6e | side.a.function,.switch.statemen |
| 355a0 | 74 73 20 69 6d 70 6c 69 63 69 74 6c 79 20 61 72 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f | ts.implicitly.are.compile-time</ |
| 355c0 | 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e | span>.<span.class="tok-comment"> |
| 355e0 | 2f 2f 20 65 76 61 6c 75 61 74 65 64 20 69 66 20 74 68 65 20 74 61 72 67 65 74 20 65 78 70 72 65 | //.evaluated.if.the.target.expre |
| 35600 | 73 73 69 6f 6e 20 69 73 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 2e 3c 2f 73 70 | ssion.is.compile-time.known.</sp |
| 35620 | 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 | an>.<span.class="tok-kw">test</s |
| 35640 | 70 61 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">" |
| 35660 | 3b 73 77 69 74 63 68 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 | ;switch.inside.function"</s |
| 35680 | 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | pan>.{.....<span.class="tok-kw"> |
| 356a0 | 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 73 74 64 2e 54 61 72 67 65 74 2e 63 75 72 72 65 6e | switch</span>.(std.Target.curren |
| 356c0 | 74 2e 6f 73 2e 74 61 67 29 20 7b 0a 20 20 20 20 20 20 20 20 2e 66 75 63 68 73 69 61 20 3d 26 67 | t.os.tag).{..........fuchsia.=&g |
| 356e0 | 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | t;.{.............<span.class="to |
| 35700 | 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 6e 20 61 6e 20 4f 53 20 6f 74 68 65 72 20 74 68 61 | k-comment">//.On.an.OS.other.tha |
| 35720 | 6e 20 66 75 63 68 73 69 61 2c 20 62 6c 6f 63 6b 20 69 73 20 6e 6f 74 20 65 76 65 6e 20 61 6e 61 | n.fuchsia,.block.is.not.even.ana |
| 35740 | 6c 79 7a 65 64 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | lyzed,</span>.............<span. |
| 35760 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 6f 20 74 68 69 73 20 63 | class="tok-comment">//.so.this.c |
| 35780 | 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 6e 6f 74 20 74 72 69 67 67 65 72 65 64 2e 3c 2f | ompile.error.is.not.triggered.</ |
| 357a0 | 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | span>.............<span.class="t |
| 357c0 | 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4f 6e 20 66 75 63 68 73 69 61 20 74 68 69 73 20 63 | ok-comment">//.On.fuchsia.this.c |
| 357e0 | 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 77 6f 75 6c 64 20 62 65 20 74 72 69 67 67 65 72 65 64 2e | ompile.error.would.be.triggered. |
| 35800 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | </span>.............<span.class= |
| 35820 | 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 |
| 35840 | 6e 3e 28 3c 73 70 61 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 | n>(<span.class="tok-str">"f |
| 35860 | 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 73 70 61 6e | uchsia.not.supported"</span |
| 35880 | 3e 29 3b 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | >);.........},.........<span.cla |
| 358a0 | 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 7b 7d | ss="tok-kw">else</span>.=>.{} |
| 358c0 | 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 | ,.....}.}</code></pre><pre><code |
| 358e0 | 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 73 77 69 74 63 68 | .class="shell">$.zig.test.switch |
| 35900 | 2e 7a 69 67 0a 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 | .zig.1/2.test."switch.simpl |
| 35920 | 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 73 77 69 74 | e"...OK.2/2.test."swit |
| 35940 | 63 68 20 69 6e 73 69 64 65 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c | ch.inside.function"...OK.Al |
| 35960 | 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a | l.2.tests.passed..</code></pre>. |
| 35980 | 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | .......<p>.......<code.class="zi |
| 359a0 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f | g"><span.class="tok-kw">switch</ |
| 359c0 | 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 61 70 74 | span></code>.can.be.used.to.capt |
| 359e0 | 75 72 65 20 74 68 65 20 66 69 65 6c 64 20 76 61 6c 75 65 73 0a 20 20 20 20 20 20 6f 66 20 61 20 | ure.the.field.values.......of.a. |
| 35a00 | 3c 61 20 68 72 65 66 3d 22 23 54 61 67 67 65 64 2d 75 6e 69 6f 6e 22 3e 54 61 67 67 65 64 20 75 | <a.href="#Tagged-union">Tagged.u |
| 35a20 | 6e 69 6f 6e 3c 2f 61 3e 2e 20 4d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 74 6f 20 74 68 65 20 66 | nion</a>..Modifications.to.the.f |
| 35a40 | 69 65 6c 64 20 76 61 6c 75 65 73 20 63 61 6e 20 62 65 0a 20 20 20 20 20 20 64 6f 6e 65 20 62 79 | ield.values.can.be.......done.by |
| 35a60 | 20 70 6c 61 63 69 6e 67 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2a 3c 2f | .placing.a.<code.class="zig">*</ |
| 35a80 | 63 6f 64 65 3e 20 62 65 66 6f 72 65 20 74 68 65 20 63 61 70 74 75 72 65 20 76 61 72 69 61 62 6c | code>.before.the.capture.variabl |
| 35aa0 | 65 20 6e 61 6d 65 2c 0a 20 20 20 20 20 20 74 75 72 6e 69 6e 67 20 69 74 20 69 6e 74 6f 20 61 20 | e.name,.......turning.it.into.a. |
| 35ac0 | 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 | pointer........</p>.......<p.cla |
| 35ae0 | 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 | ss="file">test.zig</p><pre><code |
| 35b00 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| 35b20 | 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c | ">const</span>.assert.=.<span.cl |
| 35b40 | 61 73 73 3d 22 74 6f 6b 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> |
| 35b60 | 28 3c 73 70 61 6e 20 63 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">"std |
| 35b80 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 | "</span>).debug.assert;..<s |
| 35ba0 | 70 61 6e 20 63 6c 61 73 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>.< |
| 35bc0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 77 69 74 63 | span.class="tok-str">"switc |
| 35be0 | 68 20 6f 6e 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b | h.on.tagged.union"</span>.{ |
| 35c00 | 0a 20 20 20 20 3c 73 70 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< |
| 35c20 | 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 2d | /span>.Point.=.<span.class="tok- |
| 35c40 | 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 78 3a 20 3c | kw">struct</span>.{.........x:.< |
| 35c60 | 73 70 61 6e 20 63 6c 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>, |
| 35c80 | 0a 20 20 20 20 20 20 20 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | .........y:.<span.class="tok-typ |
| 35ca0 | 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | e">u8</span>,.....};.....<span.c |
| 35cc0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 49 74 65 6d 20 | lass="tok-kw">const</span>.Item. |
| 35ce0 | 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 |
| 35d00 | 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 | an>(<span.class="tok-kw">enum</s |
| 35d20 | 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 41 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | pan>).{.........A:.<span.class=" |
| 35d40 | 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 43 3a | tok-type">u32</span>,.........C: |
| 35d60 | 20 50 6f 69 6e 74 2c 0a 20 20 20 20 20 20 20 20 44 2c 0a 20 20 20 20 20 20 20 20 45 3a 20 3c 73 | .Point,.........D,.........E:.<s |
| 35d80 | 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>, |
| 35da0 | 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .....};......<span.class="tok-kw |
| 35dc0 | 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 49 74 65 6d 7b 20 2e 43 20 3d 20 50 6f 69 6e | ">var</span>.a.=.Item{..C.=.Poin |
| 35de0 | 74 7b 20 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | t{..x.=.<span.class="tok-number" |
| 35e00 | 3e 31 3c 2f 73 70 61 6e 3e 2c 20 2e 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | >1</span>,..y.=.<span.class="tok |
| 35e20 | 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 | -number">2</span>.}.};......<spa |
| 35e40 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 53 77 69 74 63 68 69 | n.class="tok-comment">//.Switchi |
| 35e60 | 6e 67 20 6f 6e 20 6d 6f 72 65 20 63 6f 6d 70 6c 65 78 20 65 6e 75 6d 73 20 69 73 20 61 6c 6c 6f | ng.on.more.complex.enums.is.allo |
| 35e80 | 77 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | wed.</span>.....<span.class="tok |
| 35ea0 | 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | -kw">const</span>.b.=.<span.clas |
| 35ec0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7b 0a 20 | s="tok-kw">switch</span>.(a).{.. |
| 35ee0 | 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" |
| 35f00 | 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 6c 6f 77 65 64 20 6f | >//.A.capture.group.is.allowed.o |
| 35f20 | 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 6e 20 74 68 65 20 65 | n.a.match,.and.will.return.the.e |
| 35f40 | 6e 75 6d 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | num</span>.........<span.class=" |
| 35f60 | 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 49 | tok-comment">//.value.matched..I |
| 35f80 | 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 65 | f.the.payload.types.of.both.case |
| 35fa0 | 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 | s.are.the.same</span>.........<s |
| 35fc0 | 70 61 6e 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 79 20 | pan.class="tok-comment">//.they. |
| 35fe0 | 63 61 6e 20 62 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 | can.be.put.into.the.same.switch. |
| 36000 | 70 72 6f 6e 67 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 49 74 65 6d 2e 41 2c 20 49 74 | prong.</span>.........Item.A,.It |
| 36020 | 65 6d 2e 45 20 3d 26 67 74 3b 20 7c 69 74 65 6d 7c 20 69 74 65 6d 2c 0a 0a 20 20 20 20 20 20 20 | em.E.=>.|item|.item,......... |
| 36040 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 20 | .<span.class="tok-comment">//.A. |
| 36060 | 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 20 6d 61 74 63 68 65 64 20 76 61 6c 75 65 20 63 | reference.to.the.matched.value.c |
| 36080 | 61 6e 20 62 65 20 6f 62 74 61 69 6e 65 64 20 75 73 69 6e 67 20 60 2a 60 20 73 79 6e 74 61 78 2e | an.be.obtained.using.`*`.syntax. |
| 360a0 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 49 74 65 6d 2e 43 20 3d 26 67 74 3b 20 7c 2a 69 | </span>.........Item.C.=>.|*i |
| 360c0 | 74 65 6d 7c 20 62 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 74 65 6d 2e 2a 2e 78 | tem|.blk:.{.............item.*.x |
| 360e0 | 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</ |
| 36100 | 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | span>;.............<span.class=" |
| 36120 | 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 3c 73 70 61 6e 20 | tok-kw">break</span>.:blk.<span. |
| 36140 | 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 3b 0a 20 20 20 | class="tok-number">6</span>;.... |
| 36160 | 20 20 20 20 20 7d 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | .....},..........<span.class="to |
| 36180 | 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 71 75 69 72 65 | k-comment">//.No.else.is.require |
| 361a0 | 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 68 61 75 73 74 | d.if.the.types.cases.was.exhaust |
| 361c0 | 69 76 65 6c 79 20 68 61 6e 64 6c 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 49 74 65 | ively.handled</span>.........Ite |
| 361e0 | 6d 2e 44 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 | m.D.=>.<span.class="tok-numbe |
| 36200 | 72 22 3e 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 61 73 73 65 72 74 28 | r">8</span>,.....};......assert( |
| 36220 | 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c | b.==.<span.class="tok-number">6< |
| 36240 | 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 2e 43 2e 78 20 3d 3d 20 3c 73 70 | /span>);.....assert(a.C.x.==.<sp |
| 36260 | 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>); |
| 36280 | 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | .}</code></pre><pre><code.class= |
| 362a0 | 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 | "shell">$.zig.test.test.zig.1/1. |
| 362c0 | 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 64 20 75 6e 69 6f | test."switch.on.tagged.unio |
| 362e0 | 6e 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e | n"...OK.All.1.tests.passed. |
| 36300 | 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 | .</code></pre>........<p>See.als |
| 36320 | 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d | o:</p><ul>.<li><a.href="#comptim |
| 36340 | 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 | e">comptime</a></li>.<li><a.href |
| 36360 | 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 | ="#enum">enum</a></li>.<li><a.hr |
| 36380 | 65 66 3d 22 23 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 | ef="#compileError">@compileError |
| 363a0 | 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d | </a></li>.<li><a.href="#Compile- |
| 363c0 | 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e | Variables">Compile.Variables</a> |
| 363e0 | 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 45 78 68 61 | </li>.</ul>.........<h2.id="Exha |
| 36400 | 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d | ustive-Switching"><a.href="#toc- |
| 36420 | 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 76 65 | Exhaustive-Switching">Exhaustive |
| 36440 | 20 53 77 69 74 63 68 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 | .Switching</a>.<a.class="hdr".hr |
| 36460 | 65 66 3d 22 23 45 78 68 61 75 73 74 69 76 65 2d 53 77 69 74 63 68 69 6e 67 22 3e c2 a7 3c 2f 61 | ef="#Exhaustive-Switching">..</a |
| 36480 | 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 20 3c | ></h2>........<p>.......When.a.< |
| 364a0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 364c0 | 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 | k-kw">switch</span></code>.expre |
| 364e0 | 73 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 20 63 6c 61 | ssion.does.not.have.an.<code.cla |
| 36500 | 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c | ss="zig"><span.class="tok-kw">el |
| 36520 | 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6c 61 75 73 65 2c 0a 20 20 20 20 20 20 69 | se</span></code>.clause,.......i |
| 36540 | 74 20 6d 75 73 74 20 65 78 68 61 75 73 74 69 76 65 6c 79 20 6c 69 73 74 20 61 6c 6c 20 74 68 65 | t.must.exhaustively.list.all.the |
| 36560 | 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 73 2e 20 46 61 69 6c 75 72 65 20 74 6f 20 64 6f 20 | .possible.values..Failure.to.do. |
| 36580 | 73 6f 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 3a 0a 20 20 20 20 20 20 3c 2f 70 | so.is.a.compile.error:.......</p |
| 365a0 | 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 | >.......<p.class="file">test.zig |
| 365c0 | 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | </p><pre><code.class="zig"><span |
| 365e0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6c | .class="tok-kw">const</span>.Col |
| 36600 | 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f | or.=.<span.class="tok-kw">enum</ |
| 36620 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 41 75 74 6f 2c 0a 20 20 20 20 4f 66 66 2c 0a 20 20 20 20 4f | span>.{.....Auto,.....Off,.....O |
| 36640 | 6e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 | n,.};..<span.class="tok-kw">test |
| 36660 | 3c 2f 73 70 61 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 |
| 36680 | 75 6f 74 3b 65 78 68 61 75 73 74 69 76 65 20 73 77 69 74 63 68 69 6e 67 26 71 75 6f 74 3b 3c 2f | uot;exhaustive.switching"</ |
| 366a0 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | span>.{.....<span.class="tok-kw" |
| 366c0 | 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 4f 66 66 3b | >const</span>.color.=.Color.Off; |
| 366e0 | 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 | .....<span.class="tok-kw">switch |
| 36700 | 3c 2f 73 70 61 6e 3e 20 28 63 6f 6c 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 43 6f 6c 6f 72 2e | </span>.(color).{.........Color. |
| 36720 | 41 75 74 6f 20 3d 26 67 74 3b 20 7b 7d 2c 0a 20 20 20 20 20 20 20 20 43 6f 6c 6f 72 2e 4f 6e 20 | Auto.=>.{},.........Color.On. |
| 36740 | 3d 26 67 74 3b 20 7b 7d 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 | =>.{},.....}.}</code></pre><p |
| 36760 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 | re><code.class="shell">$.zig.tes |
| 36780 | 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f | t.test.zig.<span.class="t0_1">./ |
| 367a0 | 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 39 3a 35 3a 20 3c 2f 73 70 61 6e 3e | docgen_tmp/test.zig:9:5:.</span> |
| 367c0 | 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 |
| 367e0 | 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 6e 75 6d 65 72 61 74 69 6f 6e | n><span.class="t0_1">enumeration |
| 36800 | 20 76 61 6c 75 65 20 27 43 6f 6c 6f 72 2e 4f 66 66 27 20 6e 6f 74 20 68 61 6e 64 6c 65 64 20 69 | .value.'Color.Off'.not.handled.i |
| 36820 | 6e 20 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 73 77 69 74 63 68 20 28 63 6f 6c 6f | n.switch</span>.....switch.(colo |
| 36840 | 72 29 20 7b 0a 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 | r).{.....<span.class="t32_1">^</ |
| 36860 | 73 70 61 6e 3e 0a 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 | span>.<span.class="t0_1">./docge |
| 36880 | 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 32 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 | n_tmp/test.zig:7:29:.</span><spa |
| 368a0 | 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 |
| 368c0 | 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c | an.class="t0_1">referenced.here< |
| 368e0 | 2f 73 70 61 6e 3e 0a 74 65 73 74 20 26 71 75 6f 74 3b 65 78 68 61 75 73 74 69 76 65 20 73 77 69 | /span>.test."exhaustive.swi |
| 36900 | 74 63 68 69 6e 67 26 71 75 6f 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tching".{.................. |
| 36920 | 20 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">^ |
| 36940 | 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 | </span>.</code></pre>........... |
| 36960 | 20 20 20 20 20 3c 68 32 20 69 64 3d 22 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 6d | .....<h2.id="Switching-with-Enum |
| 36980 | 2d 4c 69 74 65 72 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 77 69 74 63 68 69 | -Literals"><a.href="#toc-Switchi |
| 369a0 | 6e 67 2d 77 69 74 68 2d 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 22 3e 53 77 69 74 63 68 69 6e 67 | ng-with-Enum-Literals">Switching |
| 369c0 | 20 77 69 74 68 20 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 | .with.Enum.Literals</a>.<a.class |
| 369e0 | 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 77 69 74 63 68 69 6e 67 2d 77 69 74 68 2d 45 6e 75 | ="hdr".href="#Switching-with-Enu |
| 36a00 | 6d 2d 4c 69 74 65 72 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c | m-Literals">..</a></h2>........< |
| 36a20 | 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 45 6e 75 6d 2d 4c 69 74 65 72 61 6c 73 | p>.......<a.href="#Enum-Literals |
| 36a40 | 22 3e 45 6e 75 6d 20 4c 69 74 65 72 61 6c 73 3c 2f 61 3e 20 63 61 6e 20 62 65 20 75 73 65 66 75 | ">Enum.Literals</a>.can.be.usefu |
| 36a60 | 6c 20 74 6f 20 75 73 65 20 77 69 74 68 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | l.to.use.with.<code.class="zig"> |
| 36a80 | 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 |
| 36aa0 | 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 65 74 69 74 | n></code>.to.avoid.......repetit |
| 36ac0 | 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 6e 75 6d 22 | ively.specifying.<a.href="#enum" |
| 36ae0 | 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 22 3e 75 6e | >enum</a>.or.<a.href="#union">un |
| 36b00 | 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 20 20 20 20 | ion</a>.types:.......</p>....... |
| 36b20 | 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 | <p.class="file">test.zig</p><pre |
| 36b40 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| 36b60 | 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 |
| 36b80 | 20 63 6c 61 73 73 3d 22 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 |
| 36ba0 | 61 6e 3e 28 3c 73 70 61 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">" |
| 36bc0 | 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | std"</span>);.<span.class=" |
| 36be0 | 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 73 74 | tok-kw">const</span>.assert.=.st |
| 36c00 | 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | d.debug.assert;..<span.class="to |
| 36c20 | 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 6f 6c 6f 72 20 3d 20 3c 73 70 61 6e | k-kw">const</span>.Color.=.<span |
| 36c40 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | .class="tok-kw">enum</span>.{... |
| 36c60 | 20 20 41 75 74 6f 2c 0a 20 20 20 20 4f 66 66 2c 0a 20 20 20 20 4f 6e 2c 0a 7d 3b 0a 0a 3c 73 70 | ..Auto,.....Off,.....On,.};..<sp |
| 36c80 | 61 6e 20 63 6c 61 73 73 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 |
| 36ca0 | 70 61 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">"enum.l |
| 36cc0 | 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"</span> |
| 36ce0 | 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | .{.....<span.class="tok-kw">cons |
| 36d00 | 74 3c 2f 73 70 61 6e 3e 20 63 6f 6c 6f 72 20 3d 20 43 6f 6c 6f 72 2e 4f 66 66 3b 0a 20 20 20 20 | t</span>.color.=.Color.Off;..... |
| 36d20 | 3c 73 70 61 6e 20 63 6c 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 |
| 36d40 | 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 3e | >.result.=.<span.class="tok-kw"> |
| 36d60 | 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 63 6f 6c 6f 72 29 20 7b 0a 20 20 20 20 20 20 20 20 | switch</span>.(color).{......... |
| 36d80 | 2e 41 75 74 6f 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c | .Auto.=>.<span.class="tok-nul |
| 36da0 | 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 4f 6e 20 3d 26 67 | l">false</span>,..........On.=&g |
| 36dc0 | 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< |
| 36de0 | 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 2e 4f 66 66 20 3d 26 67 74 3b 20 3c 73 70 61 6e | /span>,..........Off.=>.<span |
| 36e00 | 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 0a 20 | .class="tok-null">true</span>,.. |
| 36e20 | 20 20 20 7d 3b 0a 20 20 20 20 61 73 73 65 72 74 28 72 65 73 75 6c 74 29 3b 0a 7d 3c 2f 63 6f 64 | ...};.....assert(result);.}</cod |
| 36e40 | 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 | e></pre><pre><code.class="shell" |
| 36e60 | 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 | >$.zig.test.test.zig.1/1.test.&q |
| 36e80 | 75 6f 74 3b 65 6e 75 6d 20 6c 69 74 65 72 61 6c 73 20 77 69 74 68 20 73 77 69 74 63 68 26 71 75 | uot;enum.literals.with.switch&qu |
| 36ea0 | 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 | ot;...OK.All.1.tests.passed..</c |
| 36ec0 | 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 | ode></pre>...................... |
| 36ee0 | 20 3c 68 31 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 | .<h1.id="while"><a.href="#toc-wh |
| 36f00 | 69 6c 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 | ile">while</a>.<a.class="hdr".hr |
| 36f20 | 65 66 3d 22 23 77 68 69 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c | ef="#while">..</a></h1>........< |
| 36f40 | 70 3e 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 | p>.......A.while.loop.is.used.to |
| 36f60 | 20 72 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 | .repeatedly.execute.an.expressio |
| 36f80 | 6e 20 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 | n.until.......some.condition.is. |
| 36fa0 | 6e 6f 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 | no.longer.true........</p>...... |
| 36fc0 | 20 3c 70 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 70 3e 3c 70 | .<p.class="file">while.zig</p><p |
| 36fe0 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| 37000 | 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 74 20 3d 20 | ="tok-kw">const</span>.assert.=. |
| 37020 | 3c 73 70 61 6e 20 63 6c 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 |
| 37040 | 74 3c 2f 73 70 61 6e 3e 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">& |
| 37060 | 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 61 73 73 | quot;std"</span>).debug.ass |
| 37080 | 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c | ert;..<span.class="tok-kw">test< |
| 370a0 | 2f 73 70 61 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 |
| 370c0 | 6f 74 3b 77 68 69 6c 65 20 62 61 73 69 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | ot;while.basic"</span>.{... |
| 370e0 | 20 20 3c 73 70 61 6e 20 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 |
| 37100 | 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a | >.i:.<span.class="tok-type">usiz |
| 37120 | 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 |
| 37140 | 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | er">0</span>;.....<span.class="t |
| 37160 | 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 | ok-kw">while</span>.(i.<.<spa |
| 37180 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 | n.class="tok-number">10</span>). |
| 371a0 | 7b 0a 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- |
| 371c0 | 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 20 20 20 20 61 73 73 65 | number">1</span>;.....}.....asse |
| 371e0 | 72 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 22 | rt(i.==.<span.class="tok-number" |
| 37200 | 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e | >10</span>);.}</code></pre><pre> |
| 37220 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 77 | <code.class="shell">$.zig.test.w |
| 37240 | 68 69 6c 65 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 62 61 | hile.zig.1/1.test."while.ba |
| 37260 | 73 69 63 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 | sic"...OK.All.1.tests.passe |
| 37280 | 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 | d..</code></pre>........<p>..... |
| 372a0 | 20 20 55 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ..Use.<code.class="zig"><span.cl |
| 372c0 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e | ass="tok-kw">break</span></code> |
| 372e0 | 20 74 6f 20 65 78 69 74 20 61 20 77 68 69 6c 65 20 6c 6f 6f 70 20 65 61 72 6c 79 2e 0a 20 20 20 | .to.exit.a.while.loop.early..... |
| 37300 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 | ...</p>.......<p.class="file">wh |
| 37320 | 69 6c 65 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | ile.zig</p><pre><code.class="zig |
| 37340 | 22 3e 3c 73 70 61 6e 20 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 |
| 37360 | 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 | an>.assert.=.<span.class="tok-bu |
| 37380 | 69 6c 74 69 6e 22 3e 40 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 |
| 373a0 | 73 3d 22 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">"std"</spa |
| 373c0 | 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | n>).debug.assert;..<span.class=" |
| 373e0 | 74 6f 6b 2d 6b 77 22 3e 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= |
| 37400 | 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 62 72 65 61 6b 26 71 75 6f 74 | "tok-str">"while.break" |
| 37420 | 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ;</span>.{.....<span.class="tok- |
| 37440 | 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | kw">var</span>.i:.<span.class="t |
| 37460 | 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 |
| 37480 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c | ass="tok-number">0</span>;.....< |
| 374a0 | 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> |
| 374c0 | 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 |
| 374e0 | 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | pan>).{.........<span.class="tok |
| 37500 | 2d 6b 77 22 3e 69 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 | -kw">if</span>.(i.==.<span.class |
| 37520 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 0a 20 20 20 20 20 20 20 | ="tok-number">10</span>)........ |
| 37540 | 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c | .....<span.class="tok-kw">break< |
| 37560 | 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | /span>;.........i.+=.<span.class |
| 37580 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 20 20 | ="tok-number">1</span>;.....}... |
| 375a0 | 20 20 61 73 73 65 72 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 | ..assert(i.==.<span.class="tok-n |
| 375c0 | 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | umber">10</span>);.}</code></pre |
| 375e0 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 | ><pre><code.class="shell">$.zig. |
| 37600 | 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 | test.while.zig.1/1.test."wh |
| 37620 | 69 6c 65 20 62 72 65 61 6b 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 | ile.break"...OK.All.1.tests |
| 37640 | 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 | .passed..</code></pre>........<p |
| 37660 | 3e 0a 20 20 20 20 20 20 55 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | >.......Use.<code.class="zig"><s |
| 37680 | 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 |
| 376a0 | 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 6a 75 6d 70 20 62 61 63 6b 20 74 6f 20 74 68 65 20 62 65 | n></code>.to.jump.back.to.the.be |
| 376c0 | 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6c 6f 6f 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | ginning.of.the.loop........</p>. |
| 376e0 | 20 20 20 20 20 20 3c 70 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.class="file">while.zig< |
| 37700 | 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | /p><pre><code.class="zig"><span. |
| 37720 | 63 6c 61 73 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 |
| 37740 | 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 | rt.=.<span.class="tok-builtin">@ |
| 37760 | 69 6d 70 6f 72 74 3c 2f 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 |
| 37780 | 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 | tr">"std"</span>).debu |
| 377a0 | 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | g.assert;..<span.class="tok-kw"> |
| 377c0 | 74 65 73 74 3c 2f 73 70 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 |
| 377e0 | 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 3c 2f 73 70 | ">"while.continue"</sp |
| 37800 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 | an>.{.....<span.class="tok-kw">v |
| 37820 | 61 72 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | ar</span>.i:.<span.class="tok-ty |
| 37840 | 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | pe">usize</span>.=.<span.class=" |
| 37860 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 | tok-number">0</span>;.....<span. |
| 37880 | 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 70 | class="tok-kw">while</span>.(<sp |
| 378a0 | 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>) |
| 378c0 | 20 7b 0a 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 | .{.........i.+=.<span.class="tok |
| 378e0 | 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e | -number">1</span>;.........<span |
| 37900 | 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 6c 74 | .class="tok-kw">if</span>.(i.< |
| 37920 | 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 |
| 37940 | 70 61 6e 3e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | pan>).............<span.class="t |
| 37960 | 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 | ok-kw">continue</span>;......... |
| 37980 | 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 |
| 379a0 | 3e 3b 0a 20 20 20 20 7d 0a 20 20 20 20 61 73 73 65 72 74 28 69 20 3d 3d 20 3c 73 70 61 6e 20 63 | >;.....}.....assert(i.==.<span.c |
| 379c0 | 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 0a 7d 3c | lass="tok-number">10</span>);.}< |
| 379e0 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 | /code></pre><pre><code.class="sh |
| 37a00 | 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 0a 31 2f 31 20 74 65 | ell">$.zig.test.while.zig.1/1.te |
| 37a20 | 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 2e 2e 2e | st."while.continue"... |
| 37a40 | 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f | OK.All.1.tests.passed..</code></ |
| 37a60 | 70 72 65 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 | pre>........<p>.......While.loop |
| 37a80 | 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. |
| 37aa0 | 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. |
| 37ac0 | 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 20 63 6c | ......is.continued..The.<code.cl |
| 37ae0 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | ass="zig"><span.class="tok-kw">c |
| 37b00 | 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 72 65 | ontinue</span></code>.keyword.re |
| 37b20 | 73 70 65 63 74 73 20 74 68 69 73 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f | spects.this.expression........</ |
| 37b40 | 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 77 68 69 6c 65 2e 7a | p>.......<p.class="file">while.z |
| 37b60 | 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ig</p><pre><code.class="zig"><sp |
| 37b80 | 61 6e 20 63 6c 61 73 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 |
| 37ba0 | 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e | ssert.=.<span.class="tok-builtin |
| 37bc0 | 22 3e 40 69 6d 70 6f 72 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 |
| 37be0 | 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 | k-str">"std"</span>).d |
| 37c00 | 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | ebug.assert;..<span.class="tok-k |
| 37c20 | 77 22 3e 74 65 73 74 3c 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- |
| 37c40 | 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 20 65 | str">"while.loop.continue.e |
| 37c60 | 78 70 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 | xpression"</span>.{.....<sp |
| 37c80 | 61 6e 20 63 6c 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 | an.class="tok-kw">var</span>.i:. |
| 37ca0 | 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 |
| 37cc0 | 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 |
| 37ce0 | 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | </span>;.....<span.class="tok-kw |
| 37d00 | 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 61 | ">while</span>.(i.<.<span.cla |
| 37d20 | 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 3a 20 28 69 20 | ss="tok-number">10</span>).:.(i. |
| 37d40 | 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 |
| 37d60 | 70 61 6e 3e 29 20 7b 7d 0a 20 20 20 20 61 73 73 65 72 74 28 69 20 3d 3d 20 3c 73 70 61 6e 20 63 | pan>).{}.....assert(i.==.<span.c |
| 37d80 | 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 0a 7d 0a | lass="tok-number">10</span>);.}. |
| 37da0 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e | .<span.class="tok-kw">test</span |
| 37dc0 | 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 | >.<span.class="tok-str">"wh |
| 37de0 | 69 6c 65 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 6d 6f | ile.loop.continue.expression,.mo |
| 37e00 | 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | re.complicated"</span>.{... |
| 37e20 | 20 20 3c 73 70 61 6e 20 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 |
| 37e40 | 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a | >.i:.<span.class="tok-type">usiz |
| 37e60 | 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 |
| 37e80 | 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | er">1</span>;.....<span.class="t |
| 37ea0 | 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6a 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ok-kw">var</span>.j:.<span.class |
| 37ec0 | 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 |
| 37ee0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 | .class="tok-number">1</span>;... |
| 37f00 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 | ..<span.class="tok-kw">while</sp |
| 37f20 | 61 6e 3e 20 28 69 20 2a 20 6a 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | an>.(i.*.j.<.<span.class="tok |
| 37f40 | 2d 6e 75 6d 62 65 72 22 3e 32 30 30 30 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 7b 20 69 20 2a 3d 20 | -number">2000</span>).:.({.i.*=. |
| 37f60 | 3c 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 |
| 37f80 | 3e 3b 20 6a 20 2a 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | >;.j.*=.<span.class="tok-number" |
| 37fa0 | 3e 33 3c 2f 73 70 61 6e 3e 3b 20 7d 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c | >3</span>;.}).{.........<span.cl |
| 37fc0 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 79 5f 69 6a 20 | ass="tok-kw">const</span>.my_ij. |
| 37fe0 | 3d 20 69 20 2a 20 6a 3b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 6d 79 5f 69 6a 20 26 6c | =.i.*.j;.........assert(my_ij.&l |
| 38000 | 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 |
| 38020 | 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 | </span>);.....}.}</code></pre><p |
| 38040 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 | re><code.class="shell">$.zig.tes |
| 38060 | 74 20 77 68 69 6c 65 2e 7a 69 67 0a 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 | t.while.zig.1/2.test."while |
| 38080 | 20 6c 6f 6f 70 20 63 6f 6e 74 69 6e 75 65 20 65 78 70 72 65 73 73 69 6f 6e 26 71 75 6f 74 3b 2e | .loop.continue.expression". |
| 380a0 | 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 6c 6f 6f 70 20 63 | ..OK.2/2.test."while.loop.c |
| 380c0 | 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 63 | ontinue.expression,.more.complic |
| 380e0 | 61 74 65 64 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 | ated"...OK.All.2.tests.pass |
| 38100 | 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 | ed..</code></pre>........<p>.... |
| 38120 | 20 20 20 57 68 69 6c 65 20 6c 6f 6f 70 73 20 61 72 65 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 | ...While.loops.are.expressions.. |
| 38140 | 54 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 | The.result.of.the.expression.is. |
| 38160 | 74 68 65 0a 20 20 20 20 20 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 20 63 6c | the.......result.of.the.<code.cl |
| 38180 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 | ass="zig"><span.class="tok-kw">e |
| 381a0 | 6c 73 65 3c 2f 73 70 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 | lse</span></code>.clause.of.a.wh |
| 381c0 | 69 6c 65 20 6c 6f 6f 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 | ile.loop,.which.is.executed.when |
| 381e0 | 0a 20 20 20 20 20 20 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 | .......the.condition.of.the.whil |
| 38200 | 65 20 6c 6f 6f 70 20 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 | e.loop.is.tested.as.false....... |
| 38220 | 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 20 63 6c 61 73 | .</p>.......<p>.......<code.clas |
| 38240 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-kw">bre |
| 38260 | 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 6c 69 6b 65 20 3c 63 6f 64 65 20 63 6c 61 | ak</span></code>,.like.<code.cla |
| 38280 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-kw">re |
| 382a0 | 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 63 63 65 70 74 73 20 61 20 76 61 | turn</span></code>,.accepts.a.va |
| 382c0 | 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 72 2e 20 54 68 69 | lue...............parameter..Thi |
| 382e0 | 73 20 69 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 | s.is.the.result.of.the.<code.cla |
| 38300 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-kw">wh |
| 38320 | 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a 20 20 | ile</span></code>.expression.... |
| 38340 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 79 6f 75 20 3c 63 6f 64 65 20 63 | ................When.you.<code.c |
| 38360 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | lass="zig"><span.class="tok-kw"> |
| 38380 | 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 61 20 77 68 69 6c 65 | break</span></code>.from.a.while |
| 383a0 | 20 6c 6f 6f 70 2c 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | .loop,.the.<code.class="zig"><sp |
| 383c0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 | an.class="tok-kw">else</span></c |
| 383e0 | 6f 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 | ode>.branch.is.not.......evaluat |
| 38400 | 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 | ed........</p>.......<p.class="f |
| 38420 | 69 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | ile">while.zig</p><pre><code.cla |
| 38440 | 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | ss="zig"><span.class="tok-kw">co |
| 38460 | 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= |
| 38480 | 22 74 6f 6b 2d 62 75 69 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 |
| 384a0 | 61 6e 20 63 6c 61 73 73 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">"std&quo |
| 384c0 | 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 | t;</span>).debug.assert;..<span. |
| 384e0 | 63 6c 61 73 73 3d 22 74 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 |
| 38500 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 65 6c 73 | .class="tok-str">"while.els |
| 38520 | 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 72 61 6e 67 | e"</span>.{.....assert(rang |
| 38540 | 65 48 61 73 4e 75 6d 62 65 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | eHasNumber(<span.class="tok-numb |
| 38560 | 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | er">0</span>,.<span.class="tok-n |
| 38580 | 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | umber">10</span>,.<span.class="t |
| 385a0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 61 73 73 65 72 | ok-number">5</span>));.....asser |
| 385c0 | 74 28 21 72 61 6e 67 65 48 61 73 4e 75 6d 62 65 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | t(!rangeHasNumber(<span.class="t |
| 385e0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ok-number">0</span>,.<span.class |
| 38600 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 | ="tok-number">10</span>,.<span.c |
| 38620 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 35 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d | lass="tok-number">15</span>));.} |
| 38640 | 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e | ..<span.class="tok-kw">fn</span> |
| 38660 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 61 6e 67 65 48 61 73 4e 75 | .<span.class="tok-fn">rangeHasNu |
| 38680 | 6d 62 65 72 3c 2f 73 70 61 6e 3e 28 62 65 67 69 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | mber</span>(begin:.<span.class=" |
| 386a0 | 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 65 6e 64 3a 20 3c 73 70 | tok-type">usize</span>,.end:.<sp |
| 386c0 | 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> |
| 386e0 | 2c 20 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | ,.number:.<span.class="tok-type" |
| 38700 | 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >usize</span>).<span.class="tok- |
| 38720 | 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | type">bool</span>.{.....<span.cl |
| 38740 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 62 65 67 69 | ass="tok-kw">var</span>.i.=.begi |
| 38760 | 6e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 | n;.....<span.class="tok-kw">retu |
| 38780 | 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 77 | rn</span>.<span.class="tok-kw">w |
| 387a0 | 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 65 6e 64 29 20 3a 20 28 69 20 2b 3d | hile</span>.(i.<.end).:.(i.+= |
| 387c0 | 20 3c 73 70 61 6e 20 63 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 |
| 387e0 | 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | n>).{.........<span.class="tok-k |
| 38800 | 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 0a 20 20 20 | w">if</span>.(i.==.number).{.... |
| 38820 | 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 72 | .........<span.class="tok-kw">br |
| 38840 | 65 61 6b 3c 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 | eak</span>.<span.class="tok-null |
| 38860 | 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 20 3c | ">true</span>;.........}.....}.< |
| 38880 | 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>. |
| 388a0 | 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 |
| 388c0 | 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | an>;.}</code></pre><pre><code.cl |
| 388e0 | 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 | ass="shell">$.zig.test.while.zig |
| 38900 | 0a 31 2f 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 | .1/1.test."while.else" |
| 38920 | 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 | ...OK.All.1.tests.passed..</code |
| 38940 | 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4c 61 62 65 6c 65 64 2d 77 | ></pre>........<h2.id="Labeled-w |
| 38960 | 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 65 64 2d 77 68 69 6c | hile"><a.href="#toc-Labeled-whil |
| 38980 | 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 6c 61 73 73 3d 22 68 | e">Labeled.while</a>.<a.class="h |
| 389a0 | 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 3e c2 a7 3c 2f 61 3e | dr".href="#Labeled-while">..</a> |
| 389c0 | 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 3c 63 6f 64 65 20 63 6c 61 | </h2>........<p>When.a.<code.cla |
| 389e0 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-kw">wh |
| 38a00 | 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 20 69 73 20 6c 61 62 65 6c 65 | ile</span></code>.loop.is.labele |
| 38a20 | 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 6f 6d 20 61 20 3c | d,.it.can.be.referenced.from.a.< |
| 38a40 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 38a60 | 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 | k-kw">break</span></code>....... |
| 38a80 | 20 20 20 20 20 20 20 20 6f 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ........or.<code.class="zig"><sp |
| 38aa0 | 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 |
| 38ac0 | 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 6c 6f | ></code>.from.within.a.nested.lo |
| 38ae0 | 6f 70 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 | op:</p>.......<p.class="file">te |
| 38b00 | 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | st.zig</p><pre><code.class="zig" |
| 38b20 | 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 |
| 38b40 | 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 65 | >.<span.class="tok-str">"ne |
| 38b60 | 73 74 65 64 20 62 72 65 61 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6f 75 | sted.break"</span>.{.....ou |
| 38b80 | 74 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c | ter:.<span.class="tok-kw">while< |
| 38ba0 | 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 | /span>.(<span.class="tok-null">t |
| 38bc0 | 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | rue</span>).{.........<span.clas |
| 38be0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 | s="tok-kw">while</span>.(<span.c |
| 38c00 | 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 0a 20 | lass="tok-null">true</span>).{.. |
| 38c20 | 20 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"> |
| 38c40 | 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 | break</span>.:outer;.........}.. |
| 38c60 | 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 | ...}.}..<span.class="tok-kw">tes |
| 38c80 | 74 3c 2f 73 70 61 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">& |
| 38ca0 | 71 75 6f 74 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e | quot;nested.continue"</span |
| 38cc0 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 | >.{.....<span.class="tok-kw">var |
| 38ce0 | 3c 2f 73 70 61 6e 3e 20 69 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | </span>.i:.<span.class="tok-type |
| 38d00 | 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 |
| 38d20 | 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 6f 75 74 65 72 3a 20 3c | k-number">0</span>;.....outer:.< |
| 38d40 | 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> |
| 38d60 | 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.<.<span.class="tok-number |
| 38d80 | 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 |
| 38da0 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 | ="tok-number">1</span>).{....... |
| 38dc0 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 | ..<span.class="tok-kw">while</sp |
| 38de0 | 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 | an>.(<span.class="tok-null">true |
| 38e00 | 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | </span>).{.............<span.cla |
| 38e20 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 | ss="tok-kw">continue</span>.:out |
| 38e40 | 65 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | er;.........}.....}.}</code></pr |
| 38e60 | 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 | e><pre><code.class="shell">$.zig |
| 38e80 | 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 65 | .test.test.zig.1/2.test."ne |
| 38ea0 | 73 74 65 64 20 62 72 65 61 6b 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 20 26 | sted.break"...OK.2/2.test.& |
| 38ec0 | 71 75 6f 74 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a | quot;nested.continue"...OK. |
| 38ee0 | 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | All.2.tests.passed..</code></pre |
| 38f00 | 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 77 68 69 6c 65 2d 77 69 | >...............<h2.id="while-wi |
| 38f20 | 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 77 68 69 6c | th-Optionals"><a.href="#toc-whil |
| 38f40 | 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e 77 68 69 6c 65 20 77 69 74 68 20 4f 70 74 | e-with-Optionals">while.with.Opt |
| 38f60 | 69 6f 6e 61 6c 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 | ionals</a>.<a.class="hdr".href=" |
| 38f80 | 23 77 68 69 6c 65 2d 77 69 74 68 2d 4f 70 74 69 6f 6e 61 6c 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 | #while-with-Optionals">..</a></h |
| 38fa0 | 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 3c 61 | 2>........<p>.......Just.like.<a |
| 38fc0 | 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 2c 20 | .href="#if">if</a>.expressions,. |
| 38fe0 | 77 68 69 6c 65 20 6c 6f 6f 70 73 20 63 61 6e 20 74 61 6b 65 20 61 6e 20 6f 70 74 69 6f 6e 61 6c | while.loops.can.take.an.optional |
| 39000 | 20 61 73 20 74 68 65 0a 20 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e 64 20 63 61 70 74 | .as.the.......condition.and.capt |
| 39020 | 75 72 65 20 74 68 65 20 70 61 79 6c 6f 61 64 2e 20 57 68 65 6e 20 3c 61 20 68 72 65 66 3d 22 23 | ure.the.payload..When.<a.href="# |
| 39040 | 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 69 73 20 65 6e 63 6f 75 6e 74 65 72 65 64 20 74 68 | null">null</a>.is.encountered.th |
| 39060 | 65 20 6c 6f 6f 70 0a 20 20 20 20 20 20 65 78 69 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 | e.loop.......exits........</p>.. |
| 39080 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 74 68 65 20 3c 63 6f 64 65 20 63 6c | .....<p>.......When.the.<code.cl |
| 390a0 | 61 73 73 3d 22 7a 69 67 22 3e 7c 78 7c 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 69 73 20 70 | ass="zig">|x|</code>.syntax.is.p |
| 390c0 | 72 65 73 65 6e 74 20 6f 6e 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | resent.on.a.<code.class="zig"><s |
| 390e0 | 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 3c | pan.class="tok-kw">while</span>< |
| 39100 | 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 68 69 | /code>.expression,.......the.whi |
| 39120 | 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 72 65 | le.condition.must.have.an.<a.hre |
| 39140 | 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e 4f 70 74 69 6f 6e 61 6c 20 54 79 70 65 | f="#Optional-Type">Optional.Type |
| 39160 | 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>...... |
| 39180 | 20 54 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | .The.<code.class="zig"><span.cla |
| 391a0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 | ss="tok-kw">else</span></code>.b |
| 391c0 | 72 61 6e 63 68 20 69 73 20 61 6c 6c 6f 77 65 64 20 6f 6e 20 6f 70 74 69 6f 6e 61 6c 20 69 74 65 | ranch.is.allowed.on.optional.ite |
| 391e0 | 72 61 74 69 6f 6e 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 69 74 20 77 69 6c 6c 0a 20 20 | ration..In.this.case,.it.will... |
| 39200 | 20 20 20 20 62 65 20 65 78 65 63 75 74 65 64 20 6f 6e 20 74 68 65 20 66 69 72 73 74 20 6e 75 6c | ....be.executed.on.the.first.nul |
| 39220 | 6c 20 76 61 6c 75 65 20 65 6e 63 6f 75 6e 74 65 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | l.value.encountered........</p>. |
| 39240 | 20 20 20 20 20 20 3c 70 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.class="file">while.zig< |
| 39260 | 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | /p><pre><code.class="zig"><span. |
| 39280 | 63 6c 61 73 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 |
| 392a0 | 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 | rt.=.<span.class="tok-builtin">@ |
| 392c0 | 69 6d 70 6f 72 74 3c 2f 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 |
| 392e0 | 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 | tr">"std"</span>).debu |
| 39300 | 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | g.assert;..<span.class="tok-kw"> |
| 39320 | 74 65 73 74 3c 2f 73 70 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 |
| 39340 | 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 6e 75 6c 6c 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b | ">"while.null.capture" |
| 39360 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | </span>.{.....<span.class="tok-k |
| 39380 | 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | w">var</span>.sum1:.<span.class= |
| 393a0 | 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 |
| 393c0 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 6e | ass="tok-number">0</span>;.....n |
| 393e0 | 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | umbers_left.=.<span.class="tok-n |
| 39400 | 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | umber">3</span>;.....<span.class |
| 39420 | 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c | ="tok-kw">while</span>.(eventual |
| 39440 | 6c 79 4e 75 6c 6c 53 65 71 75 65 6e 63 65 28 29 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 | lyNullSequence()).|value|.{..... |
| 39460 | 20 20 20 20 73 75 6d 31 20 2b 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 61 73 73 | ....sum1.+=.value;.....}.....ass |
| 39480 | 65 72 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 | ert(sum1.==.<span.class="tok-num |
| 394a0 | 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ber">3</span>);......<span.class |
| 394c0 | 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 32 3a 20 3c 73 70 61 6e | ="tok-kw">var</span>.sum2:.<span |
| 394e0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c | .class="tok-type">u32</span>.=.< |
| 39500 | 73 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> |
| 39520 | 3b 0a 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ;.....numbers_left.=.<span.class |
| 39540 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 | ="tok-number">3</span>;.....<spa |
| 39560 | 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 65 | n.class="tok-kw">while</span>.(e |
| 39580 | 76 65 6e 74 75 61 6c 6c 79 4e 75 6c 6c 53 65 71 75 65 6e 63 65 28 29 29 20 7c 76 61 6c 75 65 7c | ventuallyNullSequence()).|value| |
| 395a0 | 20 7b 0a 20 20 20 20 20 20 20 20 73 75 6d 32 20 2b 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 20 | .{.........sum2.+=.value;.....}. |
| 395c0 | 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> |
| 395e0 | 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 73 75 6d 32 20 3d 3d 20 3c 73 70 61 6e 20 | .{.........assert(sum2.==.<span. |
| 39600 | 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 0a 20 20 | class="tok-number">3</span>);... |
| 39620 | 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c | ..}.}..<span.class="tok-kw">var< |
| 39640 | 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | /span>.numbers_left:.<span.class |
| 39660 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 | ="tok-type">u32</span>.=.<span.c |
| 39680 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e | lass="tok-null">undefined</span> |
| 396a0 | 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e | ;.<span.class="tok-kw">fn</span> |
| 396c0 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 76 65 6e 74 75 61 6c 6c 79 | .<span.class="tok-fn">eventually |
| 396e0 | 4e 75 6c 6c 53 65 71 75 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 29 20 3f 3c 73 70 61 6e 20 63 6c 61 | NullSequence</span>().?<span.cla |
| 39700 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c | ss="tok-type">u32</span>.{.....< |
| 39720 | 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 |
| 39740 | 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> |
| 39760 | 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 |
| 39780 | 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 |
| 397a0 | 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c | ="tok-null">null</span>.<span.cl |
| 397c0 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 0a | ass="tok-kw">else</span>.blk:.{. |
| 397e0 | 20 20 20 20 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 2d 3d 20 3c 73 70 61 6e 20 63 6c | ........numbers_left.-=.<span.cl |
| 39800 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 | ass="tok-number">1</span>;...... |
| 39820 | 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 | ...<span.class="tok-kw">break</s |
| 39840 | 70 61 6e 3e 20 3a 62 6c 6b 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3b 0a 20 20 20 20 7d 3b 0a 7d | pan>.:blk.numbers_left;.....};.} |
| 39860 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 | </code></pre><pre><code.class="s |
| 39880 | 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 0a 31 2f 31 20 74 | hell">$.zig.test.while.zig.1/1.t |
| 398a0 | 65 73 74 20 26 71 75 6f 74 3b 77 68 69 6c 65 20 6e 75 6c 6c 20 63 61 70 74 75 72 65 26 71 75 6f | est."while.null.capture&quo |
| 398c0 | 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f | t;...OK.All.1.tests.passed..</co |
| 398e0 | 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d | de></pre>................<h2.id= |
| 39900 | 22 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 3c 61 20 68 72 65 | "while-with-Error-Unions"><a.hre |
| 39920 | 66 3d 22 23 74 6f 63 2d 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 | f="#toc-while-with-Error-Unions" |
| 39940 | 3e 77 68 69 6c 65 20 77 69 74 68 20 45 72 72 6f 72 20 55 6e 69 6f 6e 73 3c 2f 61 3e 20 3c 61 20 | >while.with.Error.Unions</a>.<a. |
| 39960 | 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 77 68 69 6c 65 2d 77 69 74 68 2d 45 72 | class="hdr".href="#while-with-Er |
| 39980 | 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c | ror-Unions">..</a></h2>........< |
| 399a0 | 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 | p>.......Just.like.<a.href="#if" |
| 399c0 | 3e 69 66 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 2c 20 77 68 69 6c 65 20 6c 6f 6f 70 73 | >if</a>.expressions,.while.loops |
| 399e0 | 20 63 61 6e 20 74 61 6b 65 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 61 73 0a 20 20 20 20 | .can.take.an.error.union.as..... |
| 39a00 | 20 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 20 61 6e 64 20 63 61 70 74 75 72 65 20 74 68 65 20 | ..the.condition.and.capture.the. |
| 39a20 | 70 61 79 6c 6f 61 64 20 6f 72 20 74 68 65 20 65 72 72 6f 72 20 63 6f 64 65 2e 20 57 68 65 6e 20 | payload.or.the.error.code..When. |
| 39a40 | 74 68 65 0a 20 20 20 20 20 20 63 6f 6e 64 69 74 69 6f 6e 20 72 65 73 75 6c 74 73 20 69 6e 20 61 | the.......condition.results.in.a |
| 39a60 | 6e 20 65 72 72 6f 72 20 63 6f 64 65 20 74 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 69 73 20 | n.error.code.the.else.branch.is. |
| 39a80 | 65 76 61 6c 75 61 74 65 64 20 61 6e 64 0a 20 20 20 20 20 20 74 68 65 20 6c 6f 6f 70 20 69 73 20 | evaluated.and.......the.loop.is. |
| 39aa0 | 66 69 6e 69 73 68 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 | finished........</p>.......<p>.. |
| 39ac0 | 20 20 20 20 20 57 68 65 6e 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | .....When.the.<code.class="zig"> |
| 39ae0 | 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> |
| 39b00 | 20 7c 78 7c 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 69 73 20 70 72 65 73 65 6e 74 20 6f 6e | .|x|</code>.syntax.is.present.on |
| 39b20 | 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | .a.<code.class="zig"><span.class |
| 39b40 | 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 | ="tok-kw">while</span></code>.ex |
| 39b60 | 70 72 65 73 73 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 65 20 77 68 69 6c 65 20 63 6f 6e 64 69 74 | pression,.......the.while.condit |
| 39b80 | 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 45 72 72 6f 72 | ion.must.have.an.<a.href="#Error |
| 39ba0 | 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 | -Union-Type">Error.Union.Type</a |
| 39bc0 | 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 | >........</p>.......<p.class="fi |
| 39be0 | 6c 65 22 3e 77 68 69 6c 65 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | le">while.zig</p><pre><code.clas |
| 39c00 | 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | s="zig"><span.class="tok-kw">con |
| 39c20 | 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 22 | st</span>.assert.=.<span.class=" |
| 39c40 | 74 6f 6b 2d 62 75 69 6c 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 |
| 39c60 | 6e 20 63 6c 61 73 73 3d 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">"std" |
| 39c80 | 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 | ;</span>).debug.assert;..<span.c |
| 39ca0 | 6c 61 73 73 3d 22 74 6f 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. |
| 39cc0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 68 69 6c 65 20 65 72 72 6f | class="tok-str">"while.erro |
| 39ce0 | 72 20 75 6e 69 6f 6e 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 | r.union.capture"</span>.{.. |
| 39d00 | 20 20 20 3c 73 70 61 6e 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 |
| 39d20 | 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"> |
| 39d40 | 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 |
| 39d60 | 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 | mber">0</span>;.....numbers_left |
| 39d80 | 20 3d 20 3c 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 |
| 39da0 | 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 | pan>;.....<span.class="tok-kw">w |
| 39dc0 | 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 65 76 65 6e 74 75 61 6c 6c 79 45 72 72 6f 72 53 65 71 75 | hile</span>.(eventuallyErrorSequ |
| 39de0 | 65 6e 63 65 28 29 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 73 75 6d 31 20 2b | ence()).|value|.{.........sum1.+ |
| 39e00 | 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | =.value;.....}.<span.class="tok- |
| 39e20 | 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 | kw">else</span>.|err|.{......... |
| 39e40 | 61 73 73 65 72 74 28 65 72 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | assert(err.==.<span.class="tok-k |
| 39e60 | 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 0a 20 20 | w">error</span>.ReachedZero);... |
| 39e80 | 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c | ..}.}..<span.class="tok-kw">var< |
| 39ea0 | 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 73 5f 6c 65 66 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | /span>.numbers_left:.<span.class |
| 39ec0 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 | ="tok-type">u32</span>.=.<span.c |
| 39ee0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e | lass="tok-null">undefined</span> |
| 39f00 | 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e | ;..<span.class="tok-kw">fn</span |
| 39f20 | 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 76 65 6e 74 75 61 6c 6c | >.<span.class="tok-fn">eventuall |
| 39f40 | 79 45 72 72 6f 72 53 65 71 75 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c | yErrorSequence</span>().<span.cl |
| 39f60 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c | ass="tok-type">anyerror</span>!< |
| 39f80 | 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> |
| 39fa0 | 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 | .{.....<span.class="tok-kw">retu |
| 39fc0 | 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 |
| 39fe0 | 66 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 73 5f 6c 65 66 74 20 3d 3d 20 3c 73 70 61 6e 20 | f</span>.(numbers_left.==.<span. |
| 3a000 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 | class="tok-number">0</span>).<sp |
| 3a020 | 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 52 | an.class="tok-kw">error</span>.R |
| 3a040 | 65 61 63 68 65 64 5a 65 72 6f 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | eachedZero.<span.class="tok-kw"> |
| 3a060 | 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 6e 75 6d 62 65 | else</span>.blk:.{.........numbe |
| 3a080 | 72 73 5f 6c 65 66 74 20 2d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | rs_left.-=.<span.class="tok-numb |
| 3a0a0 | 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | er">1</span>;.........<span.clas |
| 3a0c0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 6e 75 6d | s="tok-kw">break</span>.:blk.num |
| 3a0e0 | 62 65 72 73 5f 6c 65 66 74 3b 0a 20 20 20 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | bers_left;.....};.}</code></pre> |
| 3a100 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 | <pre><code.class="shell">$.zig.t |
| 3a120 | 65 73 74 20 77 68 69 6c 65 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 68 69 | est.while.zig.1/1.test."whi |
| 3a140 | 6c 65 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 63 61 70 74 75 72 65 26 71 75 6f 74 3b 2e 2e 2e 4f | le.error.union.capture"...O |
| 3a160 | 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 | K.All.1.tests.passed..</code></p |
| 3a180 | 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 69 6e 6c 69 6e | re>................<h2.id="inlin |
| 3a1a0 | 65 2d 77 68 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 6c 69 6e 65 2d 77 68 | e-while"><a.href="#toc-inline-wh |
| 3a1c0 | 69 6c 65 22 3e 69 6e 6c 69 6e 65 20 77 68 69 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 | ile">inline.while</a>.<a.class=" |
| 3a1e0 | 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 77 68 69 6c 65 22 3e c2 a7 3c 2f 61 3e | hdr".href="#inline-while">..</a> |
| 3a200 | 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 69 6c 65 20 6c 6f 6f | </h2>........<p>.......While.loo |
| 3a220 | 70 73 20 63 61 6e 20 62 65 20 69 6e 6c 69 6e 65 64 2e 20 54 68 69 73 20 63 61 75 73 65 73 20 74 | ps.can.be.inlined..This.causes.t |
| 3a240 | 68 65 20 6c 6f 6f 70 20 74 6f 20 62 65 20 75 6e 72 6f 6c 6c 65 64 2c 20 77 68 69 63 68 0a 20 20 | he.loop.to.be.unrolled,.which... |
| 3a260 | 20 20 20 20 61 6c 6c 6f 77 73 20 74 68 65 20 63 6f 64 65 20 74 6f 20 64 6f 20 73 6f 6d 65 20 74 | ....allows.the.code.to.do.some.t |
| 3a280 | 68 69 6e 67 73 20 77 68 69 63 68 20 6f 6e 6c 79 20 77 6f 72 6b 20 61 74 20 63 6f 6d 70 69 6c 65 | hings.which.only.work.at.compile |
| 3a2a0 | 20 74 69 6d 65 2c 0a 20 20 20 20 20 20 73 75 63 68 20 61 73 20 75 73 65 20 74 79 70 65 73 20 61 | .time,.......such.as.use.types.a |
| 3a2c0 | 73 20 66 69 72 73 74 20 63 6c 61 73 73 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e | s.first.class.values........</p> |
| 3a2e0 | 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c | .......<p.class="file">test.zig< |
| 3a300 | 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | /p><pre><code.class="zig"><span. |
| 3a320 | 63 6c 61 73 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 |
| 3a340 | 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 | rt.=.<span.class="tok-builtin">@ |
| 3a360 | 69 6d 70 6f 72 74 3c 2f 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 |
| 3a380 | 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 | tr">"std"</span>).debu |
| 3a3a0 | 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | g.assert;..<span.class="tok-kw"> |
| 3a3c0 | 74 65 73 74 3c 2f 73 70 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 |
| 3a3e0 | 22 3e 26 71 75 6f 74 3b 69 6e 6c 69 6e 65 20 77 68 69 6c 65 20 6c 6f 6f 70 26 71 75 6f 74 3b 3c | ">"inline.while.loop"< |
| 3a400 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | /span>.{.....<span.class="tok-kw |
| 3a420 | 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 |
| 3a440 | 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 |
| 3a460 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 | s="tok-number">0</span>;.....<sp |
| 3a480 | 61 6e 20 63 6c 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 |
| 3a4a0 | 3a 20 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</ |
| 3a4c0 | 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" |
| 3a4e0 | 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >0</span>;.....<span.class="tok- |
| 3a500 | 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 22 74 | kw">inline</span>.<span.class="t |
| 3a520 | 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 | ok-kw">while</span>.(i.<.<spa |
| 3a540 | 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 3a | n.class="tok-number">3</span>).: |
| 3a560 | 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | .(i.+=.<span.class="tok-number"> |
| 3a580 | 31 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | 1</span>).{.........<span.class= |
| 3a5a0 | 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 20 3d 20 3c 73 70 61 6e 20 | "tok-kw">const</span>.T.=.<span. |
| 3a5c0 | 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 69 29 | class="tok-kw">switch</span>.(i) |
| 3a5e0 | 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | .{.............<span.class="tok- |
| 3a600 | 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 | number">0</span>.=>.<span.cla |
| 3a620 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 | ss="tok-type">f32</span>,....... |
| 3a640 | 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 | ......<span.class="tok-number">1 |
| 3a660 | 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | </span>.=>.<span.class="tok-t |
| 3a680 | 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 | ype">i8</span>,.............<spa |
| 3a6a0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 3d 26 | n.class="tok-number">2</span>.=& |
| 3a6c0 | 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c | gt;.<span.class="tok-type">bool< |
| 3a6e0 | 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | /span>,.............<span.class= |
| 3a700 | 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e | "tok-kw">else</span>.=>.<span |
| 3a720 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 | .class="tok-kw">unreachable</spa |
| 3a740 | 6e 3e 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 74 79 | n>,.........};.........sum.+=.ty |
| 3a760 | 70 65 4e 61 6d 65 4c 65 6e 67 74 68 28 54 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 61 73 73 65 72 | peNameLength(T);.....}.....asser |
| 3a780 | 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 72 | t(sum.==.<span.class="tok-number |
| 3a7a0 | 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ">9</span>);.}..<span.class="tok |
| 3a7c0 | 2d 6b 77 22 3e 66 6e 3c 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- |
| 3a7e0 | 66 6e 22 3e 74 79 70 65 4e 61 6d 65 4c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 | fn">typeNameLength</span>(<span. |
| 3a800 | 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 |
| 3a820 | 3a 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 |
| 3a840 | 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 69 | pan>).<span.class="tok-type">usi |
| 3a860 | 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ze</span>.{.....<span.class="tok |
| 3a880 | 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=" |
| 3a8a0 | 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 54 29 | tok-builtin">@typeName</span>(T) |
| 3a8c0 | 2e 6c 65 6e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | .len;.}</code></pre><pre><code.c |
| 3a8e0 | 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 | lass="shell">$.zig.test.test.zig |
| 3a900 | 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 69 6e 6c 69 6e 65 20 77 68 69 6c 65 20 6c 6f 6f | .1/1.test."inline.while.loo |
| 3a920 | 70 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e | p"...OK.All.1.tests.passed. |
| 3a940 | 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 | .</code></pre>........<p>....... |
| 3a960 | 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 20 63 | It.is.recommended.to.use.<code.c |
| 3a980 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | lass="zig"><span.class="tok-kw"> |
| 3a9a0 | 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 73 20 6f 6e 6c 79 20 | inline</span></code>.loops.only. |
| 3a9c0 | 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 20 | for.one.of.these.reasons:....... |
| 3a9e0 | 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 20 | </p>.......<ul>.........<li>You. |
| 3aa00 | 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 68 | need.the.loop.to.execute.at.<a.h |
| 3aa20 | 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 72 | ref="#comptime">comptime</a>.for |
| 3aa40 | 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 20 | .the.semantics.to.work.</li>.... |
| 3aa60 | 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 6e | .....<li>.........You.have.a.ben |
| 3aa80 | 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 6e | chmark.to.prove.that.forcibly.un |
| 3aaa0 | 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 20 | rolling.the.loop.in.this.way.is. |
| 3aac0 | 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 3e | measurably.faster..........</li> |
| 3aae0 | 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 65 | .......</ul>..............<p>See |
| 3ab00 | 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 66 22 | .also:</p><ul>.<li><a.href="#if" |
| 3ab20 | 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f | >if</a></li>.<li><a.href="#Optio |
| 3ab40 | 6e 61 6c 73 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 | nals">Optionals</a></li>.<li><a. |
| 3ab60 | 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c | href="#Errors">Errors</a></li>.< |
| 3ab80 | 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 69 6d 65 3c | li><a.href="#comptime">comptime< |
| 3aba0 | 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e 72 65 61 63 68 61 62 | /a></li>.<li><a.href="#unreachab |
| 3abc0 | 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a | le">unreachable</a></li>.</ul>.. |
| 3abe0 | 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 66 6f 72 22 3e 3c 61 20 68 72 65 | .............<h1.id="for"><a.hre |
| 3ac00 | 66 3d 22 23 74 6f 63 2d 66 6f 72 22 3e 66 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 | f="#toc-for">for</a>.<a.class="h |
| 3ac20 | 64 72 22 20 68 72 65 66 3d 22 23 66 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 | dr".href="#for">..</a></h1>..... |
| 3ac40 | 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 6f 72 2e 7a 69 67 3c 2f 70 3e 3c 70 | ...<p.class="file">for.zig</p><p |
| 3ac60 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| 3ac80 | 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 74 20 3d 20 | ="tok-kw">const</span>.assert.=. |
| 3aca0 | 3c 73 70 61 6e 20 63 6c 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 |
| 3acc0 | 74 3c 2f 73 70 61 6e 3e 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">& |
| 3ace0 | 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 61 73 73 | quot;std"</span>).debug.ass |
| 3ad00 | 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c | ert;..<span.class="tok-kw">test< |
| 3ad20 | 2f 73 70 61 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 |
| 3ad40 | 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 0a 20 20 20 | ot;for.basics"</span>.{.... |
| 3ad60 | 20 3c 73 70 61 6e 20 63 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 |
| 3ad80 | 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | n>.items.=.[_]<span.class="tok-t |
| 3ada0 | 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ype">i32</span>.{.<span.class="t |
| 3adc0 | 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 |
| 3ade0 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c | ="tok-number">5</span>,.<span.cl |
| 3ae00 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e | ass="tok-number">3</span>,.<span |
| 3ae20 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 | .class="tok-number">4</span>,.<s |
| 3ae40 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 20 | pan.class="tok-number">0</span>. |
| 3ae60 | 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c | };.....<span.class="tok-kw">var< |
| 3ae80 | 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | /span>.sum:.<span.class="tok-typ |
| 3aea0 | 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 |
| 3aec0 | 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | -number">0</span>;......<span.cl |
| 3aee0 | 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 6f 72 20 6c 6f 6f 70 73 20 69 | ass="tok-comment">//.For.loops.i |
| 3af00 | 74 65 72 61 74 65 20 6f 76 65 72 20 73 6c 69 63 65 73 20 61 6e 64 20 61 72 72 61 79 73 2e 3c 2f | terate.over.slices.and.arrays.</ |
| 3af20 | 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 | span>.....<span.class="tok-kw">f |
| 3af40 | 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 0a 20 20 20 20 | or</span>.(items).|value|.{..... |
| 3af60 | 20 20 20 20 3c 73 70 61 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">// |
| 3af80 | 20 42 72 65 61 6b 20 61 6e 64 20 63 6f 6e 74 69 6e 75 65 20 61 72 65 20 73 75 70 70 6f 72 74 65 | .Break.and.continue.are.supporte |
| 3afa0 | 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | d.</span>.........<span.class="t |
| 3afc0 | 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e | ok-kw">if</span>.(value.==.<span |
| 3afe0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 0a | .class="tok-number">0</span>).{. |
| 3b000 | 20 20 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" |
| 3b020 | 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 | >continue</span>;.........}..... |
| 3b040 | 20 20 20 20 73 75 6d 20 2b 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 20 20 20 61 73 73 65 | ....sum.+=.value;.....}.....asse |
| 3b060 | 72 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 | rt(sum.==.<span.class="tok-numbe |
| 3b080 | 72 22 3e 31 36 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | r">16</span>);......<span.class= |
| 3b0a0 | 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 69 74 65 72 61 74 65 20 6f 76 65 72 | "tok-comment">//.To.iterate.over |
| 3b0c0 | 20 61 20 70 6f 72 74 69 6f 6e 20 6f 66 20 61 20 73 6c 69 63 65 2c 20 72 65 73 6c 69 63 65 2e 3c | .a.portion.of.a.slice,.reslice.< |
| 3b0e0 | 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | /span>.....<span.class="tok-kw"> |
| 3b100 | 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | for</span>.(items[<span.class="t |
| 3b120 | 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 73 | ok-number">0</span>..<span.class |
| 3b140 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 29 20 7c 76 61 6c 75 65 7c | ="tok-number">1</span>]).|value| |
| 3b160 | 20 7b 0a 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 20 | .{.........sum.+=.value;.....}.. |
| 3b180 | 20 20 20 61 73 73 65 72 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ...assert(sum.==.<span.class="to |
| 3b1a0 | 6b 2d 6e 75 6d 62 65 72 22 3e 32 30 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e | k-number">20</span>);......<span |
| 3b1c0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 61 63 63 65 73 | .class="tok-comment">//.To.acces |
| 3b1e0 | 73 20 74 68 65 20 69 6e 64 65 78 20 6f 66 20 69 74 65 72 61 74 69 6f 6e 2c 20 73 70 65 63 69 66 | s.the.index.of.iteration,.specif |
| 3b200 | 79 20 61 20 73 65 63 6f 6e 64 20 63 61 70 74 75 72 65 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e | y.a.second.capture.value.</span> |
| 3b220 | 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f | .....<span.class="tok-comment">/ |
| 3b240 | 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 6e 3e 0a 20 | /.This.is.zero-indexed.</span>.. |
| 3b260 | 20 20 20 3c 73 70 61 6e 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 |
| 3b280 | 6e 3e 20 73 75 6d 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | n>.sum2:.<span.class="tok-type"> |
| 3b2a0 | 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 |
| 3b2c0 | 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | mber">0</span>;.....<span.class= |
| 3b2e0 | 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 6c | "tok-kw">for</span>.(items).|val |
| 3b300 | 75 65 2c 20 69 7c 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c | ue,.i|.{.........assert(<span.cl |
| 3b320 | 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e | ass="tok-builtin">@TypeOf</span> |
| 3b340 | 28 69 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 | (i).==.<span.class="tok-type">us |
| 3b360 | 69 7a 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 73 75 6d 32 20 2b 3d 20 3c 73 70 | ize</span>);.........sum2.+=.<sp |
| 3b380 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c | an.class="tok-builtin">@intCast< |
| 3b3a0 | 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 | /span>(<span.class="tok-type">i3 |
| 3b3c0 | 32 3c 2f 73 70 61 6e 3e 2c 20 69 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 61 73 73 65 72 74 28 73 | 2</span>,.i);.....}.....assert(s |
| 3b3e0 | 75 6d 32 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | um2.==.<span.class="tok-number"> |
| 3b400 | 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | 10</span>);.}..<span.class="tok- |
| 3b420 | 6b 77 22 3e 74 65 73 74 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 |
| 3b440 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 72 20 72 65 66 65 72 65 6e 63 65 26 71 75 6f 74 3b 3c | -str">"for.reference"< |
| 3b460 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | /span>.{.....<span.class="tok-kw |
| 3b480 | 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c | ">var</span>.items.=.[_]<span.cl |
| 3b4a0 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 | ass="tok-type">i32</span>.{.<spa |
| 3b4c0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c | n.class="tok-number">3</span>,.< |
| 3b4e0 | 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> |
| 3b500 | 2c 20 3c 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 |
| 3b520 | 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d | an>.};......<span.class="tok-com |
| 3b540 | 6d 65 6e 74 22 3e 2f 2f 20 49 74 65 72 61 74 65 20 6f 76 65 72 20 74 68 65 20 73 6c 69 63 65 20 | ment">//.Iterate.over.the.slice. |
| 3b560 | 62 79 20 72 65 66 65 72 65 6e 63 65 20 62 79 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e | by.reference.by</span>.....<span |
| 3b580 | 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 70 65 63 69 66 79 69 | .class="tok-comment">//.specifyi |
| 3b5a0 | 6e 67 20 74 68 61 74 20 74 68 65 20 63 61 70 74 75 72 65 20 76 61 6c 75 65 20 69 73 20 61 20 70 | ng.that.the.capture.value.is.a.p |
| 3b5c0 | 6f 69 6e 74 65 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ointer.</span>.....<span.class=" |
| 3b5e0 | 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 69 74 65 6d 73 29 20 7c 2a 76 61 6c | tok-kw">for</span>.(items).|*val |
| 3b600 | 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 | ue|.{.........value.*.+=.<span.c |
| 3b620 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 | lass="tok-number">1</span>;..... |
| 3b640 | 7d 0a 0a 20 20 20 20 61 73 73 65 72 74 28 69 74 65 6d 73 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d | }......assert(items[<span.class= |
| 3b660 | 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 | "tok-number">0</span>].==.<span. |
| 3b680 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 | class="tok-number">4</span>);... |
| 3b6a0 | 20 20 61 73 73 65 72 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 | ..assert(items[<span.class="tok- |
| 3b6c0 | 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | number">1</span>].==.<span.class |
| 3b6e0 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 | ="tok-number">5</span>);.....ass |
| 3b700 | 65 72 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 | ert(items[<span.class="tok-numbe |
| 3b720 | 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | r">2</span>].==.<span.class="tok |
| 3b740 | 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 | -number">3</span>);.}..<span.cla |
| 3b760 | 73 73 3d 22 74 6f 6b 2d 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 |
| 3b780 | 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 72 20 65 6c 73 65 26 71 75 6f | ass="tok-str">"for.else&quo |
| 3b7a0 | 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | t;</span>.{.....<span.class="tok |
| 3b7c0 | 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 6f 72 20 61 6c 6c 6f 77 73 20 61 6e 20 65 6c 73 65 20 | -comment">//.For.allows.an.else. |
| 3b7e0 | 61 74 74 61 63 68 65 64 20 74 6f 20 69 74 2c 20 74 68 65 20 73 61 6d 65 20 61 73 20 61 20 77 68 | attached.to.it,.the.same.as.a.wh |
| 3b800 | 69 6c 65 20 6c 6f 6f 70 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ile.loop.</span>.....<span.class |
| 3b820 | 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 74 65 6d 73 20 3d 20 5b 5f 5d | ="tok-kw">var</span>.items.=.[_] |
| 3b840 | 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 | ?<span.class="tok-type">i32</spa |
| 3b860 | 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c | n>.{.<span.class="tok-number">3< |
| 3b880 | 2f 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" |
| 3b8a0 | 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c | >4</span>,.<span.class="tok-null |
| 3b8c0 | 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ">null</span>,.<span.class="tok- |
| 3b8e0 | 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 | number">5</span>.};......<span.c |
| 3b900 | 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 6f 72 20 6c 6f 6f 70 73 20 | lass="tok-comment">//.For.loops. |
| 3b920 | 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 73 20 65 78 70 72 65 73 73 69 6f 6e 73 2e | can.also.be.used.as.expressions. |
| 3b940 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d | </span>.....<span.class="tok-com |
| 3b960 | 6d 65 6e 74 22 3e 2f 2f 20 53 69 6d 69 6c 61 72 20 74 6f 20 77 68 69 6c 65 20 6c 6f 6f 70 73 2c | ment">//.Similar.to.while.loops, |
| 3b980 | 20 77 68 65 6e 20 79 6f 75 20 62 72 65 61 6b 20 66 72 6f 6d 20 61 20 66 6f 72 20 6c 6f 6f 70 2c | .when.you.break.from.a.for.loop, |
| 3b9a0 | 20 74 68 65 20 65 6c 73 65 20 62 72 61 6e 63 68 20 69 73 20 6e 6f 74 20 65 76 61 6c 75 61 74 65 | .the.else.branch.is.not.evaluate |
| 3b9c0 | 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | d.</span>.....<span.class="tok-k |
| 3b9e0 | 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=" |
| 3ba00 | 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 |
| 3ba20 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 | ss="tok-number">0</span>;.....<s |
| 3ba40 | 70 61 6e 20 63 6c 61 73 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>. |
| 3ba60 | 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 66 6f | result.=.<span.class="tok-kw">fo |
| 3ba80 | 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 0a 20 20 20 20 20 | r</span>.(items).|value|.{...... |
| 3baa0 | 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 |
| 3bac0 | 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 6f 6b 2d 6e 75 6c | >.(value.!=.<span.class="tok-nul |
| 3bae0 | 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 75 | l">null</span>).{.............su |
| 3bb00 | 6d 20 2b 3d 20 76 61 6c 75 65 2e 3f 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 20 3c 73 | m.+=.value.?;.........}.....}.<s |
| 3bb20 | 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 62 | pan.class="tok-kw">else</span>.b |
| 3bb40 | 6c 6b 3a 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 73 75 6d 20 3d 3d 20 3c 73 70 61 | lk:.{.........assert(sum.==.<spa |
| 3bb60 | 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 29 3b | n.class="tok-number">12</span>); |
| 3bb80 | 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 | .........<span.class="tok-kw">br |
| 3bba0 | 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 73 75 6d 3b 0a 20 20 20 20 7d 3b 0a 20 20 20 20 | eak</span>.:blk.sum;.....};..... |
| 3bbc0 | 61 73 73 65 72 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 | assert(result.==.<span.class="to |
| 3bbe0 | 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f | k-number">12</span>);.}</code></ |
| 3bc00 | 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a | pre><pre><code.class="shell">$.z |
| 3bc20 | 69 67 20 74 65 73 74 20 66 6f 72 2e 7a 69 67 0a 31 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 66 | ig.test.for.zig.1/3.test."f |
| 3bc40 | 6f 72 20 62 61 73 69 63 73 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 32 2f 33 20 74 65 73 74 20 26 71 | or.basics"...OK.2/3.test.&q |
| 3bc60 | 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 4f 4b 0a 33 2f 33 | uot;for.reference"...OK.3/3 |
| 3bc80 | 20 74 65 73 74 20 26 71 75 6f 74 3b 66 6f 72 20 65 6c 73 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a | .test."for.else"...OK. |
| 3bca0 | 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | All.3.tests.passed..</code></pre |
| 3bcc0 | 3e 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 3c 61 | >........<h2.id="Labeled-for"><a |
| 3bce0 | 20 68 72 65 66 3d 22 23 74 6f 63 2d 4c 61 62 65 6c 65 64 2d 66 6f 72 22 3e 4c 61 62 65 6c 65 64 | .href="#toc-Labeled-for">Labeled |
| 3bd00 | 20 66 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4c | .for</a>.<a.class="hdr".href="#L |
| 3bd20 | 61 62 65 6c 65 64 2d 66 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c | abeled-for">..</a></h2>........< |
| 3bd40 | 70 3e 57 68 65 6e 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | p>When.a.<code.class="zig"><span |
| 3bd60 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 | .class="tok-kw">for</span></code |
| 3bd80 | 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 65 20 72 65 66 | >.loop.is.labeled,.it.can.be.ref |
| 3bda0 | 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | erenced.from.a.<code.class="zig" |
| 3bdc0 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 | ><span.class="tok-kw">break</spa |
| 3bde0 | 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 72 20 3c 63 6f 64 65 | n></code>...............or.<code |
| 3be00 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| 3be20 | 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 72 6f 6d 20 77 69 | ">continue</span></code>.from.wi |
| 3be40 | 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 70 | thin.a.nested.loop:</p>.......<p |
| 3be60 | 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c | .class="file">test.zig</p><pre>< |
| 3be80 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 3bea0 | 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 | k-kw">const</span>.std.=.<span.c |
| 3bec0 | 6c 61 73 73 3d 22 74 6f 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 |
| 3bee0 | 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 | >(<span.class="tok-str">"st |
| 3bf00 | 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | d"</span>);.<span.class="to |
| 3bf20 | 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 73 74 64 2e | k-kw">const</span>.assert.=.std. |
| 3bf40 | 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | debug.assert;..<span.class="tok- |
| 3bf60 | 6b 77 22 3e 74 65 73 74 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 |
| 3bf80 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 62 72 65 61 6b 26 71 75 6f 74 3b 3c 2f | -str">"nested.break"</ |
| 3bfa0 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | span>.{.....<span.class="tok-kw" |
| 3bfc0 | 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | >var</span>.count:.<span.class=" |
| 3bfe0 | 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 |
| 3c000 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 | lass="tok-number">0</span>;..... |
| 3c020 | 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 3c | outer:.<span.class="tok-kw">for< |
| 3c040 | 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 |
| 3c060 | 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 |
| 3c080 | 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 |
| 3c0a0 | 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= |
| 3c0c0 | 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 |
| 3c0e0 | 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. |
| 3c100 | 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>.}).| |
| 3c120 | 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | _|.{.........<span.class="tok-kw |
| 3c140 | 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ">for</span>.([_]<span.class="to |
| 3c160 | 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= |
| 3c180 | 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 |
| 3c1a0 | 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. |
| 3c1c0 | 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 |
| 3c1e0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 | an.class="tok-number">4</span>,. |
| 3c200 | 3c 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 |
| 3c220 | 3e 20 7d 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d 20 | >.}).|_|.{.............count.+=. |
| 3c240 | 3c 73 70 61 6e 20 63 6c 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 |
| 3c260 | 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >;.............<span.class="tok- |
| 3c280 | 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 0a 20 20 20 20 20 20 20 | kw">break</span>.:outer;........ |
| 3c2a0 | 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 61 73 73 65 72 74 28 63 6f 75 6e 74 20 3d 3d 20 3c 73 70 | .}.....}.....assert(count.==.<sp |
| 3c2c0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b | an.class="tok-number">1</span>); |
| 3c2e0 | 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 | .}..<span.class="tok-kw">test</s |
| 3c300 | 70 61 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">" |
| 3c320 | 3b 6e 65 73 74 65 64 20 63 6f 6e 74 69 6e 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a | ;nested.continue"</span>.{. |
| 3c340 | 20 20 20 20 3c 73 70 61 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 |
| 3c360 | 61 6e 3e 20 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | an>.count:.<span.class="tok-type |
| 3c380 | 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 |
| 3c3a0 | 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 6f 75 74 65 72 3a 20 3c | k-number">0</span>;.....outer:.< |
| 3c3c0 | 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>.( |
| 3c3e0 | 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 | [_]<span.class="tok-type">i32</s |
| 3c400 | 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 | pan>{.<span.class="tok-number">1 |
| 3c420 | 3c 2f 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 |
| 3c440 | 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 |
| 3c460 | 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ber">3</span>,.<span.class="tok- |
| 3c480 | 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | number">4</span>,.<span.class="t |
| 3c4a0 | 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 |
| 3c4c0 | 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 |
| 3c4e0 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e | ass="tok-number">7</span>,.<span |
| 3c500 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 20 7d 29 20 | .class="tok-number">8</span>.}). |
| 3c520 | 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | |_|.{.........<span.class="tok-k |
| 3c540 | 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | w">for</span>.([_]<span.class="t |
| 3c560 | 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ok-type">i32</span>{.<span.class |
| 3c580 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c | ="tok-number">1</span>,.<span.cl |
| 3c5a0 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e | ass="tok-number">2</span>,.<span |
| 3c5c0 | 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 |
| 3c5e0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c | pan.class="tok-number">4</span>, |
| 3c600 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 | .<span.class="tok-number">5</spa |
| 3c620 | 6e 3e 20 7d 29 20 7c 5f 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 75 6e 74 20 2b 3d | n>.}).|_|.{.............count.+= |
| 3c640 | 20 3c 73 70 61 6e 20 63 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 |
| 3c660 | 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | n>;.............<span.class="tok |
| 3c680 | 2d 6b 77 22 3e 63 6f 6e 74 69 6e 75 65 3c 2f 73 70 61 6e 3e 20 3a 6f 75 74 65 72 3b 0a 20 20 20 | -kw">continue</span>.:outer;.... |
| 3c6a0 | 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 61 73 73 65 72 74 28 63 6f 75 6e 74 20 3d | .....}.....}......assert(count.= |
| 3c6c0 | 3d 20 3c 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 |
| 3c6e0 | 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | an>);.}</code></pre><pre><code.c |
| 3c700 | 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 | lass="shell">$.zig.test.test.zig |
| 3c720 | 0a 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 62 72 65 61 6b 26 71 75 6f | .1/2.test."nested.break&quo |
| 3c740 | 74 3b 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 65 73 74 65 64 20 63 6f | t;...OK.2/2.test."nested.co |
| 3c760 | 6e 74 69 6e 75 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 | ntinue"...OK.All.2.tests.pa |
| 3c780 | 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 | ssed..</code></pre>............. |
| 3c7a0 | 20 20 3c 68 32 20 69 64 3d 22 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 | ..<h2.id="inline-for"><a.href="# |
| 3c7c0 | 74 6f 63 2d 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 20 3c | toc-inline-for">inline.for</a>.< |
| 3c7e0 | 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 6c 69 6e 65 2d 66 6f 72 22 | a.class="hdr".href="#inline-for" |
| 3c800 | 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 46 6f | >..</a></h2>........<p>.......Fo |
| 3c820 | 72 20 6c 6f 6f 70 73 20 63 61 6e 20 62 65 20 69 6e 6c 69 6e 65 64 2e 20 54 68 69 73 20 63 61 75 | r.loops.can.be.inlined..This.cau |
| 3c840 | 73 65 73 20 74 68 65 20 6c 6f 6f 70 20 74 6f 20 62 65 20 75 6e 72 6f 6c 6c 65 64 2c 20 77 68 69 | ses.the.loop.to.be.unrolled,.whi |
| 3c860 | 63 68 0a 20 20 20 20 20 20 61 6c 6c 6f 77 73 20 74 68 65 20 63 6f 64 65 20 74 6f 20 64 6f 20 73 | ch.......allows.the.code.to.do.s |
| 3c880 | 6f 6d 65 20 74 68 69 6e 67 73 20 77 68 69 63 68 20 6f 6e 6c 79 20 77 6f 72 6b 20 61 74 20 63 6f | ome.things.which.only.work.at.co |
| 3c8a0 | 6d 70 69 6c 65 20 74 69 6d 65 2c 0a 20 20 20 20 20 20 73 75 63 68 20 61 73 20 75 73 65 20 74 79 | mpile.time,.......such.as.use.ty |
| 3c8c0 | 70 65 73 20 61 73 20 66 69 72 73 74 20 63 6c 61 73 73 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 | pes.as.first.class.values....... |
| 3c8e0 | 20 54 68 65 20 63 61 70 74 75 72 65 20 76 61 6c 75 65 20 61 6e 64 20 69 74 65 72 61 74 6f 72 20 | .The.capture.value.and.iterator. |
| 3c900 | 76 61 6c 75 65 20 6f 66 20 69 6e 6c 69 6e 65 64 20 66 6f 72 20 6c 6f 6f 70 73 20 61 72 65 0a 20 | value.of.inlined.for.loops.are.. |
| 3c920 | 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c | .....compile-time.known........< |
| 3c940 | 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a | /p>.......<p.class="file">test.z |
| 3c960 | 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ig</p><pre><code.class="zig"><sp |
| 3c980 | 61 6e 20 63 6c 61 73 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 |
| 3c9a0 | 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e | ssert.=.<span.class="tok-builtin |
| 3c9c0 | 22 3e 40 69 6d 70 6f 72 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 |
| 3c9e0 | 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 | k-str">"std"</span>).d |
| 3ca00 | 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | ebug.assert;..<span.class="tok-k |
| 3ca20 | 77 22 3e 74 65 73 74 3c 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- |
| 3ca40 | 73 74 72 22 3e 26 71 75 6f 74 3b 69 6e 6c 69 6e 65 20 66 6f 72 20 6c 6f 6f 70 26 71 75 6f 74 3b | str">"inline.for.loop" |
| 3ca60 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | </span>.{.....<span.class="tok-k |
| 3ca80 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 73 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 | w">const</span>.nums.=.[_]<span. |
| 3caa0 | 63 6c 61 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 3c 73 70 61 | class="tok-type">i32</span>{<spa |
| 3cac0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c | n.class="tok-number">2</span>,.< |
| 3cae0 | 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> |
| 3cb00 | 2c 20 3c 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 | ,.<span.class="tok-number">6</sp |
| 3cb20 | 61 6e 3e 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 | an>};.....<span.class="tok-kw">v |
| 3cb40 | 61 72 3c 2f 73 70 61 6e 3e 20 73 75 6d 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ar</span>.sum:.<span.class="tok- |
| 3cb60 | 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 |
| 3cb80 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 | ="tok-number">0</span>;.....<spa |
| 3cba0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c | n.class="tok-kw">inline</span>.< |
| 3cbc0 | 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>.( |
| 3cbe0 | 6e 75 6d 73 29 20 7c 69 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | nums).|i|.{.........<span.class= |
| 3cc00 | 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 54 20 3d 20 3c 73 70 61 6e 20 | "tok-kw">const</span>.T.=.<span. |
| 3cc20 | 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 69 29 | class="tok-kw">switch</span>.(i) |
| 3cc40 | 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | .{.............<span.class="tok- |
| 3cc60 | 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>.=>.<span.cla |
| 3cc80 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 | ss="tok-type">f32</span>,....... |
| 3cca0 | 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 | ......<span.class="tok-number">4 |
| 3ccc0 | 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | </span>.=>.<span.class="tok-t |
| 3cce0 | 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 | ype">i8</span>,.............<spa |
| 3cd00 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 20 3d 26 | n.class="tok-number">6</span>.=& |
| 3cd20 | 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c | gt;.<span.class="tok-type">bool< |
| 3cd40 | 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | /span>,.............<span.class= |
| 3cd60 | 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e | "tok-kw">else</span>.=>.<span |
| 3cd80 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 | .class="tok-kw">unreachable</spa |
| 3cda0 | 6e 3e 2c 0a 20 20 20 20 20 20 20 20 7d 3b 0a 20 20 20 20 20 20 20 20 73 75 6d 20 2b 3d 20 74 79 | n>,.........};.........sum.+=.ty |
| 3cdc0 | 70 65 4e 61 6d 65 4c 65 6e 67 74 68 28 54 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 61 73 73 65 72 | peNameLength(T);.....}.....asser |
| 3cde0 | 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 72 | t(sum.==.<span.class="tok-number |
| 3ce00 | 22 3e 39 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ">9</span>);.}..<span.class="tok |
| 3ce20 | 2d 6b 77 22 3e 66 6e 3c 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- |
| 3ce40 | 66 6e 22 3e 74 79 70 65 4e 61 6d 65 4c 65 6e 67 74 68 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 | fn">typeNameLength</span>(<span. |
| 3ce60 | 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 |
| 3ce80 | 3a 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 |
| 3cea0 | 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 69 | pan>).<span.class="tok-type">usi |
| 3cec0 | 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ze</span>.{.....<span.class="tok |
| 3cee0 | 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=" |
| 3cf00 | 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 54 29 | tok-builtin">@typeName</span>(T) |
| 3cf20 | 2e 6c 65 6e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | .len;.}</code></pre><pre><code.c |
| 3cf40 | 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 | lass="shell">$.zig.test.test.zig |
| 3cf60 | 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 69 6e 6c 69 6e 65 20 66 6f 72 20 6c 6f 6f 70 26 | .1/1.test."inline.for.loop& |
| 3cf80 | 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c | quot;...OK.All.1.tests.passed..< |
| 3cfa0 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 | /code></pre>........<p>.......It |
| 3cfc0 | 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 20 63 6c 61 | .is.recommended.to.use.<code.cla |
| 3cfe0 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-kw">in |
| 3d000 | 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 73 20 6f 6e 6c 79 20 66 6f | line</span></code>.loops.only.fo |
| 3d020 | 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 20 3c 2f | r.one.of.these.reasons:.......</ |
| 3d040 | 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 20 6e 65 | p>.......<ul>.........<li>You.ne |
| 3d060 | 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 68 72 65 | ed.the.loop.to.execute.at.<a.hre |
| 3d080 | 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 72 20 74 | f="#comptime">comptime</a>.for.t |
| 3d0a0 | 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 20 20 20 | he.semantics.to.work.</li>...... |
| 3d0c0 | 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 6e 63 68 | ...<li>.........You.have.a.bench |
| 3d0e0 | 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 6e 72 6f | mark.to.prove.that.forcibly.unro |
| 3d100 | 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 20 6d 65 | lling.the.loop.in.this.way.is.me |
| 3d120 | 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 3e 0a 20 | asurably.faster..........</li>.. |
| 3d140 | 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 65 20 61 | .....</ul>..............<p>See.a |
| 3d160 | 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 69 6c 65 | lso:</p><ul>.<li><a.href="#while |
| 3d180 | 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 22 23 63 | ">while</a></li>.<li><a.href="#c |
| 3d1a0 | 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 69 3e 3c | omptime">comptime</a></li>.<li>< |
| 3d1c0 | 61 20 68 72 65 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 3c 2f 6c 69 3e | a.href="#Arrays">Arrays</a></li> |
| 3d1e0 | 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 3c 2f 61 | .<li><a.href="#Slices">Slices</a |
| 3d200 | 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 31 20 69 | ></li>.</ul>...............<h1.i |
| 3d220 | 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 61 3e 20 | d="if"><a.href="#toc-if">if</a>. |
| 3d240 | 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 2f 61 3e | <a.class="hdr".href="#if">..</a> |
| 3d260 | 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 69 66 2e | </h1>........<p.class="file">if. |
| 3d280 | 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | zig</p><pre><code.class="zig"><s |
| 3d2a0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 | pan.class="tok-comment">//.If.ex |
| 3d2c0 | 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 65 | pressions.have.three.uses,.corre |
| 3d2e0 | 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 70 | sponding.to.the.three.types:</sp |
| 3d300 | 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f | an>.<span.class="tok-comment">// |
| 3d320 | 20 2a 20 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | .*.bool</span>.<span.class="tok- |
| 3d340 | 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 20 3f 54 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c | comment">//.*.?T</span>.<span.cl |
| 3d360 | 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2a 20 61 6e 79 65 72 72 6f 72 21 | ass="tok-comment">//.*.anyerror! |
| 3d380 | 54 3c 2f 73 70 61 6e 3e 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | T</span>..<span.class="tok-kw">c |
| 3d3a0 | 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 73 | onst</span>.assert.=.<span.class |
| 3d3c0 | 3d 22 74 6f 6b 2d 62 75 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 |
| 3d3e0 | 70 61 6e 20 63 6c 61 73 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">"std&qu |
| 3d400 | 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 0a 0a 3c 73 70 61 6e | ot;</span>).debug.assert;..<span |
| 3d420 | 20 63 6c 61 73 73 3d 22 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 |
| 3d440 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 65 78 70 72 65 | n.class="tok-str">"if.expre |
| 3d460 | 73 73 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | ssion"</span>.{.....<span.c |
| 3d480 | 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 70 72 65 73 73 | lass="tok-comment">//.If.express |
| 3d4a0 | 69 6f 6e 73 20 61 72 65 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 74 65 72 6e 61 | ions.are.used.instead.of.a.terna |
| 3d4c0 | 72 79 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 | ry.expression.</span>.....<span. |
| 3d4e0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c | class="tok-kw">const</span>.a:.< |
| 3d500 | 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> |
| 3d520 | 20 3d 20 3c 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 |
| 3d540 | 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | pan>;.....<span.class="tok-kw">c |
| 3d560 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | onst</span>.b:.<span.class="tok- |
| 3d580 | 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=" |
| 3d5a0 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 | tok-number">4</span>;.....<span. |
| 3d5c0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 | class="tok-kw">const</span>.resu |
| 3d5e0 | 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 70 | lt.=.<span.class="tok-kw">if</sp |
| 3d600 | 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 75 | an>.(a.!=.b).<span.class="tok-nu |
| 3d620 | 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 6b | mber">47</span>.<span.class="tok |
| 3d640 | 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 |
| 3d660 | 6b 2d 6e 75 6d 62 65 72 22 3e 33 30 38 39 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 73 65 72 | k-number">3089</span>;.....asser |
| 3d680 | 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 6d | t(result.==.<span.class="tok-num |
| 3d6a0 | 62 65 72 22 3e 34 37 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ber">47</span>);.}..<span.class= |
| 3d6c0 | 22 74 6f 6b 2d 6b 77 22 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 |
| 3d6e0 | 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 66 20 62 6f 6f 6c 65 61 6e 26 71 75 6f 74 | ="tok-str">"if.boolean" |
| 3d700 | 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ;</span>.{.....<span.class="tok- |
| 3d720 | 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 73 74 20 | comment">//.If.expressions.test. |
| 3d740 | 62 6f 6f 6c 65 61 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c | boolean.conditions.</span>.....< |
| 3d760 | 73 70 61 6e 20 63 6c 61 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> |
| 3d780 | 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f | .a:.<span.class="tok-type">u32</ |
| 3d7a0 | 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" |
| 3d7c0 | 3e 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >5</span>;.....<span.class="tok- |
| 3d7e0 | 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | kw">const</span>.b:.<span.class= |
| 3d800 | 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 |
| 3d820 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c | ass="tok-number">4</span>;.....< |
| 3d840 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 | span.class="tok-kw">if</span>.(a |
| 3d860 | 20 21 3d 20 62 29 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c | .!=.b).{.........assert(<span.cl |
| 3d880 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 | ass="tok-null">true</span>);.... |
| 3d8a0 | 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 |
| 3d8c0 | 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 | an>.<span.class="tok-kw">if</spa |
| 3d8e0 | 6e 3e 20 28 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 | n>.(a.==.<span.class="tok-number |
| 3d900 | 22 3e 39 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | ">9</span>).{.........<span.clas |
| 3d920 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 | s="tok-kw">unreachable</span>;.. |
| 3d940 | 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</ |
| 3d960 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | span>.{.........<span.class="tok |
| 3d980 | 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 7d | -kw">unreachable</span>;.....}.} |
| 3d9a0 | 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 | ..<span.class="tok-kw">test</spa |
| 3d9c0 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 | n>.<span.class="tok-str">"i |
| 3d9e0 | 66 20 6f 70 74 69 6f 6e 61 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 | f.optional"</span>.{.....<s |
| 3da00 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 65 78 | pan.class="tok-comment">//.If.ex |
| 3da20 | 70 72 65 73 73 69 6f 6e 73 20 74 65 73 74 20 66 6f 72 20 6e 75 6c 6c 2e 3c 2f 73 70 61 6e 3e 0a | pressions.test.for.null.</span>. |
| 3da40 | 0a 20 20 20 20 3c 73 70 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< |
| 3da60 | 2f 73 70 61 6e 3e 20 61 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | /span>.a:.?<span.class="tok-type |
| 3da80 | 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- |
| 3daa0 | 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | number">0</span>;.....<span.clas |
| 3dac0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c 75 65 7c | s="tok-kw">if</span>.(a).|value| |
| 3dae0 | 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e | .{.........assert(value.==.<span |
| 3db00 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 | .class="tok-number">0</span>);.. |
| 3db20 | 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</ |
| 3db40 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | span>.{.........<span.class="tok |
| 3db60 | 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 0a | -kw">unreachable</span>;.....}.. |
| 3db80 | 20 20 20 20 3c 73 70 61 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</ |
| 3dba0 | 73 70 61 6e 3e 20 62 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | span>.b:.?<span.class="tok-type" |
| 3dbc0 | 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | >u32</span>.=.<span.class="tok-n |
| 3dbe0 | 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | ull">null</span>;.....<span.clas |
| 3dc00 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 20 7c 76 61 6c 75 65 7c | s="tok-kw">if</span>.(b).|value| |
| 3dc20 | 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | .{.........<span.class="tok-kw"> |
| 3dc40 | 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 | unreachable</span>;.....}.<span. |
| 3dc60 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | class="tok-kw">else</span>.{.... |
| 3dc80 | 20 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c | .....assert(<span.class="tok-nul |
| 3dca0 | 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 | l">true</span>);.....}......<spa |
| 3dcc0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 6c 73 | n.class="tok-comment">//.The.els |
| 3dce0 | 65 20 69 73 20 6e 6f 74 20 72 65 71 75 69 72 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 | e.is.not.required.</span>.....<s |
| 3dd00 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 | pan.class="tok-kw">if</span>.(a) |
| 3dd20 | 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 76 61 6c 75 65 20 | .|value|.{.........assert(value. |
| 3dd40 | 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 73 | ==.<span.class="tok-number">0</s |
| 3dd60 | 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | pan>);.....}......<span.class="t |
| 3dd80 | 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 74 65 73 74 20 61 67 61 69 6e 73 74 20 6e | ok-comment">//.To.test.against.n |
| 3dda0 | 75 6c 6c 20 6f 6e 6c 79 2c 20 75 73 65 20 74 68 65 20 62 69 6e 61 72 79 20 65 71 75 61 6c 69 74 | ull.only,.use.the.binary.equalit |
| 3ddc0 | 79 20 6f 70 65 72 61 74 6f 72 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | y.operator.</span>.....<span.cla |
| 3dde0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 20 3d 3d 20 3c 73 70 61 | ss="tok-kw">if</span>.(b.==.<spa |
| 3de00 | 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 20 | n.class="tok-null">null</span>). |
| 3de20 | 7b 0a 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 |
| 3de40 | 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 | k-null">true</span>);.....}..... |
| 3de60 | 20 3c 73 70 61 6e 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 |
| 3de80 | 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 75 73 69 6e | cess.the.value.by.reference.usin |
| 3dea0 | 67 20 61 20 70 6f 69 6e 74 65 72 20 63 61 70 74 75 72 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 | g.a.pointer.capture.</span>..... |
| 3dec0 | 3c 73 70 61 6e 20 63 6c 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>. |
| 3dee0 | 63 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f | c:.?<span.class="tok-type">u32</ |
| 3df00 | 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" |
| 3df20 | 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >3</span>;.....<span.class="tok- |
| 3df40 | 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 2a 76 61 6c 75 65 7c 20 7b 0a 20 20 20 | kw">if</span>.(c).|*value|.{.... |
| 3df60 | 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 6f 6b 2d | .....value.*.=.<span.class="tok- |
| 3df80 | 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 | number">2</span>;.....}......<sp |
| 3dfa0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 | an.class="tok-kw">if</span>.(c). |
| 3dfc0 | 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 76 61 6c 75 65 20 3d | |value|.{.........assert(value.= |
| 3dfe0 | 3d 20 3c 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 |
| 3e000 | 61 6e 3e 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | an>);.....}.<span.class="tok-kw" |
| 3e020 | 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | >else</span>.{.........<span.cla |
| 3e040 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a | ss="tok-kw">unreachable</span>;. |
| 3e060 | 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 | ....}.}..<span.class="tok-kw">te |
| 3e080 | 73 74 3c 2f 73 70 61 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"> |
| 3e0a0 | 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 3b 3c 2f 73 70 61 6e | "if.error.union"</span |
| 3e0c0 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 | >.{.....<span.class="tok-comment |
| 3e0e0 | 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 72 | ">//.If.expressions.test.for.err |
| 3e100 | 6f 72 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ors.</span>.....<span.class="tok |
| 3e120 | 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 74 65 20 74 68 65 20 7c 65 72 72 7c 20 63 61 70 74 | -comment">//.Note.the.|err|.capt |
| 3e140 | 75 72 65 20 6f 6e 20 74 68 65 20 65 6c 73 65 2e 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 | ure.on.the.else.</span>......<sp |
| 3e160 | 61 6e 20 63 6c 61 73 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 |
| 3e180 | 3a 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 |
| 3e1a0 | 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"> |
| 3e1c0 | 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 |
| 3e1e0 | 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | mber">0</span>;.....<span.class= |
| 3e200 | 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c 76 61 6c 75 65 7c 20 7b | "tok-kw">if</span>.(a).|value|.{ |
| 3e220 | 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 | .........assert(value.==.<span.c |
| 3e240 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 | lass="tok-number">0</span>);.... |
| 3e260 | 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 |
| 3e280 | 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | an>.|err|.{.........<span.class= |
| 3e2a0 | 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 | "tok-kw">unreachable</span>;.... |
| 3e2c0 | 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | .}......<span.class="tok-kw">con |
| 3e2e0 | 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | st</span>.b:.<span.class="tok-ty |
| 3e300 | 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d | pe">anyerror</span>!<span.class= |
| 3e320 | 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 |
| 3e340 | 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 56 61 6c | ass="tok-kw">error</span>.BadVal |
| 3e360 | 75 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c | ue;.....<span.class="tok-kw">if< |
| 3e380 | 2f 73 70 61 6e 3e 20 28 62 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 | /span>.(b).|value|.{.........<sp |
| 3e3a0 | 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 |
| 3e3c0 | 70 61 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | pan>;.....}.<span.class="tok-kw" |
| 3e3e0 | 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 | >else</span>.|err|.{.........ass |
| 3e400 | 65 72 74 28 65 72 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ert(err.==.<span.class="tok-kw"> |
| 3e420 | 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 | error</span>.BadValue);.....}... |
| 3e440 | 20 20 20 3c 73 70 61 6e 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">//. |
| 3e460 | 54 68 65 20 65 6c 73 65 20 61 6e 64 20 7c 65 72 72 7c 20 63 61 70 74 75 72 65 20 69 73 20 73 74 | The.else.and.|err|.capture.is.st |
| 3e480 | 72 69 63 74 6c 79 20 72 65 71 75 69 72 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 | rictly.required.</span>.....<spa |
| 3e4a0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 29 20 7c | n.class="tok-kw">if</span>.(a).| |
| 3e4c0 | 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 76 61 6c 75 65 20 3d 3d | value|.{.........assert(value.== |
| 3e4e0 | 20 3c 73 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 |
| 3e500 | 6e 3e 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | n>);.....}.<span.class="tok-kw"> |
| 3e520 | 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | else</span>.|_|.{}......<span.cl |
| 3e540 | 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 6f 20 63 68 65 63 6b 20 6f 6e | ass="tok-comment">//.To.check.on |
| 3e560 | 6c 79 20 74 68 65 20 65 72 72 6f 72 20 76 61 6c 75 65 2c 20 75 73 65 20 61 6e 20 65 6d 70 74 79 | ly.the.error.value,.use.an.empty |
| 3e580 | 20 62 6c 6f 63 6b 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 | .block.expression.</span>.....<s |
| 3e5a0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 | pan.class="tok-kw">if</span>.(b) |
| 3e5c0 | 20 7c 5f 7c 20 7b 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 | .|_|.{}.<span.class="tok-kw">els |
| 3e5e0 | 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 | e</span>.|err|.{.........assert( |
| 3e600 | 65 72 72 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f | err.==.<span.class="tok-kw">erro |
| 3e620 | 72 3c 2f 73 70 61 6e 3e 2e 42 61 64 56 61 6c 75 65 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c | r</span>.BadValue);.....}......< |
| 3e640 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 63 63 65 | span.class="tok-comment">//.Acce |
| 3e660 | 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 75 73 69 6e 67 20 | ss.the.value.by.reference.using. |
| 3e680 | 61 20 70 6f 69 6e 74 65 72 20 63 61 70 74 75 72 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 | a.pointer.capture.</span>.....<s |
| 3e6a0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 3a | pan.class="tok-kw">var</span>.c: |
| 3e6c0 | 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 |
| 3e6e0 | 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 | </span>!<span.class="tok-type">u |
| 3e700 | 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 |
| 3e720 | 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ber">3</span>;.....<span.class=" |
| 3e740 | 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7c 2a 76 61 6c 75 65 7c 20 7b | tok-kw">if</span>.(c).|*value|.{ |
| 3e760 | 0a 20 20 20 20 20 20 20 20 76 61 6c 75 65 2e 2a 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .........value.*.=.<span.class=" |
| 3e780 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 | tok-number">9</span>;.....}.<spa |
| 3e7a0 | 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 |
| 3e7c0 | 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | r|.{.........<span.class="tok-kw |
| 3e7e0 | 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 | ">unreachable</span>;.....}..... |
| 3e800 | 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>. |
| 3e820 | 28 63 29 20 7c 76 61 6c 75 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 76 61 6c | (c).|value|.{.........assert(val |
| 3e840 | 75 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 | ue.==.<span.class="tok-number">9 |
| 3e860 | 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | </span>);.....}.<span.class="tok |
| 3e880 | 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 | -kw">else</span>.|err|.{........ |
| 3e8a0 | 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 |
| 3e8c0 | 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 | e</span>;.....}.}</code></pre><p |
| 3e8e0 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 | re><code.class="shell">$.zig.tes |
| 3e900 | 74 20 69 66 2e 7a 69 67 0a 31 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b 69 66 20 65 78 70 72 65 | t.if.zig.1/4.test."if.expre |
| 3e920 | 73 73 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 32 2f 34 20 74 65 73 74 20 26 71 75 6f 74 3b | ssion"...OK.2/4.test." |
| 3e940 | 69 66 20 62 6f 6f 6c 65 61 6e 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 33 2f 34 20 74 65 73 74 20 26 | if.boolean"...OK.3/4.test.& |
| 3e960 | 71 75 6f 74 3b 69 66 20 6f 70 74 69 6f 6e 61 6c 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 34 2f 34 20 | quot;if.optional"...OK.4/4. |
| 3e980 | 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 75 6f 74 3b 2e | test."if.error.union". |
| 3e9a0 | 2e 2e 4f 4b 0a 41 6c 6c 20 34 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e | ..OK.All.4.tests.passed..</code> |
| 3e9c0 | 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 | </pre>........<p>See.also:</p><u |
| 3e9e0 | 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 69 | l>.<li><a.href="#Optionals">Opti |
| 3ea00 | 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 72 | onals</a></li>.<li><a.href="#Err |
| 3ea20 | 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 20 | ors">Errors</a></li>.</ul>...... |
| 3ea40 | 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 64 65 66 65 72 22 3e 3c 61 20 68 72 65 66 3d | .........<h1.id="defer"><a.href= |
| 3ea60 | 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 3d | "#toc-defer">defer</a>.<a.class= |
| 3ea80 | 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 31 3e 0a | "hdr".href="#defer">..</a></h1>. |
| 3eaa0 | 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 65 66 65 72 2e 7a 69 67 | .......<p.class="file">defer.zig |
| 3eac0 | 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | </p><pre><code.class="zig"><span |
| 3eae0 | 20 63 6c 61 73 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 |
| 3eb00 | 20 3d 20 3c 73 70 61 6e 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 |
| 3eb20 | 70 6f 72 74 3c 2f 73 70 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 |
| 3eb40 | 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e | ">"std"</span>);.<span |
| 3eb60 | 20 63 6c 61 73 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 | .class="tok-kw">const</span>.ass |
| 3eb80 | 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 3c 73 70 61 6e 20 63 6c | ert.=.std.debug.assert;.<span.cl |
| 3eba0 | 61 73 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 61 72 6e 20 3d | ass="tok-kw">const</span>.warn.= |
| 3ebc0 | 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | .std.debug.warn;..<span.class="t |
| 3ebe0 | 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 65 66 65 72 20 77 69 6c 6c 20 65 78 65 63 75 74 | ok-comment">//.defer.will.execut |
| 3ec00 | 65 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 | e.an.expression.at.the.end.of.th |
| 3ec20 | 65 20 63 75 72 72 65 6e 74 20 73 63 6f 70 65 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c | e.current.scope.</span>.<span.cl |
| 3ec40 | 61 73 73 3d 22 74 6f 6b 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 |
| 3ec60 | 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 70 61 6e 3e 28 | ss="tok-fn">deferExample</span>( |
| 3ec80 | 29 20 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</ |
| 3eca0 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | span>.{.....<span.class="tok-kw" |
| 3ecc0 | 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- |
| 3ece0 | 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 |
| 3ed00 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 7b 0a 20 | ="tok-number">1</span>;......{.. |
| 3ed20 | 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 | .......<span.class="tok-kw">defe |
| 3ed40 | 72 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | r</span>.a.=.<span.class="tok-nu |
| 3ed60 | 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 61 20 3d 20 3c 73 70 61 | mber">2</span>;.........a.=.<spa |
| 3ed80 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 | n.class="tok-number">1</span>;.. |
| 3eda0 | 20 20 20 7d 0a 20 20 20 20 61 73 73 65 72 74 28 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ...}.....assert(a.==.<span.class |
| 3edc0 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 61 20 | ="tok-number">2</span>);......a. |
| 3ede0 | 3d 20 3c 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 |
| 3ee00 | 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 | an>;.....<span.class="tok-kw">re |
| 3ee20 | 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | turn</span>.a;.}..<span.class="t |
| 3ee40 | 6f 6b 2d 6b 77 22 3e 74 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=" |
| 3ee60 | 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 66 65 72 20 62 61 73 69 63 73 26 71 75 6f 74 | tok-str">"defer.basics" |
| 3ee80 | 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 64 65 66 65 72 45 78 61 6d 70 | ;</span>.{.....assert(deferExamp |
| 3eea0 | 6c 65 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 | le().==.<span.class="tok-number" |
| 3eec0 | 3e 35 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >5</span>);.}..<span.class="tok- |
| 3eee0 | 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 73 74 | comment">//.If.multiple.defer.st |
| 3ef00 | 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 69 6c | atements.are.specified,.they.wil |
| 3ef20 | 6c 20 62 65 20 65 78 65 63 75 74 65 64 20 69 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c | l.be.executed.in</span>.<span.cl |
| 3ef40 | 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 72 65 76 65 72 73 65 | ass="tok-comment">//.the.reverse |
| 3ef60 | 20 6f 72 64 65 72 20 74 68 65 79 20 77 65 72 65 20 72 75 6e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 | .order.they.were.run.</span>.<sp |
| 3ef80 | 61 6e 20 63 6c 61 73 73 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 |
| 3efa0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 66 65 72 55 6e 77 69 6e 64 45 78 61 6d | n.class="tok-fn">deferUnwindExam |
| 3efc0 | 70 6c 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | ple</span>().<span.class="tok-ty |
| 3efe0 | 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e | pe">void</span>.{.....warn(<span |
| 3f000 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 26 71 75 6f 74 3b 3c | .class="tok-str">"\n"< |
| 3f020 | 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | /span>,..{});......<span.class=" |
| 3f040 | 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 77 | tok-kw">defer</span>.{.........w |
| 3f060 | 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b | arn(<span.class="tok-str">" |
| 3f080 | 31 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 7d 0a 20 20 20 | 1."</span>,..{});.....}.... |
| 3f0a0 | 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 |
| 3f0c0 | 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | n>.{.........warn(<span.class="t |
| 3f0e0 | 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 32 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e | ok-str">"2."</span>,.. |
| 3f100 | 7b 7d 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | {});.....}.....<span.class="tok- |
| 3f120 | 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 2d | kw">if</span>.(<span.class="tok- |
| 3f140 | 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 | null">false</span>).{.........<s |
| 3f160 | 70 61 6e 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 | pan.class="tok-comment">//.defer |
| 3f180 | 73 20 61 72 65 20 6e 6f 74 20 72 75 6e 20 69 66 20 74 68 65 79 20 61 72 65 20 6e 65 76 65 72 20 | s.are.not.run.if.they.are.never. |
| 3f1a0 | 65 78 65 63 75 74 65 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 | executed.</span>.........<span.c |
| 3f1c0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | lass="tok-kw">defer</span>.{.... |
| 3f1e0 | 20 20 20 20 20 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 | .........warn(<span.class="tok-s |
| 3f200 | 74 72 22 3e 26 71 75 6f 74 3b 33 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b | tr">"3."</span>,..{}); |
| 3f220 | 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | .........}.....}.}..<span.class= |
| 3f240 | 22 74 6f 6b 2d 6b 77 22 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 |
| 3f260 | 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 65 66 65 72 20 75 6e 77 69 6e 64 69 6e 67 | ="tok-str">"defer.unwinding |
| 3f280 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 64 65 66 65 72 55 6e 77 69 6e 64 45 | "</span>.{.....deferUnwindE |
| 3f2a0 | 78 61 6d 70 6c 65 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f | xample();.}..<span.class="tok-co |
| 3f2c0 | 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 72 72 64 65 66 65 72 20 6b 65 79 77 6f 72 64 20 69 | mment">//.The.errdefer.keyword.i |
| 3f2e0 | 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 64 65 66 65 72 2c 20 62 75 74 20 77 69 6c 6c 20 6f 6e 6c | s.similar.to.defer,.but.will.onl |
| 3f300 | 79 20 65 78 65 63 75 74 65 20 69 66 20 74 68 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c | y.execute.if.the</span>.<span.cl |
| 3f320 | 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 73 63 6f 70 65 20 72 65 74 75 72 | ass="tok-comment">//.scope.retur |
| 3f340 | 6e 73 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 | ns.with.an.error.</span>.<span.c |
| 3f360 | 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 3c 2f 73 70 61 6e 3e 0a 3c 73 70 | lass="tok-comment">//</span>.<sp |
| 3f380 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 69 | an.class="tok-comment">//.This.i |
| 3f3a0 | 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 69 6e 20 61 6c 6c 6f 77 69 6e 67 20 | s.especially.useful.in.allowing. |
| 3f3c0 | 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 63 6c 65 61 6e 20 75 70 20 70 72 6f 70 65 72 6c 79 3c | a.function.to.clean.up.properly< |
| 3f3e0 | 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 | /span>.<span.class="tok-comment" |
| 3f400 | 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 6f 74 6f 20 | >//.on.error,.and.replaces.goto. |
| 3f420 | 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 65 6e 20 69 | error.handling.tactics.as.seen.i |
| 3f440 | 6e 20 63 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | n.c.</span>.<span.class="tok-kw" |
| 3f460 | 3e 66 6e 3c 2f 73 70 61 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"> |
| 3f480 | 64 65 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 | deferErrorExample</span>(is_erro |
| 3f4a0 | 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 62 6f 6f 6c 3c 2f | r:.<span.class="tok-type">bool</ |
| 3f4c0 | 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 |
| 3f4e0 | 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 | oid</span>.{.....warn(<span.clas |
| 3f500 | 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 73 74 61 72 74 20 6f 66 20 66 75 6e | s="tok-str">"\nstart.of.fun |
| 3f520 | 63 74 69 6f 6e 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 0a 0a 20 20 20 | ction\n"</span>,..{});..... |
| 3f540 | 20 3c 73 70 61 6e 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 |
| 3f560 | 69 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 65 78 65 63 75 74 65 64 20 6f 6e 20 65 78 | is.will.always.be.executed.on.ex |
| 3f580 | 69 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | it</span>.....<span.class="tok-k |
| 3f5a0 | 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 77 61 72 6e 28 3c | w">defer</span>.{.........warn(< |
| 3f5c0 | 73 70 61 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 20 6f | span.class="tok-str">"end.o |
| 3f5e0 | 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 29 3b | f.function\n"</span>,..{}); |
| 3f600 | 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | .....}......<span.class="tok-kw" |
| 3f620 | 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 77 61 72 6e 28 | >errdefer</span>.{.........warn( |
| 3f640 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 6e 63 6f | <span.class="tok-str">"enco |
| 3f660 | 75 6e 74 65 72 65 64 20 61 6e 20 65 72 72 6f 72 21 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e | untered.an.error!\n"</span> |
| 3f680 | 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ,..{});.....}......<span.class=" |
| 3f6a0 | 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 73 5f 65 72 72 6f 72 29 20 7b 0a 20 | tok-kw">if</span>.(is_error).{.. |
| 3f6c0 | 20 20 20 20 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 |
| 3f6e0 | 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 | rn</span>.<span.class="tok-kw">e |
| 3f700 | 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 44 65 66 65 72 45 72 72 6f 72 3b 0a 20 20 20 20 7d 0a 7d 0a | rror</span>.DeferError;.....}.}. |
| 3f720 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e | .<span.class="tok-kw">test</span |
| 3f740 | 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 72 | >.<span.class="tok-str">"er |
| 3f760 | 72 64 65 66 65 72 20 75 6e 77 69 6e 64 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a | rdefer.unwinding"</span>.{. |
| 3f780 | 20 20 20 20 64 65 66 65 72 45 72 72 6f 72 45 78 61 6d 70 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 | ....deferErrorExample(<span.clas |
| 3f7a0 | 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e | s="tok-null">false</span>).<span |
| 3f7c0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7b 7d 3b | .class="tok-kw">catch</span>.{}; |
| 3f7e0 | 0a 20 20 20 20 64 65 66 65 72 45 72 72 6f 72 45 78 61 6d 70 6c 65 28 3c 73 70 61 6e 20 63 6c 61 | .....deferErrorExample(<span.cla |
| 3f800 | 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 3c 73 70 61 6e | ss="tok-null">true</span>).<span |
| 3f820 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7b 7d 3b | .class="tok-kw">catch</span>.{}; |
| 3f840 | 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | .}</code></pre><pre><code.class= |
| 3f860 | 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 64 65 66 65 72 2e 7a 69 67 0a 31 2f 33 | "shell">$.zig.test.defer.zig.1/3 |
| 3f880 | 20 74 65 73 74 20 26 71 75 6f 74 3b 64 65 66 65 72 20 62 61 73 69 63 73 26 71 75 6f 74 3b 2e 2e | .test."defer.basics".. |
| 3f8a0 | 2e 4f 4b 0a 32 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b 64 65 66 65 72 20 75 6e 77 69 6e 64 69 | .OK.2/3.test."defer.unwindi |
| 3f8c0 | 6e 67 26 71 75 6f 74 3b 2e 2e 2e 0a 32 20 31 20 4f 4b 0a 33 2f 33 20 74 65 73 74 20 26 71 75 6f | ng"....2.1.OK.3/3.test.&quo |
| 3f8e0 | 74 3b 65 72 72 64 65 66 65 72 20 75 6e 77 69 6e 64 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 0a 73 74 | t;errdefer.unwinding"....st |
| 3f900 | 61 72 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 0a 65 6e 64 20 6f 66 20 66 75 6e 63 74 69 6f 6e 0a | art.of.function.end.of.function. |
| 3f920 | 0a 73 74 61 72 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 0a 65 6e 63 6f 75 6e 74 65 72 65 64 20 61 | .start.of.function.encountered.a |
| 3f940 | 6e 20 65 72 72 6f 72 21 0a 65 6e 64 20 6f 66 20 66 75 6e 63 74 69 6f 6e 0a 4f 4b 0a 41 6c 6c 20 | n.error!.end.of.function.OK.All. |
| 3f960 | 33 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 | 3.tests.passed..</code></pre>... |
| 3f980 | 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 |
| 3f9a0 | 20 68 72 65 66 3d 22 23 45 72 72 6f 72 73 22 3e 45 72 72 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a | .href="#Errors">Errors</a></li>. |
| 3f9c0 | 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 75 6e 72 65 | </ul>...............<h1.id="unre |
| 3f9e0 | 61 63 68 61 62 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 75 6e 72 65 61 63 68 61 62 | achable"><a.href="#toc-unreachab |
| 3fa00 | 6c 65 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 | le">unreachable</a>.<a.class="hd |
| 3fa20 | 72 22 20 68 72 65 66 3d 22 23 75 6e 72 65 61 63 68 61 62 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 | r".href="#unreachable">..</a></h |
| 3fa40 | 31 3e 0a 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 20 63 6c 61 | 1>........<p>.......In.<code.cla |
| 3fa60 | 73 73 3d 22 7a 69 67 22 3e 44 65 62 75 67 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 20 | ss="zig">Debug</code>.and.<code. |
| 3fa80 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 52 65 6c 65 61 73 65 53 61 66 65 3c 2f 63 6f 64 65 3e 20 6d | class="zig">ReleaseSafe</code>.m |
| 3faa0 | 6f 64 65 2c 20 61 6e 64 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 63 6f 64 65 3e 7a 69 67 20 74 65 | ode,.and.when.using.<code>zig.te |
| 3fac0 | 73 74 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | st</code>,.......<code.class="zi |
| 3fae0 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 | g"><span.class="tok-kw">unreacha |
| 3fb00 | 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 6d 69 74 73 20 61 20 63 61 6c 6c 20 74 | ble</span></code>.emits.a.call.t |
| 3fb20 | 6f 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 70 61 6e 69 63 3c 2f 63 6f 64 65 3e | o.<code.class="zig">panic</code> |
| 3fb40 | 20 77 69 74 68 20 74 68 65 20 6d 65 73 73 61 67 65 20 3c 63 6f 64 65 3e 72 65 61 63 68 65 64 20 | .with.the.message.<code>reached. |
| 3fb60 | 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c | unreachable.code</code>........< |
| 3fb80 | 2f 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 20 63 6c 61 | /p>.......<p>.......In.<code.cla |
| 3fba0 | 73 73 3d 22 7a 69 67 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 | ss="zig">ReleaseFast</code>.mode |
| 3fbc0 | 2c 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 75 73 65 73 20 74 68 65 20 61 73 73 75 6d 70 74 | ,.the.optimizer.uses.the.assumpt |
| 3fbe0 | 69 6f 6e 20 74 68 61 74 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | ion.that.<code.class="zig"><span |
| 3fc00 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 | .class="tok-kw">unreachable</spa |
| 3fc20 | 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 64 65 0a 20 20 20 20 20 20 77 69 6c 6c 20 6e 65 76 65 72 20 | n></code>.code.......will.never. |
| 3fc40 | 62 65 20 68 69 74 20 74 6f 20 70 65 72 66 6f 72 6d 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 2e | be.hit.to.perform.optimizations. |
| 3fc60 | 20 48 6f 77 65 76 65 72 2c 20 3c 63 6f 64 65 3e 7a 69 67 20 74 65 73 74 3c 2f 63 6f 64 65 3e 20 | .However,.<code>zig.test</code>. |
| 3fc80 | 65 76 65 6e 20 69 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 52 65 6c 65 61 73 | even.in.<code.class="zig">Releas |
| 3fca0 | 65 46 61 73 74 3c 2f 63 6f 64 65 3e 20 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | eFast</code>.mode............... |
| 3fcc0 | 20 20 20 20 73 74 69 6c 6c 20 65 6d 69 74 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | ....still.emits.<code.class="zig |
| 3fce0 | 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 | "><span.class="tok-kw">unreachab |
| 3fd00 | 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 73 20 63 61 6c 6c 73 20 74 6f 20 3c 63 6f | le</span></code>.as.calls.to.<co |
| 3fd20 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 70 61 6e 69 63 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 | de.class="zig">panic</code>..... |
| 3fd40 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 42 61 73 69 63 73 22 3e 3c 61 | ...</p>.......<h2.id="Basics"><a |
| 3fd60 | 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 3e 20 3c | .href="#toc-Basics">Basics</a>.< |
| 3fd80 | 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 61 73 69 63 73 22 3e c2 a7 3c | a.class="hdr".href="#Basics">..< |
| 3fda0 | 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e | /a></h2>........<p.class="file"> |
| 3fdc0 | 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | test.zig</p><pre><code.class="zi |
| 3fde0 | 67 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 | g"><span.class="tok-comment">//. |
| 3fe00 | 75 6e 72 65 61 63 68 61 62 6c 65 20 69 73 20 75 73 65 64 20 74 6f 20 61 73 73 65 72 74 20 74 68 | unreachable.is.used.to.assert.th |
| 3fe20 | 61 74 20 63 6f 6e 74 72 6f 6c 20 66 6c 6f 77 20 77 69 6c 6c 20 6e 65 76 65 72 20 68 61 70 70 65 | at.control.flow.will.never.happe |
| 3fe40 | 6e 20 75 70 6f 6e 20 61 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | n.upon.a</span>.<span.class="tok |
| 3fe60 | 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 6e | -comment">//.particular.location |
| 3fe80 | 3a 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 | :</span>.<span.class="tok-kw">te |
| 3fea0 | 73 74 3c 2f 73 70 61 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"> |
| 3fec0 | 26 71 75 6f 74 3b 62 61 73 69 63 20 6d 61 74 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a | "basic.math"</span>.{. |
| 3fee0 | 20 20 20 20 3c 73 70 61 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</ |
| 3ff00 | 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | span>.x.=.<span.class="tok-numbe |
| 3ff20 | 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | r">1</span>;.....<span.class="to |
| 3ff40 | 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 20 3d 20 3c 73 70 61 6e 20 63 6c 61 | k-kw">const</span>.y.=.<span.cla |
| 3ff60 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 | ss="tok-number">2</span>;.....<s |
| 3ff80 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 78 20 | pan.class="tok-kw">if</span>.(x. |
| 3ffa0 | 2b 20 79 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | +.y.!=.<span.class="tok-number"> |
| 3ffc0 | 33 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | 3</span>).{.........<span.class= |
| 3ffe0 | 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 | "tok-kw">unreachable</span>;.... |
| 40000 | 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | .}.}</code></pre><pre><code.clas |
| 40020 | 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f | s="shell">$.zig.test.test.zig.1/ |
| 40040 | 31 20 74 65 73 74 20 26 71 75 6f 74 3b 62 61 73 69 63 20 6d 61 74 68 26 71 75 6f 74 3b 2e 2e 2e | 1.test."basic.math"... |
| 40060 | 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f | OK.All.1.tests.passed..</code></ |
| 40080 | 70 72 65 3e 0a 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 | pre>........<p>In.fact,.this.is. |
| 400a0 | 68 6f 77 20 61 73 73 65 72 74 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 3a 3c 2f 70 3e 0a 20 | how.assert.is.implemented:</p>.. |
| 400c0 | 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 | .....<p.class="file">test.zig</p |
| 400e0 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ><pre><code.class="zig"><span.cl |
| 40100 | 61 73 73 3d 22 74 6f 6b 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 |
| 40120 | 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 73 73 65 72 74 3c 2f 73 70 61 6e 3e 28 6f 6b 3a 20 3c 73 | ss="tok-fn">assert</span>(ok:.<s |
| 40140 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e | pan.class="tok-type">bool</span> |
| 40160 | 29 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 |
| 40180 | 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | pan>.{.....<span.class="tok-kw"> |
| 401a0 | 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 |
| 401c0 | 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 |
| 401e0 | 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. |
| 40200 | 66 61 69 6c 75 72 65 3c 2f 73 70 61 6e 3e 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | failure</span>.}..<span.class="t |
| 40220 | 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 |
| 40240 | 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.</ |
| 40260 | 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c | span>.<span.class="tok-kw">test< |
| 40280 | 2f 73 70 61 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 |
| 402a0 | 6f 74 3b 74 68 69 73 20 77 69 6c 6c 20 66 61 69 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b | ot;this.will.fail"</span>.{ |
| 402c0 | 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c | .....assert(<span.class="tok-nul |
| 402e0 | 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | l">false</span>);.}</code></pre> |
| 40300 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 | <pre><code.class="shell">$.zig.t |
| 40320 | 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 74 68 69 73 | est.test.zig.1/1.test."this |
| 40340 | 20 77 69 6c 6c 20 66 61 69 6c 26 71 75 6f 74 3b 2e 2e 2e 72 65 61 63 68 65 64 20 75 6e 72 65 61 | .will.fail"...reached.unrea |
| 40360 | 63 68 61 62 6c 65 20 63 6f 64 65 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e | chable.code.<span.class="t37_1"> |
| 40380 | 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a | /deps/zig/docgen_tmp/test.zig:2: |
| 403a0 | 31 34 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 | 14</span>:.<span.class="t2_0">0x |
| 403c0 | 32 30 35 32 63 62 20 69 6e 20 61 73 73 65 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 | 2052cb.in.assert.(test)</span>.. |
| 403e0 | 20 20 20 69 66 20 28 21 6f 6b 29 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 61 73 73 65 | ...if.(!ok).unreachable;.//.asse |
| 40400 | 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e | rtion.failure..............<span |
| 40420 | 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c | .class="t32_1">^</span>.<span.cl |
| 40440 | 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 | ass="t37_1">/deps/zig/docgen_tmp |
| 40460 | 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 31 31 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 | /test.zig:7:11</span>:.<span.cla |
| 40480 | 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 62 38 65 20 69 6e 20 74 65 73 74 20 26 71 75 6f 74 | ss="t2_0">0x204b8e.in.test." |
| 404a0 | 3b 74 68 69 73 20 77 69 6c 6c 20 66 61 69 6c 26 71 75 6f 74 3b 20 28 74 65 73 74 29 3c 2f 73 70 | ;this.will.fail".(test)</sp |
| 404c0 | 61 6e 3e 0a 20 20 20 20 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 | an>.....assert(false);.......... |
| 404e0 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 | .<span.class="t32_1">^</span>.<s |
| 40500 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f | pan.class="t37_1">/deps/zig/lib/ |
| 40520 | 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 34 37 3a 32 | std/special/test_runner.zig:47:2 |
| 40540 | 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 32 | 8</span>:.<span.class="t2_0">0x2 |
| 40560 | 32 62 61 64 65 20 69 6e 20 73 74 64 2e 73 70 65 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 29 | 2bade.in.std.special.main.(test) |
| 40580 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 65 73 74 5f 66 6e 2e 66 | </span>.........}.else.test_fn.f |
| 405a0 | 75 6e 63 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | unc();.......................... |
| 405c0 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c | ..<span.class="t32_1">^</span>.< |
| 405e0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 | span.class="t37_1">/deps/zig/lib |
| 40600 | 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 33 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 | /std/start.zig:253:37</span>:.<s |
| 40620 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 36 30 64 20 69 6e 20 73 74 64 | pan.class="t2_0">0x20560d.in.std |
| 40640 | 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 73 | .start.posixCallMainAndExit.(tes |
| 40660 | 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 72 65 73 75 | t)</span>.............const.resu |
| 40680 | 6c 74 20 3d 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 20 63 61 74 63 68 20 7c 65 72 72 7c 20 7b 0a 20 | lt.=.root.main().catch.|err|.{.. |
| 406a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 406c0 | 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a | ...<span.class="t32_1">^</span>. |
| 406e0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 | <span.class="t37_1">/deps/zig/li |
| 40700 | 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 | b/std/start.zig:123:5</span>:.<s |
| 40720 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 33 34 66 20 69 6e 20 73 74 64 | pan.class="t2_0">0x20534f.in.std |
| 40740 | 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 0a 20 20 20 20 | .start._start.(test)</span>..... |
| 40760 | 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 | @call(.{..modifier.=..never_inli |
| 40780 | 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 | ne.},.posixCallMainAndExit,..{}) |
| 407a0 | 3b 0a 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 |
| 407c0 | 6e 3e 0a 0a 54 65 73 74 73 20 66 61 69 6c 65 64 2e 20 55 73 65 20 74 68 65 20 66 6f 6c 6c 6f 77 | n>..Tests.failed..Use.the.follow |
| 407e0 | 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 72 65 70 72 6f 64 75 63 65 20 74 68 65 20 66 61 69 | ing.command.to.reproduce.the.fai |
| 40800 | 6c 75 72 65 3a 0a 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 0a | lure:./deps/zig/docgen_tmp/test. |
| 40820 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 | </code></pre>...............<h2. |
| 40840 | 69 64 3d 22 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 | id="At-Compile-Time"><a.href="#t |
| 40860 | 6f 63 2d 41 74 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 3e 41 74 20 43 6f 6d 70 69 6c 65 2d 54 | oc-At-Compile-Time">At.Compile-T |
| 40880 | 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 41 74 | ime</a>.<a.class="hdr".href="#At |
| 408a0 | 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 | -Compile-Time">..</a></h2>...... |
| 408c0 | 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 | ..<p.class="file">test.zig</p><p |
| 408e0 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| 40900 | 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 74 20 3d 20 | ="tok-kw">const</span>.assert.=. |
| 40920 | 3c 73 70 61 6e 20 63 6c 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 |
| 40940 | 74 3c 2f 73 70 61 6e 3e 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">& |
| 40960 | 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 61 73 73 | quot;std"</span>).debug.ass |
| 40980 | 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c | ert;..<span.class="tok-kw">test< |
| 409a0 | 2f 73 70 61 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 |
| 409c0 | 6f 74 3b 74 79 70 65 20 6f 66 20 75 6e 72 65 61 63 68 61 62 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 | ot;type.of.unreachable"</sp |
| 409e0 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | an>.{.....<span.class="tok-kw">c |
| 40a00 | 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 | omptime</span>.{.........<span.c |
| 40a20 | 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 74 79 70 65 20 6f | lass="tok-comment">//.The.type.o |
| 40a40 | 66 20 75 6e 72 65 61 63 68 61 62 6c 65 20 69 73 20 6e 6f 72 65 74 75 72 6e 2e 3c 2f 73 70 61 6e | f.unreachable.is.noreturn.</span |
| 40a60 | 3e 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d | >..........<span.class="tok-comm |
| 40a80 | 65 6e 74 22 3e 2f 2f 20 48 6f 77 65 76 65 72 20 74 68 69 73 20 61 73 73 65 72 74 69 6f 6e 20 77 | ent">//.However.this.assertion.w |
| 40aa0 | 69 6c 6c 20 73 74 69 6c 6c 20 66 61 69 6c 20 62 65 63 61 75 73 65 3c 2f 73 70 61 6e 3e 0a 20 20 | ill.still.fail.because</span>... |
| 40ac0 | 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"> |
| 40ae0 | 2f 2f 20 65 76 61 6c 75 61 74 69 6e 67 20 75 6e 72 65 61 63 68 61 62 6c 65 20 61 74 20 63 6f 6d | //.evaluating.unreachable.at.com |
| 40b00 | 70 69 6c 65 2d 74 69 6d 65 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 73 | pile-time.is.a.compile.error.</s |
| 40b20 | 70 61 6e 3e 0a 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 | pan>..........assert(<span.class |
| 40b40 | 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 3c 73 | ="tok-builtin">@TypeOf</span>(<s |
| 40b60 | 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</ |
| 40b80 | 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 74 79 70 65 22 | span>).==.<span.class="tok-type" |
| 40ba0 | 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 | >noreturn</span>);.....}.}</code |
| 40bc0 | 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e | ></pre><pre><code.class="shell"> |
| 40be0 | 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | $.zig.test.test.zig.<span.class= |
| 40c00 | 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a | "t0_1">./docgen_tmp/test.zig:10: |
| 40c20 | 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 |
| 40c40 | 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e | rror:.</span><span.class="t0_1"> |
| 40c60 | 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 | unreachable.code</span>......... |
| 40c80 | 61 73 73 65 72 74 28 40 54 79 70 65 4f 66 28 75 6e 72 65 61 63 68 61 62 6c 65 29 20 3d 3d 20 6e | assert(@TypeOf(unreachable).==.n |
| 40ca0 | 6f 72 65 74 75 72 6e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 | oreturn);................<span.c |
| 40cc0 | 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 | lass="t32_1">^</span>.<span.clas |
| 40ce0 | 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 33 | s="t0_1">./docgen_tmp/test.zig:3 |
| 40d00 | 3a 32 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e | :28:.</span><span.class="t36_1"> |
| 40d20 | 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e | note:.</span><span.class="t0_1"> |
| 40d40 | 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 74 65 73 74 20 26 71 75 6f | referenced.here</span>.test.&quo |
| 40d60 | 74 3b 74 79 70 65 20 6f 66 20 75 6e 72 65 61 63 68 61 62 6c 65 26 71 75 6f 74 3b 20 7b 0a 20 20 | t;type.of.unreachable".{... |
| 40d80 | 20 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 |
| 40da0 | 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 | lass="t32_1">^</span>.</code></p |
| 40dc0 | 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a | re>........<p>See.also:</p><ul>. |
| 40de0 | 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 |
| 40e00 | 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 |
| 40e20 | 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 |
| 40e40 | 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 |
| 40e60 | 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 31 | >.</ul>......................<h1 |
| 40e80 | 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 |
| 40ea0 | 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 |
| 40ec0 | 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 31 3e 0a | r".href="#noreturn">..</a></h1>. |
| 40ee0 | 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | .......<p>.......<code.class="zi |
| 40f00 | 67 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 72 65 74 75 | g"><span.class="tok-type">noretu |
| 40f20 | 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 74 68 65 20 74 79 70 65 20 6f 66 3a | rn</span></code>.is.the.type.of: |
| 40f40 | 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>.......... |
| 40f60 | 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | .<li><code.class="zig"><span.cla |
| 40f80 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c | ss="tok-kw">break</span></code>< |
| 40fa0 | 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | /li>...........<li><code.class=" |
| 40fc0 | 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 74 69 6e | zig"><span.class="tok-kw">contin |
| 40fe0 | 75 65 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 | ue</span></code></li>........... |
| 41000 | 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | <li><code.class="zig"><span.clas |
| 41020 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c | s="tok-kw">return</span></code>< |
| 41040 | 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | /li>...........<li><code.class=" |
| 41060 | 7a 69 67 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 | zig"><span.class="tok-kw">unreac |
| 41080 | 68 61 62 6c 65 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 | hable</span></code></li>........ |
| 410a0 | 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | ...<li><code.class="zig"><span.c |
| 410c0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 | lass="tok-kw">while</span>.(<spa |
| 410e0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 | n.class="tok-null">true</span>). |
| 41100 | 7b 7d 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 | {}</code></li>.......</ul>...... |
| 41120 | 20 3c 70 3e 57 68 65 6e 20 72 65 73 6f 6c 76 69 6e 67 20 74 79 70 65 73 20 74 6f 67 65 74 68 65 | .<p>When.resolving.types.togethe |
| 41140 | 72 2c 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | r,.such.as.<code.class="zig"><sp |
| 41160 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 | an.class="tok-kw">if</span></cod |
| 41180 | 65 3e 20 63 6c 61 75 73 65 73 20 6f 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | e>.clauses.or.<code.class="zig"> |
| 411a0 | 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 |
| 411c0 | 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 6f 6e 67 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | n></code>.prongs,............... |
| 411e0 | 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | the.<code.class="zig"><span.clas |
| 41200 | 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 3c 2f 63 6f | s="tok-type">noreturn</span></co |
| 41220 | 64 65 3e 20 74 79 70 65 20 69 73 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 65 76 65 72 | de>.type.is.compatible.with.ever |
| 41240 | 79 20 6f 74 68 65 72 20 74 79 70 65 2e 20 43 6f 6e 73 69 64 65 72 3a 0a 20 20 20 20 20 20 3c 2f | y.other.type..Consider:.......</ |
| 41260 | 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 | p>.......<p.class="file">test.zi |
| 41280 | 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | g</p><pre><code.class="zig"><spa |
| 412a0 | 6e 20 63 6c 61 73 73 3d 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 |
| 412c0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 63 6f 6e 64 69 | .class="tok-fn">foo</span>(condi |
| 412e0 | 74 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f | tion:.<span.class="tok-type">boo |
| 41300 | 6c 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | l</span>,.b:.<span.class="tok-ty |
| 41320 | 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | pe">u32</span>).<span.class="tok |
| 41340 | 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | -type">void</span>.{.....<span.c |
| 41360 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c | lass="tok-kw">const</span>.a.=.< |
| 41380 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 | span.class="tok-kw">if</span>.(c |
| 413a0 | 6f 6e 64 69 74 69 6f 6e 29 20 62 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | ondition).b.<span.class="tok-kw" |
| 413c0 | 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | >else</span>.<span.class="tok-kw |
| 413e0 | 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ">return</span>;.....<span.class |
| 41400 | 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 | ="tok-builtin">@panic</span>(<sp |
| 41420 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 6f 20 73 6f 6d 65 | an.class="tok-str">"do.some |
| 41440 | 74 68 69 6e 67 20 77 69 74 68 20 61 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 3c 73 | thing.with.a"</span>);.}.<s |
| 41460 | 70 61 6e 20 63 6c 61 73 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>.< |
| 41480 | 73 70 61 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 72 65 74 | span.class="tok-str">"noret |
| 414a0 | 75 72 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e | urn"</span>.{.....foo(<span |
| 414c0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 | .class="tok-null">false</span>,. |
| 414e0 | 3c 73 70 61 6e 20 63 6c 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 |
| 41500 | 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | >);.}</code></pre><pre><code.cla |
| 41520 | 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 | ss="shell">$.zig.test.test.zig.1 |
| 41540 | 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 4f | /1.test."noreturn"...O |
| 41560 | 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 | K.All.1.tests.passed..</code></p |
| 41580 | 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 6f 74 68 65 72 20 75 73 65 20 63 61 73 65 20 66 | re>........<p>Another.use.case.f |
| 415a0 | 6f 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | or.<code.class="zig"><span.class |
| 415c0 | 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 3c 2f 63 6f 64 | ="tok-type">noreturn</span></cod |
| 415e0 | 65 3e 20 69 73 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 65 78 69 74 | e>.is.the.<code.class="zig">exit |
| 41600 | 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 | </code>.function:</p>.......<p.c |
| 41620 | 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f | lass="file">test.zig</p><pre><co |
| 41640 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 41660 | 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- |
| 41680 | 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 |
| 416a0 | 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6b 65 72 6e 65 6c 33 32 26 71 75 6f 74 3b 3c 2f 73 70 | ok-str">"kernel32"</sp |
| 416c0 | 61 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 |
| 416e0 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 45 78 69 74 50 72 6f 63 | n>.<span.class="tok-fn">ExitProc |
| 41700 | 65 73 73 3c 2f 73 70 61 6e 3e 28 65 78 69 74 5f 63 6f 64 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | ess</span>(exit_code:.<span.clas |
| 41720 | 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 20 3c 73 70 61 | s="tok-type">c_uint</span>).<spa |
| 41740 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e | n.class="tok-kw">callconv</span> |
| 41760 | 28 2e 53 74 64 63 61 6c 6c 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | (.Stdcall).<span.class="tok-type |
| 41780 | 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ">noreturn</span>;..<span.class= |
| 417a0 | 22 74 6f 6b 2d 6b 77 22 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 |
| 417c0 | 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e | ="tok-str">"foo"</span |
| 417e0 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | >.{.....<span.class="tok-kw">con |
| 41800 | 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 20 3d 20 62 61 72 28 29 20 3c 73 70 61 6e 20 63 6c | st</span>.value.=.bar().<span.cl |
| 41820 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 45 78 69 74 50 72 | ass="tok-kw">catch</span>.ExitPr |
| 41840 | 6f 63 65 73 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 | ocess(<span.class="tok-number">1 |
| 41860 | 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 76 61 6c 75 65 20 3d 3d 20 3c 73 | </span>);.....assert(value.==.<s |
| 41880 | 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 |
| 418a0 | 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c | n>);.}..<span.class="tok-kw">fn< |
| 418c0 | 2f 73 70 61 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 | /span>.<span.class="tok-fn">bar< |
| 418e0 | 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"> |
| 41900 | 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | anyerror</span>!<span.class="tok |
| 41920 | 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | -type">u32</span>.{.....<span.cl |
| 41940 | 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 |
| 41960 | 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>; |
| 41980 | 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | .}..<span.class="tok-kw">const</ |
| 419a0 | 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | span>.assert.=.<span.class="tok- |
| 419c0 | 62 75 69 6c 74 69 6e 22 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 |
| 419e0 | 61 73 73 3d 22 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">"std"</s |
| 41a00 | 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | pan>).debug.assert;</code></pre> |
| 41a20 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 | <pre><code.class="shell">$.zig.t |
| 41a40 | 65 73 74 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 77 69 6e 64 | est.test.zig.-target.x86_64-wind |
| 41a60 | 6f 77 73 0a 43 72 65 61 74 65 64 20 2f 64 65 70 73 2f 7a 69 67 2f 7a 69 67 2d 63 61 63 68 65 2f | ows.Created./deps/zig/zig-cache/ |
| 41a80 | 6f 2f 5f 49 36 68 5a 4d 62 5a 76 43 33 74 4d 54 56 31 46 77 63 55 50 70 54 68 53 38 74 51 38 79 | o/_I6hZMbZvC3tMTV1FwcUPpThS8tQ8y |
| 41aa0 | 41 41 4a 32 61 47 71 5f 54 6a 6b 6d 61 58 54 56 43 54 65 55 55 45 47 5f 76 6d 6e 45 61 71 46 4e | AAJ2aGq_TjkmaXTVCTeUUEG_vmnEaqFN |
| 41ac0 | 41 4c 2f 74 65 73 74 2e 65 78 65 20 62 75 74 20 73 6b 69 70 70 69 6e 67 20 65 78 65 63 75 74 69 | AL/test.exe.but.skipping.executi |
| 41ae0 | 6f 6e 20 62 65 63 61 75 73 65 20 69 74 20 69 73 20 6e 6f 6e 2d 6e 61 74 69 76 65 2e 0a 3c 2f 63 | on.because.it.is.non-native..</c |
| 41b00 | 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d | ode></pre>...............<h1.id= |
| 41b20 | 22 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 46 75 6e 63 74 69 | "Functions"><a.href="#toc-Functi |
| 41b40 | 6f 6e 73 22 3e 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 | ons">Functions</a>.<a.class="hdr |
| 41b60 | 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a | ".href="#Functions">..</a></h1>. |
| 41b80 | 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 66 75 6e 63 74 69 6f 6e 73 | .......<p.class="file">functions |
| 41ba0 | 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | .zig</p><pre><code.class="zig">< |
| 41bc0 | 73 70 61 6e 20 63 6c 61 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> |
| 41be0 | 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 | .assert.=.<span.class="tok-built |
| 41c00 | 69 6e 22 3e 40 69 6d 70 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=" |
| 41c20 | 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">"std"</span>) |
| 41c40 | 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | .debug.assert;..<span.class="tok |
| 41c60 | 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 61 | -comment">//.Functions.are.decla |
| 41c80 | 72 65 64 20 6c 69 6b 65 20 74 68 69 73 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | red.like.this</span>.<span.class |
| 41ca0 | 3d 22 74 6f 6b 2d 6b 77 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= |
| 41cc0 | 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 |
| 41ce0 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 | ss="tok-type">i8</span>,.b:.<spa |
| 41d00 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 | n.class="tok-type">i8</span>).<s |
| 41d20 | 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 20 7b | pan.class="tok-type">i8</span>.{ |
| 41d40 | 0a 20 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 |
| 41d60 | 61 6e 3e 20 28 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | an>.(a.==.<span.class="tok-numbe |
| 41d80 | 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | r">0</span>).{.........<span.cla |
| 41da0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 62 3b 0a 20 20 20 | ss="tok-kw">return</span>.b;.... |
| 41dc0 | 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 | .}......<span.class="tok-kw">ret |
| 41de0 | 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | urn</span>.a.+.b;.}..<span.class |
| 41e00 | 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 78 70 6f 72 74 20 73 70 65 | ="tok-comment">//.The.export.spe |
| 41e20 | 63 69 66 69 65 72 20 6d 61 6b 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 65 78 74 65 72 6e 61 6c | cifier.makes.a.function.external |
| 41e40 | 6c 79 20 76 69 73 69 62 6c 65 20 69 6e 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 3c 2f 73 70 61 | ly.visible.in.the.generated</spa |
| 41e60 | 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 | n>.<span.class="tok-comment">//. |
| 41e80 | 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 73 65 20 74 68 | object.file,.and.makes.it.use.th |
| 41ea0 | 65 20 43 20 41 42 49 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | e.C.ABI.</span>.<span.class="tok |
| 41ec0 | 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | -kw">export</span>.<span.class=" |
| 41ee0 | 74 6f 6b 2d 6b 77 22 3e 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 |
| 41f00 | 6f 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 | ok-fn">sub</span>(a:.<span.class |
| 41f20 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 | ="tok-type">i8</span>,.b:.<span. |
| 41f40 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 | class="tok-type">i8</span>).<spa |
| 41f60 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 7b 20 3c | n.class="tok-type">i8</span>.{.< |
| 41f80 | 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 |
| 41fa0 | 3e 20 61 20 2d 20 62 3b 20 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d | >.a.-.b;.}..<span.class="tok-com |
| 41fc0 | 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 65 78 74 65 72 6e 20 73 70 65 63 69 66 69 65 72 20 69 73 | ment">//.The.extern.specifier.is |
| 41fe0 | 20 75 73 65 64 20 74 6f 20 64 65 63 6c 61 72 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 | .used.to.declare.a.function.that |
| 42000 | 20 77 69 6c 6c 20 62 65 20 72 65 73 6f 6c 76 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 | .will.be.resolved</span>.<span.c |
| 42020 | 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 74 20 6c 69 6e 6b 20 74 69 | lass="tok-comment">//.at.link.ti |
| 42040 | 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 20 73 74 61 74 69 63 61 6c 6c 79 2c 20 6f 72 20 | me,.when.linking.statically,.or. |
| 42060 | 61 74 20 72 75 6e 74 69 6d 65 2c 20 77 68 65 6e 20 6c 69 6e 6b 69 6e 67 3c 2f 73 70 61 6e 3e 0a | at.runtime,.when.linking</span>. |
| 42080 | 3c 73 70 61 6e 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 79 6e | <span.class="tok-comment">//.dyn |
| 420a0 | 61 6d 69 63 61 6c 6c 79 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | amically.</span>.<span.class="to |
| 420c0 | 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 69 | k-comment">//.The.callconv.speci |
| 420e0 | 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 74 | fier.changes.the.calling.convent |
| 42100 | 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 0a 3c 73 70 61 | ion.of.the.function.</span>.<spa |
| 42120 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 20 3c | n.class="tok-kw">extern</span>.< |
| 42140 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6b 65 72 6e 65 | span.class="tok-str">"kerne |
| 42160 | 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 6f | l32"</span>.<span.class="to |
| 42180 | 6b 2d 6b 77 22 3e 66 6e 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 |
| 421a0 | 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 64 | -fn">ExitProcess</span>(exit_cod |
| 421c0 | 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 73 | e:.<span.class="tok-type">u32</s |
| 421e0 | 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 | pan>).<span.class="tok-kw">callc |
| 42200 | 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 53 74 64 63 61 6c 6c 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 | onv</span>(.Stdcall).<span.class |
| 42220 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 | ="tok-type">noreturn</span>;.<sp |
| 42240 | 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>. |
| 42260 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 | <span.class="tok-str">"c&qu |
| 42280 | 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ot;</span>.<span.class="tok-kw"> |
| 422a0 | 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 | fn</span>.<span.class="tok-fn">a |
| 422c0 | 74 61 6e 32 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | tan2</span>(a:.<span.class="tok- |
| 422e0 | 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | type">f64</span>,.b:.<span.class |
| 42300 | 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 6c | ="tok-type">f64</span>).<span.cl |
| 42320 | 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 0a 0a 3c 73 70 61 | ass="tok-type">f64</span>;..<spa |
| 42340 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 40 73 65 | n.class="tok-comment">//.The.@se |
| 42360 | 74 43 6f 6c 64 20 62 75 69 6c 74 69 6e 20 74 65 6c 6c 73 20 74 68 65 20 6f 70 74 69 6d 69 7a 65 | tCold.builtin.tells.the.optimize |
| 42380 | 72 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 61 72 65 6c 79 20 63 61 6c 6c | r.that.a.function.is.rarely.call |
| 423a0 | 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ed.</span>.<span.class="tok-kw"> |
| 423c0 | 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 | fn</span>.<span.class="tok-fn">a |
| 423e0 | 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 3d 22 74 6f 6b 2d 74 | bort</span>().<span.class="tok-t |
| 42400 | 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e | ype">noreturn</span>.{.....<span |
| 42420 | 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 73 | .class="tok-builtin">@setCold</s |
| 42440 | 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 65 | pan>(<span.class="tok-null">true |
| 42460 | 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | </span>);.....<span.class="tok-k |
| 42480 | 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | w">while</span>.(<span.class="to |
| 424a0 | 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 20 7b 7d 0a 7d 0a 0a 3c 73 70 61 6e | k-null">true</span>).{}.}..<span |
| 424c0 | 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 6e 61 6b 65 | .class="tok-comment">//.The.nake |
| 424e0 | 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6d 61 6b 65 73 20 61 20 66 75 6e | d.calling.convention.makes.a.fun |
| 42500 | 63 74 69 6f 6e 20 6e 6f 74 20 68 61 76 65 20 61 6e 79 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 6c | ction.not.have.any.function.prol |
| 42520 | 6f 67 75 65 20 6f 72 20 65 70 69 6c 6f 67 75 65 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 | ogue.or.epilogue.</span>.<span.c |
| 42540 | 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 6e 20 62 | lass="tok-comment">//.This.can.b |
| 42560 | 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 68 20 61 | e.useful.when.integrating.with.a |
| 42580 | 73 73 65 6d 62 6c 79 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ssembly.</span>.<span.class="tok |
| 425a0 | 2d 6b 77 22 3e 66 6e 3c 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- |
| 425c0 | 66 6e 22 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 | fn">_start</span>().<span.class= |
| 425e0 | 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 4e 61 6b 65 64 29 | "tok-kw">callconv</span>(.Naked) |
| 42600 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e | .<span.class="tok-type">noreturn |
| 42620 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 62 6f 72 74 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 | </span>.{.....abort();.}..<span. |
| 42640 | 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 69 6e 6c 69 6e | class="tok-comment">//.The.inlin |
| 42660 | 65 20 73 70 65 63 69 66 69 65 72 20 66 6f 72 63 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f | e.specifier.forces.a.function.to |
| 42680 | 20 62 65 20 69 6e 6c 69 6e 65 64 20 61 74 20 61 6c 6c 20 63 61 6c 6c 20 73 69 74 65 73 2e 3c 2f | .be.inlined.at.all.call.sites.</ |
| 426a0 | 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e | span>.<span.class="tok-comment"> |
| 426c0 | 2f 2f 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 6e 6f 74 20 62 65 20 69 6e 6c | //.If.the.function.cannot.be.inl |
| 426e0 | 69 6e 65 64 2c 20 69 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 65 72 72 6f 72 | ined,.it.is.a.compile-time.error |
| 42700 | 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 6e | .</span>.<span.class="tok-kw">in |
| 42720 | 6c 69 6e 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | line</span>.<span.class="tok-kw" |
| 42740 | 3e 66 6e 3c 2f 73 70 61 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"> |
| 42760 | 73 68 69 66 74 4c 65 66 74 4f 6e 65 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 | shiftLeftOne</span>(a:.<span.cla |
| 42780 | 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. |
| 427a0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | class="tok-type">u32</span>.{... |
| 427c0 | 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 |
| 427e0 | 70 61 6e 3e 20 61 20 26 6c 74 3b 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | pan>.a.<<.<span.class="tok |
| 42800 | 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 | -number">1</span>;.}..<span.clas |
| 42820 | 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 70 75 62 20 73 70 65 63 69 | s="tok-comment">//.The.pub.speci |
| 42840 | 66 69 65 72 20 61 6c 6c 6f 77 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 76 | fier.allows.the.function.to.be.v |
| 42860 | 69 73 69 62 6c 65 20 77 68 65 6e 20 69 6d 70 6f 72 74 69 6e 67 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 | isible.when.importing.</span>.<s |
| 42880 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 41 6e 6f 74 68 | pan.class="tok-comment">//.Anoth |
| 428a0 | 65 72 20 66 69 6c 65 20 63 61 6e 20 75 73 65 20 40 69 6d 70 6f 72 74 20 61 6e 64 20 63 61 6c 6c | er.file.can.use.@import.and.call |
| 428c0 | 20 73 75 62 32 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .sub2</span>.<span.class="tok-kw |
| 428e0 | 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | ">pub</span>.<span.class="tok-kw |
| 42900 | 22 3e 66 6e 3c 2f 73 70 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" |
| 42920 | 3e 73 75 62 32 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | >sub2</span>(a:.<span.class="tok |
| 42940 | 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 73 73 | -type">i8</span>,.b:.<span.class |
| 42960 | 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 |
| 42980 | 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 70 61 6e 20 | ss="tok-type">i8</span>.{.<span. |
| 429a0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2d | class="tok-kw">return</span>.a.- |
| 429c0 | 20 62 3b 20 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 | .b;.}..<span.class="tok-comment" |
| 429e0 | 3e 2f 2f 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 | >//.Functions.can.be.used.as.val |
| 42a00 | 75 65 73 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 | ues.and.are.equivalent.to.pointe |
| 42a20 | 72 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | rs.</span>.<span.class="tok-kw"> |
| 42a40 | 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 61 6c 6c 32 5f 6f 70 20 3d 20 3c 73 70 61 6e 20 63 6c | const</span>.call2_op.=.<span.cl |
| 42a60 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 28 61 3a 20 3c 73 70 61 6e | ass="tok-kw">fn</span>.(a:.<span |
| 42a80 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 | .class="tok-type">i8</span>,.b:. |
| 42aa0 | 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> |
| 42ac0 | 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 | ).<span.class="tok-type">i8</spa |
| 42ae0 | 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 | n>;.<span.class="tok-kw">fn</spa |
| 42b00 | 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 5f 6f 70 3c 2f 73 | n>.<span.class="tok-fn">do_op</s |
| 42b20 | 70 61 6e 3e 28 66 6e 5f 63 61 6c 6c 3a 20 63 61 6c 6c 32 5f 6f 70 2c 20 6f 70 31 3a 20 3c 73 70 | pan>(fn_call:.call2_op,.op1:.<sp |
| 42b40 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 2c 20 6f | an.class="tok-type">i8</span>,.o |
| 42b60 | 70 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 38 3c 2f 73 | p2:.<span.class="tok-type">i8</s |
| 42b80 | 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c | pan>).<span.class="tok-type">i8< |
| 42ba0 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | /span>.{.....<span.class="tok-kw |
| 42bc0 | 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 6e 5f 63 61 6c 6c 28 6f 70 31 2c 20 6f 70 32 | ">return</span>.fn_call(op1,.op2 |
| 42be0 | 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c | );.}..<span.class="tok-kw">test< |
| 42c00 | 2f 73 70 61 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 |
| 42c20 | 6f 74 3b 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 | ot;function"</span>.{.....a |
| 42c40 | 73 73 65 72 74 28 64 6f 5f 6f 70 28 61 64 64 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ssert(do_op(add,.<span.class="to |
| 42c60 | 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= |
| 42c80 | 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 | "tok-number">6</span>).==.<span. |
| 42ca0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 | class="tok-number">11</span>);.. |
| 42cc0 | 20 20 20 61 73 73 65 72 74 28 64 6f 5f 6f 70 28 73 75 62 32 2c 20 3c 73 70 61 6e 20 63 6c 61 73 | ...assert(do_op(sub2,.<span.clas |
| 42ce0 | 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 63 | s="tok-number">5</span>,.<span.c |
| 42d00 | 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 20 3d 3d 20 2d | lass="tok-number">6</span>).==.- |
| 42d20 | 3c 73 70 61 6e 20 63 6c 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 |
| 42d40 | 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | >);.}</code></pre><pre><code.cla |
| 42d60 | 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 66 75 6e 63 74 69 6f 6e 73 2e | ss="shell">$.zig.test.functions. |
| 42d80 | 7a 69 67 0a 31 2f 31 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 | zig.1/1.test."function" |
| 42da0 | 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 | ;...OK.All.1.tests.passed..</cod |
| 42dc0 | 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 46 75 6e 63 74 69 6f 6e 20 76 61 6c 75 | e></pre>........<p>Function.valu |
| 42de0 | 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 20 20 20 | es.are.like.pointers:</p>....... |
| 42e00 | 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 | <p.class="file">test.zig</p><pre |
| 42e20 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| 42e40 | 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 | tok-kw">const</span>.assert.=.<s |
| 42e60 | 70 61 6e 20 63 6c 61 73 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< |
| 42e80 | 2f 73 70 61 6e 3e 28 3c 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 |
| 42ea0 | 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 | ot;std"</span>).debug.asser |
| 42ec0 | 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d | t;..<span.class="tok-kw">comptim |
| 42ee0 | 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 | e</span>.{.....assert(<span.clas |
| 42f00 | 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 66 | s="tok-builtin">@TypeOf</span>(f |
| 42f20 | 6f 6f 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 | oo).==.<span.class="tok-kw">fn</ |
| 42f40 | 73 70 61 6e 3e 28 29 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f | span>()<span.class="tok-type">vo |
| 42f60 | 69 64 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 | id</span>);.....assert(<span.cla |
| 42f80 | 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 | ss="tok-builtin">@sizeOf</span>( |
| 42fa0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 29 | <span.class="tok-kw">fn</span>() |
| 42fc0 | 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 |
| 42fe0 | 6e 3e 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 | n>).==.<span.class="tok-builtin" |
| 43000 | 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | >@sizeOf</span>(?<span.class="to |
| 43020 | 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 73 3d 22 74 6f | k-kw">fn</span>()<span.class="to |
| 43040 | 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 | k-type">void</span>));.}..<span. |
| 43060 | 63 6c 61 73 73 3d 22 74 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 |
| 43080 | 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e | lass="tok-fn">foo</span>().<span |
| 430a0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 20 | .class="tok-type">void</span>.{. |
| 430c0 | 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | }</code></pre><pre><code.class=" |
| 430e0 | 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 74 65 73 74 2e 7a 69 67 3c | shell">$.zig.build-obj.test.zig< |
| 43100 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 50 61 73 73 | /code></pre>........<h2.id="Pass |
| 43120 | 2d 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 | -by-value-Parameters"><a.href="# |
| 43140 | 74 6f 63 2d 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 50 61 | toc-Pass-by-value-Parameters">Pa |
| 43160 | 73 73 2d 62 79 2d 76 61 6c 75 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c | ss-by-value.Parameters</a>.<a.cl |
| 43180 | 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 61 73 73 2d 62 79 2d 76 61 6c 75 65 2d 50 | ass="hdr".href="#Pass-by-value-P |
| 431a0 | 61 72 61 6d 65 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 | arameters">..</a></h2>........<p |
| 431c0 | 3e 0a 20 20 20 20 20 20 50 72 69 6d 69 74 69 76 65 20 74 79 70 65 73 20 73 75 63 68 20 61 73 20 | >.......Primitive.types.such.as. |
| 431e0 | 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> |
| 43200 | 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 | .and.<a.href="#Floats">Floats</a |
| 43220 | 3e 20 70 61 73 73 65 64 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 0a 20 20 20 20 20 20 61 72 65 | >.passed.as.parameters.......are |
| 43240 | 20 63 6f 70 69 65 64 2c 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 63 6f 70 79 20 69 73 20 61 76 | .copied,.and.then.the.copy.is.av |
| 43260 | 61 69 6c 61 62 6c 65 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 62 6f 64 79 2e 20 54 68 | ailable.in.the.function.body..Th |
| 43280 | 69 73 20 69 73 20 63 61 6c 6c 65 64 20 22 70 61 73 73 69 6e 67 20 62 79 20 76 61 6c 75 65 22 2e | is.is.called."passing.by.value". |
| 432a0 | 0a 20 20 20 20 20 20 43 6f 70 79 69 6e 67 20 61 20 70 72 69 6d 69 74 69 76 65 20 74 79 70 65 20 | .......Copying.a.primitive.type. |
| 432c0 | 69 73 20 65 73 73 65 6e 74 69 61 6c 6c 79 20 66 72 65 65 20 61 6e 64 20 74 79 70 69 63 61 6c 6c | is.essentially.free.and.typicall |
| 432e0 | 79 20 69 6e 76 6f 6c 76 65 73 20 6e 6f 74 68 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 0a 20 20 20 | y.involves.nothing.more.than.... |
| 43300 | 20 20 20 73 65 74 74 69 6e 67 20 61 20 72 65 67 69 73 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 | ...setting.a.register........</p |
| 43320 | 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 74 72 75 63 74 73 2c 20 75 6e 69 6f 6e | >.......<p>.......Structs,.union |
| 43340 | 73 2c 20 61 6e 64 20 61 72 72 61 79 73 20 63 61 6e 20 73 6f 6d 65 74 69 6d 65 73 20 62 65 20 6d | s,.and.arrays.can.sometimes.be.m |
| 43360 | 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 70 61 73 73 65 64 20 61 73 20 61 20 72 65 66 65 | ore.efficiently.passed.as.a.refe |
| 43380 | 72 65 6e 63 65 2c 20 73 69 6e 63 65 20 61 20 63 6f 70 79 0a 20 20 20 20 20 20 63 6f 75 6c 64 20 | rence,.since.a.copy.......could. |
| 433a0 | 62 65 20 61 72 62 69 74 72 61 72 69 6c 79 20 65 78 70 65 6e 73 69 76 65 20 64 65 70 65 6e 64 69 | be.arbitrarily.expensive.dependi |
| 433c0 | 6e 67 20 6f 6e 20 74 68 65 20 73 69 7a 65 2e 20 57 68 65 6e 20 74 68 65 73 65 20 74 79 70 65 73 | ng.on.the.size..When.these.types |
| 433e0 | 20 61 72 65 20 70 61 73 73 65 64 0a 20 20 20 20 20 20 61 73 20 70 61 72 61 6d 65 74 65 72 73 2c | .are.passed.......as.parameters, |
| 43400 | 20 5a 69 67 20 6d 61 79 20 63 68 6f 6f 73 65 20 74 6f 20 63 6f 70 79 20 61 6e 64 20 70 61 73 73 | .Zig.may.choose.to.copy.and.pass |
| 43420 | 20 62 79 20 76 61 6c 75 65 2c 20 6f 72 20 70 61 73 73 20 62 79 20 72 65 66 65 72 65 6e 63 65 2c | .by.value,.or.pass.by.reference, |
| 43440 | 20 77 68 69 63 68 65 76 65 72 20 77 61 79 0a 20 20 20 20 20 20 5a 69 67 20 64 65 63 69 64 65 73 | .whichever.way.......Zig.decides |
| 43460 | 20 77 69 6c 6c 20 62 65 20 66 61 73 74 65 72 2e 20 54 68 69 73 20 69 73 20 6d 61 64 65 20 70 6f | .will.be.faster..This.is.made.po |
| 43480 | 73 73 69 62 6c 65 2c 20 69 6e 20 70 61 72 74 2c 20 62 79 20 74 68 65 20 66 61 63 74 20 74 68 61 | ssible,.in.part,.by.the.fact.tha |
| 434a0 | 74 20 70 61 72 61 6d 65 74 65 72 73 20 61 72 65 20 69 6d 6d 75 74 61 62 6c 65 2e 0a 20 20 20 20 | t.parameters.are.immutable...... |
| 434c0 | 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 | ..</p>.......<p.class="file">tes |
| 434e0 | 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | t.zig</p><pre><code.class="zig"> |
| 43500 | 3c 73 70 61 6e 20 63 6c 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 |
| 43520 | 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 73 | >.Point.=.<span.class="tok-kw">s |
| 43540 | 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | truct</span>.{.....x:.<span.clas |
| 43560 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 79 3a 20 | s="tok-type">i32</span>,.....y:. |
| 43580 | 3c 73 70 61 6e 20 63 6c 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 |
| 435a0 | 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f | >,.};..<span.class="tok-kw">fn</ |
| 435c0 | 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f | span>.<span.class="tok-fn">foo</ |
| 435e0 | 73 70 61 6e 3e 28 70 6f 69 6e 74 3a 20 50 6f 69 6e 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | span>(point:.Point).<span.class= |
| 43600 | 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 | "tok-type">i32</span>.{.....<spa |
| 43620 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 65 2c 20 60 | n.class="tok-comment">//.Here,.` |
| 43640 | 70 6f 69 6e 74 60 20 63 6f 75 6c 64 20 62 65 20 61 20 72 65 66 65 72 65 6e 63 65 2c 20 6f 72 20 | point`.could.be.a.reference,.or. |
| 43660 | 61 20 63 6f 70 79 2e 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 62 6f 64 79 3c 2f 73 70 61 6e 3e | a.copy..The.function.body</span> |
| 43680 | 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f | .....<span.class="tok-comment">/ |
| 436a0 | 2f 20 63 61 6e 20 69 67 6e 6f 72 65 20 74 68 65 20 64 69 66 66 65 72 65 6e 63 65 20 61 6e 64 20 | /.can.ignore.the.difference.and. |
| 436c0 | 74 72 65 61 74 20 69 74 20 61 73 20 61 20 76 61 6c 75 65 2e 20 42 65 20 76 65 72 79 20 63 61 72 | treat.it.as.a.value..Be.very.car |
| 436e0 | 65 66 75 6c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | eful</span>.....<span.class="tok |
| 43700 | 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 73 73 20 | -comment">//.taking.the.address. |
| 43720 | 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 62 65 20 | of.the.parameter.-.it.should.be. |
| 43740 | 74 72 65 61 74 65 64 20 61 73 20 69 66 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 | treated.as.if</span>.....<span.c |
| 43760 | 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 61 64 64 72 65 73 | lass="tok-comment">//.the.addres |
| 43780 | 73 20 77 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 | s.will.become.invalid.when.the.f |
| 437a0 | 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 | unction.returns.</span>.....<spa |
| 437c0 | 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 70 | n.class="tok-kw">return</span>.p |
| 437e0 | 6f 69 6e 74 2e 78 20 2b 20 70 6f 69 6e 74 2e 79 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | oint.x.+.point.y;.}..<span.class |
| 43800 | 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 74 20 3d 20 | ="tok-kw">const</span>.assert.=. |
| 43820 | 3c 73 70 61 6e 20 63 6c 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 |
| 43840 | 74 3c 2f 73 70 61 6e 3e 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">& |
| 43860 | 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 61 73 73 | quot;std"</span>).debug.ass |
| 43880 | 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c | ert;..<span.class="tok-kw">test< |
| 438a0 | 2f 73 70 61 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 |
| 438c0 | 6f 74 3b 70 61 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 | ot;pass.struct.to.function" |
| 438e0 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 66 6f 6f 28 50 6f 69 6e 74 7b 20 | </span>.{.....assert(foo(Point{. |
| 43900 | 2e 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c | .x.=.<span.class="tok-number">1< |
| 43920 | 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 6e 75 | /span>,..y.=.<span.class="tok-nu |
| 43940 | 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 20 7d 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | mber">2</span>.}).==.<span.class |
| 43960 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 | ="tok-number">3</span>);.}</code |
| 43980 | 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e | ></pre><pre><code.class="shell"> |
| 439a0 | 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 | $.zig.test.test.zig.1/1.test.&qu |
| 439c0 | 6f 74 3b 70 61 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 | ot;pass.struct.to.function" |
| 439e0 | 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 | ...OK.All.1.tests.passed..</code |
| 43a00 | 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 74 | ></pre>........<p>.......For.ext |
| 43a20 | 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 43 | ern.functions,.Zig.follows.the.C |
| 43a40 | 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 69 | .ABI.for.passing.structs.and.uni |
| 43a60 | 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 0a | ons.by.value........</p>........ |
| 43a80 | 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 46 75 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 | ......<h2.id="Function-Parameter |
| 43aa0 | 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 46 | -Type-Inference"><a.href="#toc-F |
| 43ac0 | 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 |
| 43ae0 | 22 3e 46 75 6e 63 74 69 6f 6e 20 50 61 72 61 6d 65 74 65 72 20 54 79 70 65 20 49 6e 66 65 72 65 | ">Function.Parameter.Type.Infere |
| 43b00 | 6e 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 75 | nce</a>.<a.class="hdr".href="#Fu |
| 43b20 | 6e 63 74 69 6f 6e 2d 50 61 72 61 6d 65 74 65 72 2d 54 79 70 65 2d 49 6e 66 65 72 65 6e 63 65 22 | nction-Parameter-Type-Inference" |
| 43b40 | 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 46 75 | >..</a></h2>........<p>.......Fu |
| 43b60 | 6e 63 74 69 6f 6e 20 70 61 72 61 6d 65 74 65 72 73 20 63 61 6e 20 62 65 20 64 65 63 6c 61 72 65 | nction.parameters.can.be.declare |
| 43b80 | 64 20 77 69 74 68 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | d.with.<code.class="zig"><span.c |
| 43ba0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 | lass="tok-kw">var</span></code>. |
| 43bc0 | 69 6e 20 70 6c 61 63 65 20 6f 66 20 74 68 65 20 74 79 70 65 2e 0a 20 20 20 20 20 20 49 6e 20 74 | in.place.of.the.type........In.t |
| 43be0 | 68 69 73 20 63 61 73 65 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 74 79 70 65 73 20 77 69 6c | his.case.the.parameter.types.wil |
| 43c00 | 6c 20 62 65 20 69 6e 66 65 72 72 65 64 20 77 68 65 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 | l.be.inferred.when.the.function. |
| 43c20 | 69 73 20 63 61 6c 6c 65 64 2e 0a 20 20 20 20 20 20 55 73 65 20 3c 61 20 68 72 65 66 3d 22 23 54 | is.called........Use.<a.href="#T |
| 43c40 | 79 70 65 4f 66 22 3e 40 54 79 70 65 4f 66 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 | ypeOf">@TypeOf</a>.and.<a.href=" |
| 43c60 | 23 74 79 70 65 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 20 74 6f 20 67 65 74 20 | #typeInfo">@typeInfo</a>.to.get. |
| 43c80 | 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 74 68 65 20 69 6e 66 65 72 72 65 64 20 74 | information.about.the.inferred.t |
| 43ca0 | 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 | ype........</p>.......<p.class=" |
| 43cc0 | 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | file">test.zig</p><pre><code.cla |
| 43ce0 | 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | ss="zig"><span.class="tok-kw">co |
| 43d00 | 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= |
| 43d20 | 22 74 6f 6b 2d 62 75 69 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 |
| 43d40 | 61 6e 20 63 6c 61 73 73 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">"std&quo |
| 43d60 | 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 | t;</span>).debug.assert;..<span. |
| 43d80 | 63 6c 61 73 73 3d 22 74 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 |
| 43da0 | 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 46 6f 72 74 79 54 77 6f 3c 2f 73 70 61 6e 3e | lass="tok-fn">addFortyTwo</span> |
| 43dc0 | 28 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 | (x:.<span.class="tok-kw">var</sp |
| 43de0 | 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">@ |
| 43e00 | 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 78 29 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | TypeOf</span>(x).{.....<span.cla |
| 43e20 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 20 2b 20 3c 73 | ss="tok-kw">return</span>.x.+.<s |
| 43e40 | 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> |
| 43e60 | 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f | ;.}..<span.class="tok-kw">test</ |
| 43e80 | 73 70 61 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 |
| 43ea0 | 74 3b 66 6e 20 74 79 70 65 20 69 6e 66 65 72 65 6e 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e | t;fn.type.inference"</span> |
| 43ec0 | 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 61 64 64 46 6f 72 74 79 54 77 6f 28 3c 73 70 61 6e 20 | .{.....assert(addFortyTwo(<span. |
| 43ee0 | 63 6c 61 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 | class="tok-number">1</span>).==. |
| 43f00 | 3c 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 | <span.class="tok-number">43</spa |
| 43f20 | 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | n>);.....assert(<span.class="tok |
| 43f40 | 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 64 64 46 6f 72 74 | -builtin">@TypeOf</span>(addFort |
| 43f60 | 79 54 77 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c | yTwo(<span.class="tok-number">1< |
| 43f80 | 2f 73 70 61 6e 3e 29 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | /span>)).==.<span.class="tok-typ |
| 43fa0 | 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 | e">comptime_int</span>);.....<sp |
| 43fc0 | 61 6e 20 63 6c 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 | an.class="tok-kw">var</span>.y:. |
| 43fe0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e | <span.class="tok-type">i64</span |
| 44000 | 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 3c 2f | >.=.<span.class="tok-number">2</ |
| 44020 | 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 64 64 46 6f 72 74 79 54 77 6f 28 79 29 | span>;.....assert(addFortyTwo(y) |
| 44040 | 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 34 3c | .==.<span.class="tok-number">44< |
| 44060 | 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d | /span>);.....assert(<span.class= |
| 44080 | 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 64 64 | "tok-builtin">@TypeOf</span>(add |
| 440a0 | 46 6f 72 74 79 54 77 6f 28 79 29 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | FortyTwo(y)).==.<span.class="tok |
| 440c0 | 2d 74 79 70 65 22 3e 69 36 34 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | -type">i64</span>);.}</code></pr |
| 440e0 | 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 | e><pre><code.class="shell">$.zig |
| 44100 | 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 66 6e | .test.test.zig.1/1.test."fn |
| 44120 | 20 74 79 70 65 20 69 6e 66 65 72 65 6e 63 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 | .type.inference"...OK.All.1 |
| 44140 | 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 0a 20 | .tests.passed..</code></pre>.... |
| 44160 | 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 46 75 6e 63 74 69 6f 6e 2d 52 65 66 | ............<h2.id="Function-Ref |
| 44180 | 6c 65 63 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 75 6e 63 74 69 6f 6e 2d | lection"><a.href="#toc-Function- |
| 441a0 | 52 65 66 6c 65 63 74 69 6f 6e 22 3e 46 75 6e 63 74 69 6f 6e 20 52 65 66 6c 65 63 74 69 6f 6e 3c | Reflection">Function.Reflection< |
| 441c0 | 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 | /a>.<a.class="hdr".href="#Functi |
| 441e0 | 6f 6e 2d 52 65 66 6c 65 63 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 | on-Reflection">..</a></h2>...... |
| 44200 | 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 | ..<p.class="file">test.zig</p><p |
| 44220 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| 44240 | 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 74 20 3d 20 | ="tok-kw">const</span>.assert.=. |
| 44260 | 3c 73 70 61 6e 20 63 6c 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 |
| 44280 | 74 3c 2f 73 70 61 6e 3e 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">& |
| 442a0 | 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 61 73 73 | quot;std"</span>).debug.ass |
| 442c0 | 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c | ert;..<span.class="tok-kw">test< |
| 442e0 | 2f 73 70 61 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 |
| 44300 | 6f 74 3b 66 6e 20 72 65 66 6c 65 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a | ot;fn.reflection"</span>.{. |
| 44320 | 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | ....assert(<span.class="tok-buil |
| 44340 | 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 61 73 73 65 72 74 29 2e 52 65 74 75 | tin">@TypeOf</span>(assert).Retu |
| 44360 | 72 6e 54 79 70 65 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | rnType.==.<span.class="tok-type" |
| 44380 | 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 | >void</span>);.....assert(<span. |
| 443a0 | 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 |
| 443c0 | 6e 3e 28 61 73 73 65 72 74 29 2e 69 73 5f 76 61 72 5f 61 72 67 73 20 3d 3d 20 3c 73 70 61 6e 20 | n>(assert).is_var_args.==.<span. |
| 443e0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 0a | class="tok-null">false</span>);. |
| 44400 | 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | }</code></pre><pre><code.class=" |
| 44420 | 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 | shell">$.zig.test.test.zig.1/1.t |
| 44440 | 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 74 3b 2e 2e 2e | est."fn.reflection"... |
| 44460 | 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f | OK.All.1.tests.passed..</code></ |
| 44480 | 70 72 65 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 31 20 69 64 | pre>......................<h1.id |
| 444a0 | 3d 22 45 72 72 6f 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 72 72 6f 72 73 22 3e | ="Errors"><a.href="#toc-Errors"> |
| 444c0 | 45 72 72 6f 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 | Errors</a>.<a.class="hdr".href=" |
| 444e0 | 23 45 72 72 6f 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 68 32 20 | #Errors">..</a></h1>........<h2. |
| 44500 | 69 64 3d 22 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f | id="Error-Set-Type"><a.href="#to |
| 44520 | 63 2d 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 | c-Error-Set-Type">Error.Set.Type |
| 44540 | 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 | </a>.<a.class="hdr".href="#Error |
| 44560 | 2d 53 65 74 2d 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 | -Set-Type">..</a></h2>........<p |
| 44580 | 3e 0a 20 20 20 20 20 20 41 6e 20 65 72 72 6f 72 20 73 65 74 20 69 73 20 6c 69 6b 65 20 61 6e 20 | >.......An.error.set.is.like.an. |
| 445a0 | 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 | <a.href="#enum">enum</a>........ |
| 445c0 | 48 6f 77 65 76 65 72 2c 20 65 61 63 68 20 65 72 72 6f 72 20 6e 61 6d 65 20 61 63 72 6f 73 73 20 | However,.each.error.name.across. |
| 445e0 | 74 68 65 20 65 6e 74 69 72 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 67 65 74 73 20 61 73 73 69 | the.entire.compilation.gets.assi |
| 44600 | 67 6e 65 64 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 0a 20 20 20 20 20 20 67 | gned.an.unsigned.integer.......g |
| 44620 | 72 65 61 74 65 72 20 74 68 61 6e 20 30 2e 20 59 6f 75 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 74 | reater.than.0..You.are.allowed.t |
| 44640 | 6f 20 64 65 63 6c 61 72 65 20 74 68 65 20 73 61 6d 65 20 65 72 72 6f 72 20 6e 61 6d 65 20 6d 6f | o.declare.the.same.error.name.mo |
| 44660 | 72 65 20 74 68 61 6e 20 6f 6e 63 65 2c 20 61 6e 64 20 69 66 20 79 6f 75 20 64 6f 2c 20 69 74 0a | re.than.once,.and.if.you.do,.it. |
| 44680 | 20 20 20 20 20 20 67 65 74 73 20 61 73 73 69 67 6e 65 64 20 74 68 65 20 73 61 6d 65 20 69 6e 74 | ......gets.assigned.the.same.int |
| 446a0 | 65 67 65 72 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 | eger.value........</p>.......<p> |
| 446c0 | 0a 20 20 20 20 20 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 75 6e 69 71 75 65 20 65 72 72 6f | .......The.number.of.unique.erro |
| 446e0 | 72 20 76 61 6c 75 65 73 20 61 63 72 6f 73 73 20 74 68 65 20 65 6e 74 69 72 65 20 63 6f 6d 70 69 | r.values.across.the.entire.compi |
| 44700 | 6c 61 74 69 6f 6e 20 73 68 6f 75 6c 64 20 64 65 74 65 72 6d 69 6e 65 20 74 68 65 20 73 69 7a 65 | lation.should.determine.the.size |
| 44720 | 20 6f 66 20 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 48 6f | .of.the.error.set.type........Ho |
| 44740 | 77 65 76 65 72 20 72 69 67 68 74 20 6e 6f 77 20 69 74 20 69 73 20 68 61 72 64 20 63 6f 64 65 64 | wever.right.now.it.is.hard.coded |
| 44760 | 20 74 6f 20 62 65 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | .to.be.a.<code.class="zig"><span |
| 44780 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 3c 2f 63 6f | .class="tok-type">u16</span></co |
| 447a0 | 64 65 3e 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 | de>..See.<a.href="https://github |
| 447c0 | 2e 63 6f 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 | .com/ziglang/zig/issues/786">#76 |
| 447e0 | 38 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 | 8</a>........</p>.......<p>..... |
| 44800 | 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 72 63 69 6f | ..You.can.<a.href="#Type-Coercio |
| 44820 | 6e 22 3e 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 | n">coerce</a>.an.error.from.a.su |
| 44840 | 62 73 65 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 | bset.to.a.superset:.......</p>.. |
| 44860 | 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 | .....<p.class="file">test.zig</p |
| 44880 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ><pre><code.class="zig"><span.cl |
| 448a0 | 61 73 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.=. |
| 448c0 | 3c 73 70 61 6e 20 63 6c 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 |
| 448e0 | 74 3c 2f 73 70 61 6e 3e 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">& |
| 44900 | 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 | quot;std"</span>);..<span.c |
| 44920 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 69 6c 65 4f | lass="tok-kw">const</span>.FileO |
| 44940 | 70 65 6e 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | penError.=.<span.class="tok-kw"> |
| 44960 | 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 41 63 63 65 73 73 44 65 6e 69 65 64 2c | error</span>.{.....AccessDenied, |
| 44980 | 0a 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 0a 20 20 20 20 46 69 6c 65 4e 6f 74 46 6f 75 | .....OutOfMemory,.....FileNotFou |
| 449a0 | 6e 64 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | nd,.};..<span.class="tok-kw">con |
| 449c0 | 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 70 61 | st</span>.AllocationError.=.<spa |
| 449e0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 20 7b 0a | n.class="tok-kw">error</span>.{. |
| 44a00 | 20 20 20 20 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | ....OutOfMemory,.};..<span.class |
| 44a20 | 3d 22 74 6f 6b 2d 6b 77 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 |
| 44a40 | 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 73 75 62 73 65 74 20 | s="tok-str">"coerce.subset. |
| 44a60 | 74 6f 20 73 75 70 65 72 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c | to.superset"</span>.{.....< |
| 44a80 | 73 70 61 6e 20 63 6c 61 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> |
| 44aa0 | 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 75 74 4f 66 | .err.=.foo(AllocationError.OutOf |
| 44ac0 | 4d 65 6d 6f 72 79 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 28 65 72 | Memory);.....std.debug.assert(er |
| 44ae0 | 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); |
| 44b00 | 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 | .}..<span.class="tok-kw">fn</spa |
| 44b20 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 | n>.<span.class="tok-fn">foo</spa |
| 44b40 | 6e 3e 28 65 72 72 3a 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 29 20 46 69 6c 65 4f 70 65 | n>(err:.AllocationError).FileOpe |
| 44b60 | 6e 45 72 72 6f 72 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | nError.{.....<span.class="tok-kw |
| 44b80 | 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 | ">return</span>.err;.}</code></p |
| 44ba0 | 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 | re><pre><code.class="shell">$.zi |
| 44bc0 | 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 | g.test.test.zig.1/1.test."c |
| 44be0 | 6f 65 72 63 65 20 73 75 62 73 65 74 20 74 6f 20 73 75 70 65 72 73 65 74 26 71 75 6f 74 3b 2e 2e | oerce.subset.to.superset".. |
| 44c00 | 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c | .OK.All.1.tests.passed..</code>< |
| 44c20 | 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 75 74 20 79 6f 75 20 63 | /pre>........<p>.......But.you.c |
| 44c40 | 61 6e 6e 6f 74 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 | annot.<a.href="#Type-Coercion">c |
| 44c60 | 6f 65 72 63 65 3c 2f 61 3e 20 61 6e 20 65 72 72 6f 72 20 66 72 6f 6d 20 61 20 73 75 70 65 72 73 | oerce</a>.an.error.from.a.supers |
| 44c80 | 65 74 20 74 6f 20 61 20 73 75 62 73 65 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 | et.to.a.subset:.......</p>...... |
| 44ca0 | 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 | .<p.class="file">test.zig</p><pr |
| 44cc0 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e><code.class="zig"><span.class= |
| 44ce0 | 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 69 6c 65 4f 70 65 6e 45 72 | "tok-kw">const</span>.FileOpenEr |
| 44d00 | 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 |
| 44d20 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 41 63 63 65 73 73 44 65 6e 69 65 64 2c 0a 20 20 20 20 | </span>.{.....AccessDenied,..... |
| 44d40 | 4f 75 74 4f 66 4d 65 6d 6f 72 79 2c 0a 20 20 20 20 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 2c 0a 7d | OutOfMemory,.....FileNotFound,.} |
| 44d60 | 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 | ;..<span.class="tok-kw">const</s |
| 44d80 | 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 72 72 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 | pan>.AllocationError.=.<span.cla |
| 44da0 | 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 0a 20 20 20 20 4f | ss="tok-kw">error</span>.{.....O |
| 44dc0 | 75 74 4f 66 4d 65 6d 6f 72 79 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | utOfMemory,.};..<span.class="tok |
| 44de0 | 2d 6b 77 22 3e 74 65 73 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 |
| 44e00 | 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 73 75 70 65 72 73 65 74 20 74 6f 20 | k-str">"coerce.superset.to. |
| 44e20 | 73 75 62 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 46 69 | subset"</span>.{.....foo(Fi |
| 44e40 | 6c 65 4f 70 65 6e 45 72 72 6f 72 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 29 20 3c 73 70 61 6e 20 63 | leOpenError.OutOfMemory).<span.c |
| 44e60 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 0a 7d | lass="tok-kw">catch</span>.{};.} |
| 44e80 | 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e | ..<span.class="tok-kw">fn</span> |
| 44ea0 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e | .<span.class="tok-fn">foo</span> |
| 44ec0 | 28 65 72 72 3a 20 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 29 20 41 6c 6c 6f 63 61 74 69 6f 6e 45 | (err:.FileOpenError).AllocationE |
| 44ee0 | 72 72 6f 72 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | rror.{.....<span.class="tok-kw"> |
| 44f00 | 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 65 72 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | return</span>.err;.}</code></pre |
| 44f20 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 | ><pre><code.class="shell">$.zig. |
| 44f40 | 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 | test.test.zig.<span.class="t0_1" |
| 44f60 | 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 32 3a 20 3c 2f | >./docgen_tmp/test.zig:16:12:.</ |
| 44f80 | 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:. |
| 44fa0 | 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 |
| 44fc0 | 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 66 6f 75 6e 64 | ed.type.'AllocationError',.found |
| 44fe0 | 20 27 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 | .'FileOpenError'</span>.....retu |
| 45000 | 72 6e 20 65 72 72 3b 0a 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | rn.err;............<span.class=" |
| 45020 | 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 74 30 5f | t32_1">^</span>.<span.class="t0_ |
| 45040 | 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 35 3a 20 3c 2f | 1">./docgen_tmp/test.zig:2:5:.</ |
| 45060 | 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c | span><span.class="t36_1">note:.< |
| 45080 | 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 27 65 72 72 6f 72 2e | /span><span.class="t0_1">'error. |
| 450a0 | 41 63 63 65 73 73 44 65 6e 69 65 64 27 20 6e 6f 74 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 64 65 | AccessDenied'.not.a.member.of.de |
| 450c0 | 73 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 0a 20 20 20 20 41 | stination.error.set</span>.....A |
| 450e0 | 63 63 65 73 73 44 65 6e 69 65 64 2c 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 | ccessDenied,.....<span.class="t3 |
| 45100 | 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 74 30 5f 31 22 | 2_1">^</span>.<span.class="t0_1" |
| 45120 | 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 70 | >./docgen_tmp/test.zig:4:5:.</sp |
| 45140 | 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 |
| 45160 | 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 69 | pan><span.class="t0_1">'error.Fi |
| 45180 | 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 74 | leNotFound'.not.a.member.of.dest |
| 451a0 | 69 6e 61 74 69 6f 6e 20 65 72 72 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 46 69 6c | ination.error.set</span>.....Fil |
| 451c0 | 65 4e 6f 74 46 6f 75 6e 64 2c 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f | eNotFound,.....<span.class="t32_ |
| 451e0 | 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 | 1">^</span>.</code></pre>....... |
| 45200 | 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 75 74 20 66 | .<p>.......There.is.a.shortcut.f |
| 45220 | 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 74 68 20 6f | or.declaring.an.error.set.with.o |
| 45240 | 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 67 20 74 68 | nly.1.value,.and.then.getting.th |
| 45260 | 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 70 72 65 3e | at.value:.......</p>.......<pre> |
| 45280 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 452a0 | 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 3c 73 70 61 6e 20 | ok-kw">const</span>.err.=.<span. |
| 452c0 | 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 46 69 6c 65 | class="tok-kw">error</span>.File |
| 452e0 | 4e 6f 74 46 6f 75 6e 64 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e | NotFound;</code></pre>.......<p> |
| 45300 | 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 3a 3c 2f 70 3e 0a 20 20 20 20 20 | This.is.equivalent.to:</p>...... |
| 45320 | 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | .<pre><code.class="zig"><span.cl |
| 45340 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 | ass="tok-kw">const</span>.err.=. |
| 45360 | 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 | (<span.class="tok-kw">error</spa |
| 45380 | 6e 3e 20 7b 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 7d 29 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3b | n>.{FileNotFound}).FileNotFound; |
| 453a0 | 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 |
| 453c0 | 69 73 20 62 65 63 6f 6d 65 73 20 75 73 65 66 75 6c 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 61 20 | is.becomes.useful.when.using.<a. |
| 453e0 | 68 72 65 66 3d 22 23 49 6e 66 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 49 6e 66 65 | href="#Inferred-Error-Sets">Infe |
| 45400 | 72 72 65 64 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | rred.Error.Sets</a>........</p>. |
| 45420 | 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 6f 72 2d 53 | ......<h3.id="The-Global-Error-S |
| 45440 | 65 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 | et"><a.href="#toc-The-Global-Err |
| 45460 | 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e | or-Set">The.Global.Error.Set</a> |
| 45480 | 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 68 65 2d 47 6c 6f 62 61 | .<a.class="hdr".href="#The-Globa |
| 454a0 | 6c 2d 45 72 72 6f 72 2d 53 65 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 | l-Error-Set">..</a></h3>........ |
| 454c0 | 3c 70 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | <p><code.class="zig"><span.class |
| 454e0 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 | ="tok-type">anyerror</span></cod |
| 45500 | 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 72 6f 72 20 73 65 | e>.refers.to.the.global.error.se |
| 45520 | 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 20 73 65 74 20 74 | t........This.is.the.error.set.t |
| 45540 | 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 20 74 68 65 20 65 | hat.contains.all.errors.in.the.e |
| 45560 | 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 20 20 20 20 49 74 | ntire.compilation.unit........It |
| 45580 | 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 72 20 65 72 72 6f | .is.a.superset.of.all.other.erro |
| 455a0 | 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 65 20 6f 66 20 74 | r.sets.and.a.subset.of.none.of.t |
| 455c0 | 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 20 20 20 20 20 20 | hem........</p>.......<p>....... |
| 455e0 | 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 72 63 69 6f 6e 22 | You.can.<a.href="#Type-Coercion" |
| 45600 | 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 74 6f 20 74 68 65 | >coerce</a>.any.error.set.to.the |
| 45620 | 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 78 70 6c 69 63 69 | .global.one,.and.you.can.explici |
| 45640 | 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 20 74 68 65 20 67 | tly.......cast.an.error.of.the.g |
| 45660 | 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 6c 6f 62 61 6c 20 | lobal.error.set.to.a.non-global. |
| 45680 | 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 67 65 2d 6c 65 76 | one..This.inserts.a.language-lev |
| 456a0 | 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 72 65 20 74 68 65 | el.......assert.to.make.sure.the |
| 456c0 | 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 20 74 68 65 20 64 | .error.value.is.in.fact.in.the.d |
| 456e0 | 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 20 20 3c 2f 70 3e | estination.error.set........</p> |
| 45700 | 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 6c 20 65 72 72 6f | .......<p>.......The.global.erro |
| 45720 | 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 61 76 6f 69 64 65 | r.set.should.generally.be.avoide |
| 45740 | 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 20 20 20 20 20 20 | d.because.it.prevents.the....... |
| 45760 | 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 20 65 72 72 6f 72 | compiler.from.knowing.what.error |
| 45780 | 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 74 69 6d 65 2e 20 | s.are.possible.at.compile-time.. |
| 457a0 | 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 74 20 61 74 20 63 | Knowing.......the.error.set.at.c |
| 457c0 | 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 67 65 6e 65 72 61 | ompile-time.is.better.for.genera |
| 457e0 | 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 20 20 68 65 6c 70 | ted.documentation.and.......help |
| 45800 | 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 73 20 66 6f 72 67 | ful.error.messages,.such.as.forg |
| 45820 | 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 6c 75 65 20 69 6e | etting.a.possible.error.value.in |
| 45840 | 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 68 3c 2f 61 3e 2e | .a.<a.href="#switch">switch</a>. |
| 45860 | 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 | .......</p>..................... |
| 45880 | 3c 68 32 20 69 64 3d 22 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 3c 61 20 68 72 65 | <h2.id="Error-Union-Type"><a.hre |
| 458a0 | 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 45 72 72 6f 72 20 | f="#toc-Error-Union-Type">Error. |
| 458c0 | 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 64 72 22 20 68 72 | Union.Type</a>.<a.class="hdr".hr |
| 458e0 | 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 2f 61 3e 3c 2f 68 | ef="#Error-Union-Type">..</a></h |
| 45900 | 32 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 73 65 74 | 2>........<p>.......An.error.set |
| 45920 | 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 62 65 20 63 6f 6d | .type.and.normal.type.can.be.com |
| 45940 | 62 69 6e 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | bined.with.the.<code.class="zig" |
| 45960 | 3e 21 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 20 | >!</code>.......binary.operator. |
| 45980 | 74 6f 20 66 6f 72 6d 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 2e 20 59 6f 75 | to.form.an.error.union.type..You |
| 459a0 | 20 61 72 65 20 6c 69 6b 65 6c 79 20 74 6f 20 75 73 65 20 61 6e 0a 20 20 20 20 20 20 65 72 72 6f | .are.likely.to.use.an.......erro |
| 459c0 | 72 20 75 6e 69 6f 6e 20 74 79 70 65 20 6d 6f 72 65 20 6f 66 74 65 6e 20 74 68 61 6e 20 61 6e 20 | r.union.type.more.often.than.an. |
| 459e0 | 65 72 72 6f 72 20 73 65 74 20 74 79 70 65 20 62 79 20 69 74 73 65 6c 66 2e 0a 20 20 20 20 20 20 | error.set.type.by.itself........ |
| 45a00 | 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 48 65 72 65 20 69 73 20 61 20 66 | </p>.......<p>.......Here.is.a.f |
| 45a20 | 75 6e 63 74 69 6f 6e 20 74 6f 20 70 61 72 73 65 20 61 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 61 | unction.to.parse.a.string.into.a |
| 45a40 | 20 36 34 2d 62 69 74 20 69 6e 74 65 67 65 72 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 | .64-bit.integer:.......</p>..... |
| 45a60 | 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 | ..<p.class="file">test.zig</p><p |
| 45a80 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| 45aa0 | 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 |
| 45ac0 | 61 6e 20 63 6c 61 73 73 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</ |
| 45ae0 | 73 70 61 6e 3e 28 3c 73 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 |
| 45b00 | 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | t;std"</span>);.<span.class |
| 45b20 | 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 78 49 6e 74 20 3d 20 | ="tok-kw">const</span>.maxInt.=. |
| 45b40 | 73 74 64 2e 6d 61 74 68 2e 6d 61 78 49 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | std.math.maxInt;..<span.class="t |
| 45b60 | 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 |
| 45b80 | 6f 6b 2d 6b 77 22 3e 66 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 |
| 45ba0 | 6b 2d 66 6e 22 3e 70 61 72 73 65 55 36 34 3c 2f 73 70 61 6e 3e 28 62 75 66 3a 20 5b 5d 3c 73 70 | k-fn">parseU64</span>(buf:.[]<sp |
| 45bc0 | 61 6e 20 63 6c 61 73 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>.< |
| 45be0 | 73 70 61 6e 20 63 6c 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>, |
| 45c00 | 20 72 61 64 69 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 | .radix:.<span.class="tok-type">u |
| 45c20 | 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 |
| 45c40 | 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ">u64</span>.{.....<span.class=" |
| 45c60 | 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 |
| 45c80 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 | s="tok-type">u64</span>.=.<span. |
| 45ca0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 | class="tok-number">0</span>;.... |
| 45cc0 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e | ..<span.class="tok-kw">for</span |
| 45ce0 | 3e 20 28 62 75 66 29 20 7c 63 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | >.(buf).|c|.{.........<span.clas |
| 45d00 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 69 67 69 74 20 3d 20 | s="tok-kw">const</span>.digit.=. |
| 45d20 | 63 68 61 72 54 6f 44 69 67 69 74 28 63 29 3b 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 | charToDigit(c);..........<span.c |
| 45d40 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 64 69 67 69 74 20 26 | lass="tok-kw">if</span>.(digit.& |
| 45d60 | 67 74 3b 3d 20 72 61 64 69 78 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | gt;=.radix).{.............<span. |
| 45d80 | 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 |
| 45da0 | 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 |
| 45dc0 | 6e 76 61 6c 69 64 43 68 61 72 3b 0a 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 3c | nvalidChar;.........}..........< |
| 45de0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2a 3d | span.class="tok-comment">//.x.*= |
| 45e00 | 20 72 61 64 69 78 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | .radix</span>.........<span.clas |
| 45e20 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 | s="tok-kw">if</span>.(<span.clas |
| 45e40 | 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 | s="tok-builtin">@mulWithOverflow |
| 45e60 | 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 | </span>(<span.class="tok-type">u |
| 45e80 | 36 34 3c 2f 73 70 61 6e 3e 2c 20 78 2c 20 72 61 64 69 78 2c 20 26 61 6d 70 3b 78 29 29 20 7b 0a | 64</span>,.x,.radix,.&x)).{. |
| 45ea0 | 20 20 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" |
| 45ec0 | 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- |
| 45ee0 | 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 3b 0a 20 20 20 20 20 | kw">error</span>.Overflow;...... |
| 45f00 | 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 | ...}..........<span.class="tok-c |
| 45f20 | 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2b 3d 20 64 69 67 69 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 | omment">//.x.+=.digit</span>.... |
| 45f40 | 20 20 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 |
| 45f60 | 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 | an>.(<span.class="tok-builtin">@ |
| 45f80 | 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 | addWithOverflow</span>(<span.cla |
| 45fa0 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 2c 20 78 2c 20 64 69 67 | ss="tok-type">u64</span>,.x,.dig |
| 45fc0 | 69 74 2c 20 26 61 6d 70 3b 78 29 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e | it,.&x)).{.............<span |
| 45fe0 | 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 |
| 46000 | 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>. |
| 46020 | 4f 76 65 72 66 6c 6f 77 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c | Overflow;.........}.....}......< |
| 46040 | 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 |
| 46060 | 3e 20 78 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c | >.x;.}..<span.class="tok-kw">fn< |
| 46080 | 2f 73 70 61 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 68 61 72 | /span>.<span.class="tok-fn">char |
| 460a0 | 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 3d 22 74 | ToDigit</span>(c:.<span.class="t |
| 460c0 | 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= |
| 460e0 | 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e | "tok-type">u8</span>.{.....<span |
| 46100 | 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 |
| 46120 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e | pan.class="tok-kw">switch</span> |
| 46140 | 20 28 63 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | .(c).{.........<span.class="tok- |
| 46160 | 73 74 72 22 3e 27 30 27 3c 2f 73 70 61 6e 3e 20 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | str">'0'</span>.....<span.class= |
| 46180 | 22 74 6f 6b 2d 73 74 72 22 3e 27 39 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 63 20 2d 20 3c | "tok-str">'9'</span>.=>.c.-.< |
| 461a0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 30 27 3c 2f 73 70 61 6e 3e 2c | span.class="tok-str">'0'</span>, |
| 461c0 | 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 | .........<span.class="tok-str">' |
| 461e0 | 41 27 3c 2f 73 70 61 6e 3e 20 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 | A'</span>.....<span.class="tok-s |
| 46200 | 74 72 22 3e 27 5a 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 63 20 2d 20 3c 73 70 61 6e 20 63 | tr">'Z'</span>.=>.c.-.<span.c |
| 46220 | 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 41 27 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 | lass="tok-str">'A'</span>.+.<spa |
| 46240 | 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 0a | n.class="tok-number">10</span>,. |
| 46260 | 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 61 | ........<span.class="tok-str">'a |
| 46280 | 27 3c 2f 73 70 61 6e 3e 20 2e 2e 2e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 | '</span>.....<span.class="tok-st |
| 462a0 | 72 22 3e 27 7a 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 63 20 2d 20 3c 73 70 61 6e 20 63 6c | r">'z'</span>.=>.c.-.<span.cl |
| 462c0 | 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 61 27 3c 2f 73 70 61 6e 3e 20 2b 20 3c 73 70 61 6e | ass="tok-str">'a'</span>.+.<span |
| 462e0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 2c 0a 20 | .class="tok-number">10</span>,.. |
| 46300 | 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 | .......<span.class="tok-kw">else |
| 46320 | 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 | </span>.=>.maxInt(<span.class |
| 46340 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 7d 3b 0a 7d | ="tok-type">u8</span>),.....};.} |
| 46360 | 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 | ..<span.class="tok-kw">test</spa |
| 46380 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 | n>.<span.class="tok-str">"p |
| 463a0 | 61 72 73 65 20 75 36 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 | arse.u64"</span>.{.....<spa |
| 463c0 | 6e 20 63 6c 61 73 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 |
| 463e0 | 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c | sult.=.<span.class="tok-kw">try< |
| 46400 | 2f 73 70 61 6e 3e 20 70 61 72 73 65 55 36 34 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | /span>.parseU64(<span.class="tok |
| 46420 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 31 32 33 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c | -str">"1234"</span>,.< |
| 46440 | 73 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 |
| 46460 | 3e 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 28 72 65 73 75 6c 74 20 | >);.....std.debug.assert(result. |
| 46480 | 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 |
| 464a0 | 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f | </span>);.}</code></pre><pre><co |
| 464c0 | 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 | de.class="shell">$.zig.test.test |
| 464e0 | 2e 7a 69 67 0a 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 71 75 | .zig.1/1.test."parse.u64&qu |
| 46500 | 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 | ot;...OK.All.1.tests.passed..</c |
| 46520 | 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 69 | ode></pre>........<p>.......Noti |
| 46540 | 63 65 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 20 63 6c 61 73 | ce.the.return.type.is.<code.clas |
| 46560 | 73 3d 22 7a 69 67 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 | s="zig">!<span.class="tok-type"> |
| 46580 | 75 36 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 | u64</span></code>..This.means.th |
| 465a0 | 61 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 65 69 74 68 65 72 20 72 65 74 | at.the.function.......either.ret |
| 465c0 | 75 72 6e 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 36 34 20 62 69 74 20 69 6e 74 65 67 65 72 2c | urns.an.unsigned.64.bit.integer, |
| 465e0 | 20 6f 72 20 61 6e 20 65 72 72 6f 72 2e 20 57 65 20 6c 65 66 74 20 6f 66 66 20 74 68 65 20 65 72 | .or.an.error..We.left.off.the.er |
| 46600 | 72 6f 72 20 73 65 74 0a 20 20 20 20 20 20 74 6f 20 74 68 65 20 6c 65 66 74 20 6f 66 20 74 68 65 | ror.set.......to.the.left.of.the |
| 46620 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 21 3c 2f 63 6f 64 65 3e 2c 20 73 6f 20 | .<code.class="zig">!</code>,.so. |
| 46640 | 74 68 65 20 65 72 72 6f 72 20 73 65 74 20 69 73 20 69 6e 66 65 72 72 65 64 2e 0a 20 20 20 20 20 | the.error.set.is.inferred....... |
| 46660 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 69 74 68 69 6e 20 74 68 65 | .</p>.......<p>.......Within.the |
| 46680 | 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 79 6f 75 20 63 61 6e 20 73 65 | .function.definition,.you.can.se |
| 466a0 | 65 20 73 6f 6d 65 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 73 20 74 68 61 74 20 72 65 | e.some.return.statements.that.re |
| 466c0 | 74 75 72 6e 0a 20 20 20 20 20 20 61 6e 20 65 72 72 6f 72 2c 20 61 6e 64 20 61 74 20 74 68 65 20 | turn.......an.error,.and.at.the. |
| 466e0 | 62 6f 74 74 6f 6d 20 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 20 74 68 61 74 20 72 | bottom.a.return.statement.that.r |
| 46700 | 65 74 75 72 6e 73 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | eturns.a.<code.class="zig"><span |
| 46720 | 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 63 6f | .class="tok-type">u64</span></co |
| 46740 | 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 42 6f 74 68 20 74 79 70 65 73 20 3c 61 20 68 72 65 | de>............Both.types.<a.hre |
| 46760 | 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 74 6f | f="#Type-Coercion">coerce</a>.to |
| 46780 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .<code.class="zig"><span.class=" |
| 467a0 | 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. |
| 467c0 | 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 63 6f 64 | class="tok-type">u64</span></cod |
| 467e0 | 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 | e>........</p>.......<p>.......W |
| 46800 | 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 73 20 66 75 | hat.it.looks.like.to.use.this.fu |
| 46820 | 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 68 61 74 20 | nction.varies.depending.on.what. |
| 46840 | 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 6e 65 20 6f | you're.......trying.to.do..One.o |
| 46860 | 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 20 20 20 20 | f.the.following:.......</p>..... |
| 46880 | 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 74 6f 20 70 | ..<ul>.........<li>You.want.to.p |
| 468a0 | 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 20 72 65 74 | rovide.a.default.value.if.it.ret |
| 468c0 | 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 20 3c 6c 69 | urned.an.error.</li>.........<li |
| 468e0 | 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 6e 20 79 6f | >If.it.returned.an.error.then.yo |
| 46900 | 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 72 6f 72 2e | u.want.to.return.the.same.error. |
| 46920 | 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 69 74 68 20 | </li>.........<li>You.know.with. |
| 46940 | 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 6f 74 20 72 | complete.certainty.it.will.not.r |
| 46960 | 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 6e 63 6f 6e | eturn.an.error,.so.want.to.uncon |
| 46980 | 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 20 20 20 20 | ditionally.unwrap.it.</li>...... |
| 469a0 | 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 66 66 65 72 | ...<li>You.want.to.take.a.differ |
| 469c0 | 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 20 65 72 72 | ent.action.for.each.possible.err |
| 469e0 | 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 68 33 20 69 | or.</li>.......</ul>.......<h3.i |
| 46a00 | 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 68 22 3e 63 | d="catch"><a.href="#toc-catch">c |
| 46a20 | 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 3d 22 23 63 | atch</a>.<a.class="hdr".href="#c |
| 46a40 | 61 74 63 68 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 49 66 20 79 | atch">..</a></h3>........<p>If.y |
| 46a60 | 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 20 76 61 6c | ou.want.to.provide.a.default.val |
| 46a80 | 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 20 63 6c 61 73 73 3d | ue,.you.can.use.the.<code.class= |
| 46aa0 | 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 | "zig"><span.class="tok-kw">catch |
| 46ac0 | 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 3a 3c | </span></code>.binary.operator:< |
| 46ae0 | 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 7a 69 67 22 | /p>.......<pre><code.class="zig" |
| 46b00 | 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>. |
| 46b20 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 | <span.class="tok-fn">doAThing</s |
| 46b40 | 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 74 6f 6b 2d 74 79 70 | pan>(str:.[]<span.class="tok-typ |
| 46b60 | 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 |
| 46b80 | 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | ype">void</span>.{.....<span.cla |
| 46ba0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 | ss="tok-kw">const</span>.number. |
| 46bc0 | 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 6b | =.parseU64(str,.<span.class="tok |
| 46be0 | 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 3d | -number">10</span>).<span.class= |
| 46c00 | 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 |
| 46c20 | 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 0a 20 20 20 20 3c 73 | s="tok-number">13</span>;.....<s |
| 46c40 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f | pan.class="tok-comment">//....</ |
| 46c60 | 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 | span>.}</code></pre>.......<p>.. |
| 46c80 | 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 6f 64 65 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | .....In.this.code,.<code.class=" |
| 46ca0 | 7a 69 67 22 3e 6e 75 6d 62 65 72 3c 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 62 65 20 65 71 75 61 6c | zig">number</code>.will.be.equal |
| 46cc0 | 20 74 6f 20 74 68 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 70 61 72 73 65 64 20 73 74 72 69 | .to.the.successfully.parsed.stri |
| 46ce0 | 6e 67 2c 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 61 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 | ng,.or...........a.default.value |
| 46d00 | 20 6f 66 20 31 33 2e 20 54 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 72 69 67 68 74 20 68 61 | .of.13..The.type.of.the.right.ha |
| 46d20 | 6e 64 20 73 69 64 65 20 6f 66 20 74 68 65 20 62 69 6e 61 72 79 20 3c 63 6f 64 65 20 63 6c 61 73 | nd.side.of.the.binary.<code.clas |
| 46d40 | 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 | s="zig"><span.class="tok-kw">cat |
| 46d60 | 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 20 6d 75 73 74 0a 20 | ch</span></code>.operator.must.. |
| 46d80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 20 74 68 65 20 75 6e 77 72 61 70 70 65 64 | .............match.the.unwrapped |
| 46da0 | 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 74 79 70 65 2c 20 6f 72 20 62 65 20 6f 66 20 74 79 70 65 | .error.union.type,.or.be.of.type |
| 46dc0 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .<code.class="zig"><span.class=" |
| 46de0 | 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 3c 2f 63 6f 64 65 3e | tok-type">noreturn</span></code> |
| 46e00 | 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 |
| 46e20 | 3d 22 74 72 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 72 79 22 3e 74 72 79 3c 2f 61 | ="try"><a.href="#toc-try">try</a |
| 46e40 | 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 72 79 22 3e c2 a7 3c | >.<a.class="hdr".href="#try">..< |
| 46e60 | 2f 61 3e 3c 2f 68 33 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 | /a></h3>........<p>Let's.say.you |
| 46e80 | 20 77 61 6e 74 65 64 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 65 72 72 6f 72 20 69 66 20 79 | .wanted.to.return.the.error.if.y |
| 46ea0 | 6f 75 20 67 6f 74 20 6f 6e 65 2c 20 6f 74 68 65 72 77 69 73 65 20 63 6f 6e 74 69 6e 75 65 20 77 | ou.got.one,.otherwise.continue.w |
| 46ec0 | 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 67 69 63 3a 3c 2f 70 | ith.the.......function.logic:</p |
| 46ee0 | 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 7a 69 67 22 3e 3c | >.......<pre><code.class="zig">< |
| 46f00 | 73 70 61 6e 20 63 6c 61 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 |
| 46f20 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 | pan.class="tok-fn">doAThing</spa |
| 46f40 | 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | n>(str:.[]<span.class="tok-type" |
| 46f60 | 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | >u8</span>).!<span.class="tok-ty |
| 46f80 | 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | pe">void</span>.{.....<span.clas |
| 46fa0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d | s="tok-kw">const</span>.number.= |
| 46fc0 | 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 6b 2d | .parseU64(str,.<span.class="tok- |
| 46fe0 | 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 3d 22 | number">10</span>).<span.class=" |
| 47000 | 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e | tok-kw">catch</span>.|err|.<span |
| 47020 | 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 65 72 | .class="tok-kw">return</span>.er |
| 47040 | 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 | r;.....<span.class="tok-comment" |
| 47060 | 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 | >//....</span>.}</code></pre>... |
| 47080 | 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 75 | ....<p>.......There.is.a.shortcu |
| 470a0 | 74 20 66 6f 72 20 74 68 69 73 2e 20 54 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | t.for.this..The.<code.class="zig |
| 470c0 | 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 6e | "><span.class="tok-kw">try</span |
| 470e0 | 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | ></code>.expression:.......</p>. |
| 47100 | 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ......<pre><code.class="zig"><sp |
| 47120 | 61 6e 20 63 6c 61 73 73 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 |
| 47140 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e | n.class="tok-fn">doAThing</span> |
| 47160 | 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 | (str:.[]<span.class="tok-type">u |
| 47180 | 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 |
| 471a0 | 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ">void</span>.{.....<span.class= |
| 471c0 | 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 3c | "tok-kw">const</span>.number.=.< |
| 471e0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 | span.class="tok-kw">try</span>.p |
| 47200 | 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 75 | arseU64(str,.<span.class="tok-nu |
| 47220 | 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | mber">10</span>);.....<span.clas |
| 47240 | 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 7d 3c | s="tok-comment">//....</span>.}< |
| 47260 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f | /code></pre>.......<p>.......<co |
| 47280 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 472a0 | 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 76 61 6c 75 61 74 65 73 20 | kw">try</span></code>.evaluates. |
| 472c0 | 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 65 78 70 72 65 73 73 69 6f 6e 2e 20 49 66 20 69 74 | an.error.union.expression..If.it |
| 472e0 | 20 69 73 20 61 6e 20 65 72 72 6f 72 2c 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 20 66 | .is.an.error,.it.returns.......f |
| 47300 | 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 | rom.the.current.function.with.th |
| 47320 | 65 20 73 61 6d 65 20 65 72 72 6f 72 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 65 78 70 | e.same.error..Otherwise,.the.exp |
| 47340 | 72 65 73 73 69 6f 6e 20 72 65 73 75 6c 74 73 20 69 6e 0a 20 20 20 20 20 20 74 68 65 20 75 6e 77 | ression.results.in.......the.unw |
| 47360 | 72 61 70 70 65 64 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a | rapped.value........</p>........ |
| 47380 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 4d 61 79 62 65 20 79 6f 75 20 6b 6e 6f 77 | ......<p>.........Maybe.you.know |
| 473a0 | 20 77 69 74 68 20 63 6f 6d 70 6c 65 74 65 20 63 65 72 74 61 69 6e 74 79 20 74 68 61 74 20 61 6e | .with.complete.certainty.that.an |
| 473c0 | 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 6c 6c 20 6e 65 76 65 72 20 62 65 20 61 6e 20 65 72 72 | .expression.will.never.be.an.err |
| 473e0 | 6f 72 2e 0a 20 20 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 61 73 65 20 79 6f 75 20 63 61 6e | or..........In.this.case.you.can |
| 47400 | 20 64 6f 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e | .do.this:.......</p>.......<pre> |
| 47420 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 47440 | 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 70 61 72 | ok-kw">const</span>.number.=.par |
| 47460 | 73 65 55 36 34 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f | seU64(<span.class="tok-str">&quo |
| 47480 | 74 3b 31 32 33 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 | t;1234"</span>,.<span.class |
| 474a0 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 | ="tok-number">10</span>).<span.c |
| 474c0 | 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 61 6e | lass="tok-kw">catch</span>.<span |
| 474e0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 | .class="tok-kw">unreachable</spa |
| 47500 | 6e 3e 3b 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 | n>;</code></pre>.......<p>...... |
| 47520 | 20 48 65 72 65 20 77 65 20 6b 6e 6f 77 20 66 6f 72 20 73 75 72 65 20 74 68 61 74 20 22 31 32 33 | .Here.we.know.for.sure.that."123 |
| 47540 | 34 22 20 77 69 6c 6c 20 70 61 72 73 65 20 73 75 63 63 65 73 73 66 75 6c 6c 79 2e 20 53 6f 20 77 | 4".will.parse.successfully..So.w |
| 47560 | 65 20 70 75 74 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | e.put.the.......<code.class="zig |
| 47580 | 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 | "><span.class="tok-kw">unreachab |
| 475a0 | 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 76 61 6c 75 65 20 6f 6e 20 74 68 65 20 72 69 | le</span></code>.value.on.the.ri |
| 475c0 | 67 68 74 20 68 61 6e 64 20 73 69 64 65 2e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | ght.hand.side..<code.class="zig" |
| 475e0 | 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 |
| 47600 | 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 67 65 6e 65 72 61 74 65 73 0a 20 20 20 20 20 20 | e</span></code>.generates....... |
| 47620 | 61 20 70 61 6e 69 63 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 | a.panic.in.Debug.and.ReleaseSafe |
| 47640 | 20 6d 6f 64 65 73 20 61 6e 64 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 6e | .modes.and.undefined.behavior.in |
| 47660 | 20 52 65 6c 65 61 73 65 46 61 73 74 20 6d 6f 64 65 2e 20 53 6f 2c 20 77 68 69 6c 65 20 77 65 27 | .ReleaseFast.mode..So,.while.we' |
| 47680 | 72 65 20 64 65 62 75 67 67 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 61 70 70 6c 69 63 61 74 69 | re.debugging.the.......applicati |
| 476a0 | 6f 6e 2c 20 69 66 20 74 68 65 72 65 20 3c 65 6d 3e 77 61 73 3c 2f 65 6d 3e 20 61 20 73 75 72 70 | on,.if.there.<em>was</em>.a.surp |
| 476c0 | 72 69 73 65 20 65 72 72 6f 72 20 68 65 72 65 2c 20 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e | rise.error.here,.the.application |
| 476e0 | 20 77 6f 75 6c 64 20 63 72 61 73 68 0a 20 20 20 20 20 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 | .would.crash.......appropriately |
| 47700 | 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 69 6e | ........</p>.......<p>.......Fin |
| 47720 | 61 6c 6c 79 2c 20 79 6f 75 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 74 61 6b 65 20 61 20 64 69 66 | ally,.you.may.want.to.take.a.dif |
| 47740 | 66 65 72 65 6e 74 20 61 63 74 69 6f 6e 20 66 6f 72 20 65 76 65 72 79 20 73 69 74 75 61 74 69 6f | ferent.action.for.every.situatio |
| 47760 | 6e 2e 20 46 6f 72 20 74 68 61 74 2c 20 77 65 20 63 6f 6d 62 69 6e 65 0a 20 20 20 20 20 20 74 68 | n..For.that,.we.combine.......th |
| 47780 | 65 20 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 | e.<a.href="#if">if</a>.and.<a.hr |
| 477a0 | 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 65 73 73 69 | ef="#switch">switch</a>.expressi |
| 477c0 | 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 | on:.......</p>.......<pre><code. |
| 477e0 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | class="zig"><span.class="tok-kw" |
| 47800 | 3e 66 6e 3c 2f 73 70 61 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"> |
| 47820 | 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 73 74 72 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 | doAThing</span>(str:.[]<span.cla |
| 47840 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 | ss="tok-type">u8</span>).<span.c |
| 47860 | 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | lass="tok-type">void</span>.{... |
| 47880 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e | ..<span.class="tok-kw">if</span> |
| 478a0 | 20 28 70 61 72 73 65 55 36 34 28 73 74 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | .(parseU64(str,.<span.class="tok |
| 478c0 | 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 29 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 0a | -number">10</span>)).|number|.{. |
| 478e0 | 20 20 20 20 20 20 20 20 64 6f 53 6f 6d 65 74 68 69 6e 67 57 69 74 68 4e 75 6d 62 65 72 28 6e 75 | ........doSomethingWithNumber(nu |
| 47900 | 6d 62 65 72 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | mber);.....}.<span.class="tok-kw |
| 47920 | 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ">else</span>.|err|.<span.class= |
| 47940 | 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 0a 20 | "tok-kw">switch</span>.(err).{.. |
| 47960 | 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f | .......<span.class="tok-kw">erro |
| 47980 | 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c 6f 77 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 | r</span>.Overflow.=>.{....... |
| 479a0 | 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"> |
| 479c0 | 2f 2f 20 68 61 6e 64 6c 65 20 6f 76 65 72 66 6c 6f 77 2e 2e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 | //.handle.overflow...</span>.... |
| 479e0 | 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | .....},.........<span.class="tok |
| 47a00 | 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 65 20 70 72 6f 6d 69 73 65 20 74 68 61 74 20 49 6e 76 | -comment">//.we.promise.that.Inv |
| 47a20 | 61 6c 69 64 43 68 61 72 20 77 6f 6e 27 74 20 68 61 70 70 65 6e 20 28 6f 72 20 63 72 61 73 68 20 | alidChar.won't.happen.(or.crash. |
| 47a40 | 69 6e 20 64 65 62 75 67 20 6d 6f 64 65 20 69 66 20 69 74 20 64 6f 65 73 29 3c 2f 73 70 61 6e 3e | in.debug.mode.if.it.does)</span> |
| 47a60 | 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 | .........<span.class="tok-kw">er |
| 47a80 | 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 61 6c 69 64 43 68 61 72 20 3d 26 67 74 3b 20 3c 73 70 | ror</span>.InvalidChar.=>.<sp |
| 47aa0 | 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 |
| 47ac0 | 70 61 6e 3e 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 | pan>,.....}.}</code></pre>...... |
| 47ae0 | 20 3c 68 33 20 69 64 3d 22 65 72 72 64 65 66 65 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 | .<h3.id="errdefer"><a.href="#toc |
| 47b00 | 2d 65 72 72 64 65 66 65 72 22 3e 65 72 72 64 65 66 65 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 | -errdefer">errdefer</a>.<a.class |
| 47b20 | 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 64 65 66 65 72 22 3e c2 a7 3c 2f 61 3e 3c 2f | ="hdr".href="#errdefer">..</a></ |
| 47b40 | 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6f 74 68 65 72 20 63 | h3>........<p>.......The.other.c |
| 47b60 | 6f 6d 70 6f 6e 65 6e 74 20 74 6f 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 20 69 73 20 64 65 | omponent.to.error.handling.is.de |
| 47b80 | 66 65 72 20 73 74 61 74 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f | fer.statements........In.additio |
| 47ba0 | 6e 20 74 6f 20 61 6e 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 | n.to.an.unconditional.<a.href="# |
| 47bc0 | 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 2c 20 5a 69 67 20 68 61 73 20 3c 63 6f 64 65 20 | defer">defer</a>,.Zig.has.<code. |
| 47be0 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | class="zig"><span.class="tok-kw" |
| 47c00 | 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 77 | >errdefer</span></code>,.......w |
| 47c20 | 68 69 63 68 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 20 64 65 66 65 72 72 65 64 20 65 78 70 72 | hich.evaluates.the.deferred.expr |
| 47c40 | 65 73 73 69 6f 6e 20 6f 6e 20 62 6c 6f 63 6b 20 65 78 69 74 20 70 61 74 68 20 69 66 20 61 6e 64 | ession.on.block.exit.path.if.and |
| 47c60 | 20 6f 6e 6c 79 20 69 66 0a 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 | .only.if.......the.function.retu |
| 47c80 | 72 6e 65 64 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 66 72 6f 6d 20 74 68 65 20 62 6c 6f 63 | rned.with.an.error.from.the.bloc |
| 47ca0 | 6b 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 | k........</p>.......<p>.......Ex |
| 47cc0 | 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 70 72 65 3e 3c 63 6f | ample:.......</p>.......<pre><co |
| 47ce0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 47d00 | 6b 77 22 3e 66 6e 3c 2f 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 |
| 47d20 | 6e 22 3e 63 72 65 61 74 65 46 6f 6f 3c 2f 73 70 61 6e 3e 28 70 61 72 61 6d 3a 20 3c 73 70 61 6e | n">createFoo</span>(param:.<span |
| 47d40 | 20 63 6c 61 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 46 | .class="tok-type">i32</span>).!F |
| 47d60 | 6f 6f 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | oo.{.....<span.class="tok-kw">co |
| 47d80 | 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 73 73 3d 22 74 6f | nst</span>.foo.=.<span.class="to |
| 47da0 | 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 63 61 74 65 46 6f | k-kw">try</span>.tryToAllocateFo |
| 47dc0 | 6f 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e | o();.....<span.class="tok-commen |
| 47de0 | 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. |
| 47e00 | 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 |
| 47e20 | 69 6f 6e 20 66 61 69 6c 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | ion.fails.</span>.....<span.clas |
| 47e40 | 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 75 74 20 77 65 20 77 61 6e 74 20 74 | s="tok-comment">//.but.we.want.t |
| 47e60 | 6f 20 72 65 74 75 72 6e 20 69 74 20 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 75 63 63 | o.return.it.if.the.function.succ |
| 47e80 | 65 65 64 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | eeds.</span>.....<span.class="to |
| 47ea0 | 6b 2d 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 64 65 61 6c 6c 6f 63 61 74 65 | k-kw">errdefer</span>.deallocate |
| 47ec0 | 46 6f 6f 28 66 6f 6f 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | Foo(foo);......<span.class="tok- |
| 47ee0 | 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 6d 70 5f 62 75 66 20 3d 20 61 6c 6c 6f 63 | kw">const</span>.tmp_buf.=.alloc |
| 47f00 | 61 74 65 54 6d 70 42 75 66 66 65 72 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ateTmpBuffer().<span.class="tok- |
| 47f20 | 6b 77 22 3e 6f 72 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | kw">orelse</span>.<span.class="t |
| 47f40 | 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 |
| 47f60 | 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f | ="tok-kw">error</span>.OutOfMemo |
| 47f80 | 72 79 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 | ry;.....<span.class="tok-comment |
| 47fa0 | 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 61 72 | ">//.tmp_buf.is.truly.a.temporar |
| 47fc0 | 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 6e 74 | y.resource,.and.we.for.sure.want |
| 47fe0 | 20 74 6f 20 63 6c 65 61 6e 20 69 74 20 75 70 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e | .to.clean.it.up</span>.....<span |
| 48000 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 65 66 6f 72 65 20 74 | .class="tok-comment">//.before.t |
| 48020 | 68 69 73 20 62 6c 6f 63 6b 20 6c 65 61 76 65 73 20 73 63 6f 70 65 3c 2f 73 70 61 6e 3e 0a 20 20 | his.block.leaves.scope</span>... |
| 48040 | 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 |
| 48060 | 61 6e 3e 20 64 65 61 6c 6c 6f 63 61 74 65 54 6d 70 42 75 66 66 65 72 28 74 6d 70 5f 62 75 66 29 | an>.deallocateTmpBuffer(tmp_buf) |
| 48080 | 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f | ;......<span.class="tok-kw">if</ |
| 480a0 | 73 70 61 6e 3e 20 28 70 61 72 61 6d 20 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | span>.(param.>.<span.class="t |
| 480c0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 33 33 37 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c | ok-number">1337</span>).<span.cl |
| 480e0 | 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 |
| 48100 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 49 6e 76 | .class="tok-kw">error</span>.Inv |
| 48120 | 61 6c 69 64 50 61 72 61 6d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | alidParam;......<span.class="tok |
| 48140 | 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 65 72 65 20 74 68 65 20 65 72 72 64 65 66 65 72 20 77 | -comment">//.here.the.errdefer.w |
| 48160 | 69 6c 6c 20 6e 6f 74 20 72 75 6e 20 73 69 6e 63 65 20 77 65 27 72 65 20 72 65 74 75 72 6e 69 6e | ill.not.run.since.we're.returnin |
| 48180 | 67 20 73 75 63 63 65 73 73 20 66 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 3c 2f 73 70 | g.success.from.the.function.</sp |
| 481a0 | 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 | an>.....<span.class="tok-comment |
| 481c0 | 22 3e 2f 2f 20 62 75 74 20 74 68 65 20 64 65 66 65 72 20 77 69 6c 6c 20 72 75 6e 21 3c 2f 73 70 | ">//.but.the.defer.will.run!</sp |
| 481e0 | 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 | an>.....<span.class="tok-kw">ret |
| 48200 | 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 | urn</span>.foo;.}</code></pre>.. |
| 48220 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6e 65 61 74 20 74 68 69 6e 67 20 61 62 | .....<p>.......The.neat.thing.ab |
| 48240 | 6f 75 74 20 74 68 69 73 20 69 73 20 74 68 61 74 20 79 6f 75 20 67 65 74 20 72 6f 62 75 73 74 20 | out.this.is.that.you.get.robust. |
| 48260 | 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 20 77 69 74 68 6f 75 74 0a 20 20 20 20 20 20 74 68 65 | error.handling.without.......the |
| 48280 | 20 76 65 72 62 6f 73 69 74 79 20 61 6e 64 20 63 6f 67 6e 69 74 69 76 65 20 6f 76 65 72 68 65 61 | .verbosity.and.cognitive.overhea |
| 482a0 | 64 20 6f 66 20 74 72 79 69 6e 67 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 65 76 65 72 79 20 65 | d.of.trying.to.make.sure.every.e |
| 482c0 | 78 69 74 20 70 61 74 68 0a 20 20 20 20 20 20 69 73 20 63 6f 76 65 72 65 64 2e 20 54 68 65 20 64 | xit.path.......is.covered..The.d |
| 482e0 | 65 61 6c 6c 6f 63 61 74 69 6f 6e 20 63 6f 64 65 20 69 73 20 61 6c 77 61 79 73 20 64 69 72 65 63 | eallocation.code.is.always.direc |
| 48300 | 74 6c 79 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 68 65 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 63 6f 64 | tly.following.the.allocation.cod |
| 48320 | 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>.. |
| 48340 | 20 20 20 20 20 41 20 63 6f 75 70 6c 65 20 6f 66 20 6f 74 68 65 72 20 74 69 64 62 69 74 73 20 61 | .....A.couple.of.other.tidbits.a |
| 48360 | 62 6f 75 74 20 65 72 72 6f 72 20 68 61 6e 64 6c 69 6e 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | bout.error.handling:.......</p>. |
| 48380 | 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 73 65 20 70 72 69 | ......<ul>.........<li>These.pri |
| 483a0 | 6d 69 74 69 76 65 73 20 67 69 76 65 20 65 6e 6f 75 67 68 20 65 78 70 72 65 73 73 69 76 65 6e 65 | mitives.give.enough.expressivene |
| 483c0 | 73 73 20 74 68 61 74 20 69 74 27 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 70 72 61 63 74 69 63 61 | ss.that.it's.completely.practica |
| 483e0 | 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 6f 20 68 61 76 65 20 66 61 69 6c 69 6e 67 20 74 6f | l.............to.have.failing.to |
| 48400 | 20 63 68 65 63 6b 20 66 6f 72 20 61 6e 20 65 72 72 6f 72 20 62 65 20 61 20 63 6f 6d 70 69 6c 65 | .check.for.an.error.be.a.compile |
| 48420 | 20 65 72 72 6f 72 2e 20 49 66 20 79 6f 75 20 72 65 61 6c 6c 79 20 77 61 6e 74 0a 20 20 20 20 20 | .error..If.you.really.want...... |
| 48440 | 20 20 20 20 20 20 20 74 6f 20 69 67 6e 6f 72 65 20 74 68 65 20 65 72 72 6f 72 2c 20 79 6f 75 20 | .......to.ignore.the.error,.you. |
| 48460 | 63 61 6e 20 61 64 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | can.add.<code.class="zig"><span. |
| 48480 | 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 61 | class="tok-kw">catch</span>.<spa |
| 484a0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 | n.class="tok-kw">unreachable</sp |
| 484c0 | 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 20 74 | an></code>.and.............get.t |
| 484e0 | 68 65 20 61 64 64 65 64 20 62 65 6e 65 66 69 74 20 6f 66 20 63 72 61 73 68 69 6e 67 20 69 6e 20 | he.added.benefit.of.crashing.in. |
| 48500 | 44 65 62 75 67 20 61 6e 64 20 52 65 6c 65 61 73 65 53 61 66 65 20 6d 6f 64 65 73 20 69 66 20 79 | Debug.and.ReleaseSafe.modes.if.y |
| 48520 | 6f 75 72 20 61 73 73 75 6d 70 74 69 6f 6e 20 77 61 73 20 77 72 6f 6e 67 2e 0a 20 20 20 20 20 20 | our.assumption.was.wrong........ |
| 48540 | 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 53 | ..</li>.........<li>...........S |
| 48560 | 69 6e 63 65 20 5a 69 67 20 75 6e 64 65 72 73 74 61 6e 64 73 20 65 72 72 6f 72 20 74 79 70 65 73 | ince.Zig.understands.error.types |
| 48580 | 2c 20 69 74 20 63 61 6e 20 70 72 65 2d 77 65 69 67 68 74 20 62 72 61 6e 63 68 65 73 20 69 6e 20 | ,.it.can.pre-weight.branches.in. |
| 485a0 | 66 61 76 6f 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 65 72 72 6f 72 73 20 6e 6f 74 20 6f 63 | favor.of...........errors.not.oc |
| 485c0 | 63 75 72 72 69 6e 67 2e 20 4a 75 73 74 20 61 20 73 6d 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 74 69 | curring..Just.a.small.optimizati |
| 485e0 | 6f 6e 20 62 65 6e 65 66 69 74 20 74 68 61 74 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 | on.benefit.that.is.not.available |
| 48600 | 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 6f 74 68 65 72 20 6c 61 6e 67 75 61 67 65 73 2e 0a 20 | ...........in.other.languages... |
| 48620 | 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c | .......</li>.......</ul>.......< |
| 48640 | 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= |
| 48660 | 22 23 64 65 66 65 72 22 3e 64 65 66 65 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 | "#defer">defer</a></li>.<li><a.h |
| 48680 | 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 | ref="#if">if</a></li>.<li><a.hre |
| 486a0 | 66 3d 22 23 73 77 69 74 63 68 22 3e 73 77 69 74 63 68 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c | f="#switch">switch</a></li>.</ul |
| 486c0 | 3e 0a 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 20 69 73 20 63 | >.........<p>An.error.union.is.c |
| 486e0 | 72 65 61 74 65 64 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | reated.with.the.<code.class="zig |
| 48700 | 22 3e 21 3c 2f 63 6f 64 65 3e 20 62 69 6e 61 72 79 20 6f 70 65 72 61 74 6f 72 2e 0a 20 20 20 20 | ">!</code>.binary.operator...... |
| 48720 | 20 20 59 6f 75 20 63 61 6e 20 75 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 72 65 66 6c 65 | ..You.can.use.compile-time.refle |
| 48740 | 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f | ction.to.access.the.child.type.o |
| 48760 | 66 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 | f.an.error.union:</p>.......<p.c |
| 48780 | 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f | lass="file">test.zig</p><pre><co |
| 487a0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 487c0 | 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 | kw">const</span>.assert.=.<span. |
| 487e0 | 63 6c 61 73 73 3d 22 74 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 |
| 48800 | 6e 3e 28 3c 73 70 61 6e 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">"s |
| 48820 | 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a | td"</span>).debug.assert;.. |
| 48840 | 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> |
| 48860 | 20 3c 73 70 61 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 | .<span.class="tok-str">"err |
| 48880 | 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 | or.union"</span>.{.....<spa |
| 488a0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a | n.class="tok-kw">var</span>.foo: |
| 488c0 | 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 |
| 488e0 | 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 | </span>!<span.class="tok-type">i |
| 48900 | 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c | 32</span>.=.<span.class="tok-nul |
| 48920 | 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 | l">undefined</span>;......<span. |
| 48940 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 65 72 63 65 20 66 72 | class="tok-comment">//.Coerce.fr |
| 48960 | 6f 6d 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 3a | om.child.type.of.an.error.union: |
| 48980 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 66 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | </span>.....foo.=.<span.class="t |
| 489a0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 | ok-number">1234</span>;......<sp |
| 489c0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 43 6f 65 72 63 65 | an.class="tok-comment">//.Coerce |
| 489e0 | 20 66 72 6f 6d 20 61 6e 20 65 72 72 6f 72 20 73 65 74 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 66 | .from.an.error.set:</span>.....f |
| 48a00 | 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 72 72 6f 72 3c | oo.=.<span.class="tok-kw">error< |
| 48a20 | 2f 73 70 61 6e 3e 2e 53 6f 6d 65 45 72 72 6f 72 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | /span>.SomeError;......<span.cla |
| 48a40 | 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 65 20 63 6f 6d 70 69 6c 65 2d | ss="tok-comment">//.Use.compile- |
| 48a60 | 74 69 6d 65 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 70 61 | time.reflection.to.access.the.pa |
| 48a80 | 79 6c 6f 61 64 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 3a 3c 2f 73 | yload.type.of.an.error.union:</s |
| 48aa0 | 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | pan>.....<span.class="tok-kw">co |
| 48ac0 | 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 | mptime</span>.assert(<span.class |
| 48ae0 | 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 66 6f | ="tok-builtin">@TypeOf</span>(fo |
| 48b00 | 6f 29 2e 50 61 79 6c 6f 61 64 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | o).Payload.==.<span.class="tok-t |
| 48b20 | 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | ype">i32</span>);......<span.cla |
| 48b40 | 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 55 73 65 20 63 6f 6d 70 69 6c 65 2d | ss="tok-comment">//.Use.compile- |
| 48b60 | 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 65 72 | time.reflection.to.access.the.er |
| 48b80 | 72 6f 72 20 73 65 74 20 74 79 70 65 20 6f 66 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 3a 3c | ror.set.type.of.an.error.union:< |
| 48ba0 | 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | /span>.....<span.class="tok-kw"> |
| 48bc0 | 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 | comptime</span>.assert(<span.cla |
| 48be0 | 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>( |
| 48c00 | 66 6f 6f 29 2e 45 72 72 6f 72 53 65 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | foo).ErrorSet.==.<span.class="to |
| 48c20 | 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 | k-type">anyerror</span>);.}</cod |
| 48c40 | 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 | e></pre><pre><code.class="shell" |
| 48c60 | 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 | >$.zig.test.test.zig.1/1.test.&q |
| 48c80 | 75 6f 74 3b 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 | uot;error.union"...OK.All.1 |
| 48ca0 | 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 | .tests.passed..</code></pre>.... |
| 48cc0 | 20 20 20 20 3c 68 33 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 | ....<h3.id="Merging-Error-Sets"> |
| 48ce0 | 3c 61 20 68 72 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 | <a.href="#toc-Merging-Error-Sets |
| 48d00 | 22 3e 4d 65 72 67 69 6e 67 20 45 72 72 6f 72 20 53 65 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 | ">Merging.Error.Sets</a>.<a.clas |
| 48d20 | 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4d 65 72 67 69 6e 67 2d 45 72 72 6f 72 2d 53 65 74 | s="hdr".href="#Merging-Error-Set |
| 48d40 | 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>....... |
| 48d60 | 55 73 65 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 7c 7c 3c 2f 63 6f | Use.the.<code.class="zig">||</co |
| 48d80 | 64 65 3e 20 6f 70 65 72 61 74 6f 72 20 74 6f 20 6d 65 72 67 65 20 74 77 6f 20 65 72 72 6f 72 20 | de>.operator.to.merge.two.error. |
| 48da0 | 73 65 74 73 20 74 6f 67 65 74 68 65 72 2e 20 54 68 65 20 72 65 73 75 6c 74 69 6e 67 0a 20 20 20 | sets.together..The.resulting.... |
| 48dc0 | 20 20 20 65 72 72 6f 72 20 73 65 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 65 72 72 6f 72 73 | ...error.set.contains.the.errors |
| 48de0 | 20 6f 66 20 62 6f 74 68 20 65 72 72 6f 72 20 73 65 74 73 2e 20 44 6f 63 20 63 6f 6d 6d 65 6e 74 | .of.both.error.sets..Doc.comment |
| 48e00 | 73 20 66 72 6f 6d 20 74 68 65 20 6c 65 66 74 2d 68 61 6e 64 0a 20 20 20 20 20 20 73 69 64 65 20 | s.from.the.left-hand.......side. |
| 48e20 | 6f 76 65 72 72 69 64 65 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 73 20 66 72 6f 6d 20 74 68 65 20 72 | override.doc.comments.from.the.r |
| 48e40 | 69 67 68 74 2d 68 61 6e 64 20 73 69 64 65 2e 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c | ight-hand.side..In.this.example, |
| 48e60 | 20 74 68 65 20 64 6f 63 0a 20 20 20 20 20 20 63 6f 6d 6d 65 6e 74 73 20 66 6f 72 20 3c 63 6f 64 | .the.doc.......comments.for.<cod |
| 48e80 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 43 2e 50 61 74 68 4e 6f 74 46 6f 75 6e 64 3c 2f 63 6f | e.class="zig">C.PathNotFound</co |
| 48ea0 | 64 65 3e 20 69 73 20 3c 63 6f 64 65 3e 41 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 3c 2f 63 6f 64 65 | de>.is.<code>A.doc.comment</code |
| 48ec0 | 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 | >........</p>.......<p>.......Th |
| 48ee0 | 69 73 20 69 73 20 65 73 70 65 63 69 61 6c 6c 79 20 75 73 65 66 75 6c 20 66 6f 72 20 66 75 6e 63 | is.is.especially.useful.for.func |
| 48f00 | 74 69 6f 6e 73 20 77 68 69 63 68 20 72 65 74 75 72 6e 20 64 69 66 66 65 72 65 6e 74 20 65 72 72 | tions.which.return.different.err |
| 48f20 | 6f 72 20 73 65 74 73 20 64 65 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 6f 6e 20 3c 61 20 68 72 | or.sets.depending.......on.<a.hr |
| 48f40 | 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 62 72 61 6e | ef="#comptime">comptime</a>.bran |
| 48f60 | 63 68 65 73 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 5a 69 67 20 73 74 61 6e 64 | ches..For.example,.the.Zig.stand |
| 48f80 | 61 72 64 20 6c 69 62 72 61 72 79 20 75 73 65 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 | ard.library.uses.......<code.cla |
| 48fa0 | 73 73 3d 22 7a 69 67 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 | ss="zig">LinuxFileOpenError.||.W |
| 48fc0 | 69 6e 64 6f 77 73 46 69 6c 65 4f 70 65 6e 45 72 72 6f 72 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 74 | indowsFileOpenError</code>.for.t |
| 48fe0 | 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 20 20 20 66 69 | he.error.set.of.opening.......fi |
| 49000 | 6c 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 | les........</p>.......<p.class=" |
| 49020 | 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | file">test.zig</p><pre><code.cla |
| 49040 | 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | ss="zig"><span.class="tok-kw">co |
| 49060 | 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | nst</span>.A.=.<span.class="tok- |
| 49080 | 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 4e 6f 74 44 69 72 2c 0a 0a 20 | kw">error</span>{.....NotDir,... |
| 490a0 | 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f | ...<span.class="tok-comment">/// |
| 490c0 | 20 41 20 64 6f 63 20 63 6f 6d 6d 65 6e 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 50 61 74 68 4e 6f | .A.doc.comment</span>.....PathNo |
| 490e0 | 74 46 6f 75 6e 64 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | tFound,.};.<span.class="tok-kw"> |
| 49100 | 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | const</span>.B.=.<span.class="to |
| 49120 | 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 4f 75 74 4f 66 4d 65 6d | k-kw">error</span>{.....OutOfMem |
| 49140 | 6f 72 79 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 | ory,......<span.class="tok-comme |
| 49160 | 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 0a 20 20 20 | nt">///.B.doc.comment</span>.... |
| 49180 | 20 50 61 74 68 4e 6f 74 46 6f 75 6e 64 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .PathNotFound,.};..<span.class=" |
| 491a0 | 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 43 20 3d 20 41 20 7c 7c 20 42 3b | tok-kw">const</span>.C.=.A.||.B; |
| 491c0 | 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e | ..<span.class="tok-kw">fn</span> |
| 491e0 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e | .<span.class="tok-fn">foo</span> |
| 49200 | 28 29 20 43 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 | ().C!<span.class="tok-type">void |
| 49220 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | </span>.{.....<span.class="tok-k |
| 49240 | 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 |
| 49260 | 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4e 6f 74 44 69 72 3b 0a 7d 0a 0a 3c 73 | k-kw">error</span>.NotDir;.}..<s |
| 49280 | 70 61 6e 20 63 6c 61 73 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>.< |
| 492a0 | 73 70 61 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 72 67 65 | span.class="tok-str">"merge |
| 492c0 | 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 0a 20 20 20 20 3c | .error.sets"</span>.{.....< |
| 492e0 | 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 66 | span.class="tok-kw">if</span>.(f |
| 49300 | 6f 6f 28 29 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | oo()).{.........<span.class="tok |
| 49320 | 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c | -builtin">@panic</span>(<span.cl |
| 49340 | 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 6e 65 78 70 65 63 74 65 64 26 71 | ass="tok-str">"unexpected&q |
| 49360 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | uot;</span>);.....}.<span.class= |
| 49380 | 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e | "tok-kw">else</span>.|err|.<span |
| 493a0 | 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 65 | .class="tok-kw">switch</span>.(e |
| 493c0 | 72 72 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | rr).{.........<span.class="tok-k |
| 493e0 | 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 20 3d 26 67 74 | w">error</span>.OutOfMemory.=> |
| 49400 | 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 6e | ;.<span.class="tok-builtin">@pan |
| 49420 | 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 3e | ic</span>(<span.class="tok-str"> |
| 49440 | 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 0a | "unexpected"</span>),. |
| 49460 | 20 20 20 20 20 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 | ........<span.class="tok-kw">err |
| 49480 | 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 74 3b 20 3c 73 70 | or</span>.PathNotFound.=>.<sp |
| 494a0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 | an.class="tok-builtin">@panic</s |
| 494c0 | 70 61 6e 3e 28 3c 73 70 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">" |
| 494e0 | 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 0a 20 20 20 20 20 | ;unexpected"</span>),...... |
| 49500 | 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 |
| 49520 | 70 61 6e 3e 2e 4e 6f 74 44 69 72 20 3d 26 67 74 3b 20 7b 7d 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 | pan>.NotDir.=>.{},.....}.}</c |
| 49540 | 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c | ode></pre><pre><code.class="shel |
| 49560 | 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 | l">$.zig.test.test.zig.1/1.test. |
| 49580 | 26 71 75 6f 74 3b 6d 65 72 67 65 20 65 72 72 6f 72 20 73 65 74 73 26 71 75 6f 74 3b 2e 2e 2e 4f | "merge.error.sets"...O |
| 495a0 | 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 | K.All.1.tests.passed..</code></p |
| 495c0 | 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6e 66 65 72 72 | re>...............<h3.id="Inferr |
| 495e0 | 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 49 6e 66 | ed-Error-Sets"><a.href="#toc-Inf |
| 49600 | 65 72 72 65 64 2d 45 72 72 6f 72 2d 53 65 74 73 22 3e 49 6e 66 65 72 72 65 64 20 45 72 72 6f 72 | erred-Error-Sets">Inferred.Error |
| 49620 | 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 3d 22 23 | .Sets</a>.<a.class="hdr".href="# |
| 49640 | 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 68 33 3e | Inferred-Error-Sets">..</a></h3> |
| 49660 | 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 79 20 66 | ........<p>.......Because.many.f |
| 49680 | 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 69 62 6c | unctions.in.Zig.return.a.possibl |
| 496a0 | 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 6e 67 20 | e.error,.Zig.supports.inferring. |
| 496c0 | 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 20 74 68 | the.error.set........To.infer.th |
| 496e0 | 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 75 73 65 20 | e.error.set.for.a.function,.use. |
| 49700 | 74 68 69 73 20 73 79 6e 74 61 78 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 3c 70 20 63 6c 61 73 73 | this.syntax:.......</p>.<p.class |
| 49720 | 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | ="file">test.zig</p><pre><code.c |
| 49740 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d | lass="zig"><span.class="tok-comm |
| 49760 | 65 6e 74 22 3e 2f 2f 20 57 69 74 68 20 61 6e 20 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 | ent">//.With.an.inferred.error.s |
| 49780 | 65 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 | et</span>.<span.class="tok-kw">p |
| 497a0 | 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 |
| 497c0 | 6e 3c 2f 73 70 61 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 | n</span>.<span.class="tok-fn">ad |
| 497e0 | 64 5f 69 6e 66 65 72 72 65 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | d_inferred</span>(<span.class="t |
| 49800 | 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. |
| 49820 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a | class="tok-type">type</span>,.a: |
| 49840 | 20 54 2c 20 62 3a 20 54 29 20 21 54 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .T,.b:.T).!T.{.....<span.class=" |
| 49860 | 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 6e 73 77 65 72 3a 20 54 20 3d 20 3c | tok-kw">var</span>.answer:.T.=.< |
| 49880 | 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< |
| 498a0 | 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | /span>;.....<span.class="tok-kw" |
| 498c0 | 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- |
| 498e0 | 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 2d | kw">if</span>.(<span.class="tok- |
| 49900 | 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 3e | builtin">@addWithOverflow</span> |
| 49920 | 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 6c | (T,.a,.b,.&answer)).<span.cl |
| 49940 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 76 65 72 66 6c | ass="tok-kw">error</span>.Overfl |
| 49960 | 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 70 | ow.<span.class="tok-kw">else</sp |
| 49980 | 61 6e 3e 20 61 6e 73 77 65 72 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | an>.answer;.}..<span.class="tok- |
| 499a0 | 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 57 69 74 68 20 61 6e 20 65 78 70 6c 69 63 69 74 20 65 72 72 | comment">//.With.an.explicit.err |
| 499c0 | 6f 72 20 73 65 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | or.set</span>.<span.class="tok-k |
| 499e0 | 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 |
| 49a00 | 77 22 3e 66 6e 3c 2f 73 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 |
| 49a20 | 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 63 6c 61 73 | ">add_explicit</span>(<span.clas |
| 49a40 | 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 |
| 49a60 | 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> |
| 49a80 | 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 45 72 72 6f 72 21 54 20 7b 0a 20 20 20 20 3c 73 70 61 | ,.a:.T,.b:.T).Error!T.{.....<spa |
| 49aa0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 6e 73 77 | n.class="tok-kw">var</span>.answ |
| 49ac0 | 65 72 3a 20 54 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 | er:.T.=.<span.class="tok-null">u |
| 49ae0 | 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ndefined</span>;.....<span.class |
| 49b00 | 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 |
| 49b20 | 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 |
| 49b40 | 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 |
| 49b60 | 6f 77 3c 2f 73 70 61 6e 3e 28 54 2c 20 61 2c 20 62 2c 20 26 61 6d 70 3b 61 6e 73 77 65 72 29 29 | ow</span>(T,.a,.b,.&answer)) |
| 49b80 | 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 |
| 49ba0 | 6e 3e 2e 4f 76 65 72 66 6c 6f 77 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | n>.Overflow.<span.class="tok-kw" |
| 49bc0 | 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 61 6e 73 77 65 72 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c | >else</span>.answer;.}..<span.cl |
| 49be0 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 72 72 6f 72 20 | ass="tok-kw">const</span>.Error. |
| 49c00 | 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 | =.<span.class="tok-kw">error</sp |
| 49c20 | 61 6e 3e 20 7b 0a 20 20 20 20 4f 76 65 72 66 6c 6f 77 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c | an>.{.....Overflow,.};..<span.cl |
| 49c40 | 61 73 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.=. |
| 49c60 | 3c 73 70 61 6e 20 63 6c 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 |
| 49c80 | 74 3c 2f 73 70 61 6e 3e 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">& |
| 49ca0 | 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 | quot;std"</span>);..<span.c |
| 49cc0 | 6c 61 73 73 3d 22 74 6f 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. |
| 49ce0 | 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 20 65 | class="tok-str">"inferred.e |
| 49d00 | 72 72 6f 72 20 73 65 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 | rror.set"</span>.{.....<spa |
| 49d20 | 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 64 64 5f | n.class="tok-kw">if</span>.(add_ |
| 49d40 | 69 6e 66 65 72 72 65 64 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | inferred(<span.class="tok-type"> |
| 49d60 | 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 |
| 49d80 | 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | er">255</span>,.<span.class="tok |
| 49da0 | 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 29 20 7c 5f 7c 20 3c 73 70 61 6e 20 63 6c | -number">1</span>)).|_|.<span.cl |
| 49dc0 | 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 20 | ass="tok-kw">unreachable</span>. |
| 49de0 | 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> |
| 49e00 | 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 | .|err|.<span.class="tok-kw">swit |
| 49e20 | 63 68 3c 2f 73 70 61 6e 3e 20 28 65 72 72 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | ch</span>.(err).{.........<span. |
| 49e40 | 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 |
| 49e60 | 66 6c 6f 77 20 3d 26 67 74 3b 20 7b 7d 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | flow.=>.{},.<span.class="tok- |
| 49e80 | 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 6b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 7d 0a 7d 3c 2f 63 | comment">//.ok</span>.....}.}</c |
| 49ea0 | 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c | ode></pre><pre><code.class="shel |
| 49ec0 | 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 | l">$.zig.test.test.zig.1/1.test. |
| 49ee0 | 26 71 75 6f 74 3b 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 26 71 75 6f 74 3b 2e 2e | "inferred.error.set".. |
| 49f00 | 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c | .OK.All.1.tests.passed..</code>< |
| 49f20 | 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 20 66 75 | /pre>........<p>.......When.a.fu |
| 49f40 | 6e 63 74 69 6f 6e 20 68 61 73 20 61 6e 20 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 | nction.has.an.inferred.error.set |
| 49f60 | 2c 20 74 68 61 74 20 66 75 6e 63 74 69 6f 6e 20 62 65 63 6f 6d 65 73 20 67 65 6e 65 72 69 63 20 | ,.that.function.becomes.generic. |
| 49f80 | 61 6e 64 20 74 68 75 73 20 69 74 20 62 65 63 6f 6d 65 73 0a 20 20 20 20 20 20 74 72 69 63 6b 69 | and.thus.it.becomes.......tricki |
| 49fa0 | 65 72 20 74 6f 20 64 6f 20 63 65 72 74 61 69 6e 20 74 68 69 6e 67 73 20 77 69 74 68 20 69 74 2c | er.to.do.certain.things.with.it, |
| 49fc0 | 20 73 75 63 68 20 61 73 20 6f 62 74 61 69 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 70 6f 69 6e 74 | .such.as.obtain.a.function.point |
| 49fe0 | 65 72 2c 20 6f 72 20 68 61 76 65 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 73 65 74 20 74 | er,.or.have.an.error.......set.t |
| 4a000 | 68 61 74 20 69 73 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 63 72 6f 73 73 20 64 69 66 66 65 72 65 | hat.is.consistent.across.differe |
| 4a020 | 6e 74 20 62 75 69 6c 64 20 74 61 72 67 65 74 73 2e 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 | nt.build.targets..Additionally,. |
| 4a040 | 69 6e 66 65 72 72 65 64 20 65 72 72 6f 72 20 73 65 74 73 0a 20 20 20 20 20 20 61 72 65 20 69 6e | inferred.error.sets.......are.in |
| 4a060 | 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 72 65 63 75 72 73 69 6f 6e 2e 0a 20 20 20 20 20 | compatible.with.recursion....... |
| 4a080 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 73 65 20 73 | .</p>.......<p>.......In.these.s |
| 4a0a0 | 69 74 75 61 74 69 6f 6e 73 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 | ituations,.it.is.recommended.to. |
| 4a0c0 | 75 73 65 20 61 6e 20 65 78 70 6c 69 63 69 74 20 65 72 72 6f 72 20 73 65 74 2e 20 59 6f 75 20 63 | use.an.explicit.error.set..You.c |
| 4a0e0 | 61 6e 20 67 65 6e 65 72 61 6c 6c 79 20 73 74 61 72 74 0a 20 20 20 20 20 20 77 69 74 68 20 61 6e | an.generally.start.......with.an |
| 4a100 | 20 65 6d 70 74 79 20 65 72 72 6f 72 20 73 65 74 20 61 6e 64 20 6c 65 74 20 63 6f 6d 70 69 6c 65 | .empty.error.set.and.let.compile |
| 4a120 | 20 65 72 72 6f 72 73 20 67 75 69 64 65 20 79 6f 75 20 74 6f 77 61 72 64 20 63 6f 6d 70 6c 65 74 | .errors.guide.you.toward.complet |
| 4a140 | 69 6e 67 20 74 68 65 20 73 65 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 | ing.the.set........</p>.......<p |
| 4a160 | 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 6c 69 6d 69 74 61 74 69 6f 6e 73 20 6d 61 79 20 62 65 | >.......These.limitations.may.be |
| 4a180 | 20 6f 76 65 72 63 6f 6d 65 20 69 6e 20 61 20 66 75 74 75 72 65 20 76 65 72 73 69 6f 6e 20 6f 66 | .overcome.in.a.future.version.of |
| 4a1a0 | 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 | .Zig........</p>................ |
| 4a1c0 | 20 20 20 20 20 3c 68 32 20 69 64 3d 22 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 63 65 73 | .....<h2.id="Error-Return-Traces |
| 4a1e0 | 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d 54 72 61 | "><a.href="#toc-Error-Return-Tra |
| 4a200 | 63 65 73 22 3e 45 72 72 6f 72 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 3c 2f 61 3e 20 3c 61 20 | ces">Error.Return.Traces</a>.<a. |
| 4a220 | 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 52 65 74 75 72 6e 2d | class="hdr".href="#Error-Return- |
| 4a240 | 54 72 61 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 70 3e 0a 20 | Traces">..</a></h2>........<p>.. |
| 4a260 | 20 20 20 20 20 45 72 72 6f 72 20 52 65 74 75 72 6e 20 54 72 61 63 65 73 20 73 68 6f 77 20 61 6c | .....Error.Return.Traces.show.al |
| 4a280 | 6c 20 74 68 65 20 70 6f 69 6e 74 73 20 69 6e 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 61 6e | l.the.points.in.the.code.that.an |
| 4a2a0 | 20 65 72 72 6f 72 20 77 61 73 20 72 65 74 75 72 6e 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 69 | .error.was.returned.to.the.calli |
| 4a2c0 | 6e 67 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 69 73 20 6d 61 6b 65 73 20 69 74 20 70 72 61 63 74 | ng.function..This.makes.it.pract |
| 4a2e0 | 69 63 61 6c 20 74 6f 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 74 72 79 22 3e 74 72 79 3c 2f | ical.to.use.<a.href="#try">try</ |
| 4a300 | 61 3e 20 65 76 65 72 79 77 68 65 72 65 20 61 6e 64 20 74 68 65 6e 20 73 74 69 6c 6c 20 62 65 20 | a>.everywhere.and.then.still.be. |
| 4a320 | 61 62 6c 65 20 74 6f 20 6b 6e 6f 77 20 77 68 61 74 20 68 61 70 70 65 6e 65 64 20 69 66 20 61 6e | able.to.know.what.happened.if.an |
| 4a340 | 20 65 72 72 6f 72 20 65 6e 64 73 20 75 70 20 62 75 62 62 6c 69 6e 67 20 61 6c 6c 20 74 68 65 20 | .error.ends.up.bubbling.all.the. |
| 4a360 | 77 61 79 20 6f 75 74 20 6f 66 20 79 6f 75 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 2e 0a 20 20 20 | way.out.of.your.application..... |
| 4a380 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 | ...</p>.......<p.class="file">te |
| 4a3a0 | 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | st.zig</p><pre><code.class="zig" |
| 4a3c0 | 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> |
| 4a3e0 | 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>. |
| 4a400 | 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> |
| 4a420 | 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< |
| 4a440 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | /span>.{.....<span.class="tok-kw |
| 4a460 | 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ">try</span>.foo(<span.class="to |
| 4a480 | 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 | k-number">12</span>);.}..<span.c |
| 4a4a0 | 6c 61 73 73 3d 22 74 6f 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 |
| 4a4c0 | 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 6e | ass="tok-fn">foo</span>(x:.<span |
| 4a4e0 | 20 63 6c 61 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 | .class="tok-type">i32</span>).!< |
| 4a500 | 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 |
| 4a520 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c | >.{.....<span.class="tok-kw">if< |
| 4a540 | 2f 73 70 61 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 | /span>.(x.>=.<span.class="tok |
| 4a560 | 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 | -number">5</span>).{.........<sp |
| 4a580 | 61 6e 20 63 6c 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 72 | an.class="tok-kw">try</span>.bar |
| 4a5a0 | 28 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 | ();.....}.<span.class="tok-kw">e |
| 4a5c0 | 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | lse</span>.{.........<span.class |
| 4a5e0 | 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 32 28 29 3b 0a 20 20 | ="tok-kw">try</span>.bang2();... |
| 4a600 | 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f | ..}.}..<span.class="tok-kw">fn</ |
| 4a620 | 73 70 61 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 | span>.<span.class="tok-fn">bar</ |
| 4a640 | 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"> |
| 4a660 | 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | void</span>.{.....<span.class="t |
| 4a680 | 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 0a 20 20 20 20 20 | ok-kw">if</span>.(baz()).{...... |
| 4a6a0 | 20 20 20 3c 73 70 61 6e 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 |
| 4a6c0 | 6e 3e 20 71 75 75 78 28 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | n>.quux();.....}.<span.class="to |
| 4a6e0 | 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 3c 73 70 61 6e 20 63 6c | k-kw">else</span>.|err|.<span.cl |
| 4a700 | 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 65 72 72 29 | ass="tok-kw">switch</span>.(err) |
| 4a720 | 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | .{.........<span.class="tok-kw"> |
| 4a740 | 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 20 3d 26 67 74 3b 20 | error</span>.FileNotFound.=>. |
| 4a760 | 3c 73 70 61 6e 20 63 6c 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>. |
| 4a780 | 68 65 6c 6c 6f 28 29 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | hello(),.........<span.class="to |
| 4a7a0 | 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c | k-kw">else</span>.=>.<span.cl |
| 4a7c0 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 68 65 72 28 | ass="tok-kw">try</span>.another( |
| 4a7e0 | 29 2c 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | ),.....}.}..<span.class="tok-kw" |
| 4a800 | 3e 66 6e 3c 2f 73 70 61 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"> |
| 4a820 | 62 61 7a 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 | baz</span>().!<span.class="tok-t |
| 4a840 | 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | ype">void</span>.{.....<span.cla |
| 4a860 | 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 31 28 29 3b 0a | ss="tok-kw">try</span>.bang1();. |
| 4a880 | 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e | }..<span.class="tok-kw">fn</span |
| 4a8a0 | 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 71 75 75 78 3c 2f 73 70 61 | >.<span.class="tok-fn">quux</spa |
| 4a8c0 | 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 |
| 4a8e0 | 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | d</span>.{.....<span.class="tok- |
| 4a900 | 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 32 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e | kw">try</span>.bang2();.}..<span |
| 4a920 | 20 63 6c 61 73 73 3d 22 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. |
| 4a940 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 68 65 6c 6c 6f 3c 2f 73 70 61 6e 3e 28 29 20 21 3c | class="tok-fn">hello</span>().!< |
| 4a960 | 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 |
| 4a980 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 | >.{.....<span.class="tok-kw">try |
| 4a9a0 | 3c 2f 73 70 61 6e 3e 20 62 61 6e 67 32 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | </span>.bang2();.}..<span.class= |
| 4a9c0 | 22 74 6f 6b 2d 6b 77 22 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=" |
| 4a9e0 | 74 6f 6b 2d 66 6e 22 3e 61 6e 6f 74 68 65 72 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 | tok-fn">another</span>().!<span. |
| 4aa00 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 | class="tok-type">void</span>.{.. |
| 4aa20 | 20 20 20 3c 73 70 61 6e 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 |
| 4aa40 | 6e 3e 20 62 61 6e 67 31 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | n>.bang1();.}..<span.class="tok- |
| 4aa60 | 6b 77 22 3e 66 6e 3c 2f 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 |
| 4aa80 | 6e 22 3e 62 61 6e 67 31 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | n">bang1</span>().!<span.class=" |
| 4aaa0 | 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 | tok-type">void</span>.{.....<spa |
| 4aac0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c | n.class="tok-kw">return</span>.< |
| 4aae0 | 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> |
| 4ab00 | 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | .FileNotFound;.}..<span.class="t |
| 4ab20 | 6f 6b 2d 6b 77 22 3e 66 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 |
| 4ab40 | 6b 2d 66 6e 22 3e 62 61 6e 67 32 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 | k-fn">bang2</span>().!<span.clas |
| 4ab60 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c | s="tok-type">void</span>.{.....< |
| 4ab80 | 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 |
| 4aba0 | 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 | >.<span.class="tok-kw">error</sp |
| 4abc0 | 61 6e 3e 2e 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f | an>.PermissionDenied;.}</code></ |
| 4abe0 | 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a | pre><pre><code.class="shell">$.z |
| 4ac00 | 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 73 74 0a 65 | ig.build-exe.test.zig.$../test.e |
| 4ac20 | 72 72 6f 72 3a 20 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 0a 3c 73 70 61 6e 20 63 6c 61 | rror:.PermissionDenied.<span.cla |
| 4ac40 | 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f | ss="t37_1">/deps/zig/docgen_tmp/ |
| 4ac60 | 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 20 63 6c 61 73 | test.zig:39:5</span>:.<span.clas |
| 4ac80 | 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 65 66 30 32 20 69 6e 20 62 61 6e 67 31 20 28 74 65 73 74 | s="t2_0">0x22ef02.in.bang1.(test |
| 4aca0 | 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 46 69 6c 65 4e 6f | )</span>.....return.error.FileNo |
| 4acc0 | 74 46 6f 75 6e 64 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e | tFound;.....<span.class="t32_1"> |
| 4ace0 | 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 | ^</span>.<span.class="t37_1">/de |
| 4ad00 | 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 33 3a 35 3c | ps/zig/docgen_tmp/test.zig:23:5< |
| 4ad20 | 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 65 | /span>:.<span.class="t2_0">0x22e |
| 4ad40 | 64 64 66 20 69 6e 20 62 61 7a 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 74 72 79 | ddf.in.baz.(test)</span>.....try |
| 4ad60 | 20 62 61 6e 67 31 28 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 | .bang1();.....<span.class="t32_1 |
| 4ad80 | 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f | ">^</span>.<span.class="t37_1">/ |
| 4ada0 | 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 33 3a | deps/zig/docgen_tmp/test.zig:43: |
| 4adc0 | 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 | 5</span>:.<span.class="t2_0">0x2 |
| 4ade0 | 32 65 64 61 32 20 69 6e 20 62 61 6e 67 32 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 | 2eda2.in.bang2.(test)</span>.... |
| 4ae00 | 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 3b 0a | .return.error.PermissionDenied;. |
| 4ae20 | 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> |
| 4ae40 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 | .<span.class="t37_1">/deps/zig/d |
| 4ae60 | 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 31 3a 35 3c 2f 73 70 61 6e 3e 3a 20 | ocgen_tmp/test.zig:31:5</span>:. |
| 4ae80 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 65 65 63 66 20 69 6e 20 68 | <span.class="t2_0">0x22eecf.in.h |
| 4aea0 | 65 6c 6c 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 74 72 79 20 62 61 6e 67 32 | ello.(test)</span>.....try.bang2 |
| 4aec0 | 28 29 3b 0a 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 |
| 4aee0 | 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a | pan>.<span.class="t37_1">/deps/z |
| 4af00 | 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 33 31 3c 2f 73 70 | ig/docgen_tmp/test.zig:17:31</sp |
| 4af20 | 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 65 64 36 65 | an>:.<span.class="t2_0">0x22ed6e |
| 4af40 | 20 69 6e 20 62 61 72 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 65 72 | .in.bar.(test)</span>.........er |
| 4af60 | 72 6f 72 2e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 20 3d 26 67 74 3b 20 74 72 79 20 68 65 6c 6c 6f | ror.FileNotFound.=>.try.hello |
| 4af80 | 28 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (),............................. |
| 4afa0 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c | ..<span.class="t32_1">^</span>.< |
| 4afc0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 | span.class="t37_1">/deps/zig/doc |
| 4afe0 | 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 | gen_tmp/test.zig:7:9</span>:.<sp |
| 4b000 | 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 65 63 35 63 20 69 6e 20 66 6f 6f 20 | an.class="t2_0">0x22ec5c.in.foo. |
| 4b020 | 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 74 72 79 20 62 61 72 28 29 3b | (test)</span>.........try.bar(); |
| 4b040 | 0a 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">^</ |
| 4b060 | 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f | span>.<span.class="t37_1">/deps/ |
| 4b080 | 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 35 3c 2f 73 70 61 | zig/docgen_tmp/test.zig:2:5</spa |
| 4b0a0 | 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 61 39 65 34 20 | n>:.<span.class="t2_0">0x22a9e4. |
| 4b0c0 | 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 74 72 79 20 66 6f | in.main.(test)</span>.....try.fo |
| 4b0e0 | 6f 28 31 32 29 3b 0a 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 | o(12);.....<span.class="t32_1">^ |
| 4b100 | 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e | </span>.</code></pre>........<p> |
| 4b120 | 0a 20 20 20 20 20 20 4c 6f 6f 6b 20 63 6c 6f 73 65 6c 79 20 61 74 20 74 68 69 73 20 65 78 61 6d | .......Look.closely.at.this.exam |
| 4b140 | 70 6c 65 2e 20 54 68 69 73 20 69 73 20 6e 6f 20 73 74 61 63 6b 20 74 72 61 63 65 2e 0a 20 20 20 | ple..This.is.no.stack.trace..... |
| 4b160 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 | ...</p>.......<p>.......You.can. |
| 4b180 | 73 65 65 20 74 68 61 74 20 74 68 65 20 66 69 6e 61 6c 20 65 72 72 6f 72 20 62 75 62 62 6c 65 64 | see.that.the.final.error.bubbled |
| 4b1a0 | 20 75 70 20 77 61 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 50 65 72 6d 69 73 | .up.was.<code.class="zig">Permis |
| 4b1c0 | 73 69 6f 6e 44 65 6e 69 65 64 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 62 75 74 | sionDenied</code>,...........but |
| 4b1e0 | 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 65 72 72 6f 72 20 74 68 61 74 20 73 74 61 72 74 65 64 | .the.original.error.that.started |
| 4b200 | 20 74 68 69 73 20 77 68 6f 6c 65 20 74 68 69 6e 67 20 77 61 73 20 3c 63 6f 64 65 20 63 6c 61 73 | .this.whole.thing.was.<code.clas |
| 4b220 | 73 3d 22 7a 69 67 22 3e 46 69 6c 65 4e 6f 74 46 6f 75 6e 64 3c 2f 63 6f 64 65 3e 2e 20 49 6e 20 | s="zig">FileNotFound</code>..In. |
| 4b240 | 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 61 72 3c 2f 63 6f 64 65 3e | the.<code.class="zig">bar</code> |
| 4b260 | 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 20 63 6f 64 65 20 68 61 6e 64 6c 65 73 20 74 68 65 20 | .function,.the.code.handles.the. |
| 4b280 | 6f 72 69 67 69 6e 61 6c 20 65 72 72 6f 72 20 63 6f 64 65 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 | original.error.code,.......and.t |
| 4b2a0 | 68 65 6e 20 72 65 74 75 72 6e 73 20 61 6e 6f 74 68 65 72 20 6f 6e 65 2c 20 66 72 6f 6d 20 74 68 | hen.returns.another.one,.from.th |
| 4b2c0 | 65 20 73 77 69 74 63 68 20 73 74 61 74 65 6d 65 6e 74 2e 20 45 72 72 6f 72 20 52 65 74 75 72 6e | e.switch.statement..Error.Return |
| 4b2e0 | 20 54 72 61 63 65 73 20 6d 61 6b 65 20 74 68 69 73 20 63 6c 65 61 72 2c 20 77 68 65 72 65 61 73 | .Traces.make.this.clear,.whereas |
| 4b300 | 20 61 20 73 74 61 63 6b 20 74 72 61 63 65 20 77 6f 75 6c 64 20 6c 6f 6f 6b 20 6c 69 6b 65 20 74 | .a.stack.trace.would.look.like.t |
| 4b320 | 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 | his:.......</p>.......<p.class=" |
| 4b340 | 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | file">test.zig</p><pre><code.cla |
| 4b360 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-kw">pu |
| 4b380 | 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e | b</span>.<span.class="tok-kw">fn |
| 4b3a0 | 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 | </span>.<span.class="tok-fn">mai |
| 4b3c0 | 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | n</span>().<span.class="tok-type |
| 4b3e0 | 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c | ">void</span>.{.....foo(<span.cl |
| 4b400 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a | ass="tok-number">12</span>);.}.. |
| 4b420 | 3c 73 70 61 6e 20 63 6c 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>.< |
| 4b440 | 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 78 | span.class="tok-fn">foo</span>(x |
| 4b460 | 3a 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 |
| 4b480 | 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 |
| 4b4a0 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | </span>.{.....<span.class="tok-k |
| 4b4c0 | 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 78 20 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | w">if</span>.(x.>=.<span.clas |
| 4b4e0 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 | s="tok-number">5</span>).{...... |
| 4b500 | 20 20 20 62 61 72 28 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ...bar();.....}.<span.class="tok |
| 4b520 | 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 62 61 6e 67 32 | -kw">else</span>.{.........bang2 |
| 4b540 | 28 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | ();.....}.}..<span.class="tok-kw |
| 4b560 | 22 3e 66 6e 3c 2f 73 70 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" |
| 4b580 | 3e 62 61 72 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | >bar</span>().<span.class="tok-t |
| 4b5a0 | 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | ype">void</span>.{.....<span.cla |
| 4b5c0 | 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 0a | ss="tok-kw">if</span>.(baz()).{. |
| 4b5e0 | 20 20 20 20 20 20 20 20 71 75 75 78 28 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 | ........quux();.....}.<span.clas |
| 4b600 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 | s="tok-kw">else</span>.{........ |
| 4b620 | 20 68 65 6c 6c 6f 28 29 3b 0a 20 20 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .hello();.....}.}..<span.class=" |
| 4b640 | 74 6f 6b 2d 6b 77 22 3e 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 |
| 4b660 | 6f 6b 2d 66 6e 22 3e 62 61 7a 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ok-fn">baz</span>().<span.class= |
| 4b680 | 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 | "tok-type">bool</span>.{.....<sp |
| 4b6a0 | 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>. |
| 4b6c0 | 62 61 6e 67 31 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | bang1();.}..<span.class="tok-kw" |
| 4b6e0 | 3e 66 6e 3c 2f 73 70 61 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"> |
| 4b700 | 71 75 75 78 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | quux</span>().<span.class="tok-t |
| 4b720 | 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 62 61 6e 67 32 28 29 3b 0a | ype">void</span>.{.....bang2();. |
| 4b740 | 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e | }..<span.class="tok-kw">fn</span |
| 4b760 | 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 68 65 6c 6c 6f 3c 2f 73 70 | >.<span.class="tok-fn">hello</sp |
| 4b780 | 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 |
| 4b7a0 | 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 62 61 6e 67 32 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e | d</span>.{.....bang2();.}..<span |
| 4b7c0 | 20 63 6c 61 73 73 3d 22 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. |
| 4b7e0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 62 61 6e 67 31 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 | class="tok-fn">bang1</span>().<s |
| 4b800 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e | pan.class="tok-type">bool</span> |
| 4b820 | 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 | .{.....<span.class="tok-kw">retu |
| 4b840 | 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 6c 6c 22 | rn</span>.<span.class="tok-null" |
| 4b860 | 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | >false</span>;.}..<span.class="t |
| 4b880 | 6f 6b 2d 6b 77 22 3e 66 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 |
| 4b8a0 | 6b 2d 66 6e 22 3e 62 61 6e 67 32 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 | k-fn">bang2</span>().<span.class |
| 4b8c0 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 | ="tok-type">void</span>.{.....<s |
| 4b8e0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f | pan.class="tok-builtin">@panic</ |
| 4b900 | 73 70 61 6e 3e 28 3c 73 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 |
| 4b920 | 74 3b 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 | t;PermissionDenied"</span>) |
| 4b940 | 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | ;.}</code></pre><pre><code.class |
| 4b960 | 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 | ="shell">$.zig.build-exe.test.zi |
| 4b980 | 67 0a 24 20 2e 2f 74 65 73 74 0a 50 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 0a 3c 73 70 61 | g.$../test.PermissionDenied.<spa |
| 4b9a0 | 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e | n.class="t37_1">/deps/zig/docgen |
| 4b9c0 | 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 38 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e | _tmp/test.zig:38:5</span>:.<span |
| 4b9e0 | 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 30 32 64 36 20 69 6e 20 62 61 6e 67 32 20 | .class="t2_0">0x2302d6.in.bang2. |
| 4ba00 | 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 70 61 6e 69 63 28 26 71 75 6f 74 3b 50 | (test)</span>.....@panic("P |
| 4ba20 | 65 72 6d 69 73 73 69 6f 6e 44 65 6e 69 65 64 26 71 75 6f 74 3b 29 3b 0a 20 20 20 20 3c 73 70 61 | ermissionDenied");.....<spa |
| 4ba40 | 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 |
| 4ba60 | 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d | lass="t37_1">/deps/zig/docgen_tm |
| 4ba80 | 70 2f 74 65 73 74 2e 7a 69 67 3a 33 30 3a 31 30 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 | p/test.zig:30:10</span>:.<span.c |
| 4baa0 | 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 30 61 33 38 20 69 6e 20 68 65 6c 6c 6f 20 28 74 | lass="t2_0">0x230a38.in.hello.(t |
| 4bac0 | 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 62 61 6e 67 32 28 29 3b 0a 20 20 20 20 20 20 20 | est)</span>.....bang2();........ |
| 4bae0 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c | ..<span.class="t32_1">^</span>.< |
| 4bb00 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 | span.class="t37_1">/deps/zig/doc |
| 4bb20 | 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 37 3a 31 34 3c 2f 73 70 61 6e 3e 3a 20 3c | gen_tmp/test.zig:17:14</span>:.< |
| 4bb40 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 33 30 32 62 61 20 69 6e 20 62 61 | span.class="t2_0">0x2302ba.in.ba |
| 4bb60 | 72 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 68 65 6c 6c 6f 28 29 3b | r.(test)</span>.........hello(); |
| 4bb80 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 | ..............<span.class="t32_1 |
| 4bba0 | 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f | ">^</span>.<span.class="t37_1">/ |
| 4bbc0 | 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 31 | deps/zig/docgen_tmp/test.zig:7:1 |
| 4bbe0 | 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 |
| 4bc00 | 32 65 39 35 35 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 | 2e955.in.foo.(test)</span>...... |
| 4bc20 | 20 20 20 62 61 72 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ...bar();............<span.class |
| 4bc40 | 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 74 | ="t32_1">^</span>.<span.class="t |
| 4bc60 | 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e | 37_1">/deps/zig/docgen_tmp/test. |
| 4bc80 | 7a 69 67 3a 32 3a 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f | zig:2:8</span>:.<span.class="t2_ |
| 4bca0 | 30 22 3e 30 78 32 32 61 37 65 64 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e | 0">0x22a7ed.in.main.(test)</span |
| 4bcc0 | 3e 0a 20 20 20 20 66 6f 6f 28 31 32 29 3b 0a 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | >.....foo(12);........<span.clas |
| 4bce0 | 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=" |
| 4bd00 | 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a | t37_1">/deps/zig/lib/std/start.z |
| 4bd20 | 69 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ig:243:22</span>:.<span.class="t |
| 4bd40 | 32 5f 30 22 3e 30 78 32 30 34 36 65 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 | 2_0">0x2046ef.in.std.start.posix |
| 4bd60 | 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 0a 20 20 | CallMainAndExit.(test)</span>... |
| 4bd80 | 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 | ..........root.main();.......... |
| 4bda0 | 20 20 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"> |
| 4bdc0 | 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 | ^</span>.<span.class="t37_1">/de |
| 4bde0 | 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 3a 35 3c 2f | ps/zig/lib/std/start.zig:123:5</ |
| 4be00 | 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 34 34 | span>:.<span.class="t2_0">0x2044 |
| 4be20 | 63 66 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 | cf.in.std.start._start.(test)</s |
| 4be40 | 70 61 6e 3e 0a 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 | pan>.....@call(.{..modifier.=..n |
| 4be60 | 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 | ever_inline.},.posixCallMainAndE |
| 4be80 | 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f | xit,..{});.....<span.class="t32_ |
| 4bea0 | 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 | 1">^</span>.(process.terminated. |
| 4bec0 | 62 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c | by.signal)</code></pre>........< |
| 4bee0 | 70 3e 0a 20 20 20 20 20 20 48 65 72 65 2c 20 74 68 65 20 73 74 61 63 6b 20 74 72 61 63 65 20 64 | p>.......Here,.the.stack.trace.d |
| 4bf00 | 6f 65 73 20 6e 6f 74 20 65 78 70 6c 61 69 6e 20 68 6f 77 20 74 68 65 20 63 6f 6e 74 72 6f 6c 0a | oes.not.explain.how.the.control. |
| 4bf20 | 20 20 20 20 20 20 66 6c 6f 77 20 69 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | ......flow.in.<code.class="zig"> |
| 4bf40 | 62 61 72 3c 2f 63 6f 64 65 3e 20 67 6f 74 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 | bar</code>.got.to.the.<code.clas |
| 4bf60 | 73 3d 22 7a 69 67 22 3e 68 65 6c 6c 6f 28 29 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c 2e 0a 20 20 20 | s="zig">hello()</code>.call..... |
| 4bf80 | 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 65 62 75 | ...One.would.have.to.open.a.debu |
| 4bfa0 | 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 65 20 61 | gger.or.further.instrument.the.a |
| 4bfc0 | 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 66 69 6e | pplication.......in.order.to.fin |
| 4bfe0 | 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 2c 20 6f | d.out..The.error.return.trace,.o |
| 4c000 | 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 20 65 78 | n.the.other.hand,.......shows.ex |
| 4c020 | 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 70 2e 0a | actly.how.the.error.bubbled.up.. |
| 4c040 | 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 | ......</p>.......<p>.......This. |
| 4c060 | 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 73 69 65 | debugging.feature.makes.it.easie |
| 4c080 | 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 74 68 61 | r.to.iterate.quickly.on.code.tha |
| 4c0a0 | 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 65 72 72 | t.......robustly.handles.all.err |
| 4c0c0 | 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 74 20 5a | or.conditions..This.means.that.Z |
| 4c0e0 | 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 72 61 6c | ig.developers.......will.natural |
| 4c100 | 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 72 72 65 | ly.find.themselves.writing.corre |
| 4c120 | 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 20 20 74 | ct,.robust.code.in.order.......t |
| 4c140 | 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 70 61 63 | o.increase.their.development.pac |
| 4c160 | 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 45 72 | e........</p>.......<p>.......Er |
| 4c180 | 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 20 62 79 | ror.Return.Traces.are.enabled.by |
| 4c1a0 | 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 44 65 62 | .default.in.<a.href="#Debug">Deb |
| 4c1c0 | 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 61 66 65 | ug</a>.and.<a.href="#ReleaseSafe |
| 4c1e0 | 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 64 69 73 | ">ReleaseSafe</a>.builds.and.dis |
| 4c200 | 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 23 52 65 | abled.by.default.in.<a.href="#Re |
| 4c220 | 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 64 20 3c | leaseFast">ReleaseFast</a>.and.< |
| 4c240 | 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 65 53 6d | a.href="#ReleaseSmall">ReleaseSm |
| 4c260 | 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 20 20 20 | all</a>.builds........</p>...... |
| 4c280 | 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 79 73 20 | .<p>.......There.are.a.few.ways. |
| 4c2a0 | 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 20 74 72 | to.activate.this.error.return.tr |
| 4c2c0 | 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 20 20 20 | acing.feature:.......</p>....... |
| 4c2e0 | 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 72 6f 72 | <ul>.........<li>Return.an.error |
| 4c300 | 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 6e 20 65 | .from.main</li>.........<li>An.e |
| 4c320 | 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 20 63 6c 61 73 | rror.makes.its.way.to.<code.clas |
| 4c340 | 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 | s="zig"><span.class="tok-kw">cat |
| 4c360 | 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 | ch</span>.<span.class="tok-kw">u |
| 4c380 | 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 79 6f 75 | nreachable</span></code>.and.you |
| 4c3a0 | 20 68 61 76 65 20 6e 6f 74 20 6f 76 65 72 72 69 64 64 65 6e 20 74 68 65 20 64 65 66 61 75 6c 74 | .have.not.overridden.the.default |
| 4c3c0 | 20 70 61 6e 69 63 20 68 61 6e 64 6c 65 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e | .panic.handler</li>.........<li> |
| 4c3e0 | 55 73 65 20 3c 61 20 68 72 65 66 3d 22 23 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 22 3e | Use.<a.href="#errorReturnTrace"> |
| 4c400 | 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 3c 2f 61 3e 20 74 6f 20 61 63 63 65 73 73 20 74 | errorReturnTrace</a>.to.access.t |
| 4c420 | 68 65 20 63 75 72 72 65 6e 74 20 72 65 74 75 72 6e 20 74 72 61 63 65 2e 20 59 6f 75 20 63 61 6e | he.current.return.trace..You.can |
| 4c440 | 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 74 64 2e 64 65 62 75 67 | .use.<code.class="zig">std.debug |
| 4c460 | 2e 64 75 6d 70 53 74 61 63 6b 54 72 61 63 65 3c 2f 63 6f 64 65 3e 20 74 6f 20 70 72 69 6e 74 20 | .dumpStackTrace</code>.to.print. |
| 4c480 | 69 74 2e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 63 6f 6d 70 74 69 | it..This.function.returns.compti |
| 4c4a0 | 6d 65 2d 6b 6e 6f 77 6e 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 | me-known.<a.href="#null">null</a |
| 4c4c0 | 3e 20 77 68 65 6e 20 62 75 69 6c 64 69 6e 67 20 77 69 74 68 6f 75 74 20 65 72 72 6f 72 20 72 65 | >.when.building.without.error.re |
| 4c4e0 | 74 75 72 6e 20 74 72 61 63 69 6e 67 20 73 75 70 70 6f 72 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | turn.tracing.support.</li>...... |
| 4c500 | 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 49 6d 70 6c 65 6d 65 6e 74 61 74 | .</ul>.......<h3.id="Implementat |
| 4c520 | 69 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 | ion-Details"><a.href="#toc-Imple |
| 4c540 | 6d 65 6e 74 61 74 69 6f 6e 2d 44 65 74 61 69 6c 73 22 3e 49 6d 70 6c 65 6d 65 6e 74 61 74 69 6f | mentation-Details">Implementatio |
| 4c560 | 6e 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 | n.Details</a>.<a.class="hdr".hre |
| 4c580 | 66 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 | f="#Implementation-Details">..</ |
| 4c5a0 | 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 61 6e 61 6c | a></h3>........<p>.......To.anal |
| 4c5c0 | 79 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 | yze.performance.cost,.there.are. |
| 4c5e0 | 74 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 | two.cases:.......</p>.......<ul> |
| 4c600 | 0a 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 | .........<li>when.no.errors.are. |
| 4c620 | 72 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 | returned</li>.........<li>when.r |
| 4c640 | 65 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 | eturning.errors</li>.......</ul> |
| 4c660 | 0a 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 | .......<p>.......For.the.case.wh |
| 4c680 | 65 6e 20 6e 6f 20 65 72 72 6f 72 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 2c 20 74 68 65 20 63 | en.no.errors.are.returned,.the.c |
| 4c6a0 | 6f 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 | ost.is.a.single.memory.write.ope |
| 4c6c0 | 72 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 | ration,.only.in.the.first.non-fa |
| 4c6e0 | 69 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 | ilable.function.in.the.call.grap |
| 4c700 | 68 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 | h.that.calls.a.failable.function |
| 4c720 | 2c 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 | ,.i.e..when.a.function.returning |
| 4c740 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .<code.class="zig"><span.class=" |
| 4c760 | 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c | tok-type">void</span></code>.cal |
| 4c780 | 6c 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 69 6e 67 20 3c 63 6f 64 65 20 63 6c | ls.a.function.returning.<code.cl |
| 4c7a0 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 | ass="zig"><span.class="tok-kw">e |
| 4c7c0 | 72 72 6f 72 3c 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 | rror</span></code>........This.i |
| 4c7e0 | 73 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 74 68 69 73 20 73 74 72 75 63 74 20 69 6e 20 74 | s.to.initialize.this.struct.in.t |
| 4c800 | 68 65 20 73 74 61 63 6b 20 6d 65 6d 6f 72 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 | he.stack.memory:.......</p>..... |
| 4c820 | 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | ..<pre><code.class="zig"><span.c |
| 4c840 | 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 |
| 4c860 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 74 61 63 6b | lass="tok-kw">const</span>.Stack |
| 4c880 | 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 73 74 72 | Trace.=.<span.class="tok-kw">str |
| 4c8a0 | 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c | uct</span>.{.....index:.<span.cl |
| 4c8c0 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 | ass="tok-type">usize</span>,.... |
| 4c8e0 | 20 69 6e 73 74 72 75 63 74 69 6f 6e 5f 61 64 64 72 65 73 73 65 73 3a 20 5b 4e 5d 3c 73 70 61 6e | .instruction_addresses:.[N]<span |
| 4c900 | 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 0a | .class="tok-type">usize</span>,. |
| 4c920 | 7d 3b 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 | };</code></pre>.......<p>....... |
| 4c940 | 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 20 | Here,.N.is.the.maximum.function. |
| 4c960 | 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 6c | call.depth.as.determined.by.call |
| 4c980 | 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 67 | .graph.analysis..Recursion.is.ig |
| 4c9a0 | 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 2f | nored.and.counts.for.2........</ |
| 4c9c0 | 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 20 | p>.......<p>.......A.pointer.to. |
| 4c9e0 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 53 74 61 63 6b 54 72 61 63 65 3c 2f 63 6f | <code.class="zig">StackTrace</co |
| 4ca00 | 64 65 3e 20 69 73 20 70 61 73 73 65 64 20 61 73 20 61 20 73 65 63 72 65 74 20 70 61 72 61 6d 65 | de>.is.passed.as.a.secret.parame |
| 4ca20 | 74 65 72 20 74 6f 20 65 76 65 72 79 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 63 61 6e 20 72 | ter.to.every.function.that.can.r |
| 4ca40 | 65 74 75 72 6e 20 61 6e 20 65 72 72 6f 72 2c 20 62 75 74 20 69 74 27 73 20 61 6c 77 61 79 73 20 | eturn.an.error,.but.it's.always. |
| 4ca60 | 74 68 65 20 66 69 72 73 74 20 70 61 72 61 6d 65 74 65 72 2c 20 73 6f 20 69 74 20 63 61 6e 20 6c | the.first.parameter,.so.it.can.l |
| 4ca80 | 69 6b 65 6c 79 20 73 69 74 20 69 6e 20 61 20 72 65 67 69 73 74 65 72 20 61 6e 64 20 73 74 61 79 | ikely.sit.in.a.register.and.stay |
| 4caa0 | 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>.... |
| 4cac0 | 20 20 20 54 68 61 74 27 73 20 69 74 20 66 6f 72 20 74 68 65 20 70 61 74 68 20 77 68 65 6e 20 6e | ...That's.it.for.the.path.when.n |
| 4cae0 | 6f 20 65 72 72 6f 72 73 20 6f 63 63 75 72 2e 20 49 74 27 73 20 70 72 61 63 74 69 63 61 6c 6c 79 | o.errors.occur..It's.practically |
| 4cb00 | 20 66 72 65 65 20 69 6e 20 74 65 72 6d 73 20 6f 66 20 70 65 72 66 6f 72 6d 61 6e 63 65 2e 0a 20 | .free.in.terms.of.performance... |
| 4cb20 | 20 20 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 67 | .....</p>.......<p>.......When.g |
| 4cb40 | 65 6e 65 72 61 74 69 6e 67 20 74 68 65 20 63 6f 64 65 20 66 6f 72 20 61 20 66 75 6e 63 74 69 6f | enerating.the.code.for.a.functio |
| 4cb60 | 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 6e 20 65 72 72 6f 72 2c 20 6a 75 73 74 20 62 65 | n.that.returns.an.error,.just.be |
| 4cb80 | 66 6f 72 65 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | fore.the.<code.class="zig"><span |
| 4cba0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 | .class="tok-kw">return</span></c |
| 4cbc0 | 6f 64 65 3e 20 73 74 61 74 65 6d 65 6e 74 20 28 6f 6e 6c 79 20 66 6f 72 20 74 68 65 20 3c 63 6f | ode>.statement.(only.for.the.<co |
| 4cbe0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 4cc00 | 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 74 65 6d 65 | kw">return</span></code>.stateme |
| 4cc20 | 6e 74 73 20 74 68 61 74 20 72 65 74 75 72 6e 20 65 72 72 6f 72 73 29 2c 20 5a 69 67 20 67 65 6e | nts.that.return.errors),.Zig.gen |
| 4cc40 | 65 72 61 74 65 73 20 61 20 63 61 6c 6c 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a | erates.a.call.to.this.function:. |
| 4cc60 | 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | ......</p>.......<pre><code.clas |
| 4cc80 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-comment |
| 4cca0 | 22 3e 2f 2f 20 6d 61 72 6b 65 64 20 61 73 20 26 71 75 6f 74 3b 6e 6f 2d 69 6e 6c 69 6e 65 26 71 | ">//.marked.as."no-inline&q |
| 4ccc0 | 75 6f 74 3b 20 69 6e 20 4c 4c 56 4d 20 49 52 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 | uot;.in.LLVM.IR</span>.<span.cla |
| 4cce0 | 73 73 3d 22 74 6f 6b 2d 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 |
| 4cd00 | 73 3d 22 74 6f 6b 2d 66 6e 22 3e 5f 5f 7a 69 67 5f 72 65 74 75 72 6e 5f 65 72 72 6f 72 3c 2f 73 | s="tok-fn">__zig_return_error</s |
| 4cd20 | 70 61 6e 3e 28 73 74 61 63 6b 5f 74 72 61 63 65 3a 20 2a 53 74 61 63 6b 54 72 61 63 65 29 20 3c | pan>(stack_trace:.*StackTrace).< |
| 4cd40 | 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 |
| 4cd60 | 3e 20 7b 0a 20 20 20 20 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 73 74 72 75 63 74 69 6f 6e 5f | >.{.....stack_trace.instruction_ |
| 4cd80 | 61 64 64 72 65 73 73 65 73 5b 73 74 61 63 6b 5f 74 72 61 63 65 2e 69 6e 64 65 78 5d 20 3d 20 3c | addresses[stack_trace.index].=.< |
| 4cda0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 74 75 72 6e | span.class="tok-builtin">@return |
| 4cdc0 | 41 64 64 72 65 73 73 3c 2f 73 70 61 6e 3e 28 29 3b 0a 20 20 20 20 73 74 61 63 6b 5f 74 72 61 63 | Address</span>();.....stack_trac |
| 4cde0 | 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 20 3c | e.index.=.(stack_trace.index.+.< |
| 4ce00 | 73 70 61 6e 20 63 6c 61 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> |
| 4ce20 | 29 20 25 20 4e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a | ).%.N;.}</code></pre>.......<p>. |
| 4ce40 | 20 20 20 20 20 20 54 68 65 20 63 6f 73 74 20 69 73 20 32 20 6d 61 74 68 20 6f 70 65 72 61 74 69 | ......The.cost.is.2.math.operati |
| 4ce60 | 6f 6e 73 20 70 6c 75 73 20 73 6f 6d 65 20 6d 65 6d 6f 72 79 20 72 65 61 64 73 20 61 6e 64 20 77 | ons.plus.some.memory.reads.and.w |
| 4ce80 | 72 69 74 65 73 2e 20 54 68 65 20 6d 65 6d 6f 72 79 20 61 63 63 65 73 73 65 64 20 69 73 20 63 6f | rites..The.memory.accessed.is.co |
| 4cea0 | 6e 73 74 72 61 69 6e 65 64 20 61 6e 64 20 73 68 6f 75 6c 64 20 72 65 6d 61 69 6e 20 63 61 63 68 | nstrained.and.should.remain.cach |
| 4cec0 | 65 64 20 66 6f 72 20 74 68 65 20 64 75 72 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 65 72 72 6f 72 | ed.for.the.duration.of.the.error |
| 4cee0 | 20 72 65 74 75 72 6e 20 62 75 62 62 6c 69 6e 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 | .return.bubbling........</p>.... |
| 4cf00 | 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 73 20 66 6f 72 20 63 6f 64 65 20 73 69 7a 65 20 63 6f | ...<p>.......As.for.code.size.co |
| 4cf20 | 73 74 2c 20 31 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 62 65 66 6f 72 65 20 61 20 72 65 74 | st,.1.function.call.before.a.ret |
| 4cf40 | 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 20 69 73 20 6e 6f 20 62 69 67 20 64 65 61 6c 2e 20 45 76 | urn.statement.is.no.big.deal..Ev |
| 4cf60 | 65 6e 20 73 6f 2c 0a 20 20 20 20 20 20 49 20 68 61 76 65 20 3c 61 20 68 72 65 66 3d 22 68 74 74 | en.so,.......I.have.<a.href="htt |
| 4cf80 | 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 |
| 4cfa0 | 65 73 2f 36 39 30 22 3e 61 20 70 6c 61 6e 3c 2f 61 3e 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 63 | es/690">a.plan</a>.to.make.the.c |
| 4cfc0 | 61 6c 6c 20 74 6f 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 5f | all.to.......<code.class="zig">_ |
| 4cfe0 | 5f 7a 69 67 5f 72 65 74 75 72 6e 5f 65 72 72 6f 72 3c 2f 63 6f 64 65 3e 20 61 20 74 61 69 6c 20 | _zig_return_error</code>.a.tail. |
| 4d000 | 63 61 6c 6c 2c 20 77 68 69 63 68 20 62 72 69 6e 67 73 20 74 68 65 20 63 6f 64 65 20 73 69 7a 65 | call,.which.brings.the.code.size |
| 4d020 | 20 63 6f 73 74 20 64 6f 77 6e 20 74 6f 20 61 63 74 75 61 6c 6c 79 20 7a 65 72 6f 2e 20 57 68 61 | .cost.down.to.actually.zero..Wha |
| 4d040 | 74 20 69 73 20 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 20 69 6e 20 63 6f 64 65 20 | t.is.a.return.statement.in.code. |
| 4d060 | 77 69 74 68 6f 75 74 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 20 63 61 6e | without.error.return.tracing.can |
| 4d080 | 20 62 65 63 6f 6d 65 20 61 20 6a 75 6d 70 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 69 6e 20 63 6f | .become.a.jump.instruction.in.co |
| 4d0a0 | 64 65 20 77 69 74 68 20 65 72 72 6f 72 20 72 65 74 75 72 6e 20 74 72 61 63 69 6e 67 2e 0a 20 20 | de.with.error.return.tracing.... |
| 4d0c0 | 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 | ....</p>........................ |
| 4d0e0 | 20 20 20 20 3c 68 31 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 | ....<h1.id="Optionals"><a.href=" |
| 4d100 | 23 74 6f 63 2d 4f 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 | #toc-Optionals">Optionals</a>.<a |
| 4d120 | 20 63 6c 61 73 73 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 | .class="hdr".href="#Optionals">. |
| 4d140 | a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 65 20 | .</a></h1>........<p>.......One. |
| 4d160 | 61 72 65 61 20 74 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 | area.that.Zig.provides.safety.wi |
| 4d180 | 74 68 6f 75 74 20 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 | thout.compromising.efficiency.or |
| 4d1a0 | 0a 20 20 20 20 20 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 | .......readability.is.with.the.o |
| 4d1c0 | 70 74 69 6f 6e 61 6c 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c | ptional.type........</p>.......< |
| 4d1e0 | 70 3e 0a 20 20 20 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 | p>.......The.question.mark.symbo |
| 4d200 | 6c 69 7a 65 73 20 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 | lizes.the.optional.type..You.can |
| 4d220 | 20 63 6f 6e 76 65 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 | .convert.a.type.to.an.optional.. |
| 4d240 | 20 20 20 20 20 74 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 | .....type.by.putting.a.question. |
| 4d260 | 6d 61 72 6b 20 69 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 | mark.in.front.of.it,.like.this:. |
| 4d280 | 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | ......</p>.......<pre><code.clas |
| 4d2a0 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-comment |
| 4d2c0 | 22 3e 2f 2f 20 6e 6f 72 6d 61 6c 20 69 6e 74 65 67 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e | ">//.normal.integer</span>.<span |
| 4d2e0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 6f 72 | .class="tok-kw">const</span>.nor |
| 4d300 | 6d 61 6c 5f 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | mal_int:.<span.class="tok-type"> |
| 4d320 | 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 |
| 4d340 | 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | mber">1234</span>;..<span.class= |
| 4d360 | 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 70 74 69 6f 6e 61 6c 20 69 6e 74 65 67 65 | "tok-comment">//.optional.intege |
| 4d380 | 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | r</span>.<span.class="tok-kw">co |
| 4d3a0 | 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 69 6e 74 3a 20 3f 3c 73 70 61 6e 20 | nst</span>.optional_int:.?<span. |
| 4d3c0 | 63 6c 61 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 |
| 4d3e0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 70 61 | pan.class="tok-number">5678</spa |
| 4d400 | 6e 3e 3b 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 | n>;</code></pre>.......<p>...... |
| 4d420 | 20 4e 6f 77 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | .Now.the.variable.<code.class="z |
| 4d440 | 69 67 22 3e 6f 70 74 69 6f 6e 61 6c 5f 69 6e 74 3c 2f 63 6f 64 65 3e 20 63 6f 75 6c 64 20 62 65 | ig">optional_int</code>.could.be |
| 4d460 | 20 61 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | .an.<code.class="zig"><span.clas |
| 4d480 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 | s="tok-type">i32</span></code>,. |
| 4d4a0 | 6f 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | or.<code.class="zig"><span.class |
| 4d4c0 | 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a | ="tok-null">null</span></code>.. |
| 4d4e0 | 20 20 20 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 73 74 65 | ......</p>.......<p>.......Inste |
| 4d500 | 61 64 20 6f 66 20 69 6e 74 65 67 65 72 73 2c 20 6c 65 74 27 73 20 74 61 6c 6b 20 61 62 6f 75 74 | ad.of.integers,.let's.talk.about |
| 4d520 | 20 70 6f 69 6e 74 65 72 73 2e 20 4e 75 6c 6c 20 72 65 66 65 72 65 6e 63 65 73 20 61 72 65 20 74 | .pointers..Null.references.are.t |
| 4d540 | 68 65 20 73 6f 75 72 63 65 20 6f 66 20 6d 61 6e 79 20 72 75 6e 74 69 6d 65 0a 20 20 20 20 20 20 | he.source.of.many.runtime....... |
| 4d560 | 65 78 63 65 70 74 69 6f 6e 73 2c 20 61 6e 64 20 65 76 65 6e 20 73 74 61 6e 64 20 61 63 63 75 73 | exceptions,.and.even.stand.accus |
| 4d580 | 65 64 20 6f 66 20 62 65 69 6e 67 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 | ed.of.being.......<a.href="https |
| 4d5a0 | 3a 2f 2f 77 77 77 2e 6c 75 63 69 64 63 68 61 72 74 2e 63 6f 6d 2f 74 65 63 68 62 6c 6f 67 2f 32 | ://www.lucidchart.com/techblog/2 |
| 4d5c0 | 30 31 35 2f 30 38 2f 33 31 2f 74 68 65 2d 77 6f 72 73 74 2d 6d 69 73 74 61 6b 65 2d 6f 66 2d 63 | 015/08/31/the-worst-mistake-of-c |
| 4d5e0 | 6f 6d 70 75 74 65 72 2d 73 63 69 65 6e 63 65 2f 22 3e 74 68 65 20 77 6f 72 73 74 20 6d 69 73 74 | omputer-science/">the.worst.mist |
| 4d600 | 61 6b 65 20 6f 66 20 63 6f 6d 70 75 74 65 72 20 73 63 69 65 6e 63 65 3c 2f 61 3e 2e 0a 20 20 20 | ake.of.computer.science</a>..... |
| 4d620 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 64 6f 65 73 20 6e 6f 74 20 68 61 | ...</p>.......<p>Zig.does.not.ha |
| 4d640 | 76 65 20 74 68 65 6d 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 73 | ve.them.</p>.......<p>.......Ins |
| 4d660 | 74 65 61 64 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6f | tead,.you.can.use.an.optional.po |
| 4d680 | 69 6e 74 65 72 2e 20 54 68 69 73 20 73 65 63 72 65 74 6c 79 20 63 6f 6d 70 69 6c 65 73 20 64 6f | inter..This.secretly.compiles.do |
| 4d6a0 | 77 6e 20 74 6f 20 61 20 6e 6f 72 6d 61 6c 20 70 6f 69 6e 74 65 72 2c 0a 20 20 20 20 20 20 73 69 | wn.to.a.normal.pointer,.......si |
| 4d6c0 | 6e 63 65 20 77 65 20 6b 6e 6f 77 20 77 65 20 63 61 6e 20 75 73 65 20 30 20 61 73 20 74 68 65 20 | nce.we.know.we.can.use.0.as.the. |
| 4d6e0 | 6e 75 6c 6c 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 | null.value.for.the.optional.type |
| 4d700 | 2e 20 42 75 74 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 63 61 6e 20 63 68 65 | ..But.the.compiler.......can.che |
| 4d720 | 63 6b 20 79 6f 75 72 20 77 6f 72 6b 20 61 6e 64 20 6d 61 6b 65 20 73 75 72 65 20 79 6f 75 20 64 | ck.your.work.and.make.sure.you.d |
| 4d740 | 6f 6e 27 74 20 61 73 73 69 67 6e 20 6e 75 6c 6c 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 20 74 68 | on't.assign.null.to.something.th |
| 4d760 | 61 74 20 63 61 6e 27 74 20 62 65 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 | at.can't.be.null........</p>.... |
| 4d780 | 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 79 70 69 63 61 6c 6c 79 20 74 68 65 20 64 6f 77 6e 73 | ...<p>.......Typically.the.downs |
| 4d7a0 | 69 64 65 20 6f 66 20 6e 6f 74 20 68 61 76 69 6e 67 20 6e 75 6c 6c 20 69 73 20 74 68 61 74 20 69 | ide.of.not.having.null.is.that.i |
| 4d7c0 | 74 20 6d 61 6b 65 73 20 74 68 65 20 63 6f 64 65 20 6d 6f 72 65 20 76 65 72 62 6f 73 65 20 74 6f | t.makes.the.code.more.verbose.to |
| 4d7e0 | 0a 20 20 20 20 20 20 77 72 69 74 65 2e 20 42 75 74 2c 20 6c 65 74 27 73 20 63 6f 6d 70 61 72 65 | .......write..But,.let's.compare |
| 4d800 | 20 73 6f 6d 65 20 65 71 75 69 76 61 6c 65 6e 74 20 43 20 63 6f 64 65 20 61 6e 64 20 5a 69 67 20 | .some.equivalent.C.code.and.Zig. |
| 4d820 | 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 | code........</p>.......<p>...... |
| 4d840 | 20 54 61 73 6b 3a 20 63 61 6c 6c 20 6d 61 6c 6c 6f 63 2c 20 69 66 20 74 68 65 20 72 65 73 75 6c | .Task:.call.malloc,.if.the.resul |
| 4d860 | 74 20 69 73 20 6e 75 6c 6c 2c 20 72 65 74 75 72 6e 20 6e 75 6c 6c 2e 0a 20 20 20 20 20 20 3c 2f | t.is.null,.return.null........</ |
| 4d880 | 70 3e 0a 20 20 20 20 20 20 3c 70 3e 43 20 63 6f 64 65 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 | p>.......<p>C.code</p>.......<pr |
| 4d8a0 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 70 70 22 3e 2f 2f 20 6d 61 6c 6c 6f 63 20 70 72 | e><code.class="cpp">//.malloc.pr |
| 4d8c0 | 6f 74 6f 74 79 70 65 20 69 6e 63 6c 75 64 65 64 20 66 6f 72 20 72 65 66 65 72 65 6e 63 65 0a 76 | ototype.included.for.reference.v |
| 4d8e0 | 6f 69 64 20 2a 6d 61 6c 6c 6f 63 28 73 69 7a 65 5f 74 20 73 69 7a 65 29 3b 0a 0a 73 74 72 75 63 | oid.*malloc(size_t.size);..struc |
| 4d900 | 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 0a 20 20 20 20 63 68 | t.Foo.*do_a_thing(void).{.....ch |
| 4d920 | 61 72 20 2a 70 74 72 20 3d 20 6d 61 6c 6c 6f 63 28 31 32 33 34 29 3b 0a 20 20 20 20 69 66 20 28 | ar.*ptr.=.malloc(1234);.....if.( |
| 4d940 | 21 70 74 72 29 20 72 65 74 75 72 6e 20 4e 55 4c 4c 3b 0a 20 20 20 20 2f 2f 20 2e 2e 2e 0a 7d 3c | !ptr).return.NULL;.....//.....}< |
| 4d960 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 63 6f 64 65 3c 2f | /code></pre>.......<p>Zig.code</ |
| 4d980 | 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 7a 69 67 22 3e | p>.......<pre><code.class="zig"> |
| 4d9a0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6d 61 6c | <span.class="tok-comment">//.mal |
| 4d9c0 | 6c 6f 63 20 70 72 6f 74 6f 74 79 70 65 20 69 6e 63 6c 75 64 65 64 20 66 6f 72 20 72 65 66 65 72 | loc.prototype.included.for.refer |
| 4d9e0 | 65 6e 63 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | ence</span>.<span.class="tok-kw" |
| 4da00 | 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- |
| 4da20 | 6b 77 22 3e 66 6e 3c 2f 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 |
| 4da40 | 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 20 3f | n">malloc</span>(size:.size_t).? |
| 4da60 | 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 61 6e | *<span.class="tok-type">u8</span |
| 4da80 | 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 | >;..<span.class="tok-kw">fn</spa |
| 4daa0 | 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 68 69 6e 67 | n>.<span.class="tok-fn">doAThing |
| 4dac0 | 3c 2f 73 70 61 6e 3e 28 29 20 3f 2a 46 6f 6f 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | </span>().?*Foo.{.....<span.clas |
| 4dae0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 20 3d 20 6d 61 | s="tok-kw">const</span>.ptr.=.ma |
| 4db00 | 6c 6c 6f 63 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 | lloc(<span.class="tok-number">12 |
| 4db20 | 33 34 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | 34</span>).<span.class="tok-kw"> |
| 4db40 | 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 |
| 4db60 | 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 |
| 4db80 | 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | k-null">null</span>;.....<span.c |
| 4dba0 | 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 2e 2e 2e 3c 2f 73 70 61 6e 3e | lass="tok-comment">//....</span> |
| 4dbc0 | 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 | .}</code></pre>.......<p>....... |
| 4dbe0 | 20 20 48 65 72 65 2c 20 5a 69 67 20 69 73 20 61 74 20 6c 65 61 73 74 20 61 73 20 63 6f 6e 76 65 | ..Here,.Zig.is.at.least.as.conve |
| 4dc00 | 6e 69 65 6e 74 2c 20 69 66 20 6e 6f 74 20 6d 6f 72 65 2c 20 74 68 61 6e 20 43 2e 20 41 6e 64 2c | nient,.if.not.more,.than.C..And, |
| 4dc20 | 20 74 68 65 20 74 79 70 65 20 6f 66 20 22 70 74 72 22 0a 20 20 20 20 20 20 20 20 69 73 20 3c 63 | .the.type.of."ptr".........is.<c |
| 4dc40 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ode.class="zig">*<span.class="to |
| 4dc60 | 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 3c 65 6d 3e 6e 6f 74 | k-type">u8</span></code>.<em>not |
| 4dc80 | 3c 2f 65 6d 3e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3f 2a 3c 73 70 61 6e 20 | </em>.<code.class="zig">?*<span. |
| 4dca0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 | class="tok-type">u8</span></code |
| 4dcc0 | 3e 2e 20 54 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | >..The.<code.class="zig"><span.c |
| 4dce0 | 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 63 6f 64 | lass="tok-kw">orelse</span></cod |
| 4dd00 | 65 3e 20 6b 65 79 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 | e>.keyword.....................u |
| 4dd20 | 6e 77 72 61 70 70 65 64 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 20 61 6e 64 20 74 | nwrapped.the.optional.type.and.t |
| 4dd40 | 68 65 72 65 66 6f 72 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 70 74 72 3c 2f | herefore.<code.class="zig">ptr</ |
| 4dd60 | 63 6f 64 65 3e 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 6e 6f 6e 2d 6e 75 | code>.is.guaranteed.to.be.non-nu |
| 4dd80 | 6c 6c 20 65 76 65 72 79 77 68 65 72 65 0a 20 20 20 20 20 20 20 20 69 74 20 69 73 20 75 73 65 64 | ll.everywhere.........it.is.used |
| 4dda0 | 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 | .in.the.function........</p>.... |
| 4ddc0 | 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 20 20 54 68 65 20 6f 74 68 65 72 20 66 6f 72 6d 20 6f 66 | ...<p>.........The.other.form.of |
| 4dde0 | 20 63 68 65 63 6b 69 6e 67 20 61 67 61 69 6e 73 74 20 4e 55 4c 4c 20 79 6f 75 20 6d 69 67 68 74 | .checking.against.NULL.you.might |
| 4de00 | 20 73 65 65 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e | .see.looks.like.this:.......</p> |
| 4de20 | 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 70 70 22 3e 76 6f | .......<pre><code.class="cpp">vo |
| 4de40 | 69 64 20 64 6f 5f 61 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 | id.do_a_thing(struct.Foo.*foo).{ |
| 4de60 | 0a 20 20 20 20 2f 2f 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 0a 0a 20 20 20 20 69 66 20 28 66 | .....//.do.some.stuff......if.(f |
| 4de80 | 6f 6f 29 20 7b 0a 20 20 20 20 20 20 20 20 64 6f 5f 73 6f 6d 65 74 68 69 6e 67 5f 77 69 74 68 5f | oo).{.........do_something_with_ |
| 4dea0 | 66 6f 6f 28 66 6f 6f 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 2f 2f 20 64 6f 20 73 6f 6d 65 20 | foo(foo);.....}......//.do.some. |
| 4dec0 | 73 74 75 66 66 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 | stuff.}</code></pre>.......<p>.. |
| 4dee0 | 20 20 20 20 20 20 20 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 | .......In.Zig.you.can.accomplish |
| 4df00 | 20 74 68 65 20 73 61 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 | .the.same.thing:.......</p>..... |
| 4df20 | 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | ..<pre><code.class="zig"><span.c |
| 4df40 | 6c 61 73 73 3d 22 74 6f 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 |
| 4df60 | 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 6f 41 54 68 69 6e 67 3c 2f 73 70 61 6e 3e 28 6f 70 74 | ass="tok-fn">doAThing</span>(opt |
| 4df80 | 69 6f 6e 61 6c 5f 66 6f 6f 3a 20 3f 2a 46 6f 6f 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ional_foo:.?*Foo).<span.class="t |
| 4dfa0 | 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e | ok-type">void</span>.{.....<span |
| 4dfc0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 20 73 6f 6d 65 20 | .class="tok-comment">//.do.some. |
| 4dfe0 | 73 74 75 66 66 3c 2f 73 70 61 6e 3e 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | stuff</span>......<span.class="t |
| 4e000 | 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 66 6f 6f 29 20 | ok-kw">if</span>.(optional_foo). |
| 4e020 | 7c 66 6f 6f 7c 20 7b 0a 20 20 20 20 20 20 64 6f 53 6f 6d 65 74 68 69 6e 67 57 69 74 68 46 6f 6f | |foo|.{.......doSomethingWithFoo |
| 4e040 | 28 66 6f 6f 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | (foo);.....}......<span.class="t |
| 4e060 | 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 64 6f 20 73 6f 6d 65 20 73 74 75 66 66 3c 2f 73 70 | ok-comment">//.do.some.stuff</sp |
| 4e080 | 61 6e 3e 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 | an>.}</code></pre>.......<p>.... |
| 4e0a0 | 20 20 20 4f 6e 63 65 20 61 67 61 69 6e 2c 20 74 68 65 20 6e 6f 74 61 62 6c 65 20 74 68 69 6e 67 | ...Once.again,.the.notable.thing |
| 4e0c0 | 20 68 65 72 65 20 69 73 20 74 68 61 74 20 69 6e 73 69 64 65 20 74 68 65 20 69 66 20 62 6c 6f 63 | .here.is.that.inside.the.if.bloc |
| 4e0e0 | 6b 2c 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 66 6f 6f 3c 2f | k,.......<code.class="zig">foo</ |
| 4e100 | 63 6f 64 65 3e 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 | code>.is.no.longer.an.optional.p |
| 4e120 | 6f 69 6e 74 65 72 2c 20 69 74 20 69 73 20 61 20 70 6f 69 6e 74 65 72 2c 20 77 68 69 63 68 0a 20 | ointer,.it.is.a.pointer,.which.. |
| 4e140 | 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 2f 70 3e 0a | .....cannot.be.null........</p>. |
| 4e160 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e 65 20 62 65 6e 65 66 69 74 20 74 6f 20 74 | ......<p>.......One.benefit.to.t |
| 4e180 | 68 69 73 20 69 73 20 74 68 61 74 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 74 61 6b 65 | his.is.that.functions.which.take |
| 4e1a0 | 20 70 6f 69 6e 74 65 72 73 20 61 73 20 61 72 67 75 6d 65 6e 74 73 20 63 61 6e 0a 20 20 20 20 20 | .pointers.as.arguments.can...... |
| 4e1c0 | 20 62 65 20 61 6e 6e 6f 74 61 74 65 64 20 77 69 74 68 20 74 68 65 20 22 6e 6f 6e 6e 75 6c 6c 22 | .be.annotated.with.the."nonnull" |
| 4e1e0 | 20 61 74 74 72 69 62 75 74 65 20 2d 20 3c 63 6f 64 65 3e 5f 5f 61 74 74 72 69 62 75 74 65 5f 5f | .attribute.-.<code>__attribute__ |
| 4e200 | 28 28 6e 6f 6e 6e 75 6c 6c 29 29 3c 2f 63 6f 64 65 3e 20 69 6e 0a 20 20 20 20 20 20 3c 61 20 68 | ((nonnull))</code>.in.......<a.h |
| 4e220 | 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 | ref="https://gcc.gnu.org/onlined |
| 4e240 | 6f 63 73 2f 67 63 63 2d 34 2e 30 2e 30 2f 67 63 63 2f 46 75 6e 63 74 69 6f 6e 2d 41 74 74 72 69 | ocs/gcc-4.0.0/gcc/Function-Attri |
| 4e260 | 62 75 74 65 73 2e 68 74 6d 6c 22 3e 47 43 43 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 54 68 65 20 6f | butes.html">GCC</a>........The.o |
| 4e280 | 70 74 69 6d 69 7a 65 72 20 63 61 6e 20 73 6f 6d 65 74 69 6d 65 73 20 6d 61 6b 65 20 62 65 74 74 | ptimizer.can.sometimes.make.bett |
| 4e2a0 | 65 72 20 64 65 63 69 73 69 6f 6e 73 20 6b 6e 6f 77 69 6e 67 20 74 68 61 74 20 70 6f 69 6e 74 65 | er.decisions.knowing.that.pointe |
| 4e2c0 | 72 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 20 63 61 6e 6e 6f 74 20 62 65 20 6e 75 6c 6c | r.arguments.......cannot.be.null |
| 4e2e0 | 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4f 70 74 69 6f | ........</p>.......<h2.id="Optio |
| 4e300 | 6e 61 6c 2d 54 79 70 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 70 74 69 6f 6e 61 6c | nal-Type"><a.href="#toc-Optional |
| 4e320 | 2d 54 79 70 65 22 3e 4f 70 74 69 6f 6e 61 6c 20 54 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 | -Type">Optional.Type</a>.<a.clas |
| 4e340 | 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 54 79 70 65 22 3e c2 a7 | s="hdr".href="#Optional-Type">.. |
| 4e360 | 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 6e 20 6f 70 74 69 6f 6e 61 6c 20 | </a></h2>........<p>An.optional. |
| 4e380 | 69 73 20 63 72 65 61 74 65 64 20 62 79 20 70 75 74 74 69 6e 67 20 3c 63 6f 64 65 20 63 6c 61 73 | is.created.by.putting.<code.clas |
| 4e3a0 | 73 3d 22 7a 69 67 22 3e 3f 3c 2f 63 6f 64 65 3e 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 61 20 74 | s="zig">?</code>.in.front.of.a.t |
| 4e3c0 | 79 70 65 2e 20 59 6f 75 20 63 61 6e 20 75 73 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 0a 20 20 | ype..You.can.use.compile-time... |
| 4e3e0 | 20 20 20 20 72 65 66 6c 65 63 74 69 6f 6e 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 63 68 69 | ....reflection.to.access.the.chi |
| 4e400 | 6c 64 20 74 79 70 65 20 6f 66 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 3a 3c 2f 70 3e 0a 20 20 20 20 | ld.type.of.an.optional:</p>..... |
| 4e420 | 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 | ..<p.class="file">test.zig</p><p |
| 4e440 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| 4e460 | 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 74 20 3d 20 | ="tok-kw">const</span>.assert.=. |
| 4e480 | 3c 73 70 61 6e 20 63 6c 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 |
| 4e4a0 | 74 3c 2f 73 70 61 6e 3e 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">& |
| 4e4c0 | 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 61 73 73 | quot;std"</span>).debug.ass |
| 4e4e0 | 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c | ert;..<span.class="tok-kw">test< |
| 4e500 | 2f 73 70 61 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 |
| 4e520 | 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a | ot;optional.type"</span>.{. |
| 4e540 | 20 20 20 20 3c 73 70 61 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">// |
| 4e560 | 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 20 | .Declare.an.optional.and.coerce. |
| 4e580 | 66 72 6f 6d 20 6e 75 6c 6c 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | from.null:</span>.....<span.clas |
| 4e5a0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 3a 20 3f 3c 73 70 61 | s="tok-kw">var</span>.foo:.?<spa |
| 4e5c0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 | n.class="tok-type">i32</span>.=. |
| 4e5e0 | 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 |
| 4e600 | 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e | n>;......<span.class="tok-commen |
| 4e620 | 74 22 3e 2f 2f 20 43 6f 65 72 63 65 20 66 72 6f 6d 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 | t">//.Coerce.from.child.type.of. |
| 4e640 | 61 6e 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 66 6f 6f 20 3d 20 3c 73 70 | an.optional</span>.....foo.=.<sp |
| 4e660 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e | an.class="tok-number">1234</span |
| 4e680 | 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 | >;......<span.class="tok-comment |
| 4e6a0 | 22 3e 2f 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 | ">//.Use.compile-time.reflection |
| 4e6c0 | 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 74 68 65 | .to.access.the.child.type.of.the |
| 4e6e0 | 20 6f 70 74 69 6f 6e 61 6c 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | .optional:</span>.....<span.clas |
| 4e700 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 | s="tok-kw">comptime</span>.asser |
| 4e720 | 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 | t(<span.class="tok-builtin">@Typ |
| 4e740 | 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 29 2e 43 68 69 6c 64 20 3d 3d 20 3c 73 70 61 6e 20 63 | eOf</span>(foo).Child.==.<span.c |
| 4e760 | 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f | lass="tok-type">i32</span>);.}</ |
| 4e780 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 | code></pre><pre><code.class="she |
| 4e7a0 | 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 | ll">$.zig.test.test.zig.1/1.test |
| 4e7c0 | 20 26 71 75 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 74 79 70 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a | ."optional.type"...OK. |
| 4e7e0 | 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | All.1.tests.passed..</code></pre |
| 4e800 | 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 6e 75 6c 6c 22 3e 3c 61 | >...............<h2.id="null"><a |
| 4e820 | 20 68 72 65 66 3d 22 23 74 6f 63 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c | .href="#toc-null">null</a>.<a.cl |
| 4e840 | 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 | ass="hdr".href="#null">..</a></h |
| 4e860 | 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 3c 61 | 2>........<p>.......Just.like.<a |
| 4e880 | 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e | .href="#undefined">undefined</a> |
| 4e8a0 | 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ,.<code.class="zig"><span.class= |
| 4e8c0 | 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 | "tok-null">null</span></code>.ha |
| 4e8e0 | 73 20 69 74 73 20 6f 77 6e 20 74 79 70 65 2c 20 61 6e 64 20 74 68 65 20 6f 6e 6c 79 20 77 61 79 | s.its.own.type,.and.the.only.way |
| 4e900 | 20 74 6f 20 75 73 65 20 69 74 20 69 73 20 74 6f 0a 20 20 20 20 20 20 63 61 73 74 20 69 74 20 74 | .to.use.it.is.to.......cast.it.t |
| 4e920 | 6f 20 61 20 64 69 66 66 65 72 65 6e 74 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 | o.a.different.type:.......</p>.. |
| 4e940 | 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | .....<pre><code.class="zig"><spa |
| 4e960 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 | n.class="tok-kw">const</span>.op |
| 4e980 | 74 69 6f 6e 61 6c 5f 76 61 6c 75 65 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | tional_value:.?<span.class="tok- |
| 4e9a0 | 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=" |
| 4e9c0 | 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 | tok-null">null</span>;</code></p |
| 4e9e0 | 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 4f 70 74 69 6f 6e 61 | re>..............<h2.id="Optiona |
| 4ea00 | 6c 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 4f 70 74 69 6f 6e | l-Pointers"><a.href="#toc-Option |
| 4ea20 | 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f | al-Pointers">Optional.Pointers</ |
| 4ea40 | 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 | a>.<a.class="hdr".href="#Optiona |
| 4ea60 | 6c 2d 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 | l-Pointers">..</a></h2>........< |
| 4ea80 | 70 3e 41 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 20 69 73 20 67 75 61 72 61 6e 74 | p>An.optional.pointer.is.guarant |
| 4eaa0 | 65 65 64 20 74 6f 20 62 65 20 74 68 65 20 73 61 6d 65 20 73 69 7a 65 20 61 73 20 61 20 70 6f 69 | eed.to.be.the.same.size.as.a.poi |
| 4eac0 | 6e 74 65 72 2e 20 54 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | nter..The.<code.class="zig"><spa |
| 4eae0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f | n.class="tok-null">null</span></ |
| 4eb00 | 63 6f 64 65 3e 20 6f 66 0a 20 20 20 20 20 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 69 73 20 67 | code>.of.......the.optional.is.g |
| 4eb20 | 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 61 64 64 72 65 73 73 20 30 2e 3c 2f 70 3e 0a 20 | uaranteed.to.be.address.0.</p>.. |
| 4eb40 | 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 | .....<p.class="file">test.zig</p |
| 4eb60 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ><pre><code.class="zig"><span.cl |
| 4eb80 | 61 73 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 74 | ass="tok-kw">const</span>.assert |
| 4eba0 | 20 3d 20 3c 73 70 61 6e 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 |
| 4ebc0 | 70 6f 72 74 3c 2f 73 70 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 |
| 4ebe0 | 22 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 | ">"std"</span>).debug. |
| 4ec00 | 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 | assert;..<span.class="tok-kw">te |
| 4ec20 | 73 74 3c 2f 73 70 61 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"> |
| 4ec40 | 26 71 75 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 26 71 75 6f 74 3b 3c 2f 73 | "optional.pointers"</s |
| 4ec60 | 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d | pan>.{.....<span.class="tok-comm |
| 4ec80 | 65 6e 74 22 3e 2f 2f 20 50 6f 69 6e 74 65 72 73 20 63 61 6e 6e 6f 74 20 62 65 20 6e 75 6c 6c 2e | ent">//.Pointers.cannot.be.null. |
| 4eca0 | 20 49 66 20 79 6f 75 20 77 61 6e 74 20 61 20 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 2c 20 75 73 65 | .If.you.want.a.null.pointer,.use |
| 4ecc0 | 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 | .the.optional</span>.....<span.c |
| 4ece0 | 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 72 65 66 69 78 20 60 3f 60 | lass="tok-comment">//.prefix.`?` |
| 4ed00 | 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 6f 70 74 69 6f 6e | .to.make.the.pointer.type.option |
| 4ed20 | 61 6c 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | al.</span>.....<span.class="tok- |
| 4ed40 | 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 | kw">var</span>.ptr:.?*<span.clas |
| 4ed60 | 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. |
| 4ed80 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 | class="tok-null">null</span>;... |
| 4eda0 | 20 20 20 3c 73 70 61 6e 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 |
| 4edc0 | 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 |
| 4ede0 | 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 |
| 4ee00 | 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 70 74 72 20 3d 20 26 61 6d 70 3b 78 3b 0a 0a | r">1</span>;.....ptr.=.&x;.. |
| 4ee20 | 20 20 20 20 61 73 73 65 72 74 28 70 74 72 2e 3f 2e 2a 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | ....assert(ptr.?.*.==.<span.clas |
| 4ee40 | 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 0a 0a 20 20 20 20 3c | s="tok-number">1</span>);......< |
| 4ee60 | 73 70 61 6e 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 | span.class="tok-comment">//.Opti |
| 4ee80 | 6f 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 | onal.pointers.are.the.same.size. |
| 4eea0 | 61 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 | as.normal.pointers,.because.poin |
| 4eec0 | 74 65 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ter</span>.....<span.class="tok- |
| 4eee0 | 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 6c 75 65 20 30 20 69 73 20 75 73 65 64 20 61 73 20 74 | comment">//.value.0.is.used.as.t |
| 4ef00 | 68 65 20 6e 75 6c 6c 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 73 73 65 72 74 | he.null.value.</span>.....assert |
| 4ef20 | 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 | (<span.class="tok-builtin">@size |
| 4ef40 | 4f 66 3c 2f 73 70 61 6e 3e 28 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | Of</span>(?*<span.class="tok-typ |
| 4ef60 | 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | e">i32</span>).==.<span.class="t |
| 4ef80 | 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 | ok-builtin">@sizeOf</span>(*<spa |
| 4efa0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 3b | n.class="tok-type">i32</span>)); |
| 4efc0 | 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | .}</code></pre><pre><code.class= |
| 4efe0 | 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 | "shell">$.zig.test.test.zig.1/1. |
| 4f000 | 74 65 73 74 20 26 71 75 6f 74 3b 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 65 72 73 26 71 75 6f | test."optional.pointers&quo |
| 4f020 | 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f | t;...OK.All.1.tests.passed..</co |
| 4f040 | 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c | de></pre>......................< |
| 4f060 | 68 31 20 69 64 3d 22 43 61 73 74 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 | h1.id="Casting"><a.href="#toc-Ca |
| 4f080 | 73 74 69 6e 67 22 3e 43 61 73 74 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 | sting">Casting</a>.<a.class="hdr |
| 4f0a0 | 22 20 68 72 65 66 3d 22 23 43 61 73 74 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 | ".href="#Casting">..</a></h1>... |
| 4f0c0 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 3c 73 74 72 6f 6e 67 3e 74 79 70 65 20 63 61 | .....<p>.......A.<strong>type.ca |
| 4f0e0 | 73 74 3c 2f 73 74 72 6f 6e 67 3e 20 63 6f 6e 76 65 72 74 73 20 61 20 76 61 6c 75 65 20 6f 66 20 | st</strong>.converts.a.value.of. |
| 4f100 | 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 2e 0a 20 20 20 20 20 20 5a 69 67 20 68 | one.type.to.another........Zig.h |
| 4f120 | 61 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 | as.<a.href="#Type-Coercion">Type |
| 4f140 | 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 20 66 6f 72 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 74 68 | .Coercion</a>.for.conversions.th |
| 4f160 | 61 74 20 61 72 65 20 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 73 61 | at.are.known.to.be.completely.sa |
| 4f180 | 66 65 20 61 6e 64 20 75 6e 61 6d 62 69 67 75 6f 75 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 3c 61 | fe.and.unambiguous,.......and.<a |
| 4f1a0 | 20 68 72 65 66 3d 22 23 45 78 70 6c 69 63 69 74 2d 43 61 73 74 73 22 3e 45 78 70 6c 69 63 69 74 | .href="#Explicit-Casts">Explicit |
| 4f1c0 | 20 43 61 73 74 73 3c 2f 61 3e 20 66 6f 72 20 63 6f 6e 76 65 72 73 69 6f 6e 73 20 74 68 61 74 20 | .Casts</a>.for.conversions.that. |
| 4f1e0 | 6f 6e 65 20 77 6f 75 6c 64 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 68 61 70 70 65 6e 20 6f 6e 20 | one.would.not.want.to.happen.on. |
| 4f200 | 61 63 63 69 64 65 6e 74 2e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 | accident........There.is.also.a. |
| 4f220 | 74 68 69 72 64 20 6b 69 6e 64 20 6f 66 20 74 79 70 65 20 63 6f 6e 76 65 72 73 69 6f 6e 20 63 61 | third.kind.of.type.conversion.ca |
| 4f240 | 6c 6c 65 64 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 74 | lled.<a.href="#Peer-Type-Resolut |
| 4f260 | 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 3c 2f 61 3e 20 66 6f | ion">Peer.Type.Resolution</a>.fo |
| 4f280 | 72 0a 20 20 20 20 20 20 74 68 65 20 63 61 73 65 20 77 68 65 6e 20 61 20 72 65 73 75 6c 74 20 74 | r.......the.case.when.a.result.t |
| 4f2a0 | 79 70 65 20 6d 75 73 74 20 62 65 20 64 65 63 69 64 65 64 20 67 69 76 65 6e 20 6d 75 6c 74 69 70 | ype.must.be.decided.given.multip |
| 4f2c0 | 6c 65 20 6f 70 65 72 61 6e 64 20 74 79 70 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 | le.operand.types........</p>.... |
| 4f2e0 | 20 20 20 3c 68 32 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 | ...<h2.id="Type-Coercion"><a.hre |
| 4f300 | 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 | f="#toc-Type-Coercion">Type.Coer |
| 4f320 | 63 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 | cion</a>.<a.class="hdr".href="#T |
| 4f340 | 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 | ype-Coercion">..</a></h2>....... |
| 4f360 | 20 3c 70 3e 0a 20 20 20 20 20 20 54 79 70 65 20 63 6f 65 72 63 69 6f 6e 20 6f 63 63 75 72 73 20 | .<p>.......Type.coercion.occurs. |
| 4f380 | 77 68 65 6e 20 6f 6e 65 20 74 79 70 65 20 69 73 20 65 78 70 65 63 74 65 64 2c 20 62 75 74 20 64 | when.one.type.is.expected,.but.d |
| 4f3a0 | 69 66 66 65 72 65 6e 74 20 74 79 70 65 20 69 73 20 70 72 6f 76 69 64 65 64 3a 0a 20 20 20 20 20 | ifferent.type.is.provided:...... |
| 4f3c0 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 | .</p>.......<p.class="file">test |
| 4f3e0 | 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | .zig</p><pre><code.class="zig">< |
| 4f400 | 73 70 61 6e 20 63 6c 61 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>. |
| 4f420 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 79 70 65 | <span.class="tok-str">"type |
| 4f440 | 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 6e | .coercion.-.variable.declaration |
| 4f460 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | "</span>.{.....<span.class= |
| 4f480 | 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 |
| 4f4a0 | 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. |
| 4f4c0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 | class="tok-number">1</span>;.... |
| 4f4e0 | 20 3c 73 70 61 6e 20 63 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> |
| 4f500 | 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 2f | .b:.<span.class="tok-type">u16</ |
| 4f520 | 73 70 61 6e 3e 20 3d 20 61 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | span>.=.a;.}..<span.class="tok-k |
| 4f540 | 77 22 3e 74 65 73 74 3c 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- |
| 4f560 | 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 66 75 6e 63 74 | str">"type.coercion.-.funct |
| 4f580 | 69 6f 6e 20 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 | ion.call"</span>.{.....<spa |
| 4f5a0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c | n.class="tok-kw">var</span>.a:.< |
| 4f5c0 | 73 70 61 6e 20 63 6c 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>. |
| 4f5e0 | 3d 20 3c 73 70 61 6e 20 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 |
| 4f600 | 61 6e 3e 3b 0a 20 20 20 20 66 6f 6f 28 61 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | an>;.....foo(a);.}..<span.class= |
| 4f620 | 22 74 6f 6b 2d 6b 77 22 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=" |
| 4f640 | 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | tok-fn">foo</span>(b:.<span.clas |
| 4f660 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 | s="tok-type">u16</span>).<span.c |
| 4f680 | 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 0a 0a | lass="tok-type">void</span>.{}.. |
| 4f6a0 | 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> |
| 4f6c0 | 20 3c 73 70 61 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">"typ |
| 4f6e0 | 65 20 63 6f 65 72 63 69 6f 6e 20 2d 20 40 61 73 20 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f | e.coercion.-.@as.builtin"</ |
| 4f700 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | span>.{.....<span.class="tok-kw" |
| 4f720 | 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- |
| 4f740 | 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | type">u8</span>.=.<span.class="t |
| 4f760 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | ok-number">1</span>;.....<span.c |
| 4f780 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 3c 73 70 | lass="tok-kw">var</span>.b.=.<sp |
| 4f7a0 | 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 |
| 4f7c0 | 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 36 3c 2f 73 70 | >(<span.class="tok-type">u16</sp |
| 4f7e0 | 61 6e 3e 2c 20 61 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 | an>,.a);.}</code></pre><pre><cod |
| 4f800 | 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e | e.class="shell">$.zig.test.test. |
| 4f820 | 7a 69 67 0a 31 2f 33 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 | zig.1/3.test."type.coercion |
| 4f840 | 20 2d 20 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e | .-.variable.declaration"... |
| 4f860 | 4f 4b 0a 32 2f 33 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 | OK.2/3.test."type.coercion. |
| 4f880 | 2d 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 33 2f 33 20 74 | -.function.call"...OK.3/3.t |
| 4f8a0 | 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 62 75 | est."type.coercion.-.@as.bu |
| 4f8c0 | 69 6c 74 69 6e 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 | iltin"...OK.All.3.tests.pas |
| 4f8e0 | 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 | sed..</code></pre>........<p>... |
| 4f900 | 20 20 20 20 54 79 70 65 20 63 6f 65 72 63 69 6f 6e 73 20 61 72 65 20 6f 6e 6c 79 20 61 6c 6c 6f | ....Type.coercions.are.only.allo |
| 4f920 | 77 65 64 20 77 68 65 6e 20 69 74 20 69 73 20 63 6f 6d 70 6c 65 74 65 6c 79 20 75 6e 61 6d 62 69 | wed.when.it.is.completely.unambi |
| 4f940 | 67 75 6f 75 73 20 68 6f 77 20 74 6f 20 67 65 74 20 66 72 6f 6d 20 6f 6e 65 20 74 79 70 65 20 74 | guous.how.to.get.from.one.type.t |
| 4f960 | 6f 20 61 6e 6f 74 68 65 72 2c 0a 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 74 72 61 6e 73 66 6f | o.another,.......and.the.transfo |
| 4f980 | 72 6d 61 74 69 6f 6e 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 73 61 66 65 | rmation.is.guaranteed.to.be.safe |
| 4f9a0 | 2e 20 54 68 65 72 65 20 69 73 20 6f 6e 65 20 65 78 63 65 70 74 69 6f 6e 2c 20 77 68 69 63 68 20 | ..There.is.one.exception,.which. |
| 4f9c0 | 69 73 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 | is.<a.href="#C-Pointers">C.Point |
| 4f9e0 | 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 33 20 69 64 | ers</a>........</p>.......<h3.id |
| 4fa00 | 3d 22 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 | ="Type-Coercion-Stricter-Qualifi |
| 4fa20 | 63 61 74 69 6f 6e 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 | cation"><a.href="#toc-Type-Coerc |
| 4fa40 | 69 6f 6e 2d 53 74 72 69 63 74 65 72 2d 51 75 61 6c 69 66 69 63 61 74 69 6f 6e 22 3e 54 79 70 65 | ion-Stricter-Qualification">Type |
| 4fa60 | 20 43 6f 65 72 63 69 6f 6e 3a 20 53 74 72 69 63 74 65 72 20 51 75 61 6c 69 66 69 63 61 74 69 6f | .Coercion:.Stricter.Qualificatio |
| 4fa80 | 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 | n</a>.<a.class="hdr".href="#Type |
| 4faa0 | 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 6e | -Coercion-Stricter-Qualification |
| 4fac0 | 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 56 | ">..</a></h3>........<p>.......V |
| 4fae0 | 61 6c 75 65 73 20 77 68 69 63 68 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 72 65 70 72 65 73 | alues.which.have.the.same.repres |
| 4fb00 | 65 6e 74 61 74 69 6f 6e 20 61 74 20 72 75 6e 74 69 6d 65 20 63 61 6e 20 62 65 20 63 61 73 74 20 | entation.at.runtime.can.be.cast. |
| 4fb20 | 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 73 74 72 69 63 74 6e 65 73 73 0a 20 20 20 20 20 | to.increase.the.strictness...... |
| 4fb40 | 20 6f 66 20 74 68 65 20 71 75 61 6c 69 66 69 65 72 73 2c 20 6e 6f 20 6d 61 74 74 65 72 20 68 6f | .of.the.qualifiers,.no.matter.ho |
| 4fb60 | 77 20 6e 65 73 74 65 64 20 74 68 65 20 71 75 61 6c 69 66 69 65 72 73 20 61 72 65 3a 0a 20 20 20 | w.nested.the.qualifiers.are:.... |
| 4fb80 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 | ...</p>.......<ul>...........<li |
| 4fba0 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| 4fbc0 | 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6e 6f | tok-kw">const</span></code>.-.no |
| 4fbe0 | 6e 2d 63 6f 6e 73 74 20 74 6f 20 63 6f 6e 73 74 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c 69 3e | n-const.to.const.is.allowed</li> |
| 4fc00 | 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | ...........<li><code.class="zig" |
| 4fc20 | 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 2f | ><span.class="tok-kw">volatile</ |
| 4fc40 | 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 2d 20 6e 6f 6e 2d 76 6f 6c 61 74 69 6c 65 20 74 6f 20 76 | span></code>.-.non-volatile.to.v |
| 4fc60 | 6f 6c 61 74 69 6c 65 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | olatile.is.allowed</li>......... |
| 4fc80 | 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ..<li><code.class="zig"><span.cl |
| 4fca0 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e | ass="tok-kw">align</span></code> |
| 4fcc0 | 20 2d 20 62 69 67 67 65 72 20 74 6f 20 73 6d 61 6c 6c 65 72 20 61 6c 69 67 6e 6d 65 6e 74 20 69 | .-.bigger.to.smaller.alignment.i |
| 4fce0 | 73 20 61 6c 6c 6f 77 65 64 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 | s.allowed.</li>...........<li><a |
| 4fd00 | 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 53 65 74 2d 54 79 70 65 22 3e 65 72 72 6f 72 20 73 65 | .href="#Error-Set-Type">error.se |
| 4fd20 | 74 73 3c 2f 61 3e 20 74 6f 20 73 75 70 65 72 73 65 74 73 20 69 73 20 61 6c 6c 6f 77 65 64 3c 2f | ts</a>.to.supersets.is.allowed</ |
| 4fd40 | 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>....... |
| 4fd60 | 54 68 65 73 65 20 63 61 73 74 73 20 61 72 65 20 6e 6f 2d 6f 70 73 20 61 74 20 72 75 6e 74 69 6d | These.casts.are.no-ops.at.runtim |
| 4fd80 | 65 20 73 69 6e 63 65 20 74 68 65 20 76 61 6c 75 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e | e.since.the.value.representation |
| 4fda0 | 20 64 6f 65 73 20 6e 6f 74 20 63 68 61 6e 67 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 | .does.not.change........</p>.... |
| 4fdc0 | 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c | ...<p.class="file">test.zig</p>< |
| 4fde0 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | pre><code.class="zig"><span.clas |
| 4fe00 | 73 3d 22 74 6f 6b 2d 6b 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 |
| 4fe20 | 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">"type.coercion |
| 4fe40 | 20 2d 20 63 6f 6e 73 74 20 71 75 61 6c 69 66 69 63 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 | .-.const.qualification"</sp |
| 4fe60 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 | an>.{.....<span.class="tok-kw">v |
| 4fe80 | 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 |
| 4fea0 | 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 |
| 4fec0 | 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | k-number">1</span>;.....<span.cl |
| 4fee0 | 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 2a 3c 73 70 61 | ass="tok-kw">var</span>.b:.*<spa |
| 4ff00 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 | n.class="tok-type">i32</span>.=. |
| 4ff20 | 26 61 6d 70 3b 61 3b 0a 20 20 20 20 66 6f 6f 28 62 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 | &a;.....foo(b);.}..<span.cla |
| 4ff40 | 73 73 3d 22 74 6f 6b 2d 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 |
| 4ff60 | 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 61 3a 20 2a 3c 73 70 61 6e 20 | s="tok-fn">foo</span>(a:.*<span. |
| 4ff80 | 63 6c 61 73 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 |
| 4ffa0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c | n.class="tok-type">i32</span>).< |
| 4ffc0 | 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 |
| 4ffe0 | 3e 20 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | >.{}</code></pre><pre><code.clas |
| 50000 | 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f | s="shell">$.zig.test.test.zig.1/ |
| 50020 | 31 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 63 6f 6e | 1.test."type.coercion.-.con |
| 50040 | 73 74 20 71 75 61 6c 69 66 69 63 61 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 | st.qualification"...OK.All. |
| 50060 | 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 | 1.tests.passed..</code></pre>... |
| 50080 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 70 6f 69 6e | .....<p>.......In.addition,.poin |
| 500a0 | 74 65 72 73 20 63 6f 65 72 63 65 20 74 6f 20 63 6f 6e 73 74 20 6f 70 74 69 6f 6e 61 6c 20 70 6f | ters.coerce.to.const.optional.po |
| 500c0 | 69 6e 74 65 72 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 | inters:.......</p>.......<p.clas |
| 500e0 | 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 | s="file">test.zig</p><pre><code. |
| 50100 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | class="zig"><span.class="tok-kw" |
| 50120 | 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= |
| 50140 | 22 74 6f 6b 2d 62 75 69 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 |
| 50160 | 61 6e 20 63 6c 61 73 73 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">"std&quo |
| 50180 | 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | t;</span>);.<span.class="tok-kw" |
| 501a0 | 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 | >const</span>.assert.=.std.debug |
| 501c0 | 2e 61 73 73 65 72 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | .assert;.<span.class="tok-kw">co |
| 501e0 | 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 73 74 64 2e 6d 65 6d 3b 0a 0a 3c 73 70 61 6e | nst</span>.mem.=.std.mem;..<span |
| 50200 | 20 63 6c 61 73 73 3d 22 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 |
| 50220 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 61 73 74 20 2a 5b 31 | n.class="tok-str">"cast.*[1 |
| 50240 | 5d 5b 2a 5d 63 6f 6e 73 74 20 75 38 20 74 6f 20 5b 2a 5d 63 6f 6e 73 74 20 3f 5b 2a 5d 63 6f 6e | ][*]const.u8.to.[*]const.?[*]con |
| 50260 | 73 74 20 75 38 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | st.u8"</span>.{.....<span.c |
| 50280 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 69 6e 64 6f | lass="tok-kw">const</span>.windo |
| 502a0 | 77 5f 6e 61 6d 65 20 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | w_name.=.[<span.class="tok-numbe |
| 502c0 | 72 22 3e 31 3c 2f 73 70 61 6e 3e 5d 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | r">1</span>][*]<span.class="tok- |
| 502e0 | 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 |
| 50300 | 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | k-type">u8</span>{<span.class="t |
| 50320 | 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 69 6e 64 6f 77 20 6e 61 6d 65 26 71 75 6f 74 3b 3c | ok-str">"window.name"< |
| 50340 | 2f 73 70 61 6e 3e 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | /span>};.....<span.class="tok-kw |
| 50360 | 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 | ">const</span>.x:.[*]<span.class |
| 50380 | 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3f 5b 2a 5d 3c 73 70 61 6e | ="tok-kw">const</span>.?[*]<span |
| 503a0 | 20 63 6c 61 73 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 |
| 503c0 | 61 6e 20 63 6c 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>.=. |
| 503e0 | 26 61 6d 70 3b 77 69 6e 64 6f 77 5f 6e 61 6d 65 3b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d | &window_name;.....assert(mem |
| 50400 | 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f | .eql(<span.class="tok-type">u8</ |
| 50420 | 73 70 61 6e 3e 2c 20 73 74 64 2e 6d 65 6d 2e 73 70 61 6e 5a 28 3c 73 70 61 6e 20 63 6c 61 73 73 | span>,.std.mem.spanZ(<span.class |
| 50440 | 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 5b | ="tok-builtin">@ptrCast</span>([ |
| 50460 | 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 2f 73 70 | *:<span.class="tok-number">0</sp |
| 50480 | 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | an>]<span.class="tok-kw">const</ |
| 504a0 | 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< |
| 504c0 | 2f 73 70 61 6e 3e 2c 20 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | /span>,.x[<span.class="tok-numbe |
| 504e0 | 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 2e 3f 29 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | r">0</span>].?)),.<span.class="t |
| 50500 | 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 77 69 6e 64 6f 77 20 6e 61 6d 65 26 71 75 6f 74 3b 3c | ok-str">"window.name"< |
| 50520 | 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f | /span>));.}</code></pre><pre><co |
| 50540 | 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 | de.class="shell">$.zig.test.test |
| 50560 | 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 61 73 74 20 2a 5b 31 5d 5b 2a 5d | .zig.1/1.test."cast.*[1][*] |
| 50580 | 63 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 | const.u8.to.[*]const.?[*]const.u |
| 505a0 | 38 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e | 8"...OK.All.1.tests.passed. |
| 505c0 | 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 | .</code></pre>...............<h3 |
| 505e0 | 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 2d 61 6e 64 2d 46 | .id="Type-Coercion-Integer-and-F |
| 50600 | 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 | loat-Widening"><a.href="#toc-Typ |
| 50620 | 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 64 | e-Coercion-Integer-and-Float-Wid |
| 50640 | 65 6e 69 6e 67 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 49 6e 74 65 67 65 72 20 61 6e | ening">Type.Coercion:.Integer.an |
| 50660 | 64 20 46 6c 6f 61 74 20 57 69 64 65 6e 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 | d.Float.Widening</a>.<a.class="h |
| 50680 | 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 49 6e 74 65 67 65 72 | dr".href="#Type-Coercion-Integer |
| 506a0 | 2d 61 6e 64 2d 46 6c 6f 61 74 2d 57 69 64 65 6e 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e | -and-Float-Widening">..</a></h3> |
| 506c0 | 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 | ........<p>.......<a.href="#Inte |
| 506e0 | 67 65 72 73 22 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 63 6f 65 72 63 65 20 74 6f 20 69 6e 74 | gers">Integers</a>.coerce.to.int |
| 50700 | 65 67 65 72 20 74 79 70 65 73 20 77 68 69 63 68 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 65 | eger.types.which.can.represent.e |
| 50720 | 76 65 72 79 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 6c 64 20 74 79 70 65 2c 20 61 6e 64 20 | very.value.of.the.old.type,.and. |
| 50740 | 6c 69 6b 65 77 69 73 65 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 | likewise.......<a.href="#Floats" |
| 50760 | 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 63 6f 65 72 63 65 20 74 6f 20 66 6c 6f 61 74 20 74 79 70 65 | >Floats</a>.coerce.to.float.type |
| 50780 | 73 20 77 68 69 63 68 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 65 76 65 72 79 20 76 61 6c 75 | s.which.can.represent.every.valu |
| 507a0 | 65 20 6f 66 20 74 68 65 20 6f 6c 64 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 | e.of.the.old.type........</p>... |
| 507c0 | 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e | ....<p.class="file">test.zig</p> |
| 507e0 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | <pre><code.class="zig"><span.cla |
| 50800 | 73 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.=.< |
| 50820 | 73 70 61 6e 20 63 6c 61 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 |
| 50840 | 3c 2f 73 70 61 6e 3e 28 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 |
| 50860 | 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 | uot;std"</span>);.<span.cla |
| 50880 | 73 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 74 20 | ss="tok-kw">const</span>.assert. |
| 508a0 | 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | =.std.debug.assert;.<span.class= |
| 508c0 | 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 73 74 64 2e | "tok-kw">const</span>.mem.=.std. |
| 508e0 | 6d 65 6d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c | mem;..<span.class="tok-kw">test< |
| 50900 | 2f 73 70 61 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 |
| 50920 | 6f 74 3b 69 6e 74 65 67 65 72 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e | ot;integer.widening"</span> |
| 50940 | 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c | .{.....<span.class="tok-kw">var< |
| 50960 | 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | /span>.a:.<span.class="tok-type" |
| 50980 | 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 |
| 509a0 | 6d 62 65 72 22 3e 32 35 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | mber">250</span>;.....<span.clas |
| 509c0 | 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 |
| 509e0 | 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 0a | lass="tok-type">u16</span>.=.a;. |
| 50a00 | 20 20 20 20 3c 73 70 61 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 |
| 50a20 | 61 6e 3e 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 | an>.c:.<span.class="tok-type">u3 |
| 50a40 | 32 3c 2f 73 70 61 6e 3e 20 3d 20 62 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | 2</span>.=.b;.....<span.class="t |
| 50a60 | 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 |
| 50a80 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 3d 20 63 3b 0a 20 20 20 20 | ="tok-type">u64</span>.=.c;..... |
| 50aa0 | 3c 73 70 61 6e 20 63 6c 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>. |
| 50ac0 | 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 | e:.<span.class="tok-type">u64</s |
| 50ae0 | 70 61 6e 3e 20 3d 20 64 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | pan>.=.d;.....<span.class="tok-k |
| 50b00 | 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | w">var</span>.f:.<span.class="to |
| 50b20 | 6b 2d 74 79 70 65 22 3e 75 31 32 38 3c 2f 73 70 61 6e 3e 20 3d 20 65 3b 0a 20 20 20 20 61 73 73 | k-type">u128</span>.=.e;.....ass |
| 50b40 | 65 72 74 28 66 20 3d 3d 20 61 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ert(f.==.a);.}..<span.class="tok |
| 50b60 | 2d 6b 77 22 3e 74 65 73 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 |
| 50b80 | 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 6d 70 6c 69 63 69 74 20 75 6e 73 69 67 6e 65 64 20 69 | k-str">"implicit.unsigned.i |
| 50ba0 | 6e 74 65 67 65 72 20 74 6f 20 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 26 71 75 6f 74 3b 3c 2f | nteger.to.signed.integer"</ |
| 50bc0 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | span>.{.....<span.class="tok-kw" |
| 50be0 | 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- |
| 50c00 | 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | type">u8</span>.=.<span.class="t |
| 50c20 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e | ok-number">250</span>;.....<span |
| 50c40 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 | .class="tok-kw">var</span>.b:.<s |
| 50c60 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 31 36 3c 2f 73 70 61 6e 3e 20 | pan.class="tok-type">i16</span>. |
| 50c80 | 3d 20 61 3b 0a 20 20 20 20 61 73 73 65 72 74 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | =.a;.....assert(b.==.<span.class |
| 50ca0 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 | ="tok-number">250</span>);.}..<s |
| 50cc0 | 70 61 6e 20 63 6c 61 73 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>.< |
| 50ce0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6c 6f 61 74 | span.class="tok-str">"float |
| 50d00 | 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 | .widening"</span>.{.....<sp |
| 50d20 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 6f 74 65 3a 20 | an.class="tok-comment">//.Note:. |
| 50d40 | 74 68 65 72 65 20 69 73 20 61 6e 20 6f 70 65 6e 20 69 73 73 75 65 20 70 72 65 76 65 6e 74 69 6e | there.is.an.open.issue.preventin |
| 50d60 | 67 20 74 68 69 73 20 66 72 6f 6d 20 77 6f 72 6b 69 6e 67 20 6f 6e 20 61 61 72 63 68 36 34 3a 3c | g.this.from.working.on.aarch64:< |
| 50d80 | 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d | /span>.....<span.class="tok-comm |
| 50da0 | 65 6e 74 22 3e 2f 2f 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 | ent">//.https://github.com/zigla |
| 50dc0 | 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 33 32 38 32 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 | ng/zig/issues/3282</span>.....<s |
| 50de0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 | pan.class="tok-kw">if</span>.(st |
| 50e00 | 64 2e 54 61 72 67 65 74 2e 63 75 72 72 65 6e 74 2e 63 70 75 2e 61 72 63 68 20 3d 3d 20 2e 61 61 | d.Target.current.cpu.arch.==..aa |
| 50e20 | 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 74 75 | rch64).<span.class="tok-kw">retu |
| 50e40 | 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 | rn</span>.<span.class="tok-kw">e |
| 50e60 | 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 53 6b 69 70 5a 69 67 54 65 73 74 3b 0a 0a 20 20 20 20 3c 73 | rror</span>.SkipZigTest;......<s |
| 50e80 | 70 61 6e 20 63 6c 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: |
| 50ea0 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 31 36 3c 2f 73 70 61 | .<span.class="tok-type">f16</spa |
| 50ec0 | 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 | n>.=.<span.class="tok-number">12 |
| 50ee0 | 2e 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | .34</span>;.....<span.class="tok |
| 50f00 | 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | -kw">var</span>.b:.<span.class=" |
| 50f20 | 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 61 3b 0a 20 20 20 20 3c 73 | tok-type">f32</span>.=.a;.....<s |
| 50f40 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 3a | pan.class="tok-kw">var</span>.c: |
| 50f60 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 36 34 3c 2f 73 70 61 | .<span.class="tok-type">f64</spa |
| 50f80 | 6e 3e 20 3d 20 62 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | n>.=.b;.....<span.class="tok-kw" |
| 50fa0 | 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 74 6f 6b 2d | >var</span>.d:.<span.class="tok- |
| 50fc0 | 74 79 70 65 22 3e 66 31 32 38 3c 2f 73 70 61 6e 3e 20 3d 20 63 3b 0a 20 20 20 20 61 73 73 65 72 | type">f128</span>.=.c;.....asser |
| 50fe0 | 74 28 64 20 3d 3d 20 61 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 | t(d.==.a);.}</code></pre><pre><c |
| 51000 | 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 | ode.class="shell">$.zig.test.tes |
| 51020 | 74 2e 7a 69 67 0a 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 | t.zig.1/3.test."integer.wid |
| 51040 | 65 6e 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 32 2f 33 20 74 65 73 74 20 26 71 75 6f 74 3b | ening"...OK.2/3.test." |
| 51060 | 69 6d 70 6c 69 63 69 74 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 74 6f 20 73 69 67 | implicit.unsigned.integer.to.sig |
| 51080 | 6e 65 64 20 69 6e 74 65 67 65 72 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 33 2f 33 20 74 65 73 74 20 | ned.integer"...OK.3/3.test. |
| 510a0 | 26 71 75 6f 74 3b 66 6c 6f 61 74 20 77 69 64 65 6e 69 6e 67 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a | "float.widening"...OK. |
| 510c0 | 41 6c 6c 20 33 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | All.3.tests.passed..</code></pre |
| 510e0 | 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 | >...............<h3.id="Type-Coe |
| 51100 | 72 63 69 6f 6e 2d 41 72 72 61 79 73 2d 61 6e 64 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 | rcion-Arrays-and-Pointers"><a.hr |
| 51120 | 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 41 72 72 61 79 73 2d 61 6e | ef="#toc-Type-Coercion-Arrays-an |
| 51140 | 64 2d 50 6f 69 6e 74 65 72 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 41 72 72 61 79 | d-Pointers">Type.Coercion:.Array |
| 51160 | 73 20 61 6e 64 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 | s.and.Pointers</a>.<a.class="hdr |
| 51180 | 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 41 72 72 61 79 73 2d 61 6e | ".href="#Type-Coercion-Arrays-an |
| 511a0 | 64 2d 50 6f 69 6e 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c | d-Pointers">..</a></h3>........< |
| 511c0 | 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 65 72 63 65 5f 61 72 72 61 79 73 5f 61 6e 64 | p.class="file">coerce_arrays_and |
| 511e0 | 5f 70 74 72 73 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | _ptrs.zig</p><pre><code.class="z |
| 51200 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | ig"><span.class="tok-kw">const</ |
| 51220 | 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 |
| 51240 | 6c 74 69 6e 22 3e 40 69 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 |
| 51260 | 3d 22 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">"std"</span |
| 51280 | 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | >);.<span.class="tok-kw">const</ |
| 512a0 | 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b | span>.assert.=.std.debug.assert; |
| 512c0 | 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 | ..<span.class="tok-comment">//.T |
| 512e0 | 68 69 73 20 63 61 73 74 20 65 78 69 73 74 73 20 70 72 69 6d 61 72 69 6c 79 20 73 6f 20 74 68 61 | his.cast.exists.primarily.so.tha |
| 51300 | 74 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 73 20 63 61 6e 20 62 65 3c 2f 73 70 61 6e 3e 0a | t.string.literals.can.be</span>. |
| 51320 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 70 61 73 | <span.class="tok-comment">//.pas |
| 51340 | 73 65 64 20 74 6f 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 61 63 63 65 70 74 20 63 6f 6e | sed.to.functions.that.accept.con |
| 51360 | 73 74 20 73 6c 69 63 65 73 2e 20 48 6f 77 65 76 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 | st.slices..However</span>.<span. |
| 51380 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 74 20 69 73 20 70 72 6f | class="tok-comment">//.it.is.pro |
| 513a0 | 62 61 62 6c 79 20 67 6f 69 6e 67 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 64 20 66 72 6f 6d 20 74 | bably.going.to.be.removed.from.t |
| 513c0 | 68 65 20 6c 61 6e 67 75 61 67 65 20 77 68 65 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c | he.language.when</span>.<span.cl |
| 513e0 | 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 74 74 70 73 3a 2f 2f 67 69 74 | ass="tok-comment">//.https://git |
| 51400 | 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 32 36 35 20 69 | hub.com/ziglang/zig/issues/265.i |
| 51420 | 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 | s.implemented.</span>.<span.clas |
| 51440 | 73 3d 22 74 6f 6b 2d 6b 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 |
| 51460 | 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5b 4e 5d 54 20 74 6f 20 5b 5d 63 6f 6e | ss="tok-str">"[N]T.to.[]con |
| 51480 | 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | st.T"</span>.{.....<span.cl |
| 514a0 | 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 31 3a 20 5b 5d 3c 73 | ass="tok-kw">var</span>.x1:.[]<s |
| 514c0 | 70 61 6e 20 63 6c 61 73 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>. |
| 514e0 | 3c 73 70 61 6e 20 63 6c 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> |
| 51500 | 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 | .=.<span.class="tok-str">"h |
| 51520 | 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | ello"</span>;.....<span.cla |
| 51540 | 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 5b 5d 3c 73 70 | ss="tok-kw">var</span>.x2:.[]<sp |
| 51560 | 61 6e 20 63 6c 61 73 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>.< |
| 51580 | 73 70 61 6e 20 63 6c 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>. |
| 515a0 | 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | =.&[<span.class="tok-number" |
| 515c0 | 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" |
| 515e0 | 3e 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 | >u8</span>{.<span.class="tok-str |
| 51600 | 22 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 | ">'h'</span>,.<span.class="tok-s |
| 51620 | 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | tr">'e'</span>,.<span.class="tok |
| 51640 | 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | -str">'l'</span>,.<span.class="t |
| 51660 | 6f 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ok-str">'l'</span>,.<span.class= |
| 51680 | 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 61 | "tok-number">111</span>.};.....a |
| 516a0 | 73 73 65 72 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 | ssert(std.mem.eql(<span.class="t |
| 516c0 | 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 78 31 2c 20 78 32 29 29 3b 0a 0a 20 | ok-type">u8</span>,.x1,.x2));... |
| 516e0 | 20 20 20 3c 73 70 61 6e 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 |
| 51700 | 6e 3e 20 79 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 | n>.y:.[]<span.class="tok-kw">con |
| 51720 | 73 74 3c 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" |
| 51740 | 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 61 73 73 3d | >f32</span>.=.&[<span.class= |
| 51760 | 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 | "tok-number">2</span>]<span.clas |
| 51780 | 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 |
| 517a0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 | lass="tok-number">1.2</span>,.<s |
| 517c0 | 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 73 70 61 6e | pan.class="tok-number">3.4</span |
| 517e0 | 3e 20 7d 3b 0a 20 20 20 20 61 73 73 65 72 74 28 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | >.};.....assert(y[<span.class="t |
| 51800 | 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 |
| 51820 | 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 0a 7d 0a | ass="tok-number">1.2</span>);.}. |
| 51840 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 69 | .<span.class="tok-comment">//.Li |
| 51860 | 6b 65 77 69 73 65 2c 20 69 74 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 68 65 20 64 65 73 74 69 6e | kewise,.it.works.when.the.destin |
| 51880 | 61 74 69 6f 6e 20 74 79 70 65 20 69 73 20 61 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 2e 3c 2f 73 | ation.type.is.an.error.union.</s |
| 518a0 | 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f | pan>.<span.class="tok-kw">test</ |
| 518c0 | 73 70 61 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 |
| 518e0 | 74 3b 5b 4e 5d 54 20 74 6f 20 45 21 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 | t;[N]T.to.E![]const.T"</spa |
| 51900 | 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 | n>.{.....<span.class="tok-kw">va |
| 51920 | 72 3c 2f 73 70 61 6e 3e 20 78 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | r</span>.x1:.<span.class="tok-ty |
| 51940 | 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 6e 20 63 6c 61 73 | pe">anyerror</span>![]<span.clas |
| 51960 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c | s="tok-kw">const</span>.<span.cl |
| 51980 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e | ass="tok-type">u8</span>.=.<span |
| 519a0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f | .class="tok-str">"hello&quo |
| 519c0 | 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | t;</span>;.....<span.class="tok- |
| 519e0 | 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | kw">var</span>.x2:.<span.class=" |
| 51a00 | 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 |
| 51a20 | 6e 20 63 6c 61 73 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 |
| 51a40 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d | pan.class="tok-type">u8</span>.= |
| 51a60 | 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 | .&[<span.class="tok-number"> |
| 51a80 | 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"> |
| 51aa0 | 75 38 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 | u8</span>{.<span.class="tok-str" |
| 51ac0 | 3e 27 68 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 | >'h'</span>,.<span.class="tok-st |
| 51ae0 | 72 22 3e 27 65 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | r">'e'</span>,.<span.class="tok- |
| 51b00 | 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 |
| 51b20 | 6b 2d 73 74 72 22 3e 27 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | k-str">'l'</span>,.<span.class=" |
| 51b40 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 61 73 | tok-number">111</span>.};.....as |
| 51b60 | 73 65 72 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 | sert(std.mem.eql(<span.class="to |
| 51b80 | 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | k-type">u8</span>,.<span.class=" |
| 51ba0 | 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 31 2c 20 3c 73 70 61 6e 20 63 6c 61 | tok-kw">try</span>.x1,.<span.cla |
| 51bc0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 78 32 29 29 3b 0a 0a 20 20 | ss="tok-kw">try</span>.x2));.... |
| 51be0 | 20 20 3c 73 70 61 6e 20 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 |
| 51c00 | 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 | >.y:.<span.class="tok-type">anye |
| 51c20 | 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | rror</span>![]<span.class="tok-k |
| 51c40 | 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 |
| 51c60 | 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 | -type">f32</span>.=.&[<span. |
| 51c80 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 | class="tok-number">2</span>]<spa |
| 51ca0 | 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>{.< |
| 51cc0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 | span.class="tok-number">1.2</spa |
| 51ce0 | 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 | n>,.<span.class="tok-number">3.4 |
| 51d00 | 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 61 73 73 65 72 74 28 28 3c 73 70 61 6e 20 63 6c 61 | </span>.};.....assert((<span.cla |
| 51d20 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 79 29 5b 3c 73 70 61 6e 20 | ss="tok-kw">try</span>.y)[<span. |
| 51d40 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 | class="tok-number">0</span>].==. |
| 51d60 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 | <span.class="tok-number">1.2</sp |
| 51d80 | 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e | an>);.}..<span.class="tok-commen |
| 51da0 | 74 22 3e 2f 2f 20 4c 69 6b 65 77 69 73 65 2c 20 69 74 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 68 | t">//.Likewise,.it.works.when.th |
| 51dc0 | 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 20 69 73 20 61 6e 20 6f 70 74 69 6f 6e 61 | e.destination.type.is.an.optiona |
| 51de0 | 6c 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 | l.</span>.<span.class="tok-kw">t |
| 51e00 | 65 73 74 3c 2f 73 70 61 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" |
| 51e20 | 3e 26 71 75 6f 74 3b 5b 4e 5d 54 20 74 6f 20 3f 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 3c | >"[N]T.to.?[]const.T"< |
| 51e40 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | /span>.{.....<span.class="tok-kw |
| 51e60 | 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 3d | ">var</span>.x1:.?[]<span.class= |
| 51e80 | 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 |
| 51ea0 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 | s="tok-type">u8</span>.=.<span.c |
| 51ec0 | 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b | lass="tok-str">"hello" |
| 51ee0 | 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | </span>;.....<span.class="tok-kw |
| 51f00 | 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 32 3a 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ">var</span>.x2:.?[]<span.class= |
| 51f20 | 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 |
| 51f40 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c | s="tok-type">u8</span>.=.&[< |
| 51f60 | 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> |
| 51f80 | 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 |
| 51fa0 | 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 68 27 3c 2f 73 70 | >{.<span.class="tok-str">'h'</sp |
| 51fc0 | 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f | an>,.<span.class="tok-str">'e'</ |
| 51fe0 | 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 6c 27 | span>,.<span.class="tok-str">'l' |
| 52000 | 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 | </span>,.<span.class="tok-str">' |
| 52020 | 6c 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | l'</span>,.<span.class="tok-numb |
| 52040 | 65 72 22 3e 31 31 31 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 61 73 73 65 72 74 28 73 74 64 | er">111</span>.};.....assert(std |
| 52060 | 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 3e | .mem.eql(<span.class="tok-type"> |
| 52080 | 75 38 3c 2f 73 70 61 6e 3e 2c 20 78 31 2e 3f 2c 20 78 32 2e 3f 29 29 3b 0a 0a 20 20 20 20 3c 73 | u8</span>,.x1.?,.x2.?));......<s |
| 520a0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 79 3a | pan.class="tok-kw">var</span>.y: |
| 520c0 | 20 3f 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | .?[]<span.class="tok-kw">const</ |
| 520e0 | 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 66 33 32 | span>.<span.class="tok-type">f32 |
| 52100 | 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | </span>.=.&[<span.class="tok |
| 52120 | 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | -number">2</span>]<span.class="t |
| 52140 | 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ok-type">f32</span>{.<span.class |
| 52160 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 | ="tok-number">1.2</span>,.<span. |
| 52180 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 3b | class="tok-number">3.4</span>.}; |
| 521a0 | 0a 20 20 20 20 61 73 73 65 72 74 28 79 2e 3f 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | .....assert(y.?[<span.class="tok |
| 521c0 | 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 | -number">0</span>].==.<span.clas |
| 521e0 | 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 0a 7d 0a 0a 3c | s="tok-number">1.2</span>);.}..< |
| 52200 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 20 74 | span.class="tok-comment">//.In.t |
| 52220 | 68 69 73 20 63 61 73 74 2c 20 74 68 65 20 61 72 72 61 79 20 6c 65 6e 67 74 68 20 62 65 63 6f 6d | his.cast,.the.array.length.becom |
| 52240 | 65 73 20 74 68 65 20 73 6c 69 63 65 20 6c 65 6e 67 74 68 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 | es.the.slice.length.</span>.<spa |
| 52260 | 6e 20 63 6c 61 73 73 3d 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 |
| 52280 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 | an.class="tok-str">"*[N]T.t |
| 522a0 | 6f 20 5b 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | o.[]T"</span>.{.....<span.c |
| 522c0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 75 66 3a 20 5b 3c | lass="tok-kw">var</span>.buf:.[< |
| 522e0 | 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> |
| 52300 | 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 |
| 52320 | 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">" |
| 52340 | 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 0a 20 20 20 20 3c 73 70 61 6e 20 | hello"</span>.*;.....<span. |
| 52360 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 5b | class="tok-kw">const</span>.x:.[ |
| 52380 | 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 |
| 523a0 | 3e 20 3d 20 26 61 6d 70 3b 62 75 66 3b 0a 20 20 20 20 61 73 73 65 72 74 28 73 74 64 2e 6d 65 6d | >.=.&buf;.....assert(std.mem |
| 523c0 | 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f | .eql(<span.class="tok-type">u8</ |
| 523e0 | 73 70 61 6e 3e 2c 20 78 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e | span>,.x,.<span.class="tok-str"> |
| 52400 | 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 0a 20 20 20 | "hello"</span>));..... |
| 52420 | 20 3c 73 70 61 6e 20 63 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 |
| 52440 | 6e 3e 20 62 75 66 32 20 3d 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | n>.buf2.=.[<span.class="tok-numb |
| 52460 | 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | er">2</span>]<span.class="tok-ty |
| 52480 | 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 6b | pe">f32</span>{.<span.class="tok |
| 524a0 | 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 | -number">1.2</span>,.<span.class |
| 524c0 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 | ="tok-number">3.4</span>.};..... |
| 524e0 | 3c 73 70 61 6e 20 63 6c 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 |
| 52500 | 3e 20 78 32 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | >.x2:.[]<span.class="tok-kw">con |
| 52520 | 73 74 3c 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" |
| 52540 | 3e 66 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 32 3b 0a 20 20 20 20 61 73 73 | >f32</span>.=.&buf2;.....ass |
| 52560 | 65 72 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ert(std.mem.eql(<span.class="tok |
| 52580 | 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 70 | -type">f32</span>,.x2,.&[<sp |
| 525a0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 5d 3c | an.class="tok-number">2</span>]< |
| 525c0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e | span.class="tok-type">f32</span> |
| 525e0 | 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 2e 32 3c 2f | {.<span.class="tok-number">1.2</ |
| 52600 | 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"> |
| 52620 | 33 2e 34 3c 2f 73 70 61 6e 3e 20 7d 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | 3.4</span>.}));.}..<span.class=" |
| 52640 | 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 69 6e | tok-comment">//.Single-item.poin |
| 52660 | 74 65 72 73 20 74 6f 20 61 72 72 61 79 73 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f | ters.to.arrays.can.be.coerced.to |
| 52680 | 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 | </span>.<span.class="tok-comment |
| 526a0 | 22 3e 2f 2f 20 75 6e 6b 6e 6f 77 6e 20 6c 65 6e 67 74 68 20 70 6f 69 6e 74 65 72 73 2e 3c 2f 73 | ">//.unknown.length.pointers.</s |
| 526c0 | 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f | pan>.<span.class="tok-kw">test</ |
| 526e0 | 73 70 61 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 |
| 52700 | 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 0a 20 | t;*[N]T.to.[*]T"</span>.{.. |
| 52720 | 20 20 20 3c 73 70 61 6e 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 |
| 52740 | 6e 3e 20 62 75 66 3a 20 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 | n>.buf:.[<span.class="tok-number |
| 52760 | 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | ">5</span>]<span.class="tok-type |
| 52780 | 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 |
| 527a0 | 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 0a | tr">"hello"</span>.*;. |
| 527c0 | 20 20 20 20 3c 73 70 61 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</ |
| 527e0 | 73 70 61 6e 3e 20 78 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | span>.x:.[*]<span.class="tok-typ |
| 52800 | 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 62 75 66 3b 0a 20 20 20 20 61 73 73 | e">u8</span>.=.&buf;.....ass |
| 52820 | 65 72 74 28 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 | ert(x[<span.class="tok-number">4 |
| 52840 | 3c 2f 73 70 61 6e 3e 5d 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 | </span>].==.<span.class="tok-str |
| 52860 | 22 3e 27 6f 27 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ">'o'</span>);.....<span.class=" |
| 52880 | 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 5b 35 5d 20 77 6f 75 6c 64 20 62 65 20 61 6e | tok-comment">//.x[5].would.be.an |
| 528a0 | 20 75 6e 63 61 75 67 68 74 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 20 70 6f 69 6e 74 65 72 20 | .uncaught.out.of.bounds.pointer. |
| 528c0 | 64 65 72 65 66 65 72 65 6e 63 65 21 3c 2f 73 70 61 6e 3e 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 | dereference!</span>.}..<span.cla |
| 528e0 | 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4c 69 6b 65 77 69 73 65 2c 20 69 74 | ss="tok-comment">//.Likewise,.it |
| 52900 | 20 77 6f 72 6b 73 20 77 68 65 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 | .works.when.the.destination.type |
| 52920 | 20 69 73 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c | .is.an.optional.</span>.<span.cl |
| 52940 | 61 73 73 3d 22 74 6f 6b 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 |
| 52960 | 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 3f 5b | lass="tok-str">"*[N]T.to.?[ |
| 52980 | 2a 5d 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | *]T"</span>.{.....<span.cla |
| 529a0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 75 66 3a 20 5b 3c 73 70 | ss="tok-kw">var</span>.buf:.[<sp |
| 529c0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3c | an.class="tok-number">5</span>]< |
| 529e0 | 73 70 61 6e 20 63 6c 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>. |
| 52a00 | 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">"he |
| 52a20 | 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | llo"</span>.*;.....<span.cl |
| 52a40 | 61 73 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 5b 2a | ass="tok-kw">const</span>.x:.?[* |
| 52a60 | 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 |
| 52a80 | 3e 20 3d 20 26 61 6d 70 3b 62 75 66 3b 0a 20 20 20 20 61 73 73 65 72 74 28 78 2e 3f 5b 3c 73 70 | >.=.&buf;.....assert(x.?[<sp |
| 52aa0 | 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 20 | an.class="tok-number">4</span>]. |
| 52ac0 | 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 6f 27 3c 2f 73 70 | ==.<span.class="tok-str">'o'</sp |
| 52ae0 | 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e | an>);.}..<span.class="tok-commen |
| 52b00 | 74 22 3e 2f 2f 20 53 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 72 73 20 63 61 6e 20 62 | t">//.Single-item.pointers.can.b |
| 52b20 | 65 20 63 61 73 74 20 74 6f 20 6c 65 6e 2d 31 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 61 72 72 61 | e.cast.to.len-1.single-item.arra |
| 52b40 | 79 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ys.</span>.<span.class="tok-kw"> |
| 52b60 | 74 65 73 74 3c 2f 73 70 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 |
| 52b80 | 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 2f 73 70 61 6e 3e | ">"*T.to.*[1]T"</span> |
| 52ba0 | 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c | .{.....<span.class="tok-kw">var< |
| 52bc0 | 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" |
| 52be0 | 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 |
| 52c00 | 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | umber">1234</span>;.....<span.cl |
| 52c20 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 2a 5b 3c | ass="tok-kw">const</span>.y:.*[< |
| 52c40 | 73 70 61 6e 20 63 6c 61 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> |
| 52c60 | 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 | ]<span.class="tok-type">i32</spa |
| 52c80 | 6e 3e 20 3d 20 26 61 6d 70 3b 78 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | n>.=.&x;.....<span.class="to |
| 52ca0 | 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 7a 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 | k-kw">const</span>.z:.[*]<span.c |
| 52cc0 | 6c 61 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 79 3b 0a | lass="tok-type">i32</span>.=.y;. |
| 52ce0 | 20 20 20 20 61 73 73 65 72 74 28 7a 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | ....assert(z[<span.class="tok-nu |
| 52d00 | 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=" |
| 52d20 | 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 0a 7d 3c 2f 63 6f 64 | tok-number">1234</span>);.}</cod |
| 52d40 | 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 | e></pre><pre><code.class="shell" |
| 52d60 | 3e 24 20 7a 69 67 20 74 65 73 74 20 63 6f 65 72 63 65 5f 61 72 72 61 79 73 5f 61 6e 64 5f 70 74 | >$.zig.test.coerce_arrays_and_pt |
| 52d80 | 72 73 2e 7a 69 67 0a 31 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 5b 4e 5d 54 20 74 6f 20 5b 5d | rs.zig.1/7.test."[N]T.to.[] |
| 52da0 | 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 32 2f 37 20 74 65 73 74 20 26 71 75 6f | const.T"...OK.2/7.test.&quo |
| 52dc0 | 74 3b 5b 4e 5d 54 20 74 6f 20 45 21 5b 5d 63 6f 6e 73 74 20 54 26 71 75 6f 74 3b 2e 2e 2e 4f 4b | t;[N]T.to.E![]const.T"...OK |
| 52de0 | 0a 33 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 5b 4e 5d 54 20 74 6f 20 3f 5b 5d 63 6f 6e 73 74 | .3/7.test."[N]T.to.?[]const |
| 52e00 | 20 54 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 34 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 2a 5b 4e | .T"...OK.4/7.test."*[N |
| 52e20 | 5d 54 20 74 6f 20 5b 5d 54 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 35 2f 37 20 74 65 73 74 20 26 71 | ]T.to.[]T"...OK.5/7.test.&q |
| 52e40 | 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 4f 4b 0a 36 2f 37 | uot;*[N]T.to.[*]T"...OK.6/7 |
| 52e60 | 20 74 65 73 74 20 26 71 75 6f 74 3b 2a 5b 4e 5d 54 20 74 6f 20 3f 5b 2a 5d 54 26 71 75 6f 74 3b | .test."*[N]T.to.?[*]T" |
| 52e80 | 2e 2e 2e 4f 4b 0a 37 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 2a 54 20 74 6f 20 2a 5b 31 5d 54 | ...OK.7/7.test."*T.to.*[1]T |
| 52ea0 | 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 37 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a | "...OK.All.7.tests.passed.. |
| 52ec0 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f | </code></pre>........<p>See.also |
| 52ee0 | 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 6e 74 65 | :</p><ul>.<li><a.href="#C-Pointe |
| 52f00 | 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 0a 0a 20 | rs">C.Pointers</a></li>.</ul>... |
| 52f20 | 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f | ............<h3.id="Type-Coercio |
| 52f40 | 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 70 65 2d | n-Optionals"><a.href="#toc-Type- |
| 52f60 | 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 63 69 6f | Coercion-Optionals">Type.Coercio |
| 52f80 | 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 72 22 20 | n:.Optionals</a>.<a.class="hdr". |
| 52fa0 | 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 73 22 3e | href="#Type-Coercion-Optionals"> |
| 52fc0 | c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 | ..</a></h3>........<p>.......The |
| 52fe0 | 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 74 69 6f | .payload.type.of.<a.href="#Optio |
| 53000 | 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 61 73 20 | nals">Optionals</a>,.as.well.as. |
| 53020 | 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 72 63 65 | <a.href="#null">null</a>,.coerce |
| 53040 | 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 3c 2f 70 | .to.the.optional.type........</p |
| 53060 | 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 | >.......<p.class="file">test.zig |
| 53080 | 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | </p><pre><code.class="zig"><span |
| 530a0 | 20 63 6c 61 73 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 |
| 530c0 | 20 3d 20 3c 73 70 61 6e 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 |
| 530e0 | 70 6f 72 74 3c 2f 73 70 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 |
| 53100 | 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e | ">"std"</span>);.<span |
| 53120 | 20 63 6c 61 73 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 | .class="tok-kw">const</span>.ass |
| 53140 | 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 | ert.=.std.debug.assert;..<span.c |
| 53160 | 6c 61 73 73 3d 22 74 6f 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. |
| 53180 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 | class="tok-str">"coerce.to. |
| 531a0 | 6f 70 74 69 6f 6e 61 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 | optionals"</span>.{.....<sp |
| 531c0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 | an.class="tok-kw">const</span>.x |
| 531e0 | 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 | :.?<span.class="tok-type">i32</s |
| 53200 | 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"> |
| 53220 | 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | 1234</span>;.....<span.class="to |
| 53240 | 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 79 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 | k-kw">const</span>.y:.?<span.cla |
| 53260 | 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 |
| 53280 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 0a | .class="tok-null">null</span>;.. |
| 532a0 | 20 20 20 20 61 73 73 65 72 74 28 78 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ....assert(x.?.==.<span.class="t |
| 532c0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 | ok-number">1234</span>);.....ass |
| 532e0 | 65 72 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 6c 6c 22 3e | ert(y.==.<span.class="tok-null"> |
| 53300 | 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 | null</span>);.}</code></pre><pre |
| 53320 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 | ><code.class="shell">$.zig.test. |
| 53340 | 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 | test.zig.1/1.test."coerce.t |
| 53360 | 6f 20 6f 70 74 69 6f 6e 61 6c 73 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 | o.optionals"...OK.All.1.tes |
| 53380 | 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 | ts.passed..</code></pre>........ |
| 533a0 | 3c 70 3e 49 74 20 77 6f 72 6b 73 20 6e 65 73 74 65 64 20 69 6e 73 69 64 65 20 74 68 65 20 3c 61 | <p>It.works.nested.inside.the.<a |
| 533c0 | 20 68 72 65 66 3d 22 23 45 72 72 6f 72 2d 55 6e 69 6f 6e 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 | .href="#Error-Union-Type">Error. |
| 533e0 | 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 2c 20 74 6f 6f 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c | Union.Type</a>,.too:</p>.......< |
| 53400 | 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e | p.class="file">test.zig</p><pre> |
| 53420 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 53440 | 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 | ok-kw">const</span>.std.=.<span. |
| 53460 | 63 6c 61 73 73 3d 22 74 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 |
| 53480 | 6e 3e 28 3c 73 70 61 6e 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">"s |
| 534a0 | 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | td"</span>);.<span.class="t |
| 534c0 | 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 73 74 64 | ok-kw">const</span>.assert.=.std |
| 534e0 | 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | .debug.assert;..<span.class="tok |
| 53500 | 2d 6b 77 22 3e 74 65 73 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 |
| 53520 | 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 6f 20 6f 70 74 69 6f 6e 61 6c 73 | k-str">"coerce.to.optionals |
| 53540 | 20 77 72 61 70 70 65 64 20 69 6e 20 65 72 72 6f 72 20 75 6e 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 | .wrapped.in.error.union"</s |
| 53560 | 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | pan>.{.....<span.class="tok-kw"> |
| 53580 | 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | const</span>.x:.<span.class="tok |
| 535a0 | 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c | -type">anyerror</span>!?<span.cl |
| 535c0 | 61 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 |
| 535e0 | 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> |
| 53600 | 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | ;.....<span.class="tok-kw">const |
| 53620 | 3c 2f 73 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | </span>.y:.<span.class="tok-type |
| 53640 | 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ">anyerror</span>!?<span.class=" |
| 53660 | 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 |
| 53680 | 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 | ss="tok-null">null</span>;...... |
| 536a0 | 61 73 73 65 72 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 | assert((<span.class="tok-kw">try |
| 536c0 | 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 3d 22 74 6f 6b | </span>.x).?.==.<span.class="tok |
| 536e0 | 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 | -number">1234</span>);.....asser |
| 53700 | 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 | t((<span.class="tok-kw">try</spa |
| 53720 | 6e 3e 20 79 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e | n>.y).==.<span.class="tok-null"> |
| 53740 | 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 | null</span>);.}</code></pre><pre |
| 53760 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 | ><code.class="shell">$.zig.test. |
| 53780 | 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 65 20 74 | test.zig.1/1.test."coerce.t |
| 537a0 | 6f 20 6f 70 74 69 6f 6e 61 6c 73 20 77 72 61 70 70 65 64 20 69 6e 20 65 72 72 6f 72 20 75 6e 69 | o.optionals.wrapped.in.error.uni |
| 537c0 | 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 | on"...OK.All.1.tests.passed |
| 537e0 | 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 | ..</code></pre>...............<h |
| 53800 | 33 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 | 3.id="Type-Coercion-Error-Unions |
| 53820 | 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 | "><a.href="#toc-Type-Coercion-Er |
| 53840 | 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 45 72 72 6f 72 | ror-Unions">Type.Coercion:.Error |
| 53860 | 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 22 20 68 72 65 66 3d | .Unions</a>.<a.class="hdr".href= |
| 53880 | 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 45 72 72 6f 72 2d 55 6e 69 6f 6e 73 22 3e c2 a7 | "#Type-Coercion-Error-Unions">.. |
| 538a0 | 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 70 61 79 6c 6f 61 64 20 | </a></h3>........<p>The.payload. |
| 538c0 | 74 79 70 65 20 6f 66 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 | type.of.an.<a.href="#Error-Union |
| 538e0 | 2d 54 79 70 65 22 3e 45 72 72 6f 72 20 55 6e 69 6f 6e 20 54 79 70 65 3c 2f 61 3e 20 61 73 20 77 | -Type">Error.Union.Type</a>.as.w |
| 53900 | 65 6c 6c 20 61 73 20 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 | ell.as.the.<a.href="#Error-Set-T |
| 53920 | 79 70 65 22 3e 45 72 72 6f 72 20 53 65 74 20 54 79 70 65 3c 2f 61 3e 0a 20 20 20 20 20 20 63 6f | ype">Error.Set.Type</a>.......co |
| 53940 | 65 72 63 65 20 74 6f 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 | erce.to.the.error.union.type:... |
| 53960 | 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 | ....</p>.......<p.class="file">t |
| 53980 | 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | est.zig</p><pre><code.class="zig |
| 539a0 | 22 3e 3c 73 70 61 6e 20 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 |
| 539c0 | 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 |
| 539e0 | 69 6e 22 3e 40 69 6d 70 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=" |
| 53a00 | 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">"std"</span>) |
| 53a20 | 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 | ;.<span.class="tok-kw">const</sp |
| 53a40 | 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a | an>.assert.=.std.debug.assert;.. |
| 53a60 | 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> |
| 53a80 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 | .<span.class="tok-str">"coe |
| 53aa0 | 72 63 69 6f 6e 20 74 6f 20 65 72 72 6f 72 20 75 6e 69 6f 6e 73 26 71 75 6f 74 3b 3c 2f 73 70 61 | rcion.to.error.unions"</spa |
| 53ac0 | 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | n>.{.....<span.class="tok-kw">co |
| 53ae0 | 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | nst</span>.x:.<span.class="tok-t |
| 53b00 | 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 | ype">anyerror</span>!<span.class |
| 53b20 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 | ="tok-type">i32</span>.=.<span.c |
| 53b40 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 20 | lass="tok-number">1234</span>;.. |
| 53b60 | 20 20 20 3c 73 70 61 6e 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 |
| 53b80 | 70 61 6e 3e 20 79 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 | pan>.y:.<span.class="tok-type">a |
| 53ba0 | 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | nyerror</span>!<span.class="tok- |
| 53bc0 | 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=" |
| 53be0 | 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 61 69 6c 75 72 65 3b 0a 0a 20 | tok-kw">error</span>.Failure;... |
| 53c00 | 20 20 20 61 73 73 65 72 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ...assert((<span.class="tok-kw"> |
| 53c20 | 74 72 79 3c 2f 73 70 61 6e 3e 20 78 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | try</span>.x).==.<span.class="to |
| 53c40 | 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 73 74 64 2e | k-number">1234</span>);.....std. |
| 53c60 | 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d | testing.expectError(<span.class= |
| 53c80 | 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 46 61 69 6c 75 72 65 2c 20 79 | "tok-kw">error</span>.Failure,.y |
| 53ca0 | 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | );.}</code></pre><pre><code.clas |
| 53cc0 | 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f | s="shell">$.zig.test.test.zig.1/ |
| 53ce0 | 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 75 | 1.test."coercion.to.error.u |
| 53d00 | 6e 69 6f 6e 73 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 | nions"...OK.All.1.tests.pas |
| 53d20 | 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 | sed..</code></pre>.............. |
| 53d40 | 20 3c 68 33 20 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 | .<h3.id="Type-Coercion-Compile-T |
| 53d60 | 69 6d 65 2d 4b 6e 6f 77 6e 2d 4e 75 6d 62 65 72 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 | ime-Known-Numbers"><a.href="#toc |
| 53d80 | 2d 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 4b 6e 6f 77 | -Type-Coercion-Compile-Time-Know |
| 53da0 | 6e 2d 4e 75 6d 62 65 72 73 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 43 6f 6d 70 69 6c | n-Numbers">Type.Coercion:.Compil |
| 53dc0 | 65 2d 54 69 6d 65 20 4b 6e 6f 77 6e 20 4e 75 6d 62 65 72 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 | e-Time.Known.Numbers</a>.<a.clas |
| 53de0 | 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 43 6f 6d | s="hdr".href="#Type-Coercion-Com |
| 53e00 | 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 c2 a7 3c 2f 61 3e 3c | pile-Time-Known-Numbers">..</a>< |
| 53e20 | 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 6e 75 6d 62 65 72 20 69 73 20 | /h3>........<p>When.a.number.is. |
| 53e40 | 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> |
| 53e60 | 2d 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 72 65 70 72 65 73 65 6e 74 61 62 6c 65 20 69 6e 20 74 68 | -known.to.be.representable.in.th |
| 53e80 | 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 70 65 2c 0a 20 20 20 20 20 20 69 74 20 6d 61 79 | e.destination.type,.......it.may |
| 53ea0 | 20 62 65 20 63 6f 65 72 63 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 | .be.coerced:.......</p>.......<p |
| 53ec0 | 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c | .class="file">test.zig</p><pre>< |
| 53ee0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 53f00 | 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 74 64 20 3d 20 3c 73 70 61 6e 20 63 | k-kw">const</span>.std.=.<span.c |
| 53f20 | 6c 61 73 73 3d 22 74 6f 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 |
| 53f40 | 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 | >(<span.class="tok-str">"st |
| 53f60 | 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | d"</span>);.<span.class="to |
| 53f80 | 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 73 74 64 2e | k-kw">const</span>.assert.=.std. |
| 53fa0 | 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | debug.assert;..<span.class="tok- |
| 53fc0 | 6b 77 22 3e 74 65 73 74 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 |
| 53fe0 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6e 67 20 6c 61 72 67 65 20 69 6e 74 65 67 | -str">"coercing.large.integ |
| 54000 | 65 72 20 74 79 70 65 20 74 6f 20 73 6d 61 6c 6c 65 72 20 6f 6e 65 20 77 68 65 6e 20 76 61 6c 75 | er.type.to.smaller.one.when.valu |
| 54020 | 65 20 69 73 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 20 74 6f 20 66 69 74 26 71 75 6f 74 3b | e.is.comptime.known.to.fit" |
| 54040 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | </span>.{.....<span.class="tok-k |
| 54060 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | w">const</span>.x:.<span.class=" |
| 54080 | 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 61 | tok-type">u64</span>.=.<span.cla |
| 540a0 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 | ss="tok-number">255</span>;..... |
| 540c0 | 3c 73 70 61 6e 20 63 6c 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 |
| 540e0 | 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 38 3c 2f | >.y:.<span.class="tok-type">u8</ |
| 54100 | 73 70 61 6e 3e 20 3d 20 78 3b 0a 20 20 20 20 61 73 73 65 72 74 28 79 20 3d 3d 20 3c 73 70 61 6e | span>.=.x;.....assert(y.==.<span |
| 54120 | 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 29 3b | .class="tok-number">255</span>); |
| 54140 | 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | .}</code></pre><pre><code.class= |
| 54160 | 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 | "shell">$.zig.test.test.zig.1/1. |
| 54180 | 74 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 | test."coercing.large.intege |
| 541a0 | 72 20 74 79 70 65 20 74 6f 20 73 6d 61 6c 6c 65 72 20 6f 6e 65 20 77 68 65 6e 20 76 61 6c 75 65 | r.type.to.smaller.one.when.value |
| 541c0 | 20 69 73 20 63 6f 6d 70 74 69 6d 65 20 6b 6e 6f 77 6e 20 74 6f 20 66 69 74 26 71 75 6f 74 3b 2e | .is.comptime.known.to.fit". |
| 541e0 | 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e | ..OK.All.1.tests.passed..</code> |
| 54200 | 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 54 79 70 | </pre>...............<h3.id="Typ |
| 54220 | 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 69 6f 6e 73 2d 61 6e 64 2d 65 6e 75 6d 73 22 3e 3c 61 20 | e-Coercion-unions-and-enums"><a. |
| 54240 | 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 75 6e 69 6f 6e 73 2d | href="#toc-Type-Coercion-unions- |
| 54260 | 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 6e 69 6f 6e 73 | and-enums">Type.Coercion:.unions |
| 54280 | 20 61 6e 64 20 65 6e 75 6d 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 | .and.enums</a>.<a.class="hdr".hr |
| 542a0 | 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 2d 65 6e | ef="#Type-Coercion-unions-and-en |
| 542c0 | 75 6d 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 54 61 67 67 65 | ums">..</a></h3>........<p>Tagge |
| 542e0 | 64 20 75 6e 69 6f 6e 73 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 65 6e 75 6d 73 | d.unions.can.be.coerced.to.enums |
| 54300 | 2c 20 61 6e 64 20 65 6e 75 6d 73 20 63 61 6e 20 62 65 20 63 6f 65 72 63 65 64 20 74 6f 20 74 61 | ,.and.enums.can.be.coerced.to.ta |
| 54320 | 67 67 65 64 20 75 6e 69 6f 6e 73 0a 20 20 20 20 20 20 77 68 65 6e 20 74 68 65 79 20 61 72 65 20 | gged.unions.......when.they.are. |
| 54340 | 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> |
| 54360 | 2d 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 61 20 66 69 65 6c 64 20 6f 66 20 74 68 65 20 75 6e 69 6f | -known.to.be.a.field.of.the.unio |
| 54380 | 6e 20 74 68 61 74 20 68 61 73 20 6f 6e 6c 79 20 6f 6e 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c | n.that.has.only.one.possible.val |
| 543a0 | 75 65 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 76 6f 69 64 | ue,.such.as.......<a.href="#void |
| 543c0 | 22 3e 76 6f 69 64 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 | ">void</a>:.......</p>.......<p. |
| 543e0 | 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 | class="file">test.zig</p><pre><c |
| 54400 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 54420 | 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 |
| 54440 | 61 73 73 3d 22 74 6f 6b 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> |
| 54460 | 28 3c 73 70 61 6e 20 63 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">"std |
| 54480 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | "</span>);.<span.class="tok |
| 544a0 | 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 73 74 64 2e 64 | -kw">const</span>.assert.=.std.d |
| 544c0 | 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | ebug.assert;..<span.class="tok-k |
| 544e0 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | w">const</span>.E.=.<span.class= |
| 54500 | 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 4f 6e 65 2c 0a | "tok-kw">enum</span>.{.....One,. |
| 54520 | 20 20 20 20 54 77 6f 2c 0a 20 20 20 20 54 68 72 65 65 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c | ....Two,.....Three,.};..<span.cl |
| 54540 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 55 20 3d 20 3c 73 | ass="tok-kw">const</span>.U.=.<s |
| 54560 | 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>( |
| 54580 | 45 29 20 7b 0a 20 20 20 20 4f 6e 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | E).{.....One:.<span.class="tok-t |
| 545a0 | 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 54 77 6f 3a 20 3c 73 70 61 6e 20 | ype">i32</span>,.....Two:.<span. |
| 545c0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 | class="tok-type">f32</span>,.... |
| 545e0 | 20 54 68 72 65 65 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | .Three,.};..<span.class="tok-kw" |
| 54600 | 3e 74 65 73 74 3c 2f 73 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 |
| 54620 | 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 6f 6e 73 | r">"coercion.between.unions |
| 54640 | 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 0a 20 20 20 20 3c 73 | .and.enums"</span>.{.....<s |
| 54660 | 70 61 6e 20 63 6c 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 | pan.class="tok-kw">var</span>.u. |
| 54680 | 3d 20 55 7b 20 2e 54 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 | =.U{..Two.=.<span.class="tok-num |
| 546a0 | 62 65 72 22 3e 31 32 2e 33 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | ber">12.34</span>.};.....<span.c |
| 546c0 | 6c 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 45 20 3d 20 | lass="tok-kw">var</span>.e:.E.=. |
| 546e0 | 75 3b 0a 20 20 20 20 61 73 73 65 72 74 28 65 20 3d 3d 20 45 2e 54 77 6f 29 3b 0a 0a 20 20 20 20 | u;.....assert(e.==.E.Two);...... |
| 54700 | 3c 73 70 61 6e 20 63 6c 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 |
| 54720 | 3e 20 74 68 72 65 65 20 3d 20 45 2e 54 68 72 65 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | >.three.=.E.Three;.....<span.cla |
| 54740 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 68 65 72 5f 75 | ss="tok-kw">var</span>.another_u |
| 54760 | 3a 20 55 20 3d 20 74 68 72 65 65 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 6e 6f 74 68 65 72 5f | :.U.=.three;.....assert(another_ |
| 54780 | 75 20 3d 3d 20 45 2e 54 68 72 65 65 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 | u.==.E.Three);.}</code></pre><pr |
| 547a0 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 | e><code.class="shell">$.zig.test |
| 547c0 | 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f | .test.zig.1/1.test."coercio |
| 547e0 | 6e 20 62 65 74 77 65 65 6e 20 75 6e 69 6f 6e 73 20 61 6e 64 20 65 6e 75 6d 73 26 71 75 6f 74 3b | n.between.unions.and.enums" |
| 54800 | 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 | ...OK.All.1.tests.passed..</code |
| 54820 | 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c | ></pre>........<p>See.also:</p>< |
| 54840 | 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f | ul>.<li><a.href="#union">union</ |
| 54860 | 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 6e 75 6d | a></li>.<li><a.href="#enum">enum |
| 54880 | 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 |
| 548a0 | 33 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 54 79 70 | 3.id="Type-Coercion-Zero-Bit-Typ |
| 548c0 | 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 6f 6e 2d | es"><a.href="#toc-Type-Coercion- |
| 548e0 | 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 3a 20 5a | Zero-Bit-Types">Type.Coercion:.Z |
| 54900 | 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 64 72 22 | ero.Bit.Types</a>.<a.class="hdr" |
| 54920 | 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 74 2d 54 | .href="#Type-Coercion-Zero-Bit-T |
| 54940 | 79 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 3c 61 20 68 | ypes">..</a></h3>........<p><a.h |
| 54960 | 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 74 20 54 | ref="#Zero-Bit-Types">Zero.Bit.T |
| 54980 | 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 6e 67 6c | ypes</a>.may.be.coerced.to.singl |
| 549a0 | 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 69 6e 74 | e-item.<a.href="#Pointers">Point |
| 549c0 | 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 63 6f 6e | ers</a>,.......regardless.of.con |
| 549e0 | 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 74 20 74 | st.</p>.......<p>TODO.document.t |
| 54a00 | 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 20 20 20 | he.reasoning.for.this</p>....... |
| 54a20 | 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 20 76 65 | <p>TODO.document.whether.vice.ve |
| 54a40 | 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 20 20 20 | rsa.should.work.and.why</p>..... |
| 54a60 | 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 | ..<p.class="file">test.zig</p><p |
| 54a80 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| 54aa0 | 3d 22 74 6f 6b 2d 6b 77 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 |
| 54ac0 | 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 6f 65 72 63 69 6f 6e 20 6f 66 20 7a 65 | s="tok-str">"coercion.of.ze |
| 54ae0 | 72 6f 20 62 69 74 20 74 79 70 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | ro.bit.types"</span>.{..... |
| 54b00 | 3c 73 70 61 6e 20 63 6c 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>. |
| 54b20 | 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f | x:.<span.class="tok-type">void</ |
| 54b40 | 73 70 61 6e 3e 20 3d 20 7b 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | span>.=.{};.....<span.class="tok |
| 54b60 | 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 63 6c 61 73 73 3d | -kw">var</span>.y:.*<span.class= |
| 54b80 | 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 3b 0a 20 20 20 20 | "tok-type">void</span>.=.x;..... |
| 54ba0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 76 61 72 20 | <span.class="tok-comment">//var. |
| 54bc0 | 7a 3a 20 76 6f 69 64 20 3d 20 79 3b 20 2f 2f 20 54 4f 44 4f 3c 2f 73 70 61 6e 3e 0a 7d 3c 2f 63 | z:.void.=.y;.//.TODO</span>.}</c |
| 54be0 | 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c | ode></pre><pre><code.class="shel |
| 54c00 | 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 | l">$.zig.test.test.zig.1/1.test. |
| 54c20 | 26 71 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 | "coercion.of.zero.bit.types |
| 54c40 | 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a | "...OK.All.1.tests.passed.. |
| 54c60 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 | </code></pre>...............<h3. |
| 54c80 | 69 64 3d 22 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e 3c 61 20 | id="Type-Coercion-undefined"><a. |
| 54ca0 | 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 75 6e 64 65 66 69 6e | href="#toc-Type-Coercion-undefin |
| 54cc0 | 65 64 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3a 20 75 6e 64 65 66 69 6e 65 64 3c 2f 61 3e | ed">Type.Coercion:.undefined</a> |
| 54ce0 | 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 | .<a.class="hdr".href="#Type-Coer |
| 54d00 | 63 69 6f 6e 2d 75 6e 64 65 66 69 6e 65 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 | cion-undefined">..</a></h3>..... |
| 54d20 | 20 20 20 3c 70 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e 64 65 66 69 6e 65 64 22 3e 75 6e 64 65 66 | ...<p><a.href="#undefined">undef |
| 54d40 | 69 6e 65 64 3c 2f 61 3e 20 63 61 6e 20 62 65 20 63 61 73 74 20 74 6f 20 61 6e 79 20 74 79 70 65 | ined</a>.can.be.cast.to.any.type |
| 54d60 | 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 | .</p>......................<h2.i |
| 54d80 | 64 3d 22 45 78 70 6c 69 63 69 74 2d 43 61 73 74 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 | d="Explicit-Casts"><a.href="#toc |
| 54da0 | 2d 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 3c | -Explicit-Casts">Explicit.Casts< |
| 54dc0 | 2f 61 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 70 6c 69 63 | /a>.<a.class="hdr".href="#Explic |
| 54de0 | 69 74 2d 43 61 73 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 | it-Casts">..</a></h2>........<p> |
| 54e00 | 0a 20 20 20 20 20 20 45 78 70 6c 69 63 69 74 20 63 61 73 74 73 20 61 72 65 20 70 65 72 66 6f 72 | .......Explicit.casts.are.perfor |
| 54e20 | 6d 65 64 20 76 69 61 20 3c 61 20 68 72 65 66 3d 22 23 42 75 69 6c 74 69 6e 2d 46 75 6e 63 74 69 | med.via.<a.href="#Builtin-Functi |
| 54e40 | 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 2e 0a 20 20 20 20 | ons">Builtin.Functions</a>...... |
| 54e60 | 20 20 53 6f 6d 65 20 65 78 70 6c 69 63 69 74 20 63 61 73 74 73 20 61 72 65 20 73 61 66 65 3b 20 | ..Some.explicit.casts.are.safe;. |
| 54e80 | 73 6f 6d 65 20 61 72 65 20 6e 6f 74 2e 0a 20 20 20 20 20 20 53 6f 6d 65 20 65 78 70 6c 69 63 69 | some.are.not........Some.explici |
| 54ea0 | 74 20 63 61 73 74 73 20 70 65 72 66 6f 72 6d 20 6c 61 6e 67 75 61 67 65 2d 6c 65 76 65 6c 20 61 | t.casts.perform.language-level.a |
| 54ec0 | 73 73 65 72 74 69 6f 6e 73 3b 20 73 6f 6d 65 20 64 6f 20 6e 6f 74 2e 0a 20 20 20 20 20 20 53 6f | ssertions;.some.do.not........So |
| 54ee0 | 6d 65 20 65 78 70 6c 69 63 69 74 20 63 61 73 74 73 20 61 72 65 20 6e 6f 2d 6f 70 73 20 61 74 20 | me.explicit.casts.are.no-ops.at. |
| 54f00 | 72 75 6e 74 69 6d 65 3b 20 73 6f 6d 65 20 61 72 65 20 6e 6f 74 2e 0a 20 20 20 20 20 20 3c 2f 70 | runtime;.some.are.not........</p |
| 54f20 | 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 | >.......<ul>...........<li><a.hr |
| 54f40 | 65 66 3d 22 23 62 69 74 43 61 73 74 22 3e 40 62 69 74 43 61 73 74 3c 2f 61 3e 20 2d 20 63 68 61 | ef="#bitCast">@bitCast</a>.-.cha |
| 54f60 | 6e 67 65 20 74 79 70 65 20 62 75 74 20 6d 61 69 6e 74 61 69 6e 20 62 69 74 20 72 65 70 72 65 73 | nge.type.but.maintain.bit.repres |
| 54f80 | 65 6e 74 61 74 69 6f 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 | entation</li>...........<li><a.h |
| 54fa0 | 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 20 | ref="#alignCast">@alignCast</a>. |
| 54fc0 | 2d 20 6d 61 6b 65 20 61 20 70 6f 69 6e 74 65 72 20 68 61 76 65 20 6d 6f 72 65 20 61 6c 69 67 6e | -.make.a.pointer.have.more.align |
| 54fe0 | 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d | ment</li>...........<li><a.href= |
| 55000 | 22 23 62 6f 6f 6c 54 6f 49 6e 74 22 3e 40 62 6f 6f 6c 54 6f 49 6e 74 3c 2f 61 3e 20 2d 20 63 6f | "#boolToInt">@boolToInt</a>.-.co |
| 55020 | 6e 76 65 72 74 20 74 72 75 65 20 74 6f 20 31 20 61 6e 64 20 66 61 6c 73 65 20 74 6f 20 30 3c 2f | nvert.true.to.1.and.false.to.0</ |
| 55040 | 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 6e 75 6d | li>...........<li><a.href="#enum |
| 55060 | 54 6f 49 6e 74 22 3e 40 65 6e 75 6d 54 6f 49 6e 74 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 74 | ToInt">@enumToInt</a>.-.obtain.t |
| 55080 | 68 65 20 69 6e 74 65 67 65 72 20 74 61 67 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 65 6e 75 6d 20 | he.integer.tag.value.of.an.enum. |
| 550a0 | 6f 72 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c | or.tagged.union</li>...........< |
| 550c0 | 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 72 72 53 65 74 43 61 73 74 22 3e 40 65 72 72 53 65 74 | li><a.href="#errSetCast">@errSet |
| 550e0 | 43 61 73 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 74 6f 20 61 20 73 6d 61 6c 6c 65 72 20 | Cast</a>.-.convert.to.a.smaller. |
| 55100 | 65 72 72 6f 72 20 73 65 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 | error.set</li>...........<li><a. |
| 55120 | 68 72 65 66 3d 22 23 65 72 72 6f 72 54 6f 49 6e 74 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f | href="#errorToInt">@errorToInt</ |
| 55140 | 61 3e 20 2d 20 6f 62 74 61 69 6e 20 74 68 65 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 6f 66 | a>.-.obtain.the.integer.value.of |
| 55160 | 20 61 6e 20 65 72 72 6f 72 20 63 6f 64 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c | .an.error.code</li>...........<l |
| 55180 | 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 43 61 73 74 22 3e 40 66 6c 6f 61 74 43 61 73 | i><a.href="#floatCast">@floatCas |
| 551a0 | 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 61 20 6c 61 72 67 65 72 20 66 6c 6f 61 74 20 74 | t</a>.-.convert.a.larger.float.t |
| 551c0 | 6f 20 61 20 73 6d 61 6c 6c 65 72 20 66 6c 6f 61 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 | o.a.smaller.float</li>.......... |
| 551e0 | 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 | .<li><a.href="#floatToInt">@floa |
| 55200 | 74 54 6f 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 | tToInt</a>.-.obtain.the.integer. |
| 55220 | 70 61 72 74 20 6f 66 20 61 20 66 6c 6f 61 74 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 | part.of.a.float.value</li>...... |
| 55240 | 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e 40 69 6e 74 | .....<li><a.href="#intCast">@int |
| 55260 | 43 61 73 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 69 6e 74 65 67 | Cast</a>.-.convert.between.integ |
| 55280 | 65 72 20 74 79 70 65 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 | er.types</li>...........<li><a.h |
| 552a0 | 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 20 | ref="#intToEnum">@intToEnum</a>. |
| 552c0 | 2d 20 6f 62 74 61 69 6e 20 61 6e 20 65 6e 75 6d 20 76 61 6c 75 65 20 62 61 73 65 64 20 6f 6e 20 | -.obtain.an.enum.value.based.on. |
| 552e0 | 69 74 73 20 69 6e 74 65 67 65 72 20 74 61 67 20 76 61 6c 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 | its.integer.tag.value</li>...... |
| 55300 | 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 72 72 6f 72 22 3e 40 | .....<li><a.href="#intToError">@ |
| 55320 | 69 6e 74 54 6f 45 72 72 6f 72 3c 2f 61 3e 20 2d 20 6f 62 74 61 69 6e 20 61 6e 20 65 72 72 6f 72 | intToError</a>.-.obtain.an.error |
| 55340 | 20 63 6f 64 65 20 62 61 73 65 64 20 6f 6e 20 69 74 73 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 | .code.based.on.its.integer.value |
| 55360 | 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 69 6e | </li>...........<li><a.href="#in |
| 55380 | 74 54 6f 46 6c 6f 61 74 22 3e 40 69 6e 74 54 6f 46 6c 6f 61 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 | tToFloat">@intToFloat</a>.-.conv |
| 553a0 | 65 72 74 20 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 20 66 6c 6f 61 74 20 76 61 6c 75 65 3c | ert.an.integer.to.a.float.value< |
| 553c0 | 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 69 6e 74 | /li>...........<li><a.href="#int |
| 553e0 | 54 6f 50 74 72 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 61 | ToPtr">@intToPtr</a>.-.convert.a |
| 55400 | 6e 20 61 64 64 72 65 73 73 20 74 6f 20 61 20 70 6f 69 6e 74 65 72 3c 2f 6c 69 3e 0a 20 20 20 20 | n.address.to.a.pointer</li>..... |
| 55420 | 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e 40 70 74 | ......<li><a.href="#ptrCast">@pt |
| 55440 | 72 43 61 73 74 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 70 6f 69 6e | rCast</a>.-.convert.between.poin |
| 55460 | 74 65 72 20 74 79 70 65 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 | ter.types</li>...........<li><a. |
| 55480 | 68 72 65 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 20 2d | href="#ptrToInt">@ptrToInt</a>.- |
| 554a0 | 20 6f 62 74 61 69 6e 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 61 20 70 6f 69 6e 74 65 72 | .obtain.the.address.of.a.pointer |
| 554c0 | 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 74 72 | </li>...........<li><a.href="#tr |
| 554e0 | 75 6e 63 61 74 65 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 61 3e 20 2d 20 63 6f 6e 76 65 72 74 20 | uncate">@truncate</a>.-.convert. |
| 55500 | 62 65 74 77 65 65 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 73 2c 20 63 68 6f 70 70 69 6e 67 20 | between.integer.types,.chopping. |
| 55520 | 6f 66 66 20 62 69 74 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 | off.bits</li>.......</ul>....... |
| 55540 | 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 50 65 65 72 2d 54 79 70 65 2d 52 65 73 6f 6c 75 | ........<h2.id="Peer-Type-Resolu |
| 55560 | 74 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 50 65 65 72 2d 54 79 70 65 2d 52 65 | tion"><a.href="#toc-Peer-Type-Re |
| 55580 | 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</ |
| 555a0 | 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 50 65 65 72 2d 54 79 | a>.<a.class="hdr".href="#Peer-Ty |
| 555c0 | 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 | pe-Resolution">..</a></h2>...... |
| 555e0 | 20 20 3c 70 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c 75 74 69 6f 6e 20 6f 63 63 75 72 73 | ..<p>Peer.Type.Resolution.occurs |
| 55600 | 20 69 6e 20 74 68 65 73 65 20 70 6c 61 63 65 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e | .in.these.places:</p>.......<ul> |
| 55620 | 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 77 69 74 63 68 22 3e 73 | .........<li><a.href="#switch">s |
| 55640 | 77 69 74 63 68 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 | witch</a>.expressions</li>...... |
| 55660 | 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 66 22 3e 69 66 3c 2f 61 3e 20 65 78 70 72 | ...<li><a.href="#if">if</a>.expr |
| 55680 | 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 |
| 556a0 | 3d 22 23 77 68 69 6c 65 22 3e 77 68 69 6c 65 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c | ="#while">while</a>.expressions< |
| 556c0 | 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 66 6f 72 22 3e | /li>.........<li><a.href="#for"> |
| 556e0 | 66 6f 72 3c 2f 61 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 | for</a>.expressions</li>........ |
| 55700 | 20 3c 6c 69 3e 4d 75 6c 74 69 70 6c 65 20 62 72 65 61 6b 20 73 74 61 74 65 6d 65 6e 74 73 20 69 | .<li>Multiple.break.statements.i |
| 55720 | 6e 20 61 20 62 6c 6f 63 6b 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6f 6d 65 20 | n.a.block</li>.........<li>Some. |
| 55740 | 3c 61 20 68 72 65 66 3d 22 23 54 61 62 6c 65 2d 6f 66 2d 4f 70 65 72 61 74 6f 72 73 22 3e 62 69 | <a.href="#Table-of-Operators">bi |
| 55760 | 6e 61 72 79 20 6f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c | nary.operations</a></li>.......< |
| 55780 | 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6b 69 6e 64 20 6f | /ul>.......<p>.......This.kind.o |
| 557a0 | 66 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 20 63 68 6f 6f 73 65 73 20 61 20 74 79 70 65 | f.type.resolution.chooses.a.type |
| 557c0 | 20 74 68 61 74 20 61 6c 6c 20 70 65 65 72 20 74 79 70 65 73 20 63 61 6e 20 63 6f 65 72 63 65 20 | .that.all.peer.types.can.coerce. |
| 557e0 | 69 6e 74 6f 2e 20 48 65 72 65 20 61 72 65 0a 20 20 20 20 20 20 73 6f 6d 65 20 65 78 61 6d 70 6c | into..Here.are.......some.exampl |
| 55800 | 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 | es:.......</p>.......<p.class="f |
| 55820 | 69 6c 65 22 3e 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 7a 69 67 3c 2f 70 | ile">peer_type_resolution.zig</p |
| 55840 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ><pre><code.class="zig"><span.cl |
| 55860 | 61 73 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.=. |
| 55880 | 3c 73 70 61 6e 20 63 6c 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 |
| 558a0 | 74 3c 2f 73 70 61 6e 3e 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">& |
| 558c0 | 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c | quot;std"</span>);.<span.cl |
| 558e0 | 61 73 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 74 | ass="tok-kw">const</span>.assert |
| 55900 | 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | .=.std.debug.assert;.<span.class |
| 55920 | 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 73 74 64 | ="tok-kw">const</span>.mem.=.std |
| 55940 | 2e 6d 65 6d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 | .mem;..<span.class="tok-kw">test |
| 55960 | 3c 2f 73 70 61 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 |
| 55980 | 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 69 6e 74 20 77 69 64 65 6e 69 6e 67 26 71 75 | uot;peer.resolve.int.widening&qu |
| 559a0 | 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ot;</span>.{.....<span.class="to |
| 559c0 | 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | k-kw">var</span>.a:.<span.class= |
| 559e0 | 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 | "tok-type">i8</span>.=.<span.cla |
| 55a00 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c | ss="tok-number">12</span>;.....< |
| 55a20 | 73 70 61 6e 20 63 6c 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 |
| 55a40 | 3a 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 73 70 | :.<span.class="tok-type">i16</sp |
| 55a60 | 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 |
| 55a80 | 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | 4</span>;.....<span.class="tok-k |
| 55aa0 | 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 2b 20 62 3b 0a 20 20 20 20 61 73 73 | w">var</span>.c.=.a.+.b;.....ass |
| 55ac0 | 65 72 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 65 72 | ert(c.==.<span.class="tok-number |
| 55ae0 | 22 3e 34 36 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 | ">46</span>);.....assert(<span.c |
| 55b00 | 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 |
| 55b20 | 3e 28 63 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 | >(c).==.<span.class="tok-type">i |
| 55b40 | 31 36 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | 16</span>);.}..<span.class="tok- |
| 55b60 | 6b 77 22 3e 74 65 73 74 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 |
| 55b80 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 61 72 72 61 79 73 20 | -str">"peer.resolve.arrays. |
| 55ba0 | 6f 66 20 64 69 66 66 65 72 65 6e 74 20 73 69 7a 65 20 74 6f 20 63 6f 6e 73 74 20 73 6c 69 63 65 | of.different.size.to.const.slice |
| 55bc0 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 | "</span>.{.....assert(mem.e |
| 55be0 | 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 | ql(<span.class="tok-type">u8</sp |
| 55c00 | 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 74 6f 6b 2d | an>,.boolToStr(<span.class="tok- |
| 55c20 | 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 61 73 73 3d | null">true</span>),.<span.class= |
| 55c40 | 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 73 70 61 6e | "tok-str">"true"</span |
| 55c60 | 3e 29 29 3b 0a 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 | >));.....assert(mem.eql(<span.cl |
| 55c80 | 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 6f 6f 6c 54 6f | ass="tok-type">u8</span>,.boolTo |
| 55ca0 | 53 74 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 | Str(<span.class="tok-null">false |
| 55cc0 | 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 73 74 72 22 3e | </span>),.<span.class="tok-str"> |
| 55ce0 | 26 71 75 6f 74 3b 66 61 6c 73 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 | "false"</span>));..... |
| 55d00 | 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 |
| 55d20 | 70 61 6e 3e 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 | pan>.assert(mem.eql(<span.class= |
| 55d40 | 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 6f 6f 6c 54 6f 53 74 72 28 | "tok-type">u8</span>,.boolToStr( |
| 55d60 | 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 |
| 55d80 | 6e 3e 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 | n>),.<span.class="tok-str">" |
| 55da0 | 3b 74 72 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 | ;true"</span>));.....<span. |
| 55dc0 | 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 |
| 55de0 | 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | ssert(mem.eql(<span.class="tok-t |
| 55e00 | 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 6f 6f 6c 54 6f 53 74 72 28 3c 73 70 61 6e 20 | ype">u8</span>,.boolToStr(<span. |
| 55e20 | 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 2c 20 | class="tok-null">false</span>),. |
| 55e40 | 3c 73 70 61 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">"fals |
| 55e60 | 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e"</span>));.}.<span.class= |
| 55e80 | 22 74 6f 6b 2d 6b 77 22 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=" |
| 55ea0 | 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 3a 20 3c 73 70 61 | tok-fn">boolToStr</span>(b:.<spa |
| 55ec0 | 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>). |
| 55ee0 | 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 |
| 55f00 | 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 |
| 55f20 | 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | pan>.{.....<span.class="tok-kw"> |
| 55f40 | 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 |
| 55f60 | 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 |
| 55f80 | 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">"true"</span>.< |
| 55fa0 | 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>. |
| 55fc0 | 3c 73 70 61 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">"fals |
| 55fe0 | 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | e"</span>;.}..<span.class=" |
| 56000 | 74 6f 6b 2d 6b 77 22 3e 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= |
| 56020 | 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 76 65 20 61 72 72 | "tok-str">"peer.resolve.arr |
| 56040 | 61 79 20 61 6e 64 20 63 6f 6e 73 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 | ay.and.const.slice"</span>. |
| 56060 | 7b 0a 20 20 20 20 74 65 73 74 50 65 65 72 52 65 73 6f 6c 76 65 41 72 72 61 79 43 6f 6e 73 74 53 | {.....testPeerResolveArrayConstS |
| 56080 | 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 | lice(<span.class="tok-null">true |
| 560a0 | 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | </span>);.....<span.class="tok-k |
| 560c0 | 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 74 65 73 74 50 65 65 72 52 65 73 6f 6c | w">comptime</span>.testPeerResol |
| 560e0 | 76 65 41 72 72 61 79 43 6f 6e 73 74 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | veArrayConstSlice(<span.class="t |
| 56100 | 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 | ok-null">true</span>);.}.<span.c |
| 56120 | 6c 61 73 73 3d 22 74 6f 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 |
| 56140 | 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 65 73 74 50 65 65 72 52 65 73 6f 6c 76 65 41 72 72 61 | ass="tok-fn">testPeerResolveArra |
| 56160 | 79 43 6f 6e 73 74 53 6c 69 63 65 3c 2f 73 70 61 6e 3e 28 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | yConstSlice</span>(b:.<span.clas |
| 56180 | 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. |
| 561a0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 | class="tok-type">void</span>.{.. |
| 561c0 | 20 20 20 3c 73 70 61 6e 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 |
| 561e0 | 70 61 6e 3e 20 76 61 6c 75 65 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | pan>.value1.=.<span.class="tok-k |
| 56200 | 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 |
| 56220 | 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6f 65 75 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 3c | k-str">"aoeu"</span>.< |
| 56240 | 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>. |
| 56260 | 3c 73 70 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 |
| 56280 | 70 61 6e 3e 28 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | pan>([]<span.class="tok-kw">cons |
| 562a0 | 74 3c 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"> |
| 562c0 | 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 | u8</span>,.<span.class="tok-str" |
| 562e0 | 3e 26 71 75 6f 74 3b 7a 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 | >"zz"</span>);.....<sp |
| 56300 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 | an.class="tok-kw">const</span>.v |
| 56320 | 61 6c 75 65 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 69 66 3c | alue2.=.<span.class="tok-kw">if< |
| 56340 | 2f 73 70 61 6e 3e 20 28 62 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | /span>.(b).<span.class="tok-buil |
| 56360 | 74 69 6e 22 3e 40 61 73 3c 2f 73 70 61 6e 3e 28 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | tin">@as</span>([]<span.class="t |
| 56380 | 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= |
| 563a0 | 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 |
| 563c0 | 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7a 7a 26 71 75 6f 74 3b 3c 2f 73 70 61 6e | s="tok-str">"zz"</span |
| 563e0 | 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 | >).<span.class="tok-kw">else</sp |
| 56400 | 61 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">" |
| 56420 | 61 6f 65 75 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 | aoeu"</span>;.....assert(me |
| 56440 | 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c | m.eql(<span.class="tok-type">u8< |
| 56460 | 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 3d 22 74 6f 6b | /span>,.value1,.<span.class="tok |
| 56480 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 6f 65 75 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b | -str">"aoeu"</span>)); |
| 564a0 | 0a 20 20 20 20 61 73 73 65 72 74 28 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d | .....assert(mem.eql(<span.class= |
| 564c0 | 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 32 2c 20 3c 73 | "tok-type">u8</span>,.value2,.<s |
| 564e0 | 70 61 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 | pan.class="tok-str">"zz&quo |
| 56500 | 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | t;</span>));.}..<span.class="tok |
| 56520 | 2d 6b 77 22 3e 74 65 73 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 |
| 56540 | 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">"peer.type.resolutio |
| 56560 | 6e 3a 20 3f 54 20 61 6e 64 20 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 | n:.?T.and.T"</span>.{.....a |
| 56580 | 73 73 65 72 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 | ssert(peerTypeTAndOptionalT(<spa |
| 565a0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 | n.class="tok-null">true</span>,. |
| 565c0 | 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 |
| 565e0 | 61 6e 3e 29 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | an>).?.==.<span.class="tok-numbe |
| 56600 | 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 70 65 65 72 54 79 70 | r">0</span>);.....assert(peerTyp |
| 56620 | 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 2d | eTAndOptionalT(<span.class="tok- |
| 56640 | 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 3d | null">false</span>,.<span.class= |
| 56660 | 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 20 3d 3d 20 3c 73 | "tok-null">false</span>).?.==.<s |
| 56680 | 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 29 | pan.class="tok-number">3</span>) |
| 566a0 | 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 | ;.....<span.class="tok-kw">compt |
| 566c0 | 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 70 65 65 72 | ime</span>.{.........assert(peer |
| 566e0 | 54 79 70 65 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | TypeTAndOptionalT(<span.class="t |
| 56700 | 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 | ok-null">true</span>,.<span.clas |
| 56720 | 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 20 3d 3d 20 | s="tok-null">false</span>).?.==. |
| 56740 | 3c 73 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 |
| 56760 | 3e 29 3b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 70 65 65 72 54 79 70 65 54 41 6e 64 4f | >);.........assert(peerTypeTAndO |
| 56780 | 70 74 69 6f 6e 61 6c 54 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e | ptionalT(<span.class="tok-null"> |
| 567a0 | 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | false</span>,.<span.class="tok-n |
| 567c0 | 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 2e 3f 20 3d 3d 20 3c 73 70 61 6e 20 63 6c | ull">false</span>).?.==.<span.cl |
| 567e0 | 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 0a 20 20 20 20 | ass="tok-number">3</span>);..... |
| 56800 | 7d 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 | }.}.<span.class="tok-kw">fn</spa |
| 56820 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 65 72 54 79 70 65 | n>.<span.class="tok-fn">peerType |
| 56840 | 54 41 6e 64 4f 70 74 69 6f 6e 61 6c 54 3c 2f 73 70 61 6e 3e 28 63 3a 20 3c 73 70 61 6e 20 63 6c | TAndOptionalT</span>(c:.<span.cl |
| 56860 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c | ass="tok-type">bool</span>,.b:.< |
| 56880 | 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 |
| 568a0 | 3e 29 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 | >).?<span.class="tok-type">usize |
| 568c0 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | </span>.{.....<span.class="tok-k |
| 568e0 | 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e | w">if</span>.(c).{.........<span |
| 56900 | 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 |
| 56920 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 29 | pan.class="tok-kw">if</span>.(b) |
| 56940 | 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 |
| 56960 | 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 | an>.<span.class="tok-kw">else</s |
| 56980 | 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">@ |
| 569a0 | 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | as</span>(<span.class="tok-type" |
| 569c0 | 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >usize</span>,.<span.class="tok- |
| 569e0 | 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 | number">0</span>);.....}......<s |
| 56a00 | 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> |
| 56a20 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 3c 2f | .<span.class="tok-builtin">@as</ |
| 56a40 | 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 | span>(<span.class="tok-type">usi |
| 56a60 | 7a 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | ze</span>,.<span.class="tok-numb |
| 56a80 | 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | er">3</span>);.}..<span.class="t |
| 56aa0 | 6f 6b 2d 6b 77 22 3e 74 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=" |
| 56ac0 | 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 | tok-str">"peer.type.resolut |
| 56ae0 | 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 3b | ion:.*[0]u8.and.[]const.u8" |
| 56b00 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 70 65 65 72 54 79 70 65 45 6d 70 | </span>.{.....assert(peerTypeEmp |
| 56b20 | 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 74 6f 6b | tyArrayAndSlice(<span.class="tok |
| 56b40 | 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | -null">true</span>,.<span.class= |
| 56b60 | 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 | "tok-str">"hi"</span>) |
| 56b80 | 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | .len.==.<span.class="tok-number" |
| 56ba0 | 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 70 65 65 72 54 79 70 65 45 | >0</span>);.....assert(peerTypeE |
| 56bc0 | 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 74 | mptyArrayAndSlice(<span.class="t |
| 56be0 | 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 61 | ok-null">false</span>,.<span.cla |
| 56c00 | 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 61 | ss="tok-str">"hi"</spa |
| 56c20 | 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 62 | n>).len.==.<span.class="tok-numb |
| 56c40 | 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | er">1</span>);.....<span.class=" |
| 56c60 | 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 | tok-kw">comptime</span>.{....... |
| 56c80 | 20 20 61 73 73 65 72 74 28 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c | ..assert(peerTypeEmptyArrayAndSl |
| 56ca0 | 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c | ice(<span.class="tok-null">true< |
| 56cc0 | 2f 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 |
| 56ce0 | 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 | uot;hi"</span>).len.==.<spa |
| 56d00 | 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 0a | n.class="tok-number">0</span>);. |
| 56d20 | 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 | ........assert(peerTypeEmptyArra |
| 56d40 | 79 41 6e 64 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 | yAndSlice(<span.class="tok-null" |
| 56d60 | 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >false</span>,.<span.class="tok- |
| 56d80 | 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6c 65 6e 20 | str">"hi"</span>).len. |
| 56da0 | 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 |
| 56dc0 | 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | pan>);.....}.}.<span.class="tok- |
| 56de0 | 6b 77 22 3e 66 6e 3c 2f 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 |
| 56e00 | 6e 22 3e 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 3c 2f 73 | n">peerTypeEmptyArrayAndSlice</s |
| 56e20 | 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 62 | pan>(a:.<span.class="tok-type">b |
| 56e40 | 6f 6f 6c 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 | ool</span>,.slice:.[]<span.class |
| 56e60 | 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 |
| 56e80 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 5b 5d 3c 73 70 61 6e | ss="tok-type">u8</span>).[]<span |
| 56ea0 | 20 63 6c 61 73 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 |
| 56ec0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a | an.class="tok-type">u8</span>.{. |
| 56ee0 | 20 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 |
| 56f00 | 6e 3e 20 28 61 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | n>.(a).{.........<span.class="to |
| 56f20 | 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 | k-kw">return</span>.&[_]<spa |
| 56f40 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 7d 3b 0a | n.class="tok-type">u8</span>{};. |
| 56f60 | 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ....}......<span.class="tok-kw"> |
| 56f80 | 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 3d | return</span>.slice[<span.class= |
| 56fa0 | 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 61 | "tok-number">0</span>..<span.cla |
| 56fc0 | 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 0a 7d 0a 3c 73 70 | ss="tok-number">1</span>];.}.<sp |
| 56fe0 | 61 6e 20 63 6c 61 73 73 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 |
| 57000 | 70 61 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">"peer.t |
| 57020 | 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 5d 75 38 2c 20 5b 5d 63 6f 6e 73 74 20 | ype.resolution:.*[0]u8,.[]const. |
| 57040 | 75 38 2c 20 61 6e 64 20 61 6e 79 65 72 72 6f 72 21 5b 5d 75 38 26 71 75 6f 74 3b 3c 2f 73 70 61 | u8,.and.anyerror![]u8"</spa |
| 57060 | 6e 3e 20 7b 0a 20 20 20 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | n>.{.....{.........<span.class=" |
| 57080 | 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 70 61 6e 20 | tok-kw">var</span>.data.=.<span. |
| 570a0 | 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 2f | class="tok-str">"hi"</ |
| 570c0 | 73 70 61 6e 3e 2e 2a 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | span>.*;.........<span.class="to |
| 570e0 | 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 5b | k-kw">const</span>.slice.=.data[ |
| 57100 | 3c 73 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 |
| 57120 | 3e 2e 2e 5d 3b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 28 3c 73 70 61 6e 20 63 6c 61 73 | >..];.........assert((<span.clas |
| 57140 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 65 45 6d | s="tok-kw">try</span>.peerTypeEm |
| 57160 | 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 6e 20 63 | ptyArrayAndSliceAndError(<span.c |
| 57180 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 | lass="tok-null">true</span>,.sli |
| 571a0 | 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 |
| 571c0 | 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 28 | ber">0</span>);.........assert(( |
| 571e0 | 3c 73 70 61 6e 20 63 6c 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>. |
| 57200 | 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 | peerTypeEmptyArrayAndSliceAndErr |
| 57220 | 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c | or(<span.class="tok-null">false< |
| 57240 | 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 | /span>,.slice)).len.==.<span.cla |
| 57260 | 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 0a 20 20 20 20 7d | ss="tok-number">1</span>);.....} |
| 57280 | 0a 20 20 20 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 |
| 572a0 | 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | me</span>.{.........<span.class= |
| 572c0 | 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 70 61 6e | "tok-kw">var</span>.data.=.<span |
| 572e0 | 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">"hi"< |
| 57300 | 2f 73 70 61 6e 3e 2e 2a 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | /span>.*;.........<span.class="t |
| 57320 | 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 |
| 57340 | 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 |
| 57360 | 6e 3e 2e 2e 5d 3b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 28 3c 73 70 61 6e 20 63 6c 61 | n>..];.........assert((<span.cla |
| 57380 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 70 65 65 72 54 79 70 65 45 | ss="tok-kw">try</span>.peerTypeE |
| 573a0 | 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 28 3c 73 70 61 6e 20 | mptyArrayAndSliceAndError(<span. |
| 573c0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 2c 20 73 6c | class="tok-null">true</span>,.sl |
| 573e0 | 69 63 65 29 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | ice)).len.==.<span.class="tok-nu |
| 57400 | 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 | mber">0</span>);.........assert( |
| 57420 | 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e | (<span.class="tok-kw">try</span> |
| 57440 | 20 70 65 65 72 54 79 70 65 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 | .peerTypeEmptyArrayAndSliceAndEr |
| 57460 | 72 6f 72 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 | ror(<span.class="tok-null">false |
| 57480 | 3c 2f 73 70 61 6e 3e 2c 20 73 6c 69 63 65 29 29 2e 6c 65 6e 20 3d 3d 20 3c 73 70 61 6e 20 63 6c | </span>,.slice)).len.==.<span.cl |
| 574a0 | 61 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 0a 20 20 20 20 | ass="tok-number">1</span>);..... |
| 574c0 | 7d 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 | }.}.<span.class="tok-kw">fn</spa |
| 574e0 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 65 72 54 79 70 65 | n>.<span.class="tok-fn">peerType |
| 57500 | 45 6d 70 74 79 41 72 72 61 79 41 6e 64 53 6c 69 63 65 41 6e 64 45 72 72 6f 72 3c 2f 73 70 61 6e | EmptyArrayAndSliceAndError</span |
| 57520 | 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 |
| 57540 | 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 |
| 57560 | 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= |
| 57580 | 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 21 5b 5d 3c 73 70 | "tok-type">anyerror</span>![]<sp |
| 575a0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a | an.class="tok-type">u8</span>.{. |
| 575c0 | 20 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 |
| 575e0 | 6e 3e 20 28 61 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | n>.(a).{.........<span.class="to |
| 57600 | 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 26 61 6d 70 3b 5b 5f 5d 3c 73 70 61 | k-kw">return</span>.&[_]<spa |
| 57620 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 7d 3b 0a | n.class="tok-type">u8</span>{};. |
| 57640 | 20 20 20 20 7d 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ....}......<span.class="tok-kw"> |
| 57660 | 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 3d | return</span>.slice[<span.class= |
| 57680 | 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 61 | "tok-number">0</span>..<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 5d 3b 0a 7d 0a 0a 3c 73 | ss="tok-number">1</span>];.}..<s |
| 576c0 | 70 61 6e 20 63 6c 61 73 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>.< |
| 576e0 | 73 70 61 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 | span.class="tok-str">"peer. |
| 57700 | 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 63 6f 6e 73 74 20 54 20 61 6e 64 20 3f 2a | type.resolution:.*const.T.and.?* |
| 57720 | 54 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | T"</span>.{.....<span.class |
| 57740 | 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 3c 73 70 61 6e | ="tok-kw">const</span>.a.=.<span |
| 57760 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f | .class="tok-builtin">@intToPtr</ |
| 57780 | 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 22 3e 63 6f 6e 73 | span>(*<span.class="tok-kw">cons |
| 577a0 | 74 3c 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"> |
| 577c0 | 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | usize</span>,.<span.class="tok-n |
| 577e0 | 75 6d 62 65 72 22 3e 30 78 31 32 33 34 35 36 37 38 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 | umber">0x123456780</span>);..... |
| 57800 | 3c 73 70 61 6e 20 63 6c 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 |
| 57820 | 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"> |
| 57840 | 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 73 3d 22 | @intToPtr</span>(?*<span.class=" |
| 57860 | 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c | tok-type">usize</span>,.<span.cl |
| 57880 | 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 2f 73 70 | ass="tok-number">0x123456780</sp |
| 578a0 | 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 61 20 3d 3d 20 62 29 3b 0a 20 20 20 20 61 73 | an>);.....assert(a.==.b);.....as |
| 578c0 | 73 65 72 74 28 62 20 3d 3d 20 61 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 | sert(b.==.a);.}</code></pre><pre |
| 578e0 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 | ><code.class="shell">$.zig.test. |
| 57900 | 70 65 65 72 5f 74 79 70 65 5f 72 65 73 6f 6c 75 74 69 6f 6e 2e 7a 69 67 0a 31 2f 37 20 74 65 73 | peer_type_resolution.zig.1/7.tes |
| 57920 | 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 6e 69 6e | t."peer.resolve.int.widenin |
| 57940 | 67 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 32 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 72 | g"...OK.2/7.test."peer |
| 57960 | 20 72 65 73 6f 6c 76 65 20 61 72 72 61 79 73 20 6f 66 20 64 69 66 66 65 72 65 6e 74 20 73 69 7a | .resolve.arrays.of.different.siz |
| 57980 | 65 20 74 6f 20 63 6f 6e 73 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 33 2f 37 20 | e.to.const.slice"...OK.3/7. |
| 579a0 | 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 72 20 72 65 73 6f 6c 76 65 20 61 72 72 61 79 20 61 6e | test."peer.resolve.array.an |
| 579c0 | 64 20 63 6f 6e 73 74 20 73 6c 69 63 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 34 2f 37 20 74 65 73 | d.const.slice"...OK.4/7.tes |
| 579e0 | 74 20 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 3f 54 | t."peer.type.resolution:.?T |
| 57a00 | 20 61 6e 64 20 54 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 35 2f 37 20 74 65 73 74 20 26 71 75 6f 74 | .and.T"...OK.5/7.test." |
| 57a20 | 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 5d 75 38 20 61 6e | ;peer.type.resolution:.*[0]u8.an |
| 57a40 | 64 20 5b 5d 63 6f 6e 73 74 20 75 38 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 36 2f 37 20 74 65 73 74 | d.[]const.u8"...OK.6/7.test |
| 57a60 | 20 26 71 75 6f 74 3b 70 65 65 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 5b 30 | ."peer.type.resolution:.*[0 |
| 57a80 | 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 72 6f 72 21 5b 5d | ]u8,.[]const.u8,.and.anyerror![] |
| 57aa0 | 75 38 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 37 2f 37 20 74 65 73 74 20 26 71 75 6f 74 3b 70 65 65 | u8"...OK.7/7.test."pee |
| 57ac0 | 72 20 74 79 70 65 20 72 65 73 6f 6c 75 74 69 6f 6e 3a 20 2a 63 6f 6e 73 74 20 54 20 61 6e 64 20 | r.type.resolution:.*const.T.and. |
| 57ae0 | 3f 2a 54 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 37 20 74 65 73 74 73 20 70 61 73 73 65 | ?*T"...OK.All.7.tests.passe |
| 57b00 | 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a | d..</code></pre>................ |
| 57b20 | 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 3c | .......<h1.id="Zero-Bit-Types">< |
| 57b40 | 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 5a 65 72 | a.href="#toc-Zero-Bit-Types">Zer |
| 57b60 | 6f 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 | o.Bit.Types</a>.<a.class="hdr".h |
| 57b80 | 72 65 66 3d 22 23 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 | ref="#Zero-Bit-Types">..</a></h1 |
| 57ba0 | 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 73 6f 6d 65 20 74 79 70 65 73 2c 20 3c 61 20 68 | >........<p>For.some.types,.<a.h |
| 57bc0 | 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 3c 2f 61 3e 20 69 73 20 30 3a 3c | ref="#sizeOf">@sizeOf</a>.is.0:< |
| 57be0 | 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 | /p>.......<ul>...........<li><a. |
| 57c00 | 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | href="#void">void</a></li>...... |
| 57c20 | 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 | .....<li>The.<a.href="#Integers" |
| 57c40 | 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | >Integers</a>.<code.class="zig"> |
| 57c60 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 30 3c 2f 73 70 61 6e 3e | <span.class="tok-type">u0</span> |
| 57c80 | 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | </code>.and.<code.class="zig"><s |
| 57ca0 | 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 6e 3e 3c 2f | pan.class="tok-type">i0</span></ |
| 57cc0 | 63 6f 64 65 3e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 | code>.</li>...........<li><a.hre |
| 57ce0 | 66 3d 22 23 41 72 72 61 79 73 22 3e 41 72 72 61 79 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 | f="#Arrays">Arrays</a>.and.<a.hr |
| 57d00 | 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 77 69 74 68 20 6c | ef="#Vectors">Vectors</a>.with.l |
| 57d20 | 65 6e 20 30 2c 20 6f 72 20 77 69 74 68 20 61 6e 20 65 6c 65 6d 65 6e 74 20 74 79 70 65 20 74 68 | en.0,.or.with.an.element.type.th |
| 57d40 | 61 74 20 69 73 20 61 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 | at.is.a.zero.bit.type.</li>..... |
| 57d60 | 20 20 20 20 20 20 3c 6c 69 3e 41 6e 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 | ......<li>An.<a.href="#enum">enu |
| 57d80 | 6d 3c 2f 61 3e 20 77 69 74 68 20 6f 6e 6c 79 20 31 20 74 61 67 2e 3c 2f 6c 69 3e 0a 20 20 20 20 | m</a>.with.only.1.tag.</li>..... |
| 57da0 | 20 20 20 20 20 20 3c 6c 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 | ......<li>A.<a.href="#struct">st |
| 57dc0 | 72 75 63 74 3c 2f 61 3e 20 77 69 74 68 20 61 6c 6c 20 66 69 65 6c 64 73 20 62 65 69 6e 67 20 7a | ruct</a>.with.all.fields.being.z |
| 57de0 | 65 72 6f 20 62 69 74 20 74 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c | ero.bit.types.</li>...........<l |
| 57e00 | 69 3e 41 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 77 | i>A.<a.href="#union">union</a>.w |
| 57e20 | 69 74 68 20 6f 6e 6c 79 20 31 20 66 69 65 6c 64 20 77 68 69 63 68 20 69 73 20 61 20 7a 65 72 6f | ith.only.1.field.which.is.a.zero |
| 57e40 | 20 62 69 74 20 74 79 70 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 | .bit.type.</li>...........<li><a |
| 57e60 | 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 2d 74 6f 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 | .href="#Pointers-to-Zero-Bit-Typ |
| 57e80 | 65 73 22 3e 50 6f 69 6e 74 65 72 73 20 74 6f 20 5a 65 72 6f 20 42 69 74 20 54 79 70 65 73 3c 2f | es">Pointers.to.Zero.Bit.Types</ |
| 57ea0 | 61 3e 20 61 72 65 20 74 68 65 6d 73 65 6c 76 65 73 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 73 | a>.are.themselves.zero.bit.types |
| 57ec0 | 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>.... |
| 57ee0 | 20 20 20 54 68 65 73 65 20 74 79 70 65 73 20 63 61 6e 20 6f 6e 6c 79 20 65 76 65 72 20 68 61 76 | ...These.types.can.only.ever.hav |
| 57f00 | 65 20 6f 6e 65 20 70 6f 73 73 69 62 6c 65 20 76 61 6c 75 65 2c 20 61 6e 64 20 74 68 75 73 0a 20 | e.one.possible.value,.and.thus.. |
| 57f20 | 20 20 20 20 20 72 65 71 75 69 72 65 20 30 20 62 69 74 73 20 74 6f 20 72 65 70 72 65 73 65 6e 74 | .....require.0.bits.to.represent |
| 57f40 | 2e 20 43 6f 64 65 20 74 68 61 74 20 6d 61 6b 65 73 20 75 73 65 20 6f 66 20 74 68 65 73 65 20 74 | ..Code.that.makes.use.of.these.t |
| 57f60 | 79 70 65 73 20 69 73 0a 20 20 20 20 20 20 6e 6f 74 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 | ypes.is.......not.included.in.th |
| 57f80 | 65 20 66 69 6e 61 6c 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 3a 0a 20 20 20 20 20 20 3c 2f | e.final.generated.code:.......</ |
| 57fa0 | 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 7a 69 67 22 3e | p>.......<pre><code.class="zig"> |
| 57fc0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 | <span.class="tok-kw">export</spa |
| 57fe0 | 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 |
| 58000 | 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 6e 74 72 79 3c 2f 73 70 | >.<span.class="tok-fn">entry</sp |
| 58020 | 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 |
| 58040 | 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | d</span>.{.....<span.class="tok- |
| 58060 | 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 |
| 58080 | 6f 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 0a 20 20 20 20 3c | ok-type">void</span>.=.{};.....< |
| 580a0 | 73 70 61 6e 20 63 6c 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 | span.class="tok-kw">var</span>.y |
| 580c0 | 3a 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 |
| 580e0 | 70 61 6e 3e 20 3d 20 7b 7d 3b 0a 20 20 20 20 78 20 3d 20 79 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f | pan>.=.{};.....x.=.y;.}</code></ |
| 58100 | 70 72 65 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 | pre>.......<p>When.this.turns.in |
| 58120 | 74 6f 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 63 6f 64 | to.machine.code,.there.is.no.cod |
| 58140 | 65 20 67 65 6e 65 72 61 74 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 62 6f 64 79 20 6f 66 | e.generated.in.the.......body.of |
| 58160 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 65 6e 74 72 79 3c 2f 63 6f 64 65 3e 2c | .<code.class="zig">entry</code>, |
| 58180 | 20 65 76 65 6e 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c | .even.in.<a.href="#Debug">Debug< |
| 581a0 | 2f 61 3e 20 6d 6f 64 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6f 6e 20 78 38 36 5f 36 34 | /a>.mode..For.example,.on.x86_64 |
| 581c0 | 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 30 30 30 30 30 30 30 30 30 | :</p>.......<pre><code>000000000 |
| 581e0 | 30 30 30 30 30 31 30 20 26 6c 74 3b 65 6e 74 72 79 26 67 74 3b 3a 0a 20 20 31 30 3a 09 35 35 20 | 0000010.<entry>:...10:.55. |
| 58200 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 70 75 73 68 20 20 20 25 72 62 70 0a 20 | ...................push...%rbp.. |
| 58220 | 20 31 31 3a 09 34 38 20 38 39 20 65 35 20 20 20 20 20 20 20 20 20 20 20 20 20 09 6d 6f 76 20 20 | .11:.48.89.e5..............mov.. |
| 58240 | 20 20 25 72 73 70 2c 25 72 62 70 0a 20 20 31 34 3a 09 35 64 20 20 20 20 20 20 20 20 20 20 20 20 | ..%rsp,%rbp...14:.5d............ |
| 58260 | 20 20 20 20 20 20 20 09 70 6f 70 20 20 20 20 25 72 62 70 0a 20 20 31 35 3a 09 63 33 20 20 20 20 | ........pop....%rbp...15:.c3.... |
| 58280 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 09 72 65 74 71 20 20 20 3c 2f 63 6f 64 65 3e 3c 2f | ................retq...</code></ |
| 582a0 | 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 61 73 73 65 6d 62 6c 79 20 69 6e 73 | pre>.......<p>These.assembly.ins |
| 582c0 | 74 72 75 63 74 69 6f 6e 73 20 64 6f 20 6e 6f 74 20 68 61 76 65 20 61 6e 79 20 63 6f 64 65 20 61 | tructions.do.not.have.any.code.a |
| 582e0 | 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 65 20 76 6f 69 64 20 76 61 6c 75 65 73 20 2d | ssociated.with.the.void.values.- |
| 58300 | 0a 20 20 20 20 20 20 74 68 65 79 20 6f 6e 6c 79 20 70 65 72 66 6f 72 6d 20 74 68 65 20 66 75 6e | .......they.only.perform.the.fun |
| 58320 | 63 74 69 6f 6e 20 63 61 6c 6c 20 70 72 6f 6c 6f 67 75 65 20 61 6e 64 20 65 70 69 6c 6f 67 2e 3c | ction.call.prologue.and.epilog.< |
| 58340 | 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 76 6f 69 64 22 3e 3c 61 20 68 72 65 66 | /p>........<h2.id="void"><a.href |
| 58360 | 3d 22 23 74 6f 63 2d 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 | ="#toc-void">void</a>.<a.class=" |
| 58380 | 68 64 72 22 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 | hdr".href="#void">..</a></h2>... |
| 583a0 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | .....<p>.......<code.class="zig" |
| 583c0 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 | ><span.class="tok-type">void</sp |
| 583e0 | 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 69 6e 73 | an></code>.can.be.useful.for.ins |
| 58400 | 74 61 6e 74 69 61 74 69 6e 67 20 67 65 6e 65 72 69 63 20 74 79 70 65 73 2e 20 46 6f 72 20 65 78 | tantiating.generic.types..For.ex |
| 58420 | 61 6d 70 6c 65 2c 20 67 69 76 65 6e 20 61 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 | ample,.given.a...........<code.c |
| 58440 | 6c 61 73 73 3d 22 7a 69 67 22 3e 4d 61 70 28 4b 65 79 2c 20 56 61 6c 75 65 29 3c 2f 63 6f 64 65 | lass="zig">Map(Key,.Value)</code |
| 58460 | 3e 2c 20 6f 6e 65 20 63 61 6e 20 70 61 73 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | >,.one.can.pass.<code.class="zig |
| 58480 | 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 | "><span.class="tok-type">void</s |
| 584a0 | 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d | pan></code>.for.the.<code.class= |
| 584c0 | 22 7a 69 67 22 3e 56 61 6c 75 65 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | "zig">Value</code>.............. |
| 584e0 | 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 20 61 20 | .........type.to.make.it.into.a. |
| 58500 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 53 65 74 3c 2f 63 6f 64 65 3e 3a 0a 20 20 | <code.class="zig">Set</code>:... |
| 58520 | 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 | ....</p>.......<p.class="file">t |
| 58540 | 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | est.zig</p><pre><code.class="zig |
| 58560 | 22 3e 3c 73 70 61 6e 20 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 |
| 58580 | 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 |
| 585a0 | 69 6e 22 3e 40 69 6d 70 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=" |
| 585c0 | 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">"std"</span>) |
| 585e0 | 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 | ;.<span.class="tok-kw">const</sp |
| 58600 | 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a | an>.assert.=.std.debug.assert;.. |
| 58620 | 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> |
| 58640 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 75 72 | .<span.class="tok-str">"tur |
| 58660 | 6e 20 48 61 73 68 4d 61 70 20 69 6e 74 6f 20 61 20 73 65 74 20 77 69 74 68 20 76 6f 69 64 26 71 | n.HashMap.into.a.set.with.void&q |
| 58680 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | uot;</span>.{.....<span.class="t |
| 586a0 | 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 48 61 73 68 | ok-kw">var</span>.map.=.std.Hash |
| 586c0 | 4d 61 70 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f | Map(<span.class="tok-type">i32</ |
| 586e0 | 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 76 6f | span>,.<span.class="tok-type">vo |
| 58700 | 69 64 3c 2f 73 70 61 6e 3e 2c 20 68 61 73 68 5f 69 33 32 2c 20 65 71 6c 5f 69 33 32 29 2e 69 6e | id</span>,.hash_i32,.eql_i32).in |
| 58720 | 69 74 28 73 74 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 29 3b 0a 20 20 20 20 3c | it(std.testing.allocator);.....< |
| 58740 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e | span.class="tok-kw">defer</span> |
| 58760 | 20 6d 61 70 2e 64 65 69 6e 69 74 28 29 3b 0a 0a 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c | .map.deinit();......_.=.<span.cl |
| 58780 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 6d 61 70 2e 70 75 74 28 | ass="tok-kw">try</span>.map.put( |
| 587a0 | 3c 73 70 61 6e 20 63 6c 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 |
| 587c0 | 3e 2c 20 7b 7d 29 3b 0a 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | >,.{});....._.=.<span.class="tok |
| 587e0 | 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 6d 61 70 2e 70 75 74 28 3c 73 70 61 6e 20 63 6c | -kw">try</span>.map.put(<span.cl |
| 58800 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3b 0a | ass="tok-number">2</span>,.{});. |
| 58820 | 0a 20 20 20 20 61 73 73 65 72 74 28 6d 61 70 2e 63 6f 6e 74 61 69 6e 73 28 3c 73 70 61 6e 20 63 | .....assert(map.contains(<span.c |
| 58840 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 | lass="tok-number">2</span>));... |
| 58860 | 20 20 61 73 73 65 72 74 28 21 6d 61 70 2e 63 6f 6e 74 61 69 6e 73 28 3c 73 70 61 6e 20 63 6c 61 | ..assert(!map.contains(<span.cla |
| 58880 | 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 0a 0a 20 20 20 | ss="tok-number">3</span>));..... |
| 588a0 | 20 5f 20 3d 20 6d 61 70 2e 72 65 6d 6f 76 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ._.=.map.remove(<span.class="tok |
| 588c0 | 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 21 | -number">2</span>);.....assert(! |
| 588e0 | 6d 61 70 2e 63 6f 6e 74 61 69 6e 73 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | map.contains(<span.class="tok-nu |
| 58900 | 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | mber">2</span>));.}..<span.class |
| 58920 | 3d 22 74 6f 6b 2d 6b 77 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= |
| 58940 | 22 74 6f 6b 2d 66 6e 22 3e 68 61 73 68 5f 69 33 32 3c 2f 73 70 61 6e 3e 28 78 3a 20 3c 73 70 61 | "tok-fn">hash_i32</span>(x:.<spa |
| 58960 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c | n.class="tok-type">i32</span>).< |
| 58980 | 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> |
| 589a0 | 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 | .{.....<span.class="tok-kw">retu |
| 589c0 | 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 | rn</span>.<span.class="tok-built |
| 589e0 | 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= |
| 58a00 | 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 78 29 3b 0a 7d 0a 0a 3c 73 | "tok-type">u32</span>,.x);.}..<s |
| 58a20 | 70 61 6e 20 63 6c 61 73 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 |
| 58a40 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 65 71 6c 5f 69 33 32 3c 2f 73 70 61 6e 3e | an.class="tok-fn">eql_i32</span> |
| 58a60 | 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f | (a:.<span.class="tok-type">i32</ |
| 58a80 | 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | span>,.b:.<span.class="tok-type" |
| 58aa0 | 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 |
| 58ac0 | 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | pe">bool</span>.{.....<span.clas |
| 58ae0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 3d 3d 20 62 3b | s="tok-kw">return</span>.a.==.b; |
| 58b00 | 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | .}</code></pre><pre><code.class= |
| 58b20 | 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 | "shell">$.zig.test.test.zig.1/1. |
| 58b40 | 74 65 73 74 20 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 | test."turn.HashMap.into.a.s |
| 58b60 | 65 74 20 77 69 74 68 20 76 6f 69 64 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 | et.with.void"...OK.All.1.te |
| 58b80 | 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 | sts.passed..</code></pre>....... |
| 58ba0 | 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 6e 74 20 | .<p>Note.that.this.is.different. |
| 58bc0 | 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 74 68 65 | from.using.a.dummy.value.for.the |
| 58be0 | 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 6e 67 20 | .hash.map.value........By.using. |
| 58c00 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 58c20 | 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 73 20 74 | ok-type">void</span></code>.as.t |
| 58c40 | 68 65 20 74 79 70 65 20 6f 66 20 74 68 65 20 76 61 6c 75 65 2c 20 74 68 65 20 68 61 73 68 20 6d | he.type.of.the.value,.the.hash.m |
| 58c60 | 61 70 20 65 6e 74 72 79 20 74 79 70 65 20 68 61 73 20 6e 6f 20 76 61 6c 75 65 20 66 69 65 6c 64 | ap.entry.type.has.no.value.field |
| 58c80 | 2c 20 61 6e 64 0a 20 20 20 20 20 20 74 68 75 73 20 74 68 65 20 68 61 73 68 20 6d 61 70 20 74 61 | ,.and.......thus.the.hash.map.ta |
| 58ca0 | 6b 65 73 20 75 70 20 6c 65 73 73 20 73 70 61 63 65 2e 20 46 75 72 74 68 65 72 2c 20 61 6c 6c 20 | kes.up.less.space..Further,.all. |
| 58cc0 | 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 64 65 61 6c 73 20 77 69 74 68 20 73 74 6f 72 69 6e 67 | the.code.that.deals.with.storing |
| 58ce0 | 20 61 6e 64 20 6c 6f 61 64 69 6e 67 20 74 68 65 0a 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 | .and.loading.the.......value.is. |
| 58d00 | 64 65 6c 65 74 65 64 2c 20 61 73 20 73 65 65 6e 20 61 62 6f 76 65 2e 0a 20 20 20 20 20 20 3c 2f | deleted,.as.seen.above........</ |
| 58d20 | 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | p>.......<p>.......<code.class=" |
| 58d40 | 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 | zig"><span.class="tok-type">void |
| 58d60 | 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 64 69 73 74 69 6e 63 74 20 66 72 6f 6d 20 | </span></code>.is.distinct.from. |
| 58d80 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 58da0 | 6f 6b 2d 74 79 70 65 22 3e 63 5f 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 | ok-type">c_void</span></code>,.w |
| 58dc0 | 68 69 63 68 20 69 73 20 64 65 66 69 6e 65 64 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 | hich.is.defined.like.this:...... |
| 58de0 | 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | .........<code.class="zig"><span |
| 58e00 | 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 |
| 58e20 | 20 63 6c 61 73 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 |
| 58e40 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 76 6f 69 64 3c 2f 73 70 61 6e | an.class="tok-type">c_void</span |
| 58e60 | 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 4f | >.=.<span.class="tok-builtin">@O |
| 58e80 | 70 61 71 75 65 54 79 70 65 3c 2f 73 70 61 6e 3e 28 29 3b 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 | paqueType</span>();</code>...... |
| 58ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | ..............<code.class="zig"> |
| 58ec0 | 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 |
| 58ee0 | 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 20 6b 6e 6f 77 6e 20 73 69 7a 65 20 6f 66 20 30 20 | n></code>.has.a.known.size.of.0. |
| 58f00 | 62 79 74 65 73 2c 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | bytes,.and.<code.class="zig"><sp |
| 58f20 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 76 6f 69 64 3c 2f 73 70 61 6e | an.class="tok-type">c_void</span |
| 58f40 | 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 75 74 20 6e 6f 6e | ></code>.has.an.unknown,.but.non |
| 58f60 | 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 20 20 20 20 3c 70 | -zero,.size........</p>.......<p |
| 58f80 | 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 65 20 3c 63 6f 64 | >.......Expressions.of.type.<cod |
| 58fa0 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | e.class="zig"><span.class="tok-t |
| 58fc0 | 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 74 68 65 20 | ype">void</span></code>.are.the. |
| 58fe0 | 6f 6e 6c 79 20 6f 6e 65 73 20 77 68 6f 73 65 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 69 67 6e | only.ones.whose.value.can.be.ign |
| 59000 | 6f 72 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 | ored..For.example:.......</p>... |
| 59020 | 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e | ....<p.class="file">test.zig</p> |
| 59040 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | <pre><code.class="zig"><span.cla |
| 59060 | 73 73 3d 22 74 6f 6b 2d 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 |
| 59080 | 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 69 67 6e 6f 72 69 6e 67 20 65 78 70 | ass="tok-str">"ignoring.exp |
| 590a0 | 72 65 73 73 69 6f 6e 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | ression.value"</span>.{.... |
| 590c0 | 20 66 6f 6f 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | .foo();.}..<span.class="tok-kw"> |
| 590e0 | 66 6e 3c 2f 73 70 61 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 |
| 59100 | 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | oo</span>().<span.class="tok-typ |
| 59120 | 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e">i32</span>.{.....<span.class= |
| 59140 | 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 | "tok-kw">return</span>.<span.cla |
| 59160 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f | ss="tok-number">1234</span>;.}</ |
| 59180 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 | code></pre><pre><code.class="she |
| 591a0 | 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c | ll">$.zig.test.test.zig.<span.cl |
| 591c0 | 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 |
| 591e0 | 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" |
| 59200 | 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 |
| 59220 | 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 |
| 59240 | 70 61 6e 3e 0a 20 20 20 20 66 6f 6f 28 29 3b 0a 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | pan>.....foo();........<span.cla |
| 59260 | 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ss="t32_1">^</span>.<span.class= |
| 59280 | 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 3a 33 | "t0_1">./docgen_tmp/test.zig:1:3 |
| 592a0 | 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 6f | 4:.</span><span.class="t36_1">no |
| 592c0 | 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 | te:.</span><span.class="t0_1">re |
| 592e0 | 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 74 65 73 74 20 26 71 75 6f 74 3b | ferenced.here</span>.test." |
| 59300 | 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 76 61 6c 75 65 26 71 75 6f 74 3b 20 | ignoring.expression.value". |
| 59320 | 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | {............................... |
| 59340 | 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a | ...<span.class="t32_1">^</span>. |
| 59360 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 48 6f 77 65 76 65 72 2c | </code></pre>........<p>However, |
| 59380 | 20 69 66 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 68 61 73 20 74 79 70 65 20 3c 63 6f 64 | .if.the.expression.has.type.<cod |
| 593a0 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | e.class="zig"><span.class="tok-t |
| 593c0 | 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 72 65 20 77 | ype">void</span></code>,.there.w |
| 593e0 | 69 6c 6c 20 62 65 20 6e 6f 20 65 72 72 6f 72 2e 20 46 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e | ill.be.no.error..Function.return |
| 59400 | 20 76 61 6c 75 65 73 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 65 78 70 6c 69 63 69 74 6c 79 20 69 | .values.can.also.be.explicitly.i |
| 59420 | 67 6e 6f 72 65 64 20 62 79 20 61 73 73 69 67 6e 69 6e 67 20 74 68 65 6d 20 74 6f 20 3c 63 6f 64 | gnored.by.assigning.them.to.<cod |
| 59440 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 5f 3c 2f 63 6f 64 65 3e 2e 20 3c 2f 70 3e 0a 20 20 20 | e.class="zig">_</code>..</p>.... |
| 59460 | 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c | ...<p.class="file">test.zig</p>< |
| 59480 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | pre><code.class="zig"><span.clas |
| 594a0 | 73 3d 22 74 6f 6b 2d 6b 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 |
| 594c0 | 73 73 3d 22 74 6f 6b 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 | ss="tok-str">"void.is.ignor |
| 594e0 | 65 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 72 65 74 75 72 6e 73 56 6f 69 | ed"</span>.{.....returnsVoi |
| 59500 | 64 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 | d();.}..<span.class="tok-kw">tes |
| 59520 | 74 3c 2f 73 70 61 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">& |
| 59540 | 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 73 | quot;explicitly.ignoring.express |
| 59560 | 69 6f 6e 20 76 61 6c 75 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d | ion.value"</span>.{....._.= |
| 59580 | 20 66 6f 6f 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | .foo();.}..<span.class="tok-kw"> |
| 595a0 | 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 | fn</span>.<span.class="tok-fn">r |
| 595c0 | 65 74 75 72 6e 73 56 6f 69 64 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | eturnsVoid</span>().<span.class= |
| 595e0 | 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 0a 0a 3c 73 70 61 6e | "tok-type">void</span>.{}..<span |
| 59600 | 20 63 6c 61 73 73 3d 22 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. |
| 59620 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 | class="tok-fn">foo</span>().<spa |
| 59640 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a | n.class="tok-type">i32</span>.{. |
| 59660 | 20 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< |
| 59680 | 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | /span>.<span.class="tok-number"> |
| 596a0 | 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e | 1234</span>;.}</code></pre><pre> |
| 596c0 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 | <code.class="shell">$.zig.test.t |
| 596e0 | 65 73 74 2e 7a 69 67 0a 31 2f 32 20 74 65 73 74 20 26 71 75 6f 74 3b 76 6f 69 64 20 69 73 20 69 | est.zig.1/2.test."void.is.i |
| 59700 | 67 6e 6f 72 65 64 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 32 2f 32 20 74 65 73 74 20 26 71 75 6f 74 | gnored"...OK.2/2.test." |
| 59720 | 3b 65 78 70 6c 69 63 69 74 6c 79 20 69 67 6e 6f 72 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 | ;explicitly.ignoring.expression. |
| 59740 | 76 61 6c 75 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 32 20 74 65 73 74 73 20 70 61 73 | value"...OK.All.2.tests.pas |
| 59760 | 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 | sed..</code></pre>.............. |
| 59780 | 20 20 3c 68 32 20 69 64 3d 22 50 6f 69 6e 74 65 72 73 2d 74 6f 2d 5a 65 72 6f 2d 42 69 74 2d 54 | ..<h2.id="Pointers-to-Zero-Bit-T |
| 597a0 | 79 70 65 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 2d 74 6f 2d | ypes"><a.href="#toc-Pointers-to- |
| 597c0 | 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 3e 50 6f 69 6e 74 65 72 73 20 74 6f 20 5a 65 72 6f | Zero-Bit-Types">Pointers.to.Zero |
| 597e0 | 20 42 69 74 20 54 79 70 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 | .Bit.Types</a>.<a.class="hdr".hr |
| 59800 | 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 2d 74 6f 2d 5a 65 72 6f 2d 42 69 74 2d 54 79 70 65 73 22 | ef="#Pointers-to-Zero-Bit-Types" |
| 59820 | 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 50 6f 69 6e 74 65 72 73 20 | >..</a></h2>........<p>Pointers. |
| 59840 | 74 6f 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 73 20 61 6c 73 6f 20 68 61 76 65 20 7a 65 72 6f | to.zero.bit.types.also.have.zero |
| 59860 | 20 62 69 74 73 2e 20 54 68 65 79 20 61 6c 77 61 79 73 20 63 6f 6d 70 61 72 65 20 65 71 75 61 6c | .bits..They.always.compare.equal |
| 59880 | 20 74 6f 20 65 61 63 68 20 6f 74 68 65 72 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 | .to.each.other:</p>.......<p.cla |
| 598a0 | 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 | ss="file">test.zig</p><pre><code |
| 598c0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| 598e0 | 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 |
| 59900 | 3d 22 74 6f 6b 2d 62 75 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 |
| 59920 | 70 61 6e 20 63 6c 61 73 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">"std&qu |
| 59940 | 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | ot;</span>);.<span.class="tok-kw |
| 59960 | 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 | ">const</span>.assert.=.std.debu |
| 59980 | 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | g.assert;..<span.class="tok-kw"> |
| 599a0 | 74 65 73 74 3c 2f 73 70 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 |
| 599c0 | 22 3e 26 71 75 6f 74 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 | ">"pointer.to.empty.struct& |
| 599e0 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | quot;</span>.{.....<span.class=" |
| 59a00 | 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 45 6d 70 74 79 20 3d 20 3c 73 70 | tok-kw">const</span>.Empty.=.<sp |
| 59a20 | 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>. |
| 59a40 | 7b 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 | {};.....<span.class="tok-kw">var |
| 59a60 | 3c 2f 73 70 61 6e 3e 20 61 20 3d 20 45 6d 70 74 79 7b 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | </span>.a.=.Empty{};.....<span.c |
| 59a80 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 20 3d 20 45 6d 70 | lass="tok-kw">var</span>.b.=.Emp |
| 59aa0 | 74 79 7b 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 | ty{};.....<span.class="tok-kw">v |
| 59ac0 | 61 72 3c 2f 73 70 61 6e 3e 20 70 74 72 5f 61 20 3d 20 26 61 6d 70 3b 61 3b 0a 20 20 20 20 3c 73 | ar</span>.ptr_a.=.&a;.....<s |
| 59ae0 | 70 61 6e 20 63 6c 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 | pan.class="tok-kw">var</span>.pt |
| 59b00 | 72 5f 62 20 3d 20 26 61 6d 70 3b 62 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | r_b.=.&b;.....<span.class="t |
| 59b20 | 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 28 70 74 | ok-kw">comptime</span>.assert(pt |
| 59b40 | 72 5f 61 20 3d 3d 20 70 74 72 5f 62 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 | r_a.==.ptr_b);.}</code></pre><pr |
| 59b60 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 | e><code.class="shell">$.zig.test |
| 59b80 | 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 70 6f 69 6e 74 65 72 | .test.zig.1/1.test."pointer |
| 59ba0 | 20 74 6f 20 65 6d 70 74 79 20 73 74 72 75 63 74 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 | .to.empty.struct"...OK.All. |
| 59bc0 | 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 | 1.tests.passed..</code></pre>... |
| 59be0 | 20 20 20 20 20 3c 70 3e 54 68 65 20 74 79 70 65 20 62 65 69 6e 67 20 70 6f 69 6e 74 65 64 20 74 | .....<p>The.type.being.pointed.t |
| 59c00 | 6f 20 63 61 6e 20 6f 6e 6c 79 20 65 76 65 72 20 62 65 20 6f 6e 65 20 76 61 6c 75 65 3b 20 74 68 | o.can.only.ever.be.one.value;.th |
| 59c20 | 65 72 65 66 6f 72 65 20 6c 6f 61 64 73 20 61 6e 64 20 73 74 6f 72 65 73 20 61 72 65 0a 20 20 20 | erefore.loads.and.stores.are.... |
| 59c40 | 20 20 20 6e 65 76 65 72 20 67 65 6e 65 72 61 74 65 64 2e 20 3c 61 20 68 72 65 66 3d 22 23 70 74 | ...never.generated..<a.href="#pt |
| 59c60 | 72 54 6f 49 6e 74 22 3e 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 | rToInt">ptrToInt</a>.and.<a.href |
| 59c80 | 3d 22 23 69 6e 74 54 6f 50 74 72 22 3e 69 6e 74 54 6f 50 74 72 3c 2f 61 3e 20 61 72 65 20 6e 6f | ="#intToPtr">intToPtr</a>.are.no |
| 59ca0 | 74 20 61 6c 6c 6f 77 65 64 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 | t.allowed:</p>.......<p.class="f |
| 59cc0 | 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | ile">test.zig</p><pre><code.clas |
| 59ce0 | 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | s="zig"><span.class="tok-kw">con |
| 59d00 | 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 61 73 73 3d 22 74 | st</span>.Empty.=.<span.class="t |
| 59d20 | 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 7d 3b 0a 0a 3c 73 70 61 6e 20 | ok-kw">struct</span>.{};..<span. |
| 59d40 | 63 6c 61 73 73 3d 22 74 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 |
| 59d60 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 70 74 72 54 6f 49 6e 74 | .class="tok-str">"@ptrToInt |
| 59d80 | 20 66 6f 72 20 70 6f 69 6e 74 65 72 20 74 6f 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 26 71 75 | .for.pointer.to.zero.bit.type&qu |
| 59da0 | 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ot;</span>.{.....<span.class="to |
| 59dc0 | 6b 2d 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 0a 20 20 | k-kw">var</span>.a.=.Empty{};... |
| 59de0 | 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e | .._.=.<span.class="tok-builtin"> |
| 59e00 | 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 26 61 6d 70 3b 61 29 3b 0a 7d 0a 0a 3c 73 70 | @ptrToInt</span>(&a);.}..<sp |
| 59e20 | 61 6e 20 63 6c 61 73 73 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 |
| 59e40 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 69 6e 74 54 6f | pan.class="tok-str">"@intTo |
| 59e60 | 50 74 72 20 66 6f 72 20 70 6f 69 6e 74 65 72 20 74 6f 20 7a 65 72 6f 20 62 69 74 20 74 79 70 65 | Ptr.for.pointer.to.zero.bit.type |
| 59e80 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c | "</span>.{....._.=.<span.cl |
| 59ea0 | 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 |
| 59ec0 | 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 |
| 59ee0 | 65 72 22 3e 30 78 31 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c | er">0x1</span>);.}</code></pre>< |
| 59f00 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 | pre><code.class="shell">$.zig.te |
| 59f20 | 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e | st.test.zig.<span.class="t0_1">. |
| 59f40 | 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 70 61 6e | /docgen_tmp/test.zig:4:5:.</span |
| 59f60 | 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 |
| 59f80 | 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 74 6f | an><span.class="t0_1">pointer.to |
| 59fa0 | 20 73 69 7a 65 20 30 20 74 79 70 65 20 68 61 73 20 6e 6f 20 61 64 64 72 65 73 73 3c 2f 73 70 61 | .size.0.type.has.no.address</spa |
| 59fc0 | 6e 3e 0a 20 20 20 20 76 61 72 20 61 20 3d 20 45 6d 70 74 79 7b 7d 3b 0a 20 20 20 20 3c 73 70 61 | n>.....var.a.=.Empty{};.....<spa |
| 59fe0 | 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 |
| 5a000 | 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 |
| 5a020 | 67 3a 35 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 | g:5:9:.</span><span.class="t36_1 |
| 5a040 | 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 | ">note:.</span><span.class="t0_1 |
| 5a060 | 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d | ">referenced.here</span>....._.= |
| 5a080 | 20 40 70 74 72 54 6f 49 6e 74 28 26 61 6d 70 3b 61 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 | .@ptrToInt(&a);.........<spa |
| 5a0a0 | 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 |
| 5a0c0 | 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 |
| 5a0e0 | 67 3a 39 3a 31 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 5f | g:9:19:.</span><span.class="t31_ |
| 5a100 | 31 22 3e 65 72 72 6f 72 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 | 1">error:.</span><span.class="t0 |
| 5a120 | 5f 31 22 3e 74 79 70 65 20 27 2a 45 6d 70 74 79 27 20 68 61 73 20 30 20 62 69 74 73 20 61 6e 64 | _1">type.'*Empty'.has.0.bits.and |
| 5a140 | 20 63 61 6e 6e 6f 74 20 73 74 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e | .cannot.store.information</span> |
| 5a160 | 0a 20 20 20 20 5f 20 3d 20 40 69 6e 74 54 6f 50 74 72 28 2a 45 6d 70 74 79 2c 20 30 78 31 29 3b | ....._.=.@intToPtr(*Empty,.0x1); |
| 5a180 | 0a 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=" |
| 5a1a0 | 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 74 30 5f | t32_1">^</span>.<span.class="t0_ |
| 5a1c0 | 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 39 3a 39 3a 20 3c 2f | 1">./docgen_tmp/test.zig:9:9:.</ |
| 5a1e0 | 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c | span><span.class="t36_1">note:.< |
| 5a200 | 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e | /span><span.class="t0_1">referen |
| 5a220 | 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 40 69 6e 74 54 6f 50 74 | ced.here</span>....._.=.@intToPt |
| 5a240 | 72 28 2a 45 6d 70 74 79 2c 20 30 78 31 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c | r(*Empty,.0x1);.........<span.cl |
| 5a260 | 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | ass="t32_1">^</span>.</code></pr |
| 5a280 | 65 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 31 20 69 64 3d | e>.......................<h1.id= |
| 5a2a0 | 22 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 3c 61 20 68 | "Result-Location-Semantics"><a.h |
| 5a2c0 | 72 65 66 3d 22 23 74 6f 63 2d 52 65 73 75 6c 74 2d 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 | ref="#toc-Result-Location-Semant |
| 5a2e0 | 69 63 73 22 3e 52 65 73 75 6c 74 20 4c 6f 63 61 74 69 6f 6e 20 53 65 6d 61 6e 74 69 63 73 3c 2f | ics">Result.Location.Semantics</ |
| 5a300 | 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d | a>.<a.class="hdr".href="#Result- |
| 5a320 | 4c 6f 63 61 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a | Location-Semantics">..</a></h1>. |
| 5a340 | 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a | .......<p>.......<a.href="https: |
| 5a360 | 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/ |
| 5a380 | 32 38 30 39 22 3e 54 4f 44 4f 20 61 64 64 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 | 2809">TODO.add.documentation.for |
| 5a3a0 | 20 74 68 69 73 3c 2f 61 3e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 | .this</a>.......</p>............ |
| 5a3c0 | 20 20 20 3c 68 31 20 69 64 3d 22 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 3c 61 20 68 72 | ...<h1.id="usingnamespace"><a.hr |
| 5a3e0 | 65 66 3d 22 23 74 6f 63 2d 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e 75 73 69 6e 67 6e 61 | ef="#toc-usingnamespace">usingna |
| 5a400 | 6d 65 73 70 61 63 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d | mespace</a>.<a.class="hdr".href= |
| 5a420 | 22 23 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 | "#usingnamespace">..</a></h1>... |
| 5a440 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | .....<p>.......<code.class="zig" |
| 5a460 | 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 67 6e 61 6d 65 73 | ><span.class="tok-kw">usingnames |
| 5a480 | 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 74 6f 70 20 6c 65 76 65 | pace</span></code>.is.a.top.leve |
| 5a4a0 | 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 74 68 61 74 20 69 6d 70 6f 72 74 73 20 61 6c 6c 20 74 | l.declaration.that.imports.all.t |
| 5a4c0 | 68 65 20 70 75 62 6c 69 63 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 6f 66 0a 20 20 20 20 20 20 | he.public.declarations.of....... |
| 5a4e0 | 74 68 65 20 6f 70 65 72 61 6e 64 2c 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 61 20 3c 61 20 | the.operand,.which.must.be.a.<a. |
| 5a500 | 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2c 20 3c 61 20 68 72 | href="#struct">struct</a>,.<a.hr |
| 5a520 | 65 66 3d 22 23 75 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 | ef="#union">union</a>,.or.<a.hre |
| 5a540 | 66 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 2c 20 69 6e 74 6f 20 74 68 65 20 63 75 72 | f="#enum">enum</a>,.into.the.cur |
| 5a560 | 72 65 6e 74 20 73 63 6f 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 | rent.scope:.......</p>.......<p. |
| 5a580 | 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 3c | class="file">usingnamespace.zig< |
| 5a5a0 | 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | /p><pre><code.class="zig"><span. |
| 5a5c0 | 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 3c 2f 73 | class="tok-kw">usingnamespace</s |
| 5a5e0 | 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">@ |
| 5a600 | 69 6d 70 6f 72 74 3c 2f 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 |
| 5a620 | 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 | tr">"std"</span>);..<s |
| 5a640 | 70 61 6e 20 63 6c 61 73 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>.< |
| 5a660 | 73 70 61 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">"using |
| 5a680 | 20 73 74 64 20 6e 61 6d 65 73 70 61 63 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | .std.namespace"</span>.{... |
| 5a6a0 | 20 20 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 6f 6b 2d | ..debug.assert(<span.class="tok- |
| 5a6c0 | 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | null">true</span>);.}</code></pr |
| 5a6e0 | 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 | e><pre><code.class="shell">$.zig |
| 5a700 | 20 74 65 73 74 20 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 2e 7a 69 67 0a 31 2f 31 20 74 65 73 | .test.usingnamespace.zig.1/1.tes |
| 5a720 | 74 20 26 71 75 6f 74 3b 75 73 69 6e 67 20 73 74 64 20 6e 61 6d 65 73 70 61 63 65 26 71 75 6f 74 | t."using.std.namespace" |
| 5a740 | 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 | ;...OK.All.1.tests.passed..</cod |
| 5a760 | 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 73 74 65 61 | e></pre>........<p>.......Instea |
| 5a780 | 64 20 6f 66 20 74 68 65 20 61 62 6f 76 65 20 70 61 74 74 65 72 6e 2c 20 69 74 20 69 73 20 67 65 | d.of.the.above.pattern,.it.is.ge |
| 5a7a0 | 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 65 78 70 6c 69 63 69 74 6c | nerally.recommended.to.explicitl |
| 5a7c0 | 79 20 61 6c 69 61 73 20 69 6e 64 69 76 69 64 75 61 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2e | y.alias.individual.declarations. |
| 5a7e0 | 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | .......However,.<code.class="zig |
| 5a800 | 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 67 6e 61 6d 65 | "><span.class="tok-kw">usingname |
| 5a820 | 73 70 61 63 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 6e 20 69 6d 70 6f 72 | space</span></code>.has.an.impor |
| 5a840 | 74 61 6e 74 20 75 73 65 20 63 61 73 65 20 77 68 65 6e 20 6f 72 67 61 6e 69 7a 69 6e 67 20 74 68 | tant.use.case.when.organizing.th |
| 5a860 | 65 20 70 75 62 6c 69 63 0a 20 20 20 20 20 20 41 50 49 20 6f 66 20 61 20 66 69 6c 65 20 6f 72 20 | e.public.......API.of.a.file.or. |
| 5a880 | 70 61 63 6b 61 67 65 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 6f 6e 65 20 6d 69 67 68 74 20 | package..For.example,.one.might. |
| 5a8a0 | 68 61 76 65 20 3c 63 6f 64 65 3e 63 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 61 6c 6c | have.<code>c.zig</code>.with.all |
| 5a8c0 | 20 6f 66 20 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 | .of.the.......<a.href="#Import-f |
| 5a8e0 | 72 6f 6d 2d 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 | rom-C-Header-File">C.imports</a> |
| 5a900 | 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | :.......</p>.......<pre><code.cl |
| 5a920 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 | ass="zig"><span.class="tok-kw">p |
| 5a940 | 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 75 | ub</span>.<span.class="tok-kw">u |
| 5a960 | 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 | singnamespace</span>.<span.class |
| 5a980 | 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 7b | ="tok-builtin">@cImport</span>({ |
| 5a9a0 | 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 | .....<span.class="tok-builtin">@ |
| 5a9c0 | 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | cInclude</span>(<span.class="tok |
| 5a9e0 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 65 70 6f 78 79 2f 67 6c 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 | -str">"epoxy/gl.h"</sp |
| 5aa00 | 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 | an>);.....<span.class="tok-built |
| 5aa20 | 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 |
| 5aa40 | 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 77 33 2e 68 26 71 75 | ="tok-str">"GLFW/glfw3.h&qu |
| 5aa60 | 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ot;</span>);.....<span.class="to |
| 5aa80 | 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e | k-builtin">@cDefine</span>(<span |
| 5aaa0 | 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 59 | .class="tok-str">"STBI_ONLY |
| 5aac0 | 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 22 | _PNG"</span>,.<span.class=" |
| 5aae0 | 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 0a 20 | tok-str">""</span>);.. |
| 5ab00 | 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 44 | ...<span.class="tok-builtin">@cD |
| 5ab20 | 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 | efine</span>(<span.class="tok-st |
| 5ab40 | 72 22 3e 26 71 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 | r">"STBI_NO_STDIO"</sp |
| 5ab60 | 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 | an>,.<span.class="tok-str">" |
| 5ab80 | 3b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ;"</span>);.....<span.class |
| 5aba0 | 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 28 | ="tok-builtin">@cInclude</span>( |
| 5abc0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 62 5f | <span.class="tok-str">"stb_ |
| 5abe0 | 69 6d 61 67 65 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 29 3b 3c 2f 63 6f 64 65 | image.h"</span>);.});</code |
| 5ac00 | 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 61 62 6f 76 | ></pre>.......<p>.......The.abov |
| 5ac20 | 65 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 | e.example.demonstrates.using.<co |
| 5ac40 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 5ac60 | 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 71 75 61 6c 69 66 79 | kw">pub</span></code>.to.qualify |
| 5ac80 | 20 74 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | .the.......<code.class="zig"><sp |
| 5aca0 | 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 |
| 5acc0 | 3c 2f 73 70 61 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 | </span></code>.additionally.make |
| 5ace0 | 73 20 74 68 65 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 | s.the.imported.declarations..... |
| 5ad00 | 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ..<code.class="zig"><span.class= |
| 5ad20 | 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 69 73 | "tok-kw">pub</span></code>..This |
| 5ad40 | 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 66 6f 72 77 61 72 64 20 64 65 63 6c 61 72 61 74 | .can.be.used.to.forward.declarat |
| 5ad60 | 69 6f 6e 73 2c 20 67 69 76 69 6e 67 20 70 72 65 63 69 73 65 20 63 6f 6e 74 72 6f 6c 0a 20 20 20 | ions,.giving.precise.control.... |
| 5ad80 | 20 20 20 6f 76 65 72 20 77 68 61 74 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 20 67 69 76 65 | ...over.what.declarations.a.give |
| 5ada0 | 6e 20 66 69 6c 65 20 65 78 70 6f 73 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 | n.file.exposes........</p>...... |
| 5adc0 | 20 0a 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 63 6f 6d 70 74 69 6d 65 22 3e 3c 61 20 68 72 | .........<h1.id="comptime"><a.hr |
| 5ade0 | 65 66 3d 22 23 74 6f 63 2d 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 20 | ef="#toc-comptime">comptime</a>. |
| 5ae00 | 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e | <a.class="hdr".href="#comptime"> |
| 5ae20 | c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 | ..</a></h1>........<p>.......Zig |
| 5ae40 | 20 70 6c 61 63 65 73 20 69 6d 70 6f 72 74 61 6e 63 65 20 6f 6e 20 74 68 65 20 63 6f 6e 63 65 70 | .places.importance.on.the.concep |
| 5ae60 | 74 20 6f 66 20 77 68 65 74 68 65 72 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 20 6b 6e | t.of.whether.an.expression.is.kn |
| 5ae80 | 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 54 68 65 72 65 | own.at.compile-time........There |
| 5aea0 | 20 61 72 65 20 61 20 66 65 77 20 64 69 66 66 65 72 65 6e 74 20 70 6c 61 63 65 73 20 74 68 69 73 | .are.a.few.different.places.this |
| 5aec0 | 20 63 6f 6e 63 65 70 74 20 69 73 20 75 73 65 64 2c 20 61 6e 64 20 74 68 65 73 65 20 62 75 69 6c | .concept.is.used,.and.these.buil |
| 5aee0 | 64 69 6e 67 20 62 6c 6f 63 6b 73 20 61 72 65 20 75 73 65 64 0a 20 20 20 20 20 20 74 6f 20 6b 65 | ding.blocks.are.used.......to.ke |
| 5af00 | 65 70 20 74 68 65 20 6c 61 6e 67 75 61 67 65 20 73 6d 61 6c 6c 2c 20 72 65 61 64 61 62 6c 65 2c | ep.the.language.small,.readable, |
| 5af20 | 20 61 6e 64 20 70 6f 77 65 72 66 75 6c 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 | .and.powerful........</p>....... |
| 5af40 | 3c 68 32 20 69 64 3d 22 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 6c 65 2d | <h2.id="Introducing-the-Compile- |
| 5af60 | 54 69 6d 65 2d 43 6f 6e 63 65 70 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 74 72 | Time-Concept"><a.href="#toc-Intr |
| 5af80 | 6f 64 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 43 6f 6e 63 65 70 74 | oducing-the-Compile-Time-Concept |
| 5afa0 | 22 3e 49 6e 74 72 6f 64 75 63 69 6e 67 20 74 68 65 20 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 43 | ">Introducing.the.Compile-Time.C |
| 5afc0 | 6f 6e 63 65 70 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 | oncept</a>.<a.class="hdr".href=" |
| 5afe0 | 23 49 6e 74 72 6f 64 75 63 69 6e 67 2d 74 68 65 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 43 6f | #Introducing-the-Compile-Time-Co |
| 5b000 | 6e 63 65 70 74 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 | ncept">..</a></h2>........<h3.id |
| 5b020 | 3d 22 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 22 3e 3c 61 20 68 72 | ="Compile-Time-Parameters"><a.hr |
| 5b040 | 65 66 3d 22 23 74 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 50 61 72 61 6d 65 74 65 72 73 | ef="#toc-Compile-Time-Parameters |
| 5b060 | 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 50 61 72 61 6d 65 74 65 72 73 3c 2f 61 3e 20 3c 61 | ">Compile-Time.Parameters</a>.<a |
| 5b080 | 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 | .class="hdr".href="#Compile-Time |
| 5b0a0 | 2d 50 61 72 61 6d 65 74 65 72 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 | -Parameters">..</a></h3>........ |
| 5b0c0 | 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 70 61 72 61 6d 65 74 65 72 | <p>.......Compile-time.parameter |
| 5b0e0 | 73 20 69 73 20 68 6f 77 20 5a 69 67 20 69 6d 70 6c 65 6d 65 6e 74 73 20 67 65 6e 65 72 69 63 73 | s.is.how.Zig.implements.generics |
| 5b100 | 2e 20 49 74 20 69 73 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 64 75 63 6b 20 74 79 70 69 6e 67 | ..It.is.compile-time.duck.typing |
| 5b120 | 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | ........</p>.......<pre><code.cl |
| 5b140 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 | ass="zig"><span.class="tok-kw">f |
| 5b160 | 6e 3c 2f 73 70 61 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 |
| 5b180 | 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 6f | x</span>(<span.class="tok-kw">co |
| 5b1a0 | 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | mptime</span>.T:.<span.class="to |
| 5b1c0 | 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 | k-type">type</span>,.a:.T,.b:.T) |
| 5b1e0 | 20 54 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 | .T.{.....<span.class="tok-kw">re |
| 5b200 | 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" |
| 5b220 | 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 3c 73 70 61 6e 20 63 6c | >if</span>.(a.>.b).a.<span.cl |
| 5b240 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3b 0a 7d 0a 3c 73 | ass="tok-kw">else</span>.b;.}.<s |
| 5b260 | 70 61 6e 20 63 6c 61 73 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 |
| 5b280 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 69 6d 6d 65 54 68 65 42 69 67 67 65 72 | an.class="tok-fn">gimmeTheBigger |
| 5b2a0 | 46 6c 6f 61 74 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | Float</span>(a:.<span.class="tok |
| 5b2c0 | 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | -type">f32</span>,.b:.<span.clas |
| 5b2e0 | 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 73 70 61 6e 20 63 | s="tok-type">f32</span>).<span.c |
| 5b300 | 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 7b 0a 20 20 20 | lass="tok-type">f32</span>.{.... |
| 5b320 | 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 |
| 5b340 | 61 6e 3e 20 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 | an>.max(<span.class="tok-type">f |
| 5b360 | 33 32 3c 2f 73 70 61 6e 3e 2c 20 61 2c 20 62 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | 32</span>,.a,.b);.}.<span.class= |
| 5b380 | 22 74 6f 6b 2d 6b 77 22 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=" |
| 5b3a0 | 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 |
| 5b3c0 | 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 |
| 5b3e0 | 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 |
| 5b400 | 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 |
| 5b420 | 6b 2d 74 79 70 65 22 3e 75 36 34 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | k-type">u64</span>.{.....<span.c |
| 5b440 | 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 6d 61 78 28 | lass="tok-kw">return</span>.max( |
| 5b460 | 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 |
| 5b480 | 3e 2c 20 61 2c 20 62 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c | >,.a,.b);.}</code></pre>.......< |
| 5b4a0 | 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 69 72 73 74 | p>.......In.Zig,.types.are.first |
| 5b4c0 | 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 20 61 73 73 | -class.citizens..They.can.be.ass |
| 5b4e0 | 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 73 20 70 61 | igned.to.variables,.passed.as.pa |
| 5b500 | 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 20 61 6e 64 | rameters.to.functions,.......and |
| 5b520 | 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 77 65 76 65 | .returned.from.functions..Howeve |
| 5b540 | 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 65 78 70 72 | r,.they.can.only.be.used.in.expr |
| 5b560 | 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 65 6d 3e 63 | essions.which.are.known.at.<em>c |
| 5b580 | 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 68 20 69 73 | ompile-time</em>,.......which.is |
| 5b5a0 | 20 77 68 79 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | .why.the.parameter.<code.class=" |
| 5b5c0 | 7a 69 67 22 3e 54 3c 2f 63 6f 64 65 3e 20 69 6e 20 74 68 65 20 61 62 6f 76 65 20 73 6e 69 70 70 | zig">T</code>.in.the.above.snipp |
| 5b5e0 | 65 74 20 6d 75 73 74 20 62 65 20 6d 61 72 6b 65 64 20 77 69 74 68 20 3c 63 6f 64 65 20 63 6c 61 | et.must.be.marked.with.<code.cla |
| 5b600 | 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | ss="zig"><span.class="tok-kw">co |
| 5b620 | 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e | mptime</span></code>........</p> |
| 5b640 | 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | .......<p>.......A.<code.class=" |
| 5b660 | 7a 69 67 22 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 | zig"><span.class="tok-kw">compti |
| 5b680 | 6d 65 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 6d 65 61 6e 73 | me</span></code>.parameter.means |
| 5b6a0 | 20 74 68 61 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 | .that:.......</p>.......<ul>.... |
| 5b6c0 | 20 20 20 20 20 3c 6c 69 3e 41 74 20 74 68 65 20 63 61 6c 6c 73 69 74 65 2c 20 74 68 65 20 76 61 | .....<li>At.the.callsite,.the.va |
| 5b6e0 | 6c 75 65 20 6d 75 73 74 20 62 65 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d | lue.must.be.known.at.compile-tim |
| 5b700 | 65 2c 20 6f 72 20 69 74 20 69 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 3c 2f 6c 69 | e,.or.it.is.a.compile.error.</li |
| 5b720 | 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 49 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 64 65 | >.........<li>In.the.function.de |
| 5b740 | 66 69 6e 69 74 69 6f 6e 2c 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 | finition,.the.value.is.known.at. |
| 5b760 | 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 | compile-time.</li>.......</ul>.. |
| 5b780 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 77 | .....<p>.......For.example,.if.w |
| 5b7a0 | 65 20 77 65 72 65 20 74 6f 20 69 6e 74 72 6f 64 75 63 65 20 61 6e 6f 74 68 65 72 20 66 75 6e 63 | e.were.to.introduce.another.func |
| 5b7c0 | 74 69 6f 6e 20 74 6f 20 74 68 65 20 61 62 6f 76 65 20 73 6e 69 70 70 65 74 3a 0a 20 20 20 20 20 | tion.to.the.above.snippet:...... |
| 5b7e0 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 | .</p>.......<p.class="file">test |
| 5b800 | 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | .zig</p><pre><code.class="zig">< |
| 5b820 | 73 70 61 6e 20 63 6c 61 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 |
| 5b840 | 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 3c 73 | pan.class="tok-fn">max</span>(<s |
| 5b860 | 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 |
| 5b880 | 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 |
| 5b8a0 | 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 0a 20 20 20 20 3c 73 | e</span>,.a:.T,.b:.T).T.{.....<s |
| 5b8c0 | 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> |
| 5b8e0 | 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>. |
| 5b900 | 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 6b 77 | (a.>.b).a.<span.class="tok-kw |
| 5b920 | 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ">else</span>.b;.}.<span.class=" |
| 5b940 | 74 6f 6b 2d 6b 77 22 3e 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= |
| 5b960 | 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 70 61 73 73 20 61 20 72 75 | "tok-str">"try.to.pass.a.ru |
| 5b980 | 6e 74 69 6d 65 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f | ntime.type"</span>.{.....fo |
| 5b9a0 | 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f | o(<span.class="tok-null">false</ |
| 5b9c0 | 73 70 61 6e 3e 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 | span>);.}.<span.class="tok-kw">f |
| 5b9e0 | 6e 3c 2f 73 70 61 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 |
| 5ba00 | 6f 3c 2f 73 70 61 6e 3e 28 63 6f 6e 64 69 74 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | o</span>(condition:.<span.class= |
| 5ba20 | 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 6c | "tok-type">bool</span>).<span.cl |
| 5ba40 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | ass="tok-type">void</span>.{.... |
| 5ba60 | 20 3c 73 70 61 6e 20 63 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 |
| 5ba80 | 6e 3e 20 72 65 73 75 6c 74 20 3d 20 6d 61 78 28 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 | n>.result.=.max(.........<span.c |
| 5baa0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 6f 6e 64 69 74 69 | lass="tok-kw">if</span>.(conditi |
| 5bac0 | 6f 6e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f | on).<span.class="tok-type">f32</ |
| 5bae0 | 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c | span>.<span.class="tok-kw">else< |
| 5bb00 | 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 36 | /span>.<span.class="tok-type">u6 |
| 5bb20 | 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | 4</span>,.........<span.class="t |
| 5bb40 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 | ok-number">1234</span>,......... |
| 5bb60 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 36 37 38 3c 2f 73 | <span.class="tok-number">5678</s |
| 5bb80 | 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 | pan>);.}</code></pre><pre><code. |
| 5bba0 | 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 | class="shell">$.zig.test.test.zi |
| 5bbc0 | 67 0a 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 | g.<span.class="t0_1">./docgen_tm |
| 5bbe0 | 70 2f 74 65 73 74 2e 7a 69 67 3a 39 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 | p/test.zig:9:9:.</span><span.cla |
| 5bc00 | 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 |
| 5bc20 | 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 20 27 74 79 70 65 | lass="t0_1">values.of.type.'type |
| 5bc40 | 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 73 70 61 6e 3e 0a | '.must.be.comptime.known</span>. |
| 5bc60 | 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. |
| 5bc80 | 75 36 34 2c 0a 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 | u64,.........<span.class="t32_1" |
| 5bca0 | 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c | >^</span>.</code></pre>........< |
| 5bcc0 | 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 6e 20 65 72 72 6f 72 20 62 65 63 61 75 73 | p>.......This.is.an.error.becaus |
| 5bce0 | 65 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 61 74 74 65 6d 70 74 65 64 20 74 6f 20 70 61 | e.the.programmer.attempted.to.pa |
| 5bd00 | 73 73 20 61 20 76 61 6c 75 65 20 6f 6e 6c 79 20 6b 6e 6f 77 6e 20 61 74 20 72 75 6e 2d 74 69 6d | ss.a.value.only.known.at.run-tim |
| 5bd20 | 65 0a 20 20 20 20 20 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 65 78 70 65 | e.......to.a.function.which.expe |
| 5bd40 | 63 74 73 20 61 20 76 61 6c 75 65 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d | cts.a.value.known.at.compile-tim |
| 5bd60 | 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 6e | e........</p>.......<p>.......An |
| 5bd80 | 6f 74 68 65 72 20 77 61 79 20 74 6f 20 67 65 74 20 61 6e 20 65 72 72 6f 72 20 69 73 20 69 66 20 | other.way.to.get.an.error.is.if. |
| 5bda0 | 77 65 20 70 61 73 73 20 61 20 74 79 70 65 20 74 68 61 74 20 76 69 6f 6c 61 74 65 73 20 74 68 65 | we.pass.a.type.that.violates.the |
| 5bdc0 | 20 74 79 70 65 20 63 68 65 63 6b 65 72 20 77 68 65 6e 20 74 68 65 0a 20 20 20 20 20 20 66 75 6e | .type.checker.when.the.......fun |
| 5bde0 | 63 74 69 6f 6e 20 69 73 20 61 6e 61 6c 79 7a 65 64 2e 20 54 68 69 73 20 69 73 20 77 68 61 74 20 | ction.is.analyzed..This.is.what. |
| 5be00 | 69 74 20 6d 65 61 6e 73 20 74 6f 20 68 61 76 65 20 3c 65 6d 3e 63 6f 6d 70 69 6c 65 2d 74 69 6d | it.means.to.have.<em>compile-tim |
| 5be20 | 65 20 64 75 63 6b 20 74 79 70 69 6e 67 3c 2f 65 6d 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 | e.duck.typing</em>........</p>.. |
| 5be40 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 | .....<p>.......For.example:..... |
| 5be60 | 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 | ..</p>.......<p.class="file">tes |
| 5be80 | 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | t.zig</p><pre><code.class="zig"> |
| 5bea0 | 3c 73 70 61 6e 20 63 6c 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>.< |
| 5bec0 | 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 3c | span.class="tok-fn">max</span>(< |
| 5bee0 | 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 |
| 5bf00 | 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 |
| 5bf20 | 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 54 20 7b 0a 20 20 20 20 3c | pe</span>,.a:.T,.b:.T).T.{.....< |
| 5bf40 | 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 |
| 5bf60 | 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> |
| 5bf80 | 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 6b | .(a.>.b).a.<span.class="tok-k |
| 5bfa0 | 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 62 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | w">else</span>.b;.}.<span.class= |
| 5bfc0 | 22 74 6f 6b 2d 6b 77 22 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 |
| 5bfe0 | 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 | ="tok-str">"try.to.compare. |
| 5c000 | 62 6f 6f 6c 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 6d 61 78 | bools"</span>.{....._.=.max |
| 5c020 | 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 | (<span.class="tok-type">bool</sp |
| 5c040 | 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 74 72 75 65 | an>,.<span.class="tok-null">true |
| 5c060 | 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e | </span>,.<span.class="tok-null"> |
| 5c080 | 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 | false</span>);.}</code></pre><pr |
| 5c0a0 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 | e><code.class="shell">$.zig.test |
| 5c0c0 | 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 | .test.zig.<span.class="t0_1">./d |
| 5c0e0 | 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e | ocgen_tmp/test.zig:2:18:.</span> |
| 5c100 | 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 |
| 5c120 | 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 6f 70 65 72 61 74 6f 72 20 6e 6f | n><span.class="t0_1">operator.no |
| 5c140 | 74 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 74 79 70 65 20 27 62 6f 6f 6c 27 3c 2f 73 70 61 6e 3e | t.allowed.for.type.'bool'</span> |
| 5c160 | 0a 20 20 20 20 72 65 74 75 72 6e 20 69 66 20 28 61 20 26 67 74 3b 20 62 29 20 61 20 65 6c 73 65 | .....return.if.(a.>.b).a.else |
| 5c180 | 20 62 3b 0a 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 | .b;..................<span.class |
| 5c1a0 | 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 74 | ="t32_1">^</span>.<span.class="t |
| 5c1c0 | 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 31 32 3a | 0_1">./docgen_tmp/test.zig:5:12: |
| 5c1e0 | 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 |
| 5c200 | 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 |
| 5c220 | 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 6d 61 78 28 | ed.from.here</span>....._.=.max( |
| 5c240 | 62 6f 6f 6c 2c 20 74 72 75 65 2c 20 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 3c | bool,.true,.false);............< |
| 5c260 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 | span.class="t32_1">^</span>.<spa |
| 5c280 | 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 |
| 5c2a0 | 2e 7a 69 67 3a 34 3a 32 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | .zig:4:29:.</span><span.class="t |
| 5c2c0 | 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=" |
| 5c2e0 | 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 0a 74 65 | t0_1">called.from.here</span>.te |
| 5c300 | 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 75 | st."try.to.compare.bools&qu |
| 5c320 | 6f 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ot;.{........................... |
| 5c340 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c | ..<span.class="t32_1">^</span>.< |
| 5c360 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4f 6e | /code></pre>........<p>.......On |
| 5c380 | 20 74 68 65 20 66 6c 69 70 20 73 69 64 65 2c 20 69 6e 73 69 64 65 20 74 68 65 20 66 75 6e 63 74 | .the.flip.side,.inside.the.funct |
| 5c3a0 | 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 3c 63 6f 64 65 20 63 6c | ion.definition.with.the.<code.cl |
| 5c3c0 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | ass="zig"><span.class="tok-kw">c |
| 5c3e0 | 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 2c | omptime</span></code>.parameter, |
| 5c400 | 20 74 68 65 0a 20 20 20 20 20 20 76 61 6c 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d | .the.......value.is.known.at.com |
| 5c420 | 70 69 6c 65 2d 74 69 6d 65 2e 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 77 65 20 61 63 | pile-time..This.means.that.we.ac |
| 5c440 | 74 75 61 6c 6c 79 20 63 6f 75 6c 64 20 6d 61 6b 65 20 74 68 69 73 20 77 6f 72 6b 20 66 6f 72 20 | tually.could.make.this.work.for. |
| 5c460 | 74 68 65 20 62 6f 6f 6c 20 74 79 70 65 0a 20 20 20 20 20 20 69 66 20 77 65 20 77 61 6e 74 65 64 | the.bool.type.......if.we.wanted |
| 5c480 | 20 74 6f 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 | .to:.......</p>.......<p.class=" |
| 5c4a0 | 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | file">test.zig</p><pre><code.cla |
| 5c4c0 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-kw">fn |
| 5c4e0 | 3c 2f 73 70 61 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 | </span>.<span.class="tok-fn">max |
| 5c500 | 3c 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 |
| 5c520 | 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ptime</span>.T:.<span.class="tok |
| 5c540 | 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 61 3a 20 54 2c 20 62 3a 20 54 29 20 | -type">type</span>,.a:.T,.b:.T). |
| 5c560 | 54 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c | T.{.....<span.class="tok-kw">if< |
| 5c580 | 2f 73 70 61 6e 3e 20 28 54 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | /span>.(T.==.<span.class="tok-ty |
| 5c5a0 | 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e | pe">bool</span>).{.........<span |
| 5c5c0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 | .class="tok-kw">return</span>.a. |
| 5c5e0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 | <span.class="tok-kw">or</span>.b |
| 5c600 | 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 | ;.....}.<span.class="tok-kw">els |
| 5c620 | 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 |
| 5c640 | 3c 2f 73 70 61 6e 3e 20 28 61 20 26 67 74 3b 20 62 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 | </span>.(a.>.b).{.........<sp |
| 5c660 | 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>. |
| 5c680 | 61 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c | a;.....}.<span.class="tok-kw">el |
| 5c6a0 | 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | se</span>.{.........<span.class= |
| 5c6c0 | 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 62 3b 0a 20 20 20 20 7d 0a | "tok-kw">return</span>.b;.....}. |
| 5c6e0 | 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 | }.<span.class="tok-kw">test</spa |
| 5c700 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 | n>.<span.class="tok-str">"t |
| 5c720 | 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 6e 3e | ry.to.compare.bools"</span> |
| 5c740 | 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 | .{.....<span.class="tok-builtin" |
| 5c760 | 3e 40 69 6d 70 6f 72 74 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 |
| 5c780 | 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">"std"</span>).de |
| 5c7a0 | 62 75 67 2e 61 73 73 65 72 74 28 6d 61 78 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | bug.assert(max(<span.class="tok- |
| 5c7c0 | 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 22 | type">bool</span>,.<span.class=" |
| 5c7e0 | 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 |
| 5c800 | 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 3c | ass="tok-null">true</span>).==.< |
| 5c820 | 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 |
| 5c840 | 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | >);.}</code></pre><pre><code.cla |
| 5c860 | 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 | ss="shell">$.zig.test.test.zig.1 |
| 5c880 | 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 74 72 79 20 74 6f 20 63 6f 6d 70 61 72 65 20 62 6f 6f | /1.test."try.to.compare.boo |
| 5c8a0 | 6c 73 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 | ls"...OK.All.1.tests.passed |
| 5c8c0 | 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 | ..</code></pre>........<p>...... |
| 5c8e0 | 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 70 6c 69 63 69 74 | .This.works.because.Zig.implicit |
| 5c900 | 6c 79 20 69 6e 6c 69 6e 65 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ly.inlines.<code.class="zig"><sp |
| 5c920 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 | an.class="tok-kw">if</span></cod |
| 5c940 | 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 64 69 74 69 6f | e>.expressions.when.the.conditio |
| 5c960 | 6e 0a 20 20 20 20 20 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 | n.......is.known.at.compile-time |
| 5c980 | 2c 20 61 6e 64 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 74 68 | ,.and.the.compiler.guarantees.th |
| 5c9a0 | 61 74 20 69 74 20 77 69 6c 6c 20 73 6b 69 70 20 61 6e 61 6c 79 73 69 73 20 6f 66 0a 20 20 20 20 | at.it.will.skip.analysis.of..... |
| 5c9c0 | 20 20 74 68 65 20 62 72 61 6e 63 68 20 6e 6f 74 20 74 61 6b 65 6e 2e 0a 20 20 20 20 20 20 3c 2f | ..the.branch.not.taken........</ |
| 5c9e0 | 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 | p>.......<p>.......This.means.th |
| 5ca00 | 61 74 20 74 68 65 20 61 63 74 75 61 6c 20 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 64 | at.the.actual.function.generated |
| 5ca20 | 20 66 6f 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 6d 61 78 3c 2f 63 6f 64 65 | .for.<code.class="zig">max</code |
| 5ca40 | 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 0a 20 | >.in.this.situation.looks.like.. |
| 5ca60 | 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 70 72 65 | .....this:.......</p>.......<pre |
| 5ca80 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| 5caa0 | 74 6f 6b 2d 6b 77 22 3e 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 |
| 5cac0 | 6f 6b 2d 66 6e 22 3e 6d 61 78 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ok-fn">max</span>(a:.<span.class |
| 5cae0 | 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 |
| 5cb00 | 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>). |
| 5cb20 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 | <span.class="tok-type">bool</spa |
| 5cb40 | 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 | n>.{.....<span.class="tok-kw">re |
| 5cb60 | 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | turn</span>.a.<span.class="tok-k |
| 5cb80 | 77 22 3e 6f 72 3c 2f 73 70 61 6e 3e 20 62 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 | w">or</span>.b;.}</code></pre>.. |
| 5cba0 | 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 |
| 5cbc0 | 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 |
| 5cbe0 | 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 |
| 5cc00 | 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 |
| 5cc20 | 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 |
| 5cc40 | 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>.... |
| 5cc60 | 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.< |
| 5cc80 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 5cca0 | 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 | k-kw">switch</span></code>.expre |
| 5ccc0 | 73 73 69 6f 6e 73 20 2d 20 74 68 65 79 20 61 72 65 20 69 6d 70 6c 69 63 69 74 6c 79 20 69 6e 6c | ssions.-.they.are.implicitly.inl |
| 5cce0 | 69 6e 65 64 0a 20 20 20 20 20 20 77 68 65 6e 20 74 68 65 20 74 61 72 67 65 74 20 65 78 70 72 65 | ined.......when.the.target.expre |
| 5cd00 | 73 73 69 6f 6e 20 69 73 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 2e 0a 20 20 20 | ssion.is.compile-time.known..... |
| 5cd20 | 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 6f 6d | ...</p>..............<h3.id="Com |
| 5cd40 | 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 | pile-Time-Variables"><a.href="#t |
| 5cd60 | 6f 63 2d 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 | oc-Compile-Time-Variables">Compi |
| 5cd80 | 6c 65 2d 54 69 6d 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 | le-Time.Variables</a>.<a.class=" |
| 5cda0 | 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c | hdr".href="#Compile-Time-Variabl |
| 5cdc0 | 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 | es">..</a></h3>........<p>...... |
| 5cde0 | 20 49 6e 20 5a 69 67 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 20 63 61 6e 20 6c 61 62 65 | .In.Zig,.the.programmer.can.labe |
| 5ce00 | 6c 20 76 61 72 69 61 62 6c 65 73 20 61 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | l.variables.as.<code.class="zig" |
| 5ce20 | 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</ |
| 5ce40 | 73 70 61 6e 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 | span></code>..This.guarantees.to |
| 5ce60 | 20 74 68 65 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 | .the.compiler.......that.every.l |
| 5ce80 | 6f 61 64 20 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 | oad.and.store.of.the.variable.is |
| 5cea0 | 20 70 65 72 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 | .performed.at.compile-time..Any. |
| 5cec0 | 76 69 6f 6c 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 | violation.of.this.results.in.a.. |
| 5cee0 | 20 20 20 20 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 | .....compile.error........</p>.. |
| 5cf00 | 20 20 20 20 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 | .....<p>.......This.combined.wit |
| 5cf20 | 68 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 77 65 20 63 61 6e 20 3c 63 6f 64 65 20 63 6c 61 | h.the.fact.that.we.can.<code.cla |
| 5cf40 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-kw">in |
| 5cf60 | 6c 69 6e 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6c 6f 6f 70 73 20 61 6c 6c 6f 77 73 20 | line</span></code>.loops.allows. |
| 5cf80 | 75 73 20 74 6f 20 77 72 69 74 65 0a 20 20 20 20 20 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 | us.to.write.......a.function.whi |
| 5cfa0 | 63 68 20 69 73 20 70 61 72 74 69 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d | ch.is.partially.evaluated.at.com |
| 5cfc0 | 70 69 6c 65 2d 74 69 6d 65 20 61 6e 64 20 70 61 72 74 69 61 6c 6c 79 20 61 74 20 72 75 6e 2d 74 | pile-time.and.partially.at.run-t |
| 5cfe0 | 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 | ime........</p>.......<p>....... |
| 5d000 | 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 | For.example:.......</p>.......<p |
| 5d020 | 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a 69 67 3c | .class="file">comptime_vars.zig< |
| 5d040 | 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | /p><pre><code.class="zig"><span. |
| 5d060 | 63 6c 61 73 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 |
| 5d080 | 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 | rt.=.<span.class="tok-builtin">@ |
| 5d0a0 | 69 6d 70 6f 72 74 3c 2f 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 |
| 5d0c0 | 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 | tr">"std"</span>).debu |
| 5d0e0 | 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | g.assert;..<span.class="tok-kw"> |
| 5d100 | 63 6f 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 | const</span>.CmdFn.=.<span.class |
| 5d120 | 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6e 61 | ="tok-kw">struct</span>.{.....na |
| 5d140 | 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | me:.[]<span.class="tok-kw">const |
| 5d160 | 3c 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 |
| 5d180 | 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 66 75 6e 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | 8</span>,.....func:.<span.class= |
| 5d1a0 | 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | "tok-kw">fn</span>(<span.class=" |
| 5d1c0 | 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 |
| 5d1e0 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 | s="tok-type">i32</span>,.};..<sp |
| 5d200 | 61 6e 20 63 6c 61 73 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 |
| 5d220 | 6d 64 5f 66 6e 73 20 3d 20 5b 5f 5d 43 6d 64 46 6e 7b 0a 20 20 20 20 43 6d 64 46 6e 20 7b 2e 6e | md_fns.=.[_]CmdFn{.....CmdFn.{.n |
| 5d240 | 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f | ame.=.<span.class="tok-str">&quo |
| 5d260 | 74 3b 6f 6e 65 26 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 | t;one"</span>,..func.=.one} |
| 5d280 | 2c 0a 20 20 20 20 43 6d 64 46 6e 20 7b 2e 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ,.....CmdFn.{.name.=.<span.class |
| 5d2a0 | 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 77 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e | ="tok-str">"two"</span |
| 5d2c0 | 3e 2c 20 2e 66 75 6e 63 20 3d 20 74 77 6f 7d 2c 0a 20 20 20 20 43 6d 64 46 6e 20 7b 2e 6e 61 6d | >,..func.=.two},.....CmdFn.{.nam |
| 5d2e0 | 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b | e.=.<span.class="tok-str">" |
| 5d300 | 74 68 72 65 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 66 75 6e 63 20 3d 20 74 68 72 65 | three"</span>,..func.=.thre |
| 5d320 | 65 7d 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f | e},.};.<span.class="tok-kw">fn</ |
| 5d340 | 73 70 61 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 3c 2f | span>.<span.class="tok-fn">one</ |
| 5d360 | 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | span>(value:.<span.class="tok-ty |
| 5d380 | 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | pe">i32</span>).<span.class="tok |
| 5d3a0 | 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | -type">i32</span>.{.<span.class= |
| 5d3c0 | 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 20 3c | "tok-kw">return</span>.value.+.< |
| 5d3e0 | 73 70 61 6e 20 63 6c 61 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> |
| 5d400 | 3b 20 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 | ;.}.<span.class="tok-kw">fn</spa |
| 5d420 | 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 77 6f 3c 2f 73 70 61 | n>.<span.class="tok-fn">two</spa |
| 5d440 | 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | n>(value:.<span.class="tok-type" |
| 5d460 | 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 |
| 5d480 | 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | pe">i32</span>.{.<span.class="to |
| 5d4a0 | 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 20 3c 73 70 61 | k-kw">return</span>.value.+.<spa |
| 5d4c0 | 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 20 7d | n.class="tok-number">2</span>;.} |
| 5d4e0 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 | .<span.class="tok-kw">fn</span>. |
| 5d500 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 68 72 65 65 3c 2f 73 70 61 6e | <span.class="tok-fn">three</span |
| 5d520 | 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | >(value:.<span.class="tok-type"> |
| 5d540 | 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 |
| 5d560 | 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | e">i32</span>.{.<span.class="tok |
| 5d580 | 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 20 3c 73 70 61 6e | -kw">return</span>.value.+.<span |
| 5d5a0 | 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 20 7d 0a | .class="tok-number">3</span>;.}. |
| 5d5c0 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 | .<span.class="tok-kw">fn</span>. |
| 5d5e0 | 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</ |
| 5d600 | 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 |
| 5d620 | 69 6d 65 3c 2f 73 70 61 6e 3e 20 70 72 65 66 69 78 5f 63 68 61 72 3a 20 3c 73 70 61 6e 20 63 6c | ime</span>.prefix_char:.<span.cl |
| 5d640 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 74 61 72 74 5f | ass="tok-type">u8</span>,.start_ |
| 5d660 | 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 | value:.<span.class="tok-type">i3 |
| 5d680 | 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | 2</span>).<span.class="tok-type" |
| 5d6a0 | 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | >i32</span>.{.....<span.class="t |
| 5d6c0 | 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 70 61 6e 20 | ok-kw">var</span>.result:.<span. |
| 5d6e0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 73 74 | class="tok-type">i32</span>.=.st |
| 5d700 | 61 72 74 5f 76 61 6c 75 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | art_value;.....<span.class="tok- |
| 5d720 | 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= |
| 5d740 | 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 6c | "tok-kw">var</span>.i.=.<span.cl |
| 5d760 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c | ass="tok-number">0</span>;.....< |
| 5d780 | 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 |
| 5d7a0 | 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 | >.<span.class="tok-kw">while</sp |
| 5d7c0 | 61 6e 3e 20 28 69 20 26 6c 74 3b 20 63 6d 64 5f 66 6e 73 2e 6c 65 6e 29 20 3a 20 28 69 20 2b 3d | an>.(i.<.cmd_fns.len).:.(i.+= |
| 5d7e0 | 20 3c 73 70 61 6e 20 63 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 |
| 5d800 | 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | n>).{.........<span.class="tok-k |
| 5d820 | 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 63 6d 64 5f 66 6e 73 5b 69 5d 2e 6e 61 6d 65 5b 3c 73 | w">if</span>.(cmd_fns[i].name[<s |
| 5d840 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d | pan.class="tok-number">0</span>] |
| 5d860 | 20 3d 3d 20 70 72 65 66 69 78 5f 63 68 61 72 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 | .==.prefix_char).{.............r |
| 5d880 | 65 73 75 6c 74 20 3d 20 63 6d 64 5f 66 6e 73 5b 69 5d 2e 66 75 6e 63 28 72 65 73 75 6c 74 29 3b | esult.=.cmd_fns[i].func(result); |
| 5d8a0 | 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | .........}.....}.....<span.class |
| 5d8c0 | 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 0a | ="tok-kw">return</span>.result;. |
| 5d8e0 | 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 | }..<span.class="tok-kw">test</sp |
| 5d900 | 61 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">" |
| 5d920 | 70 65 72 66 6f 72 6d 20 66 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 | perform.fn"</span>.{.....as |
| 5d940 | 73 65 72 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 | sert(performFn(<span.class="tok- |
| 5d960 | 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 74 6f | str">'t'</span>,.<span.class="to |
| 5d980 | 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 6c 61 | k-number">1</span>).==.<span.cla |
| 5d9a0 | 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 0a 20 20 20 20 61 | ss="tok-number">6</span>);.....a |
| 5d9c0 | 73 73 65 72 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 | ssert(performFn(<span.class="tok |
| 5d9e0 | 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 22 74 | -str">'o'</span>,.<span.class="t |
| 5da00 | 6f 6b 2d 6e 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 | ok-number">0</span>).==.<span.cl |
| 5da20 | 61 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 0a 20 20 20 20 | ass="tok-number">1</span>);..... |
| 5da40 | 61 73 73 65 72 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 | assert(performFn(<span.class="to |
| 5da60 | 6b 2d 73 74 72 22 3e 27 77 27 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | k-str">'w'</span>,.<span.class=" |
| 5da80 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 | tok-number">99</span>).==.<span. |
| 5daa0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 29 3b 0a 7d | class="tok-number">99</span>);.} |
| 5dac0 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 | </code></pre><pre><code.class="s |
| 5dae0 | 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 63 6f 6d 70 74 69 6d 65 5f 76 61 72 73 2e 7a | hell">$.zig.test.comptime_vars.z |
| 5db00 | 69 67 0a 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 75 6f | ig.1/1.test."perform.fn&quo |
| 5db20 | 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f | t;...OK.All.1.tests.passed..</co |
| 5db40 | 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 | de></pre>........<p>.......This. |
| 5db60 | 65 78 61 6d 70 6c 65 20 69 73 20 61 20 62 69 74 20 63 6f 6e 74 72 69 76 65 64 2c 20 62 65 63 61 | example.is.a.bit.contrived,.beca |
| 5db80 | 75 73 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 65 76 61 6c 75 61 74 69 6f 6e 20 | use.the.compile-time.evaluation. |
| 5dba0 | 63 6f 6d 70 6f 6e 65 6e 74 20 69 73 20 75 6e 6e 65 63 65 73 73 61 72 79 3b 0a 20 20 20 20 20 20 | component.is.unnecessary;....... |
| 5dbc0 | 74 68 69 73 20 63 6f 64 65 20 77 6f 75 6c 64 20 77 6f 72 6b 20 66 69 6e 65 20 69 66 20 69 74 20 | this.code.would.work.fine.if.it. |
| 5dbe0 | 77 61 73 20 61 6c 6c 20 64 6f 6e 65 20 61 74 20 72 75 6e 2d 74 69 6d 65 2e 20 42 75 74 20 69 74 | was.all.done.at.run-time..But.it |
| 5dc00 | 20 64 6f 65 73 20 65 6e 64 20 75 70 20 67 65 6e 65 72 61 74 69 6e 67 0a 20 20 20 20 20 20 64 69 | .does.end.up.generating.......di |
| 5dc20 | 66 66 65 72 65 6e 74 20 63 6f 64 65 2e 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 74 | fferent.code..In.this.example,.t |
| 5dc40 | 68 65 20 66 75 6e 63 74 69 6f 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 70 65 | he.function.<code.class="zig">pe |
| 5dc60 | 72 66 6f 72 6d 46 6e 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 | rformFn</code>.is.generated.thre |
| 5dc80 | 65 20 64 69 66 66 65 72 65 6e 74 20 74 69 6d 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 66 6f 72 | e.different.times,...........for |
| 5dca0 | 20 74 68 65 20 64 69 66 66 65 72 65 6e 74 20 76 61 6c 75 65 73 20 6f 66 20 3c 63 6f 64 65 20 63 | .the.different.values.of.<code.c |
| 5dcc0 | 6c 61 73 73 3d 22 7a 69 67 22 3e 70 72 65 66 69 78 5f 63 68 61 72 3c 2f 63 6f 64 65 3e 20 70 72 | lass="zig">prefix_char</code>.pr |
| 5dce0 | 6f 76 69 64 65 64 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 | ovided:.......</p>.......<pre><c |
| 5dd00 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 5dd20 | 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 72 6f 6d 20 74 68 65 20 6c 69 6e 65 3a 3c 2f 73 70 61 | -comment">//.From.the.line:</spa |
| 5dd40 | 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 | n>.<span.class="tok-comment">//. |
| 5dd60 | 61 73 73 65 72 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 | assert(performFn('t',.1).==.6);< |
| 5dd80 | 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f | /span>.<span.class="tok-kw">fn</ |
| 5dda0 | 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f | span>.<span.class="tok-fn">perfo |
| 5ddc0 | 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 3c 73 70 61 6e 20 63 | rmFn</span>(start_value:.<span.c |
| 5dde0 | 6c 61 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 |
| 5de00 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a | n.class="tok-type">i32</span>.{. |
| 5de20 | 20 20 20 20 3c 73 70 61 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 |
| 5de40 | 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 70 | an>.result:.<span.class="tok-typ |
| 5de60 | 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 0a 20 20 20 | e">i32</span>.=.start_value;.... |
| 5de80 | 20 72 65 73 75 6c 74 20 3d 20 74 77 6f 28 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 72 65 73 75 6c | .result.=.two(result);.....resul |
| 5dea0 | 74 20 3d 20 74 68 72 65 65 28 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | t.=.three(result);.....<span.cla |
| 5dec0 | 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 74 | ss="tok-kw">return</span>.result |
| 5dee0 | 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 | ;.}</code></pre>.......<pre><cod |
| 5df00 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 | e.class="zig"><span.class="tok-c |
| 5df20 | 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 72 6f 6d 20 74 68 65 20 6c 69 6e 65 3a 3c 2f 73 70 61 6e 3e | omment">//.From.the.line:</span> |
| 5df40 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 61 73 | .<span.class="tok-comment">//.as |
| 5df60 | 73 65 72 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 2f 73 | sert(performFn('o',.0).==.1);</s |
| 5df80 | 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 | pan>.<span.class="tok-kw">fn</sp |
| 5dfa0 | 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 72 66 6f 72 6d | an>.<span.class="tok-fn">perform |
| 5dfc0 | 46 6e 3c 2f 73 70 61 6e 3e 28 73 74 61 72 74 5f 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 | Fn</span>(start_value:.<span.cla |
| 5dfe0 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 | ss="tok-type">i32</span>).<span. |
| 5e000 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | class="tok-type">i32</span>.{... |
| 5e020 | 20 20 3c 73 70 61 6e 20 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 |
| 5e040 | 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | >.result:.<span.class="tok-type" |
| 5e060 | 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 0a 20 20 20 20 72 | >i32</span>.=.start_value;.....r |
| 5e080 | 65 73 75 6c 74 20 3d 20 6f 6e 65 28 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | esult.=.one(result);.....<span.c |
| 5e0a0 | 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 65 73 75 | lass="tok-kw">return</span>.resu |
| 5e0c0 | 6c 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 | lt;.}</code></pre>.......<pre><c |
| 5e0e0 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 5e100 | 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 46 72 6f 6d 20 74 68 65 20 6c 69 6e 65 3a 3c 2f 73 70 61 | -comment">//.From.the.line:</spa |
| 5e120 | 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 | n>.<span.class="tok-comment">//. |
| 5e140 | 61 73 73 65 72 74 28 70 65 72 66 6f 72 6d 46 6e 28 27 77 27 2c 20 39 39 29 20 3d 3d 20 39 39 29 | assert(performFn('w',.99).==.99) |
| 5e160 | 3b 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e | ;</span>.<span.class="tok-kw">fn |
| 5e180 | 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 70 65 72 | </span>.<span.class="tok-fn">per |
| 5e1a0 | 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 3c 73 70 61 6e | formFn</span>(start_value:.<span |
| 5e1c0 | 20 63 6c 61 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 | .class="tok-type">i32</span>).<s |
| 5e1e0 | 70 61 6e 20 63 6c 61 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>. |
| 5e200 | 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f | {.....<span.class="tok-kw">var</ |
| 5e220 | 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 |
| 5e240 | 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 73 74 61 72 74 5f 76 61 6c 75 65 3b 0a 20 | ype">i32</span>.=.start_value;.. |
| 5e260 | 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</ |
| 5e280 | 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 | span>.result;.}</code></pre>.... |
| 5e2a0 | 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 61 70 70 | ...<p>.......Note.that.this.happ |
| 5e2c0 | 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 20 61 20 | ens.even.in.a.debug.build;.in.a. |
| 5e2e0 | 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 20 66 75 | release.build.these.generated.fu |
| 5e300 | 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 75 67 68 | nctions.still.......pass.through |
| 5e320 | 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 20 54 68 | .rigorous.LLVM.optimizations..Th |
| 5e340 | 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 77 65 76 | e.important.thing.to.note,.howev |
| 5e360 | 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 20 61 20 | er,.is.not.that.this.......is.a. |
| 5e380 | 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 6f 64 65 | way.to.write.more.optimized.code |
| 5e3a0 | 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 65 20 73 | ,.but.that.it.is.a.way.to.make.s |
| 5e3c0 | 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 20 68 61 | ure.that.what.<em>should</em>.ha |
| 5e3e0 | 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 65 6d 3e | ppen.......at.compile-time,.<em> |
| 5e400 | 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 69 6d 65 | does</em>.happen.at.compile-time |
| 5e420 | 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 64 20 61 | ..This.catches.more.errors.and.a |
| 5e440 | 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 20 74 68 | s.demonstrated.......later.in.th |
| 5e460 | 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 6e 65 73 | is.article,.allows.expressivenes |
| 5e480 | 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 75 69 72 | s.that.in.other.languages.requir |
| 5e4a0 | 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 74 65 64 | es.using.macros,.......generated |
| 5e4c0 | 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 63 63 6f | .code,.or.a.preprocessor.to.acco |
| 5e4e0 | 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 20 20 20 | mplish........</p>.............. |
| 5e500 | 3c 68 33 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 6f 6e 73 | <h3.id="Compile-Time-Expressions |
| 5e520 | 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 45 78 70 | "><a.href="#toc-Compile-Time-Exp |
| 5e540 | 72 65 73 73 69 6f 6e 73 22 3e 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 20 45 78 70 72 65 73 73 69 6f | ressions">Compile-Time.Expressio |
| 5e560 | 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 6f 6d | ns</a>.<a.class="hdr".href="#Com |
| 5e580 | 70 69 6c 65 2d 54 69 6d 65 2d 45 78 70 72 65 73 73 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 | pile-Time-Expressions">..</a></h |
| 5e5a0 | 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 5a 69 67 2c 20 69 74 20 6d | 3>........<p>.......In.Zig,.it.m |
| 5e5c0 | 61 74 74 65 72 73 20 77 68 65 74 68 65 72 20 61 20 67 69 76 65 6e 20 65 78 70 72 65 73 73 69 6f | atters.whether.a.given.expressio |
| 5e5e0 | 6e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 72 20 72 75 | n.is.known.at.compile-time.or.ru |
| 5e600 | 6e 2d 74 69 6d 65 2e 20 41 20 70 72 6f 67 72 61 6d 6d 65 72 20 63 61 6e 0a 20 20 20 20 20 20 75 | n-time..A.programmer.can.......u |
| 5e620 | 73 65 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | se.a.<code.class="zig"><span.cla |
| 5e640 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 | ss="tok-kw">comptime</span></cod |
| 5e660 | 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 20 74 6f 20 67 75 61 72 61 6e 74 65 65 20 74 68 61 74 20 | e>.expression.to.guarantee.that. |
| 5e680 | 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 6c 6c 20 62 65 20 65 76 61 6c 75 61 74 65 64 | the.expression.will.be.evaluated |
| 5e6a0 | 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 49 66 20 74 68 69 73 20 | .at.compile-time........If.this. |
| 5e6c0 | 63 61 6e 6e 6f 74 20 62 65 20 61 63 63 6f 6d 70 6c 69 73 68 65 64 2c 20 74 68 65 20 63 6f 6d 70 | cannot.be.accomplished,.the.comp |
| 5e6e0 | 69 6c 65 72 20 77 69 6c 6c 20 65 6d 69 74 20 61 6e 20 65 72 72 6f 72 2e 20 46 6f 72 20 65 78 61 | iler.will.emit.an.error..For.exa |
| 5e700 | 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d | mple:.......</p>.......<p.class= |
| 5e720 | 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | "file">test.zig</p><pre><code.cl |
| 5e740 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 | ass="zig"><span.class="tok-kw">e |
| 5e760 | 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 |
| 5e780 | 22 3e 66 6e 3c 2f 73 70 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" |
| 5e7a0 | 3e 65 78 69 74 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >exit</span>().<span.class="tok- |
| 5e7c0 | 74 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c | type">noreturn</span>;..<span.cl |
| 5e7e0 | 61 73 73 3d 22 74 6f 6b 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 |
| 5e800 | 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 3b 3c 2f | lass="tok-str">"foo"</ |
| 5e820 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | span>.{.....<span.class="tok-kw" |
| 5e840 | 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 65 78 69 74 28 | >comptime</span>.{.........exit( |
| 5e860 | 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 | );.....}.}</code></pre><pre><cod |
| 5e880 | 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e | e.class="shell">$.zig.test.test. |
| 5e8a0 | 7a 69 67 0a 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 | zig.<span.class="t0_1">./docgen_ |
| 5e8c0 | 74 6d 70 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 | tmp/test.zig:5:9:.</span><span.c |
| 5e8e0 | 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 |
| 5e900 | 20 63 6c 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 | .class="t0_1">unable.to.evaluate |
| 5e920 | 20 63 6f 6e 73 74 61 6e 74 20 65 78 70 72 65 73 73 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 | .constant.expression</span>..... |
| 5e940 | 20 20 20 20 65 78 69 74 28 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ....exit();.........<span.class= |
| 5e960 | 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 74 30 | "t32_1">^</span>.<span.class="t0 |
| 5e980 | 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 31 33 3a 20 | _1">./docgen_tmp/test.zig:5:13:. |
| 5e9a0 | 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a | </span><span.class="t36_1">note: |
| 5e9c0 | 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 | .</span><span.class="t0_1">refer |
| 5e9e0 | 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 65 78 69 74 28 29 | enced.here</span>.........exit() |
| 5ea00 | 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 | ;.............<span.class="t32_1 |
| 5ea20 | 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 | ">^</span>.</code></pre>........ |
| 5ea40 | 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 64 6f 65 73 6e 27 74 20 6d 61 6b 65 20 73 65 6e 73 65 20 | <p>.......It.doesn't.make.sense. |
| 5ea60 | 74 68 61 74 20 61 20 70 72 6f 67 72 61 6d 20 63 6f 75 6c 64 20 63 61 6c 6c 20 3c 63 6f 64 65 20 | that.a.program.could.call.<code. |
| 5ea80 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 65 78 69 74 28 29 3c 2f 63 6f 64 65 3e 20 28 6f 72 20 61 6e | class="zig">exit()</code>.(or.an |
| 5eaa0 | 79 20 6f 74 68 65 72 20 65 78 74 65 72 6e 61 6c 20 66 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 20 | y.other.external.function)...... |
| 5eac0 | 20 20 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 73 6f 20 74 68 69 73 20 69 73 | .....at.compile-time,.so.this.is |
| 5eae0 | 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 20 48 6f 77 65 76 65 72 2c 20 61 20 3c 63 6f | .a.compile.error..However,.a.<co |
| 5eb00 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 5eb20 | 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 | kw">comptime</span></code>.expre |
| 5eb40 | 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 6e 20 | ssion.does.much.......more.than. |
| 5eb60 | 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 72 2e | sometimes.cause.a.compile.error. |
| 5eb80 | 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 69 74 68 | .......</p>.......<p>.......With |
| 5eba0 | 69 6e 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | in.a.<code.class="zig"><span.cla |
| 5ebc0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 | ss="tok-kw">comptime</span></cod |
| 5ebe0 | 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 | e>.expression:.......</p>....... |
| 5ec00 | 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 20 76 61 72 69 61 62 6c 65 73 | <ul>...........<li>All.variables |
| 5ec20 | 20 61 72 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | .are.<code.class="zig"><span.cla |
| 5ec40 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 | ss="tok-kw">comptime</span></cod |
| 5ec60 | 65 3e 20 76 61 72 69 61 62 6c 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 | e>.variables.</li>...........<li |
| 5ec80 | 3e 41 6c 6c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | >All.<code.class="zig"><span.cla |
| 5eca0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 | ss="tok-kw">if</span></code>,.<c |
| 5ecc0 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 5ece0 | 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 20 | -kw">while</span></code>,.<code. |
| 5ed00 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | class="zig"><span.class="tok-kw" |
| 5ed20 | 3e 66 6f 72 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 20 63 6c | >for</span></code>,.and.<code.cl |
| 5ed40 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 | ass="zig"><span.class="tok-kw">s |
| 5ed60 | 77 69 74 63 68 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 65 78 | witch</span></code>...........ex |
| 5ed80 | 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 63 6f 6d 70 69 | pressions.are.evaluated.at.compi |
| 5eda0 | 6c 65 2d 74 69 6d 65 2c 20 6f 72 20 65 6d 69 74 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 | le-time,.or.emit.a.compile.error |
| 5edc0 | 20 69 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 | .if.this.is.not.possible.</li>.. |
| 5ede0 | 20 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 20 63 61 | .......<li>All.function.calls.ca |
| 5ee00 | 75 73 65 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 69 6e 74 65 72 70 72 65 74 20 74 68 | use.the.compiler.to.interpret.th |
| 5ee20 | 65 20 66 75 6e 63 74 69 6f 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 65 6d 69 74 | e.function.at.compile-time,.emit |
| 5ee40 | 74 69 6e 67 20 61 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 | ting.a...........compile.error.i |
| 5ee60 | 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 72 69 65 73 20 74 6f 20 64 6f 20 73 6f 6d 65 74 | f.the.function.tries.to.do.somet |
| 5ee80 | 68 69 6e 67 20 74 68 61 74 20 68 61 73 20 67 6c 6f 62 61 6c 20 72 75 6e 2d 74 69 6d 65 20 73 69 | hing.that.has.global.run-time.si |
| 5eea0 | 64 65 20 65 66 66 65 63 74 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 | de.effects.</li>.......</ul>.... |
| 5eec0 | 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 70 | ...<p>.......This.means.that.a.p |
| 5eee0 | 72 6f 67 72 61 6d 6d 65 72 20 63 61 6e 20 63 72 65 61 74 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 | rogrammer.can.create.a.function. |
| 5ef00 | 77 68 69 63 68 20 69 73 20 63 61 6c 6c 65 64 20 62 6f 74 68 20 61 74 20 63 6f 6d 70 69 6c 65 2d | which.is.called.both.at.compile- |
| 5ef20 | 74 69 6d 65 20 61 6e 64 20 72 75 6e 2d 74 69 6d 65 2c 20 77 69 74 68 0a 20 20 20 20 20 20 6e 6f | time.and.run-time,.with.......no |
| 5ef40 | 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 | .modification.to.the.function.re |
| 5ef60 | 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 | quired........</p>.......<p>.... |
| 5ef80 | 20 20 20 4c 65 74 27 73 20 6c 6f 6f 6b 20 61 74 20 61 6e 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 | ...Let's.look.at.an.example:.... |
| 5efa0 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 | ...</p>.......<p.class="file">te |
| 5efc0 | 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | st.zig</p><pre><code.class="zig" |
| 5efe0 | 3e 3c 73 70 61 6e 20 63 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 |
| 5f000 | 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 | n>.assert.=.<span.class="tok-bui |
| 5f020 | 6c 74 69 6e 22 3e 40 69 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 |
| 5f040 | 3d 22 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">"std"</span |
| 5f060 | 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | >).debug.assert;..<span.class="t |
| 5f080 | 6f 6b 2d 6b 77 22 3e 66 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 |
| 5f0a0 | 6b 2d 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 3c 2f 73 70 61 6e 3e 28 69 6e 64 65 78 3a 20 3c 73 | k-fn">fibonacci</span>(index:.<s |
| 5f0c0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 | pan.class="tok-type">u32</span>) |
| 5f0e0 | 20 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 |
| 5f100 | 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 | n>.{.....<span.class="tok-kw">if |
| 5f120 | 3c 2f 73 70 61 6e 3e 20 28 69 6e 64 65 78 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | </span>.(index.<.<span.class= |
| 5f140 | 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 61 | "tok-number">2</span>).<span.cla |
| 5f160 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 64 65 78 3b | ss="tok-kw">return</span>.index; |
| 5f180 | 0a 20 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 |
| 5f1a0 | 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 | </span>.fibonacci(index.-.<span. |
| 5f1c0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 | class="tok-number">1</span>).+.f |
| 5f1e0 | 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ibonacci(index.-.<span.class="to |
| 5f200 | 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c | k-number">2</span>);.}..<span.cl |
| 5f220 | 61 73 73 3d 22 74 6f 6b 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 |
| 5f240 | 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 | lass="tok-str">"fibonacci&q |
| 5f260 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | uot;</span>.{.....<span.class="t |
| 5f280 | 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 65 73 74 20 66 69 62 6f 6e 61 63 63 69 20 61 74 | ok-comment">//.test.fibonacci.at |
| 5f2a0 | 20 72 75 6e 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 73 73 65 72 74 28 66 69 62 6f | .run-time</span>.....assert(fibo |
| 5f2c0 | 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 | nacci(<span.class="tok-number">7 |
| 5f2e0 | 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d | </span>).==.<span.class="tok-num |
| 5f300 | 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | ber">13</span>);......<span.clas |
| 5f320 | 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 65 73 74 20 66 69 62 6f 6e 61 63 63 | s="tok-comment">//.test.fibonacc |
| 5f340 | 69 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 | i.at.compile-time</span>.....<sp |
| 5f360 | 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 |
| 5f380 | 3e 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 | >.{.........assert(fibonacci(<sp |
| 5f3a0 | 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 20 | an.class="tok-number">7</span>). |
| 5f3c0 | 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 2f | ==.<span.class="tok-number">13</ |
| 5f3e0 | 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 | span>);.....}.}</code></pre><pre |
| 5f400 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 | ><code.class="shell">$.zig.test. |
| 5f420 | 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 66 69 62 6f 6e 61 63 63 | test.zig.1/1.test."fibonacc |
| 5f440 | 69 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e | i"...OK.All.1.tests.passed. |
| 5f460 | 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 | .</code></pre>........<p>....... |
| 5f480 | 49 6d 61 67 69 6e 65 20 69 66 20 77 65 20 68 61 64 20 66 6f 72 67 6f 74 74 65 6e 20 74 68 65 20 | Imagine.if.we.had.forgotten.the. |
| 5f4a0 | 62 61 73 65 20 63 61 73 65 20 6f 66 20 74 68 65 20 72 65 63 75 72 73 69 76 65 20 66 75 6e 63 74 | base.case.of.the.recursive.funct |
| 5f4c0 | 69 6f 6e 20 61 6e 64 20 74 72 69 65 64 20 74 6f 20 72 75 6e 20 74 68 65 20 74 65 73 74 73 3a 0a | ion.and.tried.to.run.the.tests:. |
| 5f4e0 | 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 | ......</p>.......<p.class="file" |
| 5f500 | 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | >test.zig</p><pre><code.class="z |
| 5f520 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | ig"><span.class="tok-kw">const</ |
| 5f540 | 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | span>.assert.=.<span.class="tok- |
| 5f560 | 62 75 69 6c 74 69 6e 22 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 |
| 5f580 | 61 73 73 3d 22 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">"std"</s |
| 5f5a0 | 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | pan>).debug.assert;..<span.class |
| 5f5c0 | 3d 22 74 6f 6b 2d 6b 77 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= |
| 5f5e0 | 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 3a | "tok-fn">fibonacci</span>(index: |
| 5f600 | 20 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 |
| 5f620 | 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f | n>).<span.class="tok-type">u32</ |
| 5f640 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d | span>.{.....<span.class="tok-com |
| 5f660 | 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 72 6e | ment">//if.(index.<.2).return |
| 5f680 | 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .index;</span>.....<span.class=" |
| 5f6a0 | 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 | tok-kw">return</span>.fibonacci( |
| 5f6c0 | 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | index.-.<span.class="tok-number" |
| 5f6e0 | 3e 31 3c 2f 73 70 61 6e 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c | >1</span>).+.fibonacci(index.-.< |
| 5f700 | 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> |
| 5f720 | 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c | );.}..<span.class="tok-kw">test< |
| 5f740 | 2f 73 70 61 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 |
| 5f760 | 6f 74 3b 66 69 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | ot;fibonacci"</span>.{..... |
| 5f780 | 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 |
| 5f7a0 | 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 66 69 62 6f 6e 61 63 63 69 28 | pan>.{.........assert(fibonacci( |
| 5f7c0 | 3c 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 |
| 5f7e0 | 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 |
| 5f800 | 33 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c | 3</span>);.....}.}</code></pre>< |
| 5f820 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 | pre><code.class="shell">$.zig.te |
| 5f840 | 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e | st.test.zig.<span.class="t0_1">. |
| 5f860 | 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 20 3c 2f 73 70 61 | /docgen_tmp/test.zig:5:28:.</spa |
| 5f880 | 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 |
| 5f8a0 | 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 6f 70 65 72 61 74 69 6f 6e | pan><span.class="t0_1">operation |
| 5f8c0 | 20 63 61 75 73 65 64 20 6f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 | .caused.overflow</span>.....retu |
| 5f8e0 | 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 |
| 5f900 | 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cci(index.-.2);................. |
| 5f920 | 20 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">^ |
| 5f940 | 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 | </span>.<span.class="t0_1">./doc |
| 5f960 | 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 | gen_tmp/test.zig:5:21:.</span><s |
| 5f980 | 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>< |
| 5f9a0 | 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 |
| 5f9c0 | 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 | re</span>.....return.fibonacci(i |
| 5f9e0 | 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) |
| 5fa00 | 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | ;.....................<span.clas |
| 5fa20 | 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=" |
| 5fa40 | 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 | t0_1">./docgen_tmp/test.zig:5:21 |
| 5fa60 | 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 |
| 5fa80 | 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 |
| 5faa0 | 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e 20 | led.from.here</span>.....return. |
| 5fac0 | 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 |
| 5fae0 | 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (index.-.2);.................... |
| 5fb00 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 | .<span.class="t32_1">^</span>.<s |
| 5fb20 | 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 |
| 5fb40 | 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= |
| 5fb60 | 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 |
| 5fb80 | 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 0a | ="t0_1">called.from.here</span>. |
| 5fba0 | 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 | ....return.fibonacci(index.-.1). |
| 5fbc0 | 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 20 | +.fibonacci(index.-.2);......... |
| 5fbe0 | 20 20 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"> |
| 5fc00 | 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f | ^</span>.<span.class="t0_1">./do |
| 5fc20 | 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>< |
| 5fc40 | 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> |
| 5fc60 | 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 |
| 5fc80 | 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 | ere</span>.....return.fibonacci( |
| 5fca0 | 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 | index.-.1).+.fibonacci(index.-.2 |
| 5fcc0 | 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | );.....................<span.cla |
| 5fce0 | 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ss="t32_1">^</span>.<span.class= |
| 5fd00 | 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 |
| 5fd20 | 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 |
| 5fd40 | 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 |
| 5fd60 | 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e | lled.from.here</span>.....return |
| 5fd80 | 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 | .fibonacci(index.-.1).+.fibonacc |
| 5fda0 | 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | i(index.-.2);................... |
| 5fdc0 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c | ..<span.class="t32_1">^</span>.< |
| 5fde0 | 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 |
| 5fe00 | 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 |
| 5fe20 | 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 |
| 5fe40 | 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> |
| 5fe60 | 0a 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) |
| 5fe80 | 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 | .+.fibonacci(index.-.2);........ |
| 5fea0 | 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" |
| 5fec0 | 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 | >^</span>.<span.class="t0_1">./d |
| 5fee0 | 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e | ocgen_tmp/test.zig:5:21:.</span> |
| 5ff00 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e | <span.class="t36_1">note:.</span |
| 5ff20 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 | ><span.class="t0_1">called.from. |
| 5ff40 | 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 | here</span>.....return.fibonacci |
| 5ff60 | 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.-. |
| 5ff80 | 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c | 2);.....................<span.cl |
| 5ffa0 | 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | ass="t32_1">^</span>.<span.class |
| 5ffc0 | 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 31 30 | ="t0_1">./docgen_tmp/test.zig:10 |
| 5ffe0 | 3a 32 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e | :25:.</span><span.class="t36_1"> |
| 60000 | 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e | note:.</span><span.class="t0_1"> |
| 60020 | 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 | called.from.here</span>......... |
| 60040 | 61 73 73 65 72 74 28 66 69 62 6f 6e 61 63 63 69 28 37 29 20 3d 3d 20 31 33 29 3b 0a 20 20 20 20 | assert(fibonacci(7).==.13);..... |
| 60060 | 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= |
| 60080 | 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 74 30 | "t32_1">^</span>.<span.class="t0 |
| 600a0 | 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 38 3a 31 38 3a 20 | _1">./docgen_tmp/test.zig:8:18:. |
| 600c0 | 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a | </span><span.class="t36_1">note: |
| 600e0 | 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 65 | .</span><span.class="t0_1">calle |
| 60100 | 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 74 65 73 74 20 26 71 75 6f 74 3b 66 69 | d.from.here</span>.test."fi |
| 60120 | 62 6f 6e 61 63 63 69 26 71 75 6f 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | bonacci".{................. |
| 60140 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 | .<span.class="t32_1">^</span>.<s |
| 60160 | 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 |
| 60180 | 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= |
| 601a0 | 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 |
| 601c0 | 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 | ="t0_1">referenced.here</span>.. |
| 601e0 | 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b | ...return.fibonacci(index.-.1).+ |
| 60200 | 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 | .fibonacci(index.-.2);.......... |
| 60220 | 20 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">^ |
| 60240 | 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 | </span>.<span.class="t0_1">./doc |
| 60260 | 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 3a 32 35 3a 20 3c 2f 73 70 61 6e 3e 3c | gen_tmp/test.zig:10:25:.</span>< |
| 60280 | 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> |
| 602a0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 | <span.class="t0_1">referenced.he |
| 602c0 | 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 66 69 62 6f 6e 61 63 | re</span>.........assert(fibonac |
| 602e0 | 63 69 28 37 29 20 3d 3d 20 31 33 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ci(7).==.13);................... |
| 60300 | 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 |
| 60320 | 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 | n>.</code></pre>........<p>..... |
| 60340 | 20 20 54 68 65 20 63 6f 6d 70 69 6c 65 72 20 70 72 6f 64 75 63 65 73 20 61 6e 20 65 72 72 6f 72 | ..The.compiler.produces.an.error |
| 60360 | 20 77 68 69 63 68 20 69 73 20 61 20 73 74 61 63 6b 20 74 72 61 63 65 20 66 72 6f 6d 20 74 72 79 | .which.is.a.stack.trace.from.try |
| 60380 | 69 6e 67 20 74 6f 20 65 76 61 6c 75 61 74 65 20 74 68 65 0a 20 20 20 20 20 20 66 75 6e 63 74 69 | ing.to.evaluate.the.......functi |
| 603a0 | 6f 6e 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 | on.at.compile-time........</p>.. |
| 603c0 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 75 63 6b 69 6c 79 2c 20 77 65 20 75 73 65 64 20 | .....<p>.......Luckily,.we.used. |
| 603e0 | 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 2c 20 61 6e 64 20 73 6f 20 77 68 65 6e | an.unsigned.integer,.and.so.when |
| 60400 | 20 77 65 20 74 72 69 65 64 20 74 6f 20 73 75 62 74 72 61 63 74 20 31 20 66 72 6f 6d 20 30 2c 20 | .we.tried.to.subtract.1.from.0,. |
| 60420 | 69 74 20 74 72 69 67 67 65 72 65 64 0a 20 20 20 20 20 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 | it.triggered.......undefined.beh |
| 60440 | 61 76 69 6f 72 2c 20 77 68 69 63 68 20 69 73 20 61 6c 77 61 79 73 20 61 20 63 6f 6d 70 69 6c 65 | avior,.which.is.always.a.compile |
| 60460 | 20 65 72 72 6f 72 20 69 66 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6b 6e 6f 77 73 20 69 74 20 | .error.if.the.compiler.knows.it. |
| 60480 | 68 61 70 70 65 6e 65 64 2e 0a 20 20 20 20 20 20 42 75 74 20 77 68 61 74 20 77 6f 75 6c 64 20 68 | happened........But.what.would.h |
| 604a0 | 61 76 65 20 68 61 70 70 65 6e 65 64 20 69 66 20 77 65 20 75 73 65 64 20 61 20 73 69 67 6e 65 64 | ave.happened.if.we.used.a.signed |
| 604c0 | 20 69 6e 74 65 67 65 72 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c | .integer?.......</p>.......<p.cl |
| 604e0 | 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 | ass="file">test.zig</p><pre><cod |
| 60500 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | e.class="zig"><span.class="tok-k |
| 60520 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 | w">const</span>.assert.=.<span.c |
| 60540 | 6c 61 73 73 3d 22 74 6f 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 |
| 60560 | 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 | >(<span.class="tok-str">"st |
| 60580 | 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c | d"</span>).debug.assert;..< |
| 605a0 | 73 70 61 6e 20 63 6c 61 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 |
| 605c0 | 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 |
| 605e0 | 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 |
| 60600 | 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | ">i32</span>).<span.class="tok-t |
| 60620 | 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | ype">i32</span>.{.....<span.clas |
| 60640 | 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 69 66 20 28 69 6e 64 65 78 20 26 6c 74 3b | s="tok-comment">//if.(index.< |
| 60660 | 20 32 29 20 72 65 74 75 72 6e 20 69 6e 64 65 78 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 | .2).return.index;</span>.....<sp |
| 60680 | 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>. |
| 606a0 | 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 |
| 606c0 | 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 |
| 606e0 | 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 |
| 60700 | 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ">2</span>);.}..<span.class="tok |
| 60720 | 2d 6b 77 22 3e 74 65 73 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 |
| 60740 | 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">"fibonacci"</sp |
| 60760 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | an>.{.....<span.class="tok-kw">c |
| 60780 | 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 61 73 73 65 72 74 28 | omptime</span>.{.........assert( |
| 607a0 | 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | fibonacci(<span.class="tok-numbe |
| 607c0 | 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | r">7</span>).==.<span.class="tok |
| 607e0 | 2d 6e 75 6d 62 65 72 22 3e 31 33 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f | -number">13</span>);.....}.}</co |
| 60800 | 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c | de></pre><pre><code.class="shell |
| 60820 | 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 | ">$.zig.test.test.zig.<span.clas |
| 60840 | 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 |
| 60860 | 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 31 5f 31 22 3e | :21:.</span><span.class="t31_1"> |
| 60880 | 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" |
| 608a0 | 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 61 | >evaluation.exceeded.1000.backwa |
| 608c0 | 72 64 73 20 62 72 61 6e 63 68 65 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e 20 66 | rds.branches</span>.....return.f |
| 608e0 | 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 28 | ibonacci(index.-.1).+.fibonacci( |
| 60900 | 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | index.-.2);..................... |
| 60920 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 | <span.class="t32_1">^</span>.<sp |
| 60940 | 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 |
| 60960 | 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | t.zig:5:21:.</span><span.class=" |
| 60980 | 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= |
| 609a0 | 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 0a 20 | "t0_1">called.from.here</span>.. |
| 609c0 | 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b | ...return.fibonacci(index.-.1).+ |
| 609e0 | 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 | .fibonacci(index.-.2);.......... |
| 60a00 | 20 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">^ |
| 60a20 | 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 | </span>.<span.class="t0_1">./doc |
| 60a40 | 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 | gen_tmp/test.zig:5:21:.</span><s |
| 60a60 | 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>< |
| 60a80 | 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 |
| 60aa0 | 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 | re</span>.....return.fibonacci(i |
| 60ac0 | 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) |
| 60ae0 | 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | ;.....................<span.clas |
| 60b00 | 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=" |
| 60b20 | 74 30 5f 31 22 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 | t0_1">./docgen_tmp/test.zig:5:21 |
| 60b40 | 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 |
| 60b60 | 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 |
| 60b80 | 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e 20 | led.from.here</span>.....return. |
| 60ba0 | 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 |
| 60bc0 | 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (index.-.2);.................... |
| 60be0 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 | .<span.class="t32_1">^</span>.<s |
| 60c00 | 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 |
| 60c20 | 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= |
| 60c40 | 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 |
| 60c60 | 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 0a | ="t0_1">called.from.here</span>. |
| 60c80 | 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 | ....return.fibonacci(index.-.1). |
| 60ca0 | 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 20 | +.fibonacci(index.-.2);......... |
| 60cc0 | 20 20 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"> |
| 60ce0 | 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f | ^</span>.<span.class="t0_1">./do |
| 60d00 | 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>< |
| 60d20 | 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> |
| 60d40 | 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 |
| 60d60 | 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 28 | ere</span>.....return.fibonacci( |
| 60d80 | 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 | index.-.1).+.fibonacci(index.-.2 |
| 60da0 | 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | );.....................<span.cla |
| 60dc0 | 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ss="t32_1">^</span>.<span.class= |
| 60de0 | 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 |
| 60e00 | 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 |
| 60e20 | 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 |
| 60e40 | 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e | lled.from.here</span>.....return |
| 60e60 | 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 31 29 20 2b 20 66 69 62 6f 6e 61 63 63 | .fibonacci(index.-.1).+.fibonacc |
| 60e80 | 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | i(index.-.2);................... |
| 60ea0 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c | ..<span.class="t32_1">^</span>.< |
| 60ec0 | 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 |
| 60ee0 | 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 |
| 60f00 | 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 |
| 60f20 | 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> |
| 60f40 | 0a 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) |
| 60f60 | 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 | .+.fibonacci(index.-.2);........ |
| 60f80 | 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" |
| 60fa0 | 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 | >^</span>.<span.class="t0_1">./d |
| 60fc0 | 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e 3e | ocgen_tmp/test.zig:5:21:.</span> |
| 60fe0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e | <span.class="t36_1">note:.</span |
| 61000 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 | ><span.class="t0_1">called.from. |
| 61020 | 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 69 | here</span>.....return.fibonacci |
| 61040 | 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.-. |
| 61060 | 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c | 2);.....................<span.cl |
| 61080 | 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | ass="t32_1">^</span>.<span.class |
| 610a0 | 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: |
| 610c0 | 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 |
| 610e0 | 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 |
| 61100 | 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 | alled.from.here</span>.....retur |
| 61120 | 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 |
| 61140 | 63 69 28 69 6e 64 65 78 20 2d 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ci(index.-.2);.................. |
| 61160 | 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a | ...<span.class="t32_1">^</span>. |
| 61180 | 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/ |
| 611a0 | 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 |
| 611c0 | 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 |
| 611e0 | 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 |
| 61200 | 3e 0a 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 |
| 61220 | 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 0a 20 20 20 20 20 20 | ).+.fibonacci(index.-.2);....... |
| 61240 | 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 |
| 61260 | 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f | ">^</span>.<span.class="t0_1">./ |
| 61280 | 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 32 31 3a 20 3c 2f 73 70 61 6e | docgen_tmp/test.zig:5:21:.</span |
| 612a0 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 | ><span.class="t36_1">note:.</spa |
| 612c0 | 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d | n><span.class="t0_1">called.from |
| 612e0 | 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e 20 66 69 62 6f 6e 61 63 63 | .here</span>.....return.fibonacc |
| 61300 | 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 2d | i(index.-.1).+.fibonacci(index.- |
| 61320 | 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 | .2);.....................<span.c |
| 61340 | 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 | lass="t32_1">^</span>.<span.clas |
| 61360 | 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 31 | s="t0_1">./docgen_tmp/test.zig:1 |
| 61380 | 30 3a 32 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 | 0:25:.</span><span.class="t36_1" |
| 613a0 | 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" |
| 613c0 | 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 | >referenced.here</span>......... |
| 613e0 | 61 73 73 65 72 74 28 66 69 62 6f 6e 61 63 63 69 28 37 29 20 3d 3d 20 31 33 29 3b 0a 20 20 20 20 | assert(fibonacci(7).==.13);..... |
| 61400 | 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= |
| 61420 | 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a | "t32_1">^</span>.</code></pre>.. |
| 61440 | 20 20 20 20 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 | ......<p>.......The.compiler.not |
| 61460 | 69 63 65 64 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 | iced.that.evaluating.this.functi |
| 61480 | 6f 6e 20 61 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 | on.at.compile-time.took.a.long.t |
| 614a0 | 69 6d 65 2c 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 | ime,.......and.thus.emitted.a.co |
| 614c0 | 6d 70 69 6c 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 | mpile.error.and.gave.up..If.the. |
| 614e0 | 70 72 6f 67 72 61 6d 6d 65 72 20 77 61 6e 74 73 20 74 6f 20 69 6e 63 72 65 61 73 65 0a 20 20 20 | programmer.wants.to.increase.... |
| 61500 | 20 20 20 74 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 | ...the.budget.for.compile-time.c |
| 61520 | 6f 6d 70 75 74 61 74 69 6f 6e 2c 20 74 68 65 79 20 63 61 6e 20 75 73 65 20 61 20 62 75 69 6c 74 | omputation,.they.can.use.a.built |
| 61540 | 2d 69 6e 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 65 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 | -in.function.called.......<a.hre |
| 61560 | 66 3d 22 23 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 40 73 65 74 45 76 61 6c | f="#setEvalBranchQuota">@setEval |
| 61580 | 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 61 3e 20 74 6f 20 63 68 61 6e 67 65 20 74 68 65 20 64 65 | BranchQuota</a>.to.change.the.de |
| 615a0 | 66 61 75 6c 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 | fault.number.1000.to.something.e |
| 615c0 | 6c 73 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 | lse........</p>.......<p>....... |
| 615e0 | 57 68 61 74 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 | What.if.we.fix.the.base.case,.bu |
| 61600 | 74 20 70 75 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 | t.put.the.wrong.value.in.the.<co |
| 61620 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 73 73 65 72 74 3c 2f 63 6f 64 65 3e 20 6c 69 6e | de.class="zig">assert</code>.lin |
| 61640 | 65 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 | e?.......</p>.......<p.class="fi |
| 61660 | 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | le">test.zig</p><pre><code.class |
| 61680 | 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | ="zig"><span.class="tok-kw">cons |
| 616a0 | 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | t</span>.assert.=.<span.class="t |
| 616c0 | 6f 6b 2d 62 75 69 6c 74 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 |
| 616e0 | 20 63 6c 61 73 73 3d 22 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">"std" |
| 61700 | 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c | </span>).debug.assert;..<span.cl |
| 61720 | 61 73 73 3d 22 74 6f 6b 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 |
| 61740 | 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 62 6f 6e 61 63 63 69 3c 2f 73 70 61 6e 3e 28 69 6e 64 | ss="tok-fn">fibonacci</span>(ind |
| 61760 | 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 69 33 32 3c 2f | ex:.<span.class="tok-type">i32</ |
| 61780 | 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 | span>).<span.class="tok-type">i3 |
| 617a0 | 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | 2</span>.{.....<span.class="tok- |
| 617c0 | 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 69 6e 64 65 78 20 26 6c 74 3b 20 3c 73 70 61 6e 20 | kw">if</span>.(index.<.<span. |
| 617e0 | 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 70 | class="tok-number">2</span>).<sp |
| 61800 | 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>. |
| 61820 | 69 6e 64 65 78 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | index;.....<span.class="tok-kw"> |
| 61840 | 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 | return</span>.fibonacci(index.-. |
| 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 31 3c 2f 73 70 61 6e | <span.class="tok-number">1</span |
| 61880 | 3e 29 20 2b 20 66 69 62 6f 6e 61 63 63 69 28 69 6e 64 65 78 20 2d 20 3c 73 70 61 6e 20 63 6c 61 | >).+.fibonacci(index.-.<span.cla |
| 618a0 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 | ss="tok-number">2</span>);.}..<s |
| 618c0 | 70 61 6e 20 63 6c 61 73 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>.< |
| 618e0 | 73 70 61 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">"fibon |
| 61900 | 61 63 63 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | acci"</span>.{.....<span.cl |
| 61920 | 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 0a 20 | ass="tok-kw">comptime</span>.{.. |
| 61940 | 20 20 20 20 20 20 20 61 73 73 65 72 74 28 66 69 62 6f 6e 61 63 63 69 28 3c 73 70 61 6e 20 63 6c | .......assert(fibonacci(<span.cl |
| 61960 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 37 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 | ass="tok-number">7</span>).==.<s |
| 61980 | 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 39 39 39 3c 2f 73 70 | pan.class="tok-number">99999</sp |
| 619a0 | 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c | an>);.....}.}</code></pre><pre>< |
| 619c0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 | code.class="shell">$.zig.test.te |
| 619e0 | 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 6c 69 62 2f | st.zig.<span.class="t0_1">./lib/ |
| 61a00 | 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 3a 32 32 38 3a 31 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 | std/debug.zig:228:14:.</span><sp |
| 61a20 | 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>< |
| 61a40 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 75 6e 61 62 6c 65 20 74 6f 20 65 76 61 6c | span.class="t0_1">unable.to.eval |
| 61a60 | 75 61 74 65 20 63 6f 6e 73 74 61 6e 74 20 65 78 70 72 65 73 73 69 6f 6e 3c 2f 73 70 61 6e 3e 0a | uate.constant.expression</span>. |
| 61a80 | 20 20 20 20 69 66 20 28 21 6f 6b 29 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 61 73 73 | ....if.(!ok).unreachable;.//.ass |
| 61aa0 | 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 | ertion.failure..............<spa |
| 61ac0 | 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 |
| 61ae0 | 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 |
| 61b00 | 67 3a 31 30 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 | g:10:15:.</span><span.class="t36 |
| 61b20 | 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 | _1">note:.</span><span.class="t0 |
| 61b40 | 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 0a 20 20 20 20 | _1">called.from.here</span>..... |
| 61b60 | 20 20 20 20 61 73 73 65 72 74 28 66 69 62 6f 6e 61 63 63 69 28 37 29 20 3d 3d 20 39 39 39 39 39 | ....assert(fibonacci(7).==.99999 |
| 61b80 | 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 | );...............<span.class="t3 |
| 61ba0 | 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 74 30 5f 31 22 | 2_1">^</span>.<span.class="t0_1" |
| 61bc0 | 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 38 3a 31 38 3a 20 3c 2f 73 | >./docgen_tmp/test.zig:8:18:.</s |
| 61be0 | 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:.</ |
| 61c00 | 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 |
| 61c20 | 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 74 65 73 74 20 26 71 75 6f 74 3b 66 69 62 6f 6e | rom.here</span>.test."fibon |
| 61c40 | 61 63 63 69 26 71 75 6f 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 | acci".{..................<s |
| 61c60 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e | pan.class="t32_1">^</span>.<span |
| 61c80 | 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. |
| 61ca0 | 7a 69 67 3a 31 30 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 | zig:10:15:.</span><span.class="t |
| 61cc0 | 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=" |
| 61ce0 | 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 | t0_1">referenced.here</span>.... |
| 61d00 | 20 20 20 20 20 61 73 73 65 72 74 28 66 69 62 6f 6e 61 63 63 69 28 37 29 20 3d 3d 20 39 39 39 39 | .....assert(fibonacci(7).==.9999 |
| 61d20 | 39 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | 9);...............<span.class="t |
| 61d40 | 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 | 32_1">^</span>.</code></pre>.... |
| 61d60 | 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 61 74 20 68 61 70 70 65 6e 65 64 20 69 73 20 5a | ....<p>.......What.happened.is.Z |
| 61d80 | 69 67 20 73 74 61 72 74 65 64 20 69 6e 74 65 72 70 72 65 74 69 6e 67 20 74 68 65 20 3c 63 6f 64 | ig.started.interpreting.the.<cod |
| 61da0 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 73 73 65 72 74 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 | e.class="zig">assert</code>.func |
| 61dc0 | 74 69 6f 6e 20 77 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 70 61 72 61 6d 65 74 65 | tion.with.the...........paramete |
| 61de0 | 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 6f 6b 3c 2f 63 6f 64 65 3e 20 73 65 | r.<code.class="zig">ok</code>.se |
| 61e00 | 74 20 74 6f 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | t.to.<code.class="zig"><span.cla |
| 61e20 | 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 | ss="tok-null">false</span></code |
| 61e40 | 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 69 74 0a 20 20 20 20 | >..When.the.interpreter.hit..... |
| 61e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | ..............<code.class="zig"> |
| 61e80 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 | <span.class="tok-kw">unreachable |
| 61ea0 | 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 74 20 65 6d 69 74 74 65 64 20 61 20 63 6f 6d 70 | </span></code>.it.emitted.a.comp |
| 61ec0 | 69 6c 65 20 65 72 72 6f 72 2c 20 62 65 63 61 75 73 65 20 72 65 61 63 68 69 6e 67 20 75 6e 72 65 | ile.error,.because.reaching.unre |
| 61ee0 | 61 63 68 61 62 6c 65 0a 20 20 20 20 20 20 63 6f 64 65 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 | achable.......code.is.undefined. |
| 61f00 | 62 65 68 61 76 69 6f 72 2c 20 61 6e 64 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 | behavior,.and.undefined.behavior |
| 61f20 | 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 20 69 73 | .causes.a.compile.error.if.it.is |
| 61f40 | 20 64 65 74 65 63 74 65 64 0a 20 20 20 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e | .detected.......at.compile-time. |
| 61f60 | 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 | .......</p>........<p>.......In. |
| 61f80 | 74 68 65 20 67 6c 6f 62 61 6c 20 73 63 6f 70 65 20 28 6f 75 74 73 69 64 65 20 6f 66 20 61 6e 79 | the.global.scope.(outside.of.any |
| 61fa0 | 20 66 75 6e 63 74 69 6f 6e 29 2c 20 61 6c 6c 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 | .function),.all.expressions.are. |
| 61fc0 | 69 6d 70 6c 69 63 69 74 6c 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | implicitly.......<code.class="zi |
| 61fe0 | 67 22 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 | g"><span.class="tok-kw">comptime |
| 62000 | 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 54 68 69 73 | </span></code>.expressions..This |
| 62020 | 20 6d 65 61 6e 73 20 74 68 61 74 20 77 65 20 63 61 6e 20 75 73 65 20 66 75 6e 63 74 69 6f 6e 73 | .means.that.we.can.use.functions |
| 62040 | 20 74 6f 0a 20 20 20 20 20 20 69 6e 69 74 69 61 6c 69 7a 65 20 63 6f 6d 70 6c 65 78 20 73 74 61 | .to.......initialize.complex.sta |
| 62060 | 74 69 63 20 64 61 74 61 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 | tic.data..For.example:.......</p |
| 62080 | 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 | >.......<p.class="file">test.zig |
| 620a0 | 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | </p><pre><code.class="zig"><span |
| 620c0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 69 72 | .class="tok-kw">const</span>.fir |
| 620e0 | 73 74 5f 32 35 5f 70 72 69 6d 65 73 20 3d 20 66 69 72 73 74 4e 50 72 69 6d 65 73 28 3c 73 70 61 | st_25_primes.=.firstNPrimes(<spa |
| 62100 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 3c 2f 73 70 61 6e 3e 29 3b | n.class="tok-number">25</span>); |
| 62120 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 | .<span.class="tok-kw">const</spa |
| 62140 | 6e 3e 20 73 75 6d 5f 6f 66 5f 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 20 3d 20 73 75 6d 28 | n>.sum_of_first_25_primes.=.sum( |
| 62160 | 26 61 6d 70 3b 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c | &first_25_primes);..<span.cl |
| 62180 | 61 73 73 3d 22 74 6f 6b 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 |
| 621a0 | 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 69 72 73 74 4e 50 72 69 6d 65 73 3c 2f 73 70 61 6e 3e 28 | ss="tok-fn">firstNPrimes</span>( |
| 621c0 | 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 |
| 621e0 | 70 61 6e 3e 20 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 | pan>.n:.<span.class="tok-type">u |
| 62200 | 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 5b 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | size</span>).[n]<span.class="tok |
| 62220 | 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | -type">i32</span>.{.....<span.cl |
| 62240 | 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 69 6d 65 5f 6c 69 | ass="tok-kw">var</span>.prime_li |
| 62260 | 73 74 3a 20 5b 6e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 | st:.[n]<span.class="tok-type">i3 |
| 62280 | 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c | 2</span>.=.<span.class="tok-null |
| 622a0 | 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | ">undefined</span>;.....<span.cl |
| 622c0 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 65 78 74 5f 69 6e 64 | ass="tok-kw">var</span>.next_ind |
| 622e0 | 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 | ex:.<span.class="tok-type">usize |
| 62300 | 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 |
| 62320 | 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | r">0</span>;.....<span.class="to |
| 62340 | 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 74 65 73 74 5f 6e 75 6d 62 65 72 3a 20 3c 73 | k-kw">var</span>.test_number:.<s |
| 62360 | 70 61 6e 20 63 6c 61 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>. |
| 62380 | 3d 20 3c 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 |
| 623a0 | 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 | an>;.....<span.class="tok-kw">wh |
| 623c0 | 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 6e 65 78 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 70 72 69 6d | ile</span>.(next_index.<.prim |
| 623e0 | 65 5f 6c 69 73 74 2e 6c 65 6e 29 20 3a 20 28 74 65 73 74 5f 6e 75 6d 62 65 72 20 2b 3d 20 3c 73 | e_list.len).:.(test_number.+=.<s |
| 62400 | 70 61 6e 20 63 6c 61 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>) |
| 62420 | 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | .{.........<span.class="tok-kw"> |
| 62440 | 76 61 72 3c 2f 73 70 61 6e 3e 20 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 3a 20 3c 73 70 | var</span>.test_prime_index:.<sp |
| 62460 | 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> |
| 62480 | 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 | .=.<span.class="tok-number">0</s |
| 624a0 | 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | pan>;.........<span.class="tok-k |
| 624c0 | 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 73 5f 70 72 69 6d 65 20 3d 20 3c 73 70 61 6e 20 63 | w">var</span>.is_prime.=.<span.c |
| 624e0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 | lass="tok-null">true</span>;.... |
| 62500 | 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c | .....<span.class="tok-kw">while< |
| 62520 | 2f 73 70 61 6e 3e 20 28 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 20 26 6c 74 3b 20 6e 65 | /span>.(test_prime_index.<.ne |
| 62540 | 78 74 5f 69 6e 64 65 78 29 20 3a 20 28 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 20 2b 3d | xt_index).:.(test_prime_index.+= |
| 62560 | 20 3c 73 70 61 6e 20 63 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 |
| 62580 | 6e 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | n>).{.............<span.class="t |
| 625a0 | 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 74 65 73 74 5f 6e 75 6d 62 65 72 20 25 20 | ok-kw">if</span>.(test_number.%. |
| 625c0 | 70 72 69 6d 65 5f 6c 69 73 74 5b 74 65 73 74 5f 70 72 69 6d 65 5f 69 6e 64 65 78 5d 20 3d 3d 20 | prime_list[test_prime_index].==. |
| 625e0 | 3c 73 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 |
| 62600 | 3e 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 5f 70 72 69 6d 65 20 3d 20 | >).{.................is_prime.=. |
| 62620 | 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 |
| 62640 | 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | an>;.................<span.class |
| 62660 | 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 | ="tok-kw">break</span>;......... |
| 62680 | 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c | ....}.........}.........<span.cl |
| 626a0 | 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 73 5f 70 72 69 6d 65 | ass="tok-kw">if</span>.(is_prime |
| 626c0 | 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6d 65 5f 6c 69 73 74 5b 6e 65 78 74 5f | ).{.............prime_list[next_ |
| 626e0 | 69 6e 64 65 78 5d 20 3d 20 74 65 73 74 5f 6e 75 6d 62 65 72 3b 0a 20 20 20 20 20 20 20 20 20 20 | index].=.test_number;........... |
| 62700 | 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 |
| 62720 | 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 | -number">1</span>;.........}.... |
| 62740 | 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 | .}.....<span.class="tok-kw">retu |
| 62760 | 72 6e 3c 2f 73 70 61 6e 3e 20 70 72 69 6d 65 5f 6c 69 73 74 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 | rn</span>.prime_list;.}..<span.c |
| 62780 | 6c 61 73 73 3d 22 74 6f 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 |
| 627a0 | 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 75 6d 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 73 3a | ass="tok-fn">sum</span>(numbers: |
| 627c0 | 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 | .[]<span.class="tok-kw">const</s |
| 627e0 | 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c | pan>.<span.class="tok-type">i32< |
| 62800 | 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 |
| 62820 | 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | 32</span>.{.....<span.class="tok |
| 62840 | 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 70 61 6e 20 63 6c | -kw">var</span>.result:.<span.cl |
| 62860 | 61 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 |
| 62880 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 | n.class="tok-number">0</span>;.. |
| 628a0 | 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 |
| 628c0 | 6e 3e 20 28 6e 75 6d 62 65 72 73 29 20 7c 78 7c 20 7b 0a 20 20 20 20 20 20 20 20 72 65 73 75 6c | n>.(numbers).|x|.{.........resul |
| 628e0 | 74 20 2b 3d 20 78 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | t.+=.x;.....}.....<span.class="t |
| 62900 | 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 0a 7d 0a 0a | ok-kw">return</span>.result;.}.. |
| 62920 | 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> |
| 62940 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 72 | .<span.class="tok-str">"var |
| 62960 | 69 61 62 6c 65 20 76 61 6c 75 65 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | iable.values"</span>.{..... |
| 62980 | 3c 73 70 61 6e 20 63 6c 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 |
| 629a0 | 74 3c 2f 73 70 61 6e 3e 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">& |
| 629c0 | 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 61 73 73 | quot;std"</span>).debug.ass |
| 629e0 | 65 72 74 28 73 75 6d 5f 6f 66 5f 66 69 72 73 74 5f 32 35 5f 70 72 69 6d 65 73 20 3d 3d 20 3c 73 | ert(sum_of_first_25_primes.==.<s |
| 62a00 | 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 36 30 3c 2f 73 70 61 | pan.class="tok-number">1060</spa |
| 62a20 | 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | n>);.}</code></pre><pre><code.cl |
| 62a40 | 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a | ass="shell">$.zig.test.test.zig. |
| 62a60 | 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 73 26 71 | 1/1.test."variable.values&q |
| 62a80 | 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f | uot;...OK.All.1.tests.passed..</ |
| 62aa0 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 | code></pre>........<p>.......Whe |
| 62ac0 | 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 20 67 | n.we.compile.this.program,.Zig.g |
| 62ae0 | 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 69 74 | enerates.the.constants.......wit |
| 62b00 | 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 65 20 | h.the.answer.pre-computed..Here. |
| 62b20 | 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 65 64 | are.the.lines.from.the.generated |
| 62b40 | 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 65 3e | .LLVM.IR:.......</p>.......<pre> |
| 62b60 | 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 61 6c | <code.class="llvm">@0.=.internal |
| 62b80 | 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 33 32 | .unnamed_addr.constant.[25.x.i32 |
| 62ba0 | 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 20 69 | ].[i32.2,.i32.3,.i32.5,.i32.7,.i |
| 62bc0 | 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 20 69 | 32.11,.i32.13,.i32.17,.i32.19,.i |
| 62be0 | 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 20 69 | 32.23,.i32.29,.i32.31,.i32.37,.i |
| 62c00 | 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 20 69 | 32.41,.i32.43,.i32.47,.i32.53,.i |
| 62c20 | 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 20 69 | 32.59,.i32.61,.i32.67,.i32.71,.i |
| 62c40 | 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 20 69 | 32.73,.i32.79,.i32.83,.i32.89,.i |
| 62c60 | 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 64 64 | 32.97].@1.=.internal.unnamed_add |
| 62c80 | 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 65 3e | r.constant.i32.1060</code></pre> |
| 62ca0 | 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 64 69 | .......<p>.......Note.that.we.di |
| 62cc0 | 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 69 61 | d.not.have.to.do.anything.specia |
| 62ce0 | 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 63 74 | l.with.the.syntax.of.these.funct |
| 62d00 | 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 75 6c | ions..For.example,.......we.coul |
| 62d20 | 64 20 63 61 6c 6c 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 75 6d | d.call.the.<code.class="zig">sum |
| 62d40 | 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 61 73 20 69 73 20 77 69 74 68 20 61 20 73 6c | </code>.function.as.is.with.a.sl |
| 62d60 | 69 63 65 20 6f 66 20 6e 75 6d 62 65 72 73 20 77 68 6f 73 65 20 6c 65 6e 67 74 68 20 61 6e 64 20 | ice.of.numbers.whose.length.and. |
| 62d80 | 76 61 6c 75 65 73 20 77 65 72 65 0a 20 20 20 20 20 20 6f 6e 6c 79 20 6b 6e 6f 77 6e 20 61 74 20 | values.were.......only.known.at. |
| 62da0 | 72 75 6e 2d 74 69 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 | run-time........</p>............ |
| 62dc0 | 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 | .........<h2.id="Generic-Data-St |
| 62de0 | 72 75 63 74 75 72 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 47 65 6e 65 72 69 63 2d | ructures"><a.href="#toc-Generic- |
| 62e00 | 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 3e 47 65 6e 65 72 69 63 20 44 61 74 61 20 53 74 | Data-Structures">Generic.Data.St |
| 62e20 | 72 75 63 74 75 72 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 | ructures</a>.<a.class="hdr".href |
| 62e40 | 3d 22 23 47 65 6e 65 72 69 63 2d 44 61 74 61 2d 53 74 72 75 63 74 75 72 65 73 22 3e c2 a7 3c 2f | ="#Generic-Data-Structures">..</ |
| 62e60 | 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 75 73 65 | a></h2>........<p>.......Zig.use |
| 62e80 | 73 20 74 68 65 73 65 20 63 61 70 61 62 69 6c 69 74 69 65 73 20 74 6f 20 69 6d 70 6c 65 6d 65 6e | s.these.capabilities.to.implemen |
| 62ea0 | 74 20 67 65 6e 65 72 69 63 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 77 69 74 68 6f 75 | t.generic.data.structures.withou |
| 62ec0 | 74 20 69 6e 74 72 6f 64 75 63 69 6e 67 20 61 6e 79 0a 20 20 20 20 20 20 73 70 65 63 69 61 6c 2d | t.introducing.any.......special- |
| 62ee0 | 63 61 73 65 20 73 79 6e 74 61 78 2e 20 49 66 20 79 6f 75 20 66 6f 6c 6c 6f 77 65 64 20 61 6c 6f | case.syntax..If.you.followed.alo |
| 62f00 | 6e 67 20 73 6f 20 66 61 72 2c 20 79 6f 75 20 6d 61 79 20 61 6c 72 65 61 64 79 20 6b 6e 6f 77 20 | ng.so.far,.you.may.already.know. |
| 62f20 | 68 6f 77 20 74 6f 20 63 72 65 61 74 65 20 61 0a 20 20 20 20 20 20 67 65 6e 65 72 69 63 20 64 61 | how.to.create.a.......generic.da |
| 62f40 | 74 61 20 73 74 72 75 63 74 75 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c | ta.structure........</p>.......< |
| 62f60 | 70 3e 0a 20 20 20 20 20 20 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 61 | p>.......Here.is.an.example.of.a |
| 62f80 | 20 67 65 6e 65 72 69 63 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 4c 69 73 74 3c | .generic.<code.class="zig">List< |
| 62fa0 | 2f 63 6f 64 65 3e 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 2c 20 74 68 61 74 20 77 65 20 77 | /code>.data.structure,.that.we.w |
| 62fc0 | 69 6c 6c 20 69 6e 73 74 61 6e 74 69 61 74 65 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 20 74 | ill.instantiate.with...........t |
| 62fe0 | 68 65 20 74 79 70 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | he.type.<code.class="zig"><span. |
| 63000 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 | class="tok-type">i32</span></cod |
| 63020 | 65 3e 2e 20 49 6e 20 5a 69 67 20 77 65 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 74 79 70 65 20 | e>..In.Zig.we.refer.to.the.type. |
| 63040 | 61 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 4c 69 73 74 28 3c 73 70 61 6e 20 | as.<code.class="zig">List(<span. |
| 63060 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f | class="tok-type">i32</span>)</co |
| 63080 | 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 | de>........</p>.......<pre><code |
| 630a0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| 630c0 | 22 3e 66 6e 3c 2f 73 70 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" |
| 630e0 | 3e 4c 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | >List</span>(<span.class="tok-kw |
| 63100 | 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 |
| 63120 | 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 63 | ="tok-type">type</span>).<span.c |
| 63140 | 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | lass="tok-type">type</span>.{... |
| 63160 | 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 |
| 63180 | 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 | pan>.<span.class="tok-kw">struct |
| 631a0 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 69 74 65 6d 73 3a 20 5b 5d 54 2c 0a 20 20 | </span>.{.........items:.[]T,... |
| 631c0 | 20 20 20 20 20 20 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | ......len:.<span.class="tok-type |
| 631e0 | 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c | ">usize</span>,.....};.}</code>< |
| 63200 | 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 61 74 27 73 20 69 74 2e | /pre>.......<p>.......That's.it. |
| 63220 | 20 49 74 27 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e 73 20 61 6e | .It's.a.function.that.returns.an |
| 63240 | 20 61 6e 6f 6e 79 6d 6f 75 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | .anonymous.<code.class="zig"><sp |
| 63260 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 3c | an.class="tok-kw">struct</span>< |
| 63280 | 2f 63 6f 64 65 3e 2e 20 46 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 73 20 6f 66 20 65 72 72 6f | /code>..For.the.purposes.of.erro |
| 632a0 | 72 20 6d 65 73 73 61 67 65 73 0a 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 64 65 62 75 67 67 69 | r.messages...........and.debuggi |
| 632c0 | 6e 67 2c 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 65 20 6e 61 6d 65 20 3c 63 6f 64 65 20 63 6c | ng,.Zig.infers.the.name.<code.cl |
| 632e0 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e | ass="zig"><span.class="tok-str"> |
| 63300 | 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 63 6f | "List(i32)"</span></co |
| 63320 | 64 65 3e 20 66 72 6f 6d 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 61 6e 64 20 70 | de>.from.the.function.name.and.p |
| 63340 | 61 72 61 6d 65 74 65 72 73 20 69 6e 76 6f 6b 65 64 20 77 68 65 6e 20 63 72 65 61 74 69 6e 67 0a | arameters.invoked.when.creating. |
| 63360 | 20 20 20 20 20 20 74 68 65 20 61 6e 6f 6e 79 6d 6f 75 73 20 73 74 72 75 63 74 2e 0a 20 20 20 20 | ......the.anonymous.struct...... |
| 63380 | 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 6b 65 65 70 20 74 | ..</p>.......<p>.......To.keep.t |
| 633a0 | 68 65 20 6c 61 6e 67 75 61 67 65 20 73 6d 61 6c 6c 20 61 6e 64 20 75 6e 69 66 6f 72 6d 2c 20 61 | he.language.small.and.uniform,.a |
| 633c0 | 6c 6c 20 61 67 67 72 65 67 61 74 65 20 74 79 70 65 73 20 69 6e 20 5a 69 67 20 61 72 65 20 61 6e | ll.aggregate.types.in.Zig.are.an |
| 633e0 | 6f 6e 79 6d 6f 75 73 2e 20 54 6f 20 67 69 76 65 20 61 20 74 79 70 65 0a 20 20 20 20 20 20 61 20 | onymous..To.give.a.type.......a. |
| 63400 | 6e 61 6d 65 2c 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 | name,.we.assign.it.to.a.constant |
| 63420 | 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | :.......</p>.......<pre><code.cl |
| 63440 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | ass="zig"><span.class="tok-kw">c |
| 63460 | 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 6c 61 73 73 3d 22 | onst</span>.Node.=.<span.class=" |
| 63480 | 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6e 65 78 74 | tok-kw">struct</span>.{.....next |
| 634a0 | 3a 20 2a 4e 6f 64 65 2c 0a 20 20 20 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 | :.*Node,.....name:.[]<span.class |
| 634c0 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 3c 2f 63 6f 64 65 3e | ="tok-type">u8</span>,.};</code> |
| 634e0 | 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 77 6f 72 6b | </pre>.......<p>.......This.work |
| 63500 | 73 20 62 65 63 61 75 73 65 20 61 6c 6c 20 74 6f 70 20 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 | s.because.all.top.level.declarat |
| 63520 | 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 2c 20 61 6e 64 20 | ions.are.order-independent,.and. |
| 63540 | 61 73 20 6c 6f 6e 67 20 61 73 20 74 68 65 72 65 20 69 73 6e 27 74 0a 20 20 20 20 20 20 61 6e 20 | as.long.as.there.isn't.......an. |
| 63560 | 61 63 74 75 61 6c 20 69 6e 66 69 6e 69 74 65 20 72 65 67 72 65 73 73 69 6f 6e 2c 20 76 61 6c 75 | actual.infinite.regression,.valu |
| 63580 | 65 73 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 64 69 72 65 | es.can.refer.to.themselves,.dire |
| 635a0 | 63 74 6c 79 20 6f 72 20 69 6e 64 69 72 65 63 74 6c 79 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 | ctly.or.indirectly..In.this.case |
| 635c0 | 2c 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 4e 6f 64 65 3c 2f | ,.......<code.class="zig">Node</ |
| 635e0 | 63 6f 64 65 3e 20 72 65 66 65 72 73 20 74 6f 20 69 74 73 65 6c 66 20 61 73 20 61 20 70 6f 69 6e | code>.refers.to.itself.as.a.poin |
| 63600 | 74 65 72 2c 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 61 63 74 75 61 6c 6c 79 20 61 6e 20 69 6e | ter,.which.is.not.actually.an.in |
| 63620 | 66 69 6e 69 74 65 20 72 65 67 72 65 73 73 69 6f 6e 2c 20 73 6f 0a 20 20 20 20 20 20 69 74 20 77 | finite.regression,.so.......it.w |
| 63640 | 6f 72 6b 73 20 66 69 6e 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 | orks.fine........</p>........... |
| 63660 | 20 20 20 3c 68 32 20 69 64 3d 22 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 66 2d 69 6e 2d | ...<h2.id="Case-Study-printf-in- |
| 63680 | 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 75 64 79 2d 70 72 | Zig"><a.href="#toc-Case-Study-pr |
| 636a0 | 69 6e 74 66 2d 69 6e 2d 5a 69 67 22 3e 43 61 73 65 20 53 74 75 64 79 3a 20 70 72 69 6e 74 66 20 | intf-in-Zig">Case.Study:.printf. |
| 636c0 | 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 65 66 3d 22 | in.Zig</a>.<a.class="hdr".href=" |
| 636e0 | 23 43 61 73 65 2d 53 74 75 64 79 2d 70 72 69 6e 74 66 2d 69 6e 2d 5a 69 67 22 3e c2 a7 3c 2f 61 | #Case-Study-printf-in-Zig">..</a |
| 63700 | 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 75 74 74 69 6e 67 20 | ></h2>........<p>.......Putting. |
| 63720 | 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 65 65 20 | all.of.this.together,.let's.see. |
| 63740 | 68 6f 77 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 70 72 69 6e 74 66 3c 2f 63 6f | how.<code.class="zig">printf</co |
| 63760 | 64 65 3e 20 77 6f 72 6b 73 20 69 6e 20 5a 69 67 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 | de>.works.in.Zig........</p>.... |
| 63780 | 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 72 69 6e 74 66 2e 7a 69 67 3c 2f 70 | ...<p.class="file">printf.zig</p |
| 637a0 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ><pre><code.class="zig"><span.cl |
| 637c0 | 61 73 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 61 72 6e 20 3d | ass="tok-kw">const</span>.warn.= |
| 637e0 | 20 3c 73 70 61 6e 20 63 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 |
| 63800 | 72 74 3c 2f 73 70 61 6e 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"> |
| 63820 | 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 77 61 | "std"</span>).debug.wa |
| 63840 | 72 6e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c | rn;..<span.class="tok-kw">const< |
| 63860 | 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | /span>.a_number:.<span.class="to |
| 63880 | 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 |
| 638a0 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e | ="tok-number">1234</span>;.<span |
| 638c0 | 20 63 6c 61 73 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 | .class="tok-kw">const</span>.a_s |
| 638e0 | 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 71 | tring.=.<span.class="tok-str">&q |
| 63900 | 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 | uot;foobar"</span>;..<span. |
| 63920 | 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. |
| 63940 | 63 6c 61 73 73 3d 22 74 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 |
| 63960 | 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 |
| 63980 | 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>.{ |
| 639a0 | 0a 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e | .....warn(<span.class="tok-str"> |
| 639c0 | 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 7d 27 20 68 65 72 | "here.is.a.string:.'{}'.her |
| 639e0 | 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e | e.is.a.number:.{}\n"</span> |
| 63a00 | 2c 20 2e 7b 61 5f 73 74 72 69 6e 67 2c 20 61 5f 6e 75 6d 62 65 72 7d 29 3b 0a 7d 3c 2f 63 6f 64 | ,..{a_string,.a_number});.}</cod |
| 63a20 | 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 | e></pre><pre><code.class="shell" |
| 63a40 | 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 70 72 69 6e 74 66 2e 7a 69 67 0a 24 20 2e 2f | >$.zig.build-exe.printf.zig.$../ |
| 63a60 | 70 72 69 6e 74 66 0a 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 66 6f 6f 62 61 72 | printf.here.is.a.string:.'foobar |
| 63a80 | 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 31 32 33 34 0a 3c 2f 63 6f 64 65 3e | '.here.is.a.number:.1234.</code> |
| 63aa0 | 3c 2f 70 72 65 3e 0a 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4c 65 74 27 73 20 63 | </pre>.........<p>.......Let's.c |
| 63ac0 | 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 6f 6e 20 6f 66 20 | rack.open.the.implementation.of. |
| 63ae0 | 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 0a 20 20 20 20 20 | this.and.see.how.it.works:...... |
| 63b00 | 20 3c 2f 70 3e 0a 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 7a | .</p>........<pre><code.class="z |
| 63b20 | 69 67 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 | ig"><span.class="tok-comment">// |
| 63b40 | 2f 20 43 61 6c 6c 73 20 70 72 69 6e 74 20 61 6e 64 20 74 68 65 6e 20 66 6c 75 73 68 65 73 20 74 | /.Calls.print.and.then.flushes.t |
| 63b60 | 68 65 20 62 75 66 66 65 72 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | he.buffer.</span>.<span.class="t |
| 63b80 | 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 |
| 63ba0 | 6f 6b 2d 6b 77 22 3e 66 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 |
| 63bc0 | 6b 2d 66 6e 22 3e 70 72 69 6e 74 66 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 4f 75 74 53 74 | k-fn">printf</span>(self:.*OutSt |
| 63be0 | 72 65 61 6d 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 | ream,.<span.class="tok-kw">compt |
| 63c00 | 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 6f 72 6d 61 74 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 | ime</span>.format:.[]<span.class |
| 63c20 | 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 |
| 63c40 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 73 3a 20 3c | ss="tok-type">u8</span>,.args:.< |
| 63c60 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 | span.class="tok-kw">var</span>). |
| 63c80 | 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< |
| 63ca0 | 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 |
| 63cc0 | 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | id</span>.{.....<span.class="tok |
| 63ce0 | 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 74 61 74 65 20 3d 20 3c 73 70 61 6e 20 | -kw">const</span>.State.=.<span. |
| 63d00 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | class="tok-kw">enum</span>.{.... |
| 63d20 | 20 20 20 20 20 53 74 61 72 74 2c 0a 20 20 20 20 20 20 20 20 4f 70 65 6e 42 72 61 63 65 2c 0a 20 | .....Start,.........OpenBrace,.. |
| 63d40 | 20 20 20 20 20 20 20 43 6c 6f 73 65 42 72 61 63 65 2c 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 3c | .......CloseBrace,.....};......< |
| 63d60 | 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 |
| 63d80 | 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 | an>.<span.class="tok-kw">var</sp |
| 63da0 | 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 3d 22 74 6f | an>.start_index:.<span.class="to |
| 63dc0 | 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 |
| 63de0 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 | ss="tok-number">0</span>;.....<s |
| 63e00 | 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 |
| 63e20 | 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 |
| 63e40 | 6e 3e 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 53 74 61 72 74 3b 0a 20 20 20 20 3c 73 70 61 | n>.state.=.State.Start;.....<spa |
| 63e60 | 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> |
| 63e80 | 20 3c 73 70 61 6e 20 63 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> |
| 63ea0 | 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 |
| 63ec0 | 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 |
| 63ee0 | 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 | k-number">0</span>;......<span.c |
| 63f00 | 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 61 | lass="tok-kw">inline</span>.<spa |
| 63f20 | 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 66 6f 72 | n.class="tok-kw">for</span>.(for |
| 63f40 | 6d 61 74 29 20 7c 63 2c 20 69 7c 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | mat).|c,.i|.{.........<span.clas |
| 63f60 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 73 74 61 74 65 29 | s="tok-kw">switch</span>.(state) |
| 63f80 | 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 74 61 74 65 2e 53 74 61 72 74 20 3d 26 67 74 3b | .{.............State.Start.=> |
| 63fa0 | 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 |
| 63fc0 | 61 6e 3e 20 28 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | an>.(c).{.................<span. |
| 63fe0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7b 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b | class="tok-str">'{'</span>.=> |
| 64000 | 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | .{.....................<span.cla |
| 64020 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 72 74 5f 69 6e 64 | ss="tok-kw">if</span>.(start_ind |
| 64040 | 65 78 20 26 6c 74 3b 20 69 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ex.<.i).<span.class="tok-kw"> |
| 64060 | 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f 72 6d 61 74 5b 73 74 61 | try</span>.self.write(format[sta |
| 64080 | 72 74 5f 69 6e 64 65 78 2e 2e 69 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rt_index..i]);.................. |
| 640a0 | 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 4f 70 65 6e 42 72 61 63 65 3b 0a 20 20 20 20 | ...state.=.State.OpenBrace;..... |
| 640c0 | 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c | ............},.................< |
| 640e0 | 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 3e 20 | span.class="tok-str">'}'</span>. |
| 64100 | 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 | =>.{.....................<spa |
| 64120 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 72 | n.class="tok-kw">if</span>.(star |
| 64140 | 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 69 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | t_index.<.i).<span.class="tok |
| 64160 | 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f 72 6d 61 | -kw">try</span>.self.write(forma |
| 64180 | 74 5b 73 74 61 72 74 5f 69 6e 64 65 78 2e 2e 69 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 | t[start_index..i]);............. |
| 641a0 | 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 43 6c 6f 73 65 42 72 61 63 65 | ........state.=.State.CloseBrace |
| 641c0 | 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 | ;.................},............ |
| 641e0 | 20 20 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</ |
| 64200 | 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 | span>.=>.{},.............},.. |
| 64220 | 20 20 20 20 20 20 20 20 20 20 20 53 74 61 74 65 2e 4f 70 65 6e 42 72 61 63 65 20 3d 26 67 74 3b | ...........State.OpenBrace.=> |
| 64240 | 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 |
| 64260 | 61 6e 3e 20 28 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | an>.(c).{.................<span. |
| 64280 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7b 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b | class="tok-str">'{'</span>.=> |
| 642a0 | 20 7b 0a 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 | .{.....................state.=.S |
| 642c0 | 74 61 74 65 2e 53 74 61 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tate.Start;..................... |
| 642e0 | 73 74 61 72 74 5f 69 6e 64 65 78 20 3d 20 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | start_index.=.i;................ |
| 64300 | 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | .},.................<span.class= |
| 64320 | 22 74 6f 6b 2d 73 74 72 22 3e 27 7d 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 0a 20 20 20 | "tok-str">'}'</span>.=>.{.... |
| 64340 | 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 |
| 64360 | 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 56 61 6c 75 65 | k-kw">try</span>.self.printValue |
| 64380 | 28 61 72 67 73 5b 6e 65 78 74 5f 61 72 67 5d 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (args[next_arg]);............... |
| 643a0 | 20 20 20 20 20 20 6e 65 78 74 5f 61 72 67 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ......next_arg.+=.<span.class="t |
| 643c0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 | ok-number">1</span>;............ |
| 643e0 | 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 2e 53 74 61 72 74 3b 0a 20 20 | .........state.=.State.Start;... |
| 64400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 5f 69 6e 64 65 78 20 3d 20 | ..................start_index.=. |
| 64420 | 69 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f | i.+.<span.class="tok-number">1</ |
| 64440 | 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 | span>;.................},....... |
| 64460 | 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 | ..........<span.class="tok-kw">e |
| 64480 | 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | lse</span>.=>.<span.class="to |
| 644a0 | 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 | k-builtin">@compileError</span>( |
| 644c0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 6e 6b 6e | <span.class="tok-str">"Unkn |
| 644e0 | 6f 77 6e 20 66 6f 72 6d 61 74 20 63 68 61 72 61 63 74 65 72 3a 20 26 71 75 6f 74 3b 3c 2f 73 70 | own.format.character:."</sp |
| 64500 | 61 6e 3e 20 2b 2b 20 63 29 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 | an>.++.c),.............},....... |
| 64520 | 20 20 20 20 20 20 53 74 61 74 65 2e 43 6c 6f 73 65 42 72 61 63 65 20 3d 26 67 74 3b 20 3c 73 70 | ......State.CloseBrace.=>.<sp |
| 64540 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 | an.class="tok-kw">switch</span>. |
| 64560 | 28 63 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | (c).{.................<span.clas |
| 64580 | 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 7d 27 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 7b 0a 20 | s="tok-str">'}'</span>.=>.{.. |
| 645a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 53 74 61 74 65 | ...................state.=.State |
| 645c0 | 2e 53 74 61 72 74 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 | .Start;.....................star |
| 645e0 | 74 5f 69 6e 64 65 78 20 3d 20 69 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a | t_index.=.i;.................},. |
| 64600 | 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 |
| 64620 | 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 | -kw">else</span>.=>.<span.cla |
| 64640 | 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f | ss="tok-builtin">@compileError</ |
| 64660 | 73 70 61 6e 3e 28 3c 73 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 |
| 64680 | 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 6f 72 6d | t;Single.'}'.encountered.in.form |
| 646a0 | 61 74 20 73 74 72 69 6e 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2c 0a 20 20 20 20 20 20 20 | at.string"</span>),........ |
| 646c0 | 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 | .....},.........}.....}.....<spa |
| 646e0 | 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> |
| 64700 | 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | .{.........<span.class="tok-kw"> |
| 64720 | 69 66 3c 2f 73 70 61 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 | if</span>.(args.len.!=.next_arg) |
| 64740 | 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | .{.............<span.class="tok- |
| 64760 | 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 | builtin">@compileError</span>(<s |
| 64780 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 6e 75 73 65 64 | pan.class="tok-str">"Unused |
| 647a0 | 20 61 72 67 75 6d 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 | .arguments"</span>);....... |
| 647c0 | 20 20 7d 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | ..}.........<span.class="tok-kw" |
| 647e0 | 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 74 61 74 65 20 21 3d 20 53 74 61 74 65 2e 53 74 61 72 74 | >if</span>.(state.!=.State.Start |
| 64800 | 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ).{.............<span.class="tok |
| 64820 | 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c | -builtin">@compileError</span>(< |
| 64840 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 49 6e 63 6f 6d | span.class="tok-str">"Incom |
| 64860 | 70 6c 65 74 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 3a 20 26 71 75 6f 74 3b 3c 2f 73 70 61 | plete.format.string:."</spa |
| 64880 | 6e 3e 20 2b 2b 20 66 6f 72 6d 61 74 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 20 | n>.++.format);.........}.....}.. |
| 648a0 | 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 |
| 648c0 | 3e 20 28 73 74 61 72 74 5f 69 6e 64 65 78 20 26 6c 74 3b 20 66 6f 72 6d 61 74 2e 6c 65 6e 29 20 | >.(start_index.<.format.len). |
| 648e0 | 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 | {.........<span.class="tok-kw">t |
| 64900 | 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 66 6f 72 6d 61 74 5b 73 74 61 72 | ry</span>.self.write(format[star |
| 64920 | 74 5f 69 6e 64 65 78 2e 2e 66 6f 72 6d 61 74 2e 6c 65 6e 5d 29 3b 0a 20 20 20 20 7d 0a 20 20 20 | t_index..format.len]);.....}.... |
| 64940 | 20 3c 73 70 61 6e 20 63 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> |
| 64960 | 20 73 65 6c 66 2e 66 6c 75 73 68 28 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 | .self.flush();.}</code></pre>... |
| 64980 | 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 20 6f 66 | ....<p>.......This.is.a.proof.of |
| 649a0 | 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 61 63 74 | .concept.implementation;.the.act |
| 649c0 | 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 6c 69 62 | ual.function.in.the.standard.lib |
| 649e0 | 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 67 20 63 | rary.has.more.......formatting.c |
| 64a00 | 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 20 3c 70 | apabilities........</p>.......<p |
| 64a20 | 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 20 68 61 | >.......Note.that.this.is.not.ha |
| 64a40 | 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 72 3b 20 | rd-coded.into.the.Zig.compiler;. |
| 64a60 | 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 73 74 61 | this.is.userland.code.in.the.sta |
| 64a80 | 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 20 20 20 | ndard.library........</p>....... |
| 64aa0 | 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 69 73 20 | <p>.......When.this.function.is. |
| 64ac0 | 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 65 20 61 | analyzed.from.our.example.code.a |
| 64ae0 | 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 20 74 68 | bove,.Zig.partially.evaluates.th |
| 64b00 | 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 66 75 6e | e.function.......and.emits.a.fun |
| 64b20 | 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 65 20 74 | ction.that.actually.looks.like.t |
| 64b40 | 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 | his:.......</p>.......<pre><code |
| 64b60 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| 64b80 | 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | ">pub</span>.<span.class="tok-kw |
| 64ba0 | 22 3e 66 6e 3c 2f 73 70 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" |
| 64bc0 | 3e 70 72 69 6e 74 66 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 4f 75 74 53 74 72 65 61 6d 2c | >printf</span>(self:.*OutStream, |
| 64be0 | 20 61 72 67 30 3a 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 | .arg0:.<span.class="tok-type">i3 |
| 64c00 | 32 3c 2f 73 70 61 6e 3e 2c 20 61 72 67 31 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | 2</span>,.arg1:.[]<span.class="t |
| 64c20 | 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= |
| 64c40 | 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 | "tok-type">u8</span>).!<span.cla |
| 64c60 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | ss="tok-type">void</span>.{..... |
| 64c80 | 3c 73 70 61 6e 20 63 6c 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>. |
| 64ca0 | 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 22 | self.write(<span.class="tok-str" |
| 64cc0 | 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 3b | >"here.is.a.string:.'" |
| 64ce0 | 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | </span>);.....<span.class="tok-k |
| 64d00 | 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 56 61 6c 75 65 28 61 72 | w">try</span>.self.printValue(ar |
| 64d20 | 67 30 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 | g0);.....<span.class="tok-kw">tr |
| 64d40 | 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d | y</span>.self.write(<span.class= |
| 64d60 | 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 | "tok-str">"'.here.is.a.numb |
| 64d80 | 65 72 3a 20 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | er:."</span>);.....<span.cl |
| 64da0 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 | ass="tok-kw">try</span>.self.pri |
| 64dc0 | 6e 74 56 61 6c 75 65 28 61 72 67 31 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ntValue(arg1);.....<span.class=" |
| 64de0 | 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 77 72 69 74 65 28 3c 73 | tok-kw">try</span>.self.write(<s |
| 64e00 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 5c 6e 26 71 75 6f | pan.class="tok-str">"\n&quo |
| 64e20 | 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | t;</span>);.....<span.class="tok |
| 64e40 | 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 0a 7d 3c | -kw">try</span>.self.flush();.}< |
| 64e60 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f | /code></pre>.......<p>.......<co |
| 64e80 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 70 72 69 6e 74 56 61 6c 75 65 3c 2f 63 6f 64 65 3e | de.class="zig">printValue</code> |
| 64ea0 | 20 69 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 70 61 72 61 | .is.a.function.that.takes.a.para |
| 64ec0 | 6d 65 74 65 72 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 | meter.of.any.type,.and.does.diff |
| 64ee0 | 65 72 65 6e 74 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 | erent.things.depending.......on. |
| 64f00 | 74 68 65 20 74 79 70 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e | the.type:.......</p>.......<pre> |
| 64f20 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 64f40 | 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 |
| 64f60 | 6f 6b 2d 6b 77 22 3e 66 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 |
| 64f80 | 6b 2d 66 6e 22 3e 70 72 69 6e 74 56 61 6c 75 65 3c 2f 73 70 61 6e 3e 28 73 65 6c 66 3a 20 2a 4f | k-fn">printValue</span>(self:.*O |
| 64fa0 | 75 74 53 74 72 65 61 6d 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | utStream,.value:.<span.class="to |
| 64fc0 | 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | k-kw">var</span>).!<span.class=" |
| 64fe0 | 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 | tok-type">void</span>.{.....<spa |
| 65000 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 20 28 | n.class="tok-kw">switch</span>.( |
| 65020 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 | <span.class="tok-builtin">@typeI |
| 65040 | 6e 66 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | nfo</span>(<span.class="tok-buil |
| 65060 | 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 29 29 20 7b 0a 20 | tin">@TypeOf</span>(value))).{.. |
| 65080 | 20 20 20 20 20 20 20 2e 49 6e 74 20 3d 26 67 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ........Int.=>.{............. |
| 650a0 | 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 |
| 650c0 | 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 49 6e 74 28 54 2c 20 76 61 6c 75 65 29 3b 0a 20 20 20 20 | n>.self.printInt(T,.value);..... |
| 650e0 | 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 2e 46 6c 6f 61 74 20 3d 26 67 74 3b 20 7b 0a 20 20 | ....},..........Float.=>.{... |
| 65100 | 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 72 | ..........<span.class="tok-kw">r |
| 65120 | 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 73 65 6c 66 2e 70 72 69 6e 74 46 6c 6f 61 74 28 54 2c 20 | eturn</span>.self.printFloat(T,. |
| 65140 | 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e | value);.........},.........<span |
| 65160 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3d 26 67 74 | .class="tok-kw">else</span>.=> |
| 65180 | 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ;.{.............<span.class="tok |
| 651a0 | 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 3c | -builtin">@compileError</span>(< |
| 651c0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 55 6e 61 62 6c | span.class="tok-str">"Unabl |
| 651e0 | 65 20 74 6f 20 70 72 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 | e.to.print.type.'"</span>.+ |
| 65200 | 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 79 70 | +.<span.class="tok-builtin">@typ |
| 65220 | 65 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 54 29 20 2b 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | eName</span>(T).++.<span.class=" |
| 65240 | 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 27 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a | tok-str">"'"</span>);. |
| 65260 | 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a | ........},.....}.}</code></pre>. |
| 65280 | 20 20 20 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 | ......<p>.......And.now,.what.ha |
| 652a0 | 70 70 65 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 | ppens.if.we.give.too.many.argume |
| 652c0 | 6e 74 73 20 74 6f 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 70 72 69 6e 74 66 3c | nts.to.<code.class="zig">printf< |
| 652e0 | 2f 63 6f 64 65 3e 3f 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 | /code>?.......</p>.......<p.clas |
| 65300 | 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 | s="file">test.zig</p><pre><code. |
| 65320 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | class="zig"><span.class="tok-kw" |
| 65340 | 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 61 72 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | >const</span>.warn.=.<span.class |
| 65360 | 3d 22 74 6f 6b 2d 62 75 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 |
| 65380 | 70 61 6e 20 63 6c 61 73 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">"std&qu |
| 653a0 | 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 77 61 72 6e 3b 0a 0a 3c 73 70 61 6e 20 63 | ot;</span>).debug.warn;..<span.c |
| 653c0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d | lass="tok-kw">const</span>.a_num |
| 653e0 | 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c | ber:.<span.class="tok-type">i32< |
| 65400 | 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 |
| 65420 | 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ">1234</span>;.<span.class="tok- |
| 65440 | 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 73 74 72 69 6e 67 20 3d 20 3c 73 70 61 | kw">const</span>.a_string.=.<spa |
| 65460 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 | n.class="tok-str">"foobar&q |
| 65480 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | uot;</span>;..<span.class="tok-k |
| 654a0 | 77 22 3e 74 65 73 74 3c 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- |
| 654c0 | 73 74 72 22 3e 26 71 75 6f 74 3b 70 72 69 6e 74 66 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d | str">"printf.too.many.argum |
| 654e0 | 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 77 61 72 6e 28 3c 73 70 | ents"</span>.{.....warn(<sp |
| 65500 | 61 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 | an.class="tok-str">"here.is |
| 65520 | 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 7d 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 | .a.string:.'{}'.here.is.a.number |
| 65540 | 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 0a 20 20 20 20 20 20 20 20 | :.{}\n"</span>,..{......... |
| 65560 | 61 5f 73 74 72 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 61 5f 6e 75 6d 62 65 72 2c 0a 20 20 20 20 | a_string,.........a_number,..... |
| 65580 | 20 20 20 20 61 5f 6e 75 6d 62 65 72 2c 0a 20 20 20 20 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f | ....a_number,.....});.}</code></ |
| 655a0 | 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a | pre><pre><code.class="shell">$.z |
| 655c0 | 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 | ig.test.test.zig.<span.class="t0 |
| 655e0 | 5f 31 22 3e 2e 2f 6c 69 62 2f 73 74 64 2f 66 6d 74 2e 7a 69 67 3a 33 30 32 3a 31 33 3a 20 3c 2f | _1">./lib/std/fmt.zig:302:13:.</ |
| 65600 | 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:. |
| 65620 | 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 55 6e 75 73 65 64 | </span><span.class="t0_1">Unused |
| 65640 | 20 61 72 67 75 6d 65 6e 74 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 40 63 | .arguments</span>.............@c |
| 65660 | 6f 6d 70 69 6c 65 45 72 72 6f 72 28 26 71 75 6f 74 3b 55 6e 75 73 65 64 20 61 72 67 75 6d 65 6e | ompileError("Unused.argumen |
| 65680 | 74 73 26 71 75 6f 74 3b 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | ts");.............<span.cla |
| 656a0 | 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ss="t32_1">^</span>.<span.class= |
| 656c0 | 22 74 30 5f 31 22 3e 2e 2f 6c 69 62 2f 73 74 64 2f 69 6f 2f 6f 75 74 5f 73 74 72 65 61 6d 2e 7a | "t0_1">./lib/std/io/out_stream.z |
| 656e0 | 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 61 73 73 3d 22 74 33 | ig:28:34:.</span><span.class="t3 |
| 65700 | 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 |
| 65720 | 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 0a 20 20 20 | 0_1">called.from.here</span>.... |
| 65740 | 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 6f 72 6d 61 74 28 73 | .........return.std.fmt.format(s |
| 65760 | 65 6c 66 2c 20 66 6f 72 6d 61 74 2c 20 61 72 67 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 | elf,.format,.args);............. |
| 65780 | 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 |
| 657a0 | 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 74 | ="t32_1">^</span>.<span.class="t |
| 657c0 | 30 5f 31 22 3e 2e 2f 6c 69 62 2f 73 74 64 2f 64 65 62 75 67 2e 7a 69 67 3a 36 35 3a 32 35 3a 20 | 0_1">./lib/std/debug.zig:65:25:. |
| 657e0 | 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a | </span><span.class="t36_1">note: |
| 65800 | 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 65 | .</span><span.class="t0_1">calle |
| 65820 | 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 6e 6f 61 73 79 6e 63 20 73 | d.from.here</span>.....noasync.s |
| 65840 | 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 20 72 65 74 | tderr.print(fmt,.args).catch.ret |
| 65860 | 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 | urn;.........................<sp |
| 65880 | 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 | an.class="t32_1">^</span>.<span. |
| 658a0 | 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 |
| 658c0 | 69 67 3a 37 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f | ig:7:9:.</span><span.class="t36_ |
| 658e0 | 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_ |
| 65900 | 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 0a 20 20 20 20 77 | 1">called.from.here</span>.....w |
| 65920 | 61 72 6e 28 26 71 75 6f 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 7d 27 | arn("here.is.a.string:.'{}' |
| 65940 | 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 2c 20 2e | .here.is.a.number:.{}\n",.. |
| 65960 | 7b 0a 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">^< |
| 65980 | 2f 73 70 61 6e 3e 0a 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 | /span>.<span.class="t0_1">./docg |
| 659a0 | 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 33 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 | en_tmp/test.zig:6:34:.</span><sp |
| 659c0 | 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 |
| 659e0 | 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 |
| 65a00 | 65 3c 2f 73 70 61 6e 3e 0a 74 65 73 74 20 26 71 75 6f 74 3b 70 72 69 6e 74 66 20 74 6f 6f 20 6d | e</span>.test."printf.too.m |
| 65a20 | 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 26 71 75 6f 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 | any.arguments".{........... |
| 65a40 | 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 |
| 65a60 | 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ss="t32_1">^</span>.<span.class= |
| 65a80 | 22 74 30 5f 31 22 3e 2e 2f 6c 69 62 2f 73 74 64 2f 69 6f 2f 6f 75 74 5f 73 74 72 65 61 6d 2e 7a | "t0_1">./lib/std/io/out_stream.z |
| 65aa0 | 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 61 73 73 3d 22 74 33 | ig:28:34:.</span><span.class="t3 |
| 65ac0 | 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=" |
| 65ae0 | 74 30 5f 31 22 3e 65 78 70 65 63 74 65 64 20 74 79 70 65 20 27 73 74 64 2e 6f 73 2e 57 72 69 74 | t0_1">expected.type.'std.os.Writ |
| 65b00 | 65 45 72 72 6f 72 21 76 6f 69 64 27 2c 20 66 6f 75 6e 64 20 27 40 54 79 70 65 4f 66 28 73 74 64 | eError!void',.found.'@TypeOf(std |
| 65b20 | 2e 66 6d 74 2e 66 6f 72 6d 61 74 29 2e 52 65 74 75 72 6e 54 79 70 65 2e 45 72 72 6f 72 53 65 74 | .fmt.format).ReturnType.ErrorSet |
| 65b40 | 21 76 6f 69 64 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e | !void'</span>.............return |
| 65b60 | 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 20 61 72 | .std.fmt.format(self,.format,.ar |
| 65b80 | 67 73 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | gs);............................ |
| 65ba0 | 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 |
| 65bc0 | 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 6c 69 62 2f 73 74 64 2f | n>.<span.class="t0_1">./lib/std/ |
| 65be0 | 64 65 62 75 67 2e 7a 69 67 3a 36 35 3a 32 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c | debug.zig:65:25:.</span><span.cl |
| 65c00 | 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 |
| 65c20 | 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 |
| 65c40 | 61 6e 3e 0a 20 20 20 20 6e 6f 61 73 79 6e 63 20 73 74 64 65 72 72 2e 70 72 69 6e 74 28 66 6d 74 | an>.....noasync.stderr.print(fmt |
| 65c60 | 2c 20 61 72 67 73 29 20 63 61 74 63 68 20 72 65 74 75 72 6e 3b 0a 20 20 20 20 20 20 20 20 20 20 | ,.args).catch.return;........... |
| 65c80 | 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 |
| 65ca0 | 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f | ">^</span>.<span.class="t0_1">./ |
| 65cc0 | 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 37 3a 39 3a 20 3c 2f 73 70 61 6e 3e | docgen_tmp/test.zig:7:9:.</span> |
| 65ce0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e | <span.class="t36_1">note:.</span |
| 65d00 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 | ><span.class="t0_1">called.from. |
| 65d20 | 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 77 61 72 6e 28 26 71 75 6f 74 3b 68 65 72 65 20 | here</span>.....warn("here. |
| 65d40 | 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 7d 27 20 68 65 72 65 20 69 73 20 61 20 6e 75 6d 62 | is.a.string:.'{}'.here.is.a.numb |
| 65d60 | 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 2c 20 2e 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e | er:.{}\n",..{.........<span |
| 65d80 | 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c | .class="t32_1">^</span>.<span.cl |
| 65da0 | 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 |
| 65dc0 | 3a 36 3a 33 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 | :6:34:.</span><span.class="t36_1 |
| 65de0 | 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 | ">note:.</span><span.class="t0_1 |
| 65e00 | 22 3e 63 61 6c 6c 65 64 20 66 72 6f 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 74 65 73 74 20 26 | ">called.from.here</span>.test.& |
| 65e20 | 71 75 6f 74 3b 70 72 69 6e 74 66 20 74 6f 6f 20 6d 61 6e 79 20 61 72 67 75 6d 65 6e 74 73 26 71 | quot;printf.too.many.arguments&q |
| 65e40 | 75 6f 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | uot;.{.......................... |
| 65e60 | 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 |
| 65e80 | 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 6c 69 62 2f 73 74 | pan>.<span.class="t0_1">./lib/st |
| 65ea0 | 64 2f 69 6f 2f 6f 75 74 5f 73 74 72 65 61 6d 2e 7a 69 67 3a 32 38 3a 33 34 3a 20 3c 2f 73 70 61 | d/io/out_stream.zig:28:34:.</spa |
| 65ec0 | 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 |
| 65ee0 | 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 72 72 6f 72 20 73 65 74 20 | an><span.class="t0_1">error.set. |
| 65f00 | 27 40 54 79 70 65 4f 66 28 73 74 64 2e 66 6d 74 2e 66 6f 72 6d 61 74 29 2e 52 65 74 75 72 6e 54 | '@TypeOf(std.fmt.format).ReturnT |
| 65f20 | 79 70 65 2e 45 72 72 6f 72 53 65 74 27 20 63 61 6e 6e 6f 74 20 63 61 73 74 20 69 6e 74 6f 20 65 | ype.ErrorSet'.cannot.cast.into.e |
| 65f40 | 72 72 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 | rror.set.'std.os.WriteError'</sp |
| 65f60 | 61 6e 3e 0a 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 | an>.............return.std.fmt.f |
| 65f80 | 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 0a 20 20 20 20 20 | ormat(self,.format,.args);...... |
| 65fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 | ............................<spa |
| 65fc0 | 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 2f 63 6f 64 65 3e | n.class="t32_1">^</span>.</code> |
| 65fe0 | 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 67 69 76 65 | </pre>........<p>.......Zig.give |
| 66000 | 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 74 | s.programmers.the.tools.needed.t |
| 66020 | 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 65 | o.protect.themselves.against.the |
| 66040 | 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 20 | ir.own.mistakes........</p>..... |
| 66060 | 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 65 | ..<p>.......Zig.doesn't.care.whe |
| 66080 | 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 74 | ther.the.format.argument.is.a.st |
| 660a0 | 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 74 | ring.literal,.......only.that.it |
| 660c0 | 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 74 | .is.a.compile-time.known.value.t |
| 660e0 | 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 20 63 6c | hat.can.be.coerced.to.a.<code.cl |
| 66100 | 61 73 73 3d 22 7a 69 67 22 3e 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | ass="zig">[]<span.class="tok-kw" |
| 66120 | 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 |
| 66140 | 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 | ype">u8</span></code>:.......</p |
| 66160 | 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 70 72 69 6e 74 66 2e 7a | >.......<p.class="file">printf.z |
| 66180 | 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ig</p><pre><code.class="zig"><sp |
| 661a0 | 61 6e 20 63 6c 61 73 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 |
| 661c0 | 61 72 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 | arn.=.<span.class="tok-builtin"> |
| 661e0 | 40 69 6d 70 6f 72 74 3c 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- |
| 66200 | 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 | str">"std"</span>).deb |
| 66220 | 75 67 2e 77 61 72 6e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | ug.warn;..<span.class="tok-kw">c |
| 66240 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 5f 6e 75 6d 62 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | onst</span>.a_number:.<span.clas |
| 66260 | 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. |
| 66280 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a | class="tok-number">1234</span>;. |
| 662a0 | 3c 73 70 61 6e 20 63 6c 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 |
| 662c0 | 3e 20 61 5f 73 74 72 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 | >.a_string.=.<span.class="tok-st |
| 662e0 | 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 | r">"foobar"</span>;.<s |
| 66300 | 70 61 6e 20 63 6c 61 73 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>. |
| 66320 | 66 6d 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f | fmt.=.<span.class="tok-str">&quo |
| 66340 | 74 3b 68 65 72 65 20 69 73 20 61 20 73 74 72 69 6e 67 3a 20 27 7b 7d 27 20 68 65 72 65 20 69 73 | t;here.is.a.string:.'{}'.here.is |
| 66360 | 20 61 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c | .a.number:.{}\n"</span>;..< |
| 66380 | 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>.< |
| 663a0 | 73 70 61 6e 20 63 6c 61 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 |
| 663c0 | 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>() |
| 663e0 | 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 |
| 66400 | 61 6e 3e 20 7b 0a 20 20 20 20 77 61 72 6e 28 66 6d 74 2c 20 2e 7b 61 5f 73 74 72 69 6e 67 2c 20 | an>.{.....warn(fmt,..{a_string,. |
| 66420 | 61 5f 6e 75 6d 62 65 72 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c | a_number});.}</code></pre><pre>< |
| 66440 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 | code.class="shell">$.zig.build-e |
| 66460 | 78 65 20 70 72 69 6e 74 66 2e 7a 69 67 0a 24 20 2e 2f 70 72 69 6e 74 66 0a 68 65 72 65 20 69 73 | xe.printf.zig.$../printf.here.is |
| 66480 | 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 20 61 20 6e 75 | .a.string:.'foobar'.here.is.a.nu |
| 664a0 | 6d 62 65 72 3a 20 31 32 33 34 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 | mber:.1234.</code></pre>........ |
| 664c0 | 3c 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 | <p>.......This.works.fine....... |
| 664e0 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 64 6f 65 73 20 6e | .</p>.......<p>.......Zig.does.n |
| 66500 | 6f 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 | ot.special.case.string.formattin |
| 66520 | 67 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 | g.in.the.compiler.and.instead.ex |
| 66540 | 70 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 | poses.enough.power.to.accomplish |
| 66560 | 20 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 | .this.......task.in.userland..It |
| 66580 | 20 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 | .does.so.without.introducing.ano |
| 665a0 | 74 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 | ther.language.on.top.of.Zig,.suc |
| 665c0 | 68 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 | h.as.......a.macro.language.or.a |
| 665e0 | 20 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 | .preprocessor.language..It's.Zig |
| 66600 | 20 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 | .all.the.way.down........</p>... |
| 66620 | 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>. |
| 66640 | 3c 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 | <li><a.href="#inline-while">inli |
| 66660 | 6e 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 | ne.while</a></li>.<li><a.href="# |
| 66680 | 69 6e 6c 69 6e 65 2d 66 6f 72 22 3e 69 6e 6c 69 6e 65 20 66 6f 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a | inline-for">inline.for</a></li>. |
| 666a0 | 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 41 73 73 65 | </ul>...............<h1.id="Asse |
| 666c0 | 6d 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 | mbly"><a.href="#toc-Assembly">As |
| 666e0 | 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 | sembly</a>.<a.class="hdr".href=" |
| 66700 | 23 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 | #Assembly">..</a></h1>........<p |
| 66720 | 3e 0a 20 20 20 20 20 20 46 6f 72 20 73 6f 6d 65 20 75 73 65 20 63 61 73 65 73 2c 20 69 74 20 6d | >.......For.some.use.cases,.it.m |
| 66740 | 61 79 20 62 65 20 6e 65 63 65 73 73 61 72 79 20 74 6f 20 64 69 72 65 63 74 6c 79 20 63 6f 6e 74 | ay.be.necessary.to.directly.cont |
| 66760 | 72 6f 6c 20 74 68 65 20 6d 61 63 68 69 6e 65 20 63 6f 64 65 20 67 65 6e 65 72 61 74 65 64 0a 20 | rol.the.machine.code.generated.. |
| 66780 | 20 20 20 20 20 62 79 20 5a 69 67 20 70 72 6f 67 72 61 6d 73 2c 20 72 61 74 68 65 72 20 74 68 61 | .....by.Zig.programs,.rather.tha |
| 667a0 | 6e 20 72 65 6c 79 69 6e 67 20 6f 6e 20 5a 69 67 27 73 20 63 6f 64 65 20 67 65 6e 65 72 61 74 69 | n.relying.on.Zig's.code.generati |
| 667c0 | 6f 6e 2e 20 46 6f 72 20 74 68 65 73 65 20 63 61 73 65 73 2c 20 6f 6e 65 0a 20 20 20 20 20 20 63 | on..For.these.cases,.one.......c |
| 667e0 | 61 6e 20 75 73 65 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 2e 20 48 65 72 65 20 69 73 20 | an.use.inline.assembly..Here.is. |
| 66800 | 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 48 65 6c 6c 6f | an.example.of.implementing.Hello |
| 66820 | 2c 20 57 6f 72 6c 64 20 6f 6e 20 78 38 36 5f 36 34 20 4c 69 6e 75 78 0a 20 20 20 20 20 20 75 73 | ,.World.on.x86_64.Linux.......us |
| 66840 | 69 6e 67 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | ing.inline.assembly:.......</p>. |
| 66860 | 20 20 20 20 20 20 3c 70 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.class="file">test.zig</ |
| 66880 | 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | p><pre><code.class="zig"><span.c |
| 668a0 | 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 |
| 668c0 | 6c 61 73 73 3d 22 74 6f 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 |
| 668e0 | 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e | ass="tok-fn">main</span>().<span |
| 66900 | 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 |
| 66920 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | >.{.....<span.class="tok-kw">con |
| 66940 | 73 74 3c 2f 73 70 61 6e 3e 20 6d 73 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | st</span>.msg.=.<span.class="tok |
| 66960 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 20 77 6f 72 6c 64 5c 6e 26 71 75 6f 74 3b 3c | -str">"hello.world\n"< |
| 66980 | 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 73 79 73 63 61 6c 6c 33 28 53 59 53 5f 77 72 69 | /span>;....._.=.syscall3(SYS_wri |
| 669a0 | 74 65 2c 20 53 54 44 4f 55 54 5f 46 49 4c 45 4e 4f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | te,.STDOUT_FILENO,.<span.class=" |
| 669c0 | 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 6d 73 | tok-builtin">@ptrToInt</span>(ms |
| 669e0 | 67 29 2c 20 6d 73 67 2e 6c 65 6e 29 3b 0a 20 20 20 20 5f 20 3d 20 73 79 73 63 61 6c 6c 31 28 53 | g),.msg.len);....._.=.syscall1(S |
| 66a00 | 59 53 5f 65 78 69 74 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 | YS_exit,.<span.class="tok-number |
| 66a20 | 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ">0</span>);.....<span.class="to |
| 66a40 | 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 | k-kw">unreachable</span>;.}..<sp |
| 66a60 | 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 |
| 66a80 | 61 6e 20 63 6c 61 73 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 |
| 66aa0 | 59 53 5f 77 72 69 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | YS_write.=.<span.class="tok-numb |
| 66ac0 | 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | er">1</span>;.<span.class="tok-k |
| 66ae0 | 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 |
| 66b00 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 59 53 5f 65 78 69 74 20 3d 20 3c 73 70 61 6e | w">const</span>.SYS_exit.=.<span |
| 66b20 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 30 3c 2f 73 70 61 6e 3e 3b 0a 0a | .class="tok-number">60</span>;.. |
| 66b40 | 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>. |
| 66b60 | 3c 73 70 61 6e 20 63 6c 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 |
| 66b80 | 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 74 | >.STDOUT_FILENO.=.<span.class="t |
| 66ba0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 | ok-number">1</span>;..<span.clas |
| 66bc0 | 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 |
| 66be0 | 73 3d 22 74 6f 6b 2d 6b 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 |
| 66c00 | 3d 22 74 6f 6b 2d 66 6e 22 3e 73 79 73 63 61 6c 6c 31 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 | ="tok-fn">syscall1</span>(number |
| 66c20 | 3a 20 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</ |
| 66c40 | 73 70 61 6e 3e 2c 20 61 72 67 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | span>,.arg1:.<span.class="tok-ty |
| 66c60 | 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | pe">usize</span>).<span.class="t |
| 66c80 | 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 | ok-type">usize</span>.{.....<spa |
| 66ca0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c | n.class="tok-kw">return</span>.< |
| 66cc0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 6e 3e 20 3c | span.class="tok-kw">asm</span>.< |
| 66ce0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 | span.class="tok-kw">volatile</sp |
| 66d00 | 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 | an>.(<span.class="tok-str">" |
| 66d20 | 3b 73 79 73 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3a 20 | ;syscall"</span>.........:. |
| 66d40 | 5b 72 65 74 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f | [ret].<span.class="tok-str">&quo |
| 66d60 | 74 3b 3d 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 2d 26 67 74 3b 20 3c 73 70 | t;={rax}"</span>.(->.<sp |
| 66d80 | 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> |
| 66da0 | 29 0a 20 20 20 20 20 20 20 20 3a 20 5b 6e 75 6d 62 65 72 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ).........:.[number].<span.class |
| 66dc0 | 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 | ="tok-str">"{rax}"</sp |
| 66de0 | 61 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 0a 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 31 5d 20 3c | an>.(number),...........[arg1].< |
| 66e00 | 73 70 61 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 | span.class="tok-str">"{rdi} |
| 66e20 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 0a 20 20 20 20 20 20 20 20 3a 20 3c | "</span>.(arg1).........:.< |
| 66e40 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 63 78 26 71 | span.class="tok-str">"rcx&q |
| 66e60 | 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 |
| 66e80 | 72 22 3e 26 71 75 6f 74 3b 72 31 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 29 3b | r">"r11"</span>.....); |
| 66ea0 | 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 | .}..<span.class="tok-kw">pub</sp |
| 66ec0 | 61 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 |
| 66ee0 | 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 79 73 63 61 6c 6c 33 | n>.<span.class="tok-fn">syscall3 |
| 66f00 | 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 6b | </span>(number:.<span.class="tok |
| 66f20 | 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 3a 20 3c 73 70 61 6e | -type">usize</span>,.arg1:.<span |
| 66f40 | 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>,. |
| 66f60 | 61 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 | arg2:.<span.class="tok-type">usi |
| 66f80 | 7a 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 | ze</span>,.arg3:.<span.class="to |
| 66fa0 | 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 | k-type">usize</span>).<span.clas |
| 66fc0 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | s="tok-type">usize</span>.{..... |
| 66fe0 | 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 |
| 67000 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d 3c 2f 73 70 61 | n>.<span.class="tok-kw">asm</spa |
| 67020 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 | n>.<span.class="tok-kw">volatile |
| 67040 | 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 73 74 72 22 3e 26 | </span>.(<span.class="tok-str">& |
| 67060 | 71 75 6f 74 3b 73 79 73 63 61 6c 6c 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 | quot;syscall"</span>....... |
| 67080 | 20 20 3a 20 5b 72 65 74 5d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e | ..:.[ret].<span.class="tok-str"> |
| 670a0 | 26 71 75 6f 74 3b 3d 7b 72 61 78 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 2d 26 67 74 3b | "={rax}"</span>.(-> |
| 670c0 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 | .<span.class="tok-type">usize</s |
| 670e0 | 70 61 6e 3e 29 0a 20 20 20 20 20 20 20 20 3a 20 5b 6e 75 6d 62 65 72 5d 20 3c 73 70 61 6e 20 63 | pan>).........:.[number].<span.c |
| 67100 | 6c 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 | lass="tok-str">"{rax}" |
| 67120 | 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 0a 20 20 20 20 20 20 20 20 20 20 5b 61 72 67 | </span>.(number),...........[arg |
| 67140 | 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">"{ |
| 67160 | 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 0a 20 20 20 20 20 20 | rdi}"</span>.(arg1),....... |
| 67180 | 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 22 | ....[arg2].<span.class="tok-str" |
| 671a0 | 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 29 | >"{rsi}"</span>.(arg2) |
| 671c0 | 2c 0a 20 20 20 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 | ,...........[arg3].<span.class=" |
| 671e0 | 74 6f 6b 2d 73 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 | tok-str">"{rdx}"</span |
| 67200 | 3e 20 28 61 72 67 33 29 0a 20 20 20 20 20 20 20 20 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | >.(arg3).........:.<span.class=" |
| 67220 | 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 63 78 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c | tok-str">"rcx"</span>, |
| 67240 | 20 3c 73 70 61 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 31 31 | .<span.class="tok-str">"r11 |
| 67260 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 | "</span>.....);.}</code></p |
| 67280 | 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 | re><pre><code.class="shell">$.zi |
| 672a0 | 67 20 62 75 69 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 | g.build-exe.test.zig.-target.x86 |
| 672c0 | 5f 36 34 2d 6c 69 6e 75 78 0a 24 20 2e 2f 74 65 73 74 0a 68 65 6c 6c 6f 20 77 6f 72 6c 64 0a 3c | _64-linux.$../test.hello.world.< |
| 672e0 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 44 69 | /code></pre>........<p>.......Di |
| 67300 | 73 73 65 63 74 69 6e 67 20 74 68 65 20 73 79 6e 74 61 78 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | ssecting.the.syntax:.......</p>. |
| 67320 | 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ......<pre><code.class="zig"><sp |
| 67340 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 6c 69 6e 65 | an.class="tok-comment">//.Inline |
| 67360 | 20 61 73 73 65 6d 62 6c 79 20 69 73 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 68 69 63 68 | .assembly.is.an.expression.which |
| 67380 | 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 | .returns.a.value.</span>.<span.c |
| 673a0 | 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 60 61 73 6d 60 20 | lass="tok-comment">//.the.`asm`. |
| 673c0 | 6b 65 79 77 6f 72 64 20 62 65 67 69 6e 73 20 74 68 65 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f | keyword.begins.the.expression.</ |
| 673e0 | 73 70 61 6e 3e 0a 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 | span>._.=.<span.class="tok-kw">a |
| 67400 | 73 6d 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 | sm</span>.<span.class="tok-comme |
| 67420 | 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 6e 61 6c | nt">//.`volatile`.is.an.optional |
| 67440 | 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 3c 2f 73 | .modifier.that.tells.Zig.this</s |
| 67460 | 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f | pan>.<span.class="tok-comment">/ |
| 67480 | 2f 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 68 61 73 | /.inline.assembly.expression.has |
| 674a0 | 20 73 69 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 0a 3c 73 | .side-effects..Without</span>.<s |
| 674c0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 60 76 6f 6c 61 | pan.class="tok-comment">//.`vola |
| 674e0 | 74 69 6c 65 60 2c 20 5a 69 67 20 69 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 64 65 6c 65 74 65 20 | tile`,.Zig.is.allowed.to.delete. |
| 67500 | 74 68 65 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e | the.inline.assembly</span>.<span |
| 67520 | 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 64 65 20 69 66 20 | .class="tok-comment">//.code.if. |
| 67540 | 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 75 6e 75 73 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 | the.result.is.unused.</span>.<sp |
| 67560 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e | an.class="tok-kw">volatile</span |
| 67580 | 3e 20 28 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f | >.(.<span.class="tok-comment">// |
| 675a0 | 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 77 68 69 63 68 | .Next.is.a.comptime.string.which |
| 675c0 | 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 6e 3e 0a 3c 73 | .is.the.assembly.code.</span>.<s |
| 675e0 | 70 61 6e 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 | pan.class="tok-comment">//.Insid |
| 67600 | 65 20 74 68 69 73 20 73 74 72 69 6e 67 20 6f 6e 65 20 6d 61 79 20 75 73 65 20 60 25 5b 72 65 74 | e.this.string.one.may.use.`%[ret |
| 67620 | 5d 60 2c 20 60 25 5b 6e 75 6d 62 65 72 5d 60 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c | ]`,.`%[number]`,</span>.<span.cl |
| 67640 | 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6f 72 20 60 25 5b 61 72 67 31 5d | ass="tok-comment">//.or.`%[arg1] |
| 67660 | 60 20 77 68 65 72 65 20 61 20 72 65 67 69 73 74 65 72 20 69 73 20 65 78 70 65 63 74 65 64 2c 20 | `.where.a.register.is.expected,. |
| 67680 | 74 6f 20 73 70 65 63 69 66 79 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | to.specify</span>.<span.class="t |
| 676a0 | 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 72 65 67 69 73 74 65 72 20 74 68 61 74 | ok-comment">//.the.register.that |
| 676c0 | 20 5a 69 67 20 75 73 65 73 20 66 6f 72 20 74 68 65 20 61 72 67 75 6d 65 6e 74 20 6f 72 20 72 65 | .Zig.uses.for.the.argument.or.re |
| 676e0 | 74 75 72 6e 20 76 61 6c 75 65 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | turn.value,</span>.<span.class=" |
| 67700 | 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 66 20 74 68 65 20 72 65 67 69 73 74 65 72 20 | tok-comment">//.if.the.register. |
| 67720 | 63 6f 6e 73 74 72 61 69 6e 74 20 73 74 72 69 6e 67 73 20 61 72 65 20 75 73 65 64 2e 20 48 6f 77 | constraint.strings.are.used..How |
| 67740 | 65 76 65 72 20 69 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ever.in</span>.<span.class="tok- |
| 67760 | 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 65 2c 20 74 68 69 73 | comment">//.the.below.code,.this |
| 67780 | 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 25 60 20 63 61 6e 20 | .is.not.used..A.literal.`%`.can. |
| 677a0 | 62 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 | be</span>.<span.class="tok-comme |
| 677c0 | 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 77 | nt">//.obtained.by.escaping.it.w |
| 677e0 | 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 61 | ith.a.double.percent:.`%%`.</spa |
| 67800 | 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 | n>.<span.class="tok-comment">//. |
| 67820 | 4f 66 74 65 6e 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 | Often.multiline.string.syntax.co |
| 67840 | 6d 65 73 20 69 6e 20 68 61 6e 64 79 20 68 65 72 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 | mes.in.handy.here.</span>.....<s |
| 67860 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 73 79 73 63 61 6c 6c 0a 3c 2f | pan.class="tok-str">\\syscall.</ |
| 67880 | 73 70 61 6e 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 | span><span.class="tok-comment">/ |
| 678a0 | 2f 20 4e 65 78 74 20 69 73 20 74 68 65 20 6f 75 74 70 75 74 2e 20 49 74 20 69 73 20 70 6f 73 73 | /.Next.is.the.output..It.is.poss |
| 678c0 | 69 62 6c 65 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 20 5a 69 67 20 77 69 6c 6c 3c 2f 73 70 61 | ible.in.the.future.Zig.will</spa |
| 678e0 | 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 | n>.<span.class="tok-comment">//. |
| 67900 | 73 75 70 70 6f 72 74 20 6d 75 6c 74 69 70 6c 65 20 6f 75 74 70 75 74 73 2c 20 64 65 70 65 6e 64 | support.multiple.outputs,.depend |
| 67920 | 69 6e 67 20 6f 6e 20 68 6f 77 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ing.on.how</span>.<span.class="t |
| 67940 | 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 2e 63 6f | ok-comment">//.https://github.co |
| 67960 | 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 65 73 6f | m/ziglang/zig/issues/215.is.reso |
| 67980 | 6c 76 65 64 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f | lved.</span>.<span.class="tok-co |
| 679a0 | 6d 6d 65 6e 74 22 3e 2f 2f 20 49 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 66 6f 72 20 74 68 65 72 | mment">//.It.is.allowed.for.ther |
| 679c0 | 65 20 74 6f 20 62 65 20 6e 6f 20 6f 75 74 70 75 74 73 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 | e.to.be.no.outputs,.in.which.cas |
| 679e0 | 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e | e</span>.<span.class="tok-commen |
| 67a00 | 74 22 3e 2f 2f 20 74 68 69 73 20 63 6f 6c 6f 6e 20 77 6f 75 6c 64 20 62 65 20 64 69 72 65 63 74 | t">//.this.colon.would.be.direct |
| 67a20 | 6c 79 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 63 6f 6c 6f 6e 20 66 6f 72 20 74 68 65 | ly.followed.by.the.colon.for.the |
| 67a40 | 20 69 6e 70 75 74 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3a 0a 3c 73 70 61 6e 20 63 6c 61 73 | .inputs.</span>.....:.<span.clas |
| 67a60 | 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 69 73 20 73 70 65 63 69 66 69 65 | s="tok-comment">//.This.specifie |
| 67a80 | 73 20 74 68 65 20 6e 61 6d 65 20 74 6f 20 62 65 20 75 73 65 64 20 69 6e 20 60 25 5b 72 65 74 5d | s.the.name.to.be.used.in.`%[ret] |
| 67aa0 | 60 20 73 79 6e 74 61 78 20 69 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | `.syntax.in</span>.<span.class=" |
| 67ac0 | 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 73 73 65 6d 62 | tok-comment">//.the.above.assemb |
| 67ae0 | 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 73 20 6e 6f 74 | ly.string..This.example.does.not |
| 67b00 | 20 75 73 65 20 69 74 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | .use.it,</span>.<span.class="tok |
| 67b20 | 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 75 74 20 74 68 65 20 73 79 6e 74 61 78 20 69 73 20 6d | -comment">//.but.the.syntax.is.m |
| 67b40 | 61 6e 64 61 74 6f 72 79 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5b 72 65 74 5d 0a 3c 73 70 61 6e | andatory.</span>.....[ret].<span |
| 67b60 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 | .class="tok-comment">//.Next.is. |
| 67b80 | 74 68 65 20 6f 75 74 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 20 73 74 72 69 6e 67 2e 20 54 68 | the.output.constraint.string..Th |
| 67ba0 | 69 73 20 66 65 61 74 75 72 65 20 69 73 20 73 74 69 6c 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e | is.feature.is.still</span>.<span |
| 67bc0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 63 6f 6e 73 69 64 65 72 | .class="tok-comment">//.consider |
| 67be0 | 65 64 20 75 6e 73 74 61 62 6c 65 20 69 6e 20 5a 69 67 2c 20 61 6e 64 20 73 6f 20 4c 4c 56 4d 2f | ed.unstable.in.Zig,.and.so.LLVM/ |
| 67c00 | 47 43 43 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 | GCC.documentation</span>.<span.c |
| 67c20 | 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 74 20 62 65 20 75 73 | lass="tok-comment">//.must.be.us |
| 67c40 | 65 64 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 2e 3c | ed.to.understand.the.semantics.< |
| 67c60 | 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 | /span>.<span.class="tok-comment" |
| 67c80 | 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 2e | >//.http://releases.llvm.org/10. |
| 67ca0 | 30 2e 30 2f 64 6f 63 73 2f 4c 61 6e 67 52 65 66 2e 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 61 73 6d | 0.0/docs/LangRef.html#inline-asm |
| 67cc0 | 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 0a 3c 73 70 61 6e 20 | -constraint-string</span>.<span. |
| 67ce0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 68 74 74 70 73 3a 2f 2f 67 | class="tok-comment">//.https://g |
| 67d00 | 63 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2f 45 78 74 65 6e 64 | cc.gnu.org/onlinedocs/gcc/Extend |
| 67d20 | 65 64 2d 41 73 6d 2e 68 74 6d 6c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ed-Asm.html</span>.<span.class=" |
| 67d40 | 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c | tok-comment">//.In.this.example, |
| 67d60 | 20 74 68 65 20 63 6f 6e 73 74 72 61 69 6e 74 20 73 74 72 69 6e 67 20 6d 65 61 6e 73 20 26 71 75 | .the.constraint.string.means.&qu |
| 67d80 | 6f 74 3b 74 68 65 20 72 65 73 75 6c 74 20 76 61 6c 75 65 20 6f 66 3c 2f 73 70 61 6e 3e 0a 3c 73 | ot;the.result.value.of</span>.<s |
| 67da0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 69 73 20 | pan.class="tok-comment">//.this. |
| 67dc0 | 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 69 73 20 77 | inline.assembly.instruction.is.w |
| 67de0 | 68 61 74 65 76 65 72 20 69 73 20 69 6e 20 24 72 61 78 26 71 75 6f 74 3b 2e 3c 2f 73 70 61 6e 3e | hatever.is.in.$rax".</span> |
| 67e00 | 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 | .....<span.class="tok-str">" |
| 67e20 | 3b 3d 7b 72 61 78 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 | ;={rax}"</span>.<span.class |
| 67e40 | 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 68 65 72 | ="tok-comment">//.Next.is.either |
| 67e60 | 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 61 6e 64 | .a.value.binding,.or.`->`.and |
| 67e80 | 20 74 68 65 6e 20 61 20 74 79 70 65 2e 20 54 68 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 | .then.a.type..The</span>.<span.c |
| 67ea0 | 6c 61 73 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 | lass="tok-comment">//.type.is.th |
| 67ec0 | 65 20 72 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 | e.result.type.of.the.inline.asse |
| 67ee0 | 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c | mbly.expression.</span>.<span.cl |
| 67f00 | 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 49 66 20 69 74 20 69 73 20 61 20 | ass="tok-comment">//.If.it.is.a. |
| 67f20 | 76 61 6c 75 65 20 62 69 6e 64 69 6e 67 2c 20 74 68 65 6e 20 60 25 5b 72 65 74 5d 60 20 73 79 6e | value.binding,.then.`%[ret]`.syn |
| 67f40 | 74 61 78 20 77 6f 75 6c 64 20 62 65 20 75 73 65 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 | tax.would.be.used</span>.<span.c |
| 67f60 | 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 72 65 66 65 72 20 74 | lass="tok-comment">//.to.refer.t |
| 67f80 | 6f 20 74 68 65 20 72 65 67 69 73 74 65 72 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 76 61 6c 75 | o.the.register.bound.to.the.valu |
| 67fa0 | 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 28 2d 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 | e.</span>.....(->.<span.class |
| 67fc0 | 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 0a 3c 73 70 61 6e 20 | ="tok-type">usize</span>).<span. |
| 67fe0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 4e 65 78 74 20 69 73 20 74 | class="tok-comment">//.Next.is.t |
| 68000 | 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 0a 3c 73 70 61 6e 20 | he.list.of.inputs.</span>.<span. |
| 68020 | 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 63 6f 6e 73 74 | class="tok-comment">//.The.const |
| 68040 | 72 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 | raint.for.these.inputs.means,.&q |
| 68060 | 75 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 | uot;when.the.assembly.code.is</s |
| 68080 | 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f | pan>.<span.class="tok-comment">/ |
| 680a0 | 2f 20 65 78 65 63 75 74 65 64 2c 20 24 72 61 78 20 73 68 61 6c 6c 20 68 61 76 65 20 74 68 65 20 | /.executed,.$rax.shall.have.the. |
| 680c0 | 76 61 6c 75 65 20 6f 66 20 60 6e 75 6d 62 65 72 60 20 61 6e 64 20 24 72 64 69 20 73 68 61 6c 6c | value.of.`number`.and.$rdi.shall |
| 680e0 | 20 68 61 76 65 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f | .have</span>.<span.class="tok-co |
| 68100 | 6d 6d 65 6e 74 22 3e 2f 2f 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 60 61 72 67 31 60 26 71 75 | mment">//.the.value.of.`arg1`&qu |
| 68120 | 6f 74 3b 2e 20 41 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 69 6e 70 75 74 20 70 61 72 61 6d 65 74 | ot;..Any.number.of.input.paramet |
| 68140 | 65 72 73 20 69 73 20 61 6c 6c 6f 77 65 64 2c 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 | ers.is.allowed,</span>.<span.cla |
| 68160 | 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 63 6c 75 64 69 6e 67 20 6e 6f | ss="tok-comment">//.including.no |
| 68180 | 6e 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3a 20 5b 6e 75 6d 62 65 72 5d 20 3c 73 70 61 6e 20 | ne.</span>.....:.[number].<span. |
| 681a0 | 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 78 7d 26 71 75 6f 74 | class="tok-str">"{rax}" |
| 681c0 | 3b 3c 2f 73 70 61 6e 3e 20 28 6e 75 6d 62 65 72 29 2c 0a 20 20 20 20 20 20 20 20 5b 61 72 67 31 | ;</span>.(number),.........[arg1 |
| 681e0 | 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 72 | ].<span.class="tok-str">"{r |
| 68200 | 64 69 7d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 28 61 72 67 31 29 0a 3c 73 70 61 6e 20 63 6c | di}"</span>.(arg1).<span.cl |
| 68220 | 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 74 68 65 | ass="tok-comment">//.Next.is.the |
| 68240 | 20 6c 69 73 74 20 6f 66 20 63 6c 6f 62 62 65 72 73 2e 20 54 68 65 73 65 20 64 65 63 6c 61 72 65 | .list.of.clobbers..These.declare |
| 68260 | 20 61 20 73 65 74 20 6f 66 20 72 65 67 69 73 74 65 72 73 20 77 68 6f 73 65 3c 2f 73 70 61 6e 3e | .a.set.of.registers.whose</span> |
| 68280 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 | .<span.class="tok-comment">//.va |
| 682a0 | 6c 75 65 73 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 70 72 65 73 65 72 76 65 64 20 62 79 20 74 68 | lues.will.not.be.preserved.by.th |
| 682c0 | 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 74 68 69 73 20 61 73 73 65 6d 62 6c 79 20 63 6f 64 | e.execution.of.this.assembly.cod |
| 682e0 | 65 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 | e.</span>.<span.class="tok-comme |
| 68300 | 6e 74 22 3e 2f 2f 20 54 68 65 73 65 20 64 6f 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 6f 75 74 70 | nt">//.These.do.not.include.outp |
| 68320 | 75 74 20 6f 72 20 69 6e 70 75 74 20 72 65 67 69 73 74 65 72 73 2e 20 54 68 65 20 73 70 65 63 69 | ut.or.input.registers..The.speci |
| 68340 | 61 6c 20 63 6c 6f 62 62 65 72 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | al.clobber</span>.<span.class="t |
| 68360 | 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 6c 75 65 20 6f 66 20 26 71 75 6f 74 3b 6d 65 | ok-comment">//.value.of."me |
| 68380 | 6d 6f 72 79 26 71 75 6f 74 3b 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 61 73 73 65 6d 62 | mory".means.that.the.assemb |
| 683a0 | 6c 79 20 77 72 69 74 65 73 20 74 6f 20 61 72 62 69 74 72 61 72 79 20 75 6e 64 65 63 6c 61 72 65 | ly.writes.to.arbitrary.undeclare |
| 683c0 | 64 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e | d</span>.<span.class="tok-commen |
| 683e0 | 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 6f 6e 6c | t">//.memory.locations.-.not.onl |
| 68400 | 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 64 65 63 | y.the.memory.pointed.to.by.a.dec |
| 68420 | 6c 61 72 65 64 20 69 6e 64 69 72 65 63 74 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 | lared.indirect</span>.<span.clas |
| 68440 | 73 3d 22 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 | s="tok-comment">//.output..In.th |
| 68460 | 69 73 20 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 | is.example.we.list.$rcx.and.$r11 |
| 68480 | 20 62 65 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 0a | .because.it.is.known.the</span>. |
| 684a0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 6b 65 72 | <span.class="tok-comment">//.ker |
| 684c0 | 6e 65 6c 20 73 79 73 63 61 6c 6c 20 64 6f 65 73 20 6e 6f 74 20 70 72 65 73 65 72 76 65 20 74 68 | nel.syscall.does.not.preserve.th |
| 684e0 | 65 73 65 20 72 65 67 69 73 74 65 72 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3a 20 3c 73 70 61 | ese.registers.</span>.....:.<spa |
| 68500 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 63 78 26 71 75 6f 74 | n.class="tok-str">"rcx" |
| 68520 | 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e | ;</span>,.<span.class="tok-str"> |
| 68540 | 26 71 75 6f 74 3b 72 31 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 0a 29 3b 3c 2f 63 6f 64 65 3e | "r11"</span>.);</code> |
| 68560 | 3c 2f 70 72 65 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 | </pre>.......<p>.......For.i386. |
| 68580 | 61 6e 64 20 78 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 | and.x86_64.targets,.the.syntax.i |
| 685a0 | 73 20 41 54 26 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 | s.AT&T.syntax,.rather.than.t |
| 685c0 | 68 65 20 6d 6f 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 | he.more.......popular.Intel.synt |
| 685e0 | 61 78 2e 20 54 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 | ax..This.is.due.to.technical.con |
| 68600 | 73 74 72 61 69 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 | straints;.assembly.parsing.is... |
| 68620 | 20 20 20 20 70 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 | ....provided.by.LLVM.and.its.sup |
| 68640 | 70 6f 72 74 20 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 | port.for.Intel.syntax.is.buggy.a |
| 68660 | 6e 64 20 6e 6f 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 | nd.not.well.tested........</p>.. |
| 68680 | 20 20 20 20 20 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 | .....<p>.......Some.day.Zig.may. |
| 686a0 | 68 61 76 65 20 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 | have.its.own.assembler..This.wou |
| 686c0 | 6c 64 20 61 6c 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 | ld.allow.it.to.integrate.more.se |
| 686e0 | 61 6d 6c 65 73 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 | amlessly.......into.the.language |
| 68700 | 2c 20 61 73 20 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 | ,.as.well.as.be.compatible.with. |
| 68720 | 74 68 65 20 70 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 | the.popular.NASM.syntax..This.do |
| 68740 | 63 75 6d 65 6e 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 | cumentation.......section.will.b |
| 68760 | 65 20 75 70 64 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 | e.updated.before.1.0.0.is.releas |
| 68780 | 65 64 2c 20 77 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 | ed,.with.a.conclusive.statement. |
| 687a0 | 61 62 6f 75 74 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 | about.the.status.......of.AT& |
| 687c0 | 3b 54 20 76 73 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 | ;T.vs.Intel/NASM.syntax........< |
| 687e0 | 2f 70 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4f 75 74 70 75 74 2d 43 6f 6e 73 74 72 61 | /p>.......<h2.id="Output-Constra |
| 68800 | 69 6e 74 73 22 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 | ints"><a.href="#toc-Output-Const |
| 68820 | 72 61 69 6e 74 73 22 3e 4f 75 74 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e 20 3c | raints">Output.Constraints</a>.< |
| 68840 | 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4f 75 74 70 75 74 2d 43 6f 6e 73 | a.class="hdr".href="#Output-Cons |
| 68860 | 74 72 61 69 6e 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 | traints">..</a></h2>........<p>. |
| 68880 | 20 20 20 20 20 20 4f 75 74 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 73 74 69 | ......Output.constraints.are.sti |
| 688a0 | 6c 6c 20 63 6f 6e 73 69 64 65 72 65 64 20 74 6f 20 62 65 20 75 6e 73 74 61 62 6c 65 20 69 6e 20 | ll.considered.to.be.unstable.in. |
| 688c0 | 5a 69 67 2c 20 61 6e 64 0a 20 20 20 20 20 20 73 6f 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d | Zig,.and.......so.......<a.href= |
| 688e0 | 22 68 74 74 70 3a 2f 2f 72 65 6c 65 61 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 30 2e 30 2e 30 | "http://releases.llvm.org/10.0.0 |
| 68900 | 2f 64 6f 63 73 2f 4c 61 6e 67 52 65 66 2e 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 61 73 6d 2d 63 6f | /docs/LangRef.html#inline-asm-co |
| 68920 | 6e 73 74 72 61 69 6e 74 2d 73 74 72 69 6e 67 22 3e 4c 4c 56 4d 20 64 6f 63 75 6d 65 6e 74 61 74 | nstraint-string">LLVM.documentat |
| 68940 | 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d | ion</a>.......and.......<a.href= |
| 68960 | 22 68 74 74 70 73 3a 2f 2f 67 63 63 2e 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f | "https://gcc.gnu.org/onlinedocs/ |
| 68980 | 67 63 63 2f 45 78 74 65 6e 64 65 64 2d 41 73 6d 2e 68 74 6d 6c 22 3e 47 43 43 20 64 6f 63 75 6d | gcc/Extended-Asm.html">GCC.docum |
| 689a0 | 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 | entation</a>.......must.be.used. |
| 689c0 | 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 2e 0a 20 20 20 | to.understand.the.semantics..... |
| 689e0 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 | ...</p>.......<p>.......Note.tha |
| 68a00 | 74 20 73 6f 6d 65 20 62 72 65 61 6b 69 6e 67 20 63 68 61 6e 67 65 73 20 74 6f 20 6f 75 74 70 75 | t.some.breaking.changes.to.outpu |
| 68a20 | 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 70 6c 61 6e 6e 65 64 20 77 69 74 68 0a 20 | t.constraints.are.planned.with.. |
| 68a40 | 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 |
| 68a60 | 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 32 31 35 22 3e 69 73 73 75 65 20 23 | /ziglang/zig/issues/215">issue.# |
| 68a80 | 32 31 35 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 | 215</a>........</p>............. |
| 68aa0 | 20 20 3c 68 32 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 | ..<h2.id="Input-Constraints"><a. |
| 68ac0 | 68 72 65 66 3d 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 | href="#toc-Input-Constraints">In |
| 68ae0 | 70 75 74 20 43 6f 6e 73 74 72 61 69 6e 74 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 | put.Constraints</a>.<a.class="hd |
| 68b00 | 72 22 20 68 72 65 66 3d 22 23 49 6e 70 75 74 2d 43 6f 6e 73 74 72 61 69 6e 74 73 22 3e c2 a7 3c | r".href="#Input-Constraints">..< |
| 68b20 | 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 70 75 74 20 | /a></h2>........<p>.......Input. |
| 68b40 | 63 6f 6e 73 74 72 61 69 6e 74 73 20 61 72 65 20 73 74 69 6c 6c 20 63 6f 6e 73 69 64 65 72 65 64 | constraints.are.still.considered |
| 68b60 | 20 74 6f 20 62 65 20 75 6e 73 74 61 62 6c 65 20 69 6e 20 5a 69 67 2c 20 61 6e 64 0a 20 20 20 20 | .to.be.unstable.in.Zig,.and..... |
| 68b80 | 20 20 73 6f 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f 2f 72 65 6c 65 61 | ..so.......<a.href="http://relea |
| 68ba0 | 73 65 73 2e 6c 6c 76 6d 2e 6f 72 67 2f 31 30 2e 30 2e 30 2f 64 6f 63 73 2f 4c 61 6e 67 52 65 66 | ses.llvm.org/10.0.0/docs/LangRef |
| 68bc0 | 2e 68 74 6d 6c 23 69 6e 6c 69 6e 65 2d 61 73 6d 2d 63 6f 6e 73 74 72 61 69 6e 74 2d 73 74 72 69 | .html#inline-asm-constraint-stri |
| 68be0 | 6e 67 22 3e 4c 4c 56 4d 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a 20 20 20 20 20 | ng">LLVM.documentation</a>...... |
| 68c00 | 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 63 63 2e | .and.......<a.href="https://gcc. |
| 68c20 | 67 6e 75 2e 6f 72 67 2f 6f 6e 6c 69 6e 65 64 6f 63 73 2f 67 63 63 2f 45 78 74 65 6e 64 65 64 2d | gnu.org/onlinedocs/gcc/Extended- |
| 68c40 | 41 73 6d 2e 68 74 6d 6c 22 3e 47 43 43 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 3c 2f 61 3e 0a | Asm.html">GCC.documentation</a>. |
| 68c60 | 20 20 20 20 20 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 | ......must.be.used.to.understand |
| 68c80 | 20 74 68 65 20 73 65 6d 61 6e 74 69 63 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 | .the.semantics........</p>...... |
| 68ca0 | 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 73 6f 6d 65 20 62 72 65 61 6b 69 | .<p>.......Note.that.some.breaki |
| 68cc0 | 6e 67 20 63 68 61 6e 67 65 73 20 74 6f 20 69 6e 70 75 74 20 63 6f 6e 73 74 72 61 69 6e 74 73 20 | ng.changes.to.input.constraints. |
| 68ce0 | 61 72 65 20 70 6c 61 6e 6e 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 | are.planned.with.......<a.href=" |
| 68d00 | 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 |
| 68d20 | 73 73 75 65 73 2f 32 31 35 22 3e 69 73 73 75 65 20 23 32 31 35 3c 2f 61 3e 2e 0a 20 20 20 20 20 | ssues/215">issue.#215</a>....... |
| 68d40 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 6c 6f 62 | .</p>...............<h2.id="Clob |
| 68d60 | 62 65 72 73 22 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 | bers"><a.href="#toc-Clobbers">Cl |
| 68d80 | 6f 62 62 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 | obbers</a>.<a.class="hdr".href=" |
| 68da0 | 23 43 6c 6f 62 62 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 | #Clobbers">..</a></h2>........<p |
| 68dc0 | 3e 0a 20 20 20 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 | >.......Clobbers.are.the.set.of. |
| 68de0 | 72 65 67 69 73 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 | registers.whose.values.will.not. |
| 68e00 | 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 20 6f 66 | be.preserved.by.the.execution.of |
| 68e20 | 0a 20 20 20 20 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 | .......the.assembly.code..These. |
| 68e40 | 64 6f 20 6e 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 | do.not.include.output.or.input.r |
| 68e60 | 65 67 69 73 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 0a 20 20 | egisters..The.special.clobber... |
| 68e80 | 20 20 20 20 76 61 6c 75 65 20 6f 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | ....value.of.<code.class="zig">< |
| 68ea0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 65 6d 6f 72 | span.class="tok-str">"memor |
| 68ec0 | 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6d 65 61 6e 73 20 74 68 61 74 | y"</span></code>.means.that |
| 68ee0 | 20 74 68 65 20 61 73 73 65 6d 62 6c 79 20 63 61 75 73 65 73 20 77 72 69 74 65 73 20 74 6f 0a 20 | .the.assembly.causes.writes.to.. |
| 68f00 | 20 20 20 20 20 61 72 62 69 74 72 61 72 79 20 75 6e 64 65 63 6c 61 72 65 64 20 6d 65 6d 6f 72 79 | .....arbitrary.undeclared.memory |
| 68f20 | 20 6c 6f 63 61 74 69 6f 6e 73 20 2d 20 6e 6f 74 20 6f 6e 6c 79 20 74 68 65 20 6d 65 6d 6f 72 79 | .locations.-.not.only.the.memory |
| 68f40 | 20 70 6f 69 6e 74 65 64 20 74 6f 20 62 79 20 61 20 64 65 63 6c 61 72 65 64 0a 20 20 20 20 20 20 | .pointed.to.by.a.declared....... |
| 68f60 | 69 6e 64 69 72 65 63 74 20 6f 75 74 70 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 | indirect.output........</p>..... |
| 68f80 | 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 61 69 6c 75 72 65 20 74 6f 20 64 65 63 6c 61 72 65 20 74 | ..<p>.......Failure.to.declare.t |
| 68fa0 | 68 65 20 66 75 6c 6c 20 73 65 74 20 6f 66 20 63 6c 6f 62 62 65 72 73 20 66 6f 72 20 61 20 67 69 | he.full.set.of.clobbers.for.a.gi |
| 68fc0 | 76 65 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 0a 20 20 20 20 20 20 65 78 70 72 65 73 | ven.inline.assembly.......expres |
| 68fe0 | 73 69 6f 6e 20 69 73 20 75 6e 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 | sion.is.unchecked.<a.href="#Unde |
| 69000 | 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 | fined-Behavior">Undefined.Behavi |
| 69020 | 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 20 20 20 | or</a>........</p>.............. |
| 69040 | 20 3c 68 32 20 69 64 3d 22 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e 3c 61 20 68 72 65 | .<h2.id="Global-Assembly"><a.hre |
| 69060 | 66 3d 22 23 74 6f 63 2d 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e 47 6c 6f 62 61 6c 20 | f="#toc-Global-Assembly">Global. |
| 69080 | 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 72 65 66 | Assembly</a>.<a.class="hdr".href |
| 690a0 | 3d 22 23 47 6c 6f 62 61 6c 2d 41 73 73 65 6d 62 6c 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a | ="#Global-Assembly">..</a></h2>. |
| 690c0 | 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 61 6e 20 61 73 73 65 6d 62 6c | .......<p>.......When.an.assembl |
| 690e0 | 79 20 65 78 70 72 65 73 73 69 6f 6e 20 6f 63 63 75 72 73 20 69 6e 20 61 20 74 6f 70 20 6c 65 76 | y.expression.occurs.in.a.top.lev |
| 69100 | 65 6c 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c | el.<a.href="#comptime">comptime< |
| 69120 | 2f 61 3e 20 62 6c 6f 63 6b 2c 20 74 68 69 73 20 69 73 0a 20 20 20 20 20 20 3c 73 74 72 6f 6e 67 | /a>.block,.this.is.......<strong |
| 69140 | 3e 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 3c 2f 73 74 72 6f 6e 67 3e 2e 0a 20 20 20 20 20 | >global.assembly</strong>....... |
| 69160 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6b 69 6e 64 20 | .</p>.......<p>.......This.kind. |
| 69180 | 6f 66 20 61 73 73 65 6d 62 6c 79 20 68 61 73 20 64 69 66 66 65 72 65 6e 74 20 72 75 6c 65 73 20 | of.assembly.has.different.rules. |
| 691a0 | 74 68 61 6e 20 69 6e 6c 69 6e 65 20 61 73 73 65 6d 62 6c 79 2e 20 46 69 72 73 74 2c 20 3c 63 6f | than.inline.assembly..First,.<co |
| 691c0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 691e0 | 6b 77 22 3e 76 6f 6c 61 74 69 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 | kw">volatile</span></code>...... |
| 69200 | 20 69 73 20 6e 6f 74 20 76 61 6c 69 64 20 62 65 63 61 75 73 65 20 61 6c 6c 20 67 6c 6f 62 61 6c | .is.not.valid.because.all.global |
| 69220 | 20 61 73 73 65 6d 62 6c 79 20 69 73 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 69 6e 63 | .assembly.is.unconditionally.inc |
| 69240 | 6c 75 64 65 64 2e 0a 20 20 20 20 20 20 53 65 63 6f 6e 64 2c 20 74 68 65 72 65 20 61 72 65 20 6e | luded........Second,.there.are.n |
| 69260 | 6f 20 69 6e 70 75 74 73 2c 20 6f 75 74 70 75 74 73 2c 20 6f 72 20 63 6c 6f 62 62 65 72 73 2e 20 | o.inputs,.outputs,.or.clobbers.. |
| 69280 | 41 6c 6c 20 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 20 69 73 20 63 6f 6e 63 61 74 65 6e 61 | All.global.assembly.is.concatena |
| 692a0 | 74 65 64 0a 20 20 20 20 20 20 76 65 72 62 61 74 69 6d 20 69 6e 74 6f 20 6f 6e 65 20 6c 6f 6e 67 | ted.......verbatim.into.one.long |
| 692c0 | 20 73 74 72 69 6e 67 20 61 6e 64 20 61 73 73 65 6d 62 6c 65 64 20 74 6f 67 65 74 68 65 72 2e 20 | .string.and.assembled.together.. |
| 692e0 | 54 68 65 72 65 20 61 72 65 20 6e 6f 20 74 65 6d 70 6c 61 74 65 20 73 75 62 73 74 69 74 75 74 69 | There.are.no.template.substituti |
| 69300 | 6f 6e 20 72 75 6c 65 73 20 72 65 67 61 72 64 69 6e 67 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 25 | on.rules.regarding.......<code>% |
| 69320 | 3c 2f 63 6f 64 65 3e 20 61 73 20 74 68 65 72 65 20 61 72 65 20 69 6e 20 69 6e 6c 69 6e 65 20 61 | </code>.as.there.are.in.inline.a |
| 69340 | 73 73 65 6d 62 6c 79 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | ssembly.expressions........</p>. |
| 69360 | 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 67 6c 6f 62 61 6c 2d 61 73 6d | ......<p.class="file">global-asm |
| 69380 | 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | .zig</p><pre><code.class="zig">< |
| 693a0 | 73 70 61 6e 20 63 6c 61 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> |
| 693c0 | 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" |
| 693e0 | 3e 40 69 6d 70 6f 72 74 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 |
| 69400 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c | -str">"std"</span>);.< |
| 69420 | 73 70 61 6e 20 63 6c 61 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> |
| 69440 | 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 | .assert.=.std.debug.assert;..<sp |
| 69460 | 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 |
| 69480 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 6d | >.{.....<span.class="tok-kw">asm |
| 694a0 | 3c 2f 73 70 61 6e 3e 20 28 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | </span>.(.........<span.class="t |
| 694c0 | 6f 6b 2d 73 74 72 22 3e 5c 5c 2e 67 6c 6f 62 61 6c 20 6d 79 5f 66 75 6e 63 3b 0a 3c 2f 73 70 61 | ok-str">\\.global.my_func;.</spa |
| 694e0 | 6e 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e | n>........<span.class="tok-str"> |
| 69500 | 5c 5c 2e 74 79 70 65 20 6d 79 5f 66 75 6e 63 2c 20 40 66 75 6e 63 74 69 6f 6e 3b 0a 3c 2f 73 70 | \\.type.my_func,.@function;.</sp |
| 69520 | 61 6e 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 | an>........<span.class="tok-str" |
| 69540 | 3e 5c 5c 6d 79 5f 66 75 6e 63 3a 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e | >\\my_func:.</span>........<span |
| 69560 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 20 20 6c 65 61 20 28 25 72 64 69 2c 25 | .class="tok-str">\\..lea.(%rdi,% |
| 69580 | 72 73 69 2c 31 29 2c 25 65 61 78 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 20 20 20 20 3c 73 70 61 6e | rsi,1),%eax.</span>........<span |
| 695a0 | 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 0a 3c 2f 73 70 61 6e | .class="tok-str">\\..retq.</span |
| 695c0 | 3e 20 20 20 20 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | >....);.}..<span.class="tok-kw"> |
| 695e0 | 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 6b | extern</span>.<span.class="tok-k |
| 69600 | 77 22 3e 66 6e 3c 2f 73 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 |
| 69620 | 22 3e 6d 79 5f 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ">my_func</span>(a:.<span.class= |
| 69640 | 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. |
| 69660 | 63 6c 61 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 |
| 69680 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 3b 0a | an.class="tok-type">i32</span>;. |
| 696a0 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 70 61 6e | .<span.class="tok-kw">test</span |
| 696c0 | 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 67 6c | >.<span.class="tok-str">"gl |
| 696e0 | 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 0a 20 20 20 | obal.assembly"</span>.{.... |
| 69700 | 20 61 73 73 65 72 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 | .assert(my_func(<span.class="tok |
| 69720 | 2d 6e 75 6d 62 65 72 22 3e 31 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | -number">12</span>,.<span.class= |
| 69740 | 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 34 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e | "tok-number">34</span>).==.<span |
| 69760 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 36 3c 2f 73 70 61 6e 3e 29 3b 0a | .class="tok-number">46</span>);. |
| 69780 | 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | }</code></pre><pre><code.class=" |
| 697a0 | 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 67 6c 6f 62 61 6c 2d 61 73 6d 2e 7a 69 67 | shell">$.zig.test.global-asm.zig |
| 697c0 | 20 2d 74 61 72 67 65 74 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 0a 31 2f 31 20 74 65 73 74 20 26 | .-target.x86_64-linux.1/1.test.& |
| 697e0 | 71 75 6f 74 3b 67 6c 6f 62 61 6c 20 61 73 73 65 6d 62 6c 79 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a | quot;global.assembly"...OK. |
| 69800 | 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | All.1.tests.passed..</code></pre |
| 69820 | 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 31 20 69 64 3d 22 | >.......................<h1.id=" |
| 69840 | 41 74 6f 6d 69 63 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 74 6f 6d 69 63 73 22 3e | Atomics"><a.href="#toc-Atomics"> |
| 69860 | 41 74 6f 6d 69 63 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d | Atomics</a>.<a.class="hdr".href= |
| 69880 | 22 23 41 74 6f 6d 69 63 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 | "#Atomics">..</a></h1>........<p |
| 698a0 | 3e 54 4f 44 4f 3a 20 40 66 65 6e 63 65 28 29 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 | >TODO:.@fence()</p>.......<p>TOD |
| 698c0 | 4f 3a 20 40 61 74 6f 6d 69 63 20 72 6d 77 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f | O:.@atomic.rmw</p>.......<p>TODO |
| 698e0 | 3a 20 62 75 69 6c 74 69 6e 20 61 74 6f 6d 69 63 20 6d 65 6d 6f 72 79 20 6f 72 64 65 72 69 6e 67 | :.builtin.atomic.memory.ordering |
| 69900 | 20 65 6e 75 6d 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 41 | .enum</p>..............<h1.id="A |
| 69920 | 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 73 | sync-Functions"><a.href="#toc-As |
| 69940 | 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</ |
| 69960 | 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 | a>.<a.class="hdr".href="#Async-F |
| 69980 | 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e | unctions">..</a></h1>........<p> |
| 699a0 | 0a 20 20 20 20 20 20 57 68 65 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 | .......When.a.function.is.called |
| 699c0 | 2c 20 61 20 66 72 61 6d 65 20 69 73 20 70 75 73 68 65 64 20 74 6f 20 74 68 65 20 73 74 61 63 6b | ,.a.frame.is.pushed.to.the.stack |
| 699e0 | 2c 0a 20 20 20 20 20 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 75 6e 73 20 75 6e 74 69 6c 20 | ,.......the.function.runs.until. |
| 69a00 | 69 74 20 72 65 61 63 68 65 73 20 61 20 72 65 74 75 72 6e 20 73 74 61 74 65 6d 65 6e 74 2c 20 61 | it.reaches.a.return.statement,.a |
| 69a20 | 6e 64 20 74 68 65 6e 20 74 68 65 20 66 72 61 6d 65 20 69 73 20 70 6f 70 70 65 64 20 66 72 6f 6d | nd.then.the.frame.is.popped.from |
| 69a40 | 20 74 68 65 20 73 74 61 63 6b 2e 0a 20 20 20 20 20 20 41 74 20 74 68 65 20 63 61 6c 6c 73 69 74 | .the.stack........At.the.callsit |
| 69a60 | 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 64 6f 65 73 20 6e 6f 74 20 72 | e,.the.following.code.does.not.r |
| 69a80 | 75 6e 20 75 6e 74 69 6c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2e 0a 20 | un.until.the.function.returns... |
| 69aa0 | 20 20 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 6e 20 61 73 79 | .....</p>.......<p>.......An.asy |
| 69ac0 | 6e 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 6f 73 65 20 | nc.function.is.a.function.whose. |
| 69ae0 | 63 61 6c 6c 73 69 74 65 20 69 73 20 73 70 6c 69 74 20 69 6e 74 6f 20 61 6e 20 3c 63 6f 64 65 20 | callsite.is.split.into.an.<code. |
| 69b00 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | class="zig"><span.class="tok-kw" |
| 69b20 | 3e 61 73 79 6e 63 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 | >async</span></code>.initiation, |
| 69b40 | 0a 20 20 20 20 20 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 20 3c 63 6f 64 65 20 63 6c 61 73 | .......followed.by.an.<code.clas |
| 69b60 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-kw">awa |
| 69b80 | 69 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 6f 6d 70 6c 65 74 69 6f 6e 2e 20 49 74 73 | it</span></code>.completion..Its |
| 69ba0 | 20 66 72 61 6d 65 20 69 73 0a 20 20 20 20 20 20 70 72 6f 76 69 64 65 64 20 65 78 70 6c 69 63 69 | .frame.is.......provided.explici |
| 69bc0 | 74 6c 79 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 2c 20 61 6e 64 20 69 74 20 63 61 6e 20 62 65 | tly.by.the.caller,.and.it.can.be |
| 69be0 | 20 73 75 73 70 65 6e 64 65 64 20 61 6e 64 20 72 65 73 75 6d 65 64 20 61 6e 79 20 6e 75 6d 62 65 | .suspended.and.resumed.any.numbe |
| 69c00 | 72 20 6f 66 20 74 69 6d 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e | r.of.times........</p>.......<p> |
| 69c20 | 0a 20 20 20 20 20 20 5a 69 67 20 69 6e 66 65 72 73 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f | .......Zig.infers.that.a.functio |
| 69c40 | 6e 20 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | n.is.<code.class="zig"><span.cla |
| 69c60 | 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 63 6f 64 65 3e 20 | ss="tok-kw">async</span></code>. |
| 69c80 | 77 68 65 6e 20 69 74 20 6f 62 73 65 72 76 65 73 20 74 68 61 74 20 74 68 65 20 66 75 6e 63 74 69 | when.it.observes.that.the.functi |
| 69ca0 | 6f 6e 20 63 6f 6e 74 61 69 6e 73 0a 20 20 20 20 20 20 61 20 3c 73 74 72 6f 6e 67 3e 73 75 73 70 | on.contains.......a.<strong>susp |
| 69cc0 | 65 6e 73 69 6f 6e 20 70 6f 69 6e 74 3c 2f 73 74 72 6f 6e 67 3e 2e 20 41 73 79 6e 63 20 66 75 6e | ension.point</strong>..Async.fun |
| 69ce0 | 63 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 74 68 65 20 73 61 6d 65 20 61 73 | ctions.can.be.called.the.same.as |
| 69d00 | 20 6e 6f 72 6d 61 6c 20 66 75 6e 63 74 69 6f 6e 73 2e 20 41 0a 20 20 20 20 20 20 66 75 6e 63 74 | .normal.functions..A.......funct |
| 69d20 | 69 6f 6e 20 63 61 6c 6c 20 6f 66 20 61 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 | ion.call.of.an.async.function.is |
| 69d40 | 20 61 20 73 75 73 70 65 6e 64 20 70 6f 69 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 | .a.suspend.point........</p>.... |
| 69d60 | 20 20 20 3c 68 32 20 69 64 3d 22 53 75 73 70 65 6e 64 2d 61 6e 64 2d 52 65 73 75 6d 65 22 3e 3c | ...<h2.id="Suspend-and-Resume">< |
| 69d80 | 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 75 73 70 65 6e 64 2d 61 6e 64 2d 52 65 73 75 6d 65 22 | a.href="#toc-Suspend-and-Resume" |
| 69da0 | 3e 53 75 73 70 65 6e 64 20 61 6e 64 20 52 65 73 75 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 | >Suspend.and.Resume</a>.<a.class |
| 69dc0 | 3d 22 68 64 72 22 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 | ="hdr".href="#Suspend-and-Resume |
| 69de0 | 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 |
| 69e00 | 74 20 61 6e 79 20 70 6f 69 6e 74 2c 20 61 20 66 75 6e 63 74 69 6f 6e 20 6d 61 79 20 73 75 73 70 | t.any.point,.a.function.may.susp |
| 69e20 | 65 6e 64 20 69 74 73 65 6c 66 2e 20 54 68 69 73 20 63 61 75 73 65 73 20 63 6f 6e 74 72 6f 6c 20 | end.itself..This.causes.control. |
| 69e40 | 66 6c 6f 77 20 74 6f 0a 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 6f 20 74 68 65 20 63 61 6c 6c | flow.to.......return.to.the.call |
| 69e60 | 73 69 74 65 20 28 69 6e 20 74 68 65 20 63 61 73 65 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 73 | site.(in.the.case.of.the.first.s |
| 69e80 | 75 73 70 65 6e 73 69 6f 6e 29 2c 0a 20 20 20 20 20 20 6f 72 20 72 65 73 75 6d 65 72 20 28 69 6e | uspension),.......or.resumer.(in |
| 69ea0 | 20 74 68 65 20 63 61 73 65 20 6f 66 20 73 75 62 73 65 71 75 65 6e 74 20 73 75 73 70 65 6e 73 69 | .the.case.of.subsequent.suspensi |
| 69ec0 | 6f 6e 73 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d | ons)........</p>.......<p.class= |
| 69ee0 | 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | "file">test.zig</p><pre><code.cl |
| 69f00 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | ass="zig"><span.class="tok-kw">c |
| 69f20 | 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 |
| 69f40 | 6f 6b 2d 62 75 69 6c 74 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 |
| 69f60 | 20 63 6c 61 73 73 3d 22 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">"std" |
| 69f80 | 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | </span>);.<span.class="tok-kw">c |
| 69fa0 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 | onst</span>.assert.=.std.debug.a |
| 69fc0 | 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 | ssert;..<span.class="tok-kw">var |
| 69fe0 | 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 |
| 6a000 | 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- |
| 6a020 | 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | number">1</span>;..<span.class=" |
| 6a040 | 74 6f 6b 2d 6b 77 22 3e 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= |
| 6a060 | 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 75 73 70 65 6e 64 20 77 69 74 68 20 6e 6f 20 | "tok-str">"suspend.with.no. |
| 6a080 | 72 65 73 75 6d 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 | resume"</span>.{.....<span. |
| 6a0a0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 72 61 6d 65 20 | class="tok-kw">var</span>.frame. |
| 6a0c0 | 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 | =.<span.class="tok-kw">async</sp |
| 6a0e0 | 61 6e 3e 20 66 75 6e 63 28 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 78 20 3d 3d 20 3c 73 70 61 | an>.func();.....assert(x.==.<spa |
| 6a100 | 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 0a | n.class="tok-number">2</span>);. |
| 6a120 | 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e | }..<span.class="tok-kw">fn</span |
| 6a140 | 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 75 6e 63 3c 2f 73 70 61 | >.<span.class="tok-fn">func</spa |
| 6a160 | 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 |
| 6a180 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | </span>.{.....x.+=.<span.class=" |
| 6a1a0 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 | tok-number">1</span>;.....<span. |
| 6a1c0 | 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 3b 0a 20 | class="tok-kw">suspend</span>;.. |
| 6a1e0 | 20 20 20 3c 73 70 61 6e 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">//. |
| 6a200 | 54 68 69 73 20 6c 69 6e 65 20 69 73 20 6e 65 76 65 72 20 72 65 61 63 68 65 64 20 62 65 63 61 75 | This.line.is.never.reached.becau |
| 6a220 | 73 65 20 74 68 65 20 73 75 73 70 65 6e 64 20 68 61 73 20 6e 6f 20 6d 61 74 63 68 69 6e 67 20 72 | se.the.suspend.has.no.matching.r |
| 6a240 | 65 73 75 6d 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 | esume.</span>.....x.+=.<span.cla |
| 6a260 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 | ss="tok-number">1</span>;.}</cod |
| 6a280 | 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 | e></pre><pre><code.class="shell" |
| 6a2a0 | 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 | >$.zig.test.test.zig.1/1.test.&q |
| 6a2c0 | 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 65 26 71 75 6f 74 3b | uot;suspend.with.no.resume" |
| 6a2e0 | 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 | ...OK.All.1.tests.passed..</code |
| 6a300 | 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 20 | ></pre>........<p>.......In.the. |
| 6a320 | 73 61 6d 65 20 77 61 79 20 74 68 61 74 20 65 61 63 68 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 73 68 | same.way.that.each.allocation.sh |
| 6a340 | 6f 75 6c 64 20 68 61 76 65 20 61 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 66 72 65 65 2c 0a | ould.have.a.corresponding.free,. |
| 6a360 | 20 20 20 20 20 20 45 61 63 68 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ......Each.<code.class="zig"><sp |
| 6a380 | 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 3e | an.class="tok-kw">suspend</span> |
| 6a3a0 | 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 64 | </code>.should.have.a.correspond |
| 6a3c0 | 69 6e 67 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | ing.<code.class="zig"><span.clas |
| 6a3e0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e | s="tok-kw">resume</span></code>. |
| 6a400 | 0a 20 20 20 20 20 20 41 20 3c 73 74 72 6f 6e 67 3e 73 75 73 70 65 6e 64 20 62 6c 6f 63 6b 3c 2f | .......A.<strong>suspend.block</ |
| 6a420 | 73 74 72 6f 6e 67 3e 20 61 6c 6c 6f 77 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 70 75 74 | strong>.allows.a.function.to.put |
| 6a440 | 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 69 74 73 20 6f 77 6e 0a 20 20 20 20 20 20 66 72 61 6d | .a.pointer.to.its.own.......fram |
| 6a460 | 65 20 73 6f 6d 65 77 68 65 72 65 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 69 6e 74 6f 20 61 6e | e.somewhere,.for.example.into.an |
| 6a480 | 20 65 76 65 6e 74 20 6c 6f 6f 70 2c 20 65 76 65 6e 20 69 66 20 74 68 61 74 20 61 63 74 69 6f 6e | .event.loop,.even.if.that.action |
| 6a4a0 | 20 77 69 6c 6c 20 70 65 72 66 6f 72 6d 20 61 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 | .will.perform.a.......<code.clas |
| 6a4c0 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-kw">res |
| 6a4e0 | 75 6d 65 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 | ume</span></code>.operation.on.a |
| 6a500 | 20 64 69 66 66 65 72 65 6e 74 20 74 68 72 65 61 64 2e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 | .different.thread........<a.href |
| 6a520 | 3d 22 23 66 72 61 6d 65 22 3e 40 66 72 61 6d 65 3c 2f 61 3e 20 70 72 6f 76 69 64 65 73 20 61 63 | ="#frame">@frame</a>.provides.ac |
| 6a540 | 63 65 73 73 20 74 6f 20 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 | cess.to.the.async.function.frame |
| 6a560 | 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c | .pointer........</p>.......<p.cl |
| 6a580 | 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 | ass="file">test.zig</p><pre><cod |
| 6a5a0 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | e.class="zig"><span.class="tok-k |
| 6a5c0 | 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 |
| 6a5e0 | 73 3d 22 74 6f 6b 2d 62 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>(< |
| 6a600 | 73 70 61 6e 20 63 6c 61 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">"std&q |
| 6a620 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | uot;</span>);.<span.class="tok-k |
| 6a640 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 | w">const</span>.assert.=.std.deb |
| 6a660 | 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | ug.assert;..<span.class="tok-kw" |
| 6a680 | 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 74 68 65 5f 66 72 61 6d 65 3a 20 3c 73 70 61 6e 20 63 6c 61 | >var</span>.the_frame:.<span.cla |
| 6a6a0 | 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 20 3d 20 3c 73 | ss="tok-kw">anyframe</span>.=.<s |
| 6a6c0 | 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</ |
| 6a6e0 | 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c | span>;.<span.class="tok-kw">var< |
| 6a700 | 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | /span>.result.=.<span.class="tok |
| 6a720 | 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 | -null">false</span>;..<span.clas |
| 6a740 | 73 3d 22 74 6f 6b 2d 6b 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 |
| 6a760 | 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 73 79 6e 63 20 66 75 6e 63 74 69 6f | ss="tok-str">"async.functio |
| 6a780 | 6e 20 73 75 73 70 65 6e 64 20 77 69 74 68 20 62 6c 6f 63 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e | n.suspend.with.block"</span |
| 6a7a0 | 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | >.{....._.=.<span.class="tok-kw" |
| 6a7c0 | 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 28 29 | >async</span>.testSuspendBlock() |
| 6a7e0 | 3b 0a 20 20 20 20 61 73 73 65 72 74 28 21 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 3c 73 70 61 6e | ;.....assert(!result);.....<span |
| 6a800 | 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 74 68 | .class="tok-kw">resume</span>.th |
| 6a820 | 65 5f 66 72 61 6d 65 3b 0a 20 20 20 20 61 73 73 65 72 74 28 72 65 73 75 6c 74 29 3b 0a 7d 0a 0a | e_frame;.....assert(result);.}.. |
| 6a840 | 3c 73 70 61 6e 20 63 6c 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>.< |
| 6a860 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 74 65 73 74 53 75 73 70 65 6e 64 42 | span.class="tok-fn">testSuspendB |
| 6a880 | 6c 6f 63 6b 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | lock</span>().<span.class="tok-t |
| 6a8a0 | 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | ype">void</span>.{.....<span.cla |
| 6a8c0 | 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 0a 20 20 20 | ss="tok-kw">suspend</span>.{.... |
| 6a8e0 | 20 20 20 20 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 |
| 6a900 | 6d 65 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | me</span>.assert(<span.class="to |
| 6a920 | 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. |
| 6a940 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e | class="tok-builtin">@frame</span |
| 6a960 | 3e 28 29 29 20 3d 3d 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 | >()).==.*<span.class="tok-builti |
| 6a980 | 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 74 65 73 74 53 75 73 70 65 6e 64 42 6c 6f 63 | n">@Frame</span>(testSuspendBloc |
| 6a9a0 | 6b 29 29 3b 0a 20 20 20 20 20 20 20 20 74 68 65 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 | k));.........the_frame.=.<span.c |
| 6a9c0 | 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e | lass="tok-builtin">@frame</span> |
| 6a9e0 | 28 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 | ();.....}.....result.=.<span.cla |
| 6aa00 | 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f | ss="tok-null">true</span>;.}</co |
| 6aa20 | 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c | de></pre><pre><code.class="shell |
| 6aa40 | 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 | ">$.zig.test.test.zig.1/1.test.& |
| 6aa60 | 71 75 6f 74 3b 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 73 75 73 70 65 6e 64 20 77 69 74 68 | quot;async.function.suspend.with |
| 6aa80 | 20 62 6c 6f 63 6b 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 | .block"...OK.All.1.tests.pa |
| 6aaa0 | 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 | ssed..</code></pre>........<p>.. |
| 6aac0 | 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | .....<code.class="zig"><span.cla |
| 6aae0 | 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 63 6f 64 65 | ss="tok-kw">suspend</span></code |
| 6ab00 | 3e 20 63 61 75 73 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 62 65 20 3c 63 6f 64 65 20 | >.causes.a.function.to.be.<code. |
| 6ab20 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | class="zig"><span.class="tok-kw" |
| 6ab40 | 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e | >async</span></code>........</p> |
| 6ab60 | 0a 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 52 65 73 75 6d 69 6e 67 2d 66 72 6f 6d 2d 53 75 | ........<h3.id="Resuming-from-Su |
| 6ab80 | 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 75 | spend-Blocks"><a.href="#toc-Resu |
| 6aba0 | 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 69 | ming-from-Suspend-Blocks">Resumi |
| 6abc0 | 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 6c | ng.from.Suspend.Blocks</a>.<a.cl |
| 6abe0 | 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 53 | ass="hdr".href="#Resuming-from-S |
| 6ac00 | 75 73 70 65 6e 64 2d 42 6c 6f 63 6b 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 | uspend-Blocks">..</a></h3>...... |
| 6ac20 | 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 64 | ..<p>.......Upon.entering.a.<cod |
| 6ac40 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | e.class="zig"><span.class="tok-k |
| 6ac60 | 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 6c 6f 63 6b 2c 20 | w">suspend</span></code>.block,. |
| 6ac80 | 74 68 65 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6c 72 65 61 64 79 20 63 6f | the.async.function.is.already.co |
| 6aca0 | 6e 73 69 64 65 72 65 64 0a 20 20 20 20 20 20 73 75 73 70 65 6e 64 65 64 2c 20 61 6e 64 20 63 61 | nsidered.......suspended,.and.ca |
| 6acc0 | 6e 20 62 65 20 72 65 73 75 6d 65 64 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 79 6f | n.be.resumed..For.example,.if.yo |
| 6ace0 | 75 20 73 74 61 72 74 65 64 20 61 6e 6f 74 68 65 72 20 6b 65 72 6e 65 6c 20 74 68 72 65 61 64 2c | u.started.another.kernel.thread, |
| 6ad00 | 0a 20 20 20 20 20 20 61 6e 64 20 68 61 64 20 74 68 61 74 20 74 68 72 65 61 64 20 63 61 6c 6c 20 | .......and.had.that.thread.call. |
| 6ad20 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 6ad40 | 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 6e 20 74 | ok-kw">resume</span></code>.on.t |
| 6ad60 | 68 65 20 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 | he.frame.pointer.provided.by.the |
| 6ad80 | 0a 20 20 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 | .......<a.href="#frame">@frame</ |
| 6ada0 | 61 3e 2c 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 | a>,.the.new.thread.would.begin.e |
| 6adc0 | 78 65 63 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 | xecuting.after.the.suspend...... |
| 6ade0 | 20 62 6c 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 | .block,.while.the.old.thread.con |
| 6ae00 | 74 69 6e 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 | tinued.executing.the.suspend.blo |
| 6ae20 | 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 20 20 20 20 48 | ck........</p>.......<p>.......H |
| 6ae40 | 6f 77 65 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 | owever,.the.async.function.can.b |
| 6ae60 | 65 20 64 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 | e.directly.resumed.from.the.susp |
| 6ae80 | 65 6e 64 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 | end.block,.in.which.case.it..... |
| 6aea0 | 20 20 6e 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 | ..never.returns.to.its.resumer.a |
| 6aec0 | 6e 64 20 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 | nd.continues.executing........</ |
| 6aee0 | 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 | p>.......<p.class="file">test.zi |
| 6af00 | 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | g</p><pre><code.class="zig"><spa |
| 6af20 | 6e 20 63 6c 61 73 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 |
| 6af40 | 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 |
| 6af60 | 6d 70 6f 72 74 3c 2f 73 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 |
| 6af80 | 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 | r">"std"</span>);.<spa |
| 6afa0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 | n.class="tok-kw">const</span>.as |
| 6afc0 | 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 | sert.=.std.debug.assert;..<span. |
| 6afe0 | 63 6c 61 73 73 3d 22 74 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 |
| 6b000 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 65 73 75 6d 65 20 66 72 | .class="tok-str">"resume.fr |
| 6b020 | 6f 6d 20 73 75 73 70 65 6e 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 | om.suspend"</span>.{.....<s |
| 6b040 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6d 79 | pan.class="tok-kw">var</span>.my |
| 6b060 | 5f 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | _result:.<span.class="tok-type"> |
| 6b080 | 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 |
| 6b0a0 | 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c | mber">1</span>;....._.=.<span.cl |
| 6b0c0 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 74 65 73 74 52 65 | ass="tok-kw">async</span>.testRe |
| 6b0e0 | 73 75 6d 65 46 72 6f 6d 53 75 73 70 65 6e 64 28 26 61 6d 70 3b 6d 79 5f 72 65 73 75 6c 74 29 3b | sumeFromSuspend(&my_result); |
| 6b100 | 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 28 6d 79 5f 72 65 73 75 6c 74 20 | .....std.debug.assert(my_result. |
| 6b120 | 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 |
| 6b140 | 70 61 6e 3e 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e | pan>);.}.<span.class="tok-kw">fn |
| 6b160 | 3c 2f 73 70 61 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 | </span>.<span.class="tok-fn">tes |
| 6b180 | 74 52 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 | tResumeFromSuspend</span>(my_res |
| 6b1a0 | 75 6c 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 | ult:.*<span.class="tok-type">i32 |
| 6b1c0 | 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"> |
| 6b1e0 | 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | void</span>.{.....<span.class="t |
| 6b200 | 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 | ok-kw">suspend</span>.{......... |
| 6b220 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 | <span.class="tok-kw">resume</spa |
| 6b240 | 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 66 72 | n>.<span.class="tok-builtin">@fr |
| 6b260 | 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 6d 79 5f 72 65 73 75 6c | ame</span>();.....}.....my_resul |
| 6b280 | 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 6d 62 65 72 22 3e | t.*.+=.<span.class="tok-number"> |
| 6b2a0 | 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | 1</span>;.....<span.class="tok-k |
| 6b2c0 | 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 6d 79 5f 72 65 73 75 6c 74 | w">suspend</span>;.....my_result |
| 6b2e0 | 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 | .*.+=.<span.class="tok-number">1 |
| 6b300 | 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 | </span>;.}</code></pre><pre><cod |
| 6b320 | 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e | e.class="shell">$.zig.test.test. |
| 6b340 | 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 72 65 73 75 6d 65 20 66 72 6f 6d 20 73 | zig.1/1.test."resume.from.s |
| 6b360 | 75 73 70 65 6e 64 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 | uspend"...OK.All.1.tests.pa |
| 6b380 | 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 | ssed..</code></pre>........<p>.. |
| 6b3a0 | 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 20 | .....This.is.guaranteed.to.tail. |
| 6b3c0 | 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 75 | call,.and.therefore.will.not.cau |
| 6b3e0 | 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 3e | se.a.new.stack.frame........</p> |
| 6b400 | 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 41 73 | ......................<h2.id="As |
| 6b420 | 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 79 | ync-and-Await"><a.href="#toc-Asy |
| 6b440 | 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 61 | nc-and-Await">Async.and.Await</a |
| 6b460 | 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 6e | >.<a.class="hdr".href="#Async-an |
| 6b480 | 64 2d 41 77 61 69 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a | d-Await">..</a></h2>........<p>. |
| 6b4a0 | 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 79 | ......In.the.same.way.that.every |
| 6b4c0 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .<code.class="zig"><span.class=" |
| 6b4e0 | 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 | tok-kw">suspend</span></code>.ha |
| 6b500 | 73 20 61 20 6d 61 74 63 68 69 6e 67 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | s.a.matching.......<code.class=" |
| 6b520 | 7a 69 67 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 | zig"><span.class="tok-kw">resume |
| 6b540 | 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 65 76 65 72 79 20 3c 63 6f 64 65 20 63 6c 61 73 | </span></code>,.every.<code.clas |
| 6b560 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-kw">asy |
| 6b580 | 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 20 6d 61 74 63 68 69 6e 67 20 | nc</span></code>.has.a.matching. |
| 6b5a0 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 6b5c0 | 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 | ok-kw">await</span></code>...... |
| 6b5e0 | 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 | ..</p>.......<p.class="file">tes |
| 6b600 | 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | t.zig</p><pre><code.class="zig"> |
| 6b620 | 3c 73 70 61 6e 20 63 6c 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 |
| 6b640 | 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 |
| 6b660 | 22 3e 40 69 6d 70 6f 72 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 |
| 6b680 | 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a | k-str">"std"</span>);. |
| 6b6a0 | 3c 73 70 61 6e 20 63 6c 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 |
| 6b6c0 | 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 | >.assert.=.std.debug.assert;..<s |
| 6b6e0 | 70 61 6e 20 63 6c 61 73 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>.< |
| 6b700 | 73 70 61 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">"async |
| 6b720 | 20 61 6e 64 20 61 77 61 69 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 | .and.await"</span>.{.....<s |
| 6b740 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 48 65 72 65 20 | pan.class="tok-comment">//.Here. |
| 6b760 | 77 65 20 68 61 76 65 20 61 6e 20 65 78 63 65 70 74 69 6f 6e 20 77 68 65 72 65 20 77 65 20 64 6f | we.have.an.exception.where.we.do |
| 6b780 | 20 6e 6f 74 20 6d 61 74 63 68 20 61 6e 20 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c | .not.match.an.async</span>.....< |
| 6b7a0 | 73 70 61 6e 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 | span.class="tok-comment">//.with |
| 6b7c0 | 20 61 6e 20 61 77 61 69 74 2e 20 54 68 65 20 74 65 73 74 20 62 6c 6f 63 6b 20 69 73 20 6e 6f 74 | .an.await..The.test.block.is.not |
| 6b7e0 | 20 61 73 79 6e 63 20 61 6e 64 20 73 6f 20 63 61 6e 6e 6f 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 | .async.and.so.cannot</span>..... |
| 6b800 | 3c 73 70 61 6e 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 61 76 | <span.class="tok-comment">//.hav |
| 6b820 | 65 20 61 20 73 75 73 70 65 6e 64 20 70 6f 69 6e 74 20 69 6e 20 69 74 2e 3c 2f 73 70 61 6e 3e 0a | e.a.suspend.point.in.it.</span>. |
| 6b840 | 20 20 20 20 3c 73 70 61 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">// |
| 6b860 | 20 54 68 69 73 20 69 73 20 77 65 6c 6c 2d 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2c 20 | .This.is.well-defined.behavior,. |
| 6b880 | 61 6e 64 20 65 76 65 72 79 74 68 69 6e 67 20 69 73 20 4f 4b 20 68 65 72 65 2e 3c 2f 73 70 61 6e | and.everything.is.OK.here.</span |
| 6b8a0 | 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e | >.....<span.class="tok-comment"> |
| 6b8c0 | 2f 2f 20 4e 6f 74 65 20 68 6f 77 65 76 65 72 20 74 68 61 74 20 74 68 65 72 65 20 77 6f 75 6c 64 | //.Note.however.that.there.would |
| 6b8e0 | 20 62 65 20 6e 6f 20 77 61 79 20 74 6f 20 63 6f 6c 6c 65 63 74 20 74 68 65 3c 2f 73 70 61 6e 3e | .be.no.way.to.collect.the</span> |
| 6b900 | 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f | .....<span.class="tok-comment">/ |
| 6b920 | 2f 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 61 6d 61 69 6e 2c 20 69 66 20 69 74 20 77 | /.return.value.of.amain,.if.it.w |
| 6b940 | 65 72 65 20 73 6f 6d 65 74 68 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 76 6f 69 64 2e 3c 2f | ere.something.other.than.void.</ |
| 6b960 | 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | span>....._.=.<span.class="tok-k |
| 6b980 | 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 61 6d 61 69 6e 28 29 3b 0a 7d 0a 0a 3c 73 70 61 | w">async</span>.amain();.}..<spa |
| 6b9a0 | 6e 20 63 6c 61 73 73 3d 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 |
| 6b9c0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c | .class="tok-fn">amain</span>().< |
| 6b9e0 | 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 |
| 6ba00 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 | >.{.....<span.class="tok-kw">var |
| 6ba20 | 3c 2f 73 70 61 6e 3e 20 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | </span>.frame.=.<span.class="tok |
| 6ba40 | 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 0a 20 20 20 20 3c 73 | -kw">async</span>.func();.....<s |
| 6ba60 | 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 |
| 6ba80 | 6e 3e 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 | n>.assert(<span.class="tok-built |
| 6baa0 | 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 72 61 6d 65 29 20 3d 3d 20 3c 73 70 | in">@TypeOf</span>(frame).==.<sp |
| 6bac0 | 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 |
| 6bae0 | 70 61 6e 3e 28 66 75 6e 63 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | pan>(func));......<span.class="t |
| 6bb00 | 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 74 72 3a 20 3c 73 70 61 6e 20 63 | ok-kw">const</span>.ptr:.<span.c |
| 6bb20 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 2d 26 67 | lass="tok-kw">anyframe</span>-&g |
| 6bb40 | 74 3b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 | t;<span.class="tok-type">void</s |
| 6bb60 | 70 61 6e 3e 20 3d 20 26 61 6d 70 3b 66 72 61 6d 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | pan>.=.&frame;.....<span.cla |
| 6bb80 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6e 79 5f 70 74 72 | ss="tok-kw">const</span>.any_ptr |
| 6bba0 | 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c | :.<span.class="tok-kw">anyframe< |
| 6bbc0 | 2f 73 70 61 6e 3e 20 3d 20 70 74 72 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | /span>.=.ptr;......<span.class=" |
| 6bbe0 | 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 61 6e 79 5f 70 74 72 3b 0a 20 | tok-kw">resume</span>.any_ptr;.. |
| 6bc00 | 20 20 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 73 | ...<span.class="tok-kw">await</s |
| 6bc20 | 70 61 6e 3e 20 70 74 72 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | pan>.ptr;.}..<span.class="tok-kw |
| 6bc40 | 22 3e 66 6e 3c 2f 73 70 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" |
| 6bc60 | 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 2d | >func</span>().<span.class="tok- |
| 6bc80 | 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | type">void</span>.{.....<span.cl |
| 6bca0 | 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 3b 0a 7d 3c 2f | ass="tok-kw">suspend</span>;.}</ |
| 6bcc0 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 | code></pre><pre><code.class="she |
| 6bce0 | 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 | ll">$.zig.test.test.zig.1/1.test |
| 6bd00 | 20 26 71 75 6f 74 3b 61 73 79 6e 63 20 61 6e 64 20 61 77 61 69 74 26 71 75 6f 74 3b 2e 2e 2e 4f | ."async.and.await"...O |
| 6bd20 | 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 | K.All.1.tests.passed..</code></p |
| 6bd40 | 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 20 63 | re>........<p>.......The.<code.c |
| 6bd60 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | lass="zig"><span.class="tok-kw"> |
| 6bd80 | 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 69 73 20 75 | await</span></code>.keyword.is.u |
| 6bda0 | 73 65 64 20 74 6f 20 63 6f 6f 72 64 69 6e 61 74 65 20 77 69 74 68 20 61 6e 20 61 73 79 6e 63 20 | sed.to.coordinate.with.an.async. |
| 6bdc0 | 66 75 6e 63 74 69 6f 6e 27 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | function's.......<code.class="zi |
| 6bde0 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f | g"><span.class="tok-kw">return</ |
| 6be00 | 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 61 74 65 6d 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f | span></code>.statement........</ |
| 6be20 | 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | p>.......<p>.......<code.class=" |
| 6be40 | 7a 69 67 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 | zig"><span.class="tok-kw">await< |
| 6be60 | 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 6f 69 6e 74 | /span></code>.is.a.suspend.point |
| 6be80 | 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 79 74 68 69 | ,.and.takes.as.an.operand.anythi |
| 6bea0 | 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 64 65 20 63 | ng.that.......coerces.to.<code.c |
| 6bec0 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | lass="zig"><span.class="tok-kw"> |
| 6bee0 | 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 2d 26 67 74 3b 54 3c 2f 63 6f 64 65 3e 2e 0a 20 20 | anyframe</span>->T</code>.... |
| 6bf00 | 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 69 | ....</p>.......<p>.......There.i |
| 6bf20 | 73 20 61 20 63 6f 6d 6d 6f 6e 20 6d 69 73 63 6f 6e 63 65 70 74 69 6f 6e 20 74 68 61 74 20 3c 63 | s.a.common.misconception.that.<c |
| 6bf40 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 6bf60 | 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 73 75 6d 65 73 | -kw">await</span></code>.resumes |
| 6bf80 | 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 49 74 20 69 | .the.target.function........It.i |
| 6bfa0 | 73 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 20 61 72 6f 75 6e 64 3a 20 69 74 20 73 75 73 70 65 | s.the.other.way.around:.it.suspe |
| 6bfc0 | 6e 64 73 20 75 6e 74 69 6c 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 20 63 6f | nds.until.the.target.function.co |
| 6bfe0 | 6d 70 6c 65 74 65 73 2e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 20 65 76 65 6e 74 20 74 68 61 74 | mpletes........In.the.event.that |
| 6c000 | 20 74 68 65 20 74 61 72 67 65 74 20 66 75 6e 63 74 69 6f 6e 20 68 61 73 20 61 6c 72 65 61 64 79 | .the.target.function.has.already |
| 6c020 | 20 63 6f 6d 70 6c 65 74 65 64 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | .completed,.<code.class="zig"><s |
| 6c040 | 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>< |
| 6c060 | 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 64 6f 65 73 20 6e 6f 74 20 73 75 73 70 65 6e 64 3b 20 69 | /code>.......does.not.suspend;.i |
| 6c080 | 6e 73 74 65 61 64 20 69 74 20 63 6f 70 69 65 73 20 74 68 65 0a 20 20 20 20 20 20 72 65 74 75 72 | nstead.it.copies.the.......retur |
| 6c0a0 | 6e 20 76 61 6c 75 65 20 64 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 74 68 65 20 74 61 72 67 65 74 | n.value.directly.from.the.target |
| 6c0c0 | 20 66 75 6e 63 74 69 6f 6e 27 73 20 66 72 61 6d 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 | .function's.frame........</p>... |
| 6c0e0 | 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e | ....<p.class="file">test.zig</p> |
| 6c100 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | <pre><code.class="zig"><span.cla |
| 6c120 | 73 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.=.< |
| 6c140 | 73 70 61 6e 20 63 6c 61 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 |
| 6c160 | 3c 2f 73 70 61 6e 3e 28 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 |
| 6c180 | 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 | uot;std"</span>);.<span.cla |
| 6c1a0 | 73 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 74 20 | ss="tok-kw">const</span>.assert. |
| 6c1c0 | 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | =.std.debug.assert;..<span.class |
| 6c1e0 | 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 74 68 65 5f 66 72 61 6d 65 3a 20 | ="tok-kw">var</span>.the_frame:. |
| 6c200 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 | <span.class="tok-kw">anyframe</s |
| 6c220 | 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e | pan>.=.<span.class="tok-null">un |
| 6c240 | 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | defined</span>;.<span.class="tok |
| 6c260 | 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 20 3c 73 | -kw">var</span>.final_result:.<s |
| 6c280 | 70 61 6e 20 63 6c 61 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>. |
| 6c2a0 | 3d 20 3c 73 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 |
| 6c2c0 | 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c | an>;..<span.class="tok-kw">test< |
| 6c2e0 | 2f 73 70 61 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 |
| 6c300 | 6f 74 3b 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 61 77 61 69 74 26 71 75 6f 74 3b 3c 2f 73 | ot;async.function.await"</s |
| 6c320 | 70 61 6e 3e 20 7b 0a 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 | pan>.{.....seq(<span.class="tok- |
| 6c340 | 73 74 72 22 3e 27 61 27 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 | str">'a'</span>);....._.=.<span. |
| 6c360 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 61 6d 61 69 | class="tok-kw">async</span>.amai |
| 6c380 | 6e 28 29 3b 0a 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 | n();.....seq(<span.class="tok-st |
| 6c3a0 | 72 22 3e 27 66 27 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | r">'f'</span>);.....<span.class= |
| 6c3c0 | 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 74 68 65 5f 66 72 61 6d 65 | "tok-kw">resume</span>.the_frame |
| 6c3e0 | 3b 0a 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e | ;.....seq(<span.class="tok-str"> |
| 6c400 | 27 69 27 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 66 69 6e 61 6c 5f 72 65 | 'i'</span>);.....assert(final_re |
| 6c420 | 73 75 6c 74 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 | sult.==.<span.class="tok-number" |
| 6c440 | 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 73 74 64 2e 6d 65 | >1234</span>);.....assert(std.me |
| 6c460 | 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c | m.eql(<span.class="tok-type">u8< |
| 6c480 | 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 73 65 71 5f 70 6f 69 6e 74 73 2c 20 3c 73 70 61 6e 20 63 | /span>,.&seq_points,.<span.c |
| 6c4a0 | 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 62 63 64 65 66 67 68 69 26 71 | lass="tok-str">"abcdefghi&q |
| 6c4c0 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | uot;</span>));.}.<span.class="to |
| 6c4e0 | 6b 2d 6b 77 22 3e 66 6e 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 |
| 6c500 | 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 3d | -fn">amain</span>().<span.class= |
| 6c520 | 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 73 65 71 | "tok-type">void</span>.{.....seq |
| 6c540 | 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 62 27 3c 2f 73 70 61 6e | (<span.class="tok-str">'b'</span |
| 6c560 | 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 | >);.....<span.class="tok-kw">var |
| 6c580 | 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | </span>.f.=.<span.class="tok-kw" |
| 6c5a0 | 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 61 6e 6f 74 68 65 72 28 29 3b 0a 20 20 20 20 73 65 71 | >async</span>.another();.....seq |
| 6c5c0 | 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 65 27 3c 2f 73 70 61 6e | (<span.class="tok-str">'e'</span |
| 6c5e0 | 3e 29 3b 0a 20 20 20 20 66 69 6e 61 6c 5f 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 | >);.....final_result.=.<span.cla |
| 6c600 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 66 3b 0a 20 20 20 20 | ss="tok-kw">await</span>.f;..... |
| 6c620 | 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 3c 2f 73 | seq(<span.class="tok-str">'h'</s |
| 6c640 | 70 61 6e 3e 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e | pan>);.}.<span.class="tok-kw">fn |
| 6c660 | 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6e 6f | </span>.<span.class="tok-fn">ano |
| 6c680 | 74 68 65 72 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | ther</span>().<span.class="tok-t |
| 6c6a0 | 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 | ype">i32</span>.{.....seq(<span. |
| 6c6c0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 63 27 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 | class="tok-str">'c'</span>);.... |
| 6c6e0 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 | .<span.class="tok-kw">suspend</s |
| 6c700 | 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 73 65 71 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | pan>.{.........seq(<span.class=" |
| 6c720 | 74 6f 6b 2d 73 74 72 22 3e 27 64 27 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 74 68 | tok-str">'d'</span>);.........th |
| 6c740 | 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 62 75 69 6c 74 | e_frame.=.<span.class="tok-built |
| 6c760 | 69 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 73 | in">@frame</span>();.....}.....s |
| 6c780 | 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 67 27 3c 2f 73 70 | eq(<span.class="tok-str">'g'</sp |
| 6c7a0 | 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 | an>);.....<span.class="tok-kw">r |
| 6c7c0 | 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | eturn</span>.<span.class="tok-nu |
| 6c7e0 | 6d 62 65 72 22 3e 31 32 33 34 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 | mber">1234</span>;.}..<span.clas |
| 6c800 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 65 71 5f 70 6f 69 6e 74 73 | s="tok-kw">var</span>.seq_points |
| 6c820 | 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 3c | .=.[_]<span.class="tok-type">u8< |
| 6c840 | 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | /span>{<span.class="tok-number"> |
| 6c860 | 30 3c 2f 73 70 61 6e 3e 7d 20 2a 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 | 0</span>}.**.<span.class="tok-st |
| 6c880 | 72 22 3e 26 71 75 6f 74 3b 61 62 63 64 65 66 67 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e | r">"abcdefghi"</span>. |
| 6c8a0 | 6c 65 6e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 | len;.<span.class="tok-kw">var</s |
| 6c8c0 | 70 61 6e 3e 20 73 65 71 5f 69 6e 64 65 78 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | pan>.seq_index:.<span.class="tok |
| 6c8e0 | 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 |
| 6c900 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 | s="tok-number">0</span>;..<span. |
| 6c920 | 63 6c 61 73 73 3d 22 74 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 |
| 6c940 | 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 73 65 71 3c 2f 73 70 61 6e 3e 28 63 3a 20 3c 73 70 61 | lass="tok-fn">seq</span>(c:.<spa |
| 6c960 | 6e 20 63 6c 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 |
| 6c980 | 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> |
| 6c9a0 | 20 7b 0a 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 3d 20 63 | .{.....seq_points[seq_index].=.c |
| 6c9c0 | 3b 0a 20 20 20 20 73 65 71 5f 69 6e 64 65 78 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ;.....seq_index.+=.<span.class=" |
| 6c9e0 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f | tok-number">1</span>;.}</code></ |
| 6ca00 | 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a | pre><pre><code.class="shell">$.z |
| 6ca20 | 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b | ig.test.test.zig.1/1.test." |
| 6ca40 | 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 61 77 61 69 74 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a | async.function.await"...OK. |
| 6ca60 | 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | All.1.tests.passed..</code></pre |
| 6ca80 | 3e 0a 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 2c 20 3c | >........<p>.......In.general,.< |
| 6caa0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 6cac0 | 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6c | k-kw">suspend</span></code>.is.l |
| 6cae0 | 6f 77 65 72 20 6c 65 76 65 6c 20 74 68 61 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | ower.level.than.<code.class="zig |
| 6cb00 | 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 |
| 6cb20 | 61 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 | an></code>..Most.application.... |
| 6cb40 | 20 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 20 63 6c 61 73 | ...code.will.use.only.<code.clas |
| 6cb60 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-kw">asy |
| 6cb80 | 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 | nc</span></code>.and.<code.class |
| 6cba0 | 3d 22 7a 69 67 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 | ="zig"><span.class="tok-kw">awai |
| 6cbc0 | 74 3c 2f 73 70 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 | t</span></code>,.but.event.loop. |
| 6cbe0 | 20 20 20 20 20 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 | ......implementations.will.make. |
| 6cc00 | 75 73 65 20 6f 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | use.of.<code.class="zig"><span.c |
| 6cc20 | 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 63 6f | lass="tok-kw">suspend</span></co |
| 6cc40 | 64 65 3e 20 69 6e 74 65 72 6e 61 6c 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 | de>.internally........</p>...... |
| 6cc60 | 20 0a 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 2d | .........<h2.id="Async-Function- |
| 6cc80 | 45 78 61 6d 70 6c 65 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 | Example"><a.href="#toc-Async-Fun |
| 6cca0 | 63 74 69 6f 6e 2d 45 78 61 6d 70 6c 65 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 20 45 78 | ction-Example">Async.Function.Ex |
| 6ccc0 | 61 6d 70 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 | ample</a>.<a.class="hdr".href="# |
| 6cce0 | 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 2d 45 78 61 6d 70 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f | Async-Function-Example">..</a></ |
| 6cd00 | 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 75 74 74 69 6e 67 20 61 6c 6c | h2>........<p>.......Putting.all |
| 6cd20 | 20 6f 66 20 74 68 69 73 20 74 6f 67 65 74 68 65 72 2c 20 68 65 72 65 20 69 73 20 61 6e 20 65 78 | .of.this.together,.here.is.an.ex |
| 6cd40 | 61 6d 70 6c 65 20 6f 66 20 74 79 70 69 63 61 6c 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 | ample.of.typical.......<code.cla |
| 6cd60 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-kw">as |
| 6cd80 | 79 6e 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2f 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | ync</span></code>/<code.class="z |
| 6cda0 | 69 67 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 | ig"><span.class="tok-kw">await</ |
| 6cdc0 | 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 2f 70 3e 0a 20 | span></code>.usage:.......</p>.. |
| 6cde0 | 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 73 79 6e 63 2e 7a 69 67 3c 2f | .....<p.class="file">async.zig</ |
| 6ce00 | 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | p><pre><code.class="zig"><span.c |
| 6ce20 | 6c 61 73 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.= |
| 6ce40 | 20 3c 73 70 61 6e 20 63 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 |
| 6ce60 | 72 74 3c 2f 73 70 61 6e 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"> |
| 6ce80 | 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 | "std"</span>);.<span.c |
| 6cea0 | 6c 61 73 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 | lass="tok-kw">const</span>.Alloc |
| 6cec0 | 61 74 6f 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 0a 0a 3c 73 70 61 6e | ator.=.std.mem.Allocator;..<span |
| 6cee0 | 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 |
| 6cf00 | 20 63 6c 61 73 73 3d 22 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. |
| 6cf20 | 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 |
| 6cf40 | 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>. |
| 6cf60 | 7b 0a 20 20 20 20 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 | {....._.=.<span.class="tok-kw">a |
| 6cf80 | 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 61 6d 61 69 6e 57 72 61 70 28 29 3b 0a 0a 20 20 20 20 3c 73 | sync</span>.amainWrap();......<s |
| 6cfa0 | 70 61 6e 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 | pan.class="tok-comment">//.Typic |
| 6cfc0 | 61 6c 6c 79 20 77 65 20 77 6f 75 6c 64 20 75 73 65 20 61 6e 20 65 76 65 6e 74 20 6c 6f 6f 70 20 | ally.we.would.use.an.event.loop. |
| 6cfe0 | 74 6f 20 6d 61 6e 61 67 65 20 72 65 73 75 6d 69 6e 67 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f | to.manage.resuming.async.functio |
| 6d000 | 6e 73 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ns,</span>.....<span.class="tok- |
| 6d020 | 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 62 75 74 20 69 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 20 | comment">//.but.in.this.example. |
| 6d040 | 77 65 20 68 61 72 64 20 63 6f 64 65 20 77 68 61 74 20 74 68 65 20 65 76 65 6e 74 20 6c 6f 6f 70 | we.hard.code.what.the.event.loop |
| 6d060 | 20 77 6f 75 6c 64 20 64 6f 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | .would.do,</span>.....<span.clas |
| 6d080 | 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 74 6f 20 6d 61 6b 65 20 74 68 69 6e 67 | s="tok-comment">//.to.make.thing |
| 6d0a0 | 73 20 64 65 74 65 72 6d 69 6e 69 73 74 69 63 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 | s.deterministic.</span>.....<spa |
| 6d0c0 | 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 67 | n.class="tok-kw">resume</span>.g |
| 6d0e0 | 6c 6f 62 61 6c 5f 66 69 6c 65 5f 66 72 61 6d 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | lobal_file_frame;.....<span.clas |
| 6d100 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 20 67 6c 6f 62 61 6c 5f | s="tok-kw">resume</span>.global_ |
| 6d120 | 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | download_frame;.}..<span.class=" |
| 6d140 | 74 6f 6b 2d 6b 77 22 3e 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 |
| 6d160 | 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e 57 72 61 70 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 | ok-fn">amainWrap</span>().<span. |
| 6d180 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 | class="tok-type">void</span>.{.. |
| 6d1a0 | 20 20 20 61 6d 61 69 6e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ...amain().<span.class="tok-kw"> |
| 6d1c0 | 63 61 74 63 68 3c 2f 73 70 61 6e 3e 20 7c 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 73 74 64 2e 64 | catch</span>.|e|.{.........std.d |
| 6d1e0 | 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e | ebug.warn(<span.class="tok-str"> |
| 6d200 | 26 71 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 65 7d 29 3b 0a | "{}\n"</span>,..{e});. |
| 6d220 | 20 20 20 20 20 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< |
| 6d240 | 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e | /span>.(<span.class="tok-builtin |
| 6d260 | 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 20 7c 74 | ">@errorReturnTrace</span>()).|t |
| 6d280 | 72 61 63 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 64 75 | race|.{.............std.debug.du |
| 6d2a0 | 6d 70 53 74 61 63 6b 54 72 61 63 65 28 74 72 61 63 65 2e 2a 29 3b 0a 20 20 20 20 20 20 20 20 7d | mpStackTrace(trace.*);.........} |
| 6d2c0 | 0a 20 20 20 20 20 20 20 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 65 78 69 74 28 3c 73 70 61 6e 20 | .........std.process.exit(<span. |
| 6d2e0 | 63 6c 61 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 0a 20 20 | class="tok-number">1</span>);... |
| 6d300 | 20 20 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c | ..};.}..<span.class="tok-kw">fn< |
| 6d320 | 2f 73 70 61 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 |
| 6d340 | 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | n</span>().!<span.class="tok-typ |
| 6d360 | 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | e">void</span>.{.....<span.class |
| 6d380 | 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 | ="tok-kw">const</span>.allocator |
| 6d3a0 | 20 3d 20 73 74 64 2e 68 65 61 70 2e 70 61 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 3b 0a 20 20 20 20 | .=.std.heap.page_allocator;..... |
| 6d3c0 | 3c 73 70 61 6e 20 63 6c 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>. |
| 6d3e0 | 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 |
| 6d400 | 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 65 74 63 68 55 72 6c 28 61 6c 6c 6f | k-kw">async</span>.fetchUrl(allo |
| 6d420 | 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 72 22 3e 26 71 75 | cator,.<span.class="tok-str">&qu |
| 6d440 | 6f 74 3b 68 74 74 70 73 3a 2f 2f 65 78 61 6d 70 6c 65 2e 63 6f 6d 2f 26 71 75 6f 74 3b 3c 2f 73 | ot;https://example.com/"</s |
| 6d460 | 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | pan>);.....<span.class="tok-kw"> |
| 6d480 | 76 61 72 3c 2f 73 70 61 6e 3e 20 61 77 61 69 74 65 64 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d | var</span>.awaited_download_fram |
| 6d4a0 | 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 |
| 6d4c0 | 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | </span>;.....<span.class="tok-kw |
| 6d4e0 | 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 |
| 6d500 | 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 6c | ok-kw">if</span>.(!awaited_downl |
| 6d520 | 6f 61 64 5f 66 72 61 6d 65 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | oad_frame).{.........<span.class |
| 6d540 | 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 | ="tok-kw">if</span>.(<span.class |
| 6d560 | 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f | ="tok-kw">await</span>.download_ |
| 6d580 | 66 72 61 6d 65 29 20 7c 72 7c 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 29 20 3c 73 70 | frame).|r|.allocator.free(r).<sp |
| 6d5a0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f | an.class="tok-kw">else</span>.|_ |
| 6d5c0 | 7c 20 7b 7d 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | |.{}.....};......<span.class="to |
| 6d5e0 | 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 6d 65 20 3d 20 3c 73 | k-kw">var</span>.file_frame.=.<s |
| 6d600 | 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>. |
| 6d620 | 72 65 61 64 46 69 6c 65 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | readFile(allocator,.<span.class= |
| 6d640 | 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 6f 6d 65 74 68 69 6e 67 2e 74 78 74 26 71 75 | "tok-str">"something.txt&qu |
| 6d660 | 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ot;</span>);.....<span.class="to |
| 6d680 | 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 5f 66 72 | k-kw">var</span>.awaited_file_fr |
| 6d6a0 | 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 66 61 6c | ame.=.<span.class="tok-null">fal |
| 6d6c0 | 73 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | se</span>;.....<span.class="tok- |
| 6d6e0 | 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= |
| 6d700 | 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 21 61 77 61 69 74 65 64 5f 66 69 6c | "tok-kw">if</span>.(!awaited_fil |
| 6d720 | 65 5f 66 72 61 6d 65 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | e_frame).{.........<span.class=" |
| 6d740 | 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | tok-kw">if</span>.(<span.class=" |
| 6d760 | 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 65 29 | tok-kw">await</span>.file_frame) |
| 6d780 | 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 61 | .|r|.allocator.free(r).<span.cla |
| 6d7a0 | 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 0a 20 | ss="tok-kw">else</span>.|_|.{}.. |
| 6d7c0 | 20 20 20 7d 3b 0a 0a 20 20 20 20 61 77 61 69 74 65 64 5f 66 69 6c 65 5f 66 72 61 6d 65 20 3d 20 | ...};......awaited_file_frame.=. |
| 6d7e0 | 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 |
| 6d800 | 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | n>;.....<span.class="tok-kw">con |
| 6d820 | 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 |
| 6d840 | 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 |
| 6d860 | 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 |
| 6d880 | 6d 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 | me;.....<span.class="tok-kw">def |
| 6d8a0 | 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 66 69 6c 65 5f 74 65 | er</span>.allocator.free(file_te |
| 6d8c0 | 78 74 29 3b 0a 0a 20 20 20 20 61 77 61 69 74 65 64 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 | xt);......awaited_download_frame |
| 6d8e0 | 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f | .=.<span.class="tok-null">true</ |
| 6d900 | 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | span>;.....<span.class="tok-kw"> |
| 6d920 | 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 20 3d 20 3c 73 70 | const</span>.download_text.=.<sp |
| 6d940 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 | an.class="tok-kw">try</span>.<sp |
| 6d960 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 64 | an.class="tok-kw">await</span>.d |
| 6d980 | 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ownload_frame;.....<span.class=" |
| 6d9a0 | 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 66 | tok-kw">defer</span>.allocator.f |
| 6d9c0 | 72 65 65 28 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 29 3b 0a 0a 20 20 20 20 73 74 64 2e 64 65 62 | ree(download_text);......std.deb |
| 6d9e0 | 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 | ug.warn(<span.class="tok-str">&q |
| 6da00 | 75 6f 74 3b 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 | uot;download_text:.{}\n"</s |
| 6da20 | 70 61 6e 3e 2c 20 2e 7b 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 7d 29 3b 0a 20 20 20 20 73 74 64 | pan>,..{download_text});.....std |
| 6da40 | 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 | .debug.warn(<span.class="tok-str |
| 6da60 | 22 3e 26 71 75 6f 74 3b 66 69 6c 65 5f 74 65 78 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 | ">"file_text:.{}\n"</s |
| 6da80 | 70 61 6e 3e 2c 20 2e 7b 66 69 6c 65 5f 74 65 78 74 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c | pan>,..{file_text});.}..<span.cl |
| 6daa0 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 67 6c 6f 62 61 6c 5f 64 | ass="tok-kw">var</span>.global_d |
| 6dac0 | 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 6b 2d | ownload_frame:.<span.class="tok- |
| 6dae0 | 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 73 | kw">anyframe</span>.=.<span.clas |
| 6db00 | 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 3c | s="tok-null">undefined</span>;.< |
| 6db20 | 73 70 61 6e 20 63 6c 61 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 |
| 6db40 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 65 74 63 68 55 72 6c 3c 2f 73 70 61 | pan.class="tok-fn">fetchUrl</spa |
| 6db60 | 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 2a 41 6c 6c 6f 63 61 74 6f 72 2c 20 75 72 6c 3a 20 5b | n>(allocator:.*Allocator,.url:.[ |
| 6db80 | 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 |
| 6dba0 | 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 |
| 6dbc0 | 61 6e 3e 29 20 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 | an>).![]<span.class="tok-type">u |
| 6dbe0 | 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | 8</span>.{.....<span.class="tok- |
| 6dc00 | 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 | kw">const</span>.result.=.<span. |
| 6dc20 | 63 6c 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 6d 65 | class="tok-kw">try</span>.std.me |
| 6dc40 | 6d 2e 64 75 70 65 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | m.dupe(allocator,.<span.class="t |
| 6dc60 | 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ok-type">u8</span>,.<span.class= |
| 6dc80 | 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 74 68 65 20 64 6f 77 6e | "tok-str">"this.is.the.down |
| 6dca0 | 6c 6f 61 64 65 64 20 75 72 6c 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e | loaded.url.contents"</span> |
| 6dcc0 | 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 64 | );.....<span.class="tok-kw">errd |
| 6dce0 | 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 6c | efer</span>.allocator.free(resul |
| 6dd00 | 74 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 75 73 | t);.....<span.class="tok-kw">sus |
| 6dd20 | 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 5f 64 6f 77 | pend</span>.{.........global_dow |
| 6dd40 | 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 | nload_frame.=.<span.class="tok-b |
| 6dd60 | 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 3b 0a 20 20 20 20 7d 0a 20 | uiltin">@frame</span>();.....}.. |
| 6dd80 | 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ...std.debug.warn(<span.class="t |
| 6dda0 | 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 67 | ok-str">"fetchUrl.returning |
| 6ddc0 | 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e | \n"</span>,..{});.....<span |
| 6dde0 | 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 65 | .class="tok-kw">return</span>.re |
| 6de00 | 73 75 6c 74 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 | sult;.}..<span.class="tok-kw">va |
| 6de20 | 72 3c 2f 73 70 61 6e 3e 20 67 6c 6f 62 61 6c 5f 66 69 6c 65 5f 66 72 61 6d 65 3a 20 3c 73 70 61 | r</span>.global_file_frame:.<spa |
| 6de40 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e | n.class="tok-kw">anyframe</span> |
| 6de60 | 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 |
| 6de80 | 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | ned</span>;.<span.class="tok-kw" |
| 6dea0 | 3e 66 6e 3c 2f 73 70 61 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"> |
| 6dec0 | 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 20 2a 41 6c 6c 6f | readFile</span>(allocator:.*Allo |
| 6dee0 | 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 61 73 73 3d 22 | cator,.filename:.[]<span.class=" |
| 6df00 | 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 |
| 6df20 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 3c 73 70 61 6e 20 | ="tok-type">u8</span>).![]<span. |
| 6df40 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | class="tok-type">u8</span>.{.... |
| 6df60 | 20 3c 73 70 61 6e 20 63 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 |
| 6df80 | 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" |
| 6dfa0 | 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 6d 65 6d 2e 64 75 70 65 28 61 6c 6c 6f 63 61 74 | >try</span>.std.mem.dupe(allocat |
| 6dfc0 | 6f 72 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 38 3c 2f 73 | or,.<span.class="tok-type">u8</s |
| 6dfe0 | 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 |
| 6e000 | 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" |
| 6e020 | 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ;</span>);.....<span.class="tok- |
| 6e040 | 6b 77 22 3e 65 72 72 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 | kw">errdefer</span>.allocator.fr |
| 6e060 | 65 65 28 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ee(result);.....<span.class="tok |
| 6e080 | 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 67 6c | -kw">suspend</span>.{.........gl |
| 6e0a0 | 6f 62 61 6c 5f 66 69 6c 65 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | obal_file_frame.=.<span.class="t |
| 6e0c0 | 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 0a 20 20 20 | ok-builtin">@frame</span>();.... |
| 6e0e0 | 20 7d 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 | .}.....std.debug.warn(<span.clas |
| 6e100 | 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 74 75 72 | s="tok-str">"readFile.retur |
| 6e120 | 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 0a 20 20 20 20 3c | ning\n"</span>,..{});.....< |
| 6e140 | 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 |
| 6e160 | 3e 20 72 65 73 75 6c 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f | >.result;.}</code></pre><pre><co |
| 6e180 | 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 | de.class="shell">$.zig.build-exe |
| 6e1a0 | 20 61 73 79 6e 63 2e 7a 69 67 0a 24 20 2e 2f 61 73 79 6e 63 0a 72 65 61 64 46 69 6c 65 20 72 65 | .async.zig.$../async.readFile.re |
| 6e1c0 | 74 75 72 6e 69 6e 67 0a 66 65 74 63 68 55 72 6c 20 72 65 74 75 72 6e 69 6e 67 0a 64 6f 77 6e 6c | turning.fetchUrl.returning.downl |
| 6e1e0 | 6f 61 64 5f 74 65 78 74 3a 20 74 68 69 73 20 69 73 20 74 68 65 20 64 6f 77 6e 6c 6f 61 64 65 64 | oad_text:.this.is.the.downloaded |
| 6e200 | 20 75 72 6c 20 63 6f 6e 74 65 6e 74 73 0a 66 69 6c 65 5f 74 65 78 74 3a 20 74 68 69 73 20 69 73 | .url.contents.file_text:.this.is |
| 6e220 | 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 74 65 6e 74 73 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | .the.file.contents.</code></pre> |
| 6e240 | 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 77 20 77 65 20 72 65 6d 6f 76 65 20 | ........<p>.......Now.we.remove. |
| 6e260 | 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | the.<code.class="zig"><span.clas |
| 6e280 | 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 63 6f 64 65 3e | s="tok-kw">suspend</span></code> |
| 6e2a0 | 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | .and.<code.class="zig"><span.cla |
| 6e2c0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 73 75 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e | ss="tok-kw">resume</span></code> |
| 6e2e0 | 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 61 6d | .code,.and.......observe.the.sam |
| 6e300 | 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 65 72 | e.behavior,.with.one.tiny.differ |
| 6e320 | 65 6e 63 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d | ence:.......</p>.......<p.class= |
| 6e340 | 22 66 69 6c 65 22 3e 62 6c 6f 63 6b 69 6e 67 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 | "file">blocking.zig</p><pre><cod |
| 6e360 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | e.class="zig"><span.class="tok-k |
| 6e380 | 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 |
| 6e3a0 | 73 3d 22 74 6f 6b 2d 62 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>(< |
| 6e3c0 | 73 70 61 6e 20 63 6c 61 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">"std&q |
| 6e3e0 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | uot;</span>);.<span.class="tok-k |
| 6e400 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 41 6c 6c 6f 63 61 74 6f 72 20 3d 20 73 74 64 2e | w">const</span>.Allocator.=.std. |
| 6e420 | 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | mem.Allocator;..<span.class="tok |
| 6e440 | 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 |
| 6e460 | 2d 6b 77 22 3e 66 6e 3c 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- |
| 6e480 | 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | fn">main</span>().<span.class="t |
| 6e4a0 | 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 5f 20 3d 20 3c | ok-type">void</span>.{....._.=.< |
| 6e4c0 | 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> |
| 6e4e0 | 20 61 6d 61 69 6e 57 72 61 70 28 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | .amainWrap();.}..<span.class="to |
| 6e500 | 6b 2d 6b 77 22 3e 66 6e 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 |
| 6e520 | 2d 66 6e 22 3e 61 6d 61 69 6e 57 72 61 70 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c | -fn">amainWrap</span>().<span.cl |
| 6e540 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | ass="tok-type">void</span>.{.... |
| 6e560 | 20 61 6d 61 69 6e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 | .amain().<span.class="tok-kw">ca |
| 6e580 | 74 63 68 3c 2f 73 70 61 6e 3e 20 7c 65 7c 20 7b 0a 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 | tch</span>.|e|.{.........std.deb |
| 6e5a0 | 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 | ug.warn(<span.class="tok-str">&q |
| 6e5c0 | 75 6f 74 3b 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 65 7d 29 3b 0a 20 20 | uot;{}\n"</span>,..{e});... |
| 6e5e0 | 20 20 20 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 |
| 6e600 | 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e | pan>.(<span.class="tok-builtin"> |
| 6e620 | 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 20 7c 74 72 61 | @errorReturnTrace</span>()).|tra |
| 6e640 | 63 65 7c 20 7b 0a 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 | ce|.{.............std.debug.dump |
| 6e660 | 53 74 61 63 6b 54 72 61 63 65 28 74 72 61 63 65 2e 2a 29 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 | StackTrace(trace.*);.........}.. |
| 6e680 | 20 20 20 20 20 20 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 65 78 69 74 28 3c 73 70 61 6e 20 63 6c | .......std.process.exit(<span.cl |
| 6e6a0 | 61 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 0a 20 20 20 20 | ass="tok-number">1</span>);..... |
| 6e6c0 | 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 | };.}..<span.class="tok-kw">fn</s |
| 6e6e0 | 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 6d 61 69 6e 3c | pan>.<span.class="tok-fn">amain< |
| 6e700 | 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | /span>().!<span.class="tok-type" |
| 6e720 | 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | >void</span>.{.....<span.class=" |
| 6e740 | 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.= |
| 6e760 | 20 73 74 64 2e 68 65 61 70 2e 70 61 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 3b 0a 20 20 20 20 3c 73 | .std.heap.page_allocator;.....<s |
| 6e780 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 64 6f | pan.class="tok-kw">var</span>.do |
| 6e7a0 | 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | wnload_frame.=.<span.class="tok- |
| 6e7c0 | 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 6e 3e 20 66 65 74 63 68 55 72 6c 28 61 6c 6c 6f 63 61 | kw">async</span>.fetchUrl(alloca |
| 6e7e0 | 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 | tor,.<span.class="tok-str">" |
| 6e800 | 3b 68 74 74 70 73 3a 2f 2f 65 78 61 6d 70 6c 65 2e 63 6f 6d 2f 26 71 75 6f 74 3b 3c 2f 73 70 61 | ;https://example.com/"</spa |
| 6e820 | 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 | n>);.....<span.class="tok-kw">va |
| 6e840 | 72 3c 2f 73 70 61 6e 3e 20 61 77 61 69 74 65 64 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 | r</span>.awaited_download_frame. |
| 6e860 | 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f | =.<span.class="tok-null">false</ |
| 6e880 | 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | span>;.....<span.class="tok-kw"> |
| 6e8a0 | 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 6b | errdefer</span>.<span.class="tok |
| 6e8c0 | 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 6c 6f 61 | -kw">if</span>.(!awaited_downloa |
| 6e8e0 | 64 5f 66 72 61 6d 65 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | d_frame).{.........<span.class=" |
| 6e900 | 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | tok-kw">if</span>.(<span.class=" |
| 6e920 | 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 66 72 | tok-kw">await</span>.download_fr |
| 6e940 | 61 6d 65 29 20 7c 72 7c 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 72 29 20 3c 73 70 61 6e | ame).|r|.allocator.free(r).<span |
| 6e960 | 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>.|_|. |
| 6e980 | 7b 7d 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | {}.....};......<span.class="tok- |
| 6e9a0 | 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 69 6c 65 5f 66 72 61 6d 65 20 3d 20 3c 73 70 61 | kw">var</span>.file_frame.=.<spa |
| 6e9c0 | 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 72 65 | n.class="tok-kw">async</span>.re |
| 6e9e0 | 61 64 46 69 6c 65 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | adFile(allocator,.<span.class="t |
| 6ea00 | 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 6f 6d 65 74 68 69 6e 67 2e 74 78 74 26 71 75 6f 74 | ok-str">"something.txt" |
| 6ea20 | 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ;</span>);.....<span.class="tok- |
| 6ea40 | 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 5f 66 72 61 6d | kw">var</span>.awaited_file_fram |
| 6ea60 | 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 |
| 6ea80 | 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | </span>;.....<span.class="tok-kw |
| 6eaa0 | 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 |
| 6eac0 | 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_ |
| 6eae0 | 66 72 61 6d 65 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | frame).{.........<span.class="to |
| 6eb00 | 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 |
| 6eb20 | 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 65 29 20 7c | k-kw">await</span>.file_frame).| |
| 6eb40 | 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 61 73 73 | r|.allocator.free(r).<span.class |
| 6eb60 | 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 5f 7c 20 7b 7d 0a 20 20 20 | ="tok-kw">else</span>.|_|.{}.... |
| 6eb80 | 20 7d 3b 0a 0a 20 20 20 20 61 77 61 69 74 65 64 5f 66 69 6c 65 5f 66 72 61 6d 65 20 3d 20 3c 73 | .};......awaited_file_frame.=.<s |
| 6eba0 | 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> |
| 6ebc0 | 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | ;.....<span.class="tok-kw">const |
| 6ebe0 | 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 3d | </span>.file_text.=.<span.class= |
| 6ec00 | 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 3d | "tok-kw">try</span>.<span.class= |
| 6ec20 | 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 65 | "tok-kw">await</span>.file_frame |
| 6ec40 | 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 | ;.....<span.class="tok-kw">defer |
| 6ec60 | 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 65 28 66 69 6c 65 5f 74 65 78 74 | </span>.allocator.free(file_text |
| 6ec80 | 29 3b 0a 0a 20 20 20 20 61 77 61 69 74 65 64 5f 64 6f 77 6e 6c 6f 61 64 5f 66 72 61 6d 65 20 3d | );......awaited_download_frame.= |
| 6eca0 | 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 |
| 6ecc0 | 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | an>;.....<span.class="tok-kw">co |
| 6ece0 | 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 20 3d 20 3c 73 70 61 6e | nst</span>.download_text.=.<span |
| 6ed00 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e | .class="tok-kw">try</span>.<span |
| 6ed20 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 77 61 69 74 3c 2f 73 70 61 6e 3e 20 64 6f 77 | .class="tok-kw">await</span>.dow |
| 6ed40 | 6e 6c 6f 61 64 5f 66 72 61 6d 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | nload_frame;.....<span.class="to |
| 6ed60 | 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 2e 66 72 65 | k-kw">defer</span>.allocator.fre |
| 6ed80 | 65 28 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 29 3b 0a 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 | e(download_text);......std.debug |
| 6eda0 | 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f | .warn(<span.class="tok-str">&quo |
| 6edc0 | 74 3b 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 | t;download_text:.{}\n"</spa |
| 6ede0 | 6e 3e 2c 20 2e 7b 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 7d 29 3b 0a 20 20 20 20 73 74 64 2e 64 | n>,..{download_text});.....std.d |
| 6ee00 | 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e | ebug.warn(<span.class="tok-str"> |
| 6ee20 | 26 71 75 6f 74 3b 66 69 6c 65 5f 74 65 78 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 | "file_text:.{}\n"</spa |
| 6ee40 | 6e 3e 2c 20 2e 7b 66 69 6c 65 5f 74 65 78 74 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 | n>,..{file_text});.}..<span.clas |
| 6ee60 | 73 3d 22 74 6f 6b 2d 6b 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 |
| 6ee80 | 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 6f 63 61 | ="tok-fn">fetchUrl</span>(alloca |
| 6eea0 | 74 6f 72 3a 20 2a 41 6c 6c 6f 63 61 74 6f 72 2c 20 75 72 6c 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c | tor:.*Allocator,.url:.[]<span.cl |
| 6eec0 | 61 73 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. |
| 6eee0 | 63 6c 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>).![]< |
| 6ef00 | 73 70 61 6e 20 63 6c 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>. |
| 6ef20 | 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | {.....<span.class="tok-kw">const |
| 6ef40 | 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | </span>.result.=.<span.class="to |
| 6ef60 | 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 6d 65 6d 2e 64 75 70 65 28 61 6c | k-kw">try</span>.std.mem.dupe(al |
| 6ef80 | 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 74 79 70 65 22 3e | locator,.<span.class="tok-type"> |
| 6efa0 | 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 | u8</span>,.<span.class="tok-str" |
| 6efc0 | 3e 26 71 75 6f 74 3b 74 68 69 73 20 69 73 20 74 68 65 20 64 6f 77 6e 6c 6f 61 64 65 64 20 75 72 | >"this.is.the.downloaded.ur |
| 6efe0 | 6c 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 | l.contents"</span>);.....<s |
| 6f000 | 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 61 | pan.class="tok-kw">errdefer</spa |
| 6f020 | 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 0a 20 20 20 20 73 | n>.allocator.free(result);.....s |
| 6f040 | 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 | td.debug.warn(<span.class="tok-s |
| 6f060 | 74 72 22 3e 26 71 75 6f 74 3b 66 65 74 63 68 55 72 6c 20 72 65 74 75 72 6e 69 6e 67 5c 6e 26 71 | tr">"fetchUrl.returning\n&q |
| 6f080 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | uot;</span>,..{});.....<span.cla |
| 6f0a0 | 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 74 | ss="tok-kw">return</span>.result |
| 6f0c0 | 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 | ;.}..<span.class="tok-kw">fn</sp |
| 6f0e0 | 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 65 61 64 46 69 6c | an>.<span.class="tok-fn">readFil |
| 6f100 | 65 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 74 6f 72 3a 20 2a 41 6c 6c 6f 63 61 74 6f 72 2c 20 | e</span>(allocator:.*Allocator,. |
| 6f120 | 66 69 6c 65 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | filename:.[]<span.class="tok-kw" |
| 6f140 | 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 |
| 6f160 | 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 21 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ype">u8</span>).![]<span.class=" |
| 6f180 | 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 | tok-type">u8</span>.{.....<span. |
| 6f1a0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 | class="tok-kw">const</span>.resu |
| 6f1c0 | 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 | lt.=.<span.class="tok-kw">try</s |
| 6f1e0 | 70 61 6e 3e 20 73 74 64 2e 6d 65 6d 2e 64 75 70 65 28 61 6c 6c 6f 63 61 74 6f 72 2c 20 3c 73 70 | pan>.std.mem.dupe(allocator,.<sp |
| 6f200 | 61 6e 20 63 6c 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>,.< |
| 6f220 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 68 69 73 20 | span.class="tok-str">"this. |
| 6f240 | 69 73 20 74 68 65 20 66 69 6c 65 20 63 6f 6e 74 65 6e 74 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e | is.the.file.contents"</span |
| 6f260 | 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 | >);.....<span.class="tok-kw">err |
| 6f280 | 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 |
| 6f2a0 | 6c 74 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c | lt);.....std.debug.warn(<span.cl |
| 6f2c0 | 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 74 | ass="tok-str">"readFile.ret |
| 6f2e0 | 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 0a 20 20 20 | urning\n"</span>,..{});.... |
| 6f300 | 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 |
| 6f320 | 61 6e 3e 20 72 65 73 75 6c 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c | an>.result;.}</code></pre><pre>< |
| 6f340 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 | code.class="shell">$.zig.build-e |
| 6f360 | 78 65 20 62 6c 6f 63 6b 69 6e 67 2e 7a 69 67 0a 24 20 2e 2f 62 6c 6f 63 6b 69 6e 67 0a 66 65 74 | xe.blocking.zig.$../blocking.fet |
| 6f380 | 63 68 55 72 6c 20 72 65 74 75 72 6e 69 6e 67 0a 72 65 61 64 46 69 6c 65 20 72 65 74 75 72 6e 69 | chUrl.returning.readFile.returni |
| 6f3a0 | 6e 67 0a 64 6f 77 6e 6c 6f 61 64 5f 74 65 78 74 3a 20 74 68 69 73 20 69 73 20 74 68 65 20 64 6f | ng.download_text:.this.is.the.do |
| 6f3c0 | 77 6e 6c 6f 61 64 65 64 20 75 72 6c 20 63 6f 6e 74 65 6e 74 73 0a 66 69 6c 65 5f 74 65 78 74 3a | wnloaded.url.contents.file_text: |
| 6f3e0 | 20 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 0a 3c 2f 63 6f 64 | .this.is.the.file.contents.</cod |
| 6f400 | 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 72 65 76 69 6f | e></pre>........<p>.......Previo |
| 6f420 | 75 73 6c 79 2c 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 66 65 74 63 | usly,.the.<code.class="zig">fetc |
| 6f440 | 68 55 72 6c 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | hUrl</code>.and.<code.class="zig |
| 6f460 | 22 3e 72 65 61 64 46 69 6c 65 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 73 20 73 75 73 70 | ">readFile</code>.functions.susp |
| 6f480 | 65 6e 64 65 64 2c 0a 20 20 20 20 20 20 61 6e 64 20 77 65 72 65 20 72 65 73 75 6d 65 64 20 69 6e | ended,.......and.were.resumed.in |
| 6f4a0 | 20 61 6e 20 6f 72 64 65 72 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 3c 63 6f 64 | .an.order.determined.by.the.<cod |
| 6f4c0 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 6d 61 69 6e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 | e.class="zig">main</code>.functi |
| 6f4e0 | 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 6e | on..Now,.......since.there.are.n |
| 6f500 | 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 74 | o.suspend.points,.the.order.of.t |
| 6f520 | 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 61 | he.printed."....returning".messa |
| 6f540 | 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 6f | ges.......is.determined.by.the.o |
| 6f560 | 72 64 65 72 20 6f 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | rder.of.<code.class="zig"><span. |
| 6f580 | 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 63 6f 64 | class="tok-kw">async</span></cod |
| 6f5a0 | 65 3e 20 63 61 6c 6c 73 69 74 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a | e>.callsites........</p>........ |
| 6f5c0 | 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 42 75 69 6c 74 69 6e 2d | ................<h1.id="Builtin- |
| 6f5e0 | 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 6e | Functions"><a.href="#toc-Builtin |
| 6f600 | 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 42 75 69 6c 74 69 6e 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 | -Functions">Builtin.Functions</a |
| 6f620 | 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 75 69 6c 74 69 6e 2d | >.<a.class="hdr".href="#Builtin- |
| 6f640 | 46 75 6e 63 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 | Functions">..</a></h1>........<p |
| 6f660 | 3e 0a 20 20 20 20 20 20 42 75 69 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 70 72 | >.......Builtin.functions.are.pr |
| 6f680 | 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 61 6e 64 20 61 72 65 20 70 | ovided.by.the.compiler.and.are.p |
| 6f6a0 | 72 65 66 69 78 65 64 20 77 69 74 68 20 3c 63 6f 64 65 3e 40 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 | refixed.with.<code>@</code>..... |
| 6f6c0 | 20 20 20 54 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | ...The.<code.class="zig"><span.c |
| 6f6e0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 | lass="tok-kw">comptime</span></c |
| 6f700 | 6f 64 65 3e 20 6b 65 79 77 6f 72 64 20 6f 6e 20 61 20 70 61 72 61 6d 65 74 65 72 20 6d 65 61 6e | ode>.keyword.on.a.parameter.mean |
| 6f720 | 73 20 74 68 61 74 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 6d 75 73 74 20 62 65 20 6b 6e 6f | s.that.the.parameter.must.be.kno |
| 6f740 | 77 6e 0a 20 20 20 20 20 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 | wn.......at.compile.time........ |
| 6f760 | 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 61 64 64 57 69 74 68 4f 76 65 72 66 6c | </p>.......<h2.id="addWithOverfl |
| 6f780 | 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f | ow"><a.href="#toc-addWithOverflo |
| 6f7a0 | 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 | w">@addWithOverflow</a>.<a.class |
| 6f7c0 | 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e c2 | ="hdr".href="#addWithOverflow">. |
| 6f7e0 | a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | .</a></h2>........<pre><code.cla |
| 6f800 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-builti |
| 6f820 | 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 73 70 61 6e | n">@addWithOverflow</span>(<span |
| 6f840 | 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>. |
| 6f860 | 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</ |
| 6f880 | 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 54 29 20 3c | span>,.a:.T,.b:.T,.result:.*T).< |
| 6f8a0 | 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 |
| 6f8c0 | 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 |
| 6f8e0 | 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 72 65 73 75 6c 74 | erforms.<code.class="zig">result |
| 6f900 | 2e 2a 20 3d 20 61 20 2b 20 62 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 6f 76 65 72 66 6c 6f 77 20 6f | .*.=.a.+.b</code>..If.overflow.o |
| 6f920 | 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 0a 20 20 20 20 20 20 20 20 20 20 73 74 | r.underflow.occurs,...........st |
| 6f940 | 6f 72 65 73 20 74 68 65 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 74 73 20 69 6e 20 3c 63 6f 64 | ores.the.overflowed.bits.in.<cod |
| 6f960 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 72 65 73 75 6c 74 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 | e.class="zig">result</code>.and. |
| 6f980 | 72 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | returns.<code.class="zig"><span. |
| 6f9a0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f | class="tok-null">true</span></co |
| 6f9c0 | 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 6f 76 65 | de>....................If.no.ove |
| 6f9e0 | 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 20 72 65 74 75 72 | rflow.or.underflow.occurs,.retur |
| 6fa00 | 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | ns.<code.class="zig"><span.class |
| 6fa20 | 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e | ="tok-null">false</span></code>. |
| 6fa40 | 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 32 20 69 64 3d | .......</p>..............<h2.id= |
| 6fa60 | 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 67 6e 43 | "alignCast"><a.href="#toc-alignC |
| 6fa80 | 61 73 74 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 | ast">@alignCast</a>.<a.class="hd |
| 6faa0 | 72 22 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e | r".href="#alignCast">..</a></h2> |
| 6fac0 | 0a 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 7a 69 67 22 3e 3c | ........<pre><code.class="zig">< |
| 6fae0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 43 | span.class="tok-builtin">@alignC |
| 6fb00 | 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ast</span>(<span.class="tok-kw"> |
| 6fb20 | 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 6e 6d 65 6e 74 3a 20 3c 73 70 61 6e | comptime</span>.alignment:.<span |
| 6fb40 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 39 3c 2f 73 70 61 6e 3e 2c 20 70 74 | .class="tok-type">u29</span>,.pt |
| 6fb60 | 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 | r:.<span.class="tok-kw">var</spa |
| 6fb80 | 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 76 61 72 3c 2f 73 70 | n>).<span.class="tok-kw">var</sp |
| 6fba0 | 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>...... |
| 6fbc0 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 70 74 72 3c 2f 63 6f 64 65 3e 20 63 61 | .<code.class="zig">ptr</code>.ca |
| 6fbe0 | 6e 20 62 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2a 54 3c 2f 63 6f 64 65 3e | n.be.<code.class="zig">*T</code> |
| 6fc00 | 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ,.<code.class="zig"><span.class= |
| 6fc20 | 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 29 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f | "tok-kw">fn</span>()</code>,.<co |
| 6fc40 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3f 2a 54 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 | de.class="zig">?*T</code>,...... |
| 6fc60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | .................<code.class="zi |
| 6fc80 | 67 22 3e 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 | g">?<span.class="tok-kw">fn</spa |
| 6fca0 | 6e 3e 28 29 3c 2f 63 6f 64 65 3e 2c 20 6f 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | n>()</code>,.or.<code.class="zig |
| 6fcc0 | 22 3e 5b 5d 54 3c 2f 63 6f 64 65 3e 2e 20 49 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 61 6d | ">[]T</code>..It.returns.the.sam |
| 6fce0 | 65 20 74 79 70 65 20 61 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 70 74 72 3c | e.type.as.<code.class="zig">ptr< |
| 6fd00 | 2f 63 6f 64 65 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 | /code>.......except.with.the.ali |
| 6fd20 | 67 6e 6d 65 6e 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 | gnment.adjusted.to.the.new.value |
| 6fd40 | 2e 0a 20 20 20 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 | ........</p>.......<p>A.<a.href= |
| 6fd60 | 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 74 22 3e 70 | "#Incorrect-Pointer-Alignment">p |
| 6fd80 | 6f 69 6e 74 65 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 | ointer.alignment.safety.check</a |
| 6fda0 | 3e 20 69 73 20 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 | >.is.added.......to.the.generate |
| 6fdc0 | 64 20 63 6f 64 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 | d.code.to.make.sure.the.pointer. |
| 6fde0 | 69 73 20 61 6c 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 | is.aligned.as.promised.</p>..... |
| 6fe00 | 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 61 6c 69 67 6e 4f 66 22 3e 3c 61 20 68 72 | ..........<h2.id="alignOf"><a.hr |
| 6fe20 | 65 66 3d 22 23 74 6f 63 2d 61 6c 69 67 6e 4f 66 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 61 3e 20 3c | ef="#toc-alignOf">@alignOf</a>.< |
| 6fe40 | 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 6c 69 67 6e 4f 66 22 3e c2 a7 | a.class="hdr".href="#alignOf">.. |
| 6fe60 | 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | </a></h2>........<pre><code.clas |
| 6fe80 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-builtin |
| 6fea0 | 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ">@alignOf</span>(<span.class="t |
| 6fec0 | 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. |
| 6fee0 | 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 |
| 6ff00 | 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 |
| 6ff20 | 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a | t</span></code></pre>.......<p>. |
| 6ff40 | 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 68 65 20 | ......This.function.returns.the. |
| 6ff60 | 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 74 68 61 74 20 74 68 69 73 20 74 79 70 65 20 73 | number.of.bytes.that.this.type.s |
| 6ff80 | 68 6f 75 6c 64 20 62 65 20 61 6c 69 67 6e 65 64 20 74 6f 0a 20 20 20 20 20 20 66 6f 72 20 74 68 | hould.be.aligned.to.......for.th |
| 6ffa0 | 65 20 63 75 72 72 65 6e 74 20 74 61 72 67 65 74 20 74 6f 20 6d 61 74 63 68 20 74 68 65 20 43 20 | e.current.target.to.match.the.C. |
| 6ffc0 | 41 42 49 2e 20 57 68 65 6e 20 74 68 65 20 63 68 69 6c 64 20 74 79 70 65 20 6f 66 20 61 20 70 6f | ABI..When.the.child.type.of.a.po |
| 6ffe0 | 69 6e 74 65 72 20 68 61 73 0a 20 20 20 20 20 20 74 68 69 73 20 61 6c 69 67 6e 6d 65 6e 74 2c 20 | inter.has.......this.alignment,. |
| 70000 | 74 68 65 20 61 6c 69 67 6e 6d 65 6e 74 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 66 72 6f | the.alignment.can.be.omitted.fro |
| 70020 | 6d 20 74 68 65 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 72 | m.the.type........</p>.......<pr |
| 70040 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e><code.class="zig"><span.class= |
| 70060 | 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.=.< |
| 70080 | 73 70 61 6e 20 63 6c 61 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 |
| 700a0 | 3c 2f 73 70 61 6e 3e 28 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 |
| 700c0 | 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"</span>).debug.asse |
| 700e0 | 72 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d | rt;.<span.class="tok-kw">comptim |
| 70100 | 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 2a 3c 73 70 61 6e 20 63 6c 61 | e</span>.{.....assert(*<span.cla |
| 70120 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 3d 20 2a 3c 73 70 | ss="tok-type">u32</span>.==.*<sp |
| 70140 | 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>(< |
| 70160 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 4f | span.class="tok-builtin">@alignO |
| 70180 | 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | f</span>(<span.class="tok-type"> |
| 701a0 | 75 33 32 3c 2f 73 70 61 6e 3e 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | u32</span>)).<span.class="tok-ty |
| 701c0 | 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a | pe">u32</span>);.}</code></pre>. |
| 701e0 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 | ......<p>.......The.result.is.a. |
| 70200 | 74 61 72 67 65 74 2d 73 70 65 63 69 66 69 63 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e | target-specific.compile.time.con |
| 70220 | 73 74 61 6e 74 2e 20 49 74 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 0a 20 20 | stant..It.is.guaranteed.to.be... |
| 70240 | 20 20 20 20 6c 65 73 73 20 74 68 61 6e 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 3c 61 20 68 72 65 | ....less.than.or.equal.to.<a.hre |
| 70260 | 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 4f 66 28 54 29 3c 2f 61 3e 2e 0a 20 20 20 20 | f="#sizeOf">@sizeOf(T)</a>...... |
| 70280 | 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 |
| 702a0 | 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 41 6c 69 67 6e 6d 65 6e 74 22 3e 41 6c 69 67 6e | >.<li><a.href="#Alignment">Align |
| 702c0 | 6d 65 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 | ment</a></li>.</ul>............. |
| 702e0 | 20 20 20 3c 68 32 20 69 64 3d 22 61 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 73 22 | ...<h2.id="as"><a.href="#toc-as" |
| 70300 | 3e 40 61 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 | >@as</a>.<a.class="hdr".href="#a |
| 70320 | 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 | s">..</a></h2>........<pre><code |
| 70340 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 | .class="zig"><span.class="tok-bu |
| 70360 | 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 |
| 70380 | 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. |
| 703a0 | 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 65 78 | class="tok-type">type</span>,.ex |
| 703c0 | 70 72 65 73 73 69 6f 6e 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c | pression).T</code></pre>.......< |
| 703e0 | 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 | p>.......Performs.<a.href="#Type |
| 70400 | 2d 43 6f 65 72 63 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 2e 20 54 68 | -Coercion">Type.Coercion</a>..Th |
| 70420 | 69 73 20 63 61 73 74 20 69 73 20 61 6c 6c 6f 77 65 64 20 77 68 65 6e 20 74 68 65 20 63 6f 6e 76 | is.cast.is.allowed.when.the.conv |
| 70440 | 65 72 73 69 6f 6e 20 69 73 20 75 6e 61 6d 62 69 67 75 6f 75 73 20 61 6e 64 20 73 61 66 65 2c 0a | ersion.is.unambiguous.and.safe,. |
| 70460 | 20 20 20 20 20 20 61 6e 64 20 69 73 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 77 61 79 20 74 | ......and.is.the.preferred.way.t |
| 70480 | 6f 20 63 6f 6e 76 65 72 74 20 62 65 74 77 65 65 6e 20 74 79 70 65 73 2c 20 77 68 65 6e 65 76 65 | o.convert.between.types,.wheneve |
| 704a0 | 72 20 70 6f 73 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 | r.possible........</p>.......... |
| 704c0 | 20 20 20 20 20 3c 68 32 20 69 64 3d 22 61 73 79 6e 63 43 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d | .....<h2.id="asyncCall"><a.href= |
| 704e0 | 22 23 74 6f 63 2d 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 20 | "#toc-asyncCall">@asyncCall</a>. |
| 70500 | 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 73 79 6e 63 43 61 6c 6c 22 | <a.class="hdr".href="#asyncCall" |
| 70520 | 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | >..</a></h2>........<pre><code.c |
| 70540 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | lass="zig"><span.class="tok-buil |
| 70560 | 74 69 6e 22 3e 40 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 | tin">@asyncCall</span>(frame_buf |
| 70580 | 66 65 72 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 61 6c 69 67 | fer:.[]<span.class="tok-kw">alig |
| 705a0 | 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 | n</span>(<span.class="tok-builti |
| 705c0 | 6e 22 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | n">@alignOf</span>(<span.class=" |
| 705e0 | 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 61 6e 79 41 73 | tok-builtin">@Frame</span>(anyAs |
| 70600 | 79 6e 63 46 75 6e 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 | yncFunction))).<span.class="tok- |
| 70620 | 74 79 70 65 22 3e 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 | type">u8</span>,.result_ptr,.fun |
| 70640 | 63 74 69 6f 6e 5f 70 74 72 2c 20 61 72 67 73 3a 20 2e 2e 2e 29 20 3c 73 70 61 6e 20 63 6c 61 73 | ction_ptr,.args:....).<span.clas |
| 70660 | 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>->T |
| 70680 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 | </code></pre>.......<p>.......<c |
| 706a0 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 706c0 | 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 | -builtin">@asyncCall</span></cod |
| 706e0 | 65 3e 20 70 65 72 66 6f 72 6d 73 20 61 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | e>.performs.an.<code.class="zig" |
| 70700 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 3c 2f 73 70 61 | ><span.class="tok-kw">async</spa |
| 70720 | 6e 3e 3c 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 | n></code>.call.on.a.function.poi |
| 70740 | 6e 74 65 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 | nter,.......which.may.or.may.not |
| 70760 | 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 | .be.an.<a.href="#Async-Functions |
| 70780 | 22 3e 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e | ">async.function</a>........</p> |
| 707a0 | 0a 20 20 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 | .......<p>.......The.provided.<c |
| 707c0 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 66 72 61 6d 65 5f 62 75 66 66 65 72 3c 2f 63 6f | ode.class="zig">frame_buffer</co |
| 707e0 | 64 65 3e 20 6d 75 73 74 20 62 65 20 6c 61 72 67 65 20 65 6e 6f 75 67 68 20 74 6f 20 66 69 74 20 | de>.must.be.large.enough.to.fit. |
| 70800 | 74 68 65 20 65 6e 74 69 72 65 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 2e 0a 20 20 20 20 20 | the.entire.function.frame....... |
| 70820 | 20 54 68 69 73 20 73 69 7a 65 20 63 61 6e 20 62 65 20 64 65 74 65 72 6d 69 6e 65 64 20 77 69 74 | .This.size.can.be.determined.wit |
| 70840 | 68 20 3c 61 20 68 72 65 66 3d 22 23 66 72 61 6d 65 53 69 7a 65 22 3e 40 66 72 61 6d 65 53 69 7a | h.<a.href="#frameSize">@frameSiz |
| 70860 | 65 3c 2f 61 3e 2e 20 54 6f 20 70 72 6f 76 69 64 65 20 61 20 74 6f 6f 2d 73 6d 61 6c 6c 20 62 75 | e</a>..To.provide.a.too-small.bu |
| 70880 | 66 66 65 72 0a 20 20 20 20 20 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 | ffer.......invokes.safety-checke |
| 708a0 | 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"> |
| 708c0 | 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>........</ |
| 708e0 | 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | p>.......<p>.......<code.class=" |
| 70900 | 7a 69 67 22 3e 72 65 73 75 6c 74 5f 70 74 72 3c 2f 63 6f 64 65 3e 20 69 73 20 6f 70 74 69 6f 6e | zig">result_ptr</code>.is.option |
| 70920 | 61 6c 20 28 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 61 3e 20 6d 61 79 | al.(<a.href="#null">null</a>.may |
| 70940 | 20 62 65 20 70 72 6f 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 | .be.provided)..If.provided,..... |
| 70960 | 20 20 74 68 65 20 66 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 | ..the.function.call.will.write.i |
| 70980 | 74 73 20 72 65 73 75 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 | ts.result.directly.to.the.result |
| 709a0 | 20 70 6f 69 6e 74 65 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 | .pointer,.which.will.be.availabl |
| 709c0 | 65 20 74 6f 0a 20 20 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 | e.to.......read.after.<a.href="# |
| 709e0 | 41 73 79 6e 63 2d 61 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 | Async-and-Await">await</a>.compl |
| 70a00 | 65 74 65 73 2e 20 41 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 | etes..Any.result.location.provid |
| 70a20 | 65 64 20 74 6f 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | ed.to.......<code.class="zig"><s |
| 70a40 | 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>< |
| 70a60 | 2f 63 6f 64 65 3e 20 77 69 6c 6c 20 63 6f 70 79 20 74 68 65 20 72 65 73 75 6c 74 20 66 72 6f 6d | /code>.will.copy.the.result.from |
| 70a80 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 72 65 73 75 6c 74 5f 70 74 72 3c 2f 63 | .<code.class="zig">result_ptr</c |
| 70aa0 | 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 20 63 6c 61 73 73 3d | ode>........</p>.......<p.class= |
| 70ac0 | 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | "file">test.zig</p><pre><code.cl |
| 70ae0 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | ass="zig"><span.class="tok-kw">c |
| 70b00 | 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 |
| 70b20 | 6f 6b 2d 62 75 69 6c 74 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 |
| 70b40 | 20 63 6c 61 73 73 3d 22 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">"std" |
| 70b60 | 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | </span>);.<span.class="tok-kw">c |
| 70b80 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 | onst</span>.assert.=.std.debug.a |
| 70ba0 | 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 | ssert;..<span.class="tok-kw">tes |
| 70bc0 | 74 3c 2f 73 70 61 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">& |
| 70be0 | 71 75 6f 74 3b 61 73 79 6e 63 20 66 6e 20 70 6f 69 6e 74 65 72 20 69 6e 20 61 20 73 74 72 75 63 | quot;async.fn.pointer.in.a.struc |
| 70c00 | 74 20 66 69 65 6c 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e | t.field"</span>.{.....<span |
| 70c20 | 20 63 6c 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 3a | .class="tok-kw">var</span>.data: |
| 70c40 | 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 |
| 70c60 | 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c | n>.=.<span.class="tok-number">1< |
| 70c80 | 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | /span>;.....<span.class="tok-kw" |
| 70ca0 | 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= |
| 70cc0 | 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 | "tok-kw">struct</span>.{........ |
| 70ce0 | 20 62 61 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 73 79 6e 63 | .bar:.<span.class="tok-kw">async |
| 70d00 | 3c 2f 73 70 61 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< |
| 70d20 | 2f 73 70 61 6e 3e 20 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | /span>.(*<span.class="tok-type"> |
| 70d40 | 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 |
| 70d60 | 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e | e">void</span>,.....};.....<span |
| 70d80 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 6f 6f 20 3d | .class="tok-kw">var</span>.foo.= |
| 70da0 | 20 46 6f 6f 7b 20 2e 62 61 72 20 3d 20 66 75 6e 63 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | .Foo{..bar.=.func.};.....<span.c |
| 70dc0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 73 3a 20 | lass="tok-kw">var</span>.bytes:. |
| 70de0 | 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 36 34 3c 2f 73 70 | [<span.class="tok-number">64</sp |
| 70e00 | 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 |
| 70e20 | 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c | pan>.<span.class="tok-kw">align< |
| 70e40 | 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" |
| 70e60 | 3e 40 61 6c 69 67 6e 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | >@alignOf</span>(<span.class="to |
| 70e80 | 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 29 29 29 | k-builtin">@Frame</span>(func))) |
| 70ea0 | 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 |
| 70ec0 | 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ned</span>;.....<span.class="tok |
| 70ee0 | 2d 6b 77 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 | -kw">const</span>.f.=.<span.clas |
| 70f00 | 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 73 70 61 6e | s="tok-builtin">@asyncCall</span |
| 70f20 | 3e 28 26 61 6d 70 3b 62 79 74 65 73 2c 20 7b 7d 2c 20 66 6f 6f 2e 62 61 72 2c 20 26 61 6d 70 3b | >(&bytes,.{},.foo.bar,.& |
| 70f40 | 64 61 74 61 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 | data);.....assert(data.==.<span. |
| 70f60 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 | class="tok-number">2</span>);... |
| 70f80 | 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 |
| 70fa0 | 70 61 6e 3e 20 66 3b 0a 20 20 20 20 61 73 73 65 72 74 28 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e | pan>.f;.....assert(data.==.<span |
| 70fc0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 7d | .class="tok-number">4</span>);.} |
| 70fe0 | 0a 0a 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 |
| 71000 | 61 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 |
| 71020 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 75 6e 63 3c 2f 73 70 | n>.<span.class="tok-fn">func</sp |
| 71040 | 61 6e 3e 28 79 3a 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 | an>(y:.*<span.class="tok-type">i |
| 71060 | 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 |
| 71080 | 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ">void</span>.{.....<span.class= |
| 710a0 | 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 79 2e 2a 20 2b 3d 20 3c 73 70 | "tok-kw">defer</span>.y.*.+=.<sp |
| 710c0 | 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 0a | an.class="tok-number">2</span>;. |
| 710e0 | 20 20 20 20 79 2e 2a 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | ....y.*.+=.<span.class="tok-numb |
| 71100 | 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | er">1</span>;.....<span.class="t |
| 71120 | 6f 6b 2d 6b 77 22 3e 73 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c | ok-kw">suspend</span>;.}</code>< |
| 71140 | 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 | /pre><pre><code.class="shell">$. |
| 71160 | 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 | zig.test.test.zig.1/1.test." |
| 71180 | 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 |
| 711a0 | 65 6c 64 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 | eld"...OK.All.1.tests.passe |
| 711c0 | 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 | d..</code></pre>................ |
| 711e0 | 3c 68 32 20 69 64 3d 22 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f | <h2.id="atomicLoad"><a.href="#to |
| 71200 | 63 2d 61 74 6f 6d 69 63 4c 6f 61 64 22 3e 40 61 74 6f 6d 69 63 4c 6f 61 64 3c 2f 61 3e 20 3c 61 | c-atomicLoad">@atomicLoad</a>.<a |
| 71220 | 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 4c 6f 61 64 22 3e | .class="hdr".href="#atomicLoad"> |
| 71240 | c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | ..</a></h2>........<pre><code.cl |
| 71260 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 | ass="zig"><span.class="tok-built |
| 71280 | 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 |
| 712a0 | 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:.< |
| 712c0 | 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 |
| 712e0 | 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 |
| 71300 | 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 |
| 71320 | 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 |
| 71340 | 6c 74 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | ltin.AtomicOrder).T</code></pre> |
| 71360 | 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 66 75 | .......<p>.......This.builtin.fu |
| 71380 | 6e 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 64 65 72 65 66 65 72 65 6e 63 65 73 20 61 | nction.atomically.dereferences.a |
| 713a0 | 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 76 61 6c 75 65 2e 0a | .pointer.and.returns.the.value.. |
| 713c0 | 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 | ......</p>.......<p>.......<code |
| 713e0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 54 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 | .class="zig">T</code>.must.be.a. |
| 71400 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 71420 | 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 | ok-type">bool</span></code>,.a.f |
| 71440 | 6c 6f 61 74 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 | loat,.......an.integer.or.an.enu |
| 71460 | 6d 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 32 20 69 | m........</p>..............<h2.i |
| 71480 | 64 3d 22 61 74 6f 6d 69 63 52 6d 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 74 6f 6d | d="atomicRmw"><a.href="#toc-atom |
| 714a0 | 69 63 52 6d 77 22 3e 40 61 74 6f 6d 69 63 52 6d 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 | icRmw">@atomicRmw</a>.<a.class=" |
| 714c0 | 68 64 72 22 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 52 6d 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 | hdr".href="#atomicRmw">..</a></h |
| 714e0 | 32 3e 0a 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 7a 69 67 22 | 2>........<pre><code.class="zig" |
| 71500 | 3e 3c 73 70 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 6d | ><span.class="tok-builtin">@atom |
| 71520 | 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 77 | icRmw</span>(<span.class="tok-kw |
| 71540 | 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 |
| 71560 | 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 |
| 71580 | 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c | ,.<span.class="tok-kw">comptime< |
| 715a0 | 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 20 | /span>.op:.builtin.AtomicRmwOp,. |
| 715c0 | 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 22 | operand:.T,.<span.class="tok-kw" |
| 715e0 | 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 74 | >comptime</span>.ordering:.built |
| 71600 | 69 6e 2e 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 | in.AtomicOrder).T</code></pre>.. |
| 71620 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 | .....<p>.......This.builtin.func |
| 71640 | 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 6d 6f 64 69 66 69 65 73 20 6d 65 6d 6f 72 79 20 | tion.atomically.modifies.memory. |
| 71660 | 61 6e 64 20 74 68 65 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 | and.then.returns.the.previous.va |
| 71680 | 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 | lue........</p>.......<p>....... |
| 716a0 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 54 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 | <code.class="zig">T</code>.must. |
| 716c0 | 62 65 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | be.a.<code.class="zig"><span.cla |
| 716e0 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e | ss="tok-type">bool</span></code> |
| 71700 | 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 | ,.a.float,.......an.integer.or.a |
| 71720 | 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 | n.enum........</p>.......<p>.... |
| 71740 | 20 20 20 53 75 70 70 6f 72 74 65 64 20 6f 70 65 72 61 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 3c | ...Supported.operations:.......< |
| 71760 | 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 63 6f 64 65 | /p>.......<ul>.........<li><code |
| 71780 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2e 58 63 68 67 3c 2f 63 6f 64 65 3e 20 2d 20 73 74 6f 72 | .class="zig">.Xchg</code>.-.stor |
| 717a0 | 65 73 20 74 68 65 20 6f 70 65 72 61 6e 64 20 75 6e 6d 6f 64 69 66 69 65 64 2e 20 53 75 70 70 6f | es.the.operand.unmodified..Suppo |
| 717c0 | 72 74 73 20 65 6e 75 6d 73 2c 20 69 6e 74 65 67 65 72 73 20 61 6e 64 20 66 6c 6f 61 74 73 2e 3c | rts.enums,.integers.and.floats.< |
| 717e0 | 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | /li>.........<li><code.class="zi |
| 71800 | 67 22 3e 2e 41 64 64 3c 2f 63 6f 64 65 3e 20 2d 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2c 20 74 | g">.Add</code>.-.for.integers,.t |
| 71820 | 77 6f 73 20 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 61 72 6f 75 6e 64 20 61 64 64 69 74 69 | wos.complement.wraparound.additi |
| 71840 | 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 73 6f 20 73 75 70 70 6f 72 74 73 20 3c 61 | on..............Also.supports.<a |
| 71860 | 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 2e 3c 2f 6c 69 3e | .href="#Floats">Floats</a>.</li> |
| 71880 | 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2e | .........<li><code.class="zig">. |
| 718a0 | 53 75 62 3c 2f 63 6f 64 65 3e 20 2d 20 66 6f 72 20 69 6e 74 65 67 65 72 73 2c 20 74 77 6f 73 20 | Sub</code>.-.for.integers,.twos. |
| 718c0 | 63 6f 6d 70 6c 65 6d 65 6e 74 20 77 72 61 70 61 72 6f 75 6e 64 20 73 75 62 74 72 61 63 74 69 6f | complement.wraparound.subtractio |
| 718e0 | 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 41 6c 73 6f 20 73 75 70 70 6f 72 74 73 20 3c 61 20 | n..............Also.supports.<a. |
| 71900 | 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 2e 3c 2f 6c 69 3e 0a | href="#Floats">Floats</a>.</li>. |
| 71920 | 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2e 41 | ........<li><code.class="zig">.A |
| 71940 | 6e 64 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 74 77 69 73 65 20 61 6e 64 3c 2f 6c 69 3e 0a 20 20 20 | nd</code>.-.bitwise.and</li>.... |
| 71960 | 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2e 4e 61 6e 64 | .....<li><code.class="zig">.Nand |
| 71980 | 3c 2f 63 6f 64 65 3e 20 2d 20 62 69 74 77 69 73 65 20 6e 61 6e 64 3c 2f 6c 69 3e 0a 20 20 20 20 | </code>.-.bitwise.nand</li>..... |
| 719a0 | 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2e 4f 72 3c 2f 63 | ....<li><code.class="zig">.Or</c |
| 719c0 | 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 20 20 3c | ode>.-.bitwise.or</li>.........< |
| 719e0 | 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2e 58 6f 72 3c 2f 63 6f 64 65 3e | li><code.class="zig">.Xor</code> |
| 71a00 | 20 2d 20 62 69 74 77 69 73 65 20 78 6f 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e | .-.bitwise.xor</li>.........<li> |
| 71a20 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2e 4d 61 78 3c 2f 63 6f 64 65 3e 20 2d 20 | <code.class="zig">.Max</code>.-. |
| 71a40 | 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 6c 61 72 67 | stores.the.operand.if.it.is.larg |
| 71a60 | 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 73 | er..Supports.integers.and.floats |
| 71a80 | 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | .</li>.........<li><code.class=" |
| 71aa0 | 7a 69 67 22 3e 2e 4d 69 6e 3c 2f 63 6f 64 65 3e 20 2d 20 73 74 6f 72 65 73 20 74 68 65 20 6f 70 | zig">.Min</code>.-.stores.the.op |
| 71ac0 | 65 72 61 6e 64 20 69 66 20 69 74 20 69 73 20 73 6d 61 6c 6c 65 72 2e 20 53 75 70 70 6f 72 74 73 | erand.if.it.is.smaller..Supports |
| 71ae0 | 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 3e 0a 20 20 20 20 20 | .integers.and.floats.</li>...... |
| 71b00 | 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 61 74 6f 6d | .</ul>..............<h2.id="atom |
| 71b20 | 69 63 53 74 6f 72 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 61 74 6f 6d 69 63 53 74 6f | icStore"><a.href="#toc-atomicSto |
| 71b40 | 72 65 22 3e 40 61 74 6f 6d 69 63 53 74 6f 72 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 | re">@atomicStore</a>.<a.class="h |
| 71b60 | 64 72 22 20 68 72 65 66 3d 22 23 61 74 6f 6d 69 63 53 74 6f 72 65 22 3e c2 a7 3c 2f 61 3e 3c 2f | dr".href="#atomicStore">..</a></ |
| 71b80 | 68 32 3e 0a 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 7a 69 67 | h2>........<pre><code.class="zig |
| 71ba0 | 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 |
| 71bc0 | 6d 69 63 53 74 6f 72 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | micStore</span>(<span.class="tok |
| 71be0 | 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 |
| 71c00 | 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: |
| 71c20 | 20 2a 54 2c 20 76 61 6c 75 65 3a 20 54 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | .*T,.value:.T,.<span.class="tok- |
| 71c40 | 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6f 72 64 65 72 69 6e 67 3a 20 62 75 | kw">comptime</span>.ordering:.bu |
| 71c60 | 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 3d 22 | iltin.AtomicOrder).<span.class=" |
| 71c80 | 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | tok-type">void</span></code></pr |
| 71ca0 | 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 74 69 6e 20 | e>.......<p>.......This.builtin. |
| 71cc0 | 66 75 6e 63 74 69 6f 6e 20 61 74 6f 6d 69 63 61 6c 6c 79 20 73 74 6f 72 65 73 20 61 20 76 61 6c | function.atomically.stores.a.val |
| 71ce0 | 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c | ue........</p>.......<p>.......< |
| 71d00 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 54 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 | code.class="zig">T</code>.must.b |
| 71d20 | 65 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | e.a.<code.class="zig"><span.clas |
| 71d40 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c | s="tok-type">bool</span></code>, |
| 71d60 | 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e | .a.float,.......an.integer.or.an |
| 71d80 | 20 65 6e 75 6d 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 | .enum........</p>..............< |
| 71da0 | 68 32 20 69 64 3d 22 62 69 74 43 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 | h2.id="bitCast"><a.href="#toc-bi |
| 71dc0 | 74 43 61 73 74 22 3e 40 62 69 74 43 61 73 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 | tCast">@bitCast</a>.<a.class="hd |
| 71de0 | 72 22 20 68 72 65 66 3d 22 23 62 69 74 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a | r".href="#bitCast">..</a></h2>.. |
| 71e00 | 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ......<pre><code.class="zig"><sp |
| 71e20 | 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 3c | an.class="tok-builtin">@bitCast< |
| 71e40 | 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 | /span>(<span.class="tok-kw">comp |
| 71e60 | 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | time</span>.DestType:.<span.clas |
| 71e80 | 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 3a | s="tok-type">type</span>,.value: |
| 71ea0 | 20 3c 73 70 61 6e 20 63 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> |
| 71ec0 | 29 20 44 65 73 74 54 79 70 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 | ).DestType</code></pre>.......<p |
| 71ee0 | 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 20 76 61 6c 75 65 20 6f 66 20 6f 6e 65 20 | >.......Converts.a.value.of.one. |
| 71f00 | 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e | type.to.another.type........</p> |
| 71f20 | 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 73 73 65 72 74 73 20 74 68 61 74 20 3c 63 | .......<p>.......Asserts.that.<c |
| 71f40 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 71f60 | 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 | -builtin">@sizeOf</span>(<span.c |
| 71f80 | 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 |
| 71fa0 | 3e 28 76 61 6c 75 65 29 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 | >(value)).==.<span.class="tok-bu |
| 71fc0 | 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 44 65 73 74 54 79 70 65 29 3c | iltin">@sizeOf</span>(DestType)< |
| 71fe0 | 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>.... |
| 72000 | 20 20 20 41 73 73 65 72 74 73 20 74 68 61 74 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | ...Asserts.that.<code.class="zig |
| 72020 | 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 70 | "><span.class="tok-builtin">@typ |
| 72040 | 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 74 | eInfo</span>(DestType).!=..Point |
| 72060 | 65 72 3c 2f 63 6f 64 65 3e 2e 20 55 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | er</code>..Use.<code.class="zig" |
| 72080 | 3e 3c 73 70 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 | ><span.class="tok-builtin">@ptrC |
| 720a0 | 61 73 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 | ast</span></code>.or.<code.class |
| 720c0 | 3d 22 7a 69 67 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 | ="zig"><span.class="tok-builtin" |
| 720e0 | 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 66 20 79 6f 75 20 | >@intToPtr</span></code>.if.you. |
| 72100 | 6e 65 65 64 20 74 68 69 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a | need.this........</p>.......<p>. |
| 72120 | 20 20 20 20 20 20 43 61 6e 20 62 65 20 75 73 65 64 20 66 6f 72 20 74 68 65 73 65 20 74 68 69 6e | ......Can.be.used.for.these.thin |
| 72140 | 67 73 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 | gs.for.example:.......</p>...... |
| 72160 | 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6e 76 65 72 74 20 3c 63 6f 64 | .<ul>...........<li>Convert.<cod |
| 72180 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | e.class="zig"><span.class="tok-t |
| 721a0 | 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 20 | ype">f32</span></code>.to.<code. |
| 721c0 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | class="zig"><span.class="tok-typ |
| 721e0 | 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 69 74 73 3c 2f 6c 69 3e 0a 20 | e">u32</span></code>.bits</li>.. |
| 72200 | 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 20 63 6c 61 73 73 | .........<li>Convert.<code.class |
| 72220 | 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 | ="zig"><span.class="tok-type">i3 |
| 72240 | 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | 2</span></code>.to.<code.class=" |
| 72260 | 7a 69 67 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 | zig"><span.class="tok-type">u32< |
| 72280 | 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 72 65 73 65 72 76 69 6e 67 20 74 77 6f 73 20 63 6f | /span></code>.preserving.twos.co |
| 722a0 | 6d 70 6c 65 6d 65 6e 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 | mplement</li>.......</ul>....... |
| 722c0 | 3c 70 3e 0a 20 20 20 20 20 20 57 6f 72 6b 73 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 | <p>.......Works.at.compile-time. |
| 722e0 | 69 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 76 61 6c 75 65 3c 2f 63 6f 64 65 | if.<code.class="zig">value</code |
| 72300 | 3e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 20 49 74 27 73 | >.is.known.at.compile.time..It's |
| 72320 | 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 74 6f 20 62 69 74 63 61 73 74 20 61 20 73 74 | .a.compile.error.to.bitcast.a.st |
| 72340 | 72 75 63 74 20 74 6f 20 61 20 73 63 61 6c 61 72 20 74 79 70 65 20 6f 66 20 74 68 65 20 73 61 6d | ruct.to.a.scalar.type.of.the.sam |
| 72360 | 65 20 73 69 7a 65 20 73 69 6e 63 65 20 73 74 72 75 63 74 73 20 68 61 76 65 20 75 6e 64 65 66 69 | e.size.since.structs.have.undefi |
| 72380 | 6e 65 64 20 6c 61 79 6f 75 74 2e 20 48 6f 77 65 76 65 72 20 69 66 20 74 68 65 20 73 74 72 75 63 | ned.layout..However.if.the.struc |
| 723a0 | 74 20 69 73 20 70 61 63 6b 65 64 20 74 68 65 6e 20 69 74 20 77 6f 72 6b 73 2e 0a 20 20 20 20 20 | t.is.packed.then.it.works....... |
| 723c0 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 62 69 74 4f | .</p>...............<h2.id="bitO |
| 723e0 | 66 66 73 65 74 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 74 4f 66 66 73 65 74 | ffsetOf"><a.href="#toc-bitOffset |
| 72400 | 4f 66 22 3e 40 62 69 74 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 | Of">@bitOffsetOf</a>.<a.class="h |
| 72420 | 64 72 22 20 68 72 65 66 3d 22 23 62 69 74 4f 66 66 73 65 74 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f | dr".href="#bitOffsetOf">..</a></ |
| 72440 | 68 32 3e 0a 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 7a 69 67 | h2>........<pre><code.class="zig |
| 72460 | 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 69 74 | "><span.class="tok-builtin">@bit |
| 72480 | 4f 66 66 73 65 74 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | OffsetOf</span>(<span.class="tok |
| 724a0 | 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 |
| 724c0 | 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 |
| 724e0 | 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> |
| 72500 | 20 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | .field_name:.[]<span.class="tok- |
| 72520 | 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 |
| 72540 | 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=" |
| 72560 | 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 | tok-type">comptime_int</span></c |
| 72580 | 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 |
| 725a0 | 6e 73 20 74 68 65 20 62 69 74 20 6f 66 66 73 65 74 20 6f 66 20 61 20 66 69 65 6c 64 20 72 65 6c | ns.the.bit.offset.of.a.field.rel |
| 725c0 | 61 74 69 76 65 20 74 6f 20 69 74 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 73 74 72 75 63 74 2e 0a | ative.to.its.containing.struct.. |
| 725e0 | 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 6e | ......</p>.......<p>.......For.n |
| 72600 | 6f 6e 20 3c 61 20 68 72 65 66 3d 22 23 70 61 63 6b 65 64 2d 73 74 72 75 63 74 22 3e 70 61 63 6b | on.<a.href="#packed-struct">pack |
| 72620 | 65 64 20 73 74 72 75 63 74 73 3c 2f 61 3e 2c 20 74 68 69 73 20 77 69 6c 6c 20 61 6c 77 61 79 73 | ed.structs</a>,.this.will.always |
| 72640 | 20 62 65 20 64 69 76 69 73 69 62 6c 65 20 62 79 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | .be.divisible.by.<code.class="zi |
| 72660 | 67 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 | g"><span.class="tok-number">8</s |
| 72680 | 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 6b 65 64 20 73 74 | pan></code>........For.packed.st |
| 726a0 | 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 65 6c 64 73 20 77 | ructs,.non-byte-aligned.fields.w |
| 726c0 | 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 75 74 20 74 68 65 | ill.share.a.byte.offset,.but.the |
| 726e0 | 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 20 20 62 69 74 20 | y.will.have.different.......bit. |
| 72700 | 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 3c 70 3e 53 65 65 | offsets........</p>.......<p>See |
| 72720 | 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 62 79 74 | .also:</p><ul>.<li><a.href="#byt |
| 72740 | 65 4f 66 66 73 65 74 4f 66 22 3e 40 62 79 74 65 4f 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 | eOffsetOf">@byteOffsetOf</a></li |
| 72760 | 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 32 20 69 64 3d 22 62 | >.</ul>................<h2.id="b |
| 72780 | 6f 6f 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 | oolToInt"><a.href="#toc-boolToIn |
| 727a0 | 74 22 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 | t">@boolToInt</a>.<a.class="hdr" |
| 727c0 | 20 68 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 32 3e 0a 0a | .href="#boolToInt">..</a></h2>.. |
| 727e0 | 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ......<pre><code.class="zig"><sp |
| 72800 | 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 6c 54 6f 49 6e | an.class="tok-builtin">@boolToIn |
| 72820 | 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | t</span>(value:.<span.class="tok |
| 72840 | 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | -type">bool</span>).<span.class= |
| 72860 | 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | "tok-type">u1</span></code></pre |
| 72880 | 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 3c 63 6f 64 65 | >.......<p>.......Converts.<code |
| 728a0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | .class="zig"><span.class="tok-nu |
| 728c0 | 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 20 3c 63 6f 64 65 20 | ll">true</span></code>.to.<code. |
| 728e0 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | class="zig"><span.class="tok-typ |
| 72900 | 65 22 3e 75 31 3c 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 | e">u1</span>(<span.class="tok-nu |
| 72920 | 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 | mber">1</span>)</code>.and.<code |
| 72940 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | .class="zig"><span.class="tok-nu |
| 72960 | 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 74 6f 0a 20 20 20 20 20 | ll">false</span></code>.to...... |
| 72980 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | .............<code.class="zig">< |
| 729a0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 3c 2f 73 70 61 6e 3e 28 | span.class="tok-type">u1</span>( |
| 729c0 | 3c 73 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 |
| 729e0 | 3e 29 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 | >)</code>........</p>.......<p>. |
| 72a00 | 20 20 20 20 20 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 63 | ......If.the.value.is.known.at.c |
| 72a20 | 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 | ompile-time,.the.return.type.is. |
| 72a40 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 72a60 | 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f | ok-type">comptime_int</span></co |
| 72a80 | 64 65 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 20 63 | de>...........instead.of.<code.c |
| 72aa0 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | lass="zig"><span.class="tok-type |
| 72ac0 | 22 3e 75 31 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 | ">u1</span></code>........</p>.. |
| 72ae0 | 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 62 69 74 53 69 7a 65 4f 66 22 3e | .............<h2.id="bitSizeOf"> |
| 72b00 | 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 74 53 69 7a 65 4f 66 22 3e 40 62 69 74 53 69 7a | <a.href="#toc-bitSizeOf">@bitSiz |
| 72b20 | 65 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 69 | eOf</a>.<a.class="hdr".href="#bi |
| 72b40 | 74 53 69 7a 65 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 | tSizeOf">..</a></h2>........<pre |
| 72b60 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| 72b80 | 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 69 74 53 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c | tok-builtin">@bitSizeOf</span>(< |
| 72ba0 | 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 |
| 72bc0 | 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 |
| 72be0 | 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | pe</span>).<span.class="tok-type |
| 72c00 | 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | ">comptime_int</span></code></pr |
| 72c20 | 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 |
| 72c40 | 20 72 65 74 75 72 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 | .returns.the.number.of.bits.it.t |
| 72c60 | 61 6b 65 73 20 74 6f 20 73 74 6f 72 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | akes.to.store.<code.class="zig"> |
| 72c80 | 54 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 68 65 20 72 65 | T</code>.in.memory........The.re |
| 72ca0 | 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 |
| 72cc0 | 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>..... |
| 72ce0 | 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 |
| 72d00 | 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 |
| 72d20 | 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 |
| 72d40 | 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | ,.such.as.......<code.class="zig |
| 72d60 | 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d | "><span.class="tok-type">comptim |
| 72d80 | 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c | e_int</span></code>.and.<code.cl |
| 72da0 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | ass="zig"><span.class="tok-type" |
| 72dc0 | 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 72 65 73 75 6c 74 20 | >type</span></code>,.the.result. |
| 72de0 | 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | is.<code.class="zig"><span.class |
| 72e00 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 | ="tok-number">0</span></code>... |
| 72e20 | 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> |
| 72e40 | 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e 40 73 69 7a 65 | <ul>.<li><a.href="#sizeOf">@size |
| 72e60 | 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e | Of</a></li>.<li><a.href="#typeIn |
| 72e80 | 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 | fo">@typeInfo</a></li>.</ul>.... |
| 72ea0 | 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 62 72 65 61 6b 70 6f 69 6e 74 22 3e | ............<h2.id="breakpoint"> |
| 72ec0 | 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 72 65 61 6b 70 6f 69 6e 74 22 3e 40 62 72 65 61 6b | <a.href="#toc-breakpoint">@break |
| 72ee0 | 70 6f 69 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 | point</a>.<a.class="hdr".href="# |
| 72f00 | 62 72 65 61 6b 70 6f 69 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c | breakpoint">..</a></h2>........< |
| 72f20 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | pre><code.class="zig"><span.clas |
| 72f40 | 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 72 65 61 6b 70 6f 69 6e 74 3c 2f 73 70 61 | s="tok-builtin">@breakpoint</spa |
| 72f60 | 6e 3e 28 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 | n>()</code></pre>.......<p>..... |
| 72f80 | 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 6e 73 65 72 74 73 20 61 20 70 6c 61 74 66 6f | ..This.function.inserts.a.platfo |
| 72fa0 | 72 6d 2d 73 70 65 63 69 66 69 63 20 64 65 62 75 67 20 74 72 61 70 20 69 6e 73 74 72 75 63 74 69 | rm-specific.debug.trap.instructi |
| 72fc0 | 6f 6e 20 77 68 69 63 68 20 63 61 75 73 65 73 0a 20 20 20 20 20 20 64 65 62 75 67 67 65 72 73 20 | on.which.causes.......debuggers. |
| 72fe0 | 74 6f 20 62 72 65 61 6b 20 74 68 65 72 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 | to.break.there........</p>...... |
| 73000 | 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 |
| 73020 | 20 76 61 6c 69 64 20 77 69 74 68 69 6e 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 2e 0a 20 20 | .valid.within.function.scope.... |
| 73040 | 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 6d | ....</p>...............<h2.id="m |
| 73060 | 75 6c 41 64 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 75 6c 41 64 64 22 3e 40 6d 75 | ulAdd"><a.href="#toc-mulAdd">@mu |
| 73080 | 6c 41 64 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d | lAdd</a>.<a.class="hdr".href="#m |
| 730a0 | 75 6c 41 64 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c | ulAdd">..</a></h2>........<pre>< |
| 730c0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 730e0 | 6b 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 | k-builtin">@mulAdd</span>(<span. |
| 73100 | 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 |
| 73120 | 3a 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 |
| 73140 | 70 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 63 6f 64 65 3e | pan>,.a:.T,.b:.T,.c:.T).T</code> |
| 73160 | 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 65 64 20 6d 75 6c | </pre>.......<p>.......Fused.mul |
| 73180 | 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 65 20 63 6c 61 73 | tiply.add,.similar.to.<code.clas |
| 731a0 | 73 3d 22 7a 69 67 22 3e 28 61 20 2a 20 62 29 20 2b 20 63 3c 2f 63 6f 64 65 3e 2c 20 65 78 63 65 | s="zig">(a.*.b).+.c</code>,.exce |
| 731c0 | 70 74 0a 20 20 20 20 20 20 6f 6e 6c 79 20 72 6f 75 6e 64 73 20 6f 6e 63 65 2c 20 61 6e 64 20 69 | pt.......only.rounds.once,.and.i |
| 731e0 | 73 20 74 68 75 73 20 6d 6f 72 65 20 61 63 63 75 72 61 74 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e | s.thus.more.accurate........</p> |
| 73200 | 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 46 6c 6f 61 74 73 | .......<p>.......Supports.Floats |
| 73220 | 20 61 6e 64 20 56 65 63 74 6f 72 73 20 6f 66 20 66 6c 6f 61 74 73 2e 0a 20 20 20 20 20 20 3c 2f | .and.Vectors.of.floats........</ |
| 73240 | 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 62 79 74 65 53 77 61 | p>...............<h2.id="byteSwa |
| 73260 | 70 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 79 74 65 53 77 61 70 22 3e 40 62 79 74 65 | p"><a.href="#toc-byteSwap">@byte |
| 73280 | 53 77 61 70 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 | Swap</a>.<a.class="hdr".href="#b |
| 732a0 | 79 74 65 53 77 61 70 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 | yteSwap">..</a></h2>........<pre |
| 732c0 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| 732e0 | 74 6f 6b 2d 62 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 | tok-builtin">@byteSwap</span>(<s |
| 73300 | 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 |
| 73320 | 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 |
| 73340 | 65 3c 2f 73 70 61 6e 3e 2c 20 6f 70 65 72 61 6e 64 3a 20 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f | e</span>,.operand:.T).T</code></ |
| 73360 | 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | pre>.......<p><code.class="zig"> |
| 73380 | 54 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 | T</code>.must.be.an.integer.type |
| 733a0 | 20 77 69 74 68 20 62 69 74 20 63 6f 75 6e 74 20 65 76 65 6e 6c 79 20 64 69 76 69 73 69 62 6c 65 | .with.bit.count.evenly.divisible |
| 733c0 | 20 62 79 20 38 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | .by.8.</p>.......<p><code.class= |
| 733e0 | 22 7a 69 67 22 3e 6f 70 65 72 61 6e 64 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 62 65 20 61 6e 20 3c | "zig">operand</code>.may.be.an.< |
| 73400 | 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 |
| 73420 | 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>. |
| 73440 | 3c 2f 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 | </p>.......<p>.......Swaps.the.b |
| 73460 | 79 74 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 | yte.order.of.the.integer..This.c |
| 73480 | 6f 6e 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 | onverts.a.big.endian.integer.to. |
| 734a0 | 61 20 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 | a.little.endian.integer,.......a |
| 734c0 | 6e 64 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 | nd.converts.a.little.endian.inte |
| 734e0 | 67 65 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 | ger.to.a.big.endian.integer..... |
| 73500 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 | ...</p>.......<p>.......Note.tha |
| 73520 | 74 20 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 | t.for.the.purposes.of.memory.lay |
| 73540 | 6f 75 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 | out.with.respect.to.endianness,. |
| 73560 | 74 68 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 | the.integer.type.should.be...... |
| 73580 | 20 72 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 | .related.to.the.number.of.bytes. |
| 735a0 | 72 65 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 | reported.by.<a.href="#sizeOf">@s |
| 735c0 | 69 7a 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 | izeOf</a>.bytes..This.is.demonst |
| 735e0 | 72 61 74 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | rated.with.......<code.class="zi |
| 73600 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 | g"><span.class="tok-type">u24</s |
| 73620 | 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | pan></code>..<code.class="zig">< |
| 73640 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 | span.class="tok-builtin">@sizeOf |
| 73660 | 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 | </span>(<span.class="tok-type">u |
| 73680 | 32 34 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | 24</span>).==.<span.class="tok-n |
| 736a0 | 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 69 63 68 20 6d 65 | umber">4</span></code>,.which.me |
| 736c0 | 61 6e 73 20 74 68 61 74 20 61 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | ans.that.a.......<code.class="zi |
| 736e0 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 | g"><span.class="tok-type">u24</s |
| 73700 | 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 73 74 6f 72 65 64 20 69 6e 20 6d 65 6d 6f 72 79 20 74 61 6b | pan></code>.stored.in.memory.tak |
| 73720 | 65 73 20 34 20 62 79 74 65 73 2c 20 61 6e 64 20 74 68 6f 73 65 20 34 20 62 79 74 65 73 20 61 72 | es.4.bytes,.and.those.4.bytes.ar |
| 73740 | 65 20 77 68 61 74 20 61 72 65 20 73 77 61 70 70 65 64 20 6f 6e 0a 20 20 20 20 20 20 61 20 6c 69 | e.what.are.swapped.on.......a.li |
| 73760 | 74 74 6c 65 20 76 73 20 62 69 67 20 65 6e 64 69 61 6e 20 73 79 73 74 65 6d 2e 20 4f 6e 20 74 68 | ttle.vs.big.endian.system..On.th |
| 73780 | 65 20 6f 74 68 65 72 20 68 61 6e 64 2c 20 69 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | e.other.hand,.if.<code.class="zi |
| 737a0 | 67 22 3e 54 3c 2f 63 6f 64 65 3e 20 69 73 20 73 70 65 63 69 66 69 65 64 20 74 6f 0a 20 20 20 20 | g">T</code>.is.specified.to..... |
| 737c0 | 20 20 62 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | ..be.<code.class="zig"><span.cla |
| 737e0 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 34 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c | ss="tok-type">u24</span></code>, |
| 73800 | 20 74 68 65 6e 20 6f 6e 6c 79 20 33 20 62 79 74 65 73 20 61 72 65 20 72 65 76 65 72 73 65 64 2e | .then.only.3.bytes.are.reversed. |
| 73820 | 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 64 | .......</p>...............<h2.id |
| 73840 | 3d 22 62 69 74 52 65 76 65 72 73 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 69 74 52 | ="bitReverse"><a.href="#toc-bitR |
| 73860 | 65 76 65 72 73 65 22 3e 40 62 69 74 52 65 76 65 72 73 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 | everse">@bitReverse</a>.<a.class |
| 73880 | 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 62 69 74 52 65 76 65 72 73 65 22 3e c2 a7 3c 2f 61 3e | ="hdr".href="#bitReverse">..</a> |
| 738a0 | 3c 2f 68 32 3e 0a 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 7a | </h2>........<pre><code.class="z |
| 738c0 | 69 67 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 | ig"><span.class="tok-builtin">@b |
| 738e0 | 69 74 52 65 76 65 72 73 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | itReverse</span>(<span.class="to |
| 73900 | 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 | k-kw">comptime</span>.T:.<span.c |
| 73920 | 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 74 | lass="tok-type">type</span>,.int |
| 73940 | 65 67 65 72 3a 20 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 | eger:.T).T</code></pre>.......<p |
| 73960 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 54 3c 2f 63 6f 64 65 3e 20 61 63 63 65 | ><code.class="zig">T</code>.acce |
| 73980 | 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>....... |
| 739a0 | 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 |
| 739c0 | 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 |
| 739e0 | 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..... |
| 73a00 | 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 |
| 73a20 | 70 6c 65 20 30 62 31 30 31 31 30 31 31 30 20 28 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | ple.0b10110110.(<code.class="zig |
| 73a40 | 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 | "><span.class="tok-type">u8</spa |
| 73a60 | 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 38 | n>.=.<span.class="tok-number">18 |
| 73a80 | 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | 2</span></code>,.<code.class="zi |
| 73aa0 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 38 3c 2f 73 70 | g"><span.class="tok-type">i8</sp |
| 73ac0 | 61 6e 3e 20 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | an>.=.-<span.class="tok-number"> |
| 73ae0 | 37 34 3c 2f 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 | 74</span></code>).......becomes. |
| 73b00 | 30 62 30 31 31 30 31 31 30 31 20 28 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | 0b01101101.(<code.class="zig"><s |
| 73b20 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d | pan.class="tok-type">u8</span>.= |
| 73b40 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 39 3c 2f 73 | .<span.class="tok-number">109</s |
| 73b60 | 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | pan></code>,.<code.class="zig">< |
| 73b80 | 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 20 | span.class="tok-type">i8</span>. |
| 73ba0 | 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 39 3c 2f | =.<span.class="tok-number">109</ |
| 73bc0 | 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 | span></code>)........</p>....... |
| 73be0 | 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 62 79 74 65 4f 66 66 73 65 74 4f 66 22 3e 3c 61 | ........<h2.id="byteOffsetOf"><a |
| 73c00 | 20 68 72 65 66 3d 22 23 74 6f 63 2d 62 79 74 65 4f 66 66 73 65 74 4f 66 22 3e 40 62 79 74 65 4f | .href="#toc-byteOffsetOf">@byteO |
| 73c20 | 66 66 73 65 74 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d | ffsetOf</a>.<a.class="hdr".href= |
| 73c40 | 22 23 62 79 74 65 4f 66 66 73 65 74 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 | "#byteOffsetOf">..</a></h2>..... |
| 73c60 | 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | ...<pre><code.class="zig"><span. |
| 73c80 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 62 79 74 65 4f 66 66 73 65 74 4f | class="tok-builtin">@byteOffsetO |
| 73ca0 | 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | f</span>(<span.class="tok-kw">co |
| 73cc0 | 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | mptime</span>.T:.<span.class="to |
| 73ce0 | 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 | k-type">type</span>,.<span.class |
| 73d00 | 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 66 69 65 6c 64 5f | ="tok-kw">comptime</span>.field_ |
| 73d20 | 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | name:.[]<span.class="tok-kw">con |
| 73d40 | 73 74 3c 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" |
| 73d60 | 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | >u8</span>).<span.class="tok-typ |
| 73d80 | 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 | e">comptime_int</span></code></p |
| 73da0 | 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 | re>.......<p>.......Returns.the. |
| 73dc0 | 62 79 74 65 20 6f 66 66 73 65 74 20 6f 66 20 61 20 66 69 65 6c 64 20 72 65 6c 61 74 69 76 65 20 | byte.offset.of.a.field.relative. |
| 73de0 | 74 6f 20 69 74 73 20 63 6f 6e 74 61 69 6e 69 6e 67 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 | to.its.containing.struct........ |
| 73e00 | 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>. |
| 73e20 | 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 62 69 74 4f 66 66 73 65 74 4f 66 22 3e 40 62 69 74 4f | <li><a.href="#bitOffsetOf">@bitO |
| 73e40 | 66 66 73 65 74 4f 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a | ffsetOf</a></li>.</ul>.......... |
| 73e60 | 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 63 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f | ......<h2.id="call"><a.href="#to |
| 73e80 | 63 2d 63 61 6c 6c 22 3e 40 63 61 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 | c-call">@call</a>.<a.class="hdr" |
| 73ea0 | 20 68 72 65 66 3d 22 23 63 61 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 | .href="#call">..</a></h2>....... |
| 73ec0 | 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | .<pre><code.class="zig"><span.cl |
| 73ee0 | 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e 3e 28 6f | ass="tok-builtin">@call</span>(o |
| 73f00 | 70 74 69 6f 6e 73 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 43 61 6c 6c 4f 70 74 69 6f 6e 73 2c | ptions:.std.builtin.CallOptions, |
| 73f20 | 20 66 75 6e 63 74 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | .function:.<span.class="tok-kw"> |
| 73f40 | 76 61 72 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 | var</span>,.args:.<span.class="t |
| 73f60 | 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ok-kw">var</span>).<span.class=" |
| 73f80 | 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a | tok-kw">var</span></code></pre>. |
| 73fa0 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 61 6c 6c 73 20 61 20 66 75 6e 63 74 69 6f 6e | ......<p>.......Calls.a.function |
| 73fc0 | 2c 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 74 68 61 74 20 69 6e 76 6f 6b 69 6e 67 20 | ,.in.the.same.way.that.invoking. |
| 73fe0 | 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 77 69 74 68 20 70 61 72 65 6e 74 68 65 73 65 73 20 64 | an.expression.with.parentheses.d |
| 74000 | 6f 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 | oes:.......</p>.......<p.class=" |
| 74020 | 66 69 6c 65 22 3e 63 61 6c 6c 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | file">call.zig</p><pre><code.cla |
| 74040 | 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | ss="zig"><span.class="tok-kw">co |
| 74060 | 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= |
| 74080 | 22 74 6f 6b 2d 62 75 69 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 |
| 740a0 | 61 6e 20 63 6c 61 73 73 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">"std&quo |
| 740c0 | 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 | t;</span>).debug.assert;..<span. |
| 740e0 | 63 6c 61 73 73 3d 22 74 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 |
| 74100 | 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">"noinline. |
| 74120 | 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 0a 20 20 20 | function.call"</span>.{.... |
| 74140 | 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e | .assert(<span.class="tok-builtin |
| 74160 | 22 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e 3e 28 2e 7b 7d 2c 20 61 64 64 2c 20 2e 7b 3c 73 70 61 6e | ">@call</span>(.{},.add,..{<span |
| 74180 | 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 |
| 741a0 | 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 7d | pan.class="tok-number">9</span>} |
| 741c0 | 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 | ).==.<span.class="tok-number">12 |
| 741e0 | 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | </span>);.}..<span.class="tok-kw |
| 74200 | 22 3e 66 6e 3c 2f 73 70 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" |
| 74220 | 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >add</span>(a:.<span.class="tok- |
| 74240 | 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | type">i32</span>,.b:.<span.class |
| 74260 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c | ="tok-type">i32</span>).<span.cl |
| 74280 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | ass="tok-type">i32</span>.{..... |
| 742a0 | 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 |
| 742c0 | 6e 3e 20 61 20 2b 20 62 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f | n>.a.+.b;.}</code></pre><pre><co |
| 742e0 | 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 63 61 6c 6c | de.class="shell">$.zig.test.call |
| 74300 | 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 6f 69 6e 6c 69 6e 65 20 66 75 6e | .zig.1/1.test."noinline.fun |
| 74320 | 63 74 69 6f 6e 20 63 61 6c 6c 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 | ction.call"...OK.All.1.test |
| 74340 | 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c | s.passed..</code></pre>........< |
| 74360 | 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | p>.......<code.class="zig"><span |
| 74380 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 61 6c 6c 3c 2f 73 70 61 6e | .class="tok-builtin">@call</span |
| 743a0 | 3e 3c 2f 63 6f 64 65 3e 20 61 6c 6c 6f 77 73 20 6d 6f 72 65 20 66 6c 65 78 69 62 69 6c 69 74 79 | ></code>.allows.more.flexibility |
| 743c0 | 20 74 68 61 6e 20 6e 6f 72 6d 61 6c 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 79 6e 74 61 | .than.normal.function.call.synta |
| 743e0 | 78 20 64 6f 65 73 2e 20 54 68 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | x.does..The.......<code.class="z |
| 74400 | 69 67 22 3e 43 61 6c 6c 4f 70 74 69 6f 6e 73 3c 2f 63 6f 64 65 3e 20 73 74 72 75 63 74 20 69 73 | ig">CallOptions</code>.struct.is |
| 74420 | 20 72 65 70 72 6f 64 75 63 65 64 20 68 65 72 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 | .reproduced.here:.......</p>.... |
| 74440 | 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | ...<pre><code.class="zig"><span. |
| 74460 | 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. |
| 74480 | 63 6c 61 73 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 |
| 744a0 | 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 |
| 744c0 | 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 6d 6f 64 69 66 69 65 72 3a 20 4d 6f 64 | truct</span>.{.....modifier:.Mod |
| 744e0 | 69 66 69 65 72 20 3d 20 2e 61 75 74 6f 2c 0a 20 20 20 20 73 74 61 63 6b 3a 20 3f 5b 5d 3c 73 70 | ifier.=..auto,.....stack:.?[]<sp |
| 74500 | 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 73 | an.class="tok-kw">align</span>(s |
| 74520 | 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 6e 20 63 6c 61 | td.Target.stack_align).<span.cla |
| 74540 | 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. |
| 74560 | 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 0a 0a 20 | class="tok-null">null</span>,... |
| 74580 | 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 | ...<span.class="tok-kw">pub</spa |
| 745a0 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 | n>.<span.class="tok-kw">const</s |
| 745c0 | 70 61 6e 3e 20 4d 6f 64 69 66 69 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | pan>.Modifier.=.<span.class="tok |
| 745e0 | 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e | -kw">enum</span>.{.........<span |
| 74600 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 71 75 69 76 61 6c | .class="tok-comment">///.Equival |
| 74620 | 65 6e 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 73 79 6e 74 61 78 2e 3c 2f 73 70 | ent.to.function.call.syntax.</sp |
| 74640 | 61 6e 3e 0a 20 20 20 20 20 20 20 20 61 75 74 6f 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e | an>.........auto,..........<span |
| 74660 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 71 75 69 76 61 6c | .class="tok-comment">///.Equival |
| 74680 | 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 66 | ent.to.async.keyword.used.with.f |
| 746a0 | 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 0a 20 20 20 20 | unction.call.syntax.</span>..... |
| 746c0 | 20 20 20 20 61 73 79 6e 63 5f 6b 77 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | ....async_kw,..........<span.cla |
| 746e0 | 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 50 72 65 76 65 6e 74 73 20 74 61 | ss="tok-comment">///.Prevents.ta |
| 74700 | 69 6c 20 63 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 2e 20 54 68 69 73 20 67 75 61 72 61 | il.call.optimization..This.guara |
| 74720 | 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 | ntees.that.the.return</span>.... |
| 74740 | 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f | .....<span.class="tok-comment">/ |
| 74760 | 2f 2f 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 63 61 6c | //.address.will.point.to.the.cal |
| 74780 | 6c 73 69 74 65 2c 20 61 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 74 68 65 20 63 61 6c 6c 73 69 74 | lsite,.as.opposed.to.the.callsit |
| 747a0 | 65 27 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | e's</span>.........<span.class=" |
| 747c0 | 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 20 74 68 | tok-comment">///.callsite..If.th |
| 747e0 | 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 74 6f 20 | e.call.is.otherwise.required.to. |
| 74800 | 62 65 20 74 61 69 6c 2d 63 61 6c 6c 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 | be.tail-called</span>.........<s |
| 74820 | 70 61 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 72 20 69 | pan.class="tok-comment">///.or.i |
| 74840 | 6e 6c 69 6e 65 64 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 | nlined,.a.compile.error.is.emitt |
| 74860 | 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 6e 65 76 65 72 | ed.instead.</span>.........never |
| 74880 | 5f 74 61 69 6c 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | _tail,..........<span.class="tok |
| 748a0 | 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 68 61 74 20 74 68 | -comment">///.Guarantees.that.th |
| 748c0 | 65 20 63 61 6c 6c 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 69 6e 6c 69 6e 65 64 2e 20 49 66 20 74 | e.call.will.not.be.inlined..If.t |
| 748e0 | 68 65 20 63 61 6c 6c 20 69 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | he.call.is</span>.........<span. |
| 74900 | 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 65 72 77 69 73 | class="tok-comment">///.otherwis |
| 74920 | 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 20 63 6f 6d 70 | e.required.to.be.inlined,.a.comp |
| 74940 | 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 | ile.error.is.emitted.instead.</s |
| 74960 | 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 2c 0a 0a 20 20 20 20 | pan>.........never_inline,...... |
| 74980 | 20 20 20 20 3c 73 70 61 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">// |
| 749a0 | 2f 20 41 73 73 65 72 74 73 20 74 68 61 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c | /.Asserts.that.the.function.call |
| 749c0 | 20 77 69 6c 6c 20 6e 6f 74 20 73 75 73 70 65 6e 64 2e 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 61 | .will.not.suspend..This.allows.a |
| 749e0 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | </span>.........<span.class="tok |
| 74a00 | 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 6e 6f 6e 2d 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e | -comment">///.non-async.function |
| 74a20 | 20 74 6f 20 63 61 6c 6c 20 61 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 2e 3c 2f 73 70 61 | .to.call.an.async.function.</spa |
| 74a40 | 6e 3e 0a 20 20 20 20 20 20 20 20 6e 6f 5f 61 73 79 6e 63 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 | n>.........no_async,..........<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 2f 20 47 75 61 72 | pan.class="tok-comment">///.Guar |
| 74a80 | 61 6e 74 65 65 73 20 74 68 61 74 20 74 68 65 20 63 61 6c 6c 20 77 69 6c 6c 20 62 65 20 67 65 6e | antees.that.the.call.will.be.gen |
| 74aa0 | 65 72 61 74 65 64 20 77 69 74 68 20 74 61 69 6c 20 63 61 6c 6c 20 6f 70 74 69 6d 69 7a 61 74 69 | erated.with.tail.call.optimizati |
| 74ac0 | 6f 6e 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | on.</span>.........<span.class=" |
| 74ae0 | 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 49 66 20 74 68 69 73 20 69 73 20 6e 6f 74 20 | tok-comment">///.If.this.is.not. |
| 74b00 | 70 6f 73 73 69 62 6c 65 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 | possible,.a.compile.error.is.emi |
| 74b20 | 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 61 6c 77 | tted.instead.</span>.........alw |
| 74b40 | 61 79 73 5f 74 61 69 6c 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ays_tail,..........<span.class=" |
| 74b60 | 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 68 61 74 | tok-comment">///.Guarantees.that |
| 74b80 | 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 20 63 61 | .the.call.will.inlined.at.the.ca |
| 74ba0 | 6c 6c 73 69 74 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | llsite.</span>.........<span.cla |
| 74bc0 | 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 49 66 20 74 68 69 73 20 69 73 20 | ss="tok-comment">///.If.this.is. |
| 74be0 | 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2c 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 73 | not.possible,.a.compile.error.is |
| 74c00 | 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 | .emitted.instead.</span>........ |
| 74c20 | 20 61 6c 77 61 79 73 5f 69 6e 6c 69 6e 65 2c 0a 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 | .always_inline,..........<span.c |
| 74c40 | 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 45 76 61 6c 75 61 74 65 73 | lass="tok-comment">///.Evaluates |
| 74c60 | 20 74 68 65 20 63 61 6c 6c 20 61 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2e 20 49 66 20 74 68 | .the.call.at.compile-time..If.th |
| 74c80 | 65 20 63 61 6c 6c 20 63 61 6e 6e 6f 74 20 62 65 20 63 6f 6d 70 6c 65 74 65 64 20 61 74 3c 2f 73 | e.call.cannot.be.completed.at</s |
| 74ca0 | 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f | pan>.........<span.class="tok-co |
| 74cc0 | 6d 6d 65 6e 74 22 3e 2f 2f 2f 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 2c 20 61 20 63 6f 6d 70 69 | mment">///.compile-time,.a.compi |
| 74ce0 | 6c 65 20 65 72 72 6f 72 20 69 73 20 65 6d 69 74 74 65 64 20 69 6e 73 74 65 61 64 2e 3c 2f 73 70 | le.error.is.emitted.instead.</sp |
| 74d00 | 61 6e 3e 0a 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 5f 74 69 6d 65 2c 0a 20 20 20 20 7d 3b | an>.........compile_time,.....}; |
| 74d20 | 0a 7d 3b 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 3c | .};</code></pre>...............< |
| 74d40 | 68 32 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 2d 63 44 | h2.id="cDefine"><a.href="#toc-cD |
| 74d60 | 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 22 68 64 | efine">@cDefine</a>.<a.class="hd |
| 74d80 | 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 32 3e 0a 0a | r".href="#cDefine">..</a></h2>.. |
| 74da0 | 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ......<pre><code.class="zig"><sp |
| 74dc0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c | an.class="tok-builtin">@cDefine< |
| 74de0 | 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 | /span>(<span.class="tok-kw">comp |
| 74e00 | 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d | time</span>.name:.[]<span.class= |
| 74e20 | 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 29 3c 2f 63 6f | "tok-type">u8</span>,.value)</co |
| 74e40 | 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 |
| 74e60 | 75 6e 63 74 69 6f 6e 20 63 61 6e 20 6f 6e 6c 79 20 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c 63 | unction.can.only.occur.inside.<c |
| 74e80 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 74ea0 | 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 63 6f 64 65 3e | -builtin">@cImport</span></code> |
| 74ec0 | 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 | ........</p>.......<p>.......Thi |
| 74ee0 | 73 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 | s.appends.<code>#define.$name.$v |
| 74f00 | 61 6c 75 65 3c 2f 63 6f 64 65 3e 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | alue</code>.to.the.<code.class=" |
| 74f20 | 7a 69 67 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 | zig"><span.class="tok-builtin">@ |
| 74f40 | 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 74 65 6d 70 | cImport</span></code>.......temp |
| 74f60 | 6f 72 61 72 79 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c | orary.buffer........</p>.......< |
| 74f80 | 70 3e 0a 20 20 20 20 20 20 54 6f 20 64 65 66 69 6e 65 20 77 69 74 68 6f 75 74 20 61 20 76 61 6c | p>.......To.define.without.a.val |
| 74fa0 | 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 20 20 20 | ue,.like.this:.......</p>....... |
| 74fc0 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 22 3e 23 64 65 66 69 6e 65 20 5f 47 4e | <pre><code.class="c">#define._GN |
| 74fe0 | 55 5f 53 4f 55 52 43 45 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a | U_SOURCE</code></pre>.......<p>. |
| 75000 | 20 20 20 20 20 20 55 73 65 20 74 68 65 20 76 6f 69 64 20 76 61 6c 75 65 2c 20 6c 69 6b 65 20 74 | ......Use.the.void.value,.like.t |
| 75020 | 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 | his:.......</p>.......<pre><code |
| 75040 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 | .class="zig"><span.class="tok-bu |
| 75060 | 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 | iltin">@cDefine</span>(<span.cla |
| 75080 | 73 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 | ss="tok-str">"_GNU_SOURCE&q |
| 750a0 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 | uot;</span>,.{})</code></pre>... |
| 750c0 | 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 | ....<p>See.also:</p><ul>.<li><a. |
| 750e0 | 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 | href="#Import-from-C-Header-File |
| 75100 | 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 3c | ">Import.from.C.Header.File</a>< |
| 75120 | 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e 63 6c 75 64 65 22 3e 40 63 49 | /li>.<li><a.href="#cInclude">@cI |
| 75140 | 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 | nclude</a></li>.<li><a.href="#cI |
| 75160 | 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 | mport">@cImport</a></li>.<li><a. |
| 75180 | 68 72 65 66 3d 22 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a | href="#cUndef">@cUndef</a></li>. |
| 751a0 | 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 76 6f 69 64 22 3e 76 6f 69 64 3c 2f 61 3e 3c 2f 6c 69 | <li><a.href="#void">void</a></li |
| 751c0 | 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 63 49 | >.</ul>...............<h2.id="cI |
| 751e0 | 6d 70 6f 72 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 49 6d 70 6f 72 74 22 3e 40 63 | mport"><a.href="#toc-cImport">@c |
| 75200 | 49 6d 70 6f 72 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 | Import</a>.<a.class="hdr".href=" |
| 75220 | 23 63 49 6d 70 6f 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 | #cImport">..</a></h2>........<pr |
| 75240 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e><code.class="zig"><span.class= |
| 75260 | 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 65 78 | "tok-builtin">@cImport</span>(ex |
| 75280 | 70 72 65 73 73 69 6f 6e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | pression).<span.class="tok-type" |
| 752a0 | 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 | >type</span></code></pre>....... |
| 752c0 | 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 61 72 73 65 73 20 43 | <p>.......This.function.parses.C |
| 752e0 | 20 63 6f 64 65 20 61 6e 64 20 69 6d 70 6f 72 74 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 2c | .code.and.imports.the.functions, |
| 75300 | 20 74 79 70 65 73 2c 20 76 61 72 69 61 62 6c 65 73 2c 0a 20 20 20 20 20 20 61 6e 64 20 63 6f 6d | .types,.variables,.......and.com |
| 75320 | 70 61 74 69 62 6c 65 20 6d 61 63 72 6f 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 69 6e 74 6f 20 61 | patible.macro.definitions.into.a |
| 75340 | 20 6e 65 77 20 65 6d 70 74 79 20 73 74 72 75 63 74 20 74 79 70 65 2c 20 61 6e 64 20 74 68 65 6e | .new.empty.struct.type,.and.then |
| 75360 | 0a 20 20 20 20 20 20 72 65 74 75 72 6e 73 20 74 68 61 74 20 74 79 70 65 2e 0a 20 20 20 20 20 20 | .......returns.that.type........ |
| 75380 | 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 20 63 6c 61 73 73 | </p>.......<p>.......<code.class |
| 753a0 | 3d 22 7a 69 67 22 3e 65 78 70 72 65 73 73 69 6f 6e 3c 2f 63 6f 64 65 3e 20 69 73 20 69 6e 74 65 | ="zig">expression</code>.is.inte |
| 753c0 | 72 70 72 65 74 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 20 54 68 65 20 62 75 69 | rpreted.at.compile.time..The.bui |
| 753e0 | 6c 74 69 6e 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 | ltin.functions...........<code.c |
| 75400 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | lass="zig"><span.class="tok-buil |
| 75420 | 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 | tin">@cInclude</span></code>,.<c |
| 75440 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 75460 | 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 3c 2f 63 6f 64 65 3e | -builtin">@cDefine</span></code> |
| 75480 | 2c 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ,.and.<code.class="zig"><span.cl |
| 754a0 | 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 61 6e 3e | ass="tok-builtin">@cUndef</span> |
| 754c0 | 3c 2f 63 6f 64 65 3e 20 77 6f 72 6b 0a 20 20 20 20 20 20 77 69 74 68 69 6e 20 74 68 69 73 20 65 | </code>.work.......within.this.e |
| 754e0 | 78 70 72 65 73 73 69 6f 6e 2c 20 61 70 70 65 6e 64 69 6e 67 20 74 6f 20 61 20 74 65 6d 70 6f 72 | xpression,.appending.to.a.tempor |
| 75500 | 61 72 79 20 62 75 66 66 65 72 20 77 68 69 63 68 20 69 73 20 74 68 65 6e 20 70 61 72 73 65 64 20 | ary.buffer.which.is.then.parsed. |
| 75520 | 61 73 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a | as.C.code........</p>.......<p>. |
| 75540 | 20 20 20 20 20 20 55 73 75 61 6c 6c 79 20 79 6f 75 20 73 68 6f 75 6c 64 20 6f 6e 6c 79 20 68 61 | ......Usually.you.should.only.ha |
| 75560 | 76 65 20 6f 6e 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | ve.one.<code.class="zig"><span.c |
| 75580 | 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 | lass="tok-builtin">@cImport</spa |
| 755a0 | 6e 3e 3c 2f 63 6f 64 65 3e 20 69 6e 20 79 6f 75 72 20 65 6e 74 69 72 65 20 61 70 70 6c 69 63 61 | n></code>.in.your.entire.applica |
| 755c0 | 74 69 6f 6e 2c 20 62 65 63 61 75 73 65 20 69 74 20 73 61 76 65 73 20 74 68 65 20 63 6f 6d 70 69 | tion,.because.it.saves.the.compi |
| 755e0 | 6c 65 72 0a 20 20 20 20 20 20 66 72 6f 6d 20 69 6e 76 6f 6b 69 6e 67 20 63 6c 61 6e 67 20 6d 75 | ler.......from.invoking.clang.mu |
| 75600 | 6c 74 69 70 6c 65 20 74 69 6d 65 73 2c 20 61 6e 64 20 70 72 65 76 65 6e 74 73 20 69 6e 6c 69 6e | ltiple.times,.and.prevents.inlin |
| 75620 | 65 20 66 75 6e 63 74 69 6f 6e 73 20 66 72 6f 6d 20 62 65 69 6e 67 20 64 75 70 6c 69 63 61 74 65 | e.functions.from.being.duplicate |
| 75640 | 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 52 65 | d........</p>.......<p>.......Re |
| 75660 | 61 73 6f 6e 73 20 66 6f 72 20 68 61 76 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 3c 63 6f 64 65 20 | asons.for.having.multiple.<code. |
| 75680 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 | class="zig"><span.class="tok-bui |
| 756a0 | 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 65 78 70 | ltin">@cImport</span></code>.exp |
| 756c0 | 72 65 73 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 | ressions.would.be:.......</p>... |
| 756e0 | 20 20 20 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 | ....<ul>...........<li>To.avoid. |
| 75700 | 61 20 73 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 | a.symbol.collision,.for.example. |
| 75720 | 69 66 20 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 | if.foo.h.and.bar.h.both.<code>#d |
| 75740 | 65 66 69 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 | efine.CONNECTION_COUNT</code></l |
| 75760 | 69 3e 0a 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 | i>.........<li>To.analyze.the.C. |
| 75780 | 63 6f 64 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 | code.with.different.preprocessor |
| 757a0 | 20 64 65 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 | .defines</li>.......</ul>....... |
| 757c0 | 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 |
| 757e0 | 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d | ="#Import-from-C-Header-File">Im |
| 75800 | 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e | port.from.C.Header.File</a></li> |
| 75820 | 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 75 | .<li><a.href="#cInclude">@cInclu |
| 75840 | 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e | de</a></li>.<li><a.href="#cDefin |
| 75860 | 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 | e">@cDefine</a></li>.<li><a.href |
| 75880 | 3d 22 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c | ="#cUndef">@cUndef</a></li>.</ul |
| 758a0 | 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 63 49 6e 63 6c 75 64 65 | >...............<h2.id="cInclude |
| 758c0 | 22 3e 3c 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 | "><a.href="#toc-cInclude">@cIncl |
| 758e0 | 75 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 49 | ude</a>.<a.class="hdr".href="#cI |
| 75900 | 6e 63 6c 75 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e | nclude">..</a></h2>........<pre> |
| 75920 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 75940 | 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 |
| 75960 | 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 |
| 75980 | 3e 20 70 61 74 68 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | >.path:.[]<span.class="tok-type" |
| 759a0 | 3e 75 38 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c | >u8</span>)</code></pre>.......< |
| 759c0 | 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 79 20 | p>.......This.function.can.only. |
| 759e0 | 6f 63 63 75 72 20 69 6e 73 69 64 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | occur.inside.<code.class="zig">< |
| 75a00 | 73 70 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 | span.class="tok-builtin">@cImpor |
| 75a20 | 74 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 | t</span></code>........</p>..... |
| 75a40 | 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 61 70 70 65 6e 64 73 20 3c 63 6f 64 65 3e 23 | ..<p>.......This.appends.<code># |
| 75a60 | 69 6e 63 6c 75 64 65 20 26 6c 74 3b 24 70 61 74 68 26 67 74 3b 5c 6e 3c 2f 63 6f 64 65 3e 20 74 | include.<$path>\n</code>.t |
| 75a80 | 6f 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 63 5f 69 6d 70 6f 72 74 | o.the.<code.class="zig">c_import |
| 75aa0 | 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 74 65 6d 70 6f 72 61 72 79 20 62 75 66 66 65 72 2e 0a | </code>.......temporary.buffer.. |
| 75ac0 | 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 |
| 75ae0 | 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d | ><ul>.<li><a.href="#Import-from- |
| 75b00 | 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 | C-Header-File">Import.from.C.Hea |
| 75b20 | 64 65 72 20 46 69 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 | der.File</a></li>.<li><a.href="# |
| 75b40 | 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c | cImport">@cImport</a></li>.<li>< |
| 75b60 | 61 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f | a.href="#cDefine">@cDefine</a></ |
| 75b80 | 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 | li>.<li><a.href="#cUndef">@cUnde |
| 75ba0 | 66 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 | f</a></li>.</ul>................ |
| 75bc0 | 3c 68 32 20 69 64 3d 22 63 6c 7a 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6c 7a 22 3e | <h2.id="clz"><a.href="#toc-clz"> |
| 75be0 | 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 72 65 66 3d 22 23 63 | @clz</a>.<a.class="hdr".href="#c |
| 75c00 | 6c 7a 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 | lz">..</a></h2>........<pre><cod |
| 75c20 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 | e.class="zig"><span.class="tok-b |
| 75c40 | 75 69 6c 74 69 6e 22 3e 40 63 6c 7a 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d | uiltin">@clz</span>(<span.class= |
| 75c60 | 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 |
| 75c80 | 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>,. |
| 75ca0 | 69 6e 74 65 67 65 72 3a 20 54 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c | integer:.T)</code></pre>.......< |
| 75cc0 | 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 73 20 74 68 | p>.......This.function.counts.th |
| 75ce0 | 65 20 6e 75 6d 62 65 72 20 6f 66 20 6d 6f 73 74 2d 73 69 67 6e 69 66 69 63 61 6e 74 20 28 6c 65 | e.number.of.most-significant.(le |
| 75d00 | 61 64 69 6e 67 20 69 6e 20 61 20 62 69 67 2d 45 6e 64 69 61 6e 20 73 65 6e 73 65 29 20 7a 65 72 | ading.in.a.big-Endian.sense).zer |
| 75d20 | 6f 65 73 20 69 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 69 6e 74 65 67 65 72 | oes.in.<code.class="zig">integer |
| 75d40 | 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 | </code>........</p>.......<p>... |
| 75d60 | 20 20 20 20 49 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 69 6e 74 65 67 65 72 | ....If.<code.class="zig">integer |
| 75d80 | 3c 2f 63 6f 64 65 3e 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 | </code>.is.known.at.<a.href="#co |
| 75da0 | 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 74 68 65 20 | mptime">comptime</a>,.......the. |
| 75dc0 | 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | return.type.is.<code.class="zig" |
| 75de0 | 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 |
| 75e00 | 5f 69 6e 74 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 | _int</span></code>........Otherw |
| 75e20 | 69 73 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6e 20 75 6e 73 69 67 | ise,.the.return.type.is.an.unsig |
| 75e40 | 6e 65 64 20 69 6e 74 65 67 65 72 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 6e 75 6d | ned.integer.with.the.minimum.num |
| 75e60 | 62 65 72 0a 20 20 20 20 20 20 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 6e 20 72 65 70 72 65 | ber.......of.bits.that.can.repre |
| 75e80 | 73 65 6e 74 20 74 68 65 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 | sent.the.bit.count.of.the.intege |
| 75ea0 | 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 | r.type........</p>.......<p>.... |
| 75ec0 | 20 20 20 49 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 69 6e 74 65 67 65 72 3c | ...If.<code.class="zig">integer< |
| 75ee0 | 2f 63 6f 64 65 3e 20 69 73 20 7a 65 72 6f 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | /code>.is.zero,.<code.class="zig |
| 75f00 | 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 6c 7a | "><span.class="tok-builtin">@clz |
| 75f20 | 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 20 74 68 65 20 62 69 74 20 77 | </span></code>.returns.the.bit.w |
| 75f40 | 69 64 74 68 0a 20 20 20 20 20 20 6f 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 3c 63 6f 64 65 | idth.......of.integer.type.<code |
| 75f60 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 54 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 | .class="zig">T</code>........</p |
| 75f80 | 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 |
| 75fa0 | 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 6c | ><a.href="#ctz">@ctz</a></li>.<l |
| 75fc0 | 69 3e 3c 61 20 68 72 65 66 3d 22 23 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c | i><a.href="#popCount">@popCount< |
| 75fe0 | 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 |
| 76000 | 32 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 23 74 | 2.id="cmpxchgStrong"><a.href="#t |
| 76020 | 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 6e 67 | oc-cmpxchgStrong">@cmpxchgStrong |
| 76040 | 3c 2f 61 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 78 63 | </a>.<a.class="hdr".href="#cmpxc |
| 76060 | 68 67 53 74 72 6f 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 | hgStrong">..</a></h2>........<pr |
| 76080 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e><code.class="zig"><span.class= |
| 760a0 | 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 3c 2f 73 70 | "tok-builtin">@cmpxchgStrong</sp |
| 760c0 | 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 |
| 760e0 | 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | e</span>.T:.<span.class="tok-typ |
| 76100 | 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 65 78 70 65 63 74 65 | e">type</span>,.ptr:.*T,.expecte |
| 76120 | 64 5f 76 61 6c 75 65 3a 20 54 2c 20 6e 65 77 5f 76 61 6c 75 65 3a 20 54 2c 20 73 75 63 63 65 73 | d_value:.T,.new_value:.T,.succes |
| 76140 | 73 5f 6f 72 64 65 72 3a 20 41 74 6f 6d 69 63 4f 72 64 65 72 2c 20 66 61 69 6c 5f 6f 72 64 65 72 | s_order:.AtomicOrder,.fail_order |
| 76160 | 3a 20 41 74 6f 6d 69 63 4f 72 64 65 72 29 20 3f 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 | :.AtomicOrder).?T</code></pre>.. |
| 76180 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 | .....<p>.......This.function.per |
| 761a0 | 66 6f 72 6d 73 20 61 20 73 74 72 6f 6e 67 20 61 74 6f 6d 69 63 20 63 6f 6d 70 61 72 65 20 65 78 | forms.a.strong.atomic.compare.ex |
| 761c0 | 63 68 61 6e 67 65 20 6f 70 65 72 61 74 69 6f 6e 2e 20 49 74 27 73 20 74 68 65 20 65 71 75 69 76 | change.operation..It's.the.equiv |
| 761e0 | 61 6c 65 6e 74 20 6f 66 20 74 68 69 73 20 63 6f 64 65 2c 0a 20 20 20 20 20 20 65 78 63 65 70 74 | alent.of.this.code,.......except |
| 76200 | 20 61 74 6f 6d 69 63 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c | .atomic:.......</p>.......<pre>< |
| 76220 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 76240 | 6b 2d 6b 77 22 3e 66 6e 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 |
| 76260 | 2d 66 6e 22 3e 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 42 75 74 4e 6f 74 41 74 6f 6d 69 63 3c 2f | -fn">cmpxchgStrongButNotAtomic</ |
| 76280 | 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 |
| 762a0 | 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 |
| 762c0 | 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 2c 20 65 78 70 65 63 | ype">type</span>,.ptr:.*T,.expec |
| 762e0 | 74 65 64 5f 76 61 6c 75 65 3a 20 54 2c 20 6e 65 77 5f 76 61 6c 75 65 3a 20 54 29 20 3f 54 20 7b | ted_value:.T,.new_value:.T).?T.{ |
| 76300 | 0a 20 20 20 20 3c 73 70 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< |
| 76320 | 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 20 3d 20 70 74 72 2e 2a 3b 0a 20 20 20 20 3c 73 | /span>.old_value.=.ptr.*;.....<s |
| 76340 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 6f 6c | pan.class="tok-kw">if</span>.(ol |
| 76360 | 64 5f 76 61 6c 75 65 20 3d 3d 20 65 78 70 65 63 74 65 64 5f 76 61 6c 75 65 29 20 7b 0a 20 20 20 | d_value.==.expected_value).{.... |
| 76380 | 20 20 20 20 20 70 74 72 2e 2a 20 3d 20 6e 65 77 5f 76 61 6c 75 65 3b 0a 20 20 20 20 20 20 20 20 | .....ptr.*.=.new_value;......... |
| 763a0 | 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 |
| 763c0 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f | n>.<span.class="tok-null">null</ |
| 763e0 | 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | span>;.....}.<span.class="tok-kw |
| 76400 | 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c | ">else</span>.{.........<span.cl |
| 76420 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 | ass="tok-kw">return</span>.old_v |
| 76440 | 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 | alue;.....}.}</code></pre>...... |
| 76460 | 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 79 6f 75 20 61 72 65 20 75 73 69 6e 67 20 63 6d 70 78 | .<p>.......If.you.are.using.cmpx |
| 76480 | 63 68 67 20 69 6e 20 61 20 6c 6f 6f 70 2c 20 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 | chg.in.a.loop,.<a.href="#cmpxchg |
| 764a0 | 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 20 69 73 20 74 68 65 20 62 65 | Weak">@cmpxchgWeak</a>.is.the.be |
| 764c0 | 74 74 65 72 20 63 68 6f 69 63 65 2c 20 62 65 63 61 75 73 65 20 69 74 20 63 61 6e 20 62 65 20 69 | tter.choice,.because.it.can.be.i |
| 764e0 | 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c | mplemented.......more.efficientl |
| 76500 | 79 20 69 6e 20 6d 61 63 68 69 6e 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 | y.in.machine.instructions....... |
| 76520 | 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 20 63 6c 61 73 | .</p>.......<p>.......<code.clas |
| 76540 | 73 3d 22 7a 69 67 22 3e 54 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 3c 63 6f 64 65 | s="zig">T</code>.must.be.a.<code |
| 76560 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | .class="zig"><span.class="tok-ty |
| 76580 | 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c | pe">bool</span></code>,.a.float, |
| 765a0 | 0a 20 20 20 20 20 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 | .......an.integer.or.an.enum.... |
| 765c0 | 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | ....</p>.......<p><code.class="z |
| 765e0 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 | ig"><span.class="tok-builtin">@T |
| 76600 | 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 70 74 72 29 2e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 63 6f 64 | ypeOf</span>(ptr).alignment</cod |
| 76620 | 65 3e 20 6d 75 73 74 20 62 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 26 67 74 | e>.must.be.<code.class="zig">> |
| 76640 | 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 | ;=.<span.class="tok-builtin">@si |
| 76660 | 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 54 29 2e 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 | zeOf</span>(T).</code></p>...... |
| 76680 | 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 |
| 766a0 | 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 | f="#Compile-Variables">Compile.V |
| 766c0 | 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 | ariables</a></li>.<li><a.href="# |
| 766e0 | 63 6d 70 78 63 68 67 57 65 61 6b 22 3e 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 3c 2f 6c 69 | cmpxchgWeak">cmpxchgWeak</a></li |
| 76700 | 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 63 6d | >.</ul>...............<h2.id="cm |
| 76720 | 70 78 63 68 67 57 65 61 6b 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6d 70 78 63 68 67 | pxchgWeak"><a.href="#toc-cmpxchg |
| 76740 | 57 65 61 6b 22 3e 40 63 6d 70 78 63 68 67 57 65 61 6b 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d | Weak">@cmpxchgWeak</a>.<a.class= |
| 76760 | 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 57 65 61 6b 22 3e c2 a7 3c 2f 61 3e | "hdr".href="#cmpxchgWeak">..</a> |
| 76780 | 3c 2f 68 32 3e 0a 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 7a | </h2>........<pre><code.class="z |
| 767a0 | 69 67 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 | ig"><span.class="tok-builtin">@c |
| 767c0 | 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 |
| 767e0 | 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. |
| 76800 | 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 |
| 76820 | 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 |
| 76840 | 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 |
| 76860 | 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< |
| 76880 | 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 69 | /code></pre>.......<p>.......Thi |
| 768a0 | 73 20 66 75 6e 63 74 69 6f 6e 20 70 65 72 66 6f 72 6d 73 20 61 20 77 65 61 6b 20 61 74 6f 6d 69 | s.function.performs.a.weak.atomi |
| 768c0 | 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 2e 20 49 74 | c.compare.exchange.operation..It |
| 768e0 | 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 64 65 2c 0a | 's.the.equivalent.of.this.code,. |
| 76900 | 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 2f 70 3e 0a | ......except.atomic:.......</p>. |
| 76920 | 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ......<pre><code.class="zig"><sp |
| 76940 | 61 6e 20 63 6c 61 73 73 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 |
| 76960 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 6d 70 78 63 68 67 57 65 61 6b 42 75 74 4e | n.class="tok-fn">cmpxchgWeakButN |
| 76980 | 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 |
| 769a0 | 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 |
| 769c0 | 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: |
| 769e0 | 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 |
| 76a00 | 65 3a 20 54 29 20 3f 54 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | e:.T).?T.{.....<span.class="tok- |
| 76a20 | 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 20 3d 20 70 74 72 | kw">const</span>.old_value.=.ptr |
| 76a40 | 2e 2a 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c | .*;.....<span.class="tok-kw">if< |
| 76a60 | 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 64 5f 76 61 | /span>.(old_value.==.expected_va |
| 76a80 | 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 3c 2f 73 70 | lue.<span.class="tok-kw">and</sp |
| 76aa0 | 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 61 6c 73 65 | an>.usuallyTrueButSometimesFalse |
| 76ac0 | 28 29 29 20 7b 0a 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 | ()).{.........ptr.*.=.new_value; |
| 76ae0 | 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 | .........<span.class="tok-kw">re |
| 76b00 | 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c | turn</span>.<span.class="tok-nul |
| 76b20 | 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 | l">null</span>;.....}.<span.clas |
| 76b40 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 | s="tok-kw">else</span>.{........ |
| 76b60 | 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 |
| 76b80 | 61 6e 3e 20 6f 6c 64 5f 76 61 6c 75 65 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 | an>.old_value;.....}.}</code></p |
| 76ba0 | 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 75 | re>.......<p>.......If.you.are.u |
| 76bc0 | 73 69 6e 67 20 63 6d 70 78 63 68 67 20 69 6e 20 61 20 6c 6f 6f 70 2c 20 74 68 65 20 73 70 6f 72 | sing.cmpxchg.in.a.loop,.the.spor |
| 76be0 | 61 64 69 63 20 66 61 69 6c 75 72 65 20 77 69 6c 6c 20 62 65 20 6e 6f 20 70 72 6f 62 6c 65 6d 2c | adic.failure.will.be.no.problem, |
| 76c00 | 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 63 6d 70 78 63 68 67 57 65 | .and.<code.class="zig">cmpxchgWe |
| 76c20 | 61 6b 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 | ak</code>.......is.the.better.ch |
| 76c40 | 6f 69 63 65 2c 20 62 65 63 61 75 73 65 20 69 74 20 63 61 6e 20 62 65 20 69 6d 70 6c 65 6d 65 6e | oice,.because.it.can.be.implemen |
| 76c60 | 74 65 64 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 69 6e 20 6d 61 63 68 69 6e 65 20 | ted.more.efficiently.in.machine. |
| 76c80 | 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 20 69 66 20 79 | instructions........However.if.y |
| 76ca0 | 6f 75 20 6e 65 65 64 20 61 20 73 74 72 6f 6e 67 65 72 20 67 75 61 72 61 6e 74 65 65 2c 20 75 73 | ou.need.a.stronger.guarantee,.us |
| 76cc0 | 65 20 3c 61 20 68 72 65 66 3d 22 23 63 6d 70 78 63 68 67 53 74 72 6f 6e 67 22 3e 40 63 6d 70 78 | e.<a.href="#cmpxchgStrong">@cmpx |
| 76ce0 | 63 68 67 53 74 72 6f 6e 67 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 | chgStrong</a>........</p>....... |
| 76d00 | 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 54 3c 2f 63 | <p>.......<code.class="zig">T</c |
| 76d20 | 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | ode>.must.be.a.<code.class="zig" |
| 76d40 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 | ><span.class="tok-type">bool</sp |
| 76d60 | 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 61 20 66 6c 6f 61 74 2c 0a 20 20 20 20 20 20 61 6e 20 69 6e | an></code>,.a.float,.......an.in |
| 76d80 | 74 65 67 65 72 20 6f 72 20 61 6e 20 65 6e 75 6d 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 | teger.or.an.enum........</p>.... |
| 76da0 | 20 20 20 3c 70 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ...<p><code.class="zig"><span.cl |
| 76dc0 | 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e | ass="tok-builtin">@TypeOf</span> |
| 76de0 | 28 70 74 72 29 2e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 3c | (ptr).alignment</code>.must.be.< |
| 76e00 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 26 67 74 3b 3d 20 3c 73 70 61 6e 20 63 6c 61 | code.class="zig">>=.<span.cla |
| 76e20 | 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 | ss="tok-builtin">@sizeOf</span>( |
| 76e40 | 54 29 2e 3c 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f | T).</code></p>.......<p>See.also |
| 76e60 | 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d | :</p><ul>.<li><a.href="#Compile- |
| 76e80 | 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e | Variables">Compile.Variables</a> |
| 76ea0 | 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 53 74 72 6f 6e | </li>.<li><a.href="#cmpxchgStron |
| 76ec0 | 67 22 3e 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 | g">cmpxchgStrong</a></li>.</ul>. |
| 76ee0 | 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 63 6f 6d 70 69 6c 65 45 72 | ...............<h2.id="compileEr |
| 76f00 | 72 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 | ror"><a.href="#toc-compileError" |
| 76f20 | 3e 40 63 6f 6d 70 69 6c 65 45 72 72 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 | >@compileError</a>.<a.class="hdr |
| 76f40 | 22 20 68 72 65 66 3d 22 23 63 6f 6d 70 69 6c 65 45 72 72 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 | ".href="#compileError">..</a></h |
| 76f60 | 32 3e 0a 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 7a 69 67 22 | 2>........<pre><code.class="zig" |
| 76f80 | 3e 3c 73 70 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 |
| 76fa0 | 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 |
| 76fc0 | 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 73 67 3a 20 5b 5d 3c 73 70 61 | -kw">comptime</span>.msg:.[]<spa |
| 76fe0 | 6e 20 63 6c 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 63 | n.class="tok-type">u8</span>)</c |
| 77000 | 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 | ode></pre>.......<p>.......This. |
| 77020 | 66 75 6e 63 74 69 6f 6e 2c 20 77 68 65 6e 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 61 6e 61 6c | function,.when.semantically.anal |
| 77040 | 79 7a 65 64 2c 20 63 61 75 73 65 73 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 77 69 74 | yzed,.causes.a.compile.error.wit |
| 77060 | 68 20 74 68 65 0a 20 20 20 20 20 20 6d 65 73 73 61 67 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d | h.the.......message.<code.class= |
| 77080 | 22 7a 69 67 22 3e 6d 73 67 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 | "zig">msg</code>........</p>.... |
| 770a0 | 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 65 20 73 65 76 65 72 61 6c 20 77 | ...<p>.......There.are.several.w |
| 770c0 | 61 79 73 20 74 68 61 74 20 63 6f 64 65 20 61 76 6f 69 64 73 20 62 65 69 6e 67 20 73 65 6d 61 6e | ays.that.code.avoids.being.seman |
| 770e0 | 74 69 63 61 6c 6c 79 20 63 68 65 63 6b 65 64 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 20 75 | tically.checked,.such.as.......u |
| 77100 | 73 69 6e 67 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | sing.<code.class="zig"><span.cla |
| 77120 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 72 20 | ss="tok-kw">if</span></code>.or. |
| 77140 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 77160 | 6f 6b 2d 6b 77 22 3e 73 77 69 74 63 68 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 | ok-kw">switch</span></code>.with |
| 77180 | 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 20 20 20 20 | .compile.time.constants,........ |
| 771a0 | 20 20 20 20 20 20 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | .......and.<code.class="zig"><sp |
| 771c0 | 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 |
| 771e0 | 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 | ></code>.functions........</p>.. |
| 77200 | 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 63 6f 6d 70 69 6c 65 4c 6f 67 22 | .............<h2.id="compileLog" |
| 77220 | 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e 40 63 6f 6d 70 | ><a.href="#toc-compileLog">@comp |
| 77240 | 69 6c 65 4c 6f 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 | ileLog</a>.<a.class="hdr".href=" |
| 77260 | 23 63 6f 6d 70 69 6c 65 4c 6f 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 | #compileLog">..</a></h2>........ |
| 77280 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | <pre><code.class="zig"><span.cla |
| 772a0 | 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 | ss="tok-builtin">@compileLog</sp |
| 772c0 | 61 6e 3e 28 61 72 67 73 3a 20 2e 2e 2e 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 | an>(args:....)</code></pre>..... |
| 772e0 | 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 |
| 77300 | 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 |
| 77320 | 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 |
| 77340 | 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. |
| 77360 | 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 |
| 77380 | 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 |
| 773a0 | 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 |
| 773c0 | 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 |
| 773e0 | 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. |
| 77400 | 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.. |
| 77420 | 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 |
| 77440 | 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>..... |
| 77460 | 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 |
| 77480 | 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 |
| 774a0 | 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 |
| 774c0 | 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 | ode........</p>.......<p.class=" |
| 774e0 | 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | file">test.zig</p><pre><code.cla |
| 77500 | 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | ss="zig"><span.class="tok-kw">co |
| 77520 | 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 61 72 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | nst</span>.warn.=.<span.class="t |
| 77540 | 6f 6b 2d 62 75 69 6c 74 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 |
| 77560 | 20 63 6c 61 73 73 3d 22 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">"std" |
| 77580 | 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 77 61 72 6e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 | </span>).debug.warn;..<span.clas |
| 775a0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 31 20 3d 20 62 | s="tok-kw">const</span>.num1.=.b |
| 775c0 | 6c 6b 3a 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 | lk:.{.....<span.class="tok-kw">v |
| 775e0 | 61 72 3c 2f 73 70 61 6e 3e 20 76 61 6c 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ar</span>.val1:.<span.class="tok |
| 77600 | 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | -type">i32</span>.=.<span.class= |
| 77620 | 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 | "tok-number">99</span>;.....<spa |
| 77640 | 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 4c 6f | n.class="tok-builtin">@compileLo |
| 77660 | 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 73 74 72 22 3e 26 | g</span>(<span.class="tok-str">& |
| 77680 | 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 6c 31 20 3d 20 26 71 75 6f 74 3b 3c 2f 73 70 61 | quot;comptime.val1.=."</spa |
| 776a0 | 6e 3e 2c 20 76 61 6c 31 29 3b 0a 20 20 20 20 76 61 6c 31 20 3d 20 76 61 6c 31 20 2b 20 3c 73 70 | n>,.val1);.....val1.=.val1.+.<sp |
| 776c0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a | an.class="tok-number">1</span>;. |
| 776e0 | 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 62 72 65 61 6b 3c 2f | ....<span.class="tok-kw">break</ |
| 77700 | 73 70 61 6e 3e 20 3a 62 6c 6b 20 76 61 6c 31 3b 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | span>.:blk.val1;.};..<span.class |
| 77720 | 3d 22 74 6f 6b 2d 6b 77 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 |
| 77740 | 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 61 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 | s="tok-str">"main"</sp |
| 77760 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 | an>.{.....<span.class="tok-built |
| 77780 | 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 20 63 6c 61 | in">@compileLog</span>(<span.cla |
| 777a0 | 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 69 6e 20 6d | ss="tok-str">"comptime.in.m |
| 777c0 | 61 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 77 61 72 6e 28 3c 73 70 | ain"</span>);......warn(<sp |
| 777e0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 52 75 6e 74 69 6d 65 | an.class="tok-str">"Runtime |
| 77800 | 20 69 6e 20 6d 61 69 6e 2c 20 6e 75 6d 31 20 3d 20 7b 7d 2e 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 | .in.main,.num1.=.{}.\n"</sp |
| 77820 | 61 6e 3e 2c 20 2e 7b 6e 75 6d 31 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 | an>,..{num1});.}</code></pre><pr |
| 77840 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 | e><code.class="shell">$.zig.test |
| 77860 | 20 74 65 73 74 2e 7a 69 67 0a 7c 20 2a 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 69 6e 20 6d | .test.zig.|.*"comptime.in.m |
| 77880 | 61 69 6e 26 71 75 6f 74 3b 0a 7c 20 2a 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 76 61 6c 31 | ain".|.*"comptime.val1 |
| 778a0 | 20 3d 20 26 71 75 6f 74 3b 2c 20 39 39 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 | .=.",.99.<span.class="t0_1" |
| 778c0 | 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 35 3a 20 3c 2f 73 | >./docgen_tmp/test.zig:11:5:.</s |
| 778e0 | 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:.< |
| 77900 | 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 6e 64 20 63 | /span><span.class="t0_1">found.c |
| 77920 | 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 0a 20 20 20 20 | ompile.log.statement</span>..... |
| 77940 | 40 63 6f 6d 70 69 6c 65 4c 6f 67 28 26 71 75 6f 74 3b 63 6f 6d 70 74 69 6d 65 20 69 6e 20 6d 61 | @compileLog("comptime.in.ma |
| 77960 | 69 6e 26 71 75 6f 74 3b 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f | in");.....<span.class="t32_ |
| 77980 | 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 74 30 5f 31 22 3e 2e | 1">^</span>.<span.class="t0_1">. |
| 779a0 | 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 3a 33 34 3a 20 3c 2f 73 70 61 | /docgen_tmp/test.zig:1:34:.</spa |
| 779c0 | 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 |
| 779e0 | 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 | an><span.class="t0_1">referenced |
| 77a00 | 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 63 6f 6e 73 74 20 77 61 72 6e 20 3d 20 40 69 6d 70 6f 72 | .here</span>.const.warn.=.@impor |
| 77a20 | 74 28 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 29 2e 64 65 62 75 67 2e 77 61 72 6e 3b 0a 20 | t("std").debug.warn;.. |
| 77a40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 77a60 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 | <span.class="t32_1">^</span>.<sp |
| 77a80 | 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 |
| 77aa0 | 74 2e 7a 69 67 3a 31 33 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | t.zig:13:5:.</span><span.class=" |
| 77ac0 | 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= |
| 77ae0 | 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 | "t0_1">referenced.here</span>... |
| 77b00 | 20 20 77 61 72 6e 28 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 | ..warn("Runtime.in.main,.nu |
| 77b20 | 6d 31 20 3d 20 7b 7d 2e 5c 6e 26 71 75 6f 74 3b 2c 20 2e 7b 6e 75 6d 31 7d 29 3b 0a 20 20 20 20 | m1.=.{}.\n",..{num1});..... |
| 77b40 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 | <span.class="t32_1">^</span>.<sp |
| 77b60 | 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 |
| 77b80 | 74 2e 7a 69 67 3a 35 3a 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | t.zig:5:5:.</span><span.class="t |
| 77ba0 | 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= |
| 77bc0 | 22 74 30 5f 31 22 3e 66 6f 75 6e 64 20 63 6f 6d 70 69 6c 65 20 6c 6f 67 20 73 74 61 74 65 6d 65 | "t0_1">found.compile.log.stateme |
| 77be0 | 6e 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 6f 6d 70 69 6c 65 4c 6f 67 28 26 71 75 6f 74 3b | nt</span>.....@compileLog(" |
| 77c00 | 63 6f 6d 70 74 69 6d 65 20 76 61 6c 31 20 3d 20 26 71 75 6f 74 3b 2c 20 76 61 6c 31 29 3b 0a 20 | comptime.val1.=.",.val1);.. |
| 77c20 | 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a | ...<span.class="t32_1">^</span>. |
| 77c40 | 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/ |
| 77c60 | 74 65 73 74 2e 7a 69 67 3a 31 33 3a 34 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 | test.zig:13:45:.</span><span.cla |
| 77c80 | 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 |
| 77ca0 | 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e | ass="t0_1">referenced.here</span |
| 77cc0 | 3e 0a 20 20 20 20 77 61 72 6e 28 26 71 75 6f 74 3b 52 75 6e 74 69 6d 65 20 69 6e 20 6d 61 69 6e | >.....warn("Runtime.in.main |
| 77ce0 | 2c 20 6e 75 6d 31 20 3d 20 7b 7d 2e 5c 6e 26 71 75 6f 74 3b 2c 20 2e 7b 6e 75 6d 31 7d 29 3b 0a | ,.num1.=.{}.\n",..{num1});. |
| 77d00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 77d20 | 20 20 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"> |
| 77d40 | 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 | ^</span>.</code></pre>........<p |
| 77d60 | 3e 0a 20 20 20 20 20 20 77 69 6c 6c 20 6f 75 70 75 74 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 | >.......will.ouput:.......</p>.. |
| 77d80 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 61 6c 6c 20 3c 63 6f 64 65 20 63 6c 61 73 | .....<p>.......If.all.<code.clas |
| 77da0 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-builtin |
| 77dc0 | 22 3e 40 63 6f 6d 70 69 6c 65 4c 6f 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6c 6c | ">@compileLog</span></code>.call |
| 77de0 | 73 20 61 72 65 20 72 65 6d 6f 76 65 64 20 6f 72 0a 20 20 20 20 20 20 6e 6f 74 20 65 6e 63 6f 75 | s.are.removed.or.......not.encou |
| 77e00 | 6e 74 65 72 65 64 20 62 79 20 61 6e 61 6c 79 73 69 73 2c 20 74 68 65 0a 20 20 20 20 20 20 70 72 | ntered.by.analysis,.the.......pr |
| 77e20 | 6f 67 72 61 6d 20 63 6f 6d 70 69 6c 65 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 61 6e 64 20 | ogram.compiles.successfully.and. |
| 77e40 | 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 65 78 65 63 75 74 61 62 6c 65 20 70 72 69 6e 74 73 3a | the.generated.executable.prints: |
| 77e60 | 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 | .......</p>.......<p.class="file |
| 77e80 | 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | ">test.zig</p><pre><code.class=" |
| 77ea0 | 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c | zig"><span.class="tok-kw">const< |
| 77ec0 | 2f 73 70 61 6e 3e 20 77 61 72 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 | /span>.warn.=.<span.class="tok-b |
| 77ee0 | 75 69 6c 74 69 6e 22 3e 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 |
| 77f00 | 73 73 3d 22 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">"std"</sp |
| 77f20 | 61 6e 3e 29 2e 64 65 62 75 67 2e 77 61 72 6e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | an>).debug.warn;..<span.class="t |
| 77f40 | 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 31 20 3d 20 62 6c 6b 3a 20 | ok-kw">const</span>.num1.=.blk:. |
| 77f60 | 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f | {.....<span.class="tok-kw">var</ |
| 77f80 | 73 70 61 6e 3e 20 76 61 6c 31 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | span>.val1:.<span.class="tok-typ |
| 77fa0 | 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 |
| 77fc0 | 2d 6e 75 6d 62 65 72 22 3e 39 39 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 76 61 6c 31 20 3d 20 76 | -number">99</span>;.....val1.=.v |
| 77fe0 | 61 6c 31 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 | al1.+.<span.class="tok-number">1 |
| 78000 | 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | </span>;.....<span.class="tok-kw |
| 78020 | 22 3e 62 72 65 61 6b 3c 2f 73 70 61 6e 3e 20 3a 62 6c 6b 20 76 61 6c 31 3b 0a 7d 3b 0a 0a 3c 73 | ">break</span>.:blk.val1;.};..<s |
| 78040 | 70 61 6e 20 63 6c 61 73 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>.< |
| 78060 | 73 70 61 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 | span.class="tok-str">"main& |
| 78080 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c | quot;</span>.{.....warn(<span.cl |
| 780a0 | 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 52 75 6e 74 69 6d 65 20 69 6e 20 6d | ass="tok-str">"Runtime.in.m |
| 780c0 | 61 69 6e 2c 20 6e 75 6d 31 20 3d 20 7b 7d 2e 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 | ain,.num1.=.{}.\n"</span>,. |
| 780e0 | 2e 7b 6e 75 6d 31 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f | .{num1});.}</code></pre><pre><co |
| 78100 | 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 | de.class="shell">$.zig.test.test |
| 78120 | 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6d 61 69 6e 26 71 75 6f 74 3b 2e 2e | .zig.1/1.test."main".. |
| 78140 | 2e 52 75 6e 74 69 6d 65 20 69 6e 20 6d 61 69 6e 2c 20 6e 75 6d 31 20 3d 20 31 30 30 2e 0a 4f 4b | .Runtime.in.main,.num1.=.100..OK |
| 78160 | 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | .All.1.tests.passed..</code></pr |
| 78180 | 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 63 74 7a 22 3e 3c | e>................<h2.id="ctz">< |
| 781a0 | 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 20 3c 61 20 63 6c | a.href="#toc-ctz">@ctz</a>.<a.cl |
| 781c0 | 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 74 7a 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 | ass="hdr".href="#ctz">..</a></h2 |
| 781e0 | 3e 0a 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 7a 69 67 22 3e | >........<pre><code.class="zig"> |
| 78200 | 3c 73 70 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 | <span.class="tok-builtin">@ctz</ |
| 78220 | 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 |
| 78240 | 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 |
| 78260 | 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 20 54 29 3c 2f 63 | ype">type</span>,.integer:.T)</c |
| 78280 | 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 | ode></pre>.......<p>.......This. |
| 782a0 | 66 75 6e 63 74 69 6f 6e 20 63 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c 65 | function.counts.the.number.of.le |
| 782c0 | 61 73 74 2d 73 69 67 6e 69 66 69 63 61 6e 74 20 28 74 72 61 69 6c 69 6e 67 20 69 6e 20 61 20 62 | ast-significant.(trailing.in.a.b |
| 782e0 | 69 67 2d 45 6e 64 69 61 6e 20 73 65 6e 73 65 29 20 7a 65 72 6f 65 73 20 69 6e 20 3c 63 6f 64 65 | ig-Endian.sense).zeroes.in.<code |
| 78300 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 69 6e 74 65 67 65 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 | .class="zig">integer</code>..... |
| 78320 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 | ...</p>.......<p>.......If.<code |
| 78340 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 69 6e 74 65 67 65 72 3c 2f 63 6f 64 65 3e 20 69 73 20 6b | .class="zig">integer</code>.is.k |
| 78360 | 6e 6f 77 6e 20 61 74 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 | nown.at.<a.href="#comptime">comp |
| 78380 | 74 69 6d 65 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 | time</a>,.......the.return.type. |
| 783a0 | 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | is.<code.class="zig"><span.class |
| 783c0 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c | ="tok-type">comptime_int</span>< |
| 783e0 | 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 72 65 74 | /code>........Otherwise,.the.ret |
| 78400 | 75 72 6e 20 74 79 70 65 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 | urn.type.is.an.unsigned.integer. |
| 78420 | 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 6f 66 | with.the.minimum.number.......of |
| 78440 | 20 62 69 74 73 20 74 68 61 74 20 63 61 6e 20 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 62 69 74 | .bits.that.can.represent.the.bit |
| 78460 | 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 0a 20 20 20 20 | .count.of.the.integer.type...... |
| 78480 | 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 20 | ..</p>.......<p>.......If.<code. |
| 784a0 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 69 6e 74 65 67 65 72 3c 2f 63 6f 64 65 3e 20 69 73 20 7a 65 | class="zig">integer</code>.is.ze |
| 784c0 | 72 6f 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | ro,.<code.class="zig"><span.clas |
| 784e0 | 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 74 7a 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 | s="tok-builtin">@ctz</span></cod |
| 78500 | 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 68 20 6f | e>.returns.......the.bit.width.o |
| 78520 | 66 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | f.integer.type.<code.class="zig" |
| 78540 | 3e 54 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 | >T</code>........</p>.......<p>S |
| 78560 | 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 | ee.also:</p><ul>.<li><a.href="#c |
| 78580 | 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 | lz">@clz</a></li>.<li><a.href="# |
| 785a0 | 70 6f 70 43 6f 75 6e 74 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 | popCount">@popCount</a></li>.</u |
| 785c0 | 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 63 55 6e 64 65 66 | l>................<h2.id="cUndef |
| 785e0 | 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 3c | "><a.href="#toc-cUndef">@cUndef< |
| 78600 | 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 | /a>.<a.class="hdr".href="#cUndef |
| 78620 | 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 | ">..</a></h2>........<pre><code. |
| 78640 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 | class="zig"><span.class="tok-bui |
| 78660 | 6c 74 69 6e 22 3e 40 63 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 | ltin">@cUndef</span>(<span.class |
| 78680 | 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 61 6d 65 3a 20 | ="tok-kw">comptime</span>.name:. |
| 786a0 | 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 61 | []<span.class="tok-type">u8</spa |
| 786c0 | 6e 3e 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 | n>)</code></pre>.......<p>...... |
| 786e0 | 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 6f 6e 6c 79 20 6f 63 63 75 72 20 69 6e | .This.function.can.only.occur.in |
| 78700 | 73 69 64 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | side.<code.class="zig"><span.cla |
| 78720 | 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e | ss="tok-builtin">@cImport</span> |
| 78740 | 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 | </code>........</p>.......<p>... |
| 78760 | 20 20 20 20 54 68 69 73 20 61 70 70 65 6e 64 73 20 3c 63 6f 64 65 3e 23 75 6e 64 65 66 20 24 6e | ....This.appends.<code>#undef.$n |
| 78780 | 61 6d 65 3c 2f 63 6f 64 65 3e 20 74 6f 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | ame</code>.to.the.<code.class="z |
| 787a0 | 69 67 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 | ig"><span.class="tok-builtin">@c |
| 787c0 | 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 74 65 6d 70 6f | Import</span></code>.......tempo |
| 787e0 | 72 61 72 79 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 | rary.buffer........</p>.......<p |
| 78800 | 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=" |
| 78820 | 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 |
| 78840 | 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 3c | rt.from.C.Header.File</a></li>.< |
| 78860 | 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 6d 70 6f 72 74 3c 2f | li><a.href="#cImport">@cImport</ |
| 78880 | 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e 40 | a></li>.<li><a.href="#cDefine">@ |
| 788a0 | 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 | cDefine</a></li>.<li><a.href="#c |
| 788c0 | 49 6e 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c | Include">@cInclude</a></li>.</ul |
| 788e0 | 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 64 69 76 45 78 61 63 | >................<h2.id="divExac |
| 78900 | 74 22 3e 3c 61 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 | t"><a.href="#toc-divExact">@divE |
| 78920 | 78 61 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 | xact</a>.<a.class="hdr".href="#d |
| 78940 | 69 76 45 78 61 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 | ivExact">..</a></h2>........<pre |
| 78960 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| 78980 | 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 6e 75 | tok-builtin">@divExact</span>(nu |
| 789a0 | 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 63 | merator:.T,.denominator:.T).T</c |
| 789c0 | 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 61 63 74 | ode></pre>.......<p>.......Exact |
| 789e0 | 20 64 69 76 69 73 69 6f 6e 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f | .division..Caller.guarantees.<co |
| 78a00 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 3d 20 3c 73 | de.class="zig">denominator.!=.<s |
| 78a20 | 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>< |
| 78a40 | 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 | /code>.and...........<code.class |
| 78a60 | 3d 22 7a 69 67 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 | ="zig"><span.class="tok-builtin" |
| 78a80 | 3e 40 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 | >@divTrunc</span>(numerator,.den |
| 78aa0 | 6f 6d 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 | ominator).*.denominator.==.numer |
| 78ac0 | 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 | ator</code>........</p>.......<u |
| 78ae0 | 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | l>...........<li><code.class="zi |
| 78b00 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 | g"><span.class="tok-builtin">@di |
| 78b20 | 76 45 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | vExact</span>(<span.class="tok-n |
| 78b40 | 75 6d 62 65 72 22 3e 36 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | umber">6</span>,.<span.class="to |
| 78b60 | 6b 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 | k-number">3</span>).==.<span.cla |
| 78b80 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c | ss="tok-number">2</span></code>< |
| 78ba0 | 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | /li>...........<li><code.class=" |
| 78bc0 | 7a 69 67 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 | zig"><span.class="tok-builtin">@ |
| 78be0 | 64 69 76 45 78 61 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 | divExact</span>(a,.b).*.b.==.a</ |
| 78c00 | 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e | code></li>.......</ul>.......<p> |
| 78c20 | 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 6f | For.a.function.that.returns.a.po |
| 78c40 | 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 20 63 6c 61 | ssible.error.code,.use.<code.cla |
| 78c60 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-builti |
| 78c80 | 6e 22 3e 40 69 6d 70 6f 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 |
| 78ca0 | 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">"std"</span>). |
| 78cc0 | 6d 61 74 68 2e 64 69 76 45 78 61 63 74 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 | math.divExact</code>.</p>....... |
| 78ce0 | 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 |
| 78d00 | 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 0a | ="#divTrunc">@divTrunc</a></li>. |
| 78d20 | 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f | <li><a.href="#divFloor">@divFloo |
| 78d40 | 72 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c | r</a></li>.</ul>...............< |
| 78d60 | 68 32 20 69 64 3d 22 64 69 76 46 6c 6f 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 64 | h2.id="divFloor"><a.href="#toc-d |
| 78d80 | 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d | ivFloor">@divFloor</a>.<a.class= |
| 78da0 | 22 68 64 72 22 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 | "hdr".href="#divFloor">..</a></h |
| 78dc0 | 32 3e 0a 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 7a 69 67 22 | 2>........<pre><code.class="zig" |
| 78de0 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 46 | ><span.class="tok-builtin">@divF |
| 78e00 | 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 | loor</span>(numerator:.T,.denomi |
| 78e20 | 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c | nator:.T).T</code></pre>.......< |
| 78e40 | 70 3e 0a 20 20 20 20 20 20 46 6c 6f 6f 72 65 64 20 64 69 76 69 73 69 6f 6e 2e 20 52 6f 75 6e 64 | p>.......Floored.division..Round |
| 78e60 | 73 20 74 6f 77 61 72 64 20 6e 65 67 61 74 69 76 65 20 69 6e 66 69 6e 69 74 79 2e 20 46 6f 72 20 | s.toward.negative.infinity..For. |
| 78e80 | 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 20 69 74 20 69 73 0a 20 20 20 20 20 20 74 68 | unsigned.integers.it.is.......th |
| 78ea0 | 65 20 73 61 6d 65 20 61 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 6e 75 6d 65 | e.same.as.<code.class="zig">nume |
| 78ec0 | 72 61 74 6f 72 20 2f 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c | rator./.denominator</code>..Call |
| 78ee0 | 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | er.guarantees.<code.class="zig"> |
| 78f00 | 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | denominator.!=.<span.class="tok- |
| 78f20 | 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 | number">0</span></code>.and..... |
| 78f40 | 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 21 28 3c 73 | ..........<code.class="zig">!(<s |
| 78f60 | 70 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 |
| 78f80 | 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= |
| 78fa0 | 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. |
| 78fc0 | 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>. |
| 78fe0 | 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). |
| 79000 | 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>. |
| 79020 | 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 |
| 79040 | 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 | -number">1</span>)</code>....... |
| 79060 | 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>< |
| 79080 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 790a0 | 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 2d 3c 73 70 | k-builtin">@divFloor</span>(-<sp |
| 790c0 | 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>,. |
| 790e0 | 3c 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 |
| 79100 | 3e 29 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | >).==.-<span.class="tok-number"> |
| 79120 | 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c | 2</span></code></li>...........< |
| 79140 | 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | li><code.class="zig"><span.class |
| 79160 | 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 | ="tok-builtin">@divFloor</span>( |
| 79180 | 61 2c 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e | a,.b).+.<span.class="tok-builtin |
| 791a0 | 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 3d 3d 20 61 3c 2f 63 6f 64 65 3e 3c | ">@mod</span>(a,.b).==.a</code>< |
| 791c0 | 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. |
| 791e0 | 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 |
| 79200 | 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | .error.code,.use.<code.class="zi |
| 79220 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d | g"><span.class="tok-builtin">@im |
| 79240 | 70 6f 72 74 3c 2f 73 70 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 |
| 79260 | 22 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 64 | ">"std"</span>).math.d |
| 79280 | 69 76 46 6c 6f 6f 72 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 | ivFloor</code>.</p>.......<p>See |
| 792a0 | 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 64 69 76 | .also:</p><ul>.<li><a.href="#div |
| 792c0 | 54 72 75 6e 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 | Trunc">@divTrunc</a></li>.<li><a |
| 792e0 | 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 3c | .href="#divExact">@divExact</a>< |
| 79300 | 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d | /li>.</ul>...............<h2.id= |
| 79320 | 22 64 69 76 54 72 75 6e 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 64 69 76 54 72 75 6e | "divTrunc"><a.href="#toc-divTrun |
| 79340 | 63 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 | c">@divTrunc</a>.<a.class="hdr". |
| 79360 | 68 72 65 66 3d 22 23 64 69 76 54 72 75 6e 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 | href="#divTrunc">..</a></h2>.... |
| 79380 | 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | ....<pre><code.class="zig"><span |
| 793a0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 54 72 75 6e 63 3c 2f | .class="tok-builtin">@divTrunc</ |
| 793c0 | 73 70 61 6e 3e 28 6e 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a | span>(numerator:.T,.denominator: |
| 793e0 | 20 54 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 | .T).T</code></pre>.......<p>.... |
| 79400 | 20 20 20 54 72 75 6e 63 61 74 65 64 20 64 69 76 69 73 69 6f 6e 2e 20 52 6f 75 6e 64 73 20 74 6f | ...Truncated.division..Rounds.to |
| 79420 | 77 61 72 64 20 7a 65 72 6f 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 | ward.zero..For.unsigned.integers |
| 79440 | 20 69 74 20 69 73 0a 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 63 6f 64 65 20 63 | .it.is.......the.same.as.<code.c |
| 79460 | 6c 61 73 73 3d 22 7a 69 67 22 3e 6e 75 6d 65 72 61 74 6f 72 20 2f 20 64 65 6e 6f 6d 69 6e 61 74 | lass="zig">numerator./.denominat |
| 79480 | 6f 72 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c 63 6f | or</code>..Caller.guarantees.<co |
| 794a0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 21 3d 20 3c 73 | de.class="zig">denominator.!=.<s |
| 794c0 | 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>< |
| 794e0 | 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 20 63 | /code>.and...............<code.c |
| 79500 | 6c 61 73 73 3d 22 7a 69 67 22 3e 21 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 | lass="zig">!(<span.class="tok-bu |
| 79520 | 69 6c 74 69 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 20 3d 3d 20 2e 49 | iltin">@typeInfo</span>(T).==..I |
| 79540 | 6e 74 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 | nt.<span.class="tok-kw">and</spa |
| 79560 | 6e 3e 20 54 2e 69 73 5f 73 69 67 6e 65 64 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | n>.T.is_signed.<span.class="tok- |
| 79580 | 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 6e 75 6d 65 72 61 74 6f 72 20 3d 3d 20 73 74 64 2e | kw">and</span>.numerator.==.std. |
| 795a0 | 6d 61 74 68 2e 6d 69 6e 49 6e 74 28 54 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | math.minInt(T).<span.class="tok- |
| 795c0 | 6b 77 22 3e 61 6e 64 3c 2f 73 70 61 6e 3e 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 3d 3d 20 2d 3c | kw">and</span>.denominator.==.-< |
| 795e0 | 73 70 61 6e 20 63 6c 61 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> |
| 79600 | 29 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a | )</code>........</p>.......<ul>. |
| 79620 | 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | ..........<li><code.class="zig"> |
| 79640 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 76 54 72 | <span.class="tok-builtin">@divTr |
| 79660 | 75 6e 63 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d | unc</span>(-<span.class="tok-num |
| 79680 | 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ber">5</span>,.<span.class="tok- |
| 796a0 | 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 | number">3</span>).==.-<span.clas |
| 796c0 | 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 63 6f 64 65 3e 3c 2f | s="tok-number">1</span></code></ |
| 796e0 | 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | li>...........<li><code.class="z |
| 79700 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 | ig"><span.class="tok-builtin">@d |
| 79720 | 69 76 54 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 | ivTrunc</span>(a,.b).+.<span.cla |
| 79740 | 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,. |
| 79760 | 62 29 20 3d 3d 20 61 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a | b).==.a</code></li>.......</ul>. |
| 79780 | 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 | ......<p>For.a.function.that.ret |
| 797a0 | 75 72 6e 73 20 61 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 20 63 6f 64 65 2c 20 75 73 65 20 | urns.a.possible.error.code,.use. |
| 797c0 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 797e0 | 6f 6b 2d 62 75 69 6c 74 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 |
| 79800 | 20 63 6c 61 73 73 3d 22 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">"std" |
| 79820 | 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 54 72 75 6e 63 3c 2f 63 6f 64 65 3e 2e 3c 2f | </span>).math.divTrunc</code>.</ |
| 79840 | 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 |
| 79860 | 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 46 6c 6f 6f 72 22 3e 40 64 69 76 46 6c 6f 6f 72 3c | i><a.href="#divFloor">@divFloor< |
| 79880 | 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 64 69 76 45 78 61 63 74 22 | /a></li>.<li><a.href="#divExact" |
| 798a0 | 3e 40 64 69 76 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 | >@divExact</a></li>.</ul>....... |
| 798c0 | 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 65 6d 62 65 64 46 69 6c 65 22 3e 3c 61 20 68 72 | ........<h2.id="embedFile"><a.hr |
| 798e0 | 65 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 | ef="#toc-embedFile">@embedFile</ |
| 79900 | 61 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 | a>.<a.class="hdr".href="#embedFi |
| 79920 | 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 72 65 3e 3c 63 6f 64 | le">..</a></h2>........<pre><cod |
| 79940 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 | e.class="zig"><span.class="tok-b |
| 79960 | 75 69 6c 74 69 6e 22 3e 40 65 6d 62 65 64 46 69 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 | uiltin">@embedFile</span>(<span. |
| 79980 | 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 70 | class="tok-kw">comptime</span>.p |
| 799a0 | 61 74 68 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | ath:.[]<span.class="tok-kw">cons |
| 799c0 | 74 3c 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"> |
| 799e0 | 75 38 3c 2f 73 70 61 6e 3e 29 20 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | u8</span>).*<span.class="tok-kw" |
| 79a00 | 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 5b 58 3a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | >const</span>.[X:<span.class="to |
| 79a20 | 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | k-number">0</span>]<span.class=" |
| 79a40 | 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | tok-type">u8</span></code></pre> |
| 79a60 | 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 |
| 79a80 | 65 74 75 72 6e 73 20 61 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 20 70 | eturns.a.compile.time.constant.p |
| 79aa0 | 6f 69 6e 74 65 72 20 74 6f 20 6e 75 6c 6c 2d 74 65 72 6d 69 6e 61 74 65 64 2c 0a 20 20 20 20 20 | ointer.to.null-terminated,...... |
| 79ac0 | 20 66 69 78 65 64 2d 73 69 7a 65 20 61 72 72 61 79 20 77 69 74 68 20 6c 65 6e 67 74 68 20 65 71 | .fixed-size.array.with.length.eq |
| 79ae0 | 75 61 6c 20 74 6f 20 74 68 65 20 62 79 74 65 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 66 69 6c | ual.to.the.byte.count.of.the.fil |
| 79b00 | 65 20 67 69 76 65 6e 20 62 79 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | e.given.by.......<code.class="zi |
| 79b20 | 67 22 3e 70 61 74 68 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 | g">path</code>..The.contents.of. |
| 79b40 | 74 68 65 20 61 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 | the.array.are.the.contents.of.th |
| 79b60 | 65 20 66 69 6c 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 | e.file........This.is.equivalent |
| 79b80 | 20 74 6f 20 61 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 | .to.a.<a.href="#String-Literals- |
| 79ba0 | 61 6e 64 2d 43 68 61 72 61 63 74 65 72 2d 4c 69 74 65 72 61 6c 73 22 3e 73 74 72 69 6e 67 20 6c | and-Character-Literals">string.l |
| 79bc0 | 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 6c 65 20 63 | iteral</a>.......with.the.file.c |
| 79be0 | 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 3e 0a 20 20 | ontents........</p>.......<p>... |
| 79c00 | 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 70 61 74 68 3c 2f 63 6f 64 65 | ....<code.class="zig">path</code |
| 79c20 | 3e 20 69 73 20 61 62 73 6f 6c 75 74 65 20 6f 72 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 | >.is.absolute.or.relative.to.the |
| 79c40 | 20 63 75 72 72 65 6e 74 20 66 69 6c 65 2c 20 6a 75 73 74 20 6c 69 6b 65 20 3c 63 6f 64 65 20 63 | .current.file,.just.like.<code.c |
| 79c60 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | lass="zig"><span.class="tok-buil |
| 79c80 | 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 | tin">@import</span></code>...... |
| 79ca0 | 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 |
| 79cc0 | 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< |
| 79ce0 | 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 |
| 79d00 | 32 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 | 2.id="enumToInt"><a.href="#toc-e |
| 79d20 | 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 |
| 79d40 | 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> |
| 79d60 | 3c 2f 68 32 3e 0a 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 7a | </h2>........<pre><code.class="z |
| 79d80 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 | ig"><span.class="tok-builtin">@e |
| 79da0 | 6e 75 6d 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 65 6e 75 6d 5f 6f 72 5f 74 61 67 67 65 64 5f 75 | numToInt</span>(enum_or_tagged_u |
| 79dc0 | 6e 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f | nion:.<span.class="tok-kw">var</ |
| 79de0 | 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 76 61 72 3c | span>).<span.class="tok-kw">var< |
| 79e00 | 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>... |
| 79e20 | 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 | ....Converts.an.enumeration.valu |
| 79e40 | 65 20 69 6e 74 6f 20 69 74 73 20 69 6e 74 65 67 65 72 20 74 61 67 20 74 79 70 65 2e 20 57 68 65 | e.into.its.integer.tag.type..Whe |
| 79e60 | 6e 20 61 20 74 61 67 67 65 64 20 75 6e 69 6f 6e 20 69 73 20 70 61 73 73 65 64 2c 0a 20 20 20 20 | n.a.tagged.union.is.passed,..... |
| 79e80 | 20 20 74 68 65 20 74 61 67 20 76 61 6c 75 65 20 69 73 20 75 73 65 64 20 61 73 20 74 68 65 20 65 | ..the.tag.value.is.used.as.the.e |
| 79ea0 | 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>.... |
| 79ec0 | 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6f 6e 6c 79 20 6f 6e | ...<p>.......If.there.is.only.on |
| 79ee0 | 65 20 70 6f 73 73 69 62 6c 65 20 65 6e 75 6d 20 76 61 6c 75 65 2c 20 74 68 65 20 72 65 73 75 74 | e.possible.enum.value,.the.resut |
| 79f00 | 20 69 73 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | .is.a.<code.class="zig"><span.cl |
| 79f20 | 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 |
| 79f40 | 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 6b 6e 6f 77 6e 20 61 74 20 3c 61 20 68 72 65 66 | n></code>.......known.at.<a.href |
| 79f60 | 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2e 0a 20 20 20 20 20 | ="#comptime">comptime</a>....... |
| 79f80 | 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> |
| 79fa0 | 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 6e 75 6d 22 3e 40 69 6e 74 54 6f | .<li><a.href="#intToEnum">@intTo |
| 79fc0 | 45 6e 75 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 | Enum</a></li>.</ul>............. |
| 79fe0 | 20 20 20 3c 68 32 20 69 64 3d 22 65 72 72 6f 72 4e 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 | ...<h2.id="errorName"><a.href="# |
| 7a000 | 74 6f 63 2d 65 72 72 6f 72 4e 61 6d 65 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 61 3e 20 3c 61 | toc-errorName">@errorName</a>.<a |
| 7a020 | 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 6f 72 4e 61 6d 65 22 3e c2 | .class="hdr".href="#errorName">. |
| 7a040 | a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | .</a></h2>........<pre><code.cla |
| 7a060 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-builti |
| 7a080 | 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 3a 20 3c 73 70 61 6e 20 | n">@errorName</span>(err:.<span. |
| 7a0a0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e | class="tok-type">anyerror</span> |
| 7a0c0 | 29 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | ).[]<span.class="tok-kw">const</ |
| 7a0e0 | 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< |
| 7a100 | 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>... |
| 7a120 | 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 74 | ....This.function.returns.the.st |
| 7a140 | 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 6f 72 2e | ring.representation.of.an.error. |
| 7a160 | 20 54 68 65 20 73 74 72 69 6e 67 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 | .The.string.representation...... |
| 7a180 | 20 6f 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | .of.<code.class="zig"><span.clas |
| 7a1a0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d 65 6d | s="tok-kw">error</span>.OutOfMem |
| 7a1c0 | 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | </code>.is.<code.class="zig"><sp |
| 7a1e0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4f 75 74 4f 66 4d 65 | an.class="tok-str">"OutOfMe |
| 7a200 | 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 | m"</span></code>........</p |
| 7a220 | 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6e | >.......<p>.......If.there.are.n |
| 7a240 | 6f 20 63 61 6c 6c 73 20 74 6f 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | o.calls.to.<code.class="zig"><sp |
| 7a260 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d | an.class="tok-builtin">@errorNam |
| 7a280 | 65 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 | e</span></code>.in.an.entire.app |
| 7a2a0 | 6c 69 63 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 6f 72 20 61 6c 6c 20 63 61 6c 6c 73 20 68 61 76 | lication,.......or.all.calls.hav |
| 7a2c0 | 65 20 61 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 66 6f 72 | e.a.compile-time.known.value.for |
| 7a2e0 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 65 72 72 3c 2f 63 6f 64 65 3e 2c 20 74 | .<code.class="zig">err</code>,.t |
| 7a300 | 68 65 6e 20 6e 6f 0a 20 20 20 20 20 20 65 72 72 6f 72 20 6e 61 6d 65 20 74 61 62 6c 65 20 77 69 | hen.no.......error.name.table.wi |
| 7a320 | 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 | ll.be.generated........</p>..... |
| 7a340 | 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 | ..........<h2.id="errorReturnTra |
| 7a360 | 63 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 | ce"><a.href="#toc-errorReturnTra |
| 7a380 | 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 20 3c 61 20 63 6c 61 | ce">@errorReturnTrace</a>.<a.cla |
| 7a3a0 | 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 65 72 72 6f 72 52 65 74 75 72 6e 54 72 61 63 65 | ss="hdr".href="#errorReturnTrace |
| 7a3c0 | 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 | ">..</a></h2>........<pre><code. |
| 7a3e0 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 | class="zig"><span.class="tok-bui |
| 7a400 | 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>() |
| 7a420 | 20 3f 2a 62 75 69 6c 74 69 6e 2e 53 74 61 63 6b 54 72 61 63 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | .?*builtin.StackTrace</code></pr |
| 7a440 | 65 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 62 69 6e 61 72 79 | e>.......<p>.......If.the.binary |
| 7a460 | 20 69 73 20 62 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 | .is.built.with.error.return.trac |
| 7a480 | 69 6e 67 2c 20 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 | ing,.and.this.function.is.invoke |
| 7a4a0 | 64 20 69 6e 20 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 | d.in.a.......function.that.calls |
| 7a4c0 | 20 61 20 66 75 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 | .a.function.with.an.error.or.err |
| 7a4e0 | 6f 72 20 75 6e 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 | or.union.return.type,.returns.a. |
| 7a500 | 20 20 20 20 20 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 | ......stack.trace.object..Otherw |
| 7a520 | 69 73 65 20 72 65 74 75 72 6e 73 20 60 6e 75 6c 6c 60 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 | ise.returns.`null`........</p>.. |
| 7a540 | 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 65 72 72 6f 72 54 6f 49 6e 74 22 | .............<h2.id="errorToInt" |
| 7a560 | 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 72 72 6f 72 54 6f 49 6e 74 22 3e 40 65 72 72 6f | ><a.href="#toc-errorToInt">@erro |
| 7a580 | 72 54 6f 49 6e 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 | rToInt</a>.<a.class="hdr".href=" |
| 7a5a0 | 23 65 72 72 6f 72 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 | #errorToInt">..</a></h2>........ |
| 7a5c0 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | <pre><code.class="zig"><span.cla |
| 7a5e0 | 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 73 70 | ss="tok-builtin">@errorToInt</sp |
| 7a600 | 61 6e 3e 28 65 72 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 | an>(err:.<span.class="tok-kw">va |
| 7a620 | 72 3c 2f 73 70 61 6e 3e 29 20 73 74 64 2e 6d 65 74 61 2e 49 6e 74 54 79 70 65 28 3c 73 70 61 6e | r</span>).std.meta.IntType(<span |
| 7a640 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 2c 20 | .class="tok-null">false</span>,. |
| 7a660 | 3c 73 70 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 |
| 7a680 | 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | f</span>(<span.class="tok-type"> |
| 7a6a0 | 61 6e 79 65 72 72 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 | anyerror</span>).*.<span.class=" |
| 7a6c0 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | tok-number">8</span>)</code></pr |
| 7a6e0 | 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 20 | e>.......<p>.......Supports.the. |
| 7a700 | 66 6f 6c 6c 6f 77 69 6e 67 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 | following.types:.......</p>..... |
| 7a720 | 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 54 | ..<ul>...........<li><a.href="#T |
| 7a740 | 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 20 | he-Global-Error-Set">The.Global. |
| 7a760 | 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 69 | Error.Set</a></li>...........<li |
| 7a780 | 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 72 | ><a.href="#Error-Set-Type">Error |
| 7a7a0 | 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 69 | .Set.Type</a></li>...........<li |
| 7a7c0 | 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 72 | ><a.href="#Error-Union-Type">Err |
| 7a7e0 | 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 75 | or.Union.Type</a></li>.......</u |
| 7a800 | 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 65 | l>.......<p>.......Converts.an.e |
| 7a820 | 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 69 | rror.to.the.integer.representati |
| 7a840 | 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 20 | on.of.an.error........</p>...... |
| 7a860 | 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 |
| 7a880 | 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, |
| 7a8a0 | 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 |
| 7a8c0 | 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. |
| 7a8e0 | 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>. |
| 7a900 | 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>< |
| 7a920 | 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 72 | a.href="#intToError">@intToError |
| 7a940 | 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c | </a></li>.</ul>................< |
| 7a960 | 68 32 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 63 | h2.id="errSetCast"><a.href="#toc |
| 7a980 | 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 20 | -errSetCast">@errSetCast</a>.<a. |
| 7a9a0 | 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 c2 | class="hdr".href="#errSetCast">. |
| 7a9c0 | a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | .</a></h2>........<pre><code.cla |
| 7a9e0 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-builti |
| 7aa00 | 6e 22 3e 40 65 72 72 53 65 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 | n">@errSetCast</span>(<span.clas |
| 7aa20 | 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 44 65 | s="tok-kw">comptime</span>.T:.De |
| 7aa40 | 73 74 54 79 70 65 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | stType,.value:.<span.class="tok- |
| 7aa60 | 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 63 6f 64 65 3e 3c | kw">var</span>).DestType</code>< |
| 7aa80 | 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 61 | /pre>.......<p>.......Converts.a |
| 7aaa0 | 6e 20 65 72 72 6f 72 20 76 61 6c 75 65 20 66 72 6f 6d 20 6f 6e 65 20 65 72 72 6f 72 20 73 65 74 | n.error.value.from.one.error.set |
| 7aac0 | 20 74 6f 20 61 6e 6f 74 68 65 72 20 65 72 72 6f 72 20 73 65 74 2e 20 41 74 74 65 6d 70 74 69 6e | .to.another.error.set..Attemptin |
| 7aae0 | 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 77 68 69 63 | g.to.convert.an.error.......whic |
| 7ab00 | 68 20 69 73 20 6e 6f 74 20 69 6e 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 65 72 72 6f | h.is.not.in.the.destination.erro |
| 7ab20 | 72 20 73 65 74 20 72 65 73 75 6c 74 73 20 69 6e 20 73 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 | r.set.results.in.safety-protecte |
| 7ab40 | 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"> |
| 7ab60 | 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>........</ |
| 7ab80 | 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 65 78 70 6f 72 74 22 | p>...............<h2.id="export" |
| 7aba0 | 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 70 6f 72 74 22 3e 40 65 78 70 6f 72 74 3c 2f | ><a.href="#toc-export">@export</ |
| 7abc0 | 61 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 6f 72 74 22 | a>.<a.class="hdr".href="#export" |
| 7abe0 | 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | >..</a></h2>........<pre><code.c |
| 7ac00 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | lass="zig"><span.class="tok-buil |
| 7ac20 | 74 69 6e 22 3e 40 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 74 61 72 67 65 74 3a 20 3c 73 70 61 | tin">@export</span>(target:.<spa |
| 7ac40 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 | n.class="tok-kw">var</span>,.<sp |
| 7ac60 | 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 |
| 7ac80 | 3e 20 6f 70 74 69 6f 6e 73 3a 20 73 74 64 2e 62 75 69 6c 74 69 6e 2e 45 78 70 6f 72 74 4f 70 74 | >.options:.std.builtin.ExportOpt |
| 7aca0 | 69 6f 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 | ions).<span.class="tok-type">voi |
| 7acc0 | 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a | d</span></code></pre>.......<p>. |
| 7ace0 | 20 20 20 20 20 20 43 72 65 61 74 65 73 20 61 20 73 79 6d 62 6f 6c 20 69 6e 20 74 68 65 20 6f 75 | ......Creates.a.symbol.in.the.ou |
| 7ad00 | 74 70 75 74 20 6f 62 6a 65 63 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 | tput.object.file........</p>.... |
| 7ad20 | 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 | ...<p>.......This.function.can.b |
| 7ad40 | 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 74 69 | e.called.from.a.<a.href="#compti |
| 7ad60 | 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 69 74 | me">comptime</a>.block.to.condit |
| 7ad80 | 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 57 68 | ionally.export.symbols........Wh |
| 7ada0 | 65 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 74 61 72 67 65 74 3c 2f 63 6f 64 | en.<code.class="zig">target</cod |
| 7adc0 | 65 3e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 43 20 63 61 6c 6c | e>.is.a.function.with.the.C.call |
| 7ade0 | 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 61 6e 64 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 | ing.convention.and.......<code.c |
| 7ae00 | 6c 61 73 73 3d 22 7a 69 67 22 3e 6f 70 74 69 6f 6e 73 2e 6c 69 6e 6b 61 67 65 3c 2f 63 6f 64 65 | lass="zig">options.linkage</code |
| 7ae20 | 3e 20 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 53 74 72 6f 6e 67 3c 2f 63 | >.is.<code.class="zig">Strong</c |
| 7ae40 | 6f 64 65 3e 2c 20 74 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 20 20 | ode>,.this.is.equivalent.to..... |
| 7ae60 | 20 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ..the.<code.class="zig"><span.cl |
| 7ae80 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 | ass="tok-kw">export</span></code |
| 7aea0 | 3e 20 6b 65 79 77 6f 72 64 20 75 73 65 64 20 6f 6e 20 61 20 66 75 6e 63 74 69 6f 6e 3a 0a 20 20 | >.keyword.used.on.a.function:... |
| 7aec0 | 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 | ....</p>.......<p.class="file">t |
| 7aee0 | 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | est.zig</p><pre><code.class="zig |
| 7af00 | 22 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< |
| 7af20 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 | /span>.{.....<span.class="tok-bu |
| 7af40 | 69 6c 74 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 | iltin">@export</span>(internalNa |
| 7af60 | 6d 65 2c 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 | me,..{..name.=.<span.class="tok- |
| 7af80 | 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 6c 69 | str">"foo"</span>,..li |
| 7afa0 | 6e 6b 61 67 65 20 3d 20 2e 53 74 72 6f 6e 67 20 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 | nkage.=..Strong.});.}..<span.cla |
| 7afc0 | 73 73 3d 22 74 6f 6b 2d 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 |
| 7afe0 | 73 3d 22 74 6f 6b 2d 66 6e 22 3e 69 6e 74 65 72 6e 61 6c 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 | s="tok-fn">internalName</span>() |
| 7b000 | 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</ |
| 7b020 | 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" |
| 7b040 | 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 | >void</span>.{}</code></pre><pre |
| 7b060 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 | ><code.class="shell">$.zig.build |
| 7b080 | 2d 6f 62 6a 20 74 65 73 74 2e 7a 69 67 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 | -obj.test.zig</code></pre>...... |
| 7b0a0 | 20 20 3c 70 3e 54 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 3a 3c 2f 70 3e 0a | ..<p>This.is.equivalent.to:</p>. |
| 7b0c0 | 20 20 20 20 20 20 3c 70 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.class="file">test.zig</ |
| 7b0e0 | 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | p><pre><code.class="zig"><span.c |
| 7b100 | 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 |
| 7b120 | 6e 20 63 6c 61 73 73 3d 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 |
| 7b140 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 | .class="tok-fn">foo</span>().<sp |
| 7b160 | 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>. |
| 7b180 | 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | {}</code></pre><pre><code.class= |
| 7b1a0 | 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 74 65 73 74 2e 7a 69 67 | "shell">$.zig.build-obj.test.zig |
| 7b1c0 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 20 74 68 61 | </code></pre>........<p>Note.tha |
| 7b1e0 | 74 20 65 76 65 6e 20 77 68 65 6e 20 75 73 69 6e 67 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | t.even.when.using.<code.class="z |
| 7b200 | 69 67 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 | ig"><span.class="tok-kw">export< |
| 7b220 | 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | /span></code>,.<code.class="zig" |
| 7b240 | 3e 40 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 3c 2f 63 6f 64 65 3e 20 73 79 6e 74 61 78 20 | >@"foo"</code>.syntax. |
| 7b260 | 63 61 6e 0a 20 20 20 20 20 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 6f 6f 73 65 20 61 6e 79 20 | can.......be.used.to.choose.any. |
| 7b280 | 73 74 72 69 6e 67 20 66 6f 72 20 74 68 65 20 73 79 6d 62 6f 6c 20 6e 61 6d 65 3a 3c 2f 70 3e 0a | string.for.the.symbol.name:</p>. |
| 7b2a0 | 20 20 20 20 20 20 3c 70 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.class="file">test.zig</ |
| 7b2c0 | 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | p><pre><code.class="zig"><span.c |
| 7b2e0 | 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 |
| 7b300 | 6e 20 63 6c 61 73 73 3d 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 |
| 7b320 | 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 69 6f | .class="tok-fn">@"A.functio |
| 7b340 | 6e 20 6e 61 6d 65 20 74 68 61 74 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 20 73 65 6e 74 65 6e | n.name.that.is.a.complete.senten |
| 7b360 | 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 3d 22 | ce."</span>().<span.class=" |
| 7b380 | 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 63 6f 64 65 3e 3c | tok-type">void</span>.{}</code>< |
| 7b3a0 | 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 | /pre><pre><code.class="shell">$. |
| 7b3c0 | 7a 69 67 20 62 75 69 6c 64 2d 6f 62 6a 20 74 65 73 74 2e 7a 69 67 3c 2f 63 6f 64 65 3e 3c 2f 70 | zig.build-obj.test.zig</code></p |
| 7b3e0 | 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 6c 6f 6f 6b 69 6e | re>........<p>.......When.lookin |
| 7b400 | 67 20 61 74 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6f 62 6a 65 63 74 2c 20 79 6f 75 20 63 | g.at.the.resulting.object,.you.c |
| 7b420 | 61 6e 20 73 65 65 20 74 68 65 20 73 79 6d 62 6f 6c 20 69 73 20 75 73 65 64 20 76 65 72 62 61 74 | an.see.the.symbol.is.used.verbat |
| 7b440 | 69 6d 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 30 30 30 30 30 30 | im:.......</p>.......<pre>000000 |
| 7b460 | 30 30 30 30 30 30 30 31 66 30 20 54 20 41 20 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 74 68 61 | 00000001f0.T.A.function.name.tha |
| 7b480 | 74 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 65 20 73 65 6e 74 65 6e 63 65 2e 3c 2f 70 72 65 3e 0a | t.is.a.complete.sentence.</pre>. |
| 7b4a0 | 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>< |
| 7b4c0 | 61 20 68 72 65 66 3d 22 23 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e | a.href="#Exporting-a-C-Library"> |
| 7b4e0 | 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 2f 6c 69 3e 0a 3c | Exporting.a.C.Library</a></li>.< |
| 7b500 | 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 66 65 6e 63 | /ul>................<h2.id="fenc |
| 7b520 | 65 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 | e"><a.href="#toc-fence">@fence</ |
| 7b540 | 61 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 | a>.<a.class="hdr".href="#fence"> |
| 7b560 | c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | ..</a></h2>........<pre><code.cl |
| 7b580 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 | ass="zig"><span.class="tok-built |
| 7b5a0 | 69 6e 22 3e 40 66 65 6e 63 65 3c 2f 73 70 61 6e 3e 28 6f 72 64 65 72 3a 20 41 74 6f 6d 69 63 4f | in">@fence</span>(order:.AtomicO |
| 7b5c0 | 72 64 65 72 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 | rder)</code></pre>.......<p>.... |
| 7b5e0 | 20 20 20 54 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 66 65 6e 63 65 3c 2f | ...The.<code.class="zig">fence</ |
| 7b600 | 63 6f 64 65 3e 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 | code>.function.is.used.to.introd |
| 7b620 | 75 63 65 20 68 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 | uce.happens-before.edges.between |
| 7b640 | 20 6f 70 65 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 3c 70 | .operations........</p>.......<p |
| 7b660 | 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 41 74 6f 6d 69 63 | >.......<code.class="zig">Atomic |
| 7b680 | 4f 72 64 65 72 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 20 77 69 74 68 20 3c | Order</code>.can.be.found.with.< |
| 7b6a0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 7b6c0 | 6b 2d 62 75 69 6c 74 69 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. |
| 7b6e0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 | class="tok-str">"builtin&qu |
| 7b700 | 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 41 74 6f 6d 69 63 4f 72 64 65 72 3c 2f 63 6f 64 65 3e 2e 0a | ot;</span>).AtomicOrder</code>.. |
| 7b720 | 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 |
| 7b740 | 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 | ><ul>.<li><a.href="#Compile-Vari |
| 7b760 | 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 3c 2f 6c 69 | ables">Compile.Variables</a></li |
| 7b780 | 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 32 20 69 64 3d 22 66 | >.</ul>................<h2.id="f |
| 7b7a0 | 69 65 6c 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 69 65 6c 64 22 3e 40 66 69 65 6c | ield"><a.href="#toc-field">@fiel |
| 7b7c0 | 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 66 69 65 6c | d</a>.<a.class="hdr".href="#fiel |
| 7b7e0 | 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 | d">..</a></h2>........<pre><code |
| 7b800 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 | .class="zig"><span.class="tok-bu |
| 7b820 | 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 6c 68 73 3a 20 3c 73 70 61 6e 20 | iltin">@field</span>(lhs:.<span. |
| 7b840 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e | class="tok-kw">var</span>,.<span |
| 7b860 | 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>. |
| 7b880 | 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | field_name:.[]<span.class="tok-k |
| 7b8a0 | 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 |
| 7b8c0 | 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 28 66 69 65 6c 64 29 3c 2f 63 6f 64 65 3e | -type">u8</span>).(field)</code> |
| 7b8e0 | 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 6c 64 20 61 | </pre>.......<p>Performs.field.a |
| 7b900 | 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 6e 67 2e 0a | ccess.by.a.compile-time.string.. |
| 7b920 | 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 | ......</p>........<p.class="file |
| 7b940 | 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | ">test.zig</p><pre><code.class=" |
| 7b960 | 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c | zig"><span.class="tok-kw">const< |
| 7b980 | 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 |
| 7b9a0 | 69 6c 74 69 6e 22 3e 40 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 |
| 7b9c0 | 73 3d 22 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">"std"</spa |
| 7b9e0 | 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | n>);..<span.class="tok-kw">const |
| 7ba00 | 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 |
| 7ba20 | 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 78 3a 20 3c 73 70 61 | -kw">struct</span>.{.....x:.<spa |
| 7ba40 | 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 0a 20 | n.class="tok-type">u32</span>,.. |
| 7ba60 | 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 75 33 32 | ...y:.<span.class="tok-type">u32 |
| 7ba80 | 3c 2f 73 70 61 6e 3e 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | </span>.};..<span.class="tok-kw" |
| 7baa0 | 3e 74 65 73 74 3c 2f 73 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 |
| 7bac0 | 72 22 3e 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 | r">"field.access.by.string& |
| 7bae0 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | quot;</span>.{.....<span.class=" |
| 7bb00 | 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 73 74 | tok-kw">const</span>.assert.=.st |
| 7bb20 | 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | d.debug.assert;.....<span.class= |
| 7bb40 | 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 70 20 3d 20 50 6f 69 6e 74 20 7b 2e | "tok-kw">var</span>.p.=.Point.{. |
| 7bb60 | 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 30 3c 2f | x.=.<span.class="tok-number">0</ |
| 7bb80 | 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 6e 75 6d | span>,..y.=.<span.class="tok-num |
| 7bba0 | 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 7d 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ber">0</span>};......<span.class |
| 7bbc0 | 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 | ="tok-builtin">@field</span>(p,. |
| 7bbe0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 75 | <span.class="tok-str">"x&qu |
| 7bc00 | 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | ot;</span>).=.<span.class="tok-n |
| 7bc20 | 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | umber">4</span>;.....<span.class |
| 7bc40 | 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 | ="tok-builtin">@field</span>(p,. |
| 7bc60 | 3c 73 70 61 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 | <span.class="tok-str">"y&qu |
| 7bc80 | 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 | ot;</span>).=.<span.class="tok-b |
| 7bca0 | 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 | uiltin">@field</span>(p,.<span.c |
| 7bcc0 | 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 75 6f 74 3b 3c 2f 73 70 | lass="tok-str">"x"</sp |
| 7bce0 | 61 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 | an>).+.<span.class="tok-number"> |
| 7bd00 | 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 | 1</span>;......assert(<span.clas |
| 7bd20 | 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 3e 28 70 2c | s="tok-builtin">@field</span>(p, |
| 7bd40 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 26 71 | .<span.class="tok-str">"x&q |
| 7bd60 | 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 6b | uot;</span>).==.<span.class="tok |
| 7bd80 | 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 3c | -number">4</span>);.....assert(< |
| 7bda0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 3c | span.class="tok-builtin">@field< |
| 7bdc0 | 2f 73 70 61 6e 3e 28 70 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e | /span>(p,.<span.class="tok-str"> |
| 7bde0 | 26 71 75 6f 74 3b 79 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 | "y"</span>).==.<span.c |
| 7be00 | 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 0a 7d 3c 2f | lass="tok-number">5</span>);.}</ |
| 7be20 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 | code></pre><pre><code.class="she |
| 7be40 | 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 | ll">$.zig.test.test.zig.1/1.test |
| 7be60 | 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 71 75 | ."field.access.by.string&qu |
| 7be80 | 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 | ot;...OK.All.1.tests.passed..</c |
| 7bea0 | 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 | ode></pre>.................<h2.i |
| 7bec0 | 64 3d 22 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 | d="fieldParentPtr"><a.href="#toc |
| 7bee0 | 2d 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 | -fieldParentPtr">@fieldParentPtr |
| 7bf00 | 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 69 65 6c 64 | </a>.<a.class="hdr".href="#field |
| 7bf20 | 50 61 72 65 6e 74 50 74 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 | ParentPtr">..</a></h2>........<p |
| 7bf40 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| 7bf60 | 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 69 65 6c 64 50 61 72 65 6e 74 50 74 72 3c 2f | ="tok-builtin">@fieldParentPtr</ |
| 7bf80 | 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 |
| 7bfa0 | 69 6d 65 3c 2f 73 70 61 6e 3e 20 50 61 72 65 6e 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 | ime</span>.ParentType:.<span.cla |
| 7bfc0 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e | ss="tok-type">type</span>,.<span |
| 7bfe0 | 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>. |
| 7c000 | 66 69 65 6c 64 5f 6e 61 6d 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | field_name:.[]<span.class="tok-k |
| 7c020 | 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 |
| 7c040 | 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 66 69 65 6c 64 5f 70 74 72 3a | -type">u8</span>,.....field_ptr: |
| 7c060 | 20 2a 54 29 20 2a 50 61 72 65 6e 74 54 79 70 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 | .*T).*ParentType</code></pre>... |
| 7c080 | 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 47 69 76 65 6e 20 61 20 70 6f 69 6e 74 65 72 20 74 6f | ....<p>.......Given.a.pointer.to |
| 7c0a0 | 20 61 20 66 69 65 6c 64 2c 20 72 65 74 75 72 6e 73 20 74 68 65 20 62 61 73 65 20 70 6f 69 6e 74 | .a.field,.returns.the.base.point |
| 7c0c0 | 65 72 20 6f 66 20 61 20 73 74 72 75 63 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 | er.of.a.struct........</p>...... |
| 7c0e0 | 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 66 6c 6f 61 74 43 61 73 74 22 3e 3c 61 20 68 | .........<h2.id="floatCast"><a.h |
| 7c100 | 72 65 66 3d 22 23 74 6f 63 2d 66 6c 6f 61 74 43 61 73 74 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c | ref="#toc-floatCast">@floatCast< |
| 7c120 | 2f 61 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 | /a>.<a.class="hdr".href="#floatC |
| 7c140 | 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f | ast">..</a></h2>........<pre><co |
| 7c160 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 7c180 | 62 75 69 6c 74 69 6e 22 3e 40 66 6c 6f 61 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e | builtin">@floatCast</span>(<span |
| 7c1a0 | 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>. |
| 7c1c0 | 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | DestType:.<span.class="tok-type" |
| 7c1e0 | 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | >type</span>,.value:.<span.class |
| 7c200 | 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f | ="tok-kw">var</span>).DestType</ |
| 7c220 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 | code></pre>.......<p>.......Conv |
| 7c240 | 65 72 74 20 66 72 6f 6d 20 6f 6e 65 20 66 6c 6f 61 74 20 74 79 70 65 20 74 6f 20 61 6e 6f 74 68 | ert.from.one.float.type.to.anoth |
| 7c260 | 65 72 2e 20 54 68 69 73 20 63 61 73 74 20 69 73 20 73 61 66 65 2c 20 62 75 74 20 6d 61 79 20 63 | er..This.cast.is.safe,.but.may.c |
| 7c280 | 61 75 73 65 20 74 68 65 0a 20 20 20 20 20 20 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 20 74 6f 20 | ause.the.......numeric.value.to. |
| 7c2a0 | 6c 6f 73 65 20 70 72 65 63 69 73 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 | lose.precision........</p>...... |
| 7c2c0 | 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 3c 61 20 | .........<h2.id="floatToInt"><a. |
| 7c2e0 | 68 72 65 66 3d 22 23 74 6f 63 2d 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 66 6c 6f 61 74 54 6f 49 | href="#toc-floatToInt">@floatToI |
| 7c300 | 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 66 6c 6f | nt</a>.<a.class="hdr".href="#flo |
| 7c320 | 61 74 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 | atToInt">..</a></h2>........<pre |
| 7c340 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| 7c360 | 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 6c 6f 61 74 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 | tok-builtin">@floatToInt</span>( |
| 7c380 | 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 |
| 7c3a0 | 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | pan>.DestType:.<span.class="tok- |
| 7c3c0 | 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 | type">type</span>,.float:.<span. |
| 7c3e0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 | class="tok-kw">var</span>).DestT |
| 7c400 | 79 70 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 | ype</code></pre>.......<p>...... |
| 7c420 | 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 20 61 20 | .Converts.the.integer.part.of.a. |
| 7c440 | 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 64 65 73 | floating.point.number.to.the.des |
| 7c460 | 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 20 20 20 | tination.type........</p>....... |
| 7c480 | 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 20 6f 66 | <p>.......If.the.integer.part.of |
| 7c4a0 | 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 6e 6e 6f | .the.floating.point.number.canno |
| 7c4c0 | 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 2c 0a 20 | t.fit.in.the.destination.type,.. |
| 7c4e0 | 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 64 20 3c | .....it.invokes.safety-checked.< |
| 7c500 | 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 | a.href="#Undefined-Behavior">Und |
| 7c520 | 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | efined.Behavior</a>........</p>. |
| 7c540 | 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>< |
| 7c560 | 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 6f 61 74 | a.href="#intToFloat">@intToFloat |
| 7c580 | 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c | </a></li>.</ul>................< |
| 7c5a0 | 68 32 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 72 61 6d | h2.id="frame"><a.href="#toc-fram |
| 7c5c0 | 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 68 72 65 | e">@frame</a>.<a.class="hdr".hre |
| 7c5e0 | 66 3d 22 23 66 72 61 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 | f="#frame">..</a></h2>........<p |
| 7c600 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| 7c620 | 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 20 2a | ="tok-builtin">@frame</span>().* |
| 7c640 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 | <span.class="tok-builtin">@Frame |
| 7c660 | 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 | </span>(func)</code></pre>...... |
| 7c680 | 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 6e 73 | .<p>.......This.function.returns |
| 7c6a0 | 20 61 20 70 6f 69 6e 74 65 72 20 74 6f 20 74 68 65 20 66 72 61 6d 65 20 66 6f 72 20 61 20 67 69 | .a.pointer.to.the.frame.for.a.gi |
| 7c6c0 | 76 65 6e 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 69 73 20 74 79 70 65 0a 20 20 20 20 20 20 63 61 | ven.function..This.type.......ca |
| 7c6e0 | 6e 20 62 65 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f 6e 22 3e 63 6f | n.be.<a.href="#Type-Coercion">co |
| 7c700 | 65 72 63 65 64 3c 2f 61 3e 20 74 6f 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | erced</a>.to.<code.class="zig">< |
| 7c720 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 | span.class="tok-kw">anyframe</sp |
| 7c740 | 61 6e 3e 2d 26 67 74 3b 54 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 20 74 6f 20 3c 63 | an>->T</code>.and.......to.<c |
| 7c760 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 7c780 | 2d 6b 77 22 3e 61 6e 79 66 72 61 6d 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 77 68 65 | -kw">anyframe</span></code>,.whe |
| 7c7a0 | 72 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 54 3c 2f 63 6f 64 65 3e 20 69 73 | re.<code.class="zig">T</code>.is |
| 7c7c0 | 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 0a 20 20 20 20 20 20 6f 66 20 74 68 65 20 66 75 | .the.return.type.......of.the.fu |
| 7c7e0 | 6e 63 74 69 6f 6e 20 69 6e 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 | nction.in.scope........</p>..... |
| 7c800 | 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 64 6f 65 73 20 6e | ..<p>.......This.function.does.n |
| 7c820 | 6f 74 20 6d 61 72 6b 20 61 20 73 75 73 70 65 6e 73 69 6f 6e 20 70 6f 69 6e 74 2c 20 62 75 74 20 | ot.mark.a.suspension.point,.but. |
| 7c840 | 69 74 20 64 6f 65 73 20 63 61 75 73 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 73 63 | it.does.cause.the.function.in.sc |
| 7c860 | 6f 70 65 0a 20 20 20 20 20 20 74 6f 20 62 65 63 6f 6d 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 | ope.......to.become.an.<a.href=" |
| 7c880 | 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e | #Async-Functions">async.function |
| 7c8a0 | 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c | </a>........</p>...............< |
| 7c8c0 | 68 32 20 69 64 3d 22 46 72 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 72 61 6d | h2.id="Frame"><a.href="#toc-Fram |
| 7c8e0 | 65 22 3e 40 46 72 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 | e">@Frame</a>.<a.class="hdr".hre |
| 7c900 | 66 3d 22 23 46 72 61 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 | f="#Frame">..</a></h2>........<p |
| 7c920 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| 7c940 | 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 75 6e | ="tok-builtin">@Frame</span>(fun |
| 7c960 | 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 | c:.<span.class="tok-kw">var</spa |
| 7c980 | 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c | n>).<span.class="tok-type">type< |
| 7c9a0 | 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>... |
| 7c9c0 | 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 72 | ....This.function.returns.the.fr |
| 7c9e0 | 61 6d 65 20 74 79 70 65 20 6f 66 20 61 20 66 75 6e 63 74 69 6f 6e 2e 20 54 68 69 73 20 77 6f 72 | ame.type.of.a.function..This.wor |
| 7ca00 | 6b 73 20 66 6f 72 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 | ks.for.<a.href="#Async-Functions |
| 7ca20 | 22 3e 41 73 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 0a 20 20 20 20 20 20 61 73 20 77 | ">Async.Functions</a>.......as.w |
| 7ca40 | 65 6c 6c 20 61 73 20 61 6e 79 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 6f 75 74 20 61 20 73 70 | ell.as.any.function.without.a.sp |
| 7ca60 | 65 63 69 66 69 63 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 2e 0a 20 20 20 20 20 | ecific.calling.convention....... |
| 7ca80 | 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 74 79 70 65 20 | .</p>.......<p>.......This.type. |
| 7caa0 | 69 73 20 73 75 69 74 61 62 6c 65 20 74 6f 20 62 65 20 75 73 65 64 20 61 73 20 74 68 65 20 72 65 | is.suitable.to.be.used.as.the.re |
| 7cac0 | 74 75 72 6e 20 74 79 70 65 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 61 6e 64 | turn.type.of.<a.href="#Async-and |
| 7cae0 | 2d 41 77 61 69 74 22 3e 61 73 79 6e 63 3c 2f 61 3e 20 77 68 69 63 68 0a 20 20 20 20 20 20 61 6c | -Await">async</a>.which.......al |
| 7cb00 | 6c 6f 77 73 20 6f 6e 65 20 74 6f 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 68 65 61 70 2d 61 | lows.one.to,.for.example,.heap-a |
| 7cb20 | 6c 6c 6f 63 61 74 65 20 61 6e 20 61 73 79 6e 63 20 66 75 6e 63 74 69 6f 6e 20 66 72 61 6d 65 3a | llocate.an.async.function.frame: |
| 7cb40 | 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 | .......</p>.......<p.class="file |
| 7cb60 | 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | ">test.zig</p><pre><code.class=" |
| 7cb80 | 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c | zig"><span.class="tok-kw">const< |
| 7cba0 | 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 |
| 7cbc0 | 69 6c 74 69 6e 22 3e 40 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 |
| 7cbe0 | 73 3d 22 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">"std"</spa |
| 7cc00 | 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c | n>);..<span.class="tok-kw">test< |
| 7cc20 | 2f 73 70 61 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 |
| 7cc40 | 6f 74 3b 68 65 61 70 20 61 6c 6c 6f 63 61 74 65 64 20 66 72 61 6d 65 26 71 75 6f 74 3b 3c 2f 73 | ot;heap.allocated.frame"</s |
| 7cc60 | 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | pan>.{.....<span.class="tok-kw"> |
| 7cc80 | 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 66 72 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | const</span>.frame.=.<span.class |
| 7cca0 | 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 68 65 61 70 2e 70 61 | ="tok-kw">try</span>.std.heap.pa |
| 7ccc0 | 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ge_allocator.create(<span.class= |
| 7cce0 | 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 |
| 7cd00 | 29 29 3b 0a 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 3d 22 74 | ));.....frame.*.=.<span.class="t |
| 7cd20 | 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 0a 7d 0a 0a 3c | ok-kw">async</span>.func();.}..< |
| 7cd40 | 73 70 61 6e 20 63 6c 61 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 |
| 7cd60 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 75 6e 63 3c 2f 73 70 61 6e 3e 28 29 | pan.class="tok-fn">func</span>() |
| 7cd80 | 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 |
| 7cda0 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 | an>.{.....<span.class="tok-kw">s |
| 7cdc0 | 75 73 70 65 6e 64 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 | uspend</span>;.}</code></pre><pr |
| 7cde0 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 | e><code.class="shell">$.zig.test |
| 7ce00 | 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 68 65 61 70 20 61 6c | .test.zig.1/1.test."heap.al |
| 7ce20 | 6c 6f 63 61 74 65 64 20 66 72 61 6d 65 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 | located.frame"...OK.All.1.t |
| 7ce40 | 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 | ests.passed..</code></pre>...... |
| 7ce60 | 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e | ..........<h2.id="frameAddress"> |
| 7ce80 | 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e 40 66 72 61 | <a.href="#toc-frameAddress">@fra |
| 7cea0 | 6d 65 41 64 64 72 65 73 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 | meAddress</a>.<a.class="hdr".hre |
| 7cec0 | 66 3d 22 23 66 72 61 6d 65 41 64 64 72 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 | f="#frameAddress">..</a></h2>... |
| 7cee0 | 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | .....<pre><code.class="zig"><spa |
| 7cf00 | 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 41 64 64 72 | n.class="tok-builtin">@frameAddr |
| 7cf20 | 65 73 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | ess</span>().<span.class="tok-ty |
| 7cf40 | 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 | pe">usize</span></code></pre>... |
| 7cf60 | 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 |
| 7cf80 | 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 72 | rns.the.base.pointer.of.the.curr |
| 7cfa0 | 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 20 | ent.stack.frame........</p>..... |
| 7cfc0 | 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 20 | ..<p>.......The.implications.of. |
| 7cfe0 | 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 74 | this.are.target.specific.and.not |
| 7d000 | 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 61 | .consistent.across.all.......pla |
| 7d020 | 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 6f | tforms..The.frame.address.may.no |
| 7d040 | 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 64 | t.be.available.in.release.mode.d |
| 7d060 | 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 74 | ue.to.......aggressive.optimizat |
| 7d080 | 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 20 | ions........</p>.......<p>...... |
| 7d0a0 | 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 74 | .This.function.is.only.valid.wit |
| 7d0c0 | 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 20 | hin.function.scope........</p>.. |
| 7d0e0 | 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 66 72 61 6d 65 53 69 7a 65 22 3e | .............<h2.id="frameSize"> |
| 7d100 | 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 53 | <a.href="#toc-frameSize">@frameS |
| 7d120 | 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 72 | ize</a>.<a.class="hdr".href="#fr |
| 7d140 | 61 6d 65 53 69 7a 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 | ameSize">..</a></h2>........<pre |
| 7d160 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| 7d180 | 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 72 61 6d 65 53 69 7a 65 3c 2f 73 70 61 6e 3e 28 29 | tok-builtin">@frameSize</span>() |
| 7d1a0 | 20 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 |
| 7d1c0 | 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>..... |
| 7d1e0 | 20 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 3c 63 6f 64 65 20 63 6c 61 73 | ..This.is.the.same.as.<code.clas |
| 7d200 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-builtin |
| 7d220 | 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ">@sizeOf</span>(<span.class="to |
| 7d240 | 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 46 72 61 6d 65 3c 2f 73 70 61 6e 3e 28 66 75 6e 63 29 29 3c | k-builtin">@Frame</span>(func))< |
| 7d260 | 2f 63 6f 64 65 3e 2c 20 77 68 65 72 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | /code>,.where.<code.class="zig"> |
| 7d280 | 66 75 6e 63 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 6d 61 79 20 62 65 20 72 75 6e 74 69 6d 65 | func</code>.......may.be.runtime |
| 7d2a0 | 2d 6b 6e 6f 77 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 | -known........</p>.......<p>.... |
| 7d2c0 | 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 75 73 | ...This.function.is.typically.us |
| 7d2e0 | 65 64 20 69 6e 20 63 6f 6e 6a 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 3c 61 20 68 72 65 66 3d 22 | ed.in.conjunction.with.<a.href=" |
| 7d300 | 23 61 73 79 6e 63 43 61 6c 6c 22 3e 40 61 73 79 6e 63 43 61 6c 6c 3c 2f 61 3e 2e 0a 20 20 20 20 | #asyncCall">@asyncCall</a>...... |
| 7d320 | 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 68 61 73 | ..</p>...............<h2.id="has |
| 7d340 | 44 65 63 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 68 61 73 44 65 63 6c 22 3e 40 68 61 | Decl"><a.href="#toc-hasDecl">@ha |
| 7d360 | 73 44 65 63 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 | sDecl</a>.<a.class="hdr".href="# |
| 7d380 | 68 61 73 44 65 63 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 | hasDecl">..</a></h2>........<pre |
| 7d3a0 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| 7d3c0 | 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 3c 73 70 | tok-builtin">@hasDecl</span>(<sp |
| 7d3e0 | 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 |
| 7d400 | 3e 20 43 6f 6e 74 61 69 6e 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | >.Container:.<span.class="tok-ty |
| 7d420 | 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 6f | pe">type</span>,.<span.class="to |
| 7d440 | 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 |
| 7d460 | 70 61 6e 20 63 6c 61 73 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>. |
| 7d480 | 3c 73 70 61 6e 20 63 6c 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> |
| 7d4a0 | 29 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 |
| 7d4c0 | 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>..... |
| 7d4e0 | 20 20 52 65 74 75 72 6e 73 20 77 68 65 74 68 65 72 20 6f 72 20 6e 6f 74 20 61 20 3c 61 20 68 72 | ..Returns.whether.or.not.a.<a.hr |
| 7d500 | 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 | ef="#struct">struct</a>,.<a.href |
| 7d520 | 3d 22 23 65 6e 75 6d 22 3e 65 6e 75 6d 3c 2f 61 3e 2c 20 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 | ="#enum">enum</a>,.or.<a.href="# |
| 7d540 | 75 6e 69 6f 6e 22 3e 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 | union">union</a>.has.a.declarati |
| 7d560 | 6f 6e 0a 20 20 20 20 20 20 6d 61 74 63 68 69 6e 67 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | on.......matching.<code.class="z |
| 7d580 | 69 67 22 3e 6e 61 6d 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 | ig">name</code>........</p>..... |
| 7d5a0 | 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 | ..<p.class="file">test.zig</p><p |
| 7d5c0 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| 7d5e0 | 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 |
| 7d600 | 61 6e 20 63 6c 61 73 73 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</ |
| 7d620 | 73 70 61 6e 3e 28 3c 73 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 |
| 7d640 | 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | t;std"</span>);.<span.class |
| 7d660 | 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 74 20 3d 20 | ="tok-kw">const</span>.assert.=. |
| 7d680 | 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | std.debug.assert;..<span.class=" |
| 7d6a0 | 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e | tok-kw">const</span>.Foo.=.<span |
| 7d6c0 | 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 0a | .class="tok-kw">struct</span>.{. |
| 7d6e0 | 20 20 20 20 6e 6f 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 | ....nope:.<span.class="tok-type" |
| 7d700 | 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | >i32</span>,......<span.class="t |
| 7d720 | 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 |
| 7d740 | 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 6c 61 68 20 3d 20 3c 73 70 61 6e 20 63 | ok-kw">var</span>.blah.=.<span.c |
| 7d760 | 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 78 78 78 26 71 75 6f 74 3b 3c 2f | lass="tok-str">"xxx"</ |
| 7d780 | 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | span>;.....<span.class="tok-kw"> |
| 7d7a0 | 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 |
| 7d7c0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 | ok-number">1</span>;.};..<span.c |
| 7d7e0 | 6c 61 73 73 3d 22 74 6f 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. |
| 7d800 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 40 68 61 73 44 65 63 6c 26 71 | class="tok-str">"@hasDecl&q |
| 7d820 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 | uot;</span>.{.....assert(<span.c |
| 7d840 | 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 70 61 | lass="tok-builtin">@hasDecl</spa |
| 7d860 | 6e 3e 28 46 6f 6f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 | n>(Foo,.<span.class="tok-str">&q |
| 7d880 | 75 6f 74 3b 62 6c 61 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 0a 20 20 20 20 3c 73 | uot;blah"</span>));......<s |
| 7d8a0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 45 76 65 6e 20 | pan.class="tok-comment">//.Even. |
| 7d8c0 | 74 68 6f 75 67 68 20 60 68 69 60 20 69 73 20 70 72 69 76 61 74 65 2c 20 40 68 61 73 44 65 63 6c | though.`hi`.is.private,.@hasDecl |
| 7d8e0 | 20 72 65 74 75 72 6e 73 20 74 72 75 65 20 62 65 63 61 75 73 65 20 74 68 69 73 20 74 65 73 74 20 | .returns.true.because.this.test. |
| 7d900 | 69 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 | is</span>.....<span.class="tok-c |
| 7d920 | 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 69 6c 65 20 73 63 6f 70 | omment">//.in.the.same.file.scop |
| 7d940 | 65 20 61 73 20 46 6f 6f 2e 20 49 74 20 77 6f 75 6c 64 20 72 65 74 75 72 6e 20 66 61 6c 73 65 20 | e.as.Foo..It.would.return.false. |
| 7d960 | 69 66 20 46 6f 6f 20 77 61 73 20 64 65 63 6c 61 72 65 64 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c | if.Foo.was.declared</span>.....< |
| 7d980 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 69 6e 20 61 | span.class="tok-comment">//.in.a |
| 7d9a0 | 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 73 73 65 | .different.file.</span>.....asse |
| 7d9c0 | 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 68 61 | rt(<span.class="tok-builtin">@ha |
| 7d9e0 | 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | sDecl</span>(Foo,.<span.class="t |
| 7da00 | 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 69 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b | ok-str">"hi"</span>)); |
| 7da20 | 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e | ......<span.class="tok-comment"> |
| 7da40 | 2f 2f 20 40 68 61 73 44 65 63 6c 20 69 73 20 66 6f 72 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 3b | //.@hasDecl.is.for.declarations; |
| 7da60 | 20 6e 6f 74 20 66 69 65 6c 64 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 73 73 65 72 74 28 21 | .not.fields.</span>.....assert(! |
| 7da80 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 68 61 73 44 65 | <span.class="tok-builtin">@hasDe |
| 7daa0 | 63 6c 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | cl</span>(Foo,.<span.class="tok- |
| 7dac0 | 73 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a | str">"nope"</span>));. |
| 7dae0 | 20 20 20 20 61 73 73 65 72 74 28 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 | ....assert(!<span.class="tok-bui |
| 7db00 | 6c 74 69 6e 22 3e 40 68 61 73 44 65 63 6c 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 3c 73 70 61 6e | ltin">@hasDecl</span>(Foo,.<span |
| 7db20 | 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 70 65 31 32 33 34 26 | .class="tok-str">"nope1234& |
| 7db40 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 | quot;</span>));.}</code></pre><p |
| 7db60 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 | re><code.class="shell">$.zig.tes |
| 7db80 | 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 68 61 73 44 65 | t.test.zig.1/1.test."@hasDe |
| 7dba0 | 63 6c 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 | cl"...OK.All.1.tests.passed |
| 7dbc0 | 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c | ..</code></pre>........<p>See.al |
| 7dbe0 | 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 68 61 73 46 69 65 | so:</p><ul>.<li><a.href="#hasFie |
| 7dc00 | 6c 64 22 3e 40 68 61 73 46 69 65 6c 64 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 | ld">@hasField</a></li>.</ul>.... |
| 7dc20 | 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 68 61 73 46 69 65 6c 64 22 3e 3c 61 | ............<h2.id="hasField"><a |
| 7dc40 | 20 68 72 65 66 3d 22 23 74 6f 63 2d 68 61 73 46 69 65 6c 64 22 3e 40 68 61 73 46 69 65 6c 64 3c | .href="#toc-hasField">@hasField< |
| 7dc60 | 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 68 61 73 46 69 65 | /a>.<a.class="hdr".href="#hasFie |
| 7dc80 | 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 | ld">..</a></h2>........<pre><cod |
| 7dca0 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 | e.class="zig"><span.class="tok-b |
| 7dcc0 | 75 69 6c 74 69 6e 22 3e 40 68 61 73 46 69 65 6c 64 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 | uiltin">@hasField</span>(<span.c |
| 7dce0 | 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 43 6f | lass="tok-kw">comptime</span>.Co |
| 7dd00 | 6e 74 61 69 6e 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 | ntainer:.<span.class="tok-type"> |
| 7dd20 | 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 |
| 7dd40 | 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. |
| 7dd60 | 63 6c 61 73 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 |
| 7dd80 | 6e 20 63 6c 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 |
| 7dda0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e | pan.class="tok-type">bool</span> |
| 7ddc0 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 52 65 74 75 72 6e 73 20 77 | </code></pre>.......<p>Returns.w |
| 7dde0 | 68 65 74 68 65 72 20 74 68 65 20 66 69 65 6c 64 20 6e 61 6d 65 20 6f 66 20 61 20 73 74 72 75 63 | hether.the.field.name.of.a.struc |
| 7de00 | 74 2c 20 75 6e 69 6f 6e 2c 20 6f 72 20 65 6e 75 6d 20 65 78 69 73 74 73 2e 3c 2f 70 3e 0a 20 20 | t,.union,.or.enum.exists.</p>... |
| 7de20 | 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 20 63 6f | ....<p>.......The.result.is.a.co |
| 7de40 | 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 0a | mpile.time.constant........</p>. |
| 7de60 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c | ......<p>.......It.does.not.incl |
| 7de80 | 75 64 65 20 66 75 6e 63 74 69 6f 6e 73 2c 20 76 61 72 69 61 62 6c 65 73 2c 20 6f 72 20 63 6f 6e | ude.functions,.variables,.or.con |
| 7dea0 | 73 74 61 6e 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 | stants........</p>.......<p>See. |
| 7dec0 | 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 68 61 73 44 | also:</p><ul>.<li><a.href="#hasD |
| 7dee0 | 65 63 6c 22 3e 40 68 61 73 44 65 63 6c 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 | ecl">@hasDecl</a></li>.</ul>.... |
| 7df00 | 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 69 6d 70 6f 72 74 22 3e 3c 61 20 68 | ............<h2.id="import"><a.h |
| 7df20 | 72 65 66 3d 22 23 74 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 | ref="#toc-import">@import</a>.<a |
| 7df40 | 20 63 6c 61 73 73 3d 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 | .class="hdr".href="#import">..</ |
| 7df60 | 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | a></h2>........<pre><code.class= |
| 7df80 | 22 7a 69 67 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 | "zig"><span.class="tok-builtin"> |
| 7dfa0 | 40 69 6d 70 6f 72 74 3c 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- |
| 7dfc0 | 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 |
| 7dfe0 | 6e 20 63 6c 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 |
| 7e000 | 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> |
| 7e020 | 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 |
| 7e040 | 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 69 6c 65 20 63 6f 72 | is.function.finds.a.zig.file.cor |
| 7e060 | 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | responding.to.<code.class="zig"> |
| 7e080 | 70 61 74 68 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 64 64 73 20 69 74 20 74 6f 20 74 68 65 20 62 | path</code>.and.adds.it.to.the.b |
| 7e0a0 | 75 69 6c 64 2c 0a 20 20 20 20 20 20 69 66 20 69 74 20 69 73 20 6e 6f 74 20 61 6c 72 65 61 64 79 | uild,.......if.it.is.not.already |
| 7e0c0 | 20 61 64 64 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 | .added........</p>.......<p>.... |
| 7e0e0 | 20 20 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 73 20 61 72 65 20 69 6d 70 6c 69 63 69 74 | ...Zig.source.files.are.implicit |
| 7e100 | 6c 79 20 73 74 72 75 63 74 73 2c 20 77 69 74 68 20 61 20 6e 61 6d 65 20 65 71 75 61 6c 20 74 6f | ly.structs,.with.a.name.equal.to |
| 7e120 | 20 74 68 65 20 66 69 6c 65 27 73 20 62 61 73 65 6e 61 6d 65 20 77 69 74 68 20 74 68 65 20 65 78 | .the.file's.basename.with.the.ex |
| 7e140 | 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 74 72 75 6e 63 61 74 65 64 2e 20 3c 63 6f 64 65 20 63 | tension.......truncated..<code.c |
| 7e160 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | lass="zig"><span.class="tok-buil |
| 7e180 | 74 69 6e 22 3e 40 69 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 | tin">@import</span></code>.retur |
| 7e1a0 | 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 69 6e 67 | ns.the.struct.type.corresponding |
| 7e1c0 | 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 20 20 3c | .to.the.file........</p>.......< |
| 7e1e0 | 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 61 76 65 | p>.......Declarations.which.have |
| 7e200 | 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | .the.<code.class="zig"><span.cla |
| 7e220 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6b 65 | ss="tok-kw">pub</span></code>.ke |
| 7e240 | 79 77 6f 72 64 20 6d 61 79 20 62 65 20 72 65 66 65 72 65 6e 63 65 64 20 66 72 6f 6d 20 61 20 64 | yword.may.be.referenced.from.a.d |
| 7e260 | 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 20 73 6f 75 72 63 65 20 66 69 6c 65 20 74 68 61 6e 20 | ifferent.......source.file.than. |
| 7e280 | 74 68 65 20 6f 6e 65 20 74 68 65 79 20 61 72 65 20 64 65 63 6c 61 72 65 64 20 69 6e 2e 0a 20 20 | the.one.they.are.declared.in.... |
| 7e2a0 | 20 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 20 63 | ....</p>.......<p>.......<code.c |
| 7e2c0 | 6c 61 73 73 3d 22 7a 69 67 22 3e 70 61 74 68 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 61 20 | lass="zig">path</code>.can.be.a. |
| 7e2e0 | 72 65 6c 61 74 69 76 65 20 6f 72 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 2c 20 6f 72 20 69 74 | relative.or.absolute.path,.or.it |
| 7e300 | 20 63 61 6e 20 62 65 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 70 61 63 6b 61 67 65 2e 0a 20 | .can.be.the.name.of.a.package... |
| 7e320 | 20 20 20 20 20 49 66 20 69 74 20 69 73 20 61 20 72 65 6c 61 74 69 76 65 20 70 61 74 68 2c 20 69 | .....If.it.is.a.relative.path,.i |
| 7e340 | 74 20 69 73 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 65 20 66 69 6c 65 20 74 68 61 74 20 63 | t.is.relative.to.the.file.that.c |
| 7e360 | 6f 6e 74 61 69 6e 73 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | ontains.the.<code.class="zig"><s |
| 7e380 | 70 61 6e 20 63 6c 61 73 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< |
| 7e3a0 | 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 |
| 7e3c0 | 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 |
| 7e3e0 | 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. |
| 7e400 | 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> |
| 7e420 | 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | ...........<li><code.class="zig" |
| 7e440 | 3e 3c 73 70 61 6e 20 63 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 |
| 7e460 | 72 74 3c 2f 73 70 61 6e 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"> |
| 7e480 | 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 20 2d | "std"</span>)</code>.- |
| 7e4a0 | 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 3c 2f 6c 69 3e 0a 20 20 20 20 20 | .Zig.Standard.Library</li>...... |
| 7e4c0 | 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | .....<li><code.class="zig"><span |
| 7e4e0 | 20 63 6c 61 73 73 3d 22 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 |
| 7e500 | 61 6e 3e 28 3c 73 70 61 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">" |
| 7e520 | 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 20 2d 20 43 | builtin"</span>)</code>.-.C |
| 7e540 | 6f 6d 70 69 6c 65 72 2d 70 72 6f 76 69 64 65 64 20 74 79 70 65 73 20 61 6e 64 20 76 61 72 69 61 | ompiler-provided.types.and.varia |
| 7e560 | 62 6c 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 | bles................The.command. |
| 7e580 | 3c 63 6f 64 65 3e 7a 69 67 20 62 75 69 6c 74 69 6e 3c 2f 63 6f 64 65 3e 20 6f 75 74 70 75 74 73 | <code>zig.builtin</code>.outputs |
| 7e5a0 | 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 72 65 | .the.source.to.stdout.for.refere |
| 7e5c0 | 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 3c 2f 75 6c 3e | nce............</li>.......</ul> |
| 7e5e0 | 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> |
| 7e600 | 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 |
| 7e620 | 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 |
| 7e640 | 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>< |
| 7e660 | 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 32 20 69 64 | /li>.</ul>................<h2.id |
| 7e680 | 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 |
| 7e6a0 | 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 |
| 7e6c0 | 65 66 3d 22 23 69 6e 74 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 | ef="#intCast">..</a></h2>....... |
| 7e6e0 | 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | .<pre><code.class="zig"><span.cl |
| 7e700 | 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e | ass="tok-builtin">@intCast</span |
| 7e720 | 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< |
| 7e740 | 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | /span>.DestType:.<span.class="to |
| 7e760 | 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 69 6e 74 3a 20 3c 73 70 61 6e 20 | k-type">type</span>,.int:.<span. |
| 7e780 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 | class="tok-kw">var</span>).DestT |
| 7e7a0 | 79 70 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 | ype</code></pre>.......<p>...... |
| 7e7c0 | 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 61 6e 6f 74 68 65 72 20 | .Converts.an.integer.to.another. |
| 7e7e0 | 69 6e 74 65 67 65 72 20 77 68 69 6c 65 20 6b 65 65 70 69 6e 67 20 74 68 65 20 73 61 6d 65 20 6e | integer.while.keeping.the.same.n |
| 7e800 | 75 6d 65 72 69 63 61 6c 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 41 74 74 65 6d 70 74 69 6e 67 | umerical.value........Attempting |
| 7e820 | 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 20 6e 75 6d 62 65 72 20 77 68 69 63 68 20 69 73 20 6f 75 | .to.convert.a.number.which.is.ou |
| 7e840 | 74 20 6f 66 20 72 61 6e 67 65 20 6f 66 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 74 79 | t.of.range.of.the.destination.ty |
| 7e860 | 70 65 20 72 65 73 75 6c 74 73 20 69 6e 0a 20 20 20 20 20 20 73 61 66 65 74 79 2d 70 72 6f 74 65 | pe.results.in.......safety-prote |
| 7e880 | 63 74 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 | cted.<a.href="#Undefined-Behavio |
| 7e8a0 | 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 | r">Undefined.Behavior</a>....... |
| 7e8c0 | 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 20 63 | .</p>.......<p>.......If.<code.c |
| 7e8e0 | 6c 61 73 73 3d 22 7a 69 67 22 3e 54 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 20 63 6c 61 | lass="zig">T</code>.is.<code.cla |
| 7e900 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-type"> |
| 7e920 | 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 | comptime_int</span></code>,..... |
| 7e940 | 20 20 74 68 65 6e 20 74 68 69 73 20 69 73 20 73 65 6d 61 6e 74 69 63 61 6c 6c 79 20 65 71 75 69 | ..then.this.is.semantically.equi |
| 7e960 | 76 61 6c 65 6e 74 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 69 6f | valent.to.<a.href="#Type-Coercio |
| 7e980 | 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e | n">Type.Coercion</a>........</p> |
| 7e9a0 | 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 69 6e 74 54 6f 45 6e 75 6d | ...............<h2.id="intToEnum |
| 7e9c0 | 22 3e 3c 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 | "><a.href="#toc-intToEnum">@intT |
| 7e9e0 | 6f 45 6e 75 6d 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 | oEnum</a>.<a.class="hdr".href="# |
| 7ea00 | 69 6e 74 54 6f 45 6e 75 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 | intToEnum">..</a></h2>........<p |
| 7ea20 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | re><code.class="zig"><span.class |
| 7ea40 | 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 70 61 6e 3e | ="tok-builtin">@intToEnum</span> |
| 7ea60 | 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</ |
| 7ea80 | 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 |
| 7eaa0 | 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 2c 20 69 6e 74 5f 76 61 6c 75 65 3a 20 3c | -type">type</span>,.int_value:.< |
| 7eac0 | 73 70 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 61 67 54 79 70 | span.class="tok-builtin">@TagTyp |
| 7eae0 | 65 3c 2f 73 70 61 6e 3e 28 44 65 73 74 54 79 70 65 29 29 20 44 65 73 74 54 79 70 65 3c 2f 63 6f | e</span>(DestType)).DestType</co |
| 7eb00 | 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 |
| 7eb20 | 74 73 20 61 6e 20 69 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 | ts.an.integer.into.an.<a.href="# |
| 7eb40 | 65 6e 75 6d 22 3e 65 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 | enum">enum</a>.value........</p> |
| 7eb60 | 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 | .......<p>.......Attempting.to.c |
| 7eb80 | 6f 6e 76 65 72 74 20 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 | onvert.an.integer.which.represen |
| 7eba0 | 74 73 20 6e 6f 20 76 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 | ts.no.value.in.the.chosen.enum.t |
| 7ebc0 | 79 70 65 20 69 6e 76 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 | ype.invokes.......safety-checked |
| 7ebe0 | 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 |
| 7ec00 | 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 |
| 7ec20 | 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 |
| 7ec40 | 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 49 6e 74 | ><a.href="#enumToInt">@enumToInt |
| 7ec60 | 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c | </a></li>.</ul>................< |
| 7ec80 | 68 32 20 69 64 3d 22 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 | h2.id="intToError"><a.href="#toc |
| 7eca0 | 2d 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 20 3c 61 20 | -intToError">@intToError</a>.<a. |
| 7ecc0 | 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 69 6e 74 54 6f 45 72 72 6f 72 22 3e c2 | class="hdr".href="#intToError">. |
| 7ece0 | a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | .</a></h2>........<pre><code.cla |
| 7ed00 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-builti |
| 7ed20 | 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 |
| 7ed40 | 2e 6d 65 74 61 2e 49 6e 74 54 79 70 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | .meta.IntType(<span.class="tok-n |
| 7ed60 | 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 3d 22 | ull">false</span>,.<span.class=" |
| 7ed80 | 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 | tok-builtin">@sizeOf</span>(<spa |
| 7eda0 | 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 |
| 7edc0 | 6e 3e 29 20 2a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 38 | n>).*.<span.class="tok-number">8 |
| 7ede0 | 3c 2f 73 70 61 6e 3e 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | </span>)).<span.class="tok-type" |
| 7ee00 | 3e 61 6e 79 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 | >anyerror</span></code></pre>... |
| 7ee20 | 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 66 72 6f 6d 20 74 68 65 20 | ....<p>.......Converts.from.the. |
| 7ee40 | 69 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 | integer.representation.of.an.err |
| 7ee60 | 6f 72 20 69 6e 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 54 68 65 2d 47 6c 6f 62 61 6c 2d 45 72 72 | or.into.<a.href="#The-Global-Err |
| 7ee80 | 6f 72 2d 53 65 74 22 3e 54 68 65 20 47 6c 6f 62 61 6c 20 45 72 72 6f 72 20 53 65 74 3c 2f 61 3e | or-Set">The.Global.Error.Set</a> |
| 7eea0 | 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 20 | .type........</p>.......<p>..... |
| 7eec0 | 20 20 49 74 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f | ..It.is.generally.recommended.to |
| 7eee0 | 20 61 76 6f 69 64 20 74 68 69 73 0a 20 20 20 20 20 20 63 61 73 74 2c 20 61 73 20 74 68 65 20 69 | .avoid.this.......cast,.as.the.i |
| 7ef00 | 6e 74 65 67 65 72 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 6e 20 65 72 72 6f | nteger.representation.of.an.erro |
| 7ef20 | 72 20 69 73 20 6e 6f 74 20 73 74 61 62 6c 65 20 61 63 72 6f 73 73 20 73 6f 75 72 63 65 20 63 6f | r.is.not.stable.across.source.co |
| 7ef40 | 64 65 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e | de.changes........</p>.......<p> |
| 7ef60 | 0a 20 20 20 20 20 20 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 63 6f 6e 76 65 72 74 20 61 6e 20 | .......Attempting.to.convert.an. |
| 7ef80 | 69 6e 74 65 67 65 72 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 20 63 6f 72 72 65 73 70 6f 6e 64 | integer.that.does.not.correspond |
| 7efa0 | 20 74 6f 20 61 6e 79 20 65 72 72 6f 72 20 72 65 73 75 6c 74 73 20 69 6e 0a 20 20 20 20 20 20 73 | .to.any.error.results.in.......s |
| 7efc0 | 61 66 65 74 79 2d 70 72 6f 74 65 63 74 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 | afety-protected.<a.href="#Undefi |
| 7efe0 | 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 | ned-Behavior">Undefined.Behavior |
| 7f000 | 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c | </a>........</p>.......<p>See.al |
| 7f020 | 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 65 72 72 6f 72 54 | so:</p><ul>.<li><a.href="#errorT |
| 7f040 | 6f 49 6e 74 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e | oInt">@errorToInt</a></li>.</ul> |
| 7f060 | 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 69 6e 74 54 6f 46 6c 6f | ................<h2.id="intToFlo |
| 7f080 | 61 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 69 6e 74 54 6f 46 6c 6f 61 74 22 3e 40 69 | at"><a.href="#toc-intToFloat">@i |
| 7f0a0 | 6e 74 54 6f 46 6c 6f 61 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 | ntToFloat</a>.<a.class="hdr".hre |
| 7f0c0 | 66 3d 22 23 69 6e 74 54 6f 46 6c 6f 61 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 | f="#intToFloat">..</a></h2>..... |
| 7f0e0 | 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | ...<pre><code.class="zig"><span. |
| 7f100 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 46 6c 6f 61 74 3c | class="tok-builtin">@intToFloat< |
| 7f120 | 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 | /span>(<span.class="tok-kw">comp |
| 7f140 | 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | time</span>.DestType:.<span.clas |
| 7f160 | 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 20 3c | s="tok-type">type</span>,.int:.< |
| 7f180 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 | span.class="tok-kw">var</span>). |
| 7f1a0 | 44 65 73 74 54 79 70 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a | DestType</code></pre>.......<p>. |
| 7f1c0 | 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 69 6e 74 65 67 65 72 20 74 6f 20 74 68 65 | ......Converts.an.integer.to.the |
| 7f1e0 | 20 63 6c 6f 73 65 73 74 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 72 65 70 72 65 73 65 6e | .closest.floating.point.represen |
| 7f200 | 74 61 74 69 6f 6e 2e 20 54 6f 20 63 6f 6e 76 65 72 74 20 74 68 65 20 6f 74 68 65 72 20 77 61 79 | tation..To.convert.the.other.way |
| 7f220 | 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 66 6c 6f 61 74 54 6f 49 6e 74 22 3e 40 66 6c 6f | ,.use.<a.href="#floatToInt">@flo |
| 7f240 | 61 74 54 6f 49 6e 74 3c 2f 61 3e 2e 20 54 68 69 73 20 63 61 73 74 20 69 73 20 61 6c 77 61 79 73 | atToInt</a>..This.cast.is.always |
| 7f260 | 20 73 61 66 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 | .safe........</p>............... |
| 7f280 | 3c 68 32 20 69 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 | <h2.id="intToPtr"><a.href="#toc- |
| 7f2a0 | 69 6e 74 54 6f 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 | intToPtr">@intToPtr</a>.<a.class |
| 7f2c0 | 3d 22 68 64 72 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 | ="hdr".href="#intToPtr">..</a></ |
| 7f2e0 | 68 32 3e 0a 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 7a 69 67 | h2>........<pre><code.class="zig |
| 7f300 | 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 | "><span.class="tok-builtin">@int |
| 7f320 | 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 6b 77 | ToPtr</span>(<span.class="tok-kw |
| 7f340 | 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 44 65 73 74 54 79 70 65 3a 20 3c 73 70 61 | ">comptime</span>.DestType:.<spa |
| 7f360 | 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>,. |
| 7f380 | 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 22 3e | address:.<span.class="tok-type"> |
| 7f3a0 | 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 63 6f 64 65 3e 3c 2f 70 | usize</span>).DestType</code></p |
| 7f3c0 | 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 61 6e 20 | re>.......<p>.......Converts.an. |
| 7f3e0 | 69 6e 74 65 67 65 72 20 74 6f 20 61 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 | integer.to.a.<a.href="#Pointers" |
| 7f400 | 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 20 54 6f 20 63 6f 6e 76 65 72 74 20 74 68 65 20 6f 74 68 | >pointer</a>..To.convert.the.oth |
| 7f420 | 65 72 20 77 61 79 2c 20 75 73 65 20 3c 61 20 68 72 65 66 3d 22 23 70 74 72 54 6f 49 6e 74 22 3e | er.way,.use.<a.href="#ptrToInt"> |
| 7f440 | 40 70 74 72 54 6f 49 6e 74 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 | @ptrToInt</a>........</p>....... |
| 7f460 | 3c 70 3e 0a 20 20 20 20 20 20 49 66 20 74 68 65 20 64 65 73 74 69 6e 61 74 69 6f 6e 20 70 6f 69 | <p>.......If.the.destination.poi |
| 7f480 | 6e 74 65 72 20 74 79 70 65 20 64 6f 65 73 20 6e 6f 74 20 61 6c 6c 6f 77 20 61 64 64 72 65 73 73 | nter.type.does.not.allow.address |
| 7f4a0 | 20 7a 65 72 6f 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 64 64 72 | .zero.and.<code.class="zig">addr |
| 7f4c0 | 65 73 73 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 73 20 7a 65 72 6f 2c 20 74 68 69 73 20 69 | ess</code>.......is.zero,.this.i |
| 7f4e0 | 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 | nvokes.safety-checked.<a.href="# |
| 7f500 | 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 | Undefined-Behavior">Undefined.Be |
| 7f520 | 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 | havior</a>........</p>.......... |
| 7f540 | 20 20 20 20 20 3c 68 32 20 69 64 3d 22 6d 65 6d 63 70 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 | .....<h2.id="memcpy"><a.href="#t |
| 7f560 | 6f 63 2d 6d 65 6d 63 70 79 22 3e 40 6d 65 6d 63 70 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d | oc-memcpy">@memcpy</a>.<a.class= |
| 7f580 | 22 68 64 72 22 20 68 72 65 66 3d 22 23 6d 65 6d 63 70 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e | "hdr".href="#memcpy">..</a></h2> |
| 7f5a0 | 0a 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 7a 69 67 22 3e 3c | ........<pre><code.class="zig">< |
| 7f5c0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 65 6d 63 70 79 | span.class="tok-builtin">@memcpy |
| 7f5e0 | 3c 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 6e 6f 61 | </span>(<span.class="tok-kw">noa |
| 7f600 | 6c 69 61 73 3c 2f 73 70 61 6e 3e 20 64 65 73 74 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 | lias</span>.dest:.[*]<span.class |
| 7f620 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 | ="tok-type">u8</span>,.<span.cla |
| 7f640 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 6e 6f 61 6c 69 61 73 3c 2f 73 70 61 6e 3e 20 73 6f 75 72 63 | ss="tok-kw">noalias</span>.sourc |
| 7f660 | 65 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | e:.[*]<span.class="tok-kw">const |
| 7f680 | 3c 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 |
| 7f6a0 | 38 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | 8</span>,.byte_count:.<span.clas |
| 7f6c0 | 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 | s="tok-type">usize</span>)</code |
| 7f6e0 | 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 6e | ></pre>.......<p>.......This.fun |
| 7f700 | 63 74 69 6f 6e 20 63 6f 70 69 65 73 20 62 79 74 65 73 20 66 72 6f 6d 20 6f 6e 65 20 72 65 67 69 | ction.copies.bytes.from.one.regi |
| 7f720 | 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 74 6f 20 61 6e 6f 74 68 65 72 2e 20 3c 63 6f 64 65 20 63 | on.of.memory.to.another..<code.c |
| 7f740 | 6c 61 73 73 3d 22 7a 69 67 22 3e 64 65 73 74 3c 2f 63 6f 64 65 3e 20 61 6e 64 0a 20 20 20 20 20 | lass="zig">dest</code>.and...... |
| 7f760 | 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 6f 75 72 63 65 3c 2f 63 | .....<code.class="zig">source</c |
| 7f780 | 6f 64 65 3e 20 61 72 65 20 62 6f 74 68 20 70 6f 69 6e 74 65 72 73 20 61 6e 64 20 6d 75 73 74 20 | ode>.are.both.pointers.and.must. |
| 7f7a0 | 6e 6f 74 20 6f 76 65 72 6c 61 70 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 | not.overlap........</p>.......<p |
| 7f7c0 | 3e 0a 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 6c 6f 77 20 6c | >.......This.function.is.a.low.l |
| 7f7e0 | 65 76 65 6c 20 69 6e 74 72 69 6e 73 69 63 20 77 69 74 68 20 6e 6f 20 73 61 66 65 74 79 20 6d 65 | evel.intrinsic.with.no.safety.me |
| 7f800 | 63 68 61 6e 69 73 6d 73 2e 20 4d 6f 73 74 20 63 6f 64 65 0a 20 20 20 20 20 20 73 68 6f 75 6c 64 | chanisms..Most.code.......should |
| 7f820 | 20 6e 6f 74 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 73 74 65 61 64 20 | .not.use.this.function,.instead. |
| 7f840 | 75 73 69 6e 67 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 | using.something.like.this:...... |
| 7f860 | 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 7a 69 | .</p>.......<pre><code.class="zi |
| 7f880 | 67 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 | g"><span.class="tok-kw">for</spa |
| 7f8a0 | 6e 3e 20 28 73 6f 75 72 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | n>.(source[<span.class="tok-numb |
| 7f8c0 | 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 62 79 74 65 5f 63 6f 75 6e 74 5d 29 20 7c 62 2c 20 69 | er">0</span>..byte_count]).|b,.i |
| 7f8e0 | 7c 20 64 65 73 74 5b 69 5d 20 3d 20 62 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 | |.dest[i].=.b;</code></pre>..... |
| 7f900 | 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 69 73 20 69 6e 74 | ..<p>.......The.optimizer.is.int |
| 7f920 | 65 6c 6c 69 67 65 6e 74 20 65 6e 6f 75 67 68 20 74 6f 20 74 75 72 6e 20 74 68 65 20 61 62 6f 76 | elligent.enough.to.turn.the.abov |
| 7f940 | 65 20 73 6e 69 70 70 65 74 20 69 6e 74 6f 20 61 20 6d 65 6d 63 70 79 2e 0a 20 20 20 20 20 20 3c | e.snippet.into.a.memcpy........< |
| 7f960 | 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 73 74 61 | /p>.......<p>There.is.also.a.sta |
| 7f980 | 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 3a | ndard.library.function.for.this: |
| 7f9a0 | 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 7a 69 67 | </p>.......<pre><code.class="zig |
| 7f9c0 | 22 3e 3c 73 70 61 6e 20 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 |
| 7f9e0 | 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 | an>.mem.=.<span.class="tok-built |
| 7fa00 | 69 6e 22 3e 40 69 6d 70 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=" |
| 7fa20 | 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">"std"</span>) |
| 7fa40 | 2e 6d 65 6d 3b 0a 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 | .mem;.mem.copy(<span.class="tok- |
| 7fa60 | 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 64 65 73 74 5b 3c 73 70 61 6e 20 63 6c 61 73 | type">u8</span>,.dest[<span.clas |
| 7fa80 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 62 79 74 65 5f 63 6f | s="tok-number">0</span>..byte_co |
| 7faa0 | 75 6e 74 5d 2c 20 73 6f 75 72 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | unt],.source[<span.class="tok-nu |
| 7fac0 | 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 62 79 74 65 5f 63 6f 75 6e 74 5d 29 3b 3c 2f 63 | mber">0</span>..byte_count]);</c |
| 7fae0 | 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 32 20 69 64 3d | ode></pre>...............<h2.id= |
| 7fb00 | 22 6d 65 6d 73 65 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 65 6d 73 65 74 22 3e 40 | "memset"><a.href="#toc-memset">@ |
| 7fb20 | 6d 65 6d 73 65 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 | memset</a>.<a.class="hdr".href=" |
| 7fb40 | 23 6d 65 6d 73 65 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 | #memset">..</a></h2>........<pre |
| 7fb60 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| 7fb80 | 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 65 6d 73 65 74 3c 2f 73 70 61 6e 3e 28 64 65 73 74 | tok-builtin">@memset</span>(dest |
| 7fba0 | 3a 20 5b 2a 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f | :.[*]<span.class="tok-type">u8</ |
| 7fbc0 | 73 70 61 6e 3e 2c 20 63 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | span>,.c:.<span.class="tok-type" |
| 7fbe0 | 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c | >u8</span>,.byte_count:.<span.cl |
| 7fc00 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f | ass="tok-type">usize</span>)</co |
| 7fc20 | 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 |
| 7fc40 | 75 6e 63 74 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 | unction.sets.a.region.of.memory. |
| 7fc60 | 74 6f 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 63 3c 2f 63 6f 64 65 3e 2e 20 3c | to.<code.class="zig">c</code>..< |
| 7fc80 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 64 65 73 74 3c 2f 63 6f 64 65 3e 20 69 73 20 | code.class="zig">dest</code>.is. |
| 7fca0 | 61 20 70 6f 69 6e 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a | a.pointer........</p>.......<p>. |
| 7fcc0 | 20 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 20 6c 6f 77 20 6c 65 76 | ......This.function.is.a.low.lev |
| 7fce0 | 65 6c 20 69 6e 74 72 69 6e 73 69 63 20 77 69 74 68 20 6e 6f 20 73 61 66 65 74 79 20 6d 65 63 68 | el.intrinsic.with.no.safety.mech |
| 7fd00 | 61 6e 69 73 6d 73 2e 20 4d 6f 73 74 0a 20 20 20 20 20 20 63 6f 64 65 20 73 68 6f 75 6c 64 20 6e | anisms..Most.......code.should.n |
| 7fd20 | 6f 74 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 69 6e 73 74 65 61 64 20 75 73 | ot.use.this.function,.instead.us |
| 7fd40 | 69 6e 67 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c | ing.something.like.this:.......< |
| 7fd60 | 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 7a 69 67 22 | /p>.......<pre><code.class="zig" |
| 7fd80 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e | ><span.class="tok-kw">for</span> |
| 7fda0 | 20 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 | .(dest[<span.class="tok-number"> |
| 7fdc0 | 30 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 | 0</span>..byte_count]).|*b|.b.*. |
| 7fde0 | 3d 20 63 3b 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 | =.c;</code></pre>.......<p>..... |
| 7fe00 | 20 20 54 68 65 20 6f 70 74 69 6d 69 7a 65 72 20 69 73 20 69 6e 74 65 6c 6c 69 67 65 6e 74 20 65 | ..The.optimizer.is.intelligent.e |
| 7fe20 | 6e 6f 75 67 68 20 74 6f 20 74 75 72 6e 20 74 68 65 20 61 62 6f 76 65 20 73 6e 69 70 70 65 74 20 | nough.to.turn.the.above.snippet. |
| 7fe40 | 69 6e 74 6f 20 61 20 6d 65 6d 73 65 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 | into.a.memset........</p>....... |
| 7fe60 | 3c 70 3e 54 68 65 72 65 20 69 73 20 61 6c 73 6f 20 61 20 73 74 61 6e 64 61 72 64 20 6c 69 62 72 | <p>There.is.also.a.standard.libr |
| 7fe80 | 61 72 79 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 74 68 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 | ary.function.for.this:</p>...... |
| 7fea0 | 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | .<pre><code.class="zig"><span.cl |
| 7fec0 | 61 73 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.=. |
| 7fee0 | 3c 73 70 61 6e 20 63 6c 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 |
| 7ff00 | 74 3c 2f 73 70 61 6e 3e 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">& |
| 7ff20 | 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 65 6d 3b 0a 6d 65 6d 2e | quot;std"</span>).mem;.mem. |
| 7ff40 | 73 65 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 | set(<span.class="tok-type">u8</s |
| 7ff60 | 70 61 6e 3e 2c 20 64 65 73 74 2c 20 63 29 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 | pan>,.dest,.c);</code></pre>.... |
| 7ff80 | 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 6d 6f 64 22 3e 3c 61 20 68 72 65 66 3d | ...........<h2.id="mod"><a.href= |
| 7ffa0 | 22 23 74 6f 63 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 | "#toc-mod">@mod</a>.<a.class="hd |
| 7ffc0 | 72 22 20 68 72 65 66 3d 22 23 6d 6f 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 | r".href="#mod">..</a></h2>...... |
| 7ffe0 | 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | ..<pre><code.class="zig"><span.c |
| 80000 | 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 6e | lass="tok-builtin">@mod</span>(n |
| 80020 | 75 6d 65 72 61 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f | umerator:.T,.denominator:.T).T</ |
| 80040 | 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 4d 6f 64 75 | code></pre>.......<p>.......Modu |
| 80060 | 6c 75 73 20 64 69 76 69 73 69 6f 6e 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 | lus.division..For.unsigned.integ |
| 80080 | 65 72 73 20 74 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 20 20 20 20 20 3c 63 | ers.this.is.the.same.as.......<c |
| 800a0 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 6e 75 6d 65 72 61 74 6f 72 20 25 20 64 65 6e 6f | ode.class="zig">numerator.%.deno |
| 800c0 | 6d 69 6e 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 | minator</code>..Caller.guarantee |
| 800e0 | 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 | s.<code.class="zig">denominator. |
| 80100 | 26 67 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c | >.<span.class="tok-number">0< |
| 80120 | 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 | /span></code>........</p>....... |
| 80140 | 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | <ul>...........<li><code.class=" |
| 80160 | 7a 69 67 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 | zig"><span.class="tok-builtin">@ |
| 80180 | 6d 6f 64 3c 2f 73 70 61 6e 3e 28 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d | mod</span>(-<span.class="tok-num |
| 801a0 | 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | ber">5</span>,.<span.class="tok- |
| 801c0 | 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | number">3</span>).==.<span.class |
| 801e0 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c | ="tok-number">1</span></code></l |
| 80200 | 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | i>...........<li><code.class="zi |
| 80220 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 64 69 | g"><span.class="tok-builtin">@di |
| 80240 | 76 46 6c 6f 6f 72 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 | vFloor</span>(a,.b).+.<span.clas |
| 80260 | 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d 6f 64 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 | s="tok-builtin">@mod</span>(a,.b |
| 80280 | 29 20 3d 3d 20 61 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 | ).==.a</code></li>.......</ul>.. |
| 802a0 | 20 20 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 | .....<p>For.a.function.that.retu |
| 802c0 | 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 20 63 6c 61 | rns.an.error.code,.see.<code.cla |
| 802e0 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-builti |
| 80300 | 6e 22 3e 40 69 6d 70 6f 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 |
| 80320 | 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">"std"</span>). |
| 80340 | 6d 61 74 68 2e 6d 6f 64 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 | math.mod</code>.</p>.......<p>Se |
| 80360 | 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 72 65 | e.also:</p><ul>.<li><a.href="#re |
| 80380 | 6d 22 3e 40 72 65 6d 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a | m">@rem</a></li>.</ul>.......... |
| 803a0 | 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 3c | ......<h2.id="mulWithOverflow">< |
| 803c0 | 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d | a.href="#toc-mulWithOverflow">@m |
| 803e0 | 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 | ulWithOverflow</a>.<a.class="hdr |
| 80400 | 22 20 68 72 65 66 3d 22 23 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e | ".href="#mulWithOverflow">..</a> |
| 80420 | 3c 2f 68 32 3e 0a 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 7a | </h2>........<pre><code.class="z |
| 80440 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6d | ig"><span.class="tok-builtin">@m |
| 80460 | 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 6c 61 73 | ulWithOverflow</span>(<span.clas |
| 80480 | 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 |
| 804a0 | 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> |
| 804c0 | 2c 20 61 3a 20 54 2c 20 62 3a 20 54 2c 20 72 65 73 75 6c 74 3a 20 2a 54 29 20 3c 73 70 61 6e 20 | ,.a:.T,.b:.T,.result:.*T).<span. |
| 804e0 | 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 63 6f | class="tok-type">bool</span></co |
| 80500 | 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 | de></pre>.......<p>.......Perfor |
| 80520 | 6d 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 72 65 73 75 6c 74 2e 2a 20 3d 20 | ms.<code.class="zig">result.*.=. |
| 80540 | 61 20 2a 20 62 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 | a.*.b</code>..If.overflow.or.und |
| 80560 | 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 72 65 73 20 | erflow.occurs,...........stores. |
| 80580 | 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 20 63 6c 61 | the.overflowed.bits.in.<code.cla |
| 805a0 | 73 73 3d 22 7a 69 67 22 3e 72 65 73 75 6c 74 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 75 72 | ss="zig">result</code>.and.retur |
| 805c0 | 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | ns.<code.class="zig"><span.class |
| 805e0 | 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a | ="tok-null">true</span></code>.. |
| 80600 | 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 |
| 80620 | 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 |
| 80640 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 80660 | 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 | -null">false</span></code>...... |
| 80680 | 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4f 70 61 | ..</p>...............<h2.id="Opa |
| 806a0 | 71 75 65 54 79 70 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4f 70 61 71 75 65 54 79 70 | queType"><a.href="#toc-OpaqueTyp |
| 806c0 | 65 22 3e 40 4f 70 61 71 75 65 54 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 | e">@OpaqueType</a>.<a.class="hdr |
| 806e0 | 22 20 68 72 65 66 3d 22 23 4f 70 61 71 75 65 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e | ".href="#OpaqueType">..</a></h2> |
| 80700 | 0a 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 7a 69 67 22 3e 3c | ........<pre><code.class="zig">< |
| 80720 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 4f 70 61 71 75 65 | span.class="tok-builtin">@Opaque |
| 80740 | 54 79 70 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | Type</span>().<span.class="tok-t |
| 80760 | 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 | ype">type</span></code></pre>... |
| 80780 | 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 72 65 61 74 65 73 20 61 20 6e 65 77 20 74 79 70 65 | ....<p>.......Creates.a.new.type |
| 807a0 | 20 77 69 74 68 20 61 6e 20 75 6e 6b 6e 6f 77 6e 20 28 62 75 74 20 6e 6f 6e 2d 7a 65 72 6f 29 20 | .with.an.unknown.(but.non-zero). |
| 807c0 | 73 69 7a 65 20 61 6e 64 20 61 6c 69 67 6e 6d 65 6e 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 | size.and.alignment........</p>.. |
| 807e0 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 69 73 20 74 79 70 69 63 61 6c 6c 79 | .....<p>.......This.is.typically |
| 80800 | 20 75 73 65 64 20 66 6f 72 20 74 79 70 65 20 73 61 66 65 74 79 20 77 68 65 6e 20 69 6e 74 65 72 | .used.for.type.safety.when.inter |
| 80820 | 61 63 74 69 6e 67 20 77 69 74 68 20 43 20 63 6f 64 65 20 74 68 61 74 20 64 6f 65 73 20 6e 6f 74 | acting.with.C.code.that.does.not |
| 80840 | 20 65 78 70 6f 73 65 20 73 74 72 75 63 74 20 64 65 74 61 69 6c 73 2e 0a 20 20 20 20 20 20 45 78 | .expose.struct.details........Ex |
| 80860 | 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 70 20 63 6c 61 73 73 | ample:.......</p>.......<p.class |
| 80880 | 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | ="file">test.zig</p><pre><code.c |
| 808a0 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | lass="zig"><span.class="tok-kw"> |
| 808c0 | 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 44 65 72 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | const</span>.Derp.=.<span.class= |
| 808e0 | 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 4f 70 61 71 75 65 54 79 70 65 3c 2f 73 70 61 6e 3e | "tok-builtin">@OpaqueType</span> |
| 80900 | 28 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | ();.<span.class="tok-kw">const</ |
| 80920 | 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 74 6f 6b 2d 62 75 69 | span>.Wat.=.<span.class="tok-bui |
| 80940 | 6c 74 69 6e 22 3e 40 4f 70 61 71 75 65 54 79 70 65 3c 2f 73 70 61 6e 3e 28 29 3b 0a 0a 3c 73 70 | ltin">@OpaqueType</span>();..<sp |
| 80960 | 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>. |
| 80980 | 3c 73 70 61 6e 20 63 6c 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>.< |
| 809a0 | 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 64 | span.class="tok-fn">bar</span>(d |
| 809c0 | 3a 20 2a 44 65 72 70 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | :.*Derp).<span.class="tok-type"> |
| 809e0 | 76 6f 69 64 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | void</span>;.<span.class="tok-kw |
| 80a00 | 22 3e 66 6e 3c 2f 73 70 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" |
| 80a20 | 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 77 3a 20 2a 57 61 74 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 | >foo</span>(w:.*Wat).<span.class |
| 80a40 | 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 6c 6c 63 6f 6e 76 3c 2f 73 70 61 6e 3e 28 2e 43 29 20 3c 73 | ="tok-kw">callconv</span>(.C).<s |
| 80a60 | 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> |
| 80a80 | 20 7b 0a 20 20 20 20 62 61 72 28 77 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | .{.....bar(w);.}..<span.class="t |
| 80aa0 | 6f 6b 2d 6b 77 22 3e 74 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=" |
| 80ac0 | 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 61 6c 6c 20 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 | tok-str">"call.foo"</s |
| 80ae0 | 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | pan>.{.....foo(<span.class="tok- |
| 80b00 | 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 | null">undefined</span>);.}</code |
| 80b20 | 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e | ></pre><pre><code.class="shell"> |
| 80b40 | 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | $.zig.test.test.zig.<span.class= |
| 80b60 | 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 36 3a 39 | "t0_1">./docgen_tmp/test.zig:6:9 |
| 80b80 | 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 |
| 80ba0 | 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 78 | or:.</span><span.class="t0_1">ex |
| 80bc0 | 70 65 63 74 65 64 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 | pected.type.'*Derp',.found.'*Wat |
| 80be0 | 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 62 61 72 28 77 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 | '</span>.....bar(w);.........<sp |
| 80c00 | 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 | an.class="t32_1">^</span>.<span. |
| 80c20 | 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 |
| 80c40 | 69 67 3a 36 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f | ig:6:9:.</span><span.class="t36_ |
| 80c60 | 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_ |
| 80c80 | 31 22 3e 70 6f 69 6e 74 65 72 20 74 79 70 65 20 63 68 69 6c 64 20 27 57 61 74 27 20 63 61 6e 6e | 1">pointer.type.child.'Wat'.cann |
| 80ca0 | 6f 74 20 63 61 73 74 20 69 6e 74 6f 20 70 6f 69 6e 74 65 72 20 74 79 70 65 20 63 68 69 6c 64 20 | ot.cast.into.pointer.type.child. |
| 80cc0 | 27 44 65 72 70 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 62 61 72 28 77 29 3b 0a 20 20 20 20 20 20 | 'Derp'</span>.....bar(w);....... |
| 80ce0 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c | ..<span.class="t32_1">^</span>.< |
| 80d00 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 | /code></pre>................<h2. |
| 80d20 | 69 64 3d 22 70 61 6e 69 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 61 6e 69 63 22 3e | id="panic"><a.href="#toc-panic"> |
| 80d40 | 40 70 61 6e 69 63 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 | @panic</a>.<a.class="hdr".href=" |
| 80d60 | 23 70 61 6e 69 63 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e | #panic">..</a></h2>........<pre> |
| 80d80 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 80da0 | 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 28 6d 65 73 73 61 67 | ok-builtin">@panic</span>(messag |
| 80dc0 | 65 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c | e:.[]<span.class="tok-kw">const< |
| 80de0 | 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 |
| 80e00 | 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"> |
| 80e20 | 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 | noreturn</span></code></pre>.... |
| 80e40 | 20 20 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 | ...<p>.......Invokes.the.panic.h |
| 80e60 | 61 6e 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 | andler.function..By.default.the. |
| 80e80 | 70 61 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 | panic.handler.function.......cal |
| 80ea0 | 6c 73 20 74 68 65 20 70 75 62 6c 69 63 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | ls.the.public.<code.class="zig"> |
| 80ec0 | 70 61 6e 69 63 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 6f 73 65 64 20 69 6e | panic</code>.function.exposed.in |
| 80ee0 | 20 74 68 65 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c 65 2c 20 6f 72 0a 20 20 20 20 20 20 | .the.root.source.file,.or....... |
| 80f00 | 69 66 20 74 68 65 72 65 20 69 73 20 6e 6f 74 20 6f 6e 65 20 73 70 65 63 69 66 69 65 64 2c 20 74 | if.there.is.not.one.specified,.t |
| 80f20 | 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 74 64 2e 62 75 69 6c 74 69 6e | he.<code.class="zig">std.builtin |
| 80f40 | 2e 64 65 66 61 75 6c 74 5f 70 61 6e 69 63 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 66 75 6e 63 | .default_panic</code>.......func |
| 80f60 | 74 69 6f 6e 20 66 72 6f 6d 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 74 64 2f | tion.from.<code.class="zig">std/ |
| 80f80 | 62 75 69 6c 74 69 6e 2e 7a 69 67 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 | builtin.zig</code>........</p>.. |
| 80fa0 | 20 20 20 20 20 3c 70 3e 47 65 6e 65 72 61 6c 6c 79 20 69 74 20 69 73 20 62 65 74 74 65 72 20 74 | .....<p>Generally.it.is.better.t |
| 80fc0 | 6f 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | o.use.<code.class="zig"><span.cl |
| 80fe0 | 61 73 73 3d 22 74 6f 6b 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> |
| 81000 | 28 3c 73 70 61 6e 20 63 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">"std |
| 81020 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 70 61 6e 69 63 3c 2f 63 6f 64 65 | "</span>).debug.panic</code |
| 81040 | 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 3c 63 6f 64 65 20 63 6c 61 73 | >............However,.<code.clas |
| 81060 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-builtin |
| 81080 | 22 3e 40 70 61 6e 69 63 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 75 73 | ">@panic</span></code>.can.be.us |
| 810a0 | 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 3c 2f 70 3e | eful.for.2.scenarios:.......</p> |
| 810c0 | 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 20 6c 69 62 | .......<ul>.........<li>From.lib |
| 810e0 | 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 61 6d 6d 65 | rary.code,.calling.the.programme |
| 81100 | 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 78 70 6f 73 | r's.panic.function.if.they.expos |
| 81120 | 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 6c 65 2e 3c | ed.one.in.the.root.source.file.< |
| 81140 | 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 20 43 20 61 | /li>.........<li>When.mixing.C.a |
| 81160 | 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 6f 6e 69 63 | nd.Zig.code,.calling.the.canonic |
| 81180 | 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 73 73 20 6d | al.panic.implementation.across.m |
| 811a0 | 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 20 3c 2f 75 | ultiple..o.files.</li>.......</u |
| 811c0 | 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 |
| 811e0 | 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 22 3e 52 6f | i><a.href="#Root-Source-File">Ro |
| 81200 | 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 3e 0a 0a 20 | ot.Source.File</a></li>.</ul>... |
| 81220 | 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 70 6f 70 43 6f 75 6e 74 22 3e 3c | .............<h2.id="popCount">< |
| 81240 | 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 6f 75 6e 74 | a.href="#toc-popCount">@popCount |
| 81260 | 3c 2f 61 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 6f 70 43 6f | </a>.<a.class="hdr".href="#popCo |
| 81280 | 75 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f | unt">..</a></h2>........<pre><co |
| 812a0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 812c0 | 62 75 69 6c 74 69 6e 22 3e 40 70 6f 70 43 6f 75 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 | builtin">@popCount</span>(<span. |
| 812e0 | 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 |
| 81300 | 3a 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 |
| 81320 | 70 61 6e 3e 2c 20 69 6e 74 65 67 65 72 3a 20 54 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 | pan>,.integer:.T)</code></pre>.. |
| 81340 | 20 20 20 20 20 3c 70 3e 43 6f 75 6e 74 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 69 74 | .....<p>Counts.the.number.of.bit |
| 81360 | 73 20 73 65 74 20 69 6e 20 61 6e 20 69 6e 74 65 67 65 72 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c | s.set.in.an.integer.</p>.......< |
| 81380 | 70 3e 0a 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 69 6e | p>.......If.<code.class="zig">in |
| 813a0 | 74 65 67 65 72 3c 2f 63 6f 64 65 3e 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 3c 61 20 68 72 65 66 | teger</code>.is.known.at.<a.href |
| 813c0 | 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 0a 20 20 20 20 20 | ="#comptime">comptime</a>,...... |
| 813e0 | 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 20 63 6c 61 73 73 3d | .the.return.type.is.<code.class= |
| 81400 | 22 7a 69 67 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 | "zig"><span.class="tok-type">com |
| 81420 | 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 4f | ptime_int</span></code>........O |
| 81440 | 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 72 65 74 75 72 6e 20 74 79 70 65 20 69 73 20 61 6e 20 | therwise,.the.return.type.is.an. |
| 81460 | 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 20 77 69 74 68 20 74 68 65 20 6d 69 6e 69 6d 75 | unsigned.integer.with.the.minimu |
| 81480 | 6d 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 6f 66 20 62 69 74 73 20 74 68 61 74 20 63 61 6e 20 | m.number.......of.bits.that.can. |
| 814a0 | 72 65 70 72 65 73 65 6e 74 20 74 68 65 20 62 69 74 20 63 6f 75 6e 74 20 6f 66 20 74 68 65 20 69 | represent.the.bit.count.of.the.i |
| 814c0 | 6e 74 65 67 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 | nteger.type........</p>.......<p |
| 814e0 | 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=" |
| 81500 | 23 63 74 7a 22 3e 40 63 74 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d | #ctz">@ctz</a></li>.<li><a.href= |
| 81520 | 22 23 63 6c 7a 22 3e 40 63 6c 7a 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 | "#clz">@clz</a></li>.</ul>...... |
| 81540 | 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 70 74 72 43 61 73 74 22 3e 3c 61 20 68 72 | ..........<h2.id="ptrCast"><a.hr |
| 81560 | 65 66 3d 22 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 | ef="#toc-ptrCast">@ptrCast</a>.< |
| 81580 | 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 70 74 72 43 61 73 74 22 3e c2 a7 | a.class="hdr".href="#ptrCast">.. |
| 815a0 | 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | </a></h2>........<pre><code.clas |
| 815c0 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-builtin |
| 815e0 | 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 3d 22 74 | ">@ptrCast</span>(<span.class="t |
| 81600 | 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 70 65 3a | ok-kw">comptime</span>.DestType: |
| 81620 | 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 |
| 81640 | 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 6b 77 22 | an>,.value:.<span.class="tok-kw" |
| 81660 | 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 44 65 73 74 54 79 70 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | >var</span>).DestType</code></pr |
| 81680 | 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 70 6f | e>.......<p>.......Converts.a.po |
| 816a0 | 69 6e 74 65 72 20 6f 66 20 6f 6e 65 20 74 79 70 65 20 74 6f 20 61 20 70 6f 69 6e 74 65 72 20 6f | inter.of.one.type.to.a.pointer.o |
| 816c0 | 66 20 61 6e 6f 74 68 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 | f.another.type........</p>...... |
| 816e0 | 20 3c 70 3e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d 50 6f | .<p>.......<a.href="#Optional-Po |
| 81700 | 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 20 61 72 | inters">Optional.Pointers</a>.ar |
| 81720 | 65 20 61 6c 6c 6f 77 65 64 2e 20 43 61 73 74 69 6e 67 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 70 | e.allowed..Casting.an.optional.p |
| 81740 | 6f 69 6e 74 65 72 20 77 68 69 63 68 20 69 73 20 3c 61 20 68 72 65 66 3d 22 23 6e 75 6c 6c 22 3e | ointer.which.is.<a.href="#null"> |
| 81760 | 6e 75 6c 6c 3c 2f 61 3e 0a 20 20 20 20 20 20 74 6f 20 61 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 61 6c | null</a>.......to.a.non-optional |
| 81780 | 20 70 6f 69 6e 74 65 72 20 69 6e 76 6f 6b 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 20 | .pointer.invokes.safety-checked. |
| 817a0 | 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 6e | <a.href="#Undefined-Behavior">Un |
| 817c0 | 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 3e | defined.Behavior</a>........</p> |
| 817e0 | 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 70 74 72 54 6f 49 6e 74 22 | ...............<h2.id="ptrToInt" |
| 81800 | 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 70 74 72 54 6f 49 6e 74 22 3e 40 70 74 72 54 6f 49 | ><a.href="#toc-ptrToInt">@ptrToI |
| 81820 | 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 74 72 | nt</a>.<a.class="hdr".href="#ptr |
| 81840 | 54 6f 49 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c | ToInt">..</a></h2>........<pre>< |
| 81860 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 81880 | 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 72 54 6f 49 6e 74 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 | k-builtin">@ptrToInt</span>(valu |
| 818a0 | 65 3a 20 3c 73 70 61 6e 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 |
| 818c0 | 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 69 7a 65 | n>).<span.class="tok-type">usize |
| 818e0 | 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>.. |
| 81900 | 20 20 20 20 20 43 6f 6e 76 65 72 74 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | .....Converts.<code.class="zig"> |
| 81920 | 76 61 6c 75 65 3c 2f 63 6f 64 65 3e 20 74 6f 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | value</code>.to.a.<code.class="z |
| 81940 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 | ig"><span.class="tok-type">usize |
| 81960 | 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 68 69 63 68 20 69 73 20 74 68 65 20 61 64 64 72 | </span></code>.which.is.the.addr |
| 81980 | 65 73 73 20 6f 66 20 74 68 65 20 70 6f 69 6e 74 65 72 2e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d | ess.of.the.pointer..<code.class= |
| 819a0 | 22 7a 69 67 22 3e 76 61 6c 75 65 3c 2f 63 6f 64 65 3e 20 63 61 6e 20 62 65 20 6f 6e 65 20 6f 66 | "zig">value</code>.can.be.one.of |
| 819c0 | 20 74 68 65 73 65 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c | .these.types:.......</p>.......< |
| 819e0 | 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | ul>...........<li><code.class="z |
| 81a00 | 69 67 22 3e 2a 54 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 | ig">*T</code></li>...........<li |
| 81a20 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3f 2a 54 3c 2f 63 6f 64 65 3e 3c 2f 6c | ><code.class="zig">?*T</code></l |
| 81a40 | 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | i>...........<li><code.class="zi |
| 81a60 | 67 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 | g"><span.class="tok-kw">fn</span |
| 81a80 | 3e 28 29 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 | >()</code></li>...........<li><c |
| 81aa0 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ode.class="zig">?<span.class="to |
| 81ac0 | 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 28 29 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 | k-kw">fn</span>()</code></li>... |
| 81ae0 | 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 74 68 | ....</ul>.......<p>To.convert.th |
| 81b00 | 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 54 6f | e.other.way,.use.<a.href="#intTo |
| 81b20 | 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 0a 0a | Ptr">@intToPtr</a></p>.......... |
| 81b40 | 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 72 65 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 | ......<h2.id="rem"><a.href="#toc |
| 81b60 | 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 68 72 | -rem">@rem</a>.<a.class="hdr".hr |
| 81b80 | 65 66 3d 22 23 72 65 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 | ef="#rem">..</a></h2>........<pr |
| 81ba0 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e><code.class="zig"><span.class= |
| 81bc0 | 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 6e 3e 28 6e 75 6d 65 72 61 | "tok-builtin">@rem</span>(numera |
| 81be0 | 74 6f 72 3a 20 54 2c 20 64 65 6e 6f 6d 69 6e 61 74 6f 72 3a 20 54 29 20 54 3c 2f 63 6f 64 65 3e | tor:.T,.denominator:.T).T</code> |
| 81c00 | 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 6d 61 69 6e 64 65 72 | </pre>.......<p>.......Remainder |
| 81c20 | 20 64 69 76 69 73 69 6f 6e 2e 20 46 6f 72 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 73 | .division..For.unsigned.integers |
| 81c40 | 20 74 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 0a 20 20 20 20 20 20 3c 63 6f 64 65 | .this.is.the.same.as.......<code |
| 81c60 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 6e 75 6d 65 72 61 74 6f 72 20 25 20 64 65 6e 6f 6d 69 6e | .class="zig">numerator.%.denomin |
| 81c80 | 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 20 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 20 3c | ator</code>..Caller.guarantees.< |
| 81ca0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 64 65 6e 6f 6d 69 6e 61 74 6f 72 20 26 67 74 | code.class="zig">denominator.> |
| 81cc0 | 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 70 | ;.<span.class="tok-number">0</sp |
| 81ce0 | 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c | an></code>........</p>.......<ul |
| 81d00 | 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | >...........<li><code.class="zig |
| 81d20 | 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d | "><span.class="tok-builtin">@rem |
| 81d40 | 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 65 72 | </span>(-<span.class="tok-number |
| 81d60 | 22 3e 35 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d | ">5</span>,.<span.class="tok-num |
| 81d80 | 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 3d 22 | ber">3</span>).==.-<span.class=" |
| 81da0 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e | tok-number">2</span></code></li> |
| 81dc0 | 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | ...........<li><code.class="zig" |
| 81de0 | 3e 3c 73 70 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 | ><span.class="tok-builtin">@divT |
| 81e00 | 72 75 6e 63 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | runc</span>(a,.b).+.<span.class= |
| 81e20 | 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 6d 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 20 | "tok-builtin">@rem</span>(a,.b). |
| 81e40 | 3d 3d 20 61 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 | ==.a</code></li>.......</ul>.... |
| 81e60 | 20 20 20 3c 70 3e 46 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 72 65 74 75 72 6e | ...<p>For.a.function.that.return |
| 81e80 | 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 20 63 6c 61 73 73 | s.an.error.code,.see.<code.class |
| 81ea0 | 3d 22 7a 69 67 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 | ="zig"><span.class="tok-builtin" |
| 81ec0 | 3e 40 69 6d 70 6f 72 74 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 |
| 81ee0 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 | -str">"std"</span>).ma |
| 81f00 | 74 68 2e 72 65 6d 3c 2f 63 6f 64 65 3e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 | th.rem</code>.</p>.......<p>See. |
| 81f20 | 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 6d 6f 64 22 | also:</p><ul>.<li><a.href="#mod" |
| 81f40 | 3e 40 6d 6f 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 0a 20 20 | >@mod</a></li>.</ul>............ |
| 81f60 | 20 20 20 20 3c 68 32 20 69 64 3d 22 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e 3c 61 20 68 72 | ....<h2.id="returnAddress"><a.hr |
| 81f80 | 65 66 3d 22 23 74 6f 63 2d 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e 40 72 65 74 75 72 6e 41 | ef="#toc-returnAddress">@returnA |
| 81fa0 | 64 64 72 65 73 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 | ddress</a>.<a.class="hdr".href=" |
| 81fc0 | 23 72 65 74 75 72 6e 41 64 64 72 65 73 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 | #returnAddress">..</a></h2>..... |
| 81fe0 | 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | ...<pre><code.class="zig"><span. |
| 82000 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 72 65 74 75 72 6e 41 64 64 72 65 | class="tok-builtin">@returnAddre |
| 82020 | 73 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | ss</span>().<span.class="tok-typ |
| 82040 | 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 | e">usize</span></code></pre>.... |
| 82060 | 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 |
| 82080 | 6e 73 20 74 68 65 20 61 64 64 72 65 73 73 20 6f 66 20 74 68 65 20 6e 65 78 74 20 6d 61 63 68 69 | ns.the.address.of.the.next.machi |
| 820a0 | 6e 65 20 63 6f 64 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 74 68 61 74 20 77 69 6c 6c 20 62 65 | ne.code.instruction.that.will.be |
| 820c0 | 20 65 78 65 63 75 74 65 64 0a 20 20 20 20 20 20 77 68 65 6e 20 74 68 65 20 63 75 72 72 65 6e 74 | .executed.......when.the.current |
| 820e0 | 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 | .function.returns........</p>... |
| 82100 | 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 69 6d 70 6c 69 63 61 74 69 6f 6e 73 20 6f | ....<p>.......The.implications.o |
| 82120 | 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 20 61 6e 64 20 6e | f.this.are.target.specific.and.n |
| 82140 | 6f 74 20 63 6f 6e 73 69 73 74 65 6e 74 20 61 63 72 6f 73 73 0a 20 20 20 20 20 20 61 6c 6c 20 70 | ot.consistent.across.......all.p |
| 82160 | 6c 61 74 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 | latforms........</p>.......<p>.. |
| 82180 | 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 20 76 61 6c 69 64 | .....This.function.is.only.valid |
| 821a0 | 20 77 69 74 68 69 6e 20 66 75 6e 63 74 69 6f 6e 20 73 63 6f 70 65 2e 20 49 66 20 74 68 65 20 66 | .within.function.scope..If.the.f |
| 821c0 | 75 6e 63 74 69 6f 6e 20 67 65 74 73 20 69 6e 6c 69 6e 65 64 20 69 6e 74 6f 0a 20 20 20 20 20 20 | unction.gets.inlined.into....... |
| 821e0 | 61 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 20 72 65 74 75 72 6e 65 64 | a.calling.function,.the.returned |
| 82200 | 20 61 64 64 72 65 73 73 20 77 69 6c 6c 20 61 70 70 6c 79 20 74 6f 20 74 68 65 20 63 61 6c 6c 69 | .address.will.apply.to.the.calli |
| 82220 | 6e 67 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 | ng.function........</p>......... |
| 82240 | 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 3e 3c 61 20 68 | .....<h2.id="setAlignStack"><a.h |
| 82260 | 72 65 66 3d 22 23 74 6f 63 2d 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 3e 40 73 65 74 41 6c 69 | ref="#toc-setAlignStack">@setAli |
| 82280 | 67 6e 53 74 61 63 6b 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d | gnStack</a>.<a.class="hdr".href= |
| 822a0 | 22 23 73 65 74 41 6c 69 67 6e 53 74 61 63 6b 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 | "#setAlignStack">..</a></h2>.... |
| 822c0 | 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | ....<pre><code.class="zig"><span |
| 822e0 | 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 41 6c 69 67 6e 53 74 | .class="tok-builtin">@setAlignSt |
| 82300 | 61 63 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 | ack</span>(<span.class="tok-kw"> |
| 82320 | 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 6e 6d 65 6e 74 3a 20 3c 73 70 61 6e | comptime</span>.alignment:.<span |
| 82340 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 32 39 3c 2f 73 70 61 6e 3e 29 3c 2f 63 | .class="tok-type">u29</span>)</c |
| 82360 | 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 6e 73 75 72 | ode></pre>.......<p>.......Ensur |
| 82380 | 65 73 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 68 61 76 65 20 61 20 73 | es.that.a.function.will.have.a.s |
| 823a0 | 74 61 63 6b 20 61 6c 69 67 6e 6d 65 6e 74 20 6f 66 20 61 74 20 6c 65 61 73 74 20 3c 63 6f 64 65 | tack.alignment.of.at.least.<code |
| 823c0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 6c 69 67 6e 6d 65 6e 74 3c 2f 63 6f 64 65 3e 20 62 79 | .class="zig">alignment</code>.by |
| 823e0 | 74 65 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 | tes........</p>...............<h |
| 82400 | 32 20 69 64 3d 22 73 65 74 43 6f 6c 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 65 74 | 2.id="setCold"><a.href="#toc-set |
| 82420 | 43 6f 6c 64 22 3e 40 73 65 74 43 6f 6c 64 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 | Cold">@setCold</a>.<a.class="hdr |
| 82440 | 22 20 68 72 65 66 3d 22 23 73 65 74 43 6f 6c 64 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 | ".href="#setCold">..</a></h2>... |
| 82460 | 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | .....<pre><code.class="zig"><spa |
| 82480 | 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</ |
| 824a0 | 73 70 61 6e 3e 28 69 73 5f 63 6f 6c 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | span>(is_cold:.<span.class="tok- |
| 824c0 | 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a | type">bool</span>)</code></pre>. |
| 824e0 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 65 6c 6c 73 20 74 68 65 20 6f 70 74 69 6d 69 | ......<p>.......Tells.the.optimi |
| 82500 | 7a 65 72 20 74 68 61 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 72 61 72 65 6c 79 20 63 61 | zer.that.a.function.is.rarely.ca |
| 82520 | 6c 6c 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c | lled........</p>...............< |
| 82540 | 68 32 20 69 64 3d 22 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 3c 61 20 68 72 | h2.id="setEvalBranchQuota"><a.hr |
| 82560 | 65 66 3d 22 23 74 6f 63 2d 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 3e 40 73 65 | ef="#toc-setEvalBranchQuota">@se |
| 82580 | 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 | tEvalBranchQuota</a>.<a.class="h |
| 825a0 | 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 22 3e c2 | dr".href="#setEvalBranchQuota">. |
| 825c0 | a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | .</a></h2>........<pre><code.cla |
| 825e0 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-builti |
| 82600 | 6e 22 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 6e 65 | n">@setEvalBranchQuota</span>(ne |
| 82620 | 77 5f 71 75 6f 74 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | w_quota:.<span.class="tok-type"> |
| 82640 | 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 | usize</span>)</code></pre>...... |
| 82660 | 20 3c 70 3e 0a 20 20 20 20 20 20 43 68 61 6e 67 65 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e | .<p>.......Changes.the.maximum.n |
| 82680 | 75 6d 62 65 72 20 6f 66 20 62 61 63 6b 77 61 72 64 73 20 62 72 61 6e 63 68 65 73 20 74 68 61 74 | umber.of.backwards.branches.that |
| 826a0 | 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 64 65 0a 20 20 20 20 20 20 65 78 65 63 75 74 69 | .compile-time.code.......executi |
| 826c0 | 6f 6e 20 63 61 6e 20 75 73 65 20 62 65 66 6f 72 65 20 67 69 76 69 6e 67 20 75 70 20 61 6e 64 20 | on.can.use.before.giving.up.and. |
| 826e0 | 6d 61 6b 69 6e 67 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 3c 2f | making.a.compile.error........</ |
| 82700 | 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 3c 63 6f 64 65 20 | p>.......<p>.......If.the.<code. |
| 82720 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 6e 65 77 5f 71 75 6f 74 61 3c 2f 63 6f 64 65 3e 20 69 73 20 | class="zig">new_quota</code>.is. |
| 82740 | 73 6d 61 6c 6c 65 72 20 74 68 61 6e 20 74 68 65 20 64 65 66 61 75 6c 74 20 71 75 6f 74 61 20 28 | smaller.than.the.default.quota.( |
| 82760 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 82780 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 20 6f | ok-number">1000</span></code>).o |
| 827a0 | 72 0a 20 20 20 20 20 20 61 20 70 72 65 76 69 6f 75 73 6c 79 20 65 78 70 6c 69 63 69 74 6c 79 20 | r.......a.previously.explicitly. |
| 827c0 | 73 65 74 20 71 75 6f 74 61 2c 20 69 74 20 69 73 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 20 | set.quota,.it.is.ignored........ |
| 827e0 | 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 61 6d 70 6c 65 3a 0a 20 20 | </p>.......<p>.......Example:... |
| 82800 | 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 | ....</p>.......<p.class="file">t |
| 82820 | 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | est.zig</p><pre><code.class="zig |
| 82840 | 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 |
| 82860 | 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 66 | n>.<span.class="tok-str">"f |
| 82880 | 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | oo"</span>.{.....<span.clas |
| 828a0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | s="tok-kw">comptime</span>.{.... |
| 828c0 | 20 20 20 20 20 3c 73 70 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 |
| 828e0 | 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 |
| 82900 | 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ">0</span>;.........<span.class= |
| 82920 | 22 74 6f 6b 2d 6b 77 22 3e 77 68 69 6c 65 3c 2f 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 | "tok-kw">while</span>.(i.<.<s |
| 82940 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 31 3c 2f 73 70 61 | pan.class="tok-number">1001</spa |
| 82960 | 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d | n>).:.(i.+=.<span.class="tok-num |
| 82980 | 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 7b 7d 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e | ber">1</span>).{}.....}.}</code> |
| 829a0 | 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 | </pre><pre><code.class="shell">$ |
| 829c0 | 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .zig.test.test.zig.<span.class=" |
| 829e0 | 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 39 3a | t0_1">./docgen_tmp/test.zig:4:9: |
| 82a00 | 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 |
| 82a20 | 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 76 61 | r:.</span><span.class="t0_1">eva |
| 82a40 | 6c 75 61 74 69 6f 6e 20 65 78 63 65 65 64 65 64 20 31 30 30 30 20 62 61 63 6b 77 61 72 64 73 20 | luation.exceeded.1000.backwards. |
| 82a60 | 62 72 61 6e 63 68 65 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 69 | branches</span>.........while.(i |
| 82a80 | 20 26 6c 74 3b 20 31 30 30 31 29 20 3a 20 28 69 20 2b 3d 20 31 29 20 7b 7d 0a 20 20 20 20 20 20 | .<.1001).:.(i.+=.1).{}....... |
| 82aa0 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c | ..<span.class="t32_1">^</span>.< |
| 82ac0 | 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 |
| 82ae0 | 65 73 74 2e 7a 69 67 3a 31 3a 31 32 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | est.zig:1:12:.</span><span.class |
| 82b00 | 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 |
| 82b20 | 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a | s="t0_1">referenced.here</span>. |
| 82b40 | 74 65 73 74 20 26 71 75 6f 74 3b 66 6f 6f 26 71 75 6f 74 3b 20 7b 0a 20 20 20 20 20 20 20 20 20 | test."foo".{.......... |
| 82b60 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c | ..<span.class="t32_1">^</span>.< |
| 82b80 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 77 20 77 65 20 75 73 | /code></pre>........<p>Now.we.us |
| 82ba0 | 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e.<code.class="zig"><span.class= |
| 82bc0 | 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 | "tok-builtin">@setEvalBranchQuot |
| 82be0 | 61 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c | a</span></code>:</p>.......<p.cl |
| 82c00 | 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 | ass="file">test.zig</p><pre><cod |
| 82c20 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | e.class="zig"><span.class="tok-k |
| 82c40 | 77 22 3e 74 65 73 74 3c 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- |
| 82c60 | 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 0a 20 20 | str">"foo"</span>.{... |
| 82c80 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c | ..<span.class="tok-kw">comptime< |
| 82ca0 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | /span>.{.........<span.class="to |
| 82cc0 | 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 45 76 61 6c 42 72 61 6e 63 68 51 75 6f 74 61 3c 2f | k-builtin">@setEvalBranchQuota</ |
| 82ce0 | 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 |
| 82d00 | 30 30 31 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | 001</span>);.........<span.class |
| 82d20 | 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 20 3d 20 3c 73 70 61 6e 20 63 | ="tok-kw">var</span>.i.=.<span.c |
| 82d40 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 | lass="tok-number">0</span>;..... |
| 82d60 | 20 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</ |
| 82d80 | 73 70 61 6e 3e 20 28 69 20 26 6c 74 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | span>.(i.<.<span.class="tok-n |
| 82da0 | 75 6d 62 65 72 22 3e 31 30 30 31 3c 2f 73 70 61 6e 3e 29 20 3a 20 28 69 20 2b 3d 20 3c 73 70 61 | umber">1001</span>).:.(i.+=.<spa |
| 82dc0 | 6e 20 63 6c 61 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 | n.class="tok-number">1</span>).{ |
| 82de0 | 7d 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 | }.....}.}</code></pre><pre><code |
| 82e00 | 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a | .class="shell">$.zig.test.test.z |
| 82e20 | 69 67 0a 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 4f 4b | ig.1/1.test."foo"...OK |
| 82e40 | 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | .All.1.tests.passed..</code></pr |
| 82e60 | 65 3e 0a 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a | e>.........<p>See.also:</p><ul>. |
| 82e80 | 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 69 6d 65 | <li><a.href="#comptime">comptime |
| 82ea0 | 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c | </a></li>.</ul>................< |
| 82ec0 | 68 32 20 69 64 3d 22 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 | h2.id="setFloatMode"><a.href="#t |
| 82ee0 | 6f 63 2d 73 65 74 46 6c 6f 61 74 4d 6f 64 65 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f | oc-setFloatMode">@setFloatMode</ |
| 82f00 | 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 65 74 46 6c 6f 61 | a>.<a.class="hdr".href="#setFloa |
| 82f20 | 74 4d 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c | tMode">..</a></h2>........<pre>< |
| 82f40 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 82f60 | 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 46 6c 6f 61 74 4d 6f 64 65 3c 2f 73 70 61 6e 3e 28 | k-builtin">@setFloatMode</span>( |
| 82f80 | 6d 6f 64 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e | mode:.<span.class="tok-builtin"> |
| 82fa0 | 40 69 6d 70 6f 72 74 3c 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- |
| 82fc0 | 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 | str">"builtin"</span>) |
| 82fe0 | 2e 46 6c 6f 61 74 4d 6f 64 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c | .FloatMode)</code></pre>.......< |
| 83000 | 70 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 | p>.......Sets.the.floating.point |
| 83020 | 20 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 | .mode.of.the.current.scope..Poss |
| 83040 | 69 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 | ible.values.are:.......</p>..... |
| 83060 | 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | ..<pre><code.class="zig"><span.c |
| 83080 | 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 |
| 830a0 | 6c 61 73 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 6c 6f 61 74 | lass="tok-kw">const</span>.Float |
| 830c0 | 4d 6f 64 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d | Mode.=.<span.class="tok-kw">enum |
| 830e0 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 53 74 72 69 63 74 2c 0a 20 20 20 20 4f 70 74 69 6d 69 | </span>.{.....Strict,.....Optimi |
| 83100 | 7a 65 64 2c 0a 7d 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a | zed,.};</code></pre>.......<ul>. |
| 83120 | 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 | ........<li>.............<code.c |
| 83140 | 6c 61 73 73 3d 22 7a 69 67 22 3e 53 74 72 69 63 74 3c 2f 63 6f 64 65 3e 20 28 64 65 66 61 75 6c | lass="zig">Strict</code>.(defaul |
| 83160 | 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 6f 6e 73 20 66 | t).-.Floating.point.operations.f |
| 83180 | 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 65 2e 0a 20 20 | ollow.strict.IEEE.compliance.... |
| 831a0 | 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>........ |
| 831c0 | 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 4f 70 74 69 6d 69 7a 65 64 | .....<code.class="zig">Optimized |
| 831e0 | 3c 2f 63 6f 64 65 3e 20 2d 20 46 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6f 70 65 72 61 74 69 | </code>.-.Floating.point.operati |
| 83200 | 6f 6e 73 20 6d 61 79 20 64 6f 20 61 6c 6c 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a | ons.may.do.all.of.the.following: |
| 83220 | 0a 20 20 20 20 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e | ...........<ul>.............<li> |
| 83240 | 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. |
| 83260 | 61 72 65 20 6e 6f 74 20 4e 61 4e 2e 20 4f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 72 | are.not.NaN..Optimizations.are.r |
| 83280 | 65 71 75 69 72 65 64 20 74 6f 20 72 65 74 61 69 6e 20 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 | equired.to.retain.defined.behavi |
| 832a0 | 6f 72 20 6f 76 65 72 20 4e 61 4e 73 2c 20 62 75 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 | or.over.NaNs,.but.the.value.of.t |
| 832c0 | 68 65 20 72 65 73 75 6c 74 20 69 73 20 75 6e 64 65 66 69 6e 65 64 2e 3c 2f 6c 69 3e 0a 20 20 20 | he.result.is.undefined.</li>.... |
| 832e0 | 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 73 73 75 6d 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 | .........<li>Assume.the.argument |
| 83300 | 73 20 61 6e 64 20 72 65 73 75 6c 74 20 61 72 65 20 6e 6f 74 20 2b 2f 2d 49 6e 66 2e 20 4f 70 74 | s.and.result.are.not.+/-Inf..Opt |
| 83320 | 69 6d 69 7a 61 74 69 6f 6e 73 20 61 72 65 20 72 65 71 75 69 72 65 64 20 74 6f 20 72 65 74 61 69 | imizations.are.required.to.retai |
| 83340 | 6e 20 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 6f 76 65 72 20 2b 2f 2d 49 6e 66 2c 20 | n.defined.behavior.over.+/-Inf,. |
| 83360 | 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 75 | but.the.value.of.the.result.is.u |
| 83380 | 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 54 | ndefined.</li>.............<li>T |
| 833a0 | 72 65 61 74 20 74 68 65 20 73 69 67 6e 20 6f 66 20 61 20 7a 65 72 6f 20 61 72 67 75 6d 65 6e 74 | reat.the.sign.of.a.zero.argument |
| 833c0 | 20 6f 72 20 72 65 73 75 6c 74 20 61 73 20 69 6e 73 69 67 6e 69 66 69 63 61 6e 74 2e 3c 2f 6c 69 | .or.result.as.insignificant.</li |
| 833e0 | 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 55 73 65 20 74 68 65 20 72 65 63 69 70 72 | >.............<li>Use.the.recipr |
| 83400 | 6f 63 61 6c 20 6f 66 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 72 61 74 68 65 72 20 74 68 61 6e 20 | ocal.of.an.argument.rather.than. |
| 83420 | 70 65 72 66 6f 72 6d 20 64 69 76 69 73 69 6f 6e 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 | perform.division.</li>.......... |
| 83440 | 20 20 20 3c 6c 69 3e 50 65 72 66 6f 72 6d 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 63 6f | ...<li>Perform.floating-point.co |
| 83460 | 6e 74 72 61 63 74 69 6f 6e 20 28 65 2e 67 2e 20 66 75 73 69 6e 67 20 61 20 6d 75 6c 74 69 70 6c | ntraction.(e.g..fusing.a.multipl |
| 83480 | 79 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 61 6e 20 61 64 64 69 74 69 6f 6e 20 69 6e 74 6f 20 61 | y.followed.by.an.addition.into.a |
| 834a0 | 20 66 75 73 65 64 20 6d 75 6c 74 69 70 6c 79 2d 61 6e 64 2d 61 64 64 29 2e 3c 2f 6c 69 3e 0a 20 | .fused.multiply-and-add).</li>.. |
| 834c0 | 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 50 65 72 66 6f 72 6d 20 61 6c 67 65 62 72 61 69 63 | ...........<li>Perform.algebraic |
| 834e0 | 61 6c 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 73 20 | ally.equivalent.transformations. |
| 83500 | 74 68 61 74 20 6d 61 79 20 63 68 61 6e 67 65 20 72 65 73 75 6c 74 73 20 69 6e 20 66 6c 6f 61 74 | that.may.change.results.in.float |
| 83520 | 69 6e 67 20 70 6f 69 6e 74 20 28 65 2e 67 2e 20 72 65 61 73 73 6f 63 69 61 74 65 29 2e 3c 2f 6c | ing.point.(e.g..reassociate).</l |
| 83540 | 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 54 68 69 | i>...........</ul>...........Thi |
| 83560 | 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3c 63 6f 64 65 3e 2d 66 66 61 73 74 2d | s.is.equivalent.to.<code>-ffast- |
| 83580 | 6d 61 74 68 3c 2f 63 6f 64 65 3e 20 69 6e 20 47 43 43 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 | math</code>.in.GCC..........</li |
| 835a0 | 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 | >.......</ul>.......<p>.......Th |
| 835c0 | 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6d 6f 64 65 20 69 73 20 69 6e 68 65 72 69 74 | e.floating.point.mode.is.inherit |
| 835e0 | 65 64 20 62 79 20 63 68 69 6c 64 20 73 63 6f 70 65 73 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 6f | ed.by.child.scopes,.and.can.be.o |
| 83600 | 76 65 72 72 69 64 64 65 6e 20 69 6e 20 61 6e 79 20 73 63 6f 70 65 2e 0a 20 20 20 20 20 20 59 6f | verridden.in.any.scope........Yo |
| 83620 | 75 20 63 61 6e 20 73 65 74 20 74 68 65 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6d 6f 64 | u.can.set.the.floating.point.mod |
| 83640 | 65 20 69 6e 20 61 20 73 74 72 75 63 74 20 6f 72 20 6d 6f 64 75 6c 65 20 73 63 6f 70 65 20 62 79 | e.in.a.struct.or.module.scope.by |
| 83660 | 20 75 73 69 6e 67 20 61 20 63 6f 6d 70 74 69 6d 65 20 62 6c 6f 63 6b 2e 0a 20 20 20 20 20 20 3c | .using.a.comptime.block........< |
| 83680 | 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>.< |
| 836a0 | 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 69 6e 67 2d 50 6f 69 6e 74 2d 4f 70 65 72 | li><a.href="#Floating-Point-Oper |
| 836c0 | 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 6e | ations">Floating.Point.Operation |
| 836e0 | 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 20 20 20 20 | s</a></li>.</ul>................ |
| 83700 | 3c 68 32 20 69 64 3d 22 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 3c 61 20 68 72 65 | <h2.id="setRuntimeSafety"><a.hre |
| 83720 | 66 3d 22 23 74 6f 63 2d 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 40 73 65 74 52 75 | f="#toc-setRuntimeSafety">@setRu |
| 83740 | 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 | ntimeSafety</a>.<a.class="hdr".h |
| 83760 | 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e c2 a7 3c 2f 61 3e 3c 2f | ref="#setRuntimeSafety">..</a></ |
| 83780 | 68 32 3e 0a 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 7a 69 67 | h2>........<pre><code.class="zig |
| 837a0 | 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 74 | "><span.class="tok-builtin">@set |
| 837c0 | 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 28 73 61 66 65 74 79 5f 6f 6e 3a 20 | RuntimeSafety</span>(safety_on:. |
| 837e0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 | <span.class="tok-type">bool</spa |
| 83800 | 6e 3e 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 | n>)</code></pre>.......<p>...... |
| 83820 | 20 53 65 74 73 20 77 68 65 74 68 65 72 20 72 75 6e 74 69 6d 65 20 73 61 66 65 74 79 20 63 68 65 | .Sets.whether.runtime.safety.che |
| 83840 | 63 6b 73 20 61 72 65 20 65 6e 61 62 6c 65 64 20 66 6f 72 20 74 68 65 20 73 63 6f 70 65 20 74 68 | cks.are.enabled.for.the.scope.th |
| 83860 | 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 2e 0a 20 | at.contains.the.function.call... |
| 83880 | 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e | .....</p>.......<p.class="file"> |
| 838a0 | 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | test.zig</p><pre><code.class="zi |
| 838c0 | 67 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 | g"><span.class="tok-kw">test</sp |
| 838e0 | 61 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">" |
| 83900 | 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 73 70 61 6e 3e 20 7b | @setRuntimeSafety"</span>.{ |
| 83920 | 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f | .....<span.class="tok-comment">/ |
| 83940 | 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 6f | /.The.builtin.applies.to.the.sco |
| 83960 | 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 65 | pe.that.it.is.called.in..So.here |
| 83980 | 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 0a 20 20 20 20 3c 73 | ,.integer.overflow</span>.....<s |
| 839a0 | 70 61 6e 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 | pan.class="tok-comment">//.will. |
| 839c0 | 6e 6f 74 20 62 65 20 63 61 75 67 68 74 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 74 20 61 6e 64 | not.be.caught.in.ReleaseFast.and |
| 839e0 | 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 73 3a 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 | .ReleaseSmall.modes:</span>..... |
| 83a00 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 76 61 72 | <span.class="tok-comment">//.var |
| 83a20 | 20 78 3a 20 75 38 20 3d 20 32 35 35 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 63 | .x:.u8.=.255;</span>.....<span.c |
| 83a40 | 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 78 20 2b 3d 20 31 3b 20 2f 2f | lass="tok-comment">//.x.+=.1;.// |
| 83a60 | 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 20 69 6e 20 52 65 6c 65 61 73 65 46 61 | .undefined.behavior.in.ReleaseFa |
| 83a80 | 73 74 2f 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 | st/ReleaseSmall.modes.</span>... |
| 83aa0 | 20 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d | ..{.........<span.class="tok-com |
| 83ac0 | 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 61 73 20 | ment">//.However.this.block.has. |
| 83ae0 | 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 63 6b 73 | safety.enabled,.so.safety.checks |
| 83b00 | 20 68 61 70 70 65 6e 20 68 65 72 65 2c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 | .happen.here,</span>.........<sp |
| 83b20 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 65 76 65 6e 20 69 | an.class="tok-comment">//.even.i |
| 83b40 | 6e 20 52 65 6c 65 61 73 65 46 61 73 74 20 61 6e 64 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d | n.ReleaseFast.and.ReleaseSmall.m |
| 83b60 | 6f 64 65 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | odes.</span>.........<span.class |
| 83b80 | 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 79 | ="tok-builtin">@setRuntimeSafety |
| 83ba0 | 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 | </span>(<span.class="tok-null">t |
| 83bc0 | 72 75 65 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | rue</span>);.........<span.class |
| 83be0 | 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 6e 20 63 6c | ="tok-kw">var</span>.x:.<span.cl |
| 83c00 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e | ass="tok-type">u8</span>.=.<span |
| 83c20 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 0a | .class="tok-number">255</span>;. |
| 83c40 | 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 75 | ........x.+=.<span.class="tok-nu |
| 83c60 | 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 20 20 20 20 7b 0a 20 20 20 20 20 | mber">1</span>;..........{...... |
| 83c80 | 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" |
| 83ca0 | 3e 2f 2f 20 54 68 65 20 76 61 6c 75 65 20 63 61 6e 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 | >//.The.value.can.be.overridden. |
| 83cc0 | 61 74 20 61 6e 79 20 73 63 6f 70 65 2e 20 53 6f 20 68 65 72 65 20 69 6e 74 65 67 65 72 20 6f 76 | at.any.scope..So.here.integer.ov |
| 83ce0 | 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | erflow</span>.............<span. |
| 83d00 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 77 6f 75 6c 64 20 6e 6f 74 | class="tok-comment">//.would.not |
| 83d20 | 20 62 65 20 63 61 75 67 68 74 20 69 6e 20 61 6e 79 20 62 75 69 6c 64 20 6d 6f 64 65 2e 3c 2f 73 | .be.caught.in.any.build.mode.</s |
| 83d40 | 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | pan>.............<span.class="to |
| 83d60 | 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 | k-builtin">@setRuntimeSafety</sp |
| 83d80 | 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 | an>(<span.class="tok-null">false |
| 83da0 | 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | </span>);.............<span.clas |
| 83dc0 | 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 20 75 38 20 3d 20 32 | s="tok-comment">//.var.x:.u8.=.2 |
| 83de0 | 35 35 3b 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | 55;</span>.............<span.cla |
| 83e00 | 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 75 | ss="tok-comment">//.x.+=.1;.//.u |
| 83e20 | 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 6d | ndefined.behavior.in.all.build.m |
| 83e40 | 6f 64 65 73 2e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 7d 0a 7d 3c 2f | odes.</span>.........}.....}.}</ |
| 83e60 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 | code></pre><pre><code.class="she |
| 83e80 | 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 20 2d 2d 72 65 6c 65 61 73 | ll">$.zig.test.test.zig.--releas |
| 83ea0 | 65 2d 66 61 73 74 0a 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 | e-fast.1/1.test."@setRuntim |
| 83ec0 | 65 53 61 66 65 74 79 26 71 75 6f 74 3b 2e 2e 2e 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 | eSafety"...integer.overflow |
| 83ee0 | 0a 0a 54 65 73 74 73 20 66 61 69 6c 65 64 2e 20 55 73 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e | ..Tests.failed..Use.the.followin |
| 83f00 | 67 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 72 65 70 72 6f 64 75 63 65 20 74 68 65 20 66 61 69 6c 75 | g.command.to.reproduce.the.failu |
| 83f20 | 72 65 3a 0a 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 0a 3c 2f | re:./deps/zig/docgen_tmp/test.</ |
| 83f40 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4e 6f 74 65 3a 20 69 74 20 69 | code></pre>........<p>Note:.it.i |
| 83f60 | 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 69 | s.<a.href="https://github.com/zi |
| 83f80 | 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 39 37 38 22 3e 70 6c 61 6e 6e 65 64 3c 2f 61 | glang/zig/issues/978">planned</a |
| 83fa0 | 3e 20 74 6f 20 72 65 70 6c 61 63 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | >.to.replace.......<code.class=" |
| 83fc0 | 7a 69 67 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 | zig"><span.class="tok-builtin">@ |
| 83fe0 | 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 | setRuntimeSafety</span></code>.w |
| 84000 | 69 74 68 20 3c 63 6f 64 65 3e 40 6f 70 74 69 6d 69 7a 65 46 6f 72 3c 2f 63 6f 64 65 3e 3c 2f 70 | ith.<code>@optimizeFor</code></p |
| 84020 | 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 68 6c 45 78 61 63 | >................<h2.id="shlExac |
| 84040 | 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 6c 45 78 61 63 74 22 3e 40 73 68 6c 45 | t"><a.href="#toc-shlExact">@shlE |
| 84060 | 78 61 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 | xact</a>.<a.class="hdr".href="#s |
| 84080 | 68 6c 45 78 61 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 | hlExact">..</a></h2>........<pre |
| 840a0 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| 840c0 | 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 76 61 | tok-builtin">@shlExact</span>(va |
| 840e0 | 6c 75 65 3a 20 54 2c 20 73 68 69 66 74 5f 61 6d 74 3a 20 4c 6f 67 32 54 29 20 54 3c 2f 63 6f 64 | lue:.T,.shift_amt:.Log2T).T</cod |
| 84100 | 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 |
| 84120 | 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 20 28 3c 63 6f 64 | s.the.left.shift.operation.(<cod |
| 84140 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 26 6c 74 3b 26 6c 74 3b 3c 2f 63 6f 64 65 3e 29 2e 20 | e.class="zig"><<</code>).. |
| 84160 | 43 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 0a 20 20 20 20 20 20 74 68 61 74 20 74 68 65 | Caller.guarantees.......that.the |
| 84180 | 20 73 68 69 66 74 20 77 69 6c 6c 20 6e 6f 74 20 73 68 69 66 74 20 61 6e 79 20 31 20 62 69 74 73 | .shift.will.not.shift.any.1.bits |
| 841a0 | 20 6f 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 | .out........</p>.......<p>...... |
| 841c0 | 20 54 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 | .The.type.of.<code.class="zig">s |
| 841e0 | 68 69 66 74 5f 61 6d 74 3c 2f 63 6f 64 65 3e 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 | hift_amt</code>.is.an.unsigned.i |
| 84200 | 6e 74 65 67 65 72 20 77 69 74 68 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 6c 6f | nteger.with.<code.class="zig">lo |
| 84220 | 67 32 28 54 2e 62 69 74 5f 63 6f 75 6e 74 29 3c 2f 63 6f 64 65 3e 20 62 69 74 73 2e 0a 20 20 20 | g2(T.bit_count)</code>.bits..... |
| 84240 | 20 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 | ...........This.is.because.<code |
| 84260 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 68 69 66 74 5f 61 6d 74 20 26 67 74 3b 3d 20 54 2e 62 | .class="zig">shift_amt.>=.T.b |
| 84280 | 69 74 5f 63 6f 75 6e 74 3c 2f 63 6f 64 65 3e 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 62 65 68 | it_count</code>.is.undefined.beh |
| 842a0 | 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 | avior........</p>.......<p>See.a |
| 842c0 | 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 72 45 78 | lso:</p><ul>.<li><a.href="#shrEx |
| 842e0 | 61 63 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 | act">@shrExact</a></li>.<li><a.h |
| 84300 | 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f | ref="#shlWithOverflow">@shlWithO |
| 84320 | 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a | verflow</a></li>.</ul>.......... |
| 84340 | 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 3c | ......<h2.id="shlWithOverflow">< |
| 84360 | 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 | a.href="#toc-shlWithOverflow">@s |
| 84380 | 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 | hlWithOverflow</a>.<a.class="hdr |
| 843a0 | 22 20 68 72 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e | ".href="#shlWithOverflow">..</a> |
| 843c0 | 3c 2f 68 32 3e 0a 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 7a | </h2>........<pre><code.class="z |
| 843e0 | 69 67 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 | ig"><span.class="tok-builtin">@s |
| 84400 | 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 20 63 6c 61 73 | hlWithOverflow</span>(<span.clas |
| 84420 | 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 |
| 84440 | 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> |
| 84460 | 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 65 73 75 6c 74 | ,.a:.T,.shift_amt:.Log2T,.result |
| 84480 | 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 62 6f 6f | :.*T).<span.class="tok-type">boo |
| 844a0 | 6c 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 | l</span></code></pre>.......<p>. |
| 844c0 | 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | ......Performs.<code.class="zig" |
| 844e0 | 3e 72 65 73 75 6c 74 2e 2a 20 3d 20 61 20 26 6c 74 3b 26 6c 74 3b 20 62 3c 2f 63 6f 64 65 3e 2e | >result.*.=.a.<<.b</code>. |
| 84500 | 20 49 66 20 6f 76 65 72 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 | .If.overflow.or.underflow.occurs |
| 84520 | 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 6f 72 65 73 20 74 68 65 20 6f 76 | ,..................stores.the.ov |
| 84540 | 65 72 66 6c 6f 77 65 64 20 62 69 74 73 20 69 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | erflowed.bits.in.<code.class="zi |
| 84560 | 67 22 3e 72 65 73 75 6c 74 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 3c 63 6f | g">result</code>.and.returns.<co |
| 84580 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 845a0 | 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 | null">true</span></code>........ |
| 845c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 6f 76 65 72 66 6c 6f | ...................If.no.overflo |
| 845e0 | 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 20 72 65 74 75 72 6e 73 20 3c | w.or.underflow.occurs,.returns.< |
| 84600 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 84620 | 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 | k-null">false</span></code>..... |
| 84640 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 74 79 70 65 | ...</p>.......<p>.......The.type |
| 84660 | 20 6f 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 68 69 66 74 5f 61 6d 74 3c | .of.<code.class="zig">shift_amt< |
| 84680 | 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 |
| 846a0 | 74 68 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 6c 6f 67 32 28 54 2e 62 69 74 5f | th.<code.class="zig">log2(T.bit_ |
| 846c0 | 63 6f 75 6e 74 29 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 | count)</code>.bits.............. |
| 846e0 | 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | ..This.is.because.<code.class="z |
| 84700 | 69 67 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 | ig">shift_amt.>=.T.bit_count< |
| 84720 | 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 69 6f 72 2e 0a 20 20 | /code>.is.undefined.behavior.... |
| 84740 | 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c | ....</p>.......<p>See.also:</p>< |
| 84760 | 75 6c 3e 0a 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 | ul>.<li><a.href="#shlExact">@shl |
| 84780 | 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 66 3d 22 23 73 68 72 | Exact</a></li>.<li><a.href="#shr |
| 847a0 | 45 78 61 63 74 22 3e 40 73 68 72 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a | Exact">@shrExact</a></li>.</ul>. |
| 847c0 | 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 68 72 45 78 61 63 74 22 | ...............<h2.id="shrExact" |
| 847e0 | 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 73 68 72 45 78 61 63 74 22 3e 40 73 68 72 45 78 61 | ><a.href="#toc-shrExact">@shrExa |
| 84800 | 63 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 68 72 | ct</a>.<a.class="hdr".href="#shr |
| 84820 | 45 78 61 63 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c | Exact">..</a></h2>........<pre>< |
| 84840 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 84860 | 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 6e 3e 28 76 61 6c 75 | k-builtin">@shrExact</span>(valu |
| 84880 | 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 63 6f 64 65 3e | e:.T,.shift_amt:.Log2T).T</code> |
| 848a0 | 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 72 66 6f 72 6d 73 20 | </pre>.......<p>.......Performs. |
| 848c0 | 74 68 65 20 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 | the.right.shift.operation.(<code |
| 848e0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 26 67 74 3b 26 67 74 3b 3c 2f 63 6f 64 65 3e 29 2e 20 43 | .class="zig">>></code>)..C |
| 84900 | 61 6c 6c 65 72 20 67 75 61 72 61 6e 74 65 65 73 0a 20 20 20 20 20 20 74 68 61 74 20 74 68 65 20 | aller.guarantees.......that.the. |
| 84920 | 73 68 69 66 74 20 77 69 6c 6c 20 6e 6f 74 20 73 68 69 66 74 20 61 6e 79 20 31 20 62 69 74 73 20 | shift.will.not.shift.any.1.bits. |
| 84940 | 6f 75 74 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 | out........</p>.......<p>....... |
| 84960 | 54 68 65 20 74 79 70 65 20 6f 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 68 | The.type.of.<code.class="zig">sh |
| 84980 | 69 66 74 5f 61 6d 74 3c 2f 63 6f 64 65 3e 20 69 73 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e | ift_amt</code>.is.an.unsigned.in |
| 849a0 | 74 65 67 65 72 20 77 69 74 68 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 6c 6f 67 | teger.with.<code.class="zig">log |
| 849c0 | 32 28 54 2e 62 69 74 5f 63 6f 75 6e 74 29 3c 2f 63 6f 64 65 3e 20 62 69 74 73 2e 0a 20 20 20 20 | 2(T.bit_count)</code>.bits...... |
| 849e0 | 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 62 65 63 61 75 73 65 20 3c 63 6f 64 65 20 | ..........This.is.because.<code. |
| 84a00 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 68 69 66 74 5f 61 6d 74 20 26 67 74 3b 3d 20 54 2e 62 69 | class="zig">shift_amt.>=.T.bi |
| 84a20 | 74 5f 63 6f 75 6e 74 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 | t_count</code>.is.undefined.beha |
| 84a40 | 76 69 6f 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c | vior........</p>.......<p>See.al |
| 84a60 | 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 6c 45 78 61 | so:</p><ul>.<li><a.href="#shlExa |
| 84a80 | 63 74 22 3e 40 73 68 6c 45 78 61 63 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 | ct">@shlExact</a></li>.<li><a.hr |
| 84aa0 | 65 66 3d 22 23 73 68 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 73 68 6c 57 69 74 68 4f 76 | ef="#shlWithOverflow">@shlWithOv |
| 84ac0 | 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 | erflow</a></li>.</ul>........... |
| 84ae0 | 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 68 75 66 66 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 | .....<h2.id="shuffle"><a.href="# |
| 84b00 | 74 6f 63 2d 73 68 75 66 66 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 | toc-shuffle">@shuffle</a>.<a.cla |
| 84b20 | 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 68 75 66 66 6c 65 22 3e c2 a7 3c 2f 61 3e 3c | ss="hdr".href="#shuffle">..</a>< |
| 84b40 | 2f 68 32 3e 0a 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 7a 69 | /h2>........<pre><code.class="zi |
| 84b60 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 | g"><span.class="tok-builtin">@sh |
| 84b80 | 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | uffle</span>(<span.class="tok-kw |
| 84ba0 | 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 45 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ">comptime</span>.E:.<span.class |
| 84bc0 | 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 3c 73 70 61 | ="tok-type">type</span>,.a:.<spa |
| 84be0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 | n.class="tok-builtin">@Vector</s |
| 84c00 | 70 61 6e 3e 28 61 5f 6c 65 6e 2c 20 45 29 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | pan>(a_len,.E),.b:.<span.class=" |
| 84c20 | 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 62 5f 6c 65 | tok-builtin">@Vector</span>(b_le |
| 84c40 | 6e 2c 20 45 29 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 | n,.E),.<span.class="tok-kw">comp |
| 84c60 | 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6d 61 73 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | time</span>.mask:.<span.class="t |
| 84c80 | 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 6d 61 73 6b 5f | ok-builtin">@Vector</span>(mask_ |
| 84ca0 | 6c 65 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c | len,.<span.class="tok-type">i32< |
| 84cc0 | 2f 73 70 61 6e 3e 29 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 | /span>)).<span.class="tok-builti |
| 84ce0 | 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 6d 61 73 6b 5f 6c 65 6e 2c 20 45 29 3c 2f | n">@Vector</span>(mask_len,.E)</ |
| 84d00 | 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 73 | code></pre>.......<p>.......Cons |
| 84d20 | 74 72 75 63 74 73 20 61 20 6e 65 77 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e | tructs.a.new.<a.href="#Vectors"> |
| 84d40 | 76 65 63 74 6f 72 3c 2f 61 3e 20 62 79 20 73 65 6c 65 63 74 69 6e 67 20 65 6c 65 6d 65 6e 74 73 | vector</a>.by.selecting.elements |
| 84d60 | 20 66 72 6f 6d 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 3c 2f 63 6f 64 65 3e | .from.<code.class="zig">a</code> |
| 84d80 | 20 61 6e 64 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 3c 2f | .and.......<code.class="zig">b</ |
| 84da0 | 63 6f 64 65 3e 20 62 61 73 65 64 20 6f 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | code>.based.on.<code.class="zig" |
| 84dc0 | 3e 6d 61 73 6b 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c | >mask</code>........</p>.......< |
| 84de0 | 70 3e 0a 20 20 20 20 20 20 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 69 6e 20 3c 63 6f 64 65 20 63 | p>.......Each.element.in.<code.c |
| 84e00 | 6c 61 73 73 3d 22 7a 69 67 22 3e 6d 61 73 6b 3c 2f 63 6f 64 65 3e 20 73 65 6c 65 63 74 73 20 61 | lass="zig">mask</code>.selects.a |
| 84e20 | 6e 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 65 69 74 68 65 72 20 3c 63 6f 64 65 20 63 6c 61 73 | n.element.from.either.<code.clas |
| 84e40 | 73 3d 22 7a 69 67 22 3e 61 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 | s="zig">a</code>.or.......<code. |
| 84e60 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 3c 2f 63 6f 64 65 3e 2e 20 50 6f 73 69 74 69 76 65 20 6e | class="zig">b</code>..Positive.n |
| 84e80 | 75 6d 62 65 72 73 20 73 65 6c 65 63 74 20 66 72 6f 6d 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | umbers.select.from.<code.class=" |
| 84ea0 | 7a 69 67 22 3e 61 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 | zig">a</code>.starting.at.0..... |
| 84ec0 | 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.< |
| 84ee0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 3c 2f 63 6f 64 65 3e 2c 20 73 74 61 72 74 | code.class="zig">b</code>,.start |
| 84f00 | 69 6e 67 20 61 74 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2d 3c 73 70 61 6e 20 | ing.at.<code.class="zig">-<span. |
| 84f20 | 63 6c 61 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 63 6f 64 | class="tok-number">1</span></cod |
| 84f40 | 65 3e 20 61 6e 64 20 67 6f 69 6e 67 20 64 6f 77 6e 2e 0a 20 20 20 20 20 20 49 74 20 69 73 20 72 | e>.and.going.down........It.is.r |
| 84f60 | 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 75 73 65 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 | ecommended.to.use.the.<code.clas |
| 84f80 | 73 3d 22 7a 69 67 22 3e 7e 3c 2f 63 6f 64 65 3e 20 6f 70 65 72 61 74 6f 72 20 66 72 6f 6d 20 69 | s="zig">~</code>.operator.from.i |
| 84fa0 | 6e 64 65 78 65 73 20 66 72 6f 6d 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 3c | ndexes.from.<code.class="zig">b< |
| 84fc0 | 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 73 6f 20 74 68 61 74 20 62 6f 74 68 20 69 6e 64 65 78 65 | /code>.......so.that.both.indexe |
| 84fe0 | 73 20 63 61 6e 20 73 74 61 72 74 20 66 72 6f 6d 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | s.can.start.from.<code.class="zi |
| 85000 | 67 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 | g"><span.class="tok-number">0</s |
| 85020 | 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 28 69 2e 65 2e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | pan></code>.(i.e..<code.class="z |
| 85040 | 69 67 22 3e 7e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 | ig">~<span.class="tok-builtin">@ |
| 85060 | 61 73 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | as</span>(<span.class="tok-type" |
| 85080 | 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 6e 75 | >i32</span>,.<span.class="tok-nu |
| 850a0 | 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 20 69 73 0a 20 20 20 20 20 20 | mber">0</span>)</code>.is....... |
| 850c0 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | <code.class="zig">-<span.class=" |
| 850e0 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 | tok-number">1</span></code>).... |
| 85100 | 20 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 61 63 | ....</p>.......<p>.......For.eac |
| 85120 | 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 6d | h.element.of.<code.class="zig">m |
| 85140 | 61 73 6b 3c 2f 63 6f 64 65 3e 2c 20 69 66 20 69 74 20 6f 72 20 74 68 65 20 73 65 6c 65 63 74 65 | ask</code>,.if.it.or.the.selecte |
| 85160 | 64 20 76 61 6c 75 65 20 66 72 6f 6d 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | d.value.from.......<code.class=" |
| 85180 | 7a 69 67 22 3e 61 3c 2f 63 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | zig">a</code>.or.<code.class="zi |
| 851a0 | 67 22 3e 62 3c 2f 63 6f 64 65 3e 20 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | g">b</code>.is.<code.class="zig" |
| 851c0 | 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 |
| 851e0 | 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 74 68 65 6e 20 74 68 65 20 | d</span></code>,.......then.the. |
| 85200 | 72 65 73 75 6c 74 69 6e 67 20 65 6c 65 6d 65 6e 74 20 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 | resulting.element.is.<code.class |
| 85220 | 3d 22 7a 69 67 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 | ="zig"><span.class="tok-null">un |
| 85240 | 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 | defined</span></code>........</p |
| 85260 | 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | >.......<p>.......<code.class="z |
| 85280 | 69 67 22 3e 61 5f 6c 65 6e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 | ig">a_len</code>.and.<code.class |
| 852a0 | 3d 22 7a 69 67 22 3e 62 5f 6c 65 6e 3c 2f 63 6f 64 65 3e 20 6d 61 79 20 64 69 66 66 65 72 20 69 | ="zig">b_len</code>.may.differ.i |
| 852c0 | 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 65 6e 74 0a | n.length..Out-of-bounds.element. |
| 852e0 | 20 20 20 20 20 20 69 6e 64 65 78 65 73 20 69 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | ......indexes.in.<code.class="zi |
| 85300 | 67 22 3e 6d 61 73 6b 3c 2f 63 6f 64 65 3e 20 72 65 73 75 6c 74 20 69 6e 20 63 6f 6d 70 69 6c 65 | g">mask</code>.result.in.compile |
| 85320 | 20 65 72 72 6f 72 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 | .errors........</p>.......<p>... |
| 85340 | 20 20 20 20 49 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 3c 2f 63 6f 64 65 | ....If.<code.class="zig">a</code |
| 85360 | 3e 20 6f 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 62 3c 2f 63 6f 64 65 3e 20 | >.or.<code.class="zig">b</code>. |
| 85380 | 69 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | is.<code.class="zig"><span.class |
| 853a0 | 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 63 6f | ="tok-null">undefined</span></co |
| 853c0 | 64 65 3e 2c 20 69 74 0a 20 20 20 20 20 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 | de>,.it.......is.equivalent.to.a |
| 853e0 | 20 76 65 63 74 6f 72 20 6f 66 20 61 6c 6c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | .vector.of.all.<code.class="zig" |
| 85400 | 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 |
| 85420 | 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6c 65 | d</span></code>.with.the.same.le |
| 85440 | 6e 67 74 68 20 61 73 20 74 68 65 20 6f 74 68 65 72 20 76 65 63 74 6f 72 2e 0a 20 20 20 20 20 20 | ngth.as.the.other.vector........ |
| 85460 | 49 66 20 62 6f 74 68 20 76 65 63 74 6f 72 73 20 61 72 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d | If.both.vectors.are.<code.class= |
| 85480 | 22 7a 69 67 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 | "zig"><span.class="tok-null">und |
| 854a0 | 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 20 63 6c 61 73 | efined</span></code>,.<code.clas |
| 854c0 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-builtin |
| 854e0 | 22 3e 40 73 68 75 66 66 6c 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 72 65 74 75 72 6e 73 | ">@shuffle</span></code>.returns |
| 85500 | 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 6c 65 6d 65 6e 74 | .......a.vector.with.all.element |
| 85520 | 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | s.<code.class="zig"><span.class= |
| 85540 | 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 63 6f 64 | "tok-null">undefined</span></cod |
| 85560 | 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 3c | e>........</p>.......<p>.......< |
| 85580 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 45 3c 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 | code.class="zig">E</code>.must.b |
| 855a0 | 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 65 72 | e.an.<a.href="#Integers">integer |
| 855c0 | 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 2f 61 | </a>,.<a.href="#Floats">float</a |
| 855e0 | 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 6f 69 | >,.......<a.href="#Pointers">poi |
| 85600 | 6e 74 65 72 3c 2f 61 3e 2c 20 6f 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | nter</a>,.or.<code.class="zig">< |
| 85620 | 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 |
| 85640 | 3e 3c 2f 63 6f 64 65 3e 2e 20 54 68 65 20 6d 61 73 6b 20 6d 61 79 20 62 65 20 61 6e 79 20 76 65 | ></code>..The.mask.may.be.any.ve |
| 85660 | 63 74 6f 72 20 6c 65 6e 67 74 68 2c 20 61 6e 64 20 69 74 73 0a 20 20 20 20 20 20 6c 65 6e 67 74 | ctor.length,.and.its.......lengt |
| 85680 | 68 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 72 65 73 75 6c 74 20 6c 65 6e 67 74 68 2e 0a | h.determines.the.result.length.. |
| 856a0 | 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 |
| 856c0 | 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 53 49 4d 44 22 3e 53 49 4d 44 3c 2f | ><ul>.<li><a.href="#SIMD">SIMD</ |
| 856e0 | 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 32 | a></li>.</ul>................<h2 |
| 85700 | 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 63 2d 73 69 7a 65 4f | .id="sizeOf"><a.href="#toc-sizeO |
| 85720 | 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 68 64 72 22 20 68 72 | f">@sizeOf</a>.<a.class="hdr".hr |
| 85740 | 65 66 3d 22 23 73 69 7a 65 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 | ef="#sizeOf">..</a></h2>........ |
| 85760 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | <pre><code.class="zig"><span.cla |
| 85780 | 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 61 6e 3e 28 | ss="tok-builtin">@sizeOf</span>( |
| 857a0 | 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 |
| 857c0 | 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 |
| 857e0 | 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | ype</span>).<span.class="tok-typ |
| 85800 | 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 | e">comptime_int</span></code></p |
| 85820 | 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 |
| 85840 | 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 62 79 74 65 73 20 69 74 | n.returns.the.number.of.bytes.it |
| 85860 | 20 74 61 6b 65 73 20 74 6f 20 73 74 6f 72 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | .takes.to.store.<code.class="zig |
| 85880 | 22 3e 54 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 68 65 20 | ">T</code>.in.memory........The. |
| 858a0 | 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 6f 6d 70 | result.is.a.target-specific.comp |
| 858c0 | 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 0a 20 20 | ile.time.constant........</p>... |
| 858e0 | 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 6f 6e 74 | ....<p>.......This.size.may.cont |
| 85900 | 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 65 72 65 | ain.padding.bytes..If.there.were |
| 85920 | 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 20 74 68 | .two.consecutive.T.in.memory,.th |
| 85940 | 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 69 6e 20 | is.would.be.the.offset.......in. |
| 85960 | 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 78 20 30 | bytes.between.element.at.index.0 |
| 85980 | 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 46 6f 72 | .and.the.element.at.index.1..For |
| 859a0 | 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> |
| 859c0 | 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 77 61 6e | ,.......consider.whether.you.wan |
| 859e0 | 74 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | t.to.use.<code.class="zig"><span |
| 85a00 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 7a 65 4f 66 3c 2f 73 70 | .class="tok-builtin">@sizeOf</sp |
| 85a20 | 61 6e 3e 28 54 29 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 | an>(T)</code>.or.......<code.cla |
| 85a40 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-builti |
| 85a60 | 6e 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 73 70 61 6e 3e 28 54 29 2e 49 6e 74 2e 62 69 74 73 3c | n">@typeInfo</span>(T).Int.bits< |
| 85a80 | 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>.... |
| 85aa0 | 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 65 61 73 75 72 65 73 20 74 68 65 20 73 69 | ...This.function.measures.the.si |
| 85ac0 | 7a 65 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 46 6f 72 20 74 79 70 65 73 20 74 68 61 74 20 61 72 | ze.at.runtime..For.types.that.ar |
| 85ae0 | 65 20 64 69 73 61 6c 6c 6f 77 65 64 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 73 75 63 68 20 61 73 | e.disallowed.at.runtime,.such.as |
| 85b00 | 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | .......<code.class="zig"><span.c |
| 85b20 | 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 6f 6d 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 | lass="tok-type">comptime_int</sp |
| 85b40 | 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | an></code>.and.<code.class="zig" |
| 85b60 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 | ><span.class="tok-type">type</sp |
| 85b80 | 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 3c 63 6f 64 65 20 | an></code>,.the.result.is.<code. |
| 85ba0 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d | class="zig"><span.class="tok-num |
| 85bc0 | 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e | ber">0</span></code>........</p> |
| 85be0 | 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> |
| 85c00 | 3c 61 20 68 72 65 66 3d 22 23 62 69 74 53 69 7a 65 4f 66 22 3e 40 62 69 74 53 69 7a 65 4f 66 3c | <a.href="#bitSizeOf">@bitSizeOf< |
| 85c20 | 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 | /a></li>.<li><a.href="#typeInfo" |
| 85c40 | 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 | >@typeInfo</a></li>.</ul>....... |
| 85c60 | 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 70 6c 61 74 22 3e 3c 61 20 68 72 65 66 3d | .........<h2.id="splat"><a.href= |
| 85c80 | 22 23 74 6f 63 2d 73 70 6c 61 74 22 3e 40 73 70 6c 61 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 | "#toc-splat">@splat</a>.<a.class |
| 85ca0 | 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 70 6c 61 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e | ="hdr".href="#splat">..</a></h2> |
| 85cc0 | 0a 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 7a 69 67 22 3e 3c | ........<pre><code.class="zig">< |
| 85ce0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 6c 61 74 3c | span.class="tok-builtin">@splat< |
| 85d00 | 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 | /span>(<span.class="tok-kw">comp |
| 85d20 | 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | time</span>.len:.<span.class="to |
| 85d40 | 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 73 63 61 6c 61 72 3a 20 3c 73 70 61 | k-type">u32</span>,.scalar:.<spa |
| 85d60 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 | n.class="tok-kw">var</span>).<sp |
| 85d80 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f | an.class="tok-builtin">@Vector</ |
| 85da0 | 73 70 61 6e 3e 28 6c 65 6e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | span>(len,.<span.class="tok-buil |
| 85dc0 | 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 73 63 61 6c 61 72 29 29 3c 2f 63 6f | tin">@TypeOf</span>(scalar))</co |
| 85de0 | 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 75 63 | de></pre>.......<p>.......Produc |
| 85e00 | 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 20 63 6c 61 73 | es.a.vector.of.length.<code.clas |
| 85e20 | 73 3d 22 7a 69 67 22 3e 6c 65 6e 3c 2f 63 6f 64 65 3e 20 77 68 65 72 65 20 65 61 63 68 20 65 6c | s="zig">len</code>.where.each.el |
| 85e40 | 65 6d 65 6e 74 20 69 73 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 | ement.is.the.value.......<code.c |
| 85e60 | 6c 61 73 73 3d 22 7a 69 67 22 3e 73 63 61 6c 61 72 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 | lass="zig">scalar</code>:....... |
| 85e80 | 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e | </p>.......<p.class="file">test. |
| 85ea0 | 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | zig</p><pre><code.class="zig"><s |
| 85ec0 | 70 61 6e 20 63 6c 61 73 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>. |
| 85ee0 | 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"> |
| 85f00 | 40 69 6d 70 6f 72 74 3c 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- |
| 85f20 | 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 | str">"std"</span>);.<s |
| 85f40 | 70 61 6e 20 63 6c 61 73 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>. |
| 85f60 | 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 | assert.=.std.debug.assert;..<spa |
| 85f80 | 6e 20 63 6c 61 73 73 3d 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 |
| 85fa0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 65 63 74 6f 72 20 | an.class="tok-str">"vector. |
| 85fc0 | 40 73 70 6c 61 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 | @splat"</span>.{.....<span. |
| 85fe0 | 63 6c 61 73 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 63 61 6c | class="tok-kw">const</span>.scal |
| 86000 | 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 75 33 32 3c 2f | ar:.<span.class="tok-type">u32</ |
| 86020 | 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" |
| 86040 | 3e 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >5</span>;.....<span.class="tok- |
| 86060 | 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 | kw">const</span>.result.=.<span. |
| 86080 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 70 6c 61 74 3c 2f 73 70 61 6e | class="tok-builtin">@splat</span |
| 860a0 | 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 | >(<span.class="tok-number">4</sp |
| 860c0 | 61 6e 3e 2c 20 73 63 61 6c 61 72 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | an>,.scalar);.....<span.class="t |
| 860e0 | 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 28 3c 73 | ok-kw">comptime</span>.assert(<s |
| 86100 | 70 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< |
| 86120 | 2f 73 70 61 6e 3e 28 72 65 73 75 6c 74 29 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | /span>(result).==.<span.class="t |
| 86140 | 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e | ok-builtin">@Vector</span>(<span |
| 86160 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 2c 20 3c 73 | .class="tok-number">4</span>,.<s |
| 86180 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 29 | pan.class="tok-type">u32</span>) |
| 861a0 | 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 | );.....assert(std.mem.eql(<span. |
| 861c0 | 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 26 61 6d | class="tok-type">u32</span>,.&am |
| 861e0 | 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 61 73 3c | p;<span.class="tok-builtin">@as< |
| 86200 | 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 65 72 22 | /span>([<span.class="tok-number" |
| 86220 | 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 65 22 | >4</span>]<span.class="tok-type" |
| 86240 | 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 5d 3c 73 | >u32</span>,.result),.&[_]<s |
| 86260 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 7b | pan.class="tok-type">u32</span>{ |
| 86280 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 | .<span.class="tok-number">5</spa |
| 862a0 | 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f | n>,.<span.class="tok-number">5</ |
| 862c0 | 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"> |
| 862e0 | 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 |
| 86300 | 72 22 3e 35 3c 2f 73 70 61 6e 3e 20 7d 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c | r">5</span>.}));.}</code></pre>< |
| 86320 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 | pre><code.class="shell">$.zig.te |
| 86340 | 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 76 65 63 74 6f | st.test.zig.1/1.test."vecto |
| 86360 | 72 20 40 73 70 6c 61 74 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 | r.@splat"...OK.All.1.tests. |
| 86380 | 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e | passed..</code></pre>........<p> |
| 863a0 | 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 63 61 6c 61 72 3c | .......<code.class="zig">scalar< |
| 863c0 | 2f 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 | /code>.must.be.an.<a.href="#Inte |
| 863e0 | 67 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 50 72 69 | gers">integer</a>,.<a.href="#Pri |
| 86400 | 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 62 6f 6f 6c 3c 2f 61 3e 2c 0a 20 20 20 20 20 20 3c 61 | mitive-Types">bool</a>,.......<a |
| 86420 | 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 66 6c 6f 61 74 3c 2f 61 3e 2c 20 6f 72 20 3c 61 | .href="#Floats">float</a>,.or.<a |
| 86440 | 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 0a 20 | .href="#Pointers">pointer</a>... |
| 86460 | 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> |
| 86480 | 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 63 74 | <ul>.<li><a.href="#Vectors">Vect |
| 864a0 | 6f 72 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 68 75 66 66 | ors</a></li>.<li><a.href="#shuff |
| 864c0 | 6c 65 22 3e 40 73 68 75 66 66 6c 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 | le">@shuffle</a></li>.</ul>..... |
| 864e0 | 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 71 72 74 22 3e 3c 61 20 68 72 65 66 | ...........<h2.id="sqrt"><a.href |
| 86500 | 3d 22 23 74 6f 63 2d 73 71 72 74 22 3e 40 73 71 72 74 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d | ="#toc-sqrt">@sqrt</a>.<a.class= |
| 86520 | 22 68 64 72 22 20 68 72 65 66 3d 22 23 73 71 72 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a | "hdr".href="#sqrt">..</a></h2>.. |
| 86540 | 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ......<pre><code.class="zig"><sp |
| 86560 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 71 72 74 3c 2f 73 70 | an.class="tok-builtin">@sqrt</sp |
| 86580 | 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | an>(value:.<span.class="tok-kw"> |
| 865a0 | 76 61 72 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 | var</span>).<span.class="tok-bui |
| 865c0 | 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 63 6f 64 | ltin">@TypeOf</span>(value)</cod |
| 865e0 | 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 |
| 86600 | 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 6f 61 74 69 6e 67 20 | s.the.square.root.of.a.floating. |
| 86620 | 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 20 68 | point.number..Uses.a.dedicated.h |
| 86640 | 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 | ardware.instruction.......when.a |
| 86660 | 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>.. |
| 86680 | 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"> |
| 866a0 | 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 |
| 866c0 | 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 |
| 866e0 | 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 |
| 86700 | 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 |
| 86720 | 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 |
| 86740 | 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 |
| 86760 | 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>...... |
| 86780 | 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 69 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 | ........<h2.id="sin"><a.href="#t |
| 867a0 | 6f 63 2d 73 69 6e 22 3e 40 73 69 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 | oc-sin">@sin</a>.<a.class="hdr". |
| 867c0 | 68 72 65 66 3d 22 23 73 69 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c | href="#sin">..</a></h2>........< |
| 867e0 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | pre><code.class="zig"><span.clas |
| 86800 | 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 69 6e 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 | s="tok-builtin">@sin</span>(valu |
| 86820 | 65 3a 20 3c 73 70 61 6e 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 |
| 86840 | 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 |
| 86860 | 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | ypeOf</span>(value)</code></pre> |
| 86880 | 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 69 6e 65 20 74 72 69 67 6f 6d 65 74 72 69 | .......<p>.......Sine.trigometri |
| 868a0 | 63 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e | c.function.on.a.floating.point.n |
| 868c0 | 75 6d 62 65 72 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 | umber..Uses.a.dedicated.hardware |
| 868e0 | 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c | .instruction.......when.availabl |
| 86900 | 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 | e........</p>.......<p>.......Su |
| 86920 | 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c | pports.<a.href="#Floats">Floats< |
| 86940 | 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f | /a>.and.<a.href="#Vectors">Vecto |
| 86960 | 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 | rs</a>.of.floats,.with.the.cavea |
| 86980 | 74 20 74 68 61 74 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 | t.that.......<a.href="https://gi |
| 869a0 | 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 | thub.com/ziglang/zig/issues/4026 |
| 869c0 | 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 | ">some.float.operations.are.not. |
| 869e0 | 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 | yet.implemented.for.all.float.ty |
| 86a00 | 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 | pes</a>........</p>............. |
| 86a20 | 20 3c 68 32 20 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 | .<h2.id="cos"><a.href="#toc-cos" |
| 86a40 | 3e 40 63 6f 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 | >@cos</a>.<a.class="hdr".href="# |
| 86a60 | 63 6f 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f | cos">..</a></h2>........<pre><co |
| 86a80 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 86aa0 | 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 70 61 | builtin">@cos</span>(value:.<spa |
| 86ac0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 | n.class="tok-kw">var</span>).<sp |
| 86ae0 | 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</ |
| 86b00 | 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 | span>(value)</code></pre>....... |
| 86b20 | 3c 70 3e 0a 20 20 20 20 20 20 43 6f 73 69 6e 65 20 74 72 69 67 6f 6d 65 74 72 69 63 20 66 75 6e | <p>.......Cosine.trigometric.fun |
| 86b40 | 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 |
| 86b60 | 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 |
| 86b80 | 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.... |
| 86ba0 | 20 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 |
| 86bc0 | 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 |
| 86be0 | 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 |
| 86c00 | 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 |
| 86c20 | 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. |
| 86c40 | 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 |
| 86c60 | 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 |
| 86c80 | 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</ |
| 86ca0 | 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 32 20 | a>........</p>..............<h2. |
| 86cc0 | 69 64 3d 22 65 78 70 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 65 78 70 22 3e 40 65 78 70 | id="exp"><a.href="#toc-exp">@exp |
| 86ce0 | 3c 2f 61 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 22 3e | </a>.<a.class="hdr".href="#exp"> |
| 86d00 | c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | ..</a></h2>........<pre><code.cl |
| 86d20 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 | ass="zig"><span.class="tok-built |
| 86d40 | 69 6e 22 3e 40 65 78 70 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 | in">@exp</span>(value:.<span.cla |
| 86d60 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c | ss="tok-kw">var</span>).<span.cl |
| 86d80 | 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e | ass="tok-builtin">@TypeOf</span> |
| 86da0 | 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 | (value)</code></pre>.......<p>.. |
| 86dc0 | 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 6e | .....Base-e.exponential.function |
| 86de0 | 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 | .on.a.floating.point.number..Use |
| 86e00 | 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 | s.a.dedicated.hardware.instructi |
| 86e20 | 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c | on.......when.available........< |
| 86e40 | 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 | /p>.......<p>.......Supports.<a. |
| 86e60 | 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 | href="#Floats">Floats</a>.and.<a |
| 86e80 | 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 | .href="#Vectors">Vectors</a>.of. |
| 86ea0 | 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 | floats,.with.the.caveat.that.... |
| 86ec0 | 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a | ...<a.href="https://github.com/z |
| 86ee0 | 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f | iglang/zig/issues/4026">some.flo |
| 86f00 | 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d | at.operations.are.not.yet.implem |
| 86f20 | 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 | ented.for.all.float.types</a>... |
| 86f40 | 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 32 20 69 64 3d 22 65 | .....</p>..............<h2.id="e |
| 86f60 | 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 2f | xp2"><a.href="#toc-exp2">@exp2</ |
| 86f80 | 61 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 c2 | a>.<a.class="hdr".href="#exp2">. |
| 86fa0 | a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | .</a></h2>........<pre><code.cla |
| 86fc0 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-builti |
| 86fe0 | 6e 22 3e 40 65 78 70 32 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 | n">@exp2</span>(value:.<span.cla |
| 87000 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c | ss="tok-kw">var</span>).<span.cl |
| 87020 | 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e | ass="tok-builtin">@TypeOf</span> |
| 87040 | 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 | (value)</code></pre>.......<p>.. |
| 87060 | 20 20 20 20 20 42 61 73 65 2d 32 20 65 78 70 6f 6e 65 6e 74 69 61 6c 20 66 75 6e 63 74 69 6f 6e | .....Base-2.exponential.function |
| 87080 | 20 6f 6e 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 | .on.a.floating.point.number..Use |
| 870a0 | 73 20 61 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 | s.a.dedicated.hardware.instructi |
| 870c0 | 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c | on.......when.available........< |
| 870e0 | 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 | /p>.......<p>.......Supports.<a. |
| 87100 | 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 | href="#Floats">Floats</a>.and.<a |
| 87120 | 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 | .href="#Vectors">Vectors</a>.of. |
| 87140 | 66 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 | floats,.with.the.caveat.that.... |
| 87160 | 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a | ...<a.href="https://github.com/z |
| 87180 | 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f | iglang/zig/issues/4026">some.flo |
| 871a0 | 61 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d | at.operations.are.not.yet.implem |
| 871c0 | 65 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 | ented.for.all.float.types</a>... |
| 871e0 | 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 32 20 69 64 3d 22 6c | .....</p>..............<h2.id="l |
| 87200 | 6f 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6c 6f 67 22 3e 40 6c 6f 67 3c 2f 61 3e 20 | og"><a.href="#toc-log">@log</a>. |
| 87220 | 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 22 3e c2 a7 3c 2f 61 | <a.class="hdr".href="#log">..</a |
| 87240 | 3e 3c 2f 68 32 3e 0a 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 | ></h2>........<pre><code.class=" |
| 87260 | 7a 69 67 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 | zig"><span.class="tok-builtin">@ |
| 87280 | 6c 6f 67 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 | log</span>(value:.<span.class="t |
| 872a0 | 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ok-kw">var</span>).<span.class=" |
| 872c0 | 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 | tok-builtin">@TypeOf</span>(valu |
| 872e0 | 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 | e)</code></pre>.......<p>....... |
| 87300 | 52 65 74 75 72 6e 73 20 74 68 65 20 6e 61 74 75 72 61 6c 20 6c 6f 67 61 72 69 74 68 6d 20 6f 66 | Returns.the.natural.logarithm.of |
| 87320 | 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 20 55 73 65 73 20 61 | .a.floating.point.number..Uses.a |
| 87340 | 20 64 65 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a | .dedicated.hardware.instruction. |
| 87360 | 20 20 20 20 20 20 77 68 65 6e 20 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e | ......when.available........</p> |
| 87380 | 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 | .......<p>.......Supports.<a.hre |
| 873a0 | 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 | f="#Floats">Floats</a>.and.<a.hr |
| 873c0 | 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 6c 6f | ef="#Vectors">Vectors</a>.of.flo |
| 873e0 | 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 20 20 | ats,.with.the.caveat.that....... |
| 87400 | 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 |
| 87420 | 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 74 20 | ang/zig/issues/4026">some.float. |
| 87440 | 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 6e 74 | operations.are.not.yet.implement |
| 87460 | 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 | ed.for.all.float.types</a>...... |
| 87480 | 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 6c 6f 67 32 | ..</p>..............<h2.id="log2 |
| 874a0 | 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6c 6f 67 32 22 3e 40 6c 6f 67 32 3c 2f 61 3e 20 | "><a.href="#toc-log2">@log2</a>. |
| 874c0 | 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 6c 6f 67 32 22 3e c2 a7 3c 2f | <a.class="hdr".href="#log2">..</ |
| 874e0 | 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | a></h2>........<pre><code.class= |
| 87500 | 22 7a 69 67 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 | "zig"><span.class="tok-builtin"> |
| 87520 | 40 6c 6f 67 32 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | @log2</span>(value:.<span.class= |
| 87540 | 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 | "tok-kw">var</span>).<span.class |
| 87560 | 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 |
| 87580 | 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 | lue)</code></pre>.......<p>..... |
| 875a0 | 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6c 6f 67 61 72 69 74 68 6d 20 74 6f 20 74 68 65 20 62 | ..Returns.the.logarithm.to.the.b |
| 875c0 | 61 73 65 20 32 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 | ase.2.of.a.floating.point.number |
| 875e0 | 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 |
| 87600 | 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.... |
| 87620 | 20 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 |
| 87640 | 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 |
| 87660 | 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 |
| 87680 | 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 |
| 876a0 | 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. |
| 876c0 | 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 |
| 876e0 | 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 |
| 87700 | 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</ |
| 87720 | 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 32 20 | a>........</p>..............<h2. |
| 87740 | 69 64 3d 22 6c 6f 67 31 30 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 6c 6f 67 31 30 22 3e | id="log10"><a.href="#toc-log10"> |
| 87760 | 40 6c 6f 67 31 30 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 | @log10</a>.<a.class="hdr".href=" |
| 87780 | 23 6c 6f 67 31 30 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e | #log10">..</a></h2>........<pre> |
| 877a0 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| 877c0 | 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 6c 6f 67 31 30 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a | ok-builtin">@log10</span>(value: |
| 877e0 | 20 3c 73 70 61 6e 20 63 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> |
| 87800 | 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 |
| 87820 | 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 | eOf</span>(value)</code></pre>.. |
| 87840 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 6c 6f 67 61 72 | .....<p>.......Returns.the.logar |
| 87860 | 69 74 68 6d 20 74 6f 20 74 68 65 20 62 61 73 65 20 31 30 20 6f 66 20 61 20 66 6c 6f 61 74 69 6e | ithm.to.the.base.10.of.a.floatin |
| 87880 | 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 |
| 878a0 | 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 |
| 878c0 | 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> |
| 878e0 | 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 |
| 87900 | 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 |
| 87920 | 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. |
| 87940 | 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 |
| 87960 | 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 |
| 87980 | 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 |
| 879a0 | 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 |
| 879c0 | 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>.... |
| 879e0 | 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 66 61 62 73 22 3e 3c 61 20 68 72 65 66 3d | ..........<h2.id="fabs"><a.href= |
| 87a00 | 22 23 74 6f 63 2d 66 61 62 73 22 3e 40 66 61 62 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 | "#toc-fabs">@fabs</a>.<a.class=" |
| 87a20 | 68 64 72 22 20 68 72 65 66 3d 22 23 66 61 62 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 | hdr".href="#fabs">..</a></h2>... |
| 87a40 | 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | .....<pre><code.class="zig"><spa |
| 87a60 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 66 61 62 73 3c 2f 73 70 61 | n.class="tok-builtin">@fabs</spa |
| 87a80 | 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 | n>(value:.<span.class="tok-kw">v |
| 87aa0 | 61 72 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | ar</span>).<span.class="tok-buil |
| 87ac0 | 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 63 6f 64 65 | tin">@TypeOf</span>(value)</code |
| 87ae0 | 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. |
| 87b00 | 74 68 65 20 61 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 | the.absolute.value.of.a.floating |
| 87b20 | 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 20 | .point.number..Uses.a.dedicated. |
| 87b40 | 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 | hardware.instruction.......when. |
| 87b60 | 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a | available........</p>.......<p>. |
| 87b80 | 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 | ......Supports.<a.href="#Floats" |
| 87ba0 | 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 | >Floats</a>.and.<a.href="#Vector |
| 87bc0 | 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 74 | s">Vectors</a>.of.floats,.with.t |
| 87be0 | 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 74 | he.caveat.that.......<a.href="ht |
| 87c00 | 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 | tps://github.com/ziglang/zig/iss |
| 87c20 | 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 20 | ues/4026">some.float.operations. |
| 87c40 | 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 20 | are.not.yet.implemented.for.all. |
| 87c60 | 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 20 | float.types</a>........</p>..... |
| 87c80 | 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 66 6c 6f 6f 72 22 3e 3c 61 20 68 72 65 66 3d | .........<h2.id="floor"><a.href= |
| 87ca0 | 22 23 74 6f 63 2d 66 6c 6f 6f 72 22 3e 40 66 6c 6f 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 | "#toc-floor">@floor</a>.<a.class |
| 87cc0 | 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 66 6c 6f 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e | ="hdr".href="#floor">..</a></h2> |
| 87ce0 | 0a 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 7a 69 67 22 3e 3c | ........<pre><code.class="zig">< |
| 87d00 | 73 70 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 72 3c | span.class="tok-builtin">@floor< |
| 87d20 | 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 6b | /span>(value:.<span.class="tok-k |
| 87d40 | 77 22 3e 76 61 72 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 | w">var</span>).<span.class="tok- |
| 87d60 | 62 75 69 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f | builtin">@TypeOf</span>(value)</ |
| 87d80 | 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 75 | code></pre>.......<p>.......Retu |
| 87da0 | 72 6e 73 20 74 68 65 20 6c 61 72 67 65 73 74 20 69 6e 74 65 67 72 61 6c 20 76 61 6c 75 65 20 6e | rns.the.largest.integral.value.n |
| 87dc0 | 6f 74 20 67 72 65 61 74 65 72 20 74 68 61 6e 20 74 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 | ot.greater.than.the.given.floati |
| 87de0 | 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 20 20 20 20 20 20 55 73 65 73 20 61 20 64 65 | ng.point.number........Uses.a.de |
| 87e00 | 64 69 63 61 74 65 64 20 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 20 77 68 65 | dicated.hardware.instruction.whe |
| 87e20 | 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 |
| 87e40 | 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 |
| 87e60 | 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 |
| 87e80 | 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 |
| 87ea0 | 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=" |
| 87ec0 | 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 |
| 87ee0 | 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 |
| 87f00 | 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 |
| 87f20 | 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>... |
| 87f40 | 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 63 65 69 6c 22 3e 3c 61 20 68 72 65 66 | ...........<h2.id="ceil"><a.href |
| 87f60 | 3d 22 23 74 6f 63 2d 63 65 69 6c 22 3e 40 63 65 69 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d | ="#toc-ceil">@ceil</a>.<a.class= |
| 87f80 | 22 68 64 72 22 20 68 72 65 66 3d 22 23 63 65 69 6c 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a | "hdr".href="#ceil">..</a></h2>.. |
| 87fa0 | 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ......<pre><code.class="zig"><sp |
| 87fc0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 65 69 6c 3c 2f 73 70 | an.class="tok-builtin">@ceil</sp |
| 87fe0 | 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | an>(value:.<span.class="tok-kw"> |
| 88000 | 76 61 72 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 | var</span>).<span.class="tok-bui |
| 88020 | 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 63 6f 64 | ltin">@TypeOf</span>(value)</cod |
| 88040 | 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 |
| 88060 | 20 74 68 65 20 6c 61 72 67 65 73 74 20 69 6e 74 65 67 72 61 6c 20 76 61 6c 75 65 20 6e 6f 74 20 | .the.largest.integral.value.not. |
| 88080 | 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 |
| 880a0 | 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 |
| 880c0 | 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 |
| 880e0 | 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>..... |
| 88100 | 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 |
| 88120 | 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 |
| 88140 | 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 |
| 88160 | 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: |
| 88180 | 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/ |
| 881a0 | 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. |
| 881c0 | 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 |
| 881e0 | 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>......... |
| 88200 | 20 20 20 20 20 3c 68 32 20 69 64 3d 22 74 72 75 6e 63 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f | .....<h2.id="trunc"><a.href="#to |
| 88220 | 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 |
| 88240 | 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 32 3e 0a 0a 20 20 | r".href="#trunc">..</a></h2>.... |
| 88260 | 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | ....<pre><code.class="zig"><span |
| 88280 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 3c 2f 73 70 61 | .class="tok-builtin">@trunc</spa |
| 882a0 | 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 | n>(value:.<span.class="tok-kw">v |
| 882c0 | 61 72 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | ar</span>).<span.class="tok-buil |
| 882e0 | 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 63 6f 64 65 | tin">@TypeOf</span>(value)</code |
| 88300 | 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 6f 75 6e 64 73 20 74 | ></pre>.......<p>.......Rounds.t |
| 88320 | 68 65 20 67 69 76 65 6e 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 20 74 | he.given.floating.point.number.t |
| 88340 | 6f 20 61 6e 20 69 6e 74 65 67 65 72 2c 20 74 6f 77 61 72 64 73 20 7a 65 72 6f 2e 0a 20 20 20 20 | o.an.integer,.towards.zero...... |
| 88360 | 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 73 74 | ..Uses.a.dedicated.hardware.inst |
| 88380 | 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 3c 2f | ruction.when.available........</ |
| 883a0 | 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 | p>.......<p>.......Supports.<a.h |
| 883c0 | 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 | ref="#Floats">Floats</a>.and.<a. |
| 883e0 | 68 72 65 66 3d 22 23 56 65 63 74 6f 72 73 22 3e 56 65 63 74 6f 72 73 3c 2f 61 3e 20 6f 66 20 66 | href="#Vectors">Vectors</a>.of.f |
| 88400 | 6c 6f 61 74 73 2c 20 77 69 74 68 20 74 68 65 20 63 61 76 65 61 74 20 74 68 61 74 0a 20 20 20 20 | loats,.with.the.caveat.that..... |
| 88420 | 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 | ..<a.href="https://github.com/zi |
| 88440 | 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 34 30 32 36 22 3e 73 6f 6d 65 20 66 6c 6f 61 | glang/zig/issues/4026">some.floa |
| 88460 | 74 20 6f 70 65 72 61 74 69 6f 6e 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 69 6d 70 6c 65 6d 65 | t.operations.are.not.yet.impleme |
| 88480 | 6e 74 65 64 20 66 6f 72 20 61 6c 6c 20 66 6c 6f 61 74 20 74 79 70 65 73 3c 2f 61 3e 2e 0a 20 20 | nted.for.all.float.types</a>.... |
| 884a0 | 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 72 6f | ....</p>..............<h2.id="ro |
| 884c0 | 75 6e 64 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 72 6f 75 6e 64 22 3e 40 72 6f 75 6e 64 | und"><a.href="#toc-round">@round |
| 884e0 | 3c 2f 61 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 6f 75 6e 64 | </a>.<a.class="hdr".href="#round |
| 88500 | 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 | ">..</a></h2>........<pre><code. |
| 88520 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 | class="zig"><span.class="tok-bui |
| 88540 | 6c 74 69 6e 22 3e 40 72 6f 75 6e 64 3c 2f 73 70 61 6e 3e 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e | ltin">@round</span>(value:.<span |
| 88560 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 | .class="tok-kw">var</span>).<spa |
| 88580 | 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 |
| 885a0 | 70 61 6e 3e 28 76 61 6c 75 65 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c | pan>(value)</code></pre>.......< |
| 885c0 | 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 69 | p>.......Rounds.the.given.floati |
| 885e0 | 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 61 | ng.point.number.to.an.integer,.a |
| 88600 | 77 61 79 20 66 72 6f 6d 20 7a 65 72 6f 2e 20 55 73 65 73 20 61 20 64 65 64 69 63 61 74 65 64 20 | way.from.zero..Uses.a.dedicated. |
| 88620 | 68 61 72 64 77 61 72 65 20 69 6e 73 74 72 75 63 74 69 6f 6e 0a 20 20 20 20 20 20 77 68 65 6e 20 | hardware.instruction.......when. |
| 88640 | 61 76 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a | available........</p>.......<p>. |
| 88660 | 20 20 20 20 20 20 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 22 | ......Supports.<a.href="#Floats" |
| 88680 | 3e 46 6c 6f 61 74 73 3c 2f 61 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 | >Floats</a>.and.<a.href="#Vector |
| 886a0 | 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 74 | s">Vectors</a>.of.floats,.with.t |
| 886c0 | 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 74 | he.caveat.that.......<a.href="ht |
| 886e0 | 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 | tps://github.com/ziglang/zig/iss |
| 88700 | 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 20 | ues/4026">some.float.operations. |
| 88720 | 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 20 | are.not.yet.implemented.for.all. |
| 88740 | 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 20 | float.types</a>........</p>..... |
| 88760 | 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f | ..........<h2.id="subWithOverflo |
| 88780 | 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 66 6c 6f 77 | w"><a.href="#toc-subWithOverflow |
| 887a0 | 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 61 73 73 3d | ">@subWithOverflow</a>.<a.class= |
| 887c0 | 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 22 3e c2 a7 | "hdr".href="#subWithOverflow">.. |
| 887e0 | 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | </a></h2>........<pre><code.clas |
| 88800 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-builtin |
| 88820 | 22 3e 40 73 75 62 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 | ">@subWithOverflow</span>(<span. |
| 88840 | 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 |
| 88860 | 3a 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 |
| 88880 | 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 54 29 20 3c 73 | pan>,.a:.T,.b:.T,.result:.*T).<s |
| 888a0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e | pan.class="tok-type">bool</span> |
| 888c0 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 50 65 | </code></pre>.......<p>.......Pe |
| 888e0 | 72 66 6f 72 6d 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 72 65 73 75 6c 74 2e | rforms.<code.class="zig">result. |
| 88900 | 2a 20 3d 20 61 20 2d 20 62 3c 2f 63 6f 64 65 3e 2e 20 49 66 20 6f 76 65 72 66 6c 6f 77 20 6f 72 | *.=.a.-.b</code>..If.overflow.or |
| 88920 | 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 |
| 88940 | 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 |
| 88960 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 72 65 73 75 6c 74 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 72 | .class="zig">result</code>.and.r |
| 88980 | 65 74 75 72 6e 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | eturns.<code.class="zig"><span.c |
| 889a0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 | lass="tok-null">true</span></cod |
| 889c0 | 65 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 20 6f 76 65 72 | e>....................If.no.over |
| 889e0 | 66 6c 6f 77 20 6f 72 20 75 6e 64 65 72 66 6c 6f 77 20 6f 63 63 75 72 73 2c 20 72 65 74 75 72 6e | flow.or.underflow.occurs,.return |
| 88a00 | 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | s.<code.class="zig"><span.class= |
| 88a20 | 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 0a | "tok-null">false</span></code>.. |
| 88a40 | 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d | ......</p>...............<h2.id= |
| 88a60 | 22 74 61 67 4e 61 6d 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 61 67 4e 61 6d 65 22 | "tagName"><a.href="#toc-tagName" |
| 88a80 | 3e 40 74 61 67 4e 61 6d 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 | >@tagName</a>.<a.class="hdr".hre |
| 88aa0 | 66 3d 22 23 74 61 67 4e 61 6d 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 | f="#tagName">..</a></h2>........ |
| 88ac0 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | <pre><code.class="zig"><span.cla |
| 88ae0 | 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e | ss="tok-builtin">@tagName</span> |
| 88b00 | 28 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 | (value:.<span.class="tok-kw">var |
| 88b20 | 3c 2f 73 70 61 6e 3e 29 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | </span>).[]<span.class="tok-kw"> |
| 88b40 | 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 |
| 88b60 | 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 | pe">u8</span></code></pre>...... |
| 88b80 | 20 3c 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 | .<p>.......Converts.an.enum.valu |
| 88ba0 | 65 20 6f 72 20 75 6e 69 6f 6e 20 76 61 6c 75 65 20 74 6f 20 61 20 73 6c 69 63 65 20 6f 66 20 62 | e.or.union.value.to.a.slice.of.b |
| 88bc0 | 79 74 65 73 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 | ytes.representing.the.name.</p>< |
| 88be0 | 70 3e 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 | p>If.the.enum.is.non-exhaustive. |
| 88c00 | 61 6e 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 | and.the.tag.value.does.not.map.t |
| 88c20 | 6f 20 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 | o.a.name,.it.invokes.safety-chec |
| 88c40 | 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 72 | ked.<a.href="#Undefined-Behavior |
| 88c60 | 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 | ">Undefined.Behavior</a>........ |
| 88c80 | 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 54 61 67 54 79 | </p>...............<h2.id="TagTy |
| 88ca0 | 70 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 61 67 54 79 70 65 22 3e 40 54 61 67 54 | pe"><a.href="#toc-TagType">@TagT |
| 88cc0 | 79 70 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 54 61 | ype</a>.<a.class="hdr".href="#Ta |
| 88ce0 | 67 54 79 70 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c | gType">..</a></h2>........<pre>< |
| 88d00 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 88d20 | 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 61 67 54 79 70 65 3c 2f 73 70 61 6e 3e 28 54 3a 20 3c 73 | k-builtin">@TagType</span>(T:.<s |
| 88d40 | 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> |
| 88d60 | 29 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 |
| 88d80 | 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>..... |
| 88da0 | 20 20 46 6f 72 20 61 6e 20 65 6e 75 6d 2c 20 72 65 74 75 72 6e 73 20 74 68 65 20 69 6e 74 65 67 | ..For.an.enum,.returns.the.integ |
| 88dc0 | 65 72 20 74 79 70 65 20 74 68 61 74 20 69 73 20 75 73 65 64 20 74 6f 20 73 74 6f 72 65 20 74 68 | er.type.that.is.used.to.store.th |
| 88de0 | 65 20 65 6e 75 6d 65 72 61 74 69 6f 6e 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | e.enumeration.value........</p>. |
| 88e00 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 61 20 75 6e 69 6f 6e 2c 20 72 65 74 | ......<p>.......For.a.union,.ret |
| 88e20 | 75 72 6e 73 20 74 68 65 20 65 6e 75 6d 20 74 79 70 65 20 74 68 61 74 20 69 73 20 75 73 65 64 20 | urns.the.enum.type.that.is.used. |
| 88e40 | 74 6f 20 73 74 6f 72 65 20 74 68 65 20 74 61 67 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 3c 2f | to.store.the.tag.value........</ |
| 88e60 | 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 54 68 69 73 22 3e 3c | p>...............<h2.id="This">< |
| 88e80 | 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. |
| 88ea0 | 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>< |
| 88ec0 | 2f 68 32 3e 0a 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 7a 69 | /h2>........<pre><code.class="zi |
| 88ee0 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 68 | g"><span.class="tok-builtin">@Th |
| 88f00 | 69 73 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | is</span>().<span.class="tok-typ |
| 88f20 | 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 | e">type</span></code></pre>..... |
| 88f40 | 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 74 75 72 6e 73 20 74 68 65 20 69 6e 6e 65 72 6d 6f 73 | ..<p>.......Returns.the.innermos |
| 88f60 | 74 20 73 74 72 75 63 74 20 6f 72 20 75 6e 69 6f 6e 20 74 68 61 74 20 74 68 69 73 20 66 75 6e 63 | t.struct.or.union.that.this.func |
| 88f80 | 74 69 6f 6e 20 63 61 6c 6c 20 69 73 20 69 6e 73 69 64 65 2e 0a 20 20 20 20 20 20 54 68 69 73 20 | tion.call.is.inside........This. |
| 88fa0 | 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 61 6e 20 61 6e 6f 6e 79 6d 6f 75 73 20 73 | can.be.useful.for.an.anonymous.s |
| 88fc0 | 74 72 75 63 74 20 74 68 61 74 20 6e 65 65 64 73 20 74 6f 20 72 65 66 65 72 20 74 6f 20 69 74 73 | truct.that.needs.to.refer.to.its |
| 88fe0 | 65 6c 66 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 | elf:.......</p>.......<p.class=" |
| 89000 | 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | file">test.zig</p><pre><code.cla |
| 89020 | 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | ss="zig"><span.class="tok-kw">co |
| 89040 | 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 |
| 89060 | 6b 2d 62 75 69 6c 74 69 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. |
| 89080 | 63 6c 61 73 73 3d 22 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">"std"< |
| 890a0 | 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | /span>);.<span.class="tok-kw">co |
| 890c0 | 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 | nst</span>.assert.=.std.debug.as |
| 890e0 | 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 | sert;..<span.class="tok-kw">test |
| 89100 | 3c 2f 73 70 61 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 |
| 89120 | 75 6f 74 3b 40 54 68 69 73 28 29 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c | uot;@This()"</span>.{.....< |
| 89140 | 73 70 61 6e 20 63 6c 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 |
| 89160 | 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" |
| 89180 | 3e 69 33 32 3c 2f 73 70 61 6e 3e 7b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | >i32</span>{.<span.class="tok-nu |
| 891a0 | 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 |
| 891c0 | 2d 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | -number">2</span>,.<span.class=" |
| 891e0 | 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 |
| 89200 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 3c | s="tok-number">4</span>.};.....< |
| 89220 | 73 70 61 6e 20 63 6c 61 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> |
| 89240 | 20 6c 69 73 74 20 3d 20 4c 69 73 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | .list.=.List(<span.class="tok-ty |
| 89260 | 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 7b 20 2e 69 74 65 6d 73 20 3d 20 69 74 65 6d 73 5b | pe">i32</span>){..items.=.items[ |
| 89280 | 3c 73 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 |
| 892a0 | 3e 2e 2e 5d 20 7d 3b 0a 20 20 20 20 61 73 73 65 72 74 28 6c 69 73 74 2e 6c 65 6e 67 74 68 28 29 | >..].};.....assert(list.length() |
| 892c0 | 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 3c 2f | .==.<span.class="tok-number">4</ |
| 892e0 | 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | span>);.}..<span.class="tok-kw"> |
| 89300 | 66 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c | fn</span>.<span.class="tok-fn">L |
| 89320 | 69 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ist</span>(<span.class="tok-kw"> |
| 89340 | 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | comptime</span>.T:.<span.class=" |
| 89360 | 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 | tok-type">type</span>).<span.cla |
| 89380 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | ss="tok-type">type</span>.{..... |
| 893a0 | 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 |
| 893c0 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f | n>.<span.class="tok-kw">struct</ |
| 893e0 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | span>.{.........<span.class="tok |
| 89400 | 2d 6b 77 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 | -kw">const</span>.Self.=.<span.c |
| 89420 | 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 | lass="tok-builtin">@This</span>( |
| 89440 | 29 3b 0a 0a 20 20 20 20 20 20 20 20 69 74 65 6d 73 3a 20 5b 5d 54 2c 0a 0a 20 20 20 20 20 20 20 | );..........items:.[]T,......... |
| 89460 | 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>. |
| 89480 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6c 65 6e 67 74 68 3c 2f 73 70 61 | <span.class="tok-fn">length</spa |
| 894a0 | 6e 3e 28 73 65 6c 66 3a 20 53 65 6c 66 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | n>(self:.Self).<span.class="tok- |
| 894c0 | 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 | type">usize</span>.{............ |
| 894e0 | 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 |
| 89500 | 61 6e 3e 20 73 65 6c 66 2e 69 74 65 6d 73 2e 6c 65 6e 3b 0a 20 20 20 20 20 20 20 20 7d 0a 20 20 | an>.self.items.len;.........}... |
| 89520 | 20 20 7d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | ..};.}</code></pre><pre><code.cl |
| 89540 | 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a | ass="shell">$.zig.test.test.zig. |
| 89560 | 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 40 54 68 69 73 28 29 26 71 75 6f 74 3b 2e 2e 2e 4f | 1/1.test."@This()"...O |
| 89580 | 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 | K.All.1.tests.passed..</code></p |
| 895a0 | 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 3c 63 6f 64 65 20 | re>........<p>.......When.<code. |
| 895c0 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 | class="zig"><span.class="tok-bui |
| 895e0 | 6c 74 69 6e 22 3e 40 54 68 69 73 3c 2f 73 70 61 6e 3e 28 29 3c 2f 63 6f 64 65 3e 20 69 73 20 75 | ltin">@This</span>()</code>.is.u |
| 89600 | 73 65 64 20 61 74 20 67 6c 6f 62 61 6c 20 73 63 6f 70 65 2c 20 69 74 20 72 65 74 75 72 6e 73 20 | sed.at.global.scope,.it.returns. |
| 89620 | 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 63 75 72 72 65 6e 74 | a.reference.to.the.......current |
| 89640 | 20 69 6d 70 6f 72 74 2e 20 54 68 65 72 65 20 69 73 20 61 20 70 72 6f 70 6f 73 61 6c 20 74 6f 20 | .import..There.is.a.proposal.to. |
| 89660 | 72 65 6d 6f 76 65 20 74 68 65 20 69 6d 70 6f 72 74 20 74 79 70 65 20 61 6e 64 20 75 73 65 20 61 | remove.the.import.type.and.use.a |
| 89680 | 6e 20 65 6d 70 74 79 20 73 74 72 75 63 74 0a 20 20 20 20 20 20 74 79 70 65 20 69 6e 73 74 65 61 | n.empty.struct.......type.instea |
| 896a0 | 64 2e 20 53 65 65 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 | d..See.......<a.href="https://gi |
| 896c0 | 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 31 30 34 37 | thub.com/ziglang/zig/issues/1047 |
| 896e0 | 22 3e 23 31 30 34 37 3c 2f 61 3e 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 20 20 20 20 20 20 3c | ">#1047</a>.for.details........< |
| 89700 | 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 74 72 75 6e 63 61 | /p>...............<h2.id="trunca |
| 89720 | 74 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 72 75 6e 63 61 74 65 22 3e 40 74 72 75 | te"><a.href="#toc-truncate">@tru |
| 89740 | 6e 63 61 74 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 | ncate</a>.<a.class="hdr".href="# |
| 89760 | 74 72 75 6e 63 61 74 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 | truncate">..</a></h2>........<pr |
| 89780 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e><code.class="zig"><span.class= |
| 897a0 | 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 73 70 61 6e 3e 28 3c | "tok-builtin">@truncate</span>(< |
| 897c0 | 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 |
| 897e0 | 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 |
| 89800 | 70 65 3c 2f 73 70 61 6e 3e 2c 20 69 6e 74 65 67 65 72 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | pe</span>,.integer:.<span.class= |
| 89820 | 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 29 20 54 3c 2f 63 6f 64 65 3e 3c 2f 70 | "tok-kw">var</span>).T</code></p |
| 89840 | 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 |
| 89860 | 6e 20 74 72 75 6e 63 61 74 65 73 20 62 69 74 73 20 66 72 6f 6d 20 61 6e 20 69 6e 74 65 67 65 72 | n.truncates.bits.from.an.integer |
| 89880 | 20 74 79 70 65 2c 20 72 65 73 75 6c 74 69 6e 67 20 69 6e 20 61 20 73 6d 61 6c 6c 65 72 0a 20 20 | .type,.resulting.in.a.smaller... |
| 898a0 | 20 20 20 20 6f 72 20 73 61 6d 65 2d 73 69 7a 65 64 20 69 6e 74 65 67 65 72 20 74 79 70 65 2e 0a | ....or.same-sized.integer.type.. |
| 898c0 | 20 20 20 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 66 | ......</p>.......<p>.......The.f |
| 898e0 | 6f 6c 6c 6f 77 69 6e 67 20 70 72 6f 64 75 63 65 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 | ollowing.produces.safety-checked |
| 89900 | 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 |
| 89920 | 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 | ndefined.Behavior</a>:.......</p |
| 89940 | 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 | >.......<p.class="file">test.zig |
| 89960 | 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | </p><pre><code.class="zig"><span |
| 89980 | 20 63 6c 61 73 73 3d 22 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 |
| 899a0 | 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 65 72 20 | n.class="tok-str">"integer. |
| 899c0 | 63 61 73 74 20 70 61 6e 69 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 | cast.panic"</span>.{.....<s |
| 899e0 | 70 61 6e 20 63 6c 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: |
| 89a00 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 | .<span.class="tok-type">u16</spa |
| 89a20 | 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 78 | n>.=.<span.class="tok-number">0x |
| 89a40 | 61 62 63 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | abcd</span>;.....<span.class="to |
| 89a60 | 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= |
| 89a80 | 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 |
| 89aa0 | 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e | ss="tok-builtin">@intCast</span> |
| 89ac0 | 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e | (<span.class="tok-type">u8</span |
| 89ae0 | 3e 2c 20 61 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 | >,.a);.}</code></pre><pre><code. |
| 89b00 | 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 | class="shell">$.zig.test.test.zi |
| 89b20 | 67 0a 31 2f 31 20 74 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 | g.1/1.test."integer.cast.pa |
| 89b40 | 6e 69 63 26 71 75 6f 74 3b 2e 2e 2e 69 6e 74 65 67 65 72 20 63 61 73 74 20 74 72 75 6e 63 61 74 | nic"...integer.cast.truncat |
| 89b60 | 65 64 20 62 69 74 73 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 | ed.bits.<span.class="t37_1">/dep |
| 89b80 | 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 37 3c 2f | s/zig/docgen_tmp/test.zig:3:17</ |
| 89ba0 | 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 34 62 | span>:.<span.class="t2_0">0x204b |
| 89bc0 | 64 35 20 69 6e 20 74 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 | d5.in.test."integer.cast.pa |
| 89be0 | 6e 69 63 26 71 75 6f 74 3b 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 76 61 72 20 | nic".(test)</span>.....var. |
| 89c00 | 62 3a 20 75 38 20 3d 20 40 69 6e 74 43 61 73 74 28 75 38 2c 20 61 29 3b 0a 20 20 20 20 20 20 20 | b:.u8.=.@intCast(u8,.a);........ |
| 89c20 | 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">^</ |
| 89c40 | 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f | span>.<span.class="t37_1">/deps/ |
| 89c60 | 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 65 63 69 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e | zig/lib/std/special/test_runner. |
| 89c80 | 7a 69 67 3a 34 37 3a 32 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | zig:47:28</span>:.<span.class="t |
| 89ca0 | 32 5f 30 22 3e 30 78 32 32 62 61 64 65 20 69 6e 20 73 74 64 2e 73 70 65 63 69 61 6c 2e 6d 61 69 | 2_0">0x22bade.in.std.special.mai |
| 89cc0 | 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 7d 20 65 6c 73 65 20 74 | n.(test)</span>.........}.else.t |
| 89ce0 | 65 73 74 5f 66 6e 2e 66 75 6e 63 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | est_fn.func();.................. |
| 89d00 | 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">^< |
| 89d20 | 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 | /span>.<span.class="t37_1">/deps |
| 89d40 | 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 33 37 3c 2f 73 | /zig/lib/std/start.zig:253:37</s |
| 89d60 | 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 36 30 | pan>:.<span.class="t2_0">0x20560 |
| 89d80 | 64 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 | d.in.std.start.posixCallMainAndE |
| 89da0 | 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f | xit.(test)</span>.............co |
| 89dc0 | 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.| |
| 89de0 | 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | err|.{.......................... |
| 89e00 | 20 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">^ |
| 89e20 | 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 | </span>.<span.class="t37_1">/dep |
| 89e40 | 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 3a 35 3c 2f 73 | s/zig/lib/std/start.zig:123:5</s |
| 89e60 | 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 33 34 | pan>:.<span.class="t2_0">0x20534 |
| 89e80 | 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 | f.in.std.start._start.(test)</sp |
| 89ea0 | 61 6e 3e 0a 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 | an>.....@call(.{..modifier.=..ne |
| 89ec0 | 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 |
| 89ee0 | 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 | it,..{});.....<span.class="t32_1 |
| 89f00 | 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 0a 54 65 73 74 73 20 66 61 69 6c 65 64 2e 20 55 73 65 20 74 68 | ">^</span>..Tests.failed..Use.th |
| 89f20 | 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 72 65 70 72 6f 64 75 63 65 | e.following.command.to.reproduce |
| 89f40 | 20 74 68 65 20 66 61 69 6c 75 72 65 3a 0a 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 | .the.failure:./deps/zig/docgen_t |
| 89f60 | 6d 70 2f 74 65 73 74 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e | mp/test.</code></pre>........<p> |
| 89f80 | 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 20 74 68 69 73 20 69 73 20 77 65 6c 6c 20 64 65 66 69 | .......However.this.is.well.defi |
| 89fa0 | 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 20 20 3c 2f 70 3e | ned.and.working.code:.......</p> |
| 89fc0 | 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 72 75 6e 63 61 74 65 2e | .......<p.class="file">truncate. |
| 89fe0 | 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | zig</p><pre><code.class="zig"><s |
| 8a000 | 70 61 6e 20 63 6c 61 73 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>. |
| 8a020 | 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"> |
| 8a040 | 40 69 6d 70 6f 72 74 3c 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- |
| 8a060 | 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 | str">"std"</span>);.<s |
| 8a080 | 70 61 6e 20 63 6c 61 73 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>. |
| 8a0a0 | 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 | assert.=.std.debug.assert;..<spa |
| 8a0c0 | 6e 20 63 6c 61 73 73 3d 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 |
| 8a0e0 | 61 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 65 72 | an.class="tok-str">"integer |
| 8a100 | 20 74 72 75 6e 63 61 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c | .truncation"</span>.{.....< |
| 8a120 | 73 70 61 6e 20 63 6c 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 |
| 8a140 | 3a 20 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 | :.<span.class="tok-type">u16</sp |
| 8a160 | 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 |
| 8a180 | 78 61 62 63 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | xabcd</span>;.....<span.class="t |
| 8a1a0 | 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ok-kw">var</span>.b:.<span.class |
| 8a1c0 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c | ="tok-type">u8</span>.=.<span.cl |
| 8a1e0 | 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 74 72 75 6e 63 61 74 65 3c 2f 73 70 61 | ass="tok-builtin">@truncate</spa |
| 8a200 | 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 |
| 8a220 | 61 6e 3e 2c 20 61 29 3b 0a 20 20 20 20 61 73 73 65 72 74 28 62 20 3d 3d 20 3c 73 70 61 6e 20 63 | an>,.a);.....assert(b.==.<span.c |
| 8a240 | 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 3b 0a | lass="tok-number">0xcd</span>);. |
| 8a260 | 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | }</code></pre><pre><code.class=" |
| 8a280 | 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 72 75 6e 63 61 74 65 2e 7a 69 67 0a 31 | shell">$.zig.test.truncate.zig.1 |
| 8a2a0 | 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 69 6e 74 65 67 65 72 20 74 72 75 6e 63 61 74 69 6f 6e | /1.test."integer.truncation |
| 8a2c0 | 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a | "...OK.All.1.tests.passed.. |
| 8a2e0 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 | </code></pre>........<p>.......T |
| 8a300 | 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6c 77 61 79 73 20 74 72 75 6e 63 61 74 65 73 20 74 68 | his.function.always.truncates.th |
| 8a320 | 65 20 73 69 67 6e 69 66 69 63 61 6e 74 20 62 69 74 73 20 6f 66 20 74 68 65 20 69 6e 74 65 67 65 | e.significant.bits.of.the.intege |
| 8a340 | 72 2c 20 72 65 67 61 72 64 6c 65 73 73 0a 20 20 20 20 20 20 6f 66 20 65 6e 64 69 61 6e 6e 65 73 | r,.regardless.......of.endiannes |
| 8a360 | 73 20 6f 6e 20 74 68 65 20 74 61 72 67 65 74 20 70 6c 61 74 66 6f 72 6d 2e 0a 20 20 20 20 20 20 | s.on.the.target.platform........ |
| 8a380 | 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 54 79 70 65 22 | </p>...............<h2.id="Type" |
| 8a3a0 | 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 22 3e 40 54 79 70 65 3c 2f 61 3e 20 3c | ><a.href="#toc-Type">@Type</a>.< |
| 8a3c0 | 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 22 3e c2 a7 3c 2f 61 | a.class="hdr".href="#Type">..</a |
| 8a3e0 | 3e 3c 2f 68 32 3e 0a 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 | ></h2>........<pre><code.class=" |
| 8a400 | 7a 69 67 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 | zig"><span.class="tok-builtin">@ |
| 8a420 | 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 6b 77 22 | Type</span>(<span.class="tok-kw" |
| 8a440 | 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 69 6e 66 6f 3a 20 3c 73 70 61 6e 20 63 6c 61 | >comptime</span>.info:.<span.cla |
| 8a460 | 73 73 3d 22 74 6f 6b 2d 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>( |
| 8a480 | 3c 73 70 61 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">"buil |
| 8a4a0 | 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 54 79 70 65 49 6e 66 6f 29 20 3c 73 70 61 | tin"</span>).TypeInfo).<spa |
| 8a4c0 | 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></ |
| 8a4e0 | 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 |
| 8a500 | 20 66 75 6e 63 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 | .function.is.the.inverse.of.<a.h |
| 8a520 | 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 2e 20 49 | ref="#typeInfo">@typeInfo</a>..I |
| 8a540 | 74 20 72 65 69 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 | t.reifies.type.information...... |
| 8a560 | 20 69 6e 74 6f 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | .into.a.<code.class="zig"><span. |
| 8a580 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f | class="tok-type">type</span></co |
| 8a5a0 | 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 | de>........</p>.......<p>....... |
| 8a5c0 | 49 74 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e | It.is.available.for.the.followin |
| 8a5e0 | 67 20 74 79 70 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 | g.types:.......</p>.......<ul>.. |
| 8a600 | 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | .........<li><code.class="zig">< |
| 8a620 | 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 |
| 8a640 | 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 | ></code></li>...........<li><cod |
| 8a660 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | e.class="zig"><span.class="tok-t |
| 8a680 | 79 70 65 22 3e 6e 6f 72 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e | ype">noreturn</span></code></li> |
| 8a6a0 | 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | ...........<li><code.class="zig" |
| 8a6c0 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 | ><span.class="tok-type">void</sp |
| 8a6e0 | 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 | an></code></li>...........<li><c |
| 8a700 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 8a720 | 2d 74 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 | -type">bool</span></code></li>.. |
| 8a740 | 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 65 72 73 22 | .........<li><a.href="#Integers" |
| 8a760 | 3e 49 6e 74 65 67 65 72 73 3c 2f 61 3e 20 2d 20 54 68 65 20 6d 61 78 69 6d 75 6d 20 62 69 74 20 | >Integers</a>.-.The.maximum.bit. |
| 8a780 | 63 6f 75 6e 74 20 66 6f 72 20 61 6e 20 69 6e 74 65 67 65 72 20 74 79 70 65 20 69 73 20 3c 63 6f | count.for.an.integer.type.is.<co |
| 8a7a0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 8a7c0 | 6e 75 6d 62 65 72 22 3e 36 35 35 33 35 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 3c 2f 6c 69 | number">65535</span></code>.</li |
| 8a7e0 | 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 6c 6f 61 74 73 | >...........<li><a.href="#Floats |
| 8a800 | 22 3e 46 6c 6f 61 74 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e | ">Floats</a></li>...........<li> |
| 8a820 | 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e | <a.href="#Pointers">Pointers</a> |
| 8a840 | 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 20 63 6c 61 73 73 3d | </li>...........<li><code.class= |
| 8a860 | 22 7a 69 67 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 | "zig"><span.class="tok-type">com |
| 8a880 | 70 74 69 6d 65 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 | ptime_int</span></code></li>.... |
| 8a8a0 | 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | .......<li><code.class="zig"><sp |
| 8a8c0 | 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 |
| 8a8e0 | 61 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 | at</span></code></li>........... |
| 8a900 | 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | <li><code.class="zig"><span.clas |
| 8a920 | 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 3c | s="tok-builtin">@TypeOf</span>(< |
| 8a940 | 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< |
| 8a960 | 2f 73 70 61 6e 3e 29 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 |
| 8a980 | 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | i><code.class="zig"><span.class= |
| 8a9a0 | 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 |
| 8a9c0 | 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>) |
| 8a9e0 | 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 3c | </code></li>.......</ul>.......< |
| 8aa00 | 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 74 68 65 73 65 20 74 79 70 65 73 20 69 74 20 69 73 20 61 | p>.......For.these.types.it.is.a |
| 8aa20 | 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 | .......<a.href="https://github.c |
| 8aa40 | 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 32 39 30 37 22 3e 54 4f 44 4f | om/ziglang/zig/issues/2907">TODO |
| 8aa60 | 20 69 6e 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 3c 2f 61 | .in.the.compiler.to.implement</a |
| 8aa80 | 3e 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 | >:.......</p>.......<ul>........ |
| 8aaa0 | 20 20 20 3c 6c 69 3e 41 72 72 61 79 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e | ...<li>Array</li>...........<li> |
| 8aac0 | 4f 70 74 69 6f 6e 61 6c 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 72 72 6f | Optional</li>...........<li>Erro |
| 8aae0 | 72 55 6e 69 6f 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 72 72 6f 72 53 | rUnion</li>...........<li>ErrorS |
| 8ab00 | 65 74 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 6e 75 6d 3c 2f 6c 69 3e 0a | et</li>...........<li>Enum</li>. |
| 8ab20 | 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 70 61 71 75 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 | ..........<li>Opaque</li>....... |
| 8ab40 | 20 20 20 20 3c 6c 69 3e 46 6e 46 72 61 6d 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c | ....<li>FnFrame</li>...........< |
| 8ab60 | 6c 69 3e 41 6e 79 46 72 61 6d 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 56 | li>AnyFrame</li>...........<li>V |
| 8ab80 | 65 63 74 6f 72 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 6e 75 6d 4c 69 74 | ector</li>...........<li>EnumLit |
| 8aba0 | 65 72 61 6c 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 | eral</li>.......</ul>.......<p>. |
| 8abc0 | 20 20 20 20 20 20 46 6f 72 20 74 68 65 73 65 20 74 79 70 65 73 2c 20 3c 63 6f 64 65 20 63 6c 61 | ......For.these.types,.<code.cla |
| 8abe0 | 73 73 3d 22 7a 69 67 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 | ss="zig"><span.class="tok-builti |
| 8ac00 | 6e 22 3e 40 54 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 69 73 20 6e 6f 74 20 61 76 | n">@Type</span></code>.is.not.av |
| 8ac20 | 61 69 6c 61 62 6c 65 2e 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f | ailable........<a.href="https:// |
| 8ac40 | 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 75 65 73 2f 33 38 | github.com/ziglang/zig/issues/38 |
| 8ac60 | 33 22 3e 54 68 65 72 65 20 69 73 20 61 6e 20 6f 70 65 6e 20 70 72 6f 70 6f 73 61 6c 20 74 6f 20 | 3">There.is.an.open.proposal.to. |
| 8ac80 | 61 6c 6c 6f 77 20 75 6e 69 6f 6e 73 20 61 6e 64 20 73 74 72 75 63 74 73 3c 2f 61 3e 2e 0a 20 20 | allow.unions.and.structs</a>.... |
| 8aca0 | 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c | ....</p>.......<ul>...........<l |
| 8acc0 | 69 3e 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 | i><a.href="#union">union</a></li |
| 8ace0 | 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 46 75 6e 63 74 69 | >...........<li><a.href="#Functi |
| 8ad00 | 6f 6e 73 22 3e 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | ons">Functions</a></li>......... |
| 8ad20 | 20 20 3c 6c 69 3e 42 6f 75 6e 64 46 6e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 | ..<li>BoundFn</li>...........<li |
| 8ad40 | 3e 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 63 74 3c 2f 61 3e 3c 2f 6c | ><a.href="#struct">struct</a></l |
| 8ad60 | 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. |
| 8ad80 | 69 64 3d 22 74 79 70 65 49 6e 66 6f 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 74 79 70 65 | id="typeInfo"><a.href="#toc-type |
| 8ada0 | 49 6e 66 6f 22 3e 40 74 79 70 65 49 6e 66 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 | Info">@typeInfo</a>.<a.class="hd |
| 8adc0 | 72 22 20 68 72 65 66 3d 22 23 74 79 70 65 49 6e 66 6f 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a | r".href="#typeInfo">..</a></h2>. |
| 8ade0 | 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 7a 69 67 22 3e 3c 73 | .......<pre><code.class="zig"><s |
| 8ae00 | 70 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 |
| 8ae20 | 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 6b 77 22 3e 63 6f | o</span>(<span.class="tok-kw">co |
| 8ae40 | 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 54 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | mptime</span>.T:.<span.class="to |
| 8ae60 | 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 | k-type">type</span>).<span.class |
| 8ae80 | 3d 22 74 6f 6b 2d 62 75 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 |
| 8aea0 | 70 61 6e 20 63 6c 61 73 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">"std&qu |
| 8aec0 | 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 74 69 6e 2e 54 79 70 65 49 6e 66 6f 3c 2f 63 6f | ot;</span>).builtin.TypeInfo</co |
| 8aee0 | 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 69 64 | de></pre>.......<p>.......Provid |
| 8af00 | 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 0a 20 | es.type.reflection........</p>.. |
| 8af20 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 | .....<p>.......For.<a.href="#str |
| 8af40 | 75 63 74 22 3e 73 74 72 75 63 74 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 75 6e 69 6f | uct">structs</a>,.<a.href="#unio |
| 8af60 | 6e 22 3e 75 6e 69 6f 6e 73 3c 2f 61 3e 2c 20 3c 61 20 68 72 65 66 3d 22 23 65 6e 75 6d 22 3e 65 | n">unions</a>,.<a.href="#enum">e |
| 8af80 | 6e 75 6d 73 3c 2f 61 3e 2c 20 61 6e 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 45 72 | nums</a>,.and.......<a.href="#Er |
| 8afa0 | 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 2c 20 74 68 | ror-Set-Type">error.sets</a>,.th |
| 8afc0 | 65 20 66 69 65 6c 64 73 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 69 6e | e.fields.are.guaranteed.to.be.in |
| 8afe0 | 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 20 6f 72 64 65 72 20 61 73 20 64 65 63 6c 61 72 65 | .the.same.......order.as.declare |
| 8b000 | 64 2e 20 46 6f 72 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 2c 20 74 68 65 20 6f 72 64 65 72 20 69 | d..For.declarations,.the.order.i |
| 8b020 | 73 20 75 6e 73 70 65 63 69 66 69 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 | s.unspecified........</p>....... |
| 8b040 | 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 74 79 70 65 4e 61 6d 65 22 3e 3c 61 20 68 72 65 | ........<h2.id="typeName"><a.hre |
| 8b060 | 66 3d 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 | f="#toc-typeName">@typeName</a>. |
| 8b080 | 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 74 79 70 65 4e 61 6d 65 22 3e | <a.class="hdr".href="#typeName"> |
| 8b0a0 | c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | ..</a></h2>........<pre><code.cl |
| 8b0c0 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 | ass="zig"><span.class="tok-built |
| 8b0e0 | 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 61 6e 20 63 6c | in">@typeName</span>(T:.<span.cl |
| 8b100 | 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 5b 4e 5d 3c | ass="tok-type">type</span>).[N]< |
| 8b120 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3c | span.class="tok-type">u8</span>< |
| 8b140 | 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 69 | /code></pre>.......<p>.......Thi |
| 8b160 | 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 74 72 69 6e 67 20 72 65 | s.function.returns.the.string.re |
| 8b180 | 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 61 20 74 79 70 65 2c 20 61 73 0a 20 20 20 20 20 | presentation.of.a.type,.as...... |
| 8b1a0 | 20 61 6e 20 61 72 72 61 79 2e 20 49 74 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 61 | .an.array..It.is.equivalent.to.a |
| 8b1c0 | 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 6f 66 20 74 68 65 20 74 79 70 65 20 6e 61 6d 65 | .string.literal.of.the.type.name |
| 8b1e0 | 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 | ........</p>................<h2. |
| 8b200 | 69 64 3d 22 54 79 70 65 4f 66 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 54 79 70 65 4f 66 | id="TypeOf"><a.href="#toc-TypeOf |
| 8b220 | 22 3e 40 54 79 70 65 4f 66 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 | ">@TypeOf</a>.<a.class="hdr".hre |
| 8b240 | 66 3d 22 23 54 79 70 65 4f 66 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c | f="#TypeOf">..</a></h2>........< |
| 8b260 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | pre><code.class="zig"><span.clas |
| 8b280 | 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 2e | s="tok-builtin">@TypeOf</span>(. |
| 8b2a0 | 2e 2e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c | ..).<span.class="tok-type">type< |
| 8b2c0 | 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>... |
| 8b2e0 | 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | ....<code.class="zig"><span.clas |
| 8b300 | 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 3c 2f | s="tok-builtin">@TypeOf</span></ |
| 8b320 | 63 6f 64 65 3e 20 69 73 20 61 20 73 70 65 63 69 61 6c 20 62 75 69 6c 74 69 6e 20 66 75 6e 63 74 | code>.is.a.special.builtin.funct |
| 8b340 | 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 6e 79 20 28 6e 6f 6e 7a 65 72 6f 29 20 6e 75 6d | ion.that.takes.any.(nonzero).num |
| 8b360 | 62 65 72 20 6f 66 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 20 20 20 20 20 20 61 73 20 70 61 72 61 | ber.of.expressions.......as.para |
| 8b380 | 6d 65 74 65 72 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 74 79 70 65 20 6f 66 20 74 | meters.and.returns.the.type.of.t |
| 8b3a0 | 68 65 20 72 65 73 75 6c 74 2c 20 75 73 69 6e 67 20 3c 61 20 68 72 65 66 3d 22 23 50 65 65 72 2d | he.result,.using.<a.href="#Peer- |
| 8b3c0 | 54 79 70 65 2d 52 65 73 6f 6c 75 74 69 6f 6e 22 3e 50 65 65 72 20 54 79 70 65 20 52 65 73 6f 6c | Type-Resolution">Peer.Type.Resol |
| 8b3e0 | 75 74 69 6f 6e 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a | ution</a>........</p>.......<p>. |
| 8b400 | 20 20 20 20 20 20 54 68 65 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 72 65 20 65 76 61 6c 75 61 | ......The.expressions.are.evalua |
| 8b420 | 74 65 64 2c 20 68 6f 77 65 76 65 72 20 74 68 65 79 20 61 72 65 20 67 75 61 72 61 6e 74 65 65 64 | ted,.however.they.are.guaranteed |
| 8b440 | 20 74 6f 20 68 61 76 65 20 6e 6f 20 3c 65 6d 3e 72 75 6e 74 69 6d 65 3c 2f 65 6d 3e 20 73 69 64 | .to.have.no.<em>runtime</em>.sid |
| 8b460 | 65 2d 65 66 66 65 63 74 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 | e-effects:.......</p>.......<p.c |
| 8b480 | 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f | lass="file">test.zig</p><pre><co |
| 8b4a0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 8b4c0 | 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 |
| 8b4e0 | 73 73 3d 22 74 6f 6b 2d 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>( |
| 8b500 | 3c 73 70 61 6e 20 63 6c 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">"std& |
| 8b520 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | quot;</span>);.<span.class="tok- |
| 8b540 | 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 20 3d 20 73 74 64 2e 64 65 | kw">const</span>.assert.=.std.de |
| 8b560 | 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | bug.assert;..<span.class="tok-kw |
| 8b580 | 22 3e 74 65 73 74 3c 2f 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 |
| 8b5a0 | 74 72 22 3e 26 71 75 6f 74 3b 6e 6f 20 72 75 6e 74 69 6d 65 20 73 69 64 65 20 65 66 66 65 63 74 | tr">"no.runtime.side.effect |
| 8b5c0 | 73 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | s"</span>.{.....<span.class |
| 8b5e0 | 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 3a 20 3c 73 70 61 6e | ="tok-kw">var</span>.data:.<span |
| 8b600 | 20 63 6c 61 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>.=.< |
| 8b620 | 73 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> |
| 8b640 | 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | ;.....<span.class="tok-kw">const |
| 8b660 | 3c 2f 73 70 61 6e 3e 20 54 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 | </span>.T.=.<span.class="tok-bui |
| 8b680 | 6c 74 69 6e 22 3e 40 54 79 70 65 4f 66 3c 2f 73 70 61 6e 3e 28 66 6f 6f 28 3c 73 70 61 6e 20 63 | ltin">@TypeOf</span>(foo(<span.c |
| 8b6a0 | 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 | lass="tok-type">i32</span>,.& |
| 8b6c0 | 3b 64 61 74 61 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | ;data));.....<span.class="tok-kw |
| 8b6e0 | 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 73 73 65 72 74 28 54 20 3d 3d 20 3c 73 | ">comptime</span>.assert(T.==.<s |
| 8b700 | 70 61 6e 20 63 6c 61 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>) |
| 8b720 | 3b 0a 20 20 20 20 61 73 73 65 72 74 28 64 61 74 61 20 3d 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ;.....assert(data.==.<span.class |
| 8b740 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 | ="tok-number">0</span>);.}..<spa |
| 8b760 | 6e 20 63 6c 61 73 73 3d 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 |
| 8b780 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e | .class="tok-fn">foo</span>(<span |
| 8b7a0 | 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>. |
| 8b7c0 | 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</ |
| 8b7e0 | 73 70 61 6e 3e 2c 20 70 74 72 3a 20 2a 54 29 20 54 20 7b 0a 20 20 20 20 70 74 72 2e 2a 20 2b 3d | span>,.ptr:.*T).T.{.....ptr.*.+= |
| 8b800 | 20 3c 73 70 61 6e 20 63 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 |
| 8b820 | 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 | n>;.....<span.class="tok-kw">ret |
| 8b840 | 75 72 6e 3c 2f 73 70 61 6e 3e 20 70 74 72 2e 2a 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | urn</span>.ptr.*;.}</code></pre> |
| 8b860 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 | <pre><code.class="shell">$.zig.t |
| 8b880 | 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 6e 6f 20 72 | est.test.zig.1/1.test."no.r |
| 8b8a0 | 75 6e 74 69 6d 65 20 73 69 64 65 20 65 66 66 65 63 74 73 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 | untime.side.effects"...OK.A |
| 8b8c0 | 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | ll.1.tests.passed..</code></pre> |
| 8b8e0 | 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 75 6e 69 6f 6e 49 6e 69 | ................<h2.id="unionIni |
| 8b900 | 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 69 | t"><a.href="#toc-unionInit">@uni |
| 8b920 | 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 22 | onInit</a>.<a.class="hdr".href=" |
| 8b940 | 23 75 6e 69 6f 6e 49 6e 69 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c | #unionInit">..</a></h2>........< |
| 8b960 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | pre><code.class="zig"><span.clas |
| 8b980 | 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 73 70 61 6e | s="tok-builtin">@unionInit</span |
| 8b9a0 | 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< |
| 8b9c0 | 2f 73 70 61 6e 3e 20 55 6e 69 6f 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | /span>.Union:.<span.class="tok-t |
| 8b9e0 | 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 |
| 8ba00 | 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 61 63 74 69 76 65 5f 66 69 | ok-kw">comptime</span>.active_fi |
| 8ba20 | 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" |
| 8ba40 | 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 |
| 8ba60 | 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 69 6e 69 74 5f 65 78 70 72 29 20 55 6e 69 6f 6e | ype">u8</span>,.init_expr).Union |
| 8ba80 | 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 |
| 8baa0 | 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 74 68 69 6e 67 20 61 73 20 3c 61 20 68 72 65 66 3d | is.is.the.same.thing.as.<a.href= |
| 8bac0 | 22 23 75 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f | "#union">union</a>.initializatio |
| 8bae0 | 6e 20 73 79 6e 74 61 78 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 68 65 20 66 69 65 6c 64 20 | n.syntax,.except.that.the.field. |
| 8bb00 | 6e 61 6d 65 20 69 73 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 | name.is.a.......<a.href="#compti |
| 8bb20 | 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2d 6b 6e 6f 77 6e 20 76 61 6c 75 65 20 72 61 74 | me">comptime</a>-known.value.rat |
| 8bb40 | 68 65 72 20 74 68 61 6e 20 61 6e 20 69 64 65 6e 74 69 66 69 65 72 20 74 6f 6b 65 6e 2e 0a 20 20 | her.than.an.identifier.token.... |
| 8bb60 | 20 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 20 63 | ....</p>.......<p>.......<code.c |
| 8bb80 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | lass="zig"><span.class="tok-buil |
| 8bba0 | 74 69 6e 22 3e 40 75 6e 69 6f 6e 49 6e 69 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 6f | tin">@unionInit</span></code>.fo |
| 8bbc0 | 72 77 61 72 64 73 20 69 74 73 20 3c 61 20 68 72 65 66 3d 22 23 52 65 73 75 6c 74 2d 4c 6f 63 61 | rwards.its.<a.href="#Result-Loca |
| 8bbe0 | 74 69 6f 6e 2d 53 65 6d 61 6e 74 69 63 73 22 3e 72 65 73 75 6c 74 20 6c 6f 63 61 74 69 6f 6e 3c | tion-Semantics">result.location< |
| 8bc00 | 2f 61 3e 20 74 6f 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 69 6e 69 74 5f 65 78 | /a>.to.<code.class="zig">init_ex |
| 8bc20 | 70 72 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 | pr</code>........</p>........... |
| 8bc40 | 20 20 20 20 3c 68 32 20 69 64 3d 22 56 65 63 74 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f | ....<h2.id="Vector"><a.href="#to |
| 8bc60 | 63 2d 56 65 63 74 6f 72 22 3e 40 56 65 63 74 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 | c-Vector">@Vector</a>.<a.class=" |
| 8bc80 | 68 64 72 22 20 68 72 65 66 3d 22 23 56 65 63 74 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a | hdr".href="#Vector">..</a></h2>. |
| 8bca0 | 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 7a 69 67 22 3e 3c 73 | .......<pre><code.class="zig"><s |
| 8bcc0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 56 65 63 74 6f 72 3c | pan.class="tok-builtin">@Vector< |
| 8bce0 | 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 | /span>(<span.class="tok-kw">comp |
| 8bd00 | 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | time</span>.len:.<span.class="to |
| 8bd20 | 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | k-type">u32</span>,.<span.class= |
| 8bd40 | 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 45 6c 65 6d 54 79 70 | "tok-kw">comptime</span>.ElemTyp |
| 8bd60 | 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 2f | e:.<span.class="tok-type">type</ |
| 8bd80 | 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 | span>).<span.class="tok-type">ty |
| 8bda0 | 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e | pe</span></code></pre>.......<p> |
| 8bdc0 | 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 61 20 76 | .......This.function.returns.a.v |
| 8bde0 | 65 63 74 6f 72 20 74 79 70 65 20 66 6f 72 20 3c 61 20 68 72 65 66 3d 22 23 53 49 4d 44 22 3e 53 | ector.type.for.<a.href="#SIMD">S |
| 8be00 | 49 4d 44 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 | IMD</a>........</p>.......<p>... |
| 8be20 | 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 45 6c 65 6d 54 79 70 65 3c 2f | ....<code.class="zig">ElemType</ |
| 8be40 | 63 6f 64 65 3e 20 6d 75 73 74 20 62 65 20 61 6e 20 3c 61 20 68 72 65 66 3d 22 23 49 6e 74 65 67 | code>.must.be.an.<a.href="#Integ |
| 8be60 | 65 72 73 22 3e 69 6e 74 65 67 65 72 3c 2f 61 3e 2c 20 61 20 3c 61 20 68 72 65 66 3d 22 23 46 6c | ers">integer</a>,.a.<a.href="#Fl |
| 8be80 | 6f 61 74 73 22 3e 66 6c 6f 61 74 3c 2f 61 3e 2c 20 6f 72 20 61 0a 20 20 20 20 20 20 3c 61 20 68 | oats">float</a>,.or.a.......<a.h |
| 8bea0 | 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 6f 69 6e 74 65 72 3c 2f 61 3e 2e 0a 20 20 20 | ref="#Pointers">pointer</a>..... |
| 8bec0 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 31 | ...</p>......................<h1 |
| 8bee0 | 20 69 64 3d 22 42 75 69 6c 64 2d 4d 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 42 | .id="Build-Mode"><a.href="#toc-B |
| 8bf00 | 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 20 3c 61 20 63 6c 61 | uild-Mode">Build.Mode</a>.<a.cla |
| 8bf20 | 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 42 75 69 6c 64 2d 4d 6f 64 65 22 3e c2 a7 3c 2f | ss="hdr".href="#Build-Mode">..</ |
| 8bf40 | 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 5a 69 67 20 68 61 73 | a></h1>........<p>.......Zig.has |
| 8bf60 | 20 66 6f 75 72 20 62 75 69 6c 64 20 6d 6f 64 65 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 | .four.build.modes:.......</p>... |
| 8bf80 | 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 44 | ....<ul>.........<li><a.href="#D |
| 8bfa0 | 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 3e 20 28 64 65 66 61 75 6c 74 29 3c 2f 6c 69 3e 0a 20 | ebug">Debug</a>.(default)</li>.. |
| 8bfc0 | 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 74 | .......<li><a.href="#ReleaseFast |
| 8bfe0 | 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c | ">ReleaseFast</a></li>.........< |
| 8c000 | 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 | li><a.href="#ReleaseSafe">Releas |
| 8c020 | 65 53 61 66 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 | eSafe</a></li>.........<li><a.hr |
| 8c040 | 65 66 3d 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c | ef="#ReleaseSmall">ReleaseSmall< |
| 8c060 | 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 | /a></li>.......</ul>.......<p>.. |
| 8c080 | 20 20 20 20 20 54 6f 20 61 64 64 20 73 74 61 6e 64 61 72 64 20 62 75 69 6c 64 20 6f 70 74 69 6f | .....To.add.standard.build.optio |
| 8c0a0 | 6e 73 20 74 6f 20 61 20 3c 63 6f 64 65 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 63 6f 64 65 3e 20 66 | ns.to.a.<code>build.zig</code>.f |
| 8c0c0 | 69 6c 65 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 | ile:.......</p>.......<pre><code |
| 8c0e0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| 8c100 | 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 63 | ">const</span>.Builder.=.<span.c |
| 8c120 | 6c 61 73 73 3d 22 74 6f 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 |
| 8c140 | 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 | >(<span.class="tok-str">"st |
| 8c160 | 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 0a 0a | d"</span>).build.Builder;.. |
| 8c180 | 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>. |
| 8c1a0 | 3c 73 70 61 6e 20 63 6c 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>.< |
| 8c1c0 | 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 3e | span.class="tok-fn">build</span> |
| 8c1e0 | 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 74 | (b:.*Builder).<span.class="tok-t |
| 8c200 | 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | ype">void</span>.{.....<span.cla |
| 8c220 | 73 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 65 20 3d 20 62 | ss="tok-kw">const</span>.exe.=.b |
| 8c240 | 2e 61 64 64 45 78 65 63 75 74 61 62 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | .addExecutable(<span.class="tok- |
| 8c260 | 73 74 72 22 3e 26 71 75 6f 74 3b 65 78 61 6d 70 6c 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c | str">"example"</span>, |
| 8c280 | 20 3c 73 70 61 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 | .<span.class="tok-str">"exa |
| 8c2a0 | 6d 70 6c 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 65 78 65 2e | mple.zig"</span>);.....exe. |
| 8c2c0 | 73 65 74 42 75 69 6c 64 4d 6f 64 65 28 62 2e 73 74 61 6e 64 61 72 64 52 65 6c 65 61 73 65 4f 70 | setBuildMode(b.standardReleaseOp |
| 8c2e0 | 74 69 6f 6e 73 28 29 29 3b 0a 20 20 20 20 62 2e 64 65 66 61 75 6c 74 5f 73 74 65 70 2e 64 65 70 | tions());.....b.default_step.dep |
| 8c300 | 65 6e 64 4f 6e 28 26 61 6d 70 3b 65 78 65 2e 73 74 65 70 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f | endOn(&exe.step);.}</code></ |
| 8c320 | 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 63 61 75 73 65 73 | pre>.......<p>.......This.causes |
| 8c340 | 20 74 68 65 73 65 20 6f 70 74 69 6f 6e 73 20 74 6f 20 62 65 20 61 76 61 69 6c 61 62 6c 65 3a 0a | .these.options.to.be.available:. |
| 8c360 | 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | ......</p>.......<pre><code.clas |
| 8c380 | 73 3d 22 73 68 65 6c 6c 22 3e 20 20 2d 44 72 65 6c 65 61 73 65 2d 73 61 66 65 3d 5b 62 6f 6f 6c | s="shell">..-Drelease-safe=[bool |
| 8c3a0 | 5d 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 73 20 6f 6e 20 61 6e 64 20 73 61 66 65 74 79 20 6f 6e | ].optimizations.on.and.safety.on |
| 8c3c0 | 0a 20 20 2d 44 72 65 6c 65 61 73 65 2d 66 61 73 74 3d 5b 62 6f 6f 6c 5d 20 6f 70 74 69 6d 69 7a | ...-Drelease-fast=[bool].optimiz |
| 8c3e0 | 61 74 69 6f 6e 73 20 6f 6e 20 61 6e 64 20 73 61 66 65 74 79 20 6f 66 66 0a 20 20 2d 44 72 65 6c | ations.on.and.safety.off...-Drel |
| 8c400 | 65 61 73 65 2d 73 6d 61 6c 6c 3d 5b 62 6f 6f 6c 5d 20 73 69 7a 65 20 6f 70 74 69 6d 69 7a 61 74 | ease-small=[bool].size.optimizat |
| 8c420 | 69 6f 6e 73 20 6f 6e 20 61 6e 64 20 73 61 66 65 74 79 20 6f 66 66 3c 2f 63 6f 64 65 3e 3c 2f 70 | ions.on.and.safety.off</code></p |
| 8c440 | 72 65 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 44 65 62 75 67 22 3e 3c 61 20 68 72 65 66 | re>.......<h2.id="Debug"><a.href |
| 8c460 | 3d 22 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 | ="#toc-Debug">Debug</a>.<a.class |
| 8c480 | 3d 22 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 32 3e | ="hdr".href="#Debug">..</a></h2> |
| 8c4a0 | 0a 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 73 68 65 6c 6c 22 | ........<pre><code.class="shell" |
| 8c4c0 | 3e 24 20 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 63 6f | >$.zig.build-exe.example.zig</co |
| 8c4e0 | 64 65 3e 3c 2f 70 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 | de></pre>.......<ul>.........<li |
| 8c500 | 3e 46 61 73 74 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 70 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 | >Fast.compilation.speed</li>.... |
| 8c520 | 20 20 20 20 20 3c 6c 69 3e 53 61 66 65 74 79 20 63 68 65 63 6b 73 20 65 6e 61 62 6c 65 64 3c 2f | .....<li>Safety.checks.enabled</ |
| 8c540 | 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f 77 20 72 75 6e 74 69 6d 65 20 70 65 72 | li>.........<li>Slow.runtime.per |
| 8c560 | 66 6f 72 6d 61 6e 63 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4c 61 72 67 65 20 | formance</li>.........<li>Large. |
| 8c580 | 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4e 6f 20 | binary.size</li>.........<li>No. |
| 8c5a0 | 72 65 70 72 6f 64 75 63 69 62 6c 65 20 62 75 69 6c 64 20 72 65 71 75 69 72 65 6d 65 6e 74 3c 2f | reproducible.build.requirement</ |
| 8c5c0 | 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 | li>.......</ul>..............<h2 |
| 8c5e0 | 20 69 64 3d 22 52 65 6c 65 61 73 65 46 61 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d | .id="ReleaseFast"><a.href="#toc- |
| 8c600 | 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 3c 61 20 | ReleaseFast">ReleaseFast</a>.<a. |
| 8c620 | 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 46 61 73 74 22 3e | class="hdr".href="#ReleaseFast"> |
| 8c640 | c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | ..</a></h2>........<pre><code.cl |
| 8c660 | 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 65 78 61 6d | ass="shell">$.zig.build-exe.exam |
| 8c680 | 70 6c 65 2e 7a 69 67 20 2d 2d 72 65 6c 65 61 73 65 2d 66 61 73 74 3c 2f 63 6f 64 65 3e 3c 2f 70 | ple.zig.--release-fast</code></p |
| 8c6a0 | 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 46 61 73 74 20 | re>.......<ul>.........<li>Fast. |
| 8c6c0 | 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 20 20 | runtime.performance</li>........ |
| 8c6e0 | 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 69 3e | .<li>Safety.checks.disabled</li> |
| 8c700 | 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 73 70 | .........<li>Slow.compilation.sp |
| 8c720 | 65 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4c 61 72 67 65 20 62 69 6e 61 72 | eed</li>.........<li>Large.binar |
| 8c740 | 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 75 63 | y.size</li>.........<li>Reproduc |
| 8c760 | 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 20 20 | ible.build</li>.......</ul>..... |
| 8c780 | 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 52 65 6c 65 61 73 65 53 61 66 65 22 3e 3c 61 | .........<h2.id="ReleaseSafe"><a |
| 8c7a0 | 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 6c 65 61 73 65 | .href="#toc-ReleaseSafe">Release |
| 8c7c0 | 53 61 66 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 | Safe</a>.<a.class="hdr".href="#R |
| 8c7e0 | 65 6c 65 61 73 65 53 61 66 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c | eleaseSafe">..</a></h2>........< |
| 8c800 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 | pre><code.class="shell">$.zig.bu |
| 8c820 | 69 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c 65 2e 7a 69 67 20 2d 2d 72 65 6c 65 61 73 65 2d 73 61 | ild-exe.example.zig.--release-sa |
| 8c840 | 66 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 | fe</code></pre>.......<ul>...... |
| 8c860 | 20 20 20 3c 6c 69 3e 4d 65 64 69 75 6d 20 72 75 6e 74 69 6d 65 20 70 65 72 66 6f 72 6d 61 6e 63 | ...<li>Medium.runtime.performanc |
| 8c880 | 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 6b 73 | e</li>.........<li>Safety.checks |
| 8c8a0 | 20 65 6e 61 62 6c 65 64 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 6c 6f 77 20 63 | .enabled</li>.........<li>Slow.c |
| 8c8c0 | 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 20 3c 6c | ompilation.speed</li>.........<l |
| 8c8e0 | 69 3e 4c 61 72 67 65 20 62 69 6e 61 72 79 20 73 69 7a 65 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 | i>Large.binary.size</li>........ |
| 8c900 | 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 20 20 20 | .<li>Reproducible.build</li>.... |
| 8c920 | 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 69 64 3d 22 52 65 | ...</ul>..............<h2.id="Re |
| 8c940 | 6c 65 61 73 65 53 6d 61 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 6c 65 61 73 | leaseSmall"><a.href="#toc-Releas |
| 8c960 | 65 53 6d 61 6c 6c 22 3e 52 65 6c 65 61 73 65 53 6d 61 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 | eSmall">ReleaseSmall</a>.<a.clas |
| 8c980 | 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 6d 61 6c 6c 22 3e c2 a7 3c | s="hdr".href="#ReleaseSmall">..< |
| 8c9a0 | 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | /a></h2>........<pre><code.class |
| 8c9c0 | 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 65 78 61 6d 70 6c 65 | ="shell">$.zig.build-exe.example |
| 8c9e0 | 2e 7a 69 67 20 2d 2d 72 65 6c 65 61 73 65 2d 73 6d 61 6c 6c 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | .zig.--release-small</code></pre |
| 8ca00 | 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 6d 20 | >.......<ul>.........<li>Medium. |
| 8ca20 | 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 20 20 | runtime.performance</li>........ |
| 8ca40 | 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 69 3e | .<li>Safety.checks.disabled</li> |
| 8ca60 | 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 73 70 | .........<li>Slow.compilation.sp |
| 8ca80 | 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 61 72 | eed</li>.........<li>Small.binar |
| 8caa0 | 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 75 63 | y.size</li>.........<li>Reproduc |
| 8cac0 | 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 20 20 | ible.build</li>.......</ul>..... |
| 8cae0 | 20 20 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c | .........<p>See.also:</p><ul>.<l |
| 8cb00 | 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 3e 43 | i><a.href="#Compile-Variables">C |
| 8cb20 | 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 3c 61 | ompile.Variables</a></li>.<li><a |
| 8cb40 | 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 42 75 | .href="#Zig-Build-System">Zig.Bu |
| 8cb60 | 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 66 3d | ild.System</a></li>.<li><a.href= |
| 8cb80 | 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 | "#Undefined-Behavior">Undefined. |
| 8cba0 | 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 20 0a | Behavior</a></li>.</ul>......... |
| 8cbc0 | 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 53 69 6e 67 6c 65 2d 54 68 72 65 61 64 65 64 2d 42 | .......<h1.id="Single-Threaded-B |
| 8cbe0 | 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 72 65 | uilds"><a.href="#toc-Single-Thre |
| 8cc00 | 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 75 69 | aded-Builds">Single.Threaded.Bui |
| 8cc20 | 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 53 69 | lds</a>.<a.class="hdr".href="#Si |
| 8cc40 | 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 68 31 | ngle-Threaded-Builds">..</a></h1 |
| 8cc60 | 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 6f 70 | >........<p>Zig.has.a.compile.op |
| 8cc80 | 74 69 6f 6e 20 3c 63 6f 64 65 3e 2d 2d 73 69 6e 67 6c 65 2d 74 68 72 65 61 64 65 64 3c 2f 63 6f | tion.<code>--single-threaded</co |
| 8cca0 | 64 65 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 | de>.which.has.the.following.effe |
| 8ccc0 | 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> |
| 8cce0 | 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 |
| 8cd00 | 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> |
| 8cd20 | 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 47 6c 6f 62 61 6c | .are.treated.as.<a.href="#Global |
| 8cd40 | 2d 56 61 72 69 61 62 6c 65 73 22 3e 47 6c 6f 62 61 6c 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e | -Variables">Global.Variables</a> |
| 8cd60 | 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 6f 76 65 72 68 65 61 64 20 | .</li>.........<li>The.overhead. |
| 8cd80 | 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 41 73 79 6e 63 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 41 73 | of.<a.href="#Async-Functions">As |
| 8cda0 | 79 6e 63 20 46 75 6e 63 74 69 6f 6e 73 3c 2f 61 3e 20 62 65 63 6f 6d 65 73 20 65 71 75 69 76 61 | ync.Functions</a>.becomes.equiva |
| 8cdc0 | 6c 65 6e 74 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 6f 76 65 72 68 65 61 64 2e 3c | lent.to.function.call.overhead.< |
| 8cde0 | 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 54 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 | /li>.........<li>The.<code.class |
| 8ce00 | 3d 22 7a 69 67 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 | ="zig"><span.class="tok-builtin" |
| 8ce20 | 3e 40 69 6d 70 6f 72 74 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 |
| 8ce40 | 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">"builtin"</span> |
| 8ce60 | 29 2e 73 69 6e 67 6c 65 5f 74 68 72 65 61 64 65 64 3c 2f 63 6f 64 65 3e 20 62 65 63 6f 6d 65 73 | ).single_threaded</code>.becomes |
| 8ce80 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .<code.class="zig"><span.class=" |
| 8cea0 | 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 75 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 | tok-null">true</span></code>.... |
| 8cec0 | 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 76 61 72 69 6f 75 73 20 75 73 65 | .......and.therefore.various.use |
| 8cee0 | 72 6c 61 6e 64 20 41 50 49 73 20 77 68 69 63 68 20 72 65 61 64 20 74 68 69 73 20 76 61 72 69 61 | rland.APIs.which.read.this.varia |
| 8cf00 | 62 6c 65 20 62 65 63 6f 6d 65 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 2e 0a 20 20 20 20 20 | ble.become.more.efficient....... |
| 8cf20 | 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | .....For.example.<code.class="zi |
| 8cf40 | 67 22 3e 73 74 64 2e 4d 75 74 65 78 3c 2f 63 6f 64 65 3e 20 62 65 63 6f 6d 65 73 0a 20 20 20 20 | g">std.Mutex</code>.becomes..... |
| 8cf60 | 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 65 20 61 6e | ......an.empty.data.structure.an |
| 8cf80 | 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 65 20 6e 6f | d.all.of.its.functions.become.no |
| 8cfa0 | 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 20 0a 0a 20 | -ops.</li>.......</ul>.......... |
| 8cfc0 | 20 20 20 20 20 3c 68 31 20 69 64 3d 22 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 | .....<h1.id="Undefined-Behavior" |
| 8cfe0 | 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 61 76 69 6f | ><a.href="#toc-Undefined-Behavio |
| 8d000 | 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 20 63 6c 61 | r">Undefined.Behavior</a>.<a.cla |
| 8d020 | 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 68 61 76 69 | ss="hdr".href="#Undefined-Behavi |
| 8d040 | 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 | or">..</a></h1>........<p>...... |
| 8d060 | 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 6e 64 65 66 | .Zig.has.many.instances.of.undef |
| 8d080 | 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 62 65 68 61 | ined.behavior..If.undefined.beha |
| 8d0a0 | 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 6d 70 69 6c | vior.is.......detected.at.compil |
| 8d0c0 | 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 65 72 72 6f | e-time,.Zig.emits.a.compile.erro |
| 8d0e0 | 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 20 20 20 20 | r.and.refuses.to.continue....... |
| 8d100 | 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 74 20 63 61 | .Most.undefined.behavior.that.ca |
| 8d120 | 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 74 69 6d 65 | nnot.be.detected.at.compile-time |
| 8d140 | 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 6e 74 69 6d | .can.be.detected.......at.runtim |
| 8d160 | 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 61 66 65 74 | e..In.these.cases,.Zig.has.safet |
| 8d180 | 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 62 65 20 64 | y.checks..Safety.checks.can.be.d |
| 8d1a0 | 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 20 62 61 73 | isabled.......on.a.per-block.bas |
| 8d1c0 | 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 53 61 66 65 | is.with.<a.href="#setRuntimeSafe |
| 8d1e0 | 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 68 65 20 3c | ty">@setRuntimeSafety</a>..The.< |
| 8d200 | 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 65 46 61 73 | a.href="#ReleaseFast">ReleaseFas |
| 8d220 | 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 6c 65 61 73 | t</a>.......and.<a.href="#Releas |
| 8d240 | 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 6c 64 20 6d | eSmall">ReleaseSmall</a>.build.m |
| 8d260 | 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 6b 73 20 28 | odes.disable.all.safety.checks.( |
| 8d280 | 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 20 20 62 79 | except.where.overridden.......by |
| 8d2a0 | 20 3c 61 20 68 72 65 66 3d 22 23 73 65 74 52 75 6e 74 69 6d 65 53 61 66 65 74 79 22 3e 40 73 65 | .<a.href="#setRuntimeSafety">@se |
| 8d2c0 | 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 20 74 6f 20 | tRuntimeSafety</a>).in.order.to. |
| 8d2e0 | 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 20 20 20 20 | facilitate.optimizations........ |
| 8d300 | 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 73 61 66 65 | </p>.......<p>.......When.a.safe |
| 8d320 | 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 77 69 74 68 | ty.check.fails,.Zig.crashes.with |
| 8d340 | 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 20 20 20 20 | .a.stack.trace,.like.this:...... |
| 8d360 | 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 | .</p>.......<p.class="file">test |
| 8d380 | 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | .zig</p><pre><code.class="zig">< |
| 8d3a0 | 73 70 61 6e 20 63 6c 61 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>. |
| 8d3c0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 61 66 65 | <span.class="tok-str">"safe |
| 8d3e0 | 74 79 20 63 68 65 63 6b 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 | ty.check"</span>.{.....<spa |
| 8d400 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 | n.class="tok-kw">unreachable</sp |
| 8d420 | 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | an>;.}</code></pre><pre><code.cl |
| 8d440 | 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a | ass="shell">$.zig.test.test.zig. |
| 8d460 | 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 61 66 65 74 79 20 63 68 65 63 6b 26 71 75 6f 74 | 1/1.test."safety.check" |
| 8d480 | 3b 2e 2e 2e 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 0a 3c 73 70 | ;...reached.unreachable.code.<sp |
| 8d4a0 | 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 | an.class="t37_1">/deps/zig/docge |
| 8d4c0 | 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e | n_tmp/test.zig:2:5</span>:.<span |
| 8d4e0 | 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 62 39 61 20 69 6e 20 74 65 73 74 20 26 | .class="t2_0">0x204b9a.in.test.& |
| 8d500 | 71 75 6f 74 3b 73 61 66 65 74 79 20 63 68 65 63 6b 26 71 75 6f 74 3b 20 28 74 65 73 74 29 3c 2f | quot;safety.check".(test)</ |
| 8d520 | 73 70 61 6e 3e 0a 20 20 20 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 0a 20 20 20 20 3c 73 70 61 6e | span>.....unreachable;.....<span |
| 8d540 | 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c | .class="t32_1">^</span>.<span.cl |
| 8d560 | 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 70 | ass="t37_1">/deps/zig/lib/std/sp |
| 8d580 | 65 63 69 61 6c 2f 74 65 73 74 5f 72 75 6e 6e 65 72 2e 7a 69 67 3a 34 37 3a 32 38 3c 2f 73 70 61 | ecial/test_runner.zig:47:28</spa |
| 8d5a0 | 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 62 61 39 65 20 | n>:.<span.class="t2_0">0x22ba9e. |
| 8d5c0 | 69 6e 20 73 74 64 2e 73 70 65 63 69 61 6c 2e 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e | in.std.special.main.(test)</span |
| 8d5e0 | 3e 0a 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 3b | >.........}.else.test_fn.func(); |
| 8d600 | 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 3c 73 70 61 | ............................<spa |
| 8d620 | 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 |
| 8d640 | 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 | lass="t37_1">/deps/zig/lib/std/s |
| 8d660 | 74 61 72 74 2e 7a 69 67 3a 32 35 33 3a 33 37 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c | tart.zig:253:37</span>:.<span.cl |
| 8d680 | 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 35 63 64 20 69 6e 20 73 74 64 2e 73 74 61 72 74 | ass="t2_0">0x2055cd.in.std.start |
| 8d6a0 | 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 |
| 8d6c0 | 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 72 65 73 75 6c 74 20 3d 20 72 | an>.............const.result.=.r |
| 8d6e0 | 6f 6f 74 2e 6d 61 69 6e 28 29 20 63 61 74 63 68 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 | oot.main().catch.|err|.{........ |
| 8d700 | 20 20 20 20 20 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 |
| 8d720 | 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 | an.class="t32_1">^</span>.<span. |
| 8d740 | 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f | class="t37_1">/deps/zig/lib/std/ |
| 8d760 | 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c | start.zig:123:5</span>:.<span.cl |
| 8d780 | 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 35 33 30 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 | ass="t2_0">0x20530f.in.std.start |
| 8d7a0 | 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 | ._start.(test)</span>.....@call( |
| 8d7c0 | 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 | .{..modifier.=..never_inline.},. |
| 8d7e0 | 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 0a 20 20 20 20 | posixCallMainAndExit,..{});..... |
| 8d800 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 0a 54 65 | <span.class="t32_1">^</span>..Te |
| 8d820 | 73 74 73 20 66 61 69 6c 65 64 2e 20 55 73 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f | sts.failed..Use.the.following.co |
| 8d840 | 6d 6d 61 6e 64 20 74 6f 20 72 65 70 72 6f 64 75 63 65 20 74 68 65 20 66 61 69 6c 75 72 65 3a 0a | mmand.to.reproduce.the.failure:. |
| 8d860 | 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 0a 3c 2f 63 6f 64 65 | /deps/zig/docgen_tmp/test.</code |
| 8d880 | 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 52 65 61 63 68 69 6e 67 2d | ></pre>........<h2.id="Reaching- |
| 8d8a0 | 55 6e 72 65 61 63 68 61 62 6c 65 2d 43 6f 64 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d | Unreachable-Code"><a.href="#toc- |
| 8d8c0 | 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 52 65 61 63 68 | Reaching-Unreachable-Code">Reach |
| 8d8e0 | 69 6e 67 20 55 6e 72 65 61 63 68 61 62 6c 65 20 43 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 | ing.Unreachable.Code</a>.<a.clas |
| 8d900 | 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 65 61 63 68 69 6e 67 2d 55 6e 72 65 61 63 68 61 | s="hdr".href="#Reaching-Unreacha |
| 8d920 | 62 6c 65 2d 43 6f 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e | ble-Code">..</a></h2>........<p> |
| 8d940 | 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 70 20 63 6c | At.compile-time:</p>.......<p.cl |
| 8d960 | 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 | ass="file">test.zig</p><pre><cod |
| 8d980 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | e.class="zig"><span.class="tok-k |
| 8d9a0 | 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 | w">comptime</span>.{.....assert( |
| 8d9c0 | 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 |
| 8d9e0 | 61 6e 3e 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c | an>);.}.<span.class="tok-kw">fn< |
| 8da00 | 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 73 73 65 | /span>.<span.class="tok-fn">asse |
| 8da20 | 72 74 3c 2f 73 70 61 6e 3e 28 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | rt</span>(ok:.<span.class="tok-t |
| 8da40 | 79 70 65 22 3e 62 6f 6f 6c 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ype">bool</span>).<span.class="t |
| 8da60 | 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e | ok-type">void</span>.{.....<span |
| 8da80 | 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 29 20 | .class="tok-kw">if</span>.(!ok). |
| 8daa0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 72 65 61 63 68 61 62 6c 65 | <span.class="tok-kw">unreachable |
| 8dac0 | 3c 2f 73 70 61 6e 3e 3b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e | </span>;.<span.class="tok-commen |
| 8dae0 | 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 0a 7d | t">//.assertion.failure</span>.} |
| 8db00 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 | </code></pre><pre><code.class="s |
| 8db20 | 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 | hell">$.zig.test.test.zig.<span. |
| 8db40 | 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 |
| 8db60 | 69 67 3a 35 3a 31 34 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 31 | ig:5:14:.</span><span.class="t31 |
| 8db80 | 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 |
| 8dba0 | 30 5f 31 22 3e 75 6e 61 62 6c 65 20 74 6f 20 65 76 61 6c 75 61 74 65 20 63 6f 6e 73 74 61 6e 74 | 0_1">unable.to.evaluate.constant |
| 8dbc0 | 20 65 78 70 72 65 73 73 69 6f 6e 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 69 66 20 28 21 6f 6b 29 20 | .expression</span>.....if.(!ok). |
| 8dbe0 | 75 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 66 61 69 6c 75 72 | unreachable;.//.assertion.failur |
| 8dc00 | 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f | e..............<span.class="t32_ |
| 8dc20 | 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 74 30 5f 31 22 3e 2e | 1">^</span>.<span.class="t0_1">. |
| 8dc40 | 2f 64 6f 63 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 | /docgen_tmp/test.zig:2:11:.</spa |
| 8dc60 | 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 |
| 8dc80 | 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 |
| 8dca0 | 6d 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b | m.here</span>.....assert(false); |
| 8dcc0 | 0a 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e | ...........<span.class="t32_1">^ |
| 8dce0 | 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 6f 63 | </span>.<span.class="t0_1">./doc |
| 8dd00 | 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 3a 31 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 | gen_tmp/test.zig:1:10:.</span><s |
| 8dd20 | 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>< |
| 8dd40 | 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 |
| 8dd60 | 72 65 3c 2f 73 70 61 6e 3e 0a 63 6f 6d 70 74 69 6d 65 20 7b 0a 20 20 20 20 20 20 20 20 20 3c 73 | re</span>.comptime.{..........<s |
| 8dd80 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e | pan.class="t32_1">^</span>.<span |
| 8dda0 | 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. |
| 8ddc0 | 7a 69 67 3a 32 3a 31 31 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 | zig:2:11:.</span><span.class="t3 |
| 8dde0 | 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 |
| 8de00 | 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 | 0_1">referenced.here</span>..... |
| 8de20 | 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 | assert(false);...........<span.c |
| 8de40 | 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 | lass="t32_1">^</span>.</code></p |
| 8de60 | 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 | re>........<p>At.runtime:</p>... |
| 8de80 | 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e | ....<p.class="file">test.zig</p> |
| 8dea0 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | <pre><code.class="zig"><span.cla |
| 8dec0 | 73 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.=.< |
| 8dee0 | 73 70 61 6e 20 63 6c 61 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 |
| 8df00 | 3c 2f 73 70 61 6e 3e 28 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 |
| 8df20 | 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c | uot;std"</span>);..<span.cl |
| 8df40 | 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 |
| 8df60 | 61 73 73 3d 22 74 6f 6b 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 |
| 8df80 | 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. |
| 8dfa0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 | class="tok-type">void</span>.{.. |
| 8dfc0 | 20 20 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ...std.debug.assert(<span.class= |
| 8dfe0 | 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 | "tok-null">false</span>);.}</cod |
| 8e000 | 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 | e></pre><pre><code.class="shell" |
| 8e020 | 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 | >$.zig.build-exe.test.zig.$../te |
| 8e040 | 73 74 0a 72 65 61 63 68 65 64 20 75 6e 72 65 61 63 68 61 62 6c 65 20 63 6f 64 65 0a 3c 73 70 61 | st.reached.unreachable.code.<spa |
| 8e060 | 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 | n.class="t37_1">/deps/zig/lib/st |
| 8e080 | 64 2f 64 65 62 75 67 2e 7a 69 67 3a 32 32 38 3a 31 34 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e | d/debug.zig:228:14</span>:.<span |
| 8e0a0 | 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 33 63 62 62 20 69 6e 20 73 74 64 2e 64 65 | .class="t2_0">0x203cbb.in.std.de |
| 8e0c0 | 62 75 67 2e 61 73 73 65 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 69 66 20 | bug.assert.(test)</span>.....if. |
| 8e0e0 | 28 21 6f 6b 29 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 20 2f 2f 20 61 73 73 65 72 74 69 6f 6e 20 | (!ok).unreachable;.//.assertion. |
| 8e100 | 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | failure..............<span.class |
| 8e120 | 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 74 | ="t32_1">^</span>.<span.class="t |
| 8e140 | 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e | 37_1">/deps/zig/docgen_tmp/test. |
| 8e160 | 7a 69 67 3a 34 3a 32 31 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 | zig:4:21</span>:.<span.class="t2 |
| 8e180 | 5f 30 22 3e 30 78 32 32 61 37 64 61 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 | _0">0x22a7da.in.main.(test)</spa |
| 8e1a0 | 6e 3e 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 28 66 61 6c 73 65 29 3b 0a | n>.....std.debug.assert(false);. |
| 8e1c0 | 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= |
| 8e1e0 | 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 74 33 | "t32_1">^</span>.<span.class="t3 |
| 8e200 | 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 | 7_1">/deps/zig/lib/std/start.zig |
| 8e220 | 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f | :243:22</span>:.<span.class="t2_ |
| 8e240 | 30 22 3e 30 78 32 30 34 36 64 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 | 0">0x2046df.in.std.start.posixCa |
| 8e260 | 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 0a 20 20 20 20 | llMainAndExit.(test)</span>..... |
| 8e280 | 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 | ........root.main();............ |
| 8e2a0 | 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">^< |
| 8e2c0 | 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 | /span>.<span.class="t37_1">/deps |
| 8e2e0 | 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 3a 35 3c 2f 73 70 | /zig/lib/std/start.zig:123:5</sp |
| 8e300 | 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 34 34 62 66 | an>:.<span.class="t2_0">0x2044bf |
| 8e320 | 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 | .in.std.start._start.(test)</spa |
| 8e340 | 6e 3e 0a 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 | n>.....@call(.{..modifier.=..nev |
| 8e360 | 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 |
| 8e380 | 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 | t,..{});.....<span.class="t32_1" |
| 8e3a0 | 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 | >^</span>.(process.terminated.by |
| 8e3c0 | 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 | .signal)</code></pre>........... |
| 8e3e0 | 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 2d 42 6f 75 6e 64 73 22 | ....<h2.id="Index-out-of-Bounds" |
| 8e400 | 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 2d 42 6f 75 6e | ><a.href="#toc-Index-out-of-Boun |
| 8e420 | 64 73 22 3e 49 6e 64 65 78 20 6f 75 74 20 6f 66 20 42 6f 75 6e 64 73 3c 2f 61 3e 20 3c 61 20 63 | ds">Index.out.of.Bounds</a>.<a.c |
| 8e440 | 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 64 65 78 2d 6f 75 74 2d 6f 66 2d 42 | lass="hdr".href="#Index-out-of-B |
| 8e460 | 6f 75 6e 64 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 | ounds">..</a></h2>........<p>At. |
| 8e480 | 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 70 20 63 6c 61 73 73 | compile-time:</p>.......<p.class |
| 8e4a0 | 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | ="file">test.zig</p><pre><code.c |
| 8e4c0 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | lass="zig"><span.class="tok-kw"> |
| 8e4e0 | 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | comptime</span>.{.....<span.clas |
| 8e500 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 3a 20 5b | s="tok-kw">const</span>.array:.[ |
| 8e520 | 3c 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 |
| 8e540 | 3e 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 | >]<span.class="tok-type">u8</spa |
| 8e560 | 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 | n>.=.<span.class="tok-str">" |
| 8e580 | 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2e 2a 3b 0a 20 20 20 20 3c 73 70 61 6e | ;hello"</span>.*;.....<span |
| 8e5a0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 67 61 72 | .class="tok-kw">const</span>.gar |
| 8e5c0 | 62 61 67 65 20 3d 20 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 | bage.=.array[<span.class="tok-nu |
| 8e5e0 | 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c | mber">5</span>];.}</code></pre>< |
| 8e600 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 | pre><code.class="shell">$.zig.te |
| 8e620 | 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e | st.test.zig.<span.class="t0_1">. |
| 8e640 | 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 32 36 3a 20 3c 2f 73 70 61 | /docgen_tmp/test.zig:3:26:.</spa |
| 8e660 | 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 |
| 8e680 | 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 69 6e 64 65 78 20 35 20 6f | pan><span.class="t0_1">index.5.o |
| 8e6a0 | 75 74 73 69 64 65 20 61 72 72 61 79 20 6f 66 20 73 69 7a 65 20 35 3c 2f 73 70 61 6e 3e 0a 20 20 | utside.array.of.size.5</span>... |
| 8e6c0 | 20 20 63 6f 6e 73 74 20 67 61 72 62 61 67 65 20 3d 20 61 72 72 61 79 5b 35 5d 3b 0a 20 20 20 20 | ..const.garbage.=.array[5];..... |
| 8e6e0 | 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 |
| 8e700 | 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a | ="t32_1">^</span>.</code></pre>. |
| 8e720 | 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 | .......<p>At.runtime:</p>....... |
| 8e740 | 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 | <p.class="file">test.zig</p><pre |
| 8e760 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| 8e780 | 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=" |
| 8e7a0 | 74 6f 6b 2d 6b 77 22 3e 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 |
| 8e7c0 | 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 |
| 8e7e0 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 | ="tok-type">void</span>.{.....<s |
| 8e800 | 70 61 6e 20 63 6c 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 20 | pan.class="tok-kw">var</span>.x. |
| 8e820 | 3d 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f | =.foo(<span.class="tok-str">&quo |
| 8e840 | 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 | t;hello"</span>);.}..<span. |
| 8e860 | 63 6c 61 73 73 3d 22 74 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 |
| 8e880 | 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 5b 5d 3c 73 | lass="tok-fn">foo</span>(x:.[]<s |
| 8e8a0 | 70 61 6e 20 63 6c 61 73 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>. |
| 8e8c0 | 3c 73 70 61 6e 20 63 6c 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> |
| 8e8e0 | 29 20 3c 73 70 61 6e 20 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 |
| 8e900 | 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 | n>.{.....<span.class="tok-kw">re |
| 8e920 | 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 78 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e | turn</span>.x[<span.class="tok-n |
| 8e940 | 75 6d 62 65 72 22 3e 35 3c 2f 73 70 61 6e 3e 5d 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | umber">5</span>];.}</code></pre> |
| 8e960 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 | <pre><code.class="shell">$.zig.b |
| 8e980 | 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 73 74 0a 69 6e 64 65 78 | uild-exe.test.zig.$../test.index |
| 8e9a0 | 20 6f 75 74 20 6f 66 20 62 6f 75 6e 64 73 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f | .out.of.bounds.<span.class="t37_ |
| 8e9c0 | 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 | 1">/deps/zig/docgen_tmp/test.zig |
| 8e9e0 | 3a 36 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 30 22 | :6:13</span>:.<span.class="t2_0" |
| 8ea00 | 3e 30 78 32 32 65 39 36 39 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 | >0x22e969.in.foo.(test)</span>.. |
| 8ea20 | 20 20 20 72 65 74 75 72 6e 20 78 5b 35 5d 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 | ...return.x[5];.............<spa |
| 8ea40 | 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 |
| 8ea60 | 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d | lass="t37_1">/deps/zig/docgen_tm |
| 8ea80 | 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 36 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c | p/test.zig:2:16</span>:.<span.cl |
| 8eaa0 | 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 61 37 65 36 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 | ass="t2_0">0x22a7e6.in.main.(tes |
| 8eac0 | 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 76 61 72 20 78 20 3d 20 66 6f 6f 28 26 71 75 6f 74 3b | t)</span>.....var.x.=.foo(" |
| 8eae0 | 68 65 6c 6c 6f 26 71 75 6f 74 3b 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 | hello");................<sp |
| 8eb00 | 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 | an.class="t32_1">^</span>.<span. |
| 8eb20 | 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f | class="t37_1">/deps/zig/lib/std/ |
| 8eb40 | 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 | start.zig:243:22</span>:.<span.c |
| 8eb60 | 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 36 64 66 20 69 6e 20 73 74 64 2e 73 74 61 72 | lass="t2_0">0x2046df.in.std.star |
| 8eb80 | 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 | t.posixCallMainAndExit.(test)</s |
| 8eba0 | 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 | pan>.............root.main();... |
| 8ebc0 | 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=" |
| 8ebe0 | 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 74 33 37 | t32_1">^</span>.<span.class="t37 |
| 8ec00 | 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a | _1">/deps/zig/lib/std/start.zig: |
| 8ec20 | 31 32 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 | 123:5</span>:.<span.class="t2_0" |
| 8ec40 | 3e 30 78 32 30 34 34 62 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 | >0x2044bf.in.std.start._start.(t |
| 8ec60 | 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 | est)</span>.....@call(.{..modifi |
| 8ec80 | 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 |
| 8eca0 | 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | ainAndExit,..{});.....<span.clas |
| 8ecc0 | 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d | s="t32_1">^</span>.(process.term |
| 8ece0 | 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a | inated.by.signal)</code></pre>.. |
| 8ed00 | 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 61 73 74 2d 4e 65 67 61 74 69 | .............<h2.id="Cast-Negati |
| 8ed20 | 76 65 2d 4e 75 6d 62 65 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 3e 3c | ve-Number-to-Unsigned-Integer">< |
| 8ed40 | 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 73 74 2d 4e 65 67 61 74 69 76 65 2d 4e 75 6d 62 65 | a.href="#toc-Cast-Negative-Numbe |
| 8ed60 | 72 2d 74 6f 2d 55 6e 73 69 67 6e 65 64 2d 49 6e 74 65 67 65 72 22 3e 43 61 73 74 20 4e 65 67 61 | r-to-Unsigned-Integer">Cast.Nega |
| 8ed80 | 74 69 76 65 20 4e 75 6d 62 65 72 20 74 6f 20 55 6e 73 69 67 6e 65 64 20 49 6e 74 65 67 65 72 3c | tive.Number.to.Unsigned.Integer< |
| 8eda0 | 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 61 73 74 2d 4e | /a>.<a.class="hdr".href="#Cast-N |
| 8edc0 | 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 |
| 8ede0 | 65 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 41 74 20 63 6f 6d | er">..</a></h2>........<p>At.com |
| 8ee00 | 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 | pile-time:</p>.......<p.class="f |
| 8ee20 | 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | ile">test.zig</p><pre><code.clas |
| 8ee40 | 73 3d 22 7a 69 67 22 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 | s="zig"><span.class="tok-kw">com |
| 8ee60 | 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ptime</span>.{.....<span.class=" |
| 8ee80 | 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c 73 70 61 | tok-kw">const</span>.value:.<spa |
| 8eea0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 | n.class="tok-type">i32</span>.=. |
| 8eec0 | 2d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 | -<span.class="tok-number">1</spa |
| 8eee0 | 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | n>;.....<span.class="tok-kw">con |
| 8ef00 | 73 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 | st</span>.unsigned.=.<span.class |
| 8ef20 | 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c | ="tok-builtin">@intCast</span>(< |
| 8ef40 | 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> |
| 8ef60 | 2c 20 76 61 6c 75 65 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f | ,.value);.}</code></pre><pre><co |
| 8ef80 | 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 | de.class="shell">$.zig.test.test |
| 8efa0 | 2e 7a 69 67 0a 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 | .zig.<span.class="t0_1">./docgen |
| 8efc0 | 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 33 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e | _tmp/test.zig:3:36:.</span><span |
| 8efe0 | 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 |
| 8f000 | 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 6e 6e 6f 74 20 63 61 73 74 20 6e 65 67 61 | an.class="t0_1">cannot.cast.nega |
| 8f020 | 74 69 76 65 20 76 61 6c 75 65 20 2d 31 20 74 6f 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 | tive.value.-1.to.unsigned.intege |
| 8f040 | 72 20 74 79 70 65 20 27 75 33 32 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f 6e 73 74 20 75 6e | r.type.'u32'</span>.....const.un |
| 8f060 | 73 69 67 6e 65 64 20 3d 20 40 69 6e 74 43 61 73 74 28 75 33 32 2c 20 76 61 6c 75 65 29 3b 0a 20 | signed.=.@intCast(u32,.value);.. |
| 8f080 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 8f0a0 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c | ..<span.class="t32_1">^</span>.< |
| 8f0c0 | 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 |
| 8f0e0 | 65 73 74 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 | est.zig:3:22:.</span><span.class |
| 8f100 | 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 |
| 8f120 | 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a | s="t0_1">referenced.here</span>. |
| 8f140 | 20 20 20 20 63 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 | ....const.unsigned.=.@intCast(u3 |
| 8f160 | 32 2c 20 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 2,.value);...................... |
| 8f180 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 | <span.class="t32_1">^</span>.</c |
| 8f1a0 | 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a | ode></pre>........<p>At.runtime: |
| 8f1c0 | 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e | </p>.......<p.class="file">test. |
| 8f1e0 | 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | zig</p><pre><code.class="zig"><s |
| 8f200 | 70 61 6e 20 63 6c 61 73 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>. |
| 8f220 | 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"> |
| 8f240 | 40 69 6d 70 6f 72 74 3c 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- |
| 8f260 | 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c | str">"std"</span>);..< |
| 8f280 | 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>.< |
| 8f2a0 | 73 70 61 6e 20 63 6c 61 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 |
| 8f2c0 | 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>() |
| 8f2e0 | 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 |
| 8f300 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 | an>.{.....<span.class="tok-kw">v |
| 8f320 | 61 72 3c 2f 73 70 61 6e 3e 20 76 61 6c 75 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ar</span>.value:.<span.class="to |
| 8f340 | 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 2d 3c 73 70 61 6e 20 63 6c 61 73 | k-type">i32</span>.=.-<span.clas |
| 8f360 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 | s="tok-number">1</span>;.....<sp |
| 8f380 | 61 6e 20 63 6c 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 6e 73 | an.class="tok-kw">var</span>.uns |
| 8f3a0 | 69 67 6e 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e | igned.=.<span.class="tok-builtin |
| 8f3c0 | 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ">@intCast</span>(<span.class="t |
| 8f3e0 | 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 20 76 61 6c 75 65 29 3b 0a 20 20 20 | ok-type">u32</span>,.value);.... |
| 8f400 | 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | .std.debug.warn(<span.class="tok |
| 8f420 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 | -str">"value:.{}\n"</s |
| 8f440 | 70 61 6e 3e 2c 20 2e 7b 75 6e 73 69 67 6e 65 64 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | pan>,..{unsigned});.}</code></pr |
| 8f460 | 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 | e><pre><code.class="shell">$.zig |
| 8f480 | 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 73 74 0a 61 74 74 | .build-exe.test.zig.$../test.att |
| 8f4a0 | 65 6d 70 74 20 74 6f 20 63 61 73 74 20 6e 65 67 61 74 69 76 65 20 76 61 6c 75 65 20 74 6f 20 75 | empt.to.cast.negative.value.to.u |
| 8f4c0 | 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 65 72 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 | nsigned.integer.<span.class="t37 |
| 8f4e0 | 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 | _1">/deps/zig/docgen_tmp/test.zi |
| 8f500 | 67 3a 35 3a 32 30 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 | g:5:20</span>:.<span.class="t2_0 |
| 8f520 | 22 3e 30 78 32 32 61 38 36 37 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e | ">0x22a867.in.main.(test)</span> |
| 8f540 | 0a 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 75 33 32 | .....var.unsigned.=.@intCast(u32 |
| 8f560 | 2c 20 76 61 6c 75 65 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 | ,.value);....................<sp |
| 8f580 | 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 | an.class="t32_1">^</span>.<span. |
| 8f5a0 | 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f | class="t37_1">/deps/zig/lib/std/ |
| 8f5c0 | 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 | start.zig:243:22</span>:.<span.c |
| 8f5e0 | 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 37 32 66 20 69 6e 20 73 74 64 2e 73 74 61 72 | lass="t2_0">0x20472f.in.std.star |
| 8f600 | 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 | t.posixCallMainAndExit.(test)</s |
| 8f620 | 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 | pan>.............root.main();... |
| 8f640 | 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=" |
| 8f660 | 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 74 33 37 | t32_1">^</span>.<span.class="t37 |
| 8f680 | 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a | _1">/deps/zig/lib/std/start.zig: |
| 8f6a0 | 31 32 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 | 123:5</span>:.<span.class="t2_0" |
| 8f6c0 | 3e 30 78 32 30 34 35 30 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 | >0x20450f.in.std.start._start.(t |
| 8f6e0 | 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 | est)</span>.....@call(.{..modifi |
| 8f700 | 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 |
| 8f720 | 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | ainAndExit,..{});.....<span.clas |
| 8f740 | 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d | s="t32_1">^</span>.(process.term |
| 8f760 | 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a | inated.by.signal)</code></pre>.. |
| 8f780 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 6f 62 74 61 69 6e 20 74 68 65 20 6d 61 | ......<p>.......To.obtain.the.ma |
| 8f7a0 | 78 69 6d 75 6d 20 76 61 6c 75 65 20 6f 66 20 61 6e 20 75 6e 73 69 67 6e 65 64 20 69 6e 74 65 67 | ximum.value.of.an.unsigned.integ |
| 8f7c0 | 65 72 2c 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 74 64 2e 6d 61 | er,.use.<code.class="zig">std.ma |
| 8f7e0 | 74 68 2e 6d 61 78 49 6e 74 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 | th.maxInt</code>........</p>.... |
| 8f800 | 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 61 73 74 2d 54 72 75 6e 63 61 74 65 73 | ..........<h2.id="Cast-Truncates |
| 8f820 | 2d 44 61 74 61 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 61 73 74 2d 54 72 75 6e 63 61 | -Data"><a.href="#toc-Cast-Trunca |
| 8f840 | 74 65 73 2d 44 61 74 61 22 3e 43 61 73 74 20 54 72 75 6e 63 61 74 65 73 20 44 61 74 61 3c 2f 61 | tes-Data">Cast.Truncates.Data</a |
| 8f860 | 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 61 73 74 2d 54 72 75 | >.<a.class="hdr".href="#Cast-Tru |
| 8f880 | 6e 63 61 74 65 73 2d 44 61 74 61 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 | ncates-Data">..</a></h2>........ |
| 8f8a0 | 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 70 | <p>At.compile-time:</p>.......<p |
| 8f8c0 | 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c | .class="file">test.zig</p><pre>< |
| 8f8e0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 8f900 | 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 | k-kw">comptime</span>.{.....<spa |
| 8f920 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 70 | n.class="tok-kw">const</span>.sp |
| 8f940 | 61 72 74 61 6e 5f 63 6f 75 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | artan_count:.<span.class="tok-ty |
| 8f960 | 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | pe">u16</span>.=.<span.class="to |
| 8f980 | 6b 2d 6e 75 6d 62 65 72 22 3e 33 30 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 | k-number">300</span>;.....<span. |
| 8f9a0 | 63 6c 61 73 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 |
| 8f9c0 | 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e | .=.<span.class="tok-builtin">@in |
| 8f9e0 | 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | tCast</span>(<span.class="tok-ty |
| 8fa00 | 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 0a 7d | pe">u8</span>,.spartan_count);.} |
| 8fa20 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 | </code></pre><pre><code.class="s |
| 8fa40 | 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 | hell">$.zig.test.test.zig.<span. |
| 8fa60 | 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 |
| 8fa80 | 69 67 3a 33 3a 33 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 31 | ig:3:31:.</span><span.class="t31 |
| 8faa0 | 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 |
| 8fac0 | 30 5f 31 22 3e 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 33 30 30 20 63 61 6e 6e 6f 74 20 62 65 | 0_1">integer.value.300.cannot.be |
| 8fae0 | 20 63 6f 65 72 63 65 64 20 74 6f 20 74 79 70 65 20 27 75 38 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 | .coerced.to.type.'u8'</span>.... |
| 8fb00 | 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 72 74 | .const.byte.=.@intCast(u8,.spart |
| 8fb20 | 61 6e 5f 63 6f 75 6e 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | an_count);...................... |
| 8fb40 | 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">^</ |
| 8fb60 | 73 70 61 6e 3e 0a 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 | span>.<span.class="t0_1">./docge |
| 8fb80 | 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 | n_tmp/test.zig:3:18:.</span><spa |
| 8fba0 | 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 |
| 8fbc0 | 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 20 68 65 72 65 3c | an.class="t0_1">referenced.here< |
| 8fbe0 | 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f 6e 73 74 20 62 79 74 65 20 3d 20 40 69 6e 74 43 61 73 74 | /span>.....const.byte.=.@intCast |
| 8fc00 | 28 75 38 2c 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 | (u8,.spartan_count);............ |
| 8fc20 | 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 |
| 8fc40 | 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 | n>.</code></pre>........<p>At.ru |
| 8fc60 | 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 | ntime:</p>.......<p.class="file" |
| 8fc80 | 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | >test.zig</p><pre><code.class="z |
| 8fca0 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | ig"><span.class="tok-kw">const</ |
| 8fcc0 | 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 |
| 8fce0 | 6c 74 69 6e 22 3e 40 69 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 |
| 8fd00 | 3d 22 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">"std"</span |
| 8fd20 | 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 | >);..<span.class="tok-kw">pub</s |
| 8fd40 | 70 61 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 |
| 8fd60 | 61 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 |
| 8fd80 | 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f | pan>().<span.class="tok-type">vo |
| 8fda0 | 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | id</span>.{.....<span.class="tok |
| 8fdc0 | 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 3a 20 3c | -kw">var</span>.spartan_count:.< |
| 8fde0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 31 36 3c 2f 73 70 61 6e 3e | span.class="tok-type">u16</span> |
| 8fe00 | 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 33 30 30 3c | .=.<span.class="tok-number">300< |
| 8fe20 | 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | /span>;.....<span.class="tok-kw" |
| 8fe40 | 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 79 74 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | >const</span>.byte.=.<span.class |
| 8fe60 | 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6e 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 3c | ="tok-builtin">@intCast</span>(< |
| 8fe80 | 73 70 61 6e 20 63 6c 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>, |
| 8fea0 | 20 73 70 61 72 74 61 6e 5f 63 6f 75 6e 74 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 | .spartan_count);.....std.debug.w |
| 8fec0 | 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b | arn(<span.class="tok-str">" |
| 8fee0 | 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 74 65 | value:.{}\n"</span>,..{byte |
| 8ff00 | 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | });.}</code></pre><pre><code.cla |
| 8ff20 | 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e | ss="shell">$.zig.build-exe.test. |
| 8ff40 | 7a 69 67 0a 24 20 2e 2f 74 65 73 74 0a 69 6e 74 65 67 65 72 20 63 61 73 74 20 74 72 75 6e 63 61 | zig.$../test.integer.cast.trunca |
| 8ff60 | 74 65 64 20 62 69 74 73 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 | ted.bits.<span.class="t37_1">/de |
| 8ff80 | 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 38 3c | ps/zig/docgen_tmp/test.zig:5:18< |
| 8ffa0 | 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 61 | /span>:.<span.class="t2_0">0x22a |
| 8ffc0 | 38 36 63 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f | 86c.in.main.(test)</span>.....co |
| 8ffe0 | 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_ |
| 90000 | 63 6f 75 6e 74 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 | count);..................<span.c |
| 90020 | 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 | lass="t32_1">^</span>.<span.clas |
| 90040 | 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 | s="t37_1">/deps/zig/lib/std/star |
| 90060 | 74 2e 7a 69 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | t.zig:243:22</span>:.<span.class |
| 90080 | 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 37 32 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f | ="t2_0">0x20472f.in.std.start.po |
| 900a0 | 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e | sixCallMainAndExit.(test)</span> |
| 900c0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 | .............root.main();....... |
| 900e0 | 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_ |
| 90100 | 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 74 33 37 5f 31 22 3e | 1">^</span>.<span.class="t37_1"> |
| 90120 | 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 3a | /deps/zig/lib/std/start.zig:123: |
| 90140 | 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 | 5</span>:.<span.class="t2_0">0x2 |
| 90160 | 30 34 35 30 66 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 | 0450f.in.std.start._start.(test) |
| 90180 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d | </span>.....@call(.{..modifier.= |
| 901a0 | 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 |
| 901c0 | 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ndExit,..{});.....<span.class="t |
| 901e0 | 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 | 32_1">^</span>.(process.terminat |
| 90200 | 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 | ed.by.signal)</code></pre>...... |
| 90220 | 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 74 72 75 6e 63 61 74 65 20 62 69 74 73 2c 20 75 73 | ..<p>.......To.truncate.bits,.us |
| 90240 | 65 20 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 61 74 65 3c | e.<a.href="#truncate">@truncate< |
| 90260 | 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 | /a>........</p>..............<h2 |
| 90280 | 20 69 64 3d 22 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 | .id="Integer-Overflow"><a.href=" |
| 902a0 | 23 74 6f 63 2d 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e 49 6e 74 65 67 65 72 20 4f | #toc-Integer-Overflow">Integer.O |
| 902c0 | 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 3d | verflow</a>.<a.class="hdr".href= |
| 902e0 | 22 23 49 6e 74 65 67 65 72 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a | "#Integer-Overflow">..</a></h2>. |
| 90300 | 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 6f 6e | .......<h3.id="Default-Operation |
| 90320 | 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 69 | s"><a.href="#toc-Default-Operati |
| 90340 | 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 20 3c 61 20 63 | ons">Default.Operations</a>.<a.c |
| 90360 | 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 44 65 66 61 75 6c 74 2d 4f 70 65 72 61 74 | lass="hdr".href="#Default-Operat |
| 90380 | 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 | ions">..</a></h3>........<p>The. |
| 903a0 | 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 65 72 61 74 6f 72 73 20 63 61 6e 20 63 61 75 73 65 20 69 6e | following.operators.can.cause.in |
| 903c0 | 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 | teger.overflow:</p>.......<ul>.. |
| 903e0 | 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2b | .........<li><code.class="zig">+ |
| 90400 | 3c 2f 63 6f 64 65 3e 20 28 61 64 64 69 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | </code>.(addition)</li>......... |
| 90420 | 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2d 3c 2f 63 6f 64 65 3e | ..<li><code.class="zig">-</code> |
| 90440 | 20 28 73 75 62 74 72 61 63 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c | .(subtraction)</li>...........<l |
| 90460 | 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2d 3c 2f 63 6f 64 65 3e 20 28 6e 65 | i><code.class="zig">-</code>.(ne |
| 90480 | 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 |
| 904a0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2a 3c 2f 63 6f 64 65 3e 20 28 6d 75 6c 74 69 70 6c 69 63 | .class="zig">*</code>.(multiplic |
| 904c0 | 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 20 | ation)</li>...........<li><code. |
| 904e0 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2f 3c 2f 63 6f 64 65 3e 20 28 64 69 76 69 73 69 6f 6e 29 3c | class="zig">/</code>.(division)< |
| 90500 | 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 72 | /li>.........<li><a.href="#divTr |
| 90520 | 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 6c | unc">@divTrunc</a>.(division)</l |
| 90540 | 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 6f | i>.........<li><a.href="#divFloo |
| 90560 | 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 3e | r">@divFloor</a>.(division)</li> |
| 90580 | 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 22 | .........<li><a.href="#divExact" |
| 905a0 | 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 20 | >@divExact</a>.(division)</li>.. |
| 905c0 | 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 68 | .....</ul>.......<p>Example.with |
| 905e0 | 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 20 | .addition.at.compile-time:</p>.. |
| 90600 | 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 | .....<p.class="file">test.zig</p |
| 90620 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ><pre><code.class="zig"><span.cl |
| 90640 | 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 0a 20 | ass="tok-kw">comptime</span>.{.. |
| 90660 | 20 20 20 3c 73 70 61 6e 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 |
| 90680 | 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 3e | n>.byte:.<span.class="tok-type"> |
| 906a0 | 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 |
| 906c0 | 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 62 79 74 65 20 2b 3d 20 3c 73 70 | ber">255</span>;.....byte.+=.<sp |
| 906e0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a | an.class="tok-number">1</span>;. |
| 90700 | 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | }</code></pre><pre><code.class=" |
| 90720 | 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e | shell">$.zig.test.test.zig.<span |
| 90740 | 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. |
| 90760 | 7a 69 67 3a 33 3a 31 30 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 | zig:3:10:.</span><span.class="t3 |
| 90780 | 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=" |
| 907a0 | 74 30 5f 31 22 3e 6f 70 65 72 61 74 69 6f 6e 20 63 61 75 73 65 64 20 6f 76 65 72 66 6c 6f 77 3c | t0_1">operation.caused.overflow< |
| 907c0 | 2f 73 70 61 6e 3e 0a 20 20 20 20 62 79 74 65 20 2b 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 3c | /span>.....byte.+=.1;..........< |
| 907e0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f | span.class="t32_1">^</span>.</co |
| 90800 | 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c | de></pre>........<p>At.runtime:< |
| 90820 | 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a | /p>.......<p.class="file">test.z |
| 90840 | 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ig</p><pre><code.class="zig"><sp |
| 90860 | 61 6e 20 63 6c 61 73 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 |
| 90880 | 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">@ |
| 908a0 | 69 6d 70 6f 72 74 3c 2f 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 |
| 908c0 | 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 | tr">"std"</span>);..<s |
| 908e0 | 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 |
| 90900 | 70 61 6e 20 63 6c 61 73 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 |
| 90920 | 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>(). |
| 90940 | 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 |
| 90960 | 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 | n>.{.....<span.class="tok-kw">va |
| 90980 | 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | r</span>.byte:.<span.class="tok- |
| 909a0 | 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | type">u8</span>.=.<span.class="t |
| 909c0 | 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 62 79 74 65 20 | ok-number">255</span>;.....byte. |
| 909e0 | 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 |
| 90a00 | 70 61 6e 3e 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 | pan>;.....std.debug.warn(<span.c |
| 90a20 | 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e | lass="tok-str">"value:.{}\n |
| 90a40 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 | "</span>,..{byte});.}</code |
| 90a60 | 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e | ></pre><pre><code.class="shell"> |
| 90a80 | 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 73 | $.zig.build-exe.test.zig.$../tes |
| 90aa0 | 74 0a 69 6e 74 65 67 65 72 20 6f 76 65 72 66 6c 6f 77 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | t.integer.overflow.<span.class=" |
| 90ac0 | 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 | t37_1">/deps/zig/docgen_tmp/test |
| 90ae0 | 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 6c 61 73 73 3d 22 74 | .zig:5:10</span>:.<span.class="t |
| 90b00 | 32 5f 30 22 3e 30 78 32 32 61 38 35 30 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 | 2_0">0x22a850.in.main.(test)</sp |
| 90b20 | 61 6e 3e 0a 20 20 20 20 62 79 74 65 20 2b 3d 20 31 3b 0a 20 20 20 20 20 20 20 20 20 3c 73 70 61 | an>.....byte.+=.1;..........<spa |
| 90b40 | 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 |
| 90b60 | 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 | lass="t37_1">/deps/zig/lib/std/s |
| 90b80 | 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c | tart.zig:243:22</span>:.<span.cl |
| 90ba0 | 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 37 32 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 | ass="t2_0">0x20472f.in.std.start |
| 90bc0 | 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 |
| 90be0 | 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 | an>.............root.main();.... |
| 90c00 | 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 |
| 90c20 | 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 74 33 37 5f | 32_1">^</span>.<span.class="t37_ |
| 90c40 | 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 | 1">/deps/zig/lib/std/start.zig:1 |
| 90c60 | 32 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e | 23:5</span>:.<span.class="t2_0"> |
| 90c80 | 30 78 32 30 34 35 30 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 | 0x20450f.in.std.start._start.(te |
| 90ca0 | 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 | st)</span>.....@call(.{..modifie |
| 90cc0 | 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 |
| 90ce0 | 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | inAndExit,..{});.....<span.class |
| 90d00 | 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 | ="t32_1">^</span>.(process.termi |
| 90d20 | 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 | nated.by.signal)</code></pre>... |
| 90d40 | 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 53 74 61 6e 64 61 72 64 2d 4c 69 62 | ............<h3.id="Standard-Lib |
| 90d60 | 72 61 72 79 2d 4d 61 74 68 2d 46 75 6e 63 74 69 6f 6e 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 | rary-Math-Functions"><a.href="#t |
| 90d80 | 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 |
| 90da0 | 6e 73 22 3e 53 74 61 6e 64 61 72 64 20 4c 69 62 72 61 72 79 20 4d 61 74 68 20 46 75 6e 63 74 69 | ns">Standard.Library.Math.Functi |
| 90dc0 | 6f 6e 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 | ons</a>.<a.class="hdr".href="#St |
| 90de0 | 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 c2 | andard-Library-Math-Functions">. |
| 90e00 | a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 73 65 20 66 75 6e 63 74 | .</a></h3>........<p>These.funct |
| 90e20 | 69 6f 6e 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 6c 69 | ions.provided.by.the.standard.li |
| 90e40 | 62 72 61 72 79 20 72 65 74 75 72 6e 20 70 6f 73 73 69 62 6c 65 20 65 72 72 6f 72 73 2e 3c 2f 70 | brary.return.possible.errors.</p |
| 90e60 | 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 | >.......<ul>...........<li><code |
| 90e80 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 | .class="zig"><span.class="tok-bu |
| 90ea0 | 69 6c 74 69 6e 22 3e 40 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 |
| 90ec0 | 73 3d 22 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">"std"</spa |
| 90ee0 | 6e 3e 29 2e 6d 61 74 68 2e 61 64 64 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 | n>).math.add</code></li>........ |
| 90f00 | 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | ...<li><code.class="zig"><span.c |
| 90f20 | 6c 61 73 73 3d 22 74 6f 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 |
| 90f40 | 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 | >(<span.class="tok-str">"st |
| 90f60 | 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 73 75 62 3c 2f 63 6f 64 65 3e 3c | d"</span>).math.sub</code>< |
| 90f80 | 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | /li>...........<li><code.class=" |
| 90fa0 | 7a 69 67 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 | zig"><span.class="tok-builtin">@ |
| 90fc0 | 69 6d 70 6f 72 74 3c 2f 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 |
| 90fe0 | 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 | tr">"std"</span>).math |
| 91000 | 2e 6d 75 6c 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 | .mul</code></li>...........<li>< |
| 91020 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 91040 | 6b 2d 62 75 69 6c 74 69 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. |
| 91060 | 63 6c 61 73 73 3d 22 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">"std"< |
| 91080 | 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 54 72 75 6e 63 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 | /span>).math.divTrunc</code></li |
| 910a0 | 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | >...........<li><code.class="zig |
| 910c0 | 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 69 6d 70 | "><span.class="tok-builtin">@imp |
| 910e0 | 6f 72 74 3c 2f 73 70 61 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" |
| 91100 | 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 64 69 | >"std"</span>).math.di |
| 91120 | 76 46 6c 6f 6f 72 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 | vFloor</code></li>...........<li |
| 91140 | 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ><code.class="zig"><span.class=" |
| 91160 | 74 6f 6b 2d 62 75 69 6c 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 |
| 91180 | 6e 20 63 6c 61 73 73 3d 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">"std" |
| 911a0 | 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 2e 64 69 76 45 78 61 63 74 3c 2f 63 6f 64 65 3e 3c 2f | ;</span>).math.divExact</code></ |
| 911c0 | 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | li>...........<li><code.class="z |
| 911e0 | 69 67 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 | ig"><span.class="tok-builtin">@i |
| 91200 | 6d 70 6f 72 74 3c 2f 73 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 |
| 91220 | 72 22 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">"std"</span>).math. |
| 91240 | 73 68 6c 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 | shl</code></li>.......</ul>..... |
| 91260 | 20 20 3c 70 3e 45 78 61 6d 70 6c 65 20 6f 66 20 63 61 74 63 68 69 6e 67 20 61 6e 20 6f 76 65 72 | ..<p>Example.of.catching.an.over |
| 91280 | 66 6c 6f 77 20 66 6f 72 20 61 64 64 69 74 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 | flow.for.addition:</p>.......<p. |
| 912a0 | 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 | class="file">test.zig</p><pre><c |
| 912c0 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 912e0 | 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 74 68 20 3d 20 3c 73 70 61 6e 20 63 | -kw">const</span>.math.=.<span.c |
| 91300 | 6c 61 73 73 3d 22 74 6f 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 |
| 91320 | 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 | >(<span.class="tok-str">"st |
| 91340 | 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 6d 61 74 68 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 | d"</span>).math;.<span.clas |
| 91360 | 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 61 72 6e 20 3d 20 3c | s="tok-kw">const</span>.warn.=.< |
| 91380 | 73 70 61 6e 20 63 6c 61 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 |
| 913a0 | 3c 2f 73 70 61 6e 3e 28 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 |
| 913c0 | 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 77 61 72 6e | uot;std"</span>).debug.warn |
| 913e0 | 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e | ;.<span.class="tok-kw">pub</span |
| 91400 | 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> |
| 91420 | 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 |
| 91440 | 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 |
| 91460 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | </span>.{.....<span.class="tok-k |
| 91480 | 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 79 74 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | w">var</span>.byte:.<span.class= |
| 914a0 | 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 |
| 914c0 | 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 32 35 35 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 | ss="tok-number">255</span>;..... |
| 914e0 | 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< |
| 91500 | 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 |
| 91520 | 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 |
| 91540 | 6c 61 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 |
| 91560 | 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 |
| 91580 | 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 77 61 | ">else</span>.|err|.{.........wa |
| 915a0 | 72 6e 28 3c 73 70 61 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 | rn(<span.class="tok-str">"u |
| 915c0 | 6e 61 62 6c 65 20 74 6f 20 61 64 64 20 6f 6e 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 | nable.to.add.one:.{}\n"</sp |
| 915e0 | 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" |
| 91600 | 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 29 7d 29 3b 0a 20 20 20 20 20 | >@errorName</span>(err)});...... |
| 91620 | 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</ |
| 91640 | 73 70 61 6e 3e 20 65 72 72 3b 0a 20 20 20 20 7d 3b 0a 0a 20 20 20 20 77 61 72 6e 28 3c 73 70 61 | span>.err;.....};......warn(<spa |
| 91660 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 72 65 73 75 6c 74 3a 20 | n.class="tok-str">"result:. |
| 91680 | 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 62 79 74 65 7d 29 3b 0a 7d 3c 2f | {}\n"</span>,..{byte});.}</ |
| 916a0 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 | code></pre><pre><code.class="she |
| 916c0 | 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e | ll">$.zig.build-exe.test.zig.$.. |
| 916e0 | 2f 74 65 73 74 0a 75 6e 61 62 6c 65 20 74 6f 20 61 64 64 20 6f 6e 65 3a 20 4f 76 65 72 66 6c 6f | /test.unable.to.add.one:.Overflo |
| 91700 | 77 0a 65 72 72 6f 72 3a 20 4f 76 65 72 66 6c 6f 77 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | w.error:.Overflow.<span.class="t |
| 91720 | 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 6d 61 74 68 2e 7a 69 67 | 37_1">/deps/zig/lib/std/math.zig |
| 91740 | 3a 33 34 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 | :342:5</span>:.<span.class="t2_0 |
| 91760 | 22 3e 30 78 32 32 65 65 37 30 20 69 6e 20 73 74 64 2e 6d 61 74 68 2e 61 64 64 20 28 74 65 73 74 | ">0x22ee70.in.std.math.add.(test |
| 91780 | 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e 20 69 66 20 28 40 61 64 64 57 69 74 68 | )</span>.....return.if.(@addWith |
| 917a0 | 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 73 77 65 72 29 29 20 | Overflow(T,.a,.b,.&answer)). |
| 917c0 | 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 72 3b 0a 20 20 20 20 | error.Overflow.else.answer;..... |
| 917e0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 | <span.class="t32_1">^</span>.<sp |
| 91800 | 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 | an.class="t37_1">/deps/zig/docge |
| 91820 | 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 70 61 6e | n_tmp/test.zig:8:9</span>:.<span |
| 91840 | 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 61 62 33 62 20 69 6e 20 6d 61 69 6e 20 28 | .class="t2_0">0x22ab3b.in.main.( |
| 91860 | 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 3b | test)</span>.........return.err; |
| 91880 | 0a 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">^</ |
| 918a0 | 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 | span>.</code></pre>............. |
| 918c0 | 20 20 3c 68 33 20 69 64 3d 22 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 | ..<h3.id="Builtin-Overflow-Funct |
| 918e0 | 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 6e 2d 4f 76 65 72 | ions"><a.href="#toc-Builtin-Over |
| 91900 | 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 6c 6f 77 | flow-Functions">Builtin.Overflow |
| 91920 | 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 68 72 | .Functions</a>.<a.class="hdr".hr |
| 91940 | 65 66 3d 22 23 42 75 69 6c 74 69 6e 2d 4f 76 65 72 66 6c 6f 77 2d 46 75 6e 63 74 69 6f 6e 73 22 | ef="#Builtin-Overflow-Functions" |
| 91960 | 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 | >..</a></h3>........<p>.......Th |
| 91980 | 65 73 65 20 62 75 69 6c 74 69 6e 73 20 72 65 74 75 72 6e 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 | ese.builtins.return.a.<code.clas |
| 919a0 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-type">b |
| 919c0 | 6f 6f 6c 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 6f 66 20 77 68 65 74 68 65 72 20 6f 72 20 | ool</span></code>.of.whether.or. |
| 919e0 | 6e 6f 74 20 6f 76 65 72 66 6c 6f 77 0a 20 20 20 20 20 20 6f 63 63 75 72 72 65 64 2c 20 61 73 20 | not.overflow.......occurred,.as. |
| 91a00 | 77 65 6c 6c 20 61 73 20 72 65 74 75 72 6e 69 6e 67 20 74 68 65 20 6f 76 65 72 66 6c 6f 77 65 64 | well.as.returning.the.overflowed |
| 91a20 | 20 62 69 74 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 | .bits:.......</p>.......<ul>.... |
| 91a40 | 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 68 4f 76 65 72 | .......<li><a.href="#addWithOver |
| 91a60 | 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3c 2f 6c 69 3e 0a | flow">@addWithOverflow</a></li>. |
| 91a80 | 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 73 75 62 57 69 74 68 4f | ..........<li><a.href="#subWithO |
| 91aa0 | 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 3c 2f 6c | verflow">@subWithOverflow</a></l |
| 91ac0 | 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 6d 75 6c 57 69 | i>...........<li><a.href="#mulWi |
| 91ae0 | 74 68 4f 76 65 72 66 6c 6f 77 22 3e 40 6d 75 6c 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e | thOverflow">@mulWithOverflow</a> |
| 91b00 | 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 73 68 | </li>...........<li><a.href="#sh |
| 91b20 | 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 72 66 6c 6f 77 3c | lWithOverflow">@shlWithOverflow< |
| 91b40 | 2f 61 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 | /a></li>.......</ul>.......<p>.. |
| 91b60 | 20 20 20 20 20 45 78 61 6d 70 6c 65 20 6f 66 20 3c 61 20 68 72 65 66 3d 22 23 61 64 64 57 69 74 | .....Example.of.<a.href="#addWit |
| 91b80 | 68 4f 76 65 72 66 6c 6f 77 22 3e 40 61 64 64 57 69 74 68 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 3a | hOverflow">@addWithOverflow</a>: |
| 91ba0 | 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 | .......</p>.......<p.class="file |
| 91bc0 | 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | ">test.zig</p><pre><code.class=" |
| 91be0 | 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c | zig"><span.class="tok-kw">const< |
| 91c00 | 2f 73 70 61 6e 3e 20 77 61 72 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 | /span>.warn.=.<span.class="tok-b |
| 91c20 | 75 69 6c 74 69 6e 22 3e 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 |
| 91c40 | 73 73 3d 22 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">"std"</sp |
| 91c60 | 61 6e 3e 29 2e 64 65 62 75 67 2e 77 61 72 6e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | an>).debug.warn;.<span.class="to |
| 91c80 | 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 |
| 91ca0 | 6b 2d 6b 77 22 3e 66 6e 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 |
| 91cc0 | 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=" |
| 91ce0 | 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 | tok-type">void</span>.{.....<spa |
| 91d00 | 6e 20 63 6c 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 |
| 91d20 | 3a 20 3c 73 70 61 6e 20 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 |
| 91d40 | 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 |
| 91d60 | 35 3c 2f 73 70 61 6e 3e 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | 5</span>;......<span.class="tok- |
| 91d80 | 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3a 20 3c 73 70 61 6e 20 63 6c 61 | kw">var</span>.result:.<span.cla |
| 91da0 | 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. |
| 91dc0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e | class="tok-null">undefined</span |
| 91de0 | 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f | >;.....<span.class="tok-kw">if</ |
| 91e00 | 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" |
| 91e20 | 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 73 70 61 6e 20 63 | >@addWithOverflow</span>(<span.c |
| 91e40 | 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 62 79 74 65 2c | lass="tok-type">u8</span>,.byte, |
| 91e60 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 | .<span.class="tok-number">10</sp |
| 91e80 | 61 6e 3e 2c 20 26 61 6d 70 3b 72 65 73 75 6c 74 29 29 20 7b 0a 20 20 20 20 20 20 20 20 77 61 72 | an>,.&result)).{.........war |
| 91ea0 | 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6f 76 | n(<span.class="tok-str">"ov |
| 91ec0 | 65 72 66 6c 6f 77 65 64 20 72 65 73 75 6c 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 | erflowed.result:.{}\n"</spa |
| 91ee0 | 6e 3e 2c 20 2e 7b 72 65 73 75 6c 74 7d 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c 61 73 | n>,..{result});.....}.<span.clas |
| 91f00 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 | s="tok-kw">else</span>.{........ |
| 91f20 | 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f | .warn(<span.class="tok-str">&quo |
| 91f40 | 74 3b 72 65 73 75 6c 74 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 72 | t;result:.{}\n"</span>,..{r |
| 91f60 | 65 73 75 6c 74 7d 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 | esult});.....}.}</code></pre><pr |
| 91f80 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c | e><code.class="shell">$.zig.buil |
| 91fa0 | 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 73 74 0a 6f 76 65 72 66 6c 6f 77 | d-exe.test.zig.$../test.overflow |
| 91fc0 | 65 64 20 72 65 73 75 6c 74 3a 20 39 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 | ed.result:.9.</code></pre>...... |
| 91fe0 | 20 20 0a 20 20 20 20 20 20 3c 68 33 20 69 64 3d 22 57 72 61 70 70 69 6e 67 2d 4f 70 65 72 61 74 | .........<h3.id="Wrapping-Operat |
| 92000 | 69 6f 6e 73 22 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 | ions"><a.href="#toc-Wrapping-Ope |
| 92020 | 72 61 74 69 6f 6e 73 22 3e 57 72 61 70 70 69 6e 67 20 4f 70 65 72 61 74 69 6f 6e 73 3c 2f 61 3e | rations">Wrapping.Operations</a> |
| 92040 | 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 72 61 70 70 69 6e 67 2d | .<a.class="hdr".href="#Wrapping- |
| 92060 | 4f 70 65 72 61 74 69 6f 6e 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 33 3e 0a 0a 20 20 20 20 20 20 3c | Operations">..</a></h3>........< |
| 92080 | 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 6f 70 65 72 61 74 69 6f 6e 73 20 68 61 76 65 20 67 | p>.......These.operations.have.g |
| 920a0 | 75 61 72 61 6e 74 65 65 64 20 77 72 61 70 61 72 6f 75 6e 64 20 73 65 6d 61 6e 74 69 63 73 2e 0a | uaranteed.wraparound.semantics.. |
| 920c0 | 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 20 | ......</p>.......<ul>........... |
| 920e0 | 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2b 25 3c 2f 63 6f 64 65 3e 20 | <li><code.class="zig">+%</code>. |
| 92100 | 28 77 72 61 70 61 72 6f 75 6e 64 20 61 64 64 69 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 | (wraparound.addition)</li>...... |
| 92120 | 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2d 25 3c 2f 63 | .....<li><code.class="zig">-%</c |
| 92140 | 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 73 75 62 74 72 61 63 74 69 6f 6e 29 3c 2f 6c | ode>.(wraparound.subtraction)</l |
| 92160 | 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | i>...........<li><code.class="zi |
| 92180 | 67 22 3e 2d 25 3c 2f 63 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 6e 65 67 61 74 69 6f | g">-%</code>.(wraparound.negatio |
| 921a0 | 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 20 63 6c 61 73 | n)</li>...........<li><code.clas |
| 921c0 | 73 3d 22 7a 69 67 22 3e 2a 25 3c 2f 63 6f 64 65 3e 20 28 77 72 61 70 61 72 6f 75 6e 64 20 6d 75 | s="zig">*%</code>.(wraparound.mu |
| 921e0 | 6c 74 69 70 6c 69 63 61 74 69 6f 6e 29 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 | ltiplication)</li>.......</ul>.. |
| 92200 | 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 | .....<p.class="file">test.zig</p |
| 92220 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ><pre><code.class="zig"><span.cl |
| 92240 | 61 73 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.=. |
| 92260 | 3c 73 70 61 6e 20 63 6c 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 |
| 92280 | 74 3c 2f 73 70 61 6e 3e 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">& |
| 922a0 | 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c | quot;std"</span>);.<span.cl |
| 922c0 | 61 73 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 74 | ass="tok-kw">const</span>.assert |
| 922e0 | 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | .=.std.debug.assert;.<span.class |
| 92300 | 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 69 6e 49 6e 74 20 3d 20 | ="tok-kw">const</span>.minInt.=. |
| 92320 | 73 74 64 2e 6d 61 74 68 2e 6d 69 6e 49 6e 74 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | std.math.minInt;.<span.class="to |
| 92340 | 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 78 49 6e 74 20 3d 20 73 74 64 2e | k-kw">const</span>.maxInt.=.std. |
| 92360 | 6d 61 74 68 2e 6d 61 78 49 6e 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | math.maxInt;..<span.class="tok-k |
| 92380 | 77 22 3e 74 65 73 74 3c 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- |
| 923a0 | 73 74 72 22 3e 26 71 75 6f 74 3b 77 72 61 70 61 72 6f 75 6e 64 20 61 64 64 69 74 69 6f 6e 20 61 | str">"wraparound.addition.a |
| 923c0 | 6e 64 20 73 75 62 74 72 61 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | nd.subtraction"</span>.{... |
| 923e0 | 20 20 3c 73 70 61 6e 20 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 |
| 92400 | 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 |
| 92420 | 32 3c 2f 73 70 61 6e 3e 20 3d 20 6d 61 78 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | 2</span>.=.maxInt(<span.class="t |
| 92440 | 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 | ok-type">i32</span>);.....<span. |
| 92460 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 69 6e 5f | class="tok-kw">const</span>.min_ |
| 92480 | 76 61 6c 20 3d 20 78 20 2b 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | val.=.x.+%.<span.class="tok-numb |
| 924a0 | 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 69 6e 5f 76 61 6c | er">1</span>;.....assert(min_val |
| 924c0 | 20 3d 3d 20 6d 69 6e 49 6e 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | .==.minInt(<span.class="tok-type |
| 924e0 | 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ">i32</span>));.....<span.class= |
| 92500 | 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 61 78 5f 76 61 6c 20 3d 20 | "tok-kw">const</span>.max_val.=. |
| 92520 | 6d 69 6e 5f 76 61 6c 20 2d 25 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | min_val.-%.<span.class="tok-numb |
| 92540 | 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 61 73 73 65 72 74 28 6d 61 78 5f 76 61 6c | er">1</span>;.....assert(max_val |
| 92560 | 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 6f 6b 2d 74 79 70 65 | .==.maxInt(<span.class="tok-type |
| 92580 | 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 29 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 | ">i32</span>));.}</code></pre><p |
| 925a0 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 | re><code.class="shell">$.zig.tes |
| 925c0 | 74 20 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 77 72 61 70 61 72 | t.test.zig.1/1.test."wrapar |
| 925e0 | 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 26 71 75 | ound.addition.and.subtraction&qu |
| 92600 | 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 | ot;...OK.All.1.tests.passed..</c |
| 92620 | 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 | ode></pre>...................... |
| 92640 | 3c 68 32 20 69 64 3d 22 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f | <h2.id="Exact-Left-Shift-Overflo |
| 92660 | 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 | w"><a.href="#toc-Exact-Left-Shif |
| 92680 | 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 69 66 74 20 4f 76 65 | t-Overflow">Exact.Left.Shift.Ove |
| 926a0 | 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 3d 22 23 | rflow</a>.<a.class="hdr".href="# |
| 926c0 | 45 78 61 63 74 2d 4c 65 66 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 | Exact-Left-Shift-Overflow">..</a |
| 926e0 | 3e 3c 2f 68 32 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 | ></h2>........<p>At.compile-time |
| 92700 | 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 | :</p>.......<p.class="file">test |
| 92720 | 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | .zig</p><pre><code.class="zig">< |
| 92740 | 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 |
| 92760 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | an>.{.....<span.class="tok-kw">c |
| 92780 | 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 3d 22 74 6f 6b | onst</span>.x.=.<span.class="tok |
| 927a0 | 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 3c 73 70 61 6e | -builtin">@shlExact</span>(<span |
| 927c0 | 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>( |
| 927e0 | 3c 73 70 61 6e 20 63 6c 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> |
| 92800 | 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 30 31 30 | ,.<span.class="tok-number">0b010 |
| 92820 | 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 22 74 6f 6b 2d | 10101</span>),.<span.class="tok- |
| 92840 | 6e 75 6d 62 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | number">2</span>);.}</code></pre |
| 92860 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 | ><pre><code.class="shell">$.zig. |
| 92880 | 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 | test.test.zig.<span.class="t0_1" |
| 928a0 | 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 31 35 3a 20 3c 2f 73 | >./docgen_tmp/test.zig:2:15:.</s |
| 928c0 | 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:.< |
| 928e0 | 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 6f 70 65 72 61 74 69 | /span><span.class="t0_1">operati |
| 92900 | 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 0a 20 20 20 20 63 6f | on.caused.overflow</span>.....co |
| 92920 | 6e 73 74 20 78 20 3d 20 40 73 68 6c 45 78 61 63 74 28 40 61 73 28 75 38 2c 20 30 62 30 31 30 31 | nst.x.=.@shlExact(@as(u8,.0b0101 |
| 92940 | 30 31 30 31 29 2c 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 | 0101),.2);...............<span.c |
| 92960 | 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 | lass="t32_1">^</span>.</code></p |
| 92980 | 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 | re>........<p>At.runtime:</p>... |
| 929a0 | 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e | ....<p.class="file">test.zig</p> |
| 929c0 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | <pre><code.class="zig"><span.cla |
| 929e0 | 73 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.=.< |
| 92a00 | 73 70 61 6e 20 63 6c 61 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 |
| 92a20 | 3c 2f 73 70 61 6e 3e 28 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 |
| 92a40 | 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c | uot;std"</span>);..<span.cl |
| 92a60 | 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 |
| 92a80 | 61 73 73 3d 22 74 6f 6b 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 |
| 92aa0 | 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. |
| 92ac0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 | class="tok-type">void</span>.{.. |
| 92ae0 | 20 20 20 3c 73 70 61 6e 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 |
| 92b00 | 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 3c | n>.x:.<span.class="tok-type">u8< |
| 92b20 | 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 |
| 92b40 | 22 3e 30 62 30 31 30 31 30 31 30 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | ">0b01010101</span>;.....<span.c |
| 92b60 | 6c 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 | lass="tok-kw">var</span>.y.=.<sp |
| 92b80 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 6c 45 78 61 63 74 | an.class="tok-builtin">@shlExact |
| 92ba0 | 3c 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 | </span>(x,.<span.class="tok-numb |
| 92bc0 | 65 72 22 3e 32 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 | er">2</span>);.....std.debug.war |
| 92be0 | 6e 28 3c 73 70 61 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 | n(<span.class="tok-str">"va |
| 92c00 | 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 79 7d 29 3b 0a 7d | lue:.{}\n"</span>,..{y});.} |
| 92c20 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 | </code></pre><pre><code.class="s |
| 92c40 | 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 | hell">$.zig.build-exe.test.zig.$ |
| 92c60 | 20 2e 2f 74 65 73 74 0a 6c 65 66 74 20 73 68 69 66 74 20 6f 76 65 72 66 6c 6f 77 65 64 20 62 69 | ../test.left.shift.overflowed.bi |
| 92c80 | 74 73 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 | ts.<span.class="t37_1">/deps/zig |
| 92ca0 | 2f 64 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 | /docgen_tmp/test.zig:5:13</span> |
| 92cc0 | 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 61 38 39 64 20 69 6e | :.<span.class="t2_0">0x22a89d.in |
| 92ce0 | 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 76 61 72 20 79 20 3d 20 | .main.(test)</span>.....var.y.=. |
| 92d00 | 40 73 68 6c 45 78 61 63 74 28 78 2c 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 | @shlExact(x,.2);.............<sp |
| 92d20 | 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 | an.class="t32_1">^</span>.<span. |
| 92d40 | 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f | class="t37_1">/deps/zig/lib/std/ |
| 92d60 | 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 | start.zig:243:22</span>:.<span.c |
| 92d80 | 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 37 35 66 20 69 6e 20 73 74 64 2e 73 74 61 72 | lass="t2_0">0x20475f.in.std.star |
| 92da0 | 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 | t.posixCallMainAndExit.(test)</s |
| 92dc0 | 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 | pan>.............root.main();... |
| 92de0 | 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=" |
| 92e00 | 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 74 33 37 | t32_1">^</span>.<span.class="t37 |
| 92e20 | 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a | _1">/deps/zig/lib/std/start.zig: |
| 92e40 | 31 32 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 | 123:5</span>:.<span.class="t2_0" |
| 92e60 | 3e 30 78 32 30 34 35 33 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 | >0x20453f.in.std.start._start.(t |
| 92e80 | 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 | est)</span>.....@call(.{..modifi |
| 92ea0 | 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 |
| 92ec0 | 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | ainAndExit,..{});.....<span.clas |
| 92ee0 | 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d | s="t32_1">^</span>.(process.term |
| 92f00 | 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a | inated.by.signal)</code></pre>.. |
| 92f20 | 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 45 78 61 63 74 2d 52 69 67 68 74 | .............<h2.id="Exact-Right |
| 92f40 | 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 | -Shift-Overflow"><a.href="#toc-E |
| 92f60 | 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 74 2d 4f 76 65 72 66 6c 6f 77 22 3e 45 78 61 63 74 | xact-Right-Shift-Overflow">Exact |
| 92f80 | 20 52 69 67 68 74 20 53 68 69 66 74 20 4f 76 65 72 66 6c 6f 77 3c 2f 61 3e 20 3c 61 20 63 6c 61 | .Right.Shift.Overflow</a>.<a.cla |
| 92fa0 | 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 63 74 2d 52 69 67 68 74 2d 53 68 69 66 | ss="hdr".href="#Exact-Right-Shif |
| 92fc0 | 74 2d 4f 76 65 72 66 6c 6f 77 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c | t-Overflow">..</a></h2>........< |
| 92fe0 | 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 70 20 | p>At.compile-time:</p>.......<p. |
| 93000 | 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 | class="file">test.zig</p><pre><c |
| 93020 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 93040 | 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e | -kw">comptime</span>.{.....<span |
| 93060 | 20 63 6c 61 73 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.= |
| 93080 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 73 68 72 45 | .<span.class="tok-builtin">@shrE |
| 930a0 | 78 61 63 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 | xact</span>(<span.class="tok-bui |
| 930c0 | 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 |
| 930e0 | 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | k-type">u8</span>,.<span.class=" |
| 93100 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 30 31 30 31 30 3c 2f 73 70 61 6e 3e 29 2c 20 | tok-number">0b10101010</span>),. |
| 93120 | 3c 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 |
| 93140 | 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | >);.}</code></pre><pre><code.cla |
| 93160 | 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c | ss="shell">$.zig.test.test.zig.< |
| 93180 | 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 |
| 931a0 | 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 63 6c 61 73 73 | est.zig:2:15:.</span><span.class |
| 931c0 | 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 |
| 931e0 | 73 73 3d 22 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 | ss="t0_1">exact.shift.shifted.ou |
| 93200 | 74 20 31 20 62 69 74 73 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 40 73 | t.1.bits</span>.....const.x.=.@s |
| 93220 | 68 72 45 78 61 63 74 28 40 61 73 28 75 38 2c 20 30 62 31 30 31 30 31 30 31 30 29 2c 20 32 29 3b | hrExact(@as(u8,.0b10101010),.2); |
| 93240 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f | ...............<span.class="t32_ |
| 93260 | 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 | 1">^</span>.</code></pre>....... |
| 93280 | 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 70 20 63 6c 61 | .<p>At.runtime:</p>.......<p.cla |
| 932a0 | 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 | ss="file">test.zig</p><pre><code |
| 932c0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| 932e0 | 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 |
| 93300 | 3d 22 74 6f 6b 2d 62 75 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 |
| 93320 | 70 61 6e 20 63 6c 61 73 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">"std&qu |
| 93340 | 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | ot;</span>);..<span.class="tok-k |
| 93360 | 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 |
| 93380 | 77 22 3e 66 6e 3c 2f 73 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 |
| 933a0 | 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 |
| 933c0 | 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | -type">void</span>.{.....<span.c |
| 933e0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 78 3a 20 3c 73 70 61 | lass="tok-kw">var</span>.x:.<spa |
| 93400 | 6e 20 63 6c 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>.=.< |
| 93420 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 62 31 30 31 30 31 30 | span.class="tok-number">0b101010 |
| 93440 | 31 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | 10</span>;.....<span.class="tok- |
| 93460 | 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 61 73 73 3d 22 | kw">var</span>.y.=.<span.class=" |
| 93480 | 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 6e 3e 28 78 2c | tok-builtin">@shrExact</span>(x, |
| 934a0 | 20 3c 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 |
| 934c0 | 6e 3e 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c | n>);.....std.debug.warn(<span.cl |
| 934e0 | 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">"value:.{}\n& |
| 93500 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 79 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 | quot;</span>,..{y});.}</code></p |
| 93520 | 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 | re><pre><code.class="shell">$.zi |
| 93540 | 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 73 74 0a 72 69 | g.build-exe.test.zig.$../test.ri |
| 93560 | 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 0a 3c 73 70 61 6e 20 | ght.shift.overflowed.bits.<span. |
| 93580 | 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 | class="t37_1">/deps/zig/docgen_t |
| 935a0 | 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 61 6e 20 63 | mp/test.zig:5:13</span>:.<span.c |
| 935c0 | 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 61 38 39 64 20 69 6e 20 6d 61 69 6e 20 28 74 65 | lass="t2_0">0x22a89d.in.main.(te |
| 935e0 | 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 76 61 72 20 79 20 3d 20 40 73 68 72 45 78 61 63 74 | st)</span>.....var.y.=.@shrExact |
| 93600 | 28 78 2c 20 32 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | (x,.2);.............<span.class= |
| 93620 | 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 74 33 | "t32_1">^</span>.<span.class="t3 |
| 93640 | 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 | 7_1">/deps/zig/lib/std/start.zig |
| 93660 | 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f | :243:22</span>:.<span.class="t2_ |
| 93680 | 30 22 3e 30 78 32 30 34 37 35 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 | 0">0x20475f.in.std.start.posixCa |
| 936a0 | 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 0a 20 20 20 20 | llMainAndExit.(test)</span>..... |
| 936c0 | 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 | ........root.main();............ |
| 936e0 | 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">^< |
| 93700 | 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 | /span>.<span.class="t37_1">/deps |
| 93720 | 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 3a 35 3c 2f 73 70 | /zig/lib/std/start.zig:123:5</sp |
| 93740 | 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 34 35 33 66 | an>:.<span.class="t2_0">0x20453f |
| 93760 | 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 | .in.std.start._start.(test)</spa |
| 93780 | 6e 3e 0a 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 | n>.....@call(.{..modifier.=..nev |
| 937a0 | 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 |
| 937c0 | 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 | t,..{});.....<span.class="t32_1" |
| 937e0 | 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 | >^</span>.(process.terminated.by |
| 93800 | 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 | .signal)</code></pre>........... |
| 93820 | 20 20 20 20 3c 68 32 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 | ....<h2.id="Division-by-Zero"><a |
| 93840 | 20 68 72 65 66 3d 22 23 74 6f 63 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 44 69 | .href="#toc-Division-by-Zero">Di |
| 93860 | 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 | vision.by.Zero</a>.<a.class="hdr |
| 93880 | 22 20 68 72 65 66 3d 22 23 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e c2 a7 3c 2f 61 | ".href="#Division-by-Zero">..</a |
| 938a0 | 3e 3c 2f 68 32 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 | ></h2>........<p>At.compile-time |
| 938c0 | 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 | :</p>.......<p.class="file">test |
| 938e0 | 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | .zig</p><pre><code.class="zig">< |
| 93900 | 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 |
| 93920 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | an>.{.....<span.class="tok-kw">c |
| 93940 | 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- |
| 93960 | 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=" |
| 93980 | 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 | tok-number">1</span>;.....<span. |
| 939a0 | 63 6c 61 73 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:.< |
| 939c0 | 73 70 61 6e 20 63 6c 61 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> |
| 939e0 | 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 | .=.<span.class="tok-number">0</s |
| 93a00 | 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | pan>;.....<span.class="tok-kw">c |
| 93a20 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 2f 20 62 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c | onst</span>.c.=.a./.b;.}</code>< |
| 93a40 | 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 | /pre><pre><code.class="shell">$. |
| 93a60 | 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | zig.test.test.zig.<span.class="t |
| 93a80 | 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 31 37 3a | 0_1">./docgen_tmp/test.zig:4:17: |
| 93aa0 | 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 |
| 93ac0 | 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 64 69 76 | r:.</span><span.class="t0_1">div |
| 93ae0 | 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f 6e 73 74 20 63 | ision.by.zero</span>.....const.c |
| 93b00 | 20 3d 20 61 20 2f 20 62 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | .=.a./.b;.................<span. |
| 93b20 | 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f | class="t32_1">^</span>.</code></ |
| 93b40 | 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 | pre>........<p>At.runtime:</p>.. |
| 93b60 | 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 | .....<p.class="file">test.zig</p |
| 93b80 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ><pre><code.class="zig"><span.cl |
| 93ba0 | 61 73 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.=. |
| 93bc0 | 3c 73 70 61 6e 20 63 6c 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 |
| 93be0 | 74 3c 2f 73 70 61 6e 3e 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">& |
| 93c00 | 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 | quot;std"</span>);..<span.c |
| 93c20 | 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 |
| 93c40 | 6c 61 73 73 3d 22 74 6f 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 |
| 93c60 | 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e | ass="tok-fn">main</span>().<span |
| 93c80 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a | .class="tok-type">void</span>.{. |
| 93ca0 | 20 20 20 20 3c 73 70 61 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 |
| 93cc0 | 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 | an>.a:.<span.class="tok-type">u3 |
| 93ce0 | 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 |
| 93d00 | 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | er">1</span>;.....<span.class="t |
| 93d20 | 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ok-kw">var</span>.b:.<span.class |
| 93d40 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 | ="tok-type">u32</span>.=.<span.c |
| 93d60 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 | lass="tok-number">0</span>;..... |
| 93d80 | 3c 73 70 61 6e 20 63 6c 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>. |
| 93da0 | 63 20 3d 20 61 20 2f 20 62 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 | c.=.a./.b;.....std.debug.warn(<s |
| 93dc0 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a | pan.class="tok-str">"value: |
| 93de0 | 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 0a 7d 3c 2f 63 6f | .{}\n"</span>,..{c});.}</co |
| 93e00 | 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c | de></pre><pre><code.class="shell |
| 93e20 | 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 | ">$.zig.build-exe.test.zig.$../t |
| 93e40 | 65 73 74 0a 64 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | est.division.by.zero.<span.class |
| 93e60 | 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 | ="t37_1">/deps/zig/docgen_tmp/te |
| 93e80 | 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 6c 61 73 73 3d | st.zig:6:15</span>:.<span.class= |
| 93ea0 | 22 74 32 5f 30 22 3e 30 78 32 32 61 38 35 39 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f | "t2_0">0x22a859.in.main.(test)</ |
| 93ec0 | 73 70 61 6e 3e 0a 20 20 20 20 76 61 72 20 63 20 3d 20 61 20 2f 20 62 3b 0a 20 20 20 20 20 20 20 | span>.....var.c.=.a./.b;........ |
| 93ee0 | 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 |
| 93f00 | 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 | an>.<span.class="t37_1">/deps/zi |
| 93f20 | 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e | g/lib/std/start.zig:243:22</span |
| 93f40 | 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 34 37 32 66 20 69 | >:.<span.class="t2_0">0x20472f.i |
| 93f60 | 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 | n.std.start.posixCallMainAndExit |
| 93f80 | 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e | .(test)</span>.............root. |
| 93fa0 | 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 | main();......................<sp |
| 93fc0 | 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 | an.class="t32_1">^</span>.<span. |
| 93fe0 | 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f | class="t37_1">/deps/zig/lib/std/ |
| 94000 | 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c | start.zig:123:5</span>:.<span.cl |
| 94020 | 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 35 30 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 | ass="t2_0">0x20450f.in.std.start |
| 94040 | 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 | ._start.(test)</span>.....@call( |
| 94060 | 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 | .{..modifier.=..never_inline.},. |
| 94080 | 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 0a 20 20 20 20 | posixCallMainAndExit,..{});..... |
| 940a0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 | <span.class="t32_1">^</span>.(pr |
| 940c0 | 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 63 6f 64 | ocess.terminated.by.signal)</cod |
| 940e0 | 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 52 | e></pre>...............<h2.id="R |
| 94100 | 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a 65 72 6f 22 3e 3c 61 20 68 72 | emainder-Division-by-Zero"><a.hr |
| 94120 | 65 66 3d 22 23 74 6f 63 2d 52 65 6d 61 69 6e 64 65 72 2d 44 69 76 69 73 69 6f 6e 2d 62 79 2d 5a | ef="#toc-Remainder-Division-by-Z |
| 94140 | 65 72 6f 22 3e 52 65 6d 61 69 6e 64 65 72 20 44 69 76 69 73 69 6f 6e 20 62 79 20 5a 65 72 6f 3c | ero">Remainder.Division.by.Zero< |
| 94160 | 2f 61 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 6d 61 69 6e | /a>.<a.class="hdr".href="#Remain |
| 94180 | 64 65 72 2d 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 32 | der-Division-by-Zero">..</a></h2 |
| 941a0 | 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e | >........<p>At.compile-time:</p> |
| 941c0 | 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c | .......<p.class="file">test.zig< |
| 941e0 | 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | /p><pre><code.class="zig"><span. |
| 94200 | 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>.{ |
| 94220 | 0a 20 20 20 20 3c 73 70 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< |
| 94240 | 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | /span>.a:.<span.class="tok-type" |
| 94260 | 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 |
| 94280 | 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | umber">10</span>;.....<span.clas |
| 942a0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e | s="tok-kw">const</span>.b:.<span |
| 942c0 | 20 63 6c 61 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>.=.< |
| 942e0 | 73 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> |
| 94300 | 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | ;.....<span.class="tok-kw">const |
| 94320 | 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 61 20 25 20 62 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | </span>.c.=.a.%.b;.}</code></pre |
| 94340 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 | ><pre><code.class="shell">$.zig. |
| 94360 | 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 | test.test.zig.<span.class="t0_1" |
| 94380 | 3e 2e 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 31 37 3a 20 3c 2f 73 | >./docgen_tmp/test.zig:4:17:.</s |
| 943a0 | 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:.< |
| 943c0 | 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 69 76 69 73 69 6f | /span><span.class="t0_1">divisio |
| 943e0 | 6e 20 62 79 20 7a 65 72 6f 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f 6e 73 74 20 63 20 3d 20 61 | n.by.zero</span>.....const.c.=.a |
| 94400 | 20 25 20 62 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | .%.b;.................<span.clas |
| 94420 | 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | s="t32_1">^</span>.</code></pre> |
| 94440 | 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 | ........<p>At.runtime:</p>...... |
| 94460 | 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 | .<p.class="file">test.zig</p><pr |
| 94480 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e><code.class="zig"><span.class= |
| 944a0 | 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 |
| 944c0 | 6e 20 63 6c 61 73 73 3d 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 |
| 944e0 | 70 61 6e 3e 28 3c 73 70 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">" |
| 94500 | 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | ;std"</span>);..<span.class |
| 94520 | 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 |
| 94540 | 3d 22 74 6f 6b 2d 6b 77 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= |
| 94560 | 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 |
| 94580 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | ss="tok-type">void</span>.{..... |
| 945a0 | 3c 73 70 61 6e 20 63 6c 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>. |
| 945c0 | 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 | a:.<span.class="tok-type">u32</s |
| 945e0 | 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"> |
| 94600 | 31 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | 10</span>;.....<span.class="tok- |
| 94620 | 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | kw">var</span>.b:.<span.class="t |
| 94640 | 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 |
| 94660 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 | s="tok-number">0</span>;.....<sp |
| 94680 | 61 6e 20 63 6c 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 | an.class="tok-kw">var</span>.c.= |
| 946a0 | 20 61 20 25 20 62 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e | .a.%.b;.....std.debug.warn(<span |
| 946c0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d | .class="tok-str">"value:.{} |
| 946e0 | 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 63 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e | \n"</span>,..{c});.}</code> |
| 94700 | 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 | </pre><pre><code.class="shell">$ |
| 94720 | 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 73 74 | .zig.build-exe.test.zig.$../test |
| 94740 | 0a 72 65 6d 61 69 6e 64 65 72 20 64 69 76 69 73 69 6f 6e 20 62 79 20 7a 65 72 6f 20 6f 72 20 6e | .remainder.division.by.zero.or.n |
| 94760 | 65 67 61 74 69 76 65 20 76 61 6c 75 65 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 | egative.value.<span.class="t37_1 |
| 94780 | 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a | ">/deps/zig/docgen_tmp/test.zig: |
| 947a0 | 36 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 | 6:15</span>:.<span.class="t2_0"> |
| 947c0 | 30 78 32 32 61 38 37 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 | 0x22a87b.in.main.(test)</span>.. |
| 947e0 | 20 20 20 76 61 72 20 63 20 3d 20 61 20 25 20 62 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...var.c.=.a.%.b;............... |
| 94800 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 | <span.class="t32_1">^</span>.<sp |
| 94820 | 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 | an.class="t37_1">/deps/zig/lib/s |
| 94840 | 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 | td/start.zig:243:22</span>:.<spa |
| 94860 | 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 37 32 66 20 69 6e 20 73 74 64 2e 73 | n.class="t2_0">0x20472f.in.std.s |
| 94880 | 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) |
| 948a0 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b | </span>.............root.main(); |
| 948c0 | 0a 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 |
| 948e0 | 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=" |
| 94900 | 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a | t37_1">/deps/zig/lib/std/start.z |
| 94920 | 69 67 3a 31 32 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 | ig:123:5</span>:.<span.class="t2 |
| 94940 | 5f 30 22 3e 30 78 32 30 34 35 30 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 | _0">0x20450f.in.std.start._start |
| 94960 | 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 | .(test)</span>.....@call(.{..mod |
| 94980 | 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 | ifier.=..never_inline.},.posixCa |
| 949a0 | 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | llMainAndExit,..{});.....<span.c |
| 949c0 | 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 | lass="t32_1">^</span>.(process.t |
| 949e0 | 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | erminated.by.signal)</code></pre |
| 94a00 | 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 45 78 61 63 74 2d 44 69 | >...............<h2.id="Exact-Di |
| 94a20 | 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 2d | vision-Remainder"><a.href="#toc- |
| 94a40 | 45 78 61 63 74 2d 44 69 76 69 73 69 6f 6e 2d 52 65 6d 61 69 6e 64 65 72 22 3e 45 78 61 63 74 20 | Exact-Division-Remainder">Exact. |
| 94a60 | 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 3d | Division.Remainder</a>.<a.class= |
| 94a80 | 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 61 | "hdr".href="#Exact-Division-Rema |
| 94aa0 | 69 6e 64 65 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 41 74 20 | inder">..</a></h2>........<p>At. |
| 94ac0 | 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 70 20 63 6c 61 73 73 | compile-time:</p>.......<p.class |
| 94ae0 | 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | ="file">test.zig</p><pre><code.c |
| 94b00 | 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | lass="zig"><span.class="tok-kw"> |
| 94b20 | 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | comptime</span>.{.....<span.clas |
| 94b40 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e | s="tok-kw">const</span>.a:.<span |
| 94b60 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c | .class="tok-type">u32</span>.=.< |
| 94b80 | 73 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 |
| 94ba0 | 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | >;.....<span.class="tok-kw">cons |
| 94bc0 | 74 3c 2f 73 70 61 6e 3e 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 | t</span>.b:.<span.class="tok-typ |
| 94be0 | 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 |
| 94c00 | 2d 6e 75 6d 62 65 72 22 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | -number">3</span>;.....<span.cla |
| 94c20 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 20 3d 20 3c 73 70 | ss="tok-kw">const</span>.c.=.<sp |
| 94c40 | 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 63 74 | an.class="tok-builtin">@divExact |
| 94c60 | 3c 2f 73 70 61 6e 3e 28 61 2c 20 62 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 | </span>(a,.b);.}</code></pre><pr |
| 94c80 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 | e><code.class="shell">$.zig.test |
| 94ca0 | 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 | .test.zig.<span.class="t0_1">./d |
| 94cc0 | 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 31 35 3a 20 3c 2f 73 70 61 6e 3e | ocgen_tmp/test.zig:4:15:.</span> |
| 94ce0 | 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 |
| 94d00 | 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 65 78 61 63 74 20 64 69 76 69 73 | n><span.class="t0_1">exact.divis |
| 94d20 | 69 6f 6e 20 68 61 64 20 61 20 72 65 6d 61 69 6e 64 65 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 63 | ion.had.a.remainder</span>.....c |
| 94d40 | 6f 6e 73 74 20 63 20 3d 20 40 64 69 76 45 78 61 63 74 28 61 2c 20 62 29 3b 0a 20 20 20 20 20 20 | onst.c.=.@divExact(a,.b);....... |
| 94d60 | 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 |
| 94d80 | 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 | pan>.</code></pre>........<p>At. |
| 94da0 | 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c | runtime:</p>.......<p.class="fil |
| 94dc0 | 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | e">test.zig</p><pre><code.class= |
| 94de0 | 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | "zig"><span.class="tok-kw">const |
| 94e00 | 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 |
| 94e20 | 75 69 6c 74 69 6e 22 3e 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 |
| 94e40 | 73 73 3d 22 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">"std"</sp |
| 94e60 | 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c | an>);..<span.class="tok-kw">pub< |
| 94e80 | 2f 73 70 61 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</ |
| 94ea0 | 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c | span>.<span.class="tok-fn">main< |
| 94ec0 | 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"> |
| 94ee0 | 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | void</span>.{.....<span.class="t |
| 94f00 | 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ok-kw">var</span>.a:.<span.class |
| 94f20 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 | ="tok-type">u32</span>.=.<span.c |
| 94f40 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 | lass="tok-number">10</span>;.... |
| 94f60 | 20 3c 73 70 61 6e 20 63 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> |
| 94f80 | 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f | .b:.<span.class="tok-type">u32</ |
| 94fa0 | 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" |
| 94fc0 | 3e 33 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >3</span>;.....<span.class="tok- |
| 94fe0 | 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 22 | kw">var</span>.c.=.<span.class=" |
| 95000 | 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 2c | tok-builtin">@divExact</span>(a, |
| 95020 | 20 62 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c | .b);.....std.debug.warn(<span.cl |
| 95040 | 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">"value:.{}\n& |
| 95060 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 63 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 | quot;</span>,..{c});.}</code></p |
| 95080 | 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 | re><pre><code.class="shell">$.zi |
| 950a0 | 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 73 74 0a 65 78 | g.build-exe.test.zig.$../test.ex |
| 950c0 | 61 63 74 20 64 69 76 69 73 69 6f 6e 20 70 72 6f 64 75 63 65 64 20 72 65 6d 61 69 6e 64 65 72 0a | act.division.produced.remainder. |
| 950e0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f | <span.class="t37_1">/deps/zig/do |
| 95100 | 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>:.< |
| 95120 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 61 38 39 64 20 69 6e 20 6d 61 | span.class="t2_0">0x22a89d.in.ma |
| 95140 | 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 76 61 72 20 63 20 3d 20 40 64 69 | in.(test)</span>.....var.c.=.@di |
| 95160 | 76 45 78 61 63 74 28 61 2c 20 62 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | vExact(a,.b);.............<span. |
| 95180 | 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 | class="t32_1">^</span>.<span.cla |
| 951a0 | 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 | ss="t37_1">/deps/zig/lib/std/sta |
| 951c0 | 72 74 2e 7a 69 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | rt.zig:243:22</span>:.<span.clas |
| 951e0 | 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 37 32 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 | s="t2_0">0x20472f.in.std.start.p |
| 95200 | 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e | osixCallMainAndExit.(test)</span |
| 95220 | 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 | >.............root.main();...... |
| 95240 | 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 |
| 95260 | 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 74 33 37 5f 31 22 | _1">^</span>.<span.class="t37_1" |
| 95280 | 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 | >/deps/zig/lib/std/start.zig:123 |
| 952a0 | 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 |
| 952c0 | 32 30 34 35 30 66 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 | 20450f.in.std.start._start.(test |
| 952e0 | 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 | )</span>.....@call(.{..modifier. |
| 95300 | 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 |
| 95320 | 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | AndExit,..{});.....<span.class=" |
| 95340 | 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 | t32_1">^</span>.(process.termina |
| 95360 | 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 | ted.by.signal)</code></pre>..... |
| 95380 | 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 | ..........<h2.id="Attempt-to-Unw |
| 953a0 | 72 61 70 2d 4e 75 6c 6c 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 74 74 65 6d 70 74 2d | rap-Null"><a.href="#toc-Attempt- |
| 953c0 | 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e 41 74 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 61 | to-Unwrap-Null">Attempt.to.Unwra |
| 953e0 | 70 20 4e 75 6c 6c 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 | p.Null</a>.<a.class="hdr".href=" |
| 95400 | 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 4e 75 6c 6c 22 3e c2 a7 3c 2f 61 3e 3c | #Attempt-to-Unwrap-Null">..</a>< |
| 95420 | 2f 68 32 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 | /h2>........<p>At.compile-time:< |
| 95440 | 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a | /p>.......<p.class="file">test.z |
| 95460 | 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ig</p><pre><code.class="zig"><sp |
| 95480 | 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 |
| 954a0 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | >.{.....<span.class="tok-kw">con |
| 954c0 | 73 74 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 3a 20 3f 3c 73 70 61 | st</span>.optional_number:.?<spa |
| 954e0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 3d 20 | n.class="tok-type">i32</span>.=. |
| 95500 | 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 |
| 95520 | 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | n>;.....<span.class="tok-kw">con |
| 95540 | 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 | st</span>.number.=.optional_numb |
| 95560 | 65 72 2e 3f 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | er.?;.}</code></pre><pre><code.c |
| 95580 | 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 | lass="shell">$.zig.test.test.zig |
| 955a0 | 0a 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 |
| 955c0 | 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 33 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 | /test.zig:3:35:.</span><span.cla |
| 955e0 | 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 |
| 95600 | 6c 61 73 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 | lass="t0_1">unable.to.unwrap.nul |
| 95620 | 6c 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 6f 70 74 69 | l</span>.....const.number.=.opti |
| 95640 | 6f 6e 61 6c 5f 6e 75 6d 62 65 72 2e 3f 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | onal_number.?;.................. |
| 95660 | 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 |
| 95680 | 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 | 2_1">^</span>.</code></pre>..... |
| 956a0 | 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 70 20 63 | ...<p>At.runtime:</p>.......<p.c |
| 956c0 | 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f | lass="file">test.zig</p><pre><co |
| 956e0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 95700 | 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 |
| 95720 | 73 73 3d 22 74 6f 6b 2d 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>( |
| 95740 | 3c 73 70 61 6e 20 63 6c 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">"std& |
| 95760 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | quot;</span>);..<span.class="tok |
| 95780 | 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 |
| 957a0 | 2d 6b 77 22 3e 66 6e 3c 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- |
| 957c0 | 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | fn">main</span>().<span.class="t |
| 957e0 | 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e | ok-type">void</span>.{.....<span |
| 95800 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6f 70 74 69 6f | .class="tok-kw">var</span>.optio |
| 95820 | 6e 61 6c 5f 6e 75 6d 62 65 72 3a 20 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | nal_number:.?<span.class="tok-ty |
| 95840 | 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 |
| 95860 | 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | k-null">null</span>;.....<span.c |
| 95880 | 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 | lass="tok-kw">var</span>.number. |
| 958a0 | 3d 20 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 2e 3f 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 | =.optional_number.?;.....std.deb |
| 958c0 | 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 | ug.warn(<span.class="tok-str">&q |
| 958e0 | 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 7b | uot;value:.{}\n"</span>,..{ |
| 95900 | 6e 75 6d 62 65 72 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f | number});.}</code></pre><pre><co |
| 95920 | 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 | de.class="shell">$.zig.build-exe |
| 95940 | 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 73 74 0a 61 74 74 65 6d 70 74 20 74 6f 20 75 73 | .test.zig.$../test.attempt.to.us |
| 95960 | 65 20 6e 75 6c 6c 20 76 61 6c 75 65 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 | e.null.value.<span.class="t37_1" |
| 95980 | 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 | >/deps/zig/docgen_tmp/test.zig:5 |
| 959a0 | 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 5f 30 22 3e 30 | :33</span>:.<span.class="t2_0">0 |
| 959c0 | 78 32 32 61 38 36 63 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 | x22a86c.in.main.(test)</span>... |
| 959e0 | 20 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 | ..var.number.=.optional_number.? |
| 95a00 | 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ;............................... |
| 95a20 | 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c | ..<span.class="t32_1">^</span>.< |
| 95a40 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 | span.class="t37_1">/deps/zig/lib |
| 95a60 | 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 | /std/start.zig:243:22</span>:.<s |
| 95a80 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 37 34 66 20 69 6e 20 73 74 64 | pan.class="t2_0">0x20474f.in.std |
| 95aa0 | 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 73 | .start.posixCallMainAndExit.(tes |
| 95ac0 | 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 | t)</span>.............root.main( |
| 95ae0 | 29 3b 0a 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 |
| 95b00 | 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | ass="t32_1">^</span>.<span.class |
| 95b20 | 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 | ="t37_1">/deps/zig/lib/std/start |
| 95b40 | 2e 7a 69 67 3a 31 32 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | .zig:123:5</span>:.<span.class=" |
| 95b60 | 74 32 5f 30 22 3e 30 78 32 30 34 35 32 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 | t2_0">0x20452f.in.std.start._sta |
| 95b80 | 72 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d | rt.(test)</span>.....@call(.{..m |
| 95ba0 | 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 |
| 95bc0 | 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e | CallMainAndExit,..{});.....<span |
| 95be0 | 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 | .class="t32_1">^</span>.(process |
| 95c00 | 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 | .terminated.by.signal)</code></p |
| 95c20 | 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 4f 6e 65 20 77 61 79 20 74 6f 20 61 76 6f 69 64 20 74 | re>........<p>One.way.to.avoid.t |
| 95c40 | 68 69 73 20 63 72 61 73 68 20 69 73 20 74 6f 20 74 65 73 74 20 66 6f 72 20 6e 75 6c 6c 20 69 6e | his.crash.is.to.test.for.null.in |
| 95c60 | 73 74 65 61 64 20 6f 66 20 61 73 73 75 6d 69 6e 67 20 6e 6f 6e 2d 6e 75 6c 6c 2c 20 77 69 74 68 | stead.of.assuming.non-null,.with |
| 95c80 | 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | .......the.<code.class="zig"><sp |
| 95ca0 | 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 | an.class="tok-kw">if</span></cod |
| 95cc0 | 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 | e>.expression:</p>.......<p.clas |
| 95ce0 | 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 | s="file">test.zig</p><pre><code. |
| 95d00 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | class="zig"><span.class="tok-kw" |
| 95d20 | 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 61 72 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | >const</span>.warn.=.<span.class |
| 95d40 | 3d 22 74 6f 6b 2d 62 75 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 |
| 95d60 | 70 61 6e 20 63 6c 61 73 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">"std&qu |
| 95d80 | 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 77 61 72 6e 3b 0a 3c 73 70 61 6e 20 63 6c | ot;</span>).debug.warn;.<span.cl |
| 95da0 | 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 |
| 95dc0 | 61 73 73 3d 22 74 6f 6b 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 |
| 95de0 | 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. |
| 95e00 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 | class="tok-type">void</span>.{.. |
| 95e20 | 20 20 20 3c 73 70 61 6e 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 |
| 95e40 | 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 6c 61 | pan>.optional_number:.?<span.cla |
| 95e60 | 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 |
| 95e80 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 0a | .class="tok-null">null</span>;.. |
| 95ea0 | 20 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 |
| 95ec0 | 6e 3e 20 28 6f 70 74 69 6f 6e 61 6c 5f 6e 75 6d 62 65 72 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 0a | n>.(optional_number).|number|.{. |
| 95ee0 | 20 20 20 20 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 | ........warn(<span.class="tok-st |
| 95f00 | 72 22 3e 26 71 75 6f 74 3b 67 6f 74 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c | r">"got.number:.{}\n"< |
| 95f20 | 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 | /span>,..{number});.....}.<span. |
| 95f40 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | class="tok-kw">else</span>.{.... |
| 95f60 | 20 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e | .....warn(<span.class="tok-str"> |
| 95f80 | 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 | "it's.null\n"</span>,. |
| 95fa0 | 2e 7b 7d 29 3b 0a 20 20 20 20 7d 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c | .{});.....}.}</code></pre><pre>< |
| 95fc0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 | code.class="shell">$.zig.build-e |
| 95fe0 | 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 73 74 0a 69 74 27 73 20 6e 75 6c 6c 0a 3c | xe.test.zig.$../test.it's.null.< |
| 96000 | 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a | /code></pre>........<p>See.also: |
| 96020 | 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 73 | </p><ul>.<li><a.href="#Optionals |
| 96040 | 22 3e 4f 70 74 69 6f 6e 61 6c 73 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 | ">Optionals</a></li>.</ul>...... |
| 96060 | 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 | .........<h2.id="Attempt-to-Unwr |
| 96080 | 61 70 2d 45 72 72 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 41 74 74 65 6d 70 74 2d | ap-Error"><a.href="#toc-Attempt- |
| 960a0 | 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e 41 74 74 65 6d 70 74 20 74 6f 20 55 6e 77 72 | to-Unwrap-Error">Attempt.to.Unwr |
| 960c0 | 61 70 20 45 72 72 6f 72 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 | ap.Error</a>.<a.class="hdr".href |
| 960e0 | 3d 22 23 41 74 74 65 6d 70 74 2d 74 6f 2d 55 6e 77 72 61 70 2d 45 72 72 6f 72 22 3e c2 a7 3c 2f | ="#Attempt-to-Unwrap-Error">..</ |
| 96100 | 61 3e 3c 2f 68 32 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 | a></h2>........<p>At.compile-tim |
| 96120 | 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 | e:</p>.......<p.class="file">tes |
| 96140 | 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | t.zig</p><pre><code.class="zig"> |
| 96160 | 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 |
| 96180 | 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | pan>.{.....<span.class="tok-kw"> |
| 961a0 | 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f | const</span>.number.=.getNumberO |
| 961c0 | 72 46 61 69 6c 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 | rFail().<span.class="tok-kw">cat |
| 961e0 | 63 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 | ch</span>.<span.class="tok-kw">u |
| 96200 | 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 | nreachable</span>;.}..<span.clas |
| 96220 | 73 3d 22 74 6f 6b 2d 6b 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 |
| 96240 | 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 73 70 61 6e 3e | ="tok-fn">getNumberOrFail</span> |
| 96260 | 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 69 33 32 3c 2f | ().!<span.class="tok-type">i32</ |
| 96280 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | span>.{.....<span.class="tok-kw" |
| 962a0 | 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- |
| 962c0 | 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e | kw">error</span>.UnableToReturnN |
| 962e0 | 75 6d 62 65 72 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 | umber;.}</code></pre><pre><code. |
| 96300 | 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 | class="shell">$.zig.test.test.zi |
| 96320 | 67 0a 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 | g.<span.class="t0_1">./docgen_tm |
| 96340 | 70 2f 74 65 73 74 2e 7a 69 67 3a 32 3a 33 38 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 6c | p/test.zig:2:38:.</span><span.cl |
| 96360 | 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. |
| 96380 | 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 63 61 75 67 68 74 20 75 6e 65 78 70 65 63 74 65 64 20 65 | class="t0_1">caught.unexpected.e |
| 963a0 | 72 72 6f 72 20 27 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 27 3c 2f 73 70 61 | rror.'UnableToReturnNumber'</spa |
| 963c0 | 6e 3e 0a 20 20 20 20 63 6f 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f | n>.....const.number.=.getNumberO |
| 963e0 | 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 0a 20 20 20 20 20 | rFail().catch.unreachable;...... |
| 96400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 96420 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 | <span.class="t32_1">^</span>.</c |
| 96440 | 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 3a | ode></pre>........<p>At.runtime: |
| 96460 | 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e | </p>.......<p.class="file">test. |
| 96480 | 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 | zig</p><pre><code.class="zig"><s |
| 964a0 | 70 61 6e 20 63 6c 61 73 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>. |
| 964c0 | 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"> |
| 964e0 | 40 69 6d 70 6f 72 74 3c 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- |
| 96500 | 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c | str">"std"</span>);..< |
| 96520 | 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>.< |
| 96540 | 73 70 61 6e 20 63 6c 61 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 |
| 96560 | 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>() |
| 96580 | 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 |
| 965a0 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | an>.{.....<span.class="tok-kw">c |
| 965c0 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 | onst</span>.number.=.getNumberOr |
| 965e0 | 46 61 69 6c 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 61 74 63 | Fail().<span.class="tok-kw">catc |
| 96600 | 68 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e | h</span>.<span.class="tok-kw">un |
| 96620 | 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e | reachable</span>;.....std.debug. |
| 96640 | 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 | warn(<span.class="tok-str">" |
| 96660 | 3b 76 61 6c 75 65 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 6e 75 6d | ;value:.{}\n"</span>,..{num |
| 96680 | 62 65 72 7d 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 | ber});.}..<span.class="tok-kw">f |
| 966a0 | 6e 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 | n</span>.<span.class="tok-fn">ge |
| 966c0 | 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c | tNumberOrFail</span>().!<span.cl |
| 966e0 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | ass="tok-type">i32</span>.{..... |
| 96700 | 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 |
| 96720 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 | n>.<span.class="tok-kw">error</s |
| 96740 | 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 0a 7d 3c 2f 63 6f | pan>.UnableToReturnNumber;.}</co |
| 96760 | 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c | de></pre><pre><code.class="shell |
| 96780 | 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 | ">$.zig.build-exe.test.zig.$../t |
| 967a0 | 65 73 74 0a 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 | est.attempt.to.unwrap.error:.Una |
| 967c0 | 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | bleToReturnNumber.<span.class="t |
| 967e0 | 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e | 37_1">/deps/zig/docgen_tmp/test. |
| 96800 | 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 5f | zig:9:5</span>:.<span.class="t2_ |
| 96820 | 30 22 3e 30 78 32 32 65 61 36 63 20 69 6e 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 20 28 | 0">0x22ea6c.in.getNumberOrFail.( |
| 96840 | 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 72 65 74 75 72 6e 20 65 72 72 6f 72 2e 55 6e | test)</span>.....return.error.Un |
| 96860 | 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | ableToReturnNumber;.....<span.cl |
| 96880 | 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | ass="t32_1">^</span>.<span.class |
| 968a0 | 3d 22 74 33 37 5f 31 22 3e 3f 3f 3f 3a 3f 3a 3f 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 | ="t37_1">???:?:?</span>:.<span.c |
| 968c0 | 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 36 39 38 63 20 69 6e 20 3f 3f 3f 20 28 3f 3f 3f | lass="t2_0">0x20698c.in.???.(??? |
| 968e0 | 29 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 | )</span>.<span.class="t37_1">/de |
| 96900 | 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 33 38 3c | ps/zig/docgen_tmp/test.zig:4:38< |
| 96920 | 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 61 | /span>:.<span.class="t2_0">0x22a |
| 96940 | 38 63 62 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f | 8cb.in.main.(test)</span>.....co |
| 96960 | 6e 73 74 20 6e 75 6d 62 65 72 20 3d 20 67 65 74 4e 75 6d 62 65 72 4f 72 46 61 69 6c 28 29 20 63 | nst.number.=.getNumberOrFail().c |
| 96980 | 61 74 63 68 20 75 6e 72 65 61 63 68 61 62 6c 65 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | atch.unreachable;............... |
| 969a0 | 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 |
| 969c0 | 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ss="t32_1">^</span>.<span.class= |
| 969e0 | 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e | "t37_1">/deps/zig/lib/std/start. |
| 96a00 | 7a 69 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | zig:243:22</span>:.<span.class=" |
| 96a20 | 74 32 5f 30 22 3e 30 78 32 30 34 37 36 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 | t2_0">0x20476f.in.std.start.posi |
| 96a40 | 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 0a 20 | xCallMainAndExit.(test)</span>.. |
| 96a60 | 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 | ...........root.main();......... |
| 96a80 | 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" |
| 96aa0 | 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 | >^</span>.<span.class="t37_1">/d |
| 96ac0 | 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 3a 35 3c | eps/zig/lib/std/start.zig:123:5< |
| 96ae0 | 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 34 | /span>:.<span.class="t2_0">0x204 |
| 96b00 | 35 34 66 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 | 54f.in.std.start._start.(test)</ |
| 96b20 | 73 70 61 6e 3e 0a 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 | span>.....@call(.{..modifier.=.. |
| 96b40 | 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 |
| 96b60 | 45 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 | Exit,..{});.....<span.class="t32 |
| 96b80 | 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 | _1">^</span>.(process.terminated |
| 96ba0 | 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 | .by.signal)</code></pre>........ |
| 96bc0 | 3c 70 3e 4f 6e 65 20 77 61 79 20 74 6f 20 61 76 6f 69 64 20 74 68 69 73 20 63 72 61 73 68 20 69 | <p>One.way.to.avoid.this.crash.i |
| 96be0 | 73 20 74 6f 20 74 65 73 74 20 66 6f 72 20 61 6e 20 65 72 72 6f 72 20 69 6e 73 74 65 61 64 20 6f | s.to.test.for.an.error.instead.o |
| 96c00 | 66 20 61 73 73 75 6d 69 6e 67 20 61 20 73 75 63 63 65 73 73 66 75 6c 20 72 65 73 75 6c 74 2c 20 | f.assuming.a.successful.result,. |
| 96c20 | 77 69 74 68 0a 20 20 20 20 20 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | with.......the.<code.class="zig" |
| 96c40 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 3c | ><span.class="tok-kw">if</span>< |
| 96c60 | 2f 63 6f 64 65 3e 20 65 78 70 72 65 73 73 69 6f 6e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 | /code>.expression:</p>.......<p. |
| 96c80 | 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 | class="file">test.zig</p><pre><c |
| 96ca0 | 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ode.class="zig"><span.class="tok |
| 96cc0 | 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 77 61 72 6e 20 3d 20 3c 73 70 61 6e 20 63 | -kw">const</span>.warn.=.<span.c |
| 96ce0 | 6c 61 73 73 3d 22 74 6f 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 |
| 96d00 | 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 | >(<span.class="tok-str">"st |
| 96d20 | 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 64 65 62 75 67 2e 77 61 72 6e 3b 0a 0a 3c 73 70 | d"</span>).debug.warn;..<sp |
| 96d40 | 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 |
| 96d60 | 61 6e 20 63 6c 61 73 73 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 |
| 96d80 | 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>().< |
| 96da0 | 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 |
| 96dc0 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | >.{.....<span.class="tok-kw">con |
| 96de0 | 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 61 | st</span>.result.=.getNumberOrFa |
| 96e00 | 69 6c 28 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | il();......<span.class="tok-kw"> |
| 96e20 | 69 66 3c 2f 73 70 61 6e 3e 20 28 72 65 73 75 6c 74 29 20 7c 6e 75 6d 62 65 72 7c 20 7b 0a 20 20 | if</span>.(result).|number|.{... |
| 96e40 | 20 20 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 | ......warn(<span.class="tok-str" |
| 96e60 | 3e 26 71 75 6f 74 3b 67 6f 74 20 6e 75 6d 62 65 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c 2f 73 | >"got.number:.{}\n"</s |
| 96e80 | 70 61 6e 3e 2c 20 2e 7b 6e 75 6d 62 65 72 7d 29 3b 0a 20 20 20 20 7d 20 3c 73 70 61 6e 20 63 6c | pan>,..{number});.....}.<span.cl |
| 96ea0 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 7c 65 72 72 7c 20 7b | ass="tok-kw">else</span>.|err|.{ |
| 96ec0 | 0a 20 20 20 20 20 20 20 20 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 | .........warn(<span.class="tok-s |
| 96ee0 | 74 72 22 3e 26 71 75 6f 74 3b 67 6f 74 20 65 72 72 6f 72 3a 20 7b 7d 5c 6e 26 71 75 6f 74 3b 3c | tr">"got.error:.{}\n"< |
| 96f00 | 2f 73 70 61 6e 3e 2c 20 2e 7b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 | /span>,..{<span.class="tok-built |
| 96f20 | 69 6e 22 3e 40 65 72 72 6f 72 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 65 72 72 29 7d 29 3b 0a 20 20 | in">@errorName</span>(err)});... |
| 96f40 | 20 20 7d 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f | ..}.}..<span.class="tok-kw">fn</ |
| 96f60 | 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 67 65 74 4e 75 | span>.<span.class="tok-fn">getNu |
| 96f80 | 6d 62 65 72 4f 72 46 61 69 6c 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 | mberOrFail</span>().!<span.class |
| 96fa0 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 | ="tok-type">i32</span>.{.....<sp |
| 96fc0 | 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>. |
| 96fe0 | 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 |
| 97000 | 3e 2e 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 3b 0a 7d 3c 2f 63 6f 64 65 3e | >.UnableToReturnNumber;.}</code> |
| 97020 | 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 | </pre><pre><code.class="shell">$ |
| 97040 | 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 73 74 | .zig.build-exe.test.zig.$../test |
| 97060 | 0a 67 6f 74 20 65 72 72 6f 72 3a 20 55 6e 61 62 6c 65 54 6f 52 65 74 75 72 6e 4e 75 6d 62 65 72 | .got.error:.UnableToReturnNumber |
| 97080 | 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 | .</code></pre>........<p>See.als |
| 970a0 | 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 72 73 22 | o:</p><ul>.<li><a.href="#Errors" |
| 970c0 | 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 20 0a 20 | >Errors</a></li>.</ul>.......... |
| 970e0 | 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 43 6f 64 65 22 | .....<h2.id="Invalid-Error-Code" |
| 97100 | 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 43 6f 64 | ><a.href="#toc-Invalid-Error-Cod |
| 97120 | 65 22 3e 49 6e 76 61 6c 69 64 20 45 72 72 6f 72 20 43 6f 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 | e">Invalid.Error.Code</a>.<a.cla |
| 97140 | 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 43 6f | ss="hdr".href="#Invalid-Error-Co |
| 97160 | 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d | de">..</a></h2>........<p>At.com |
| 97180 | 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 | pile-time:</p>.......<p.class="f |
| 971a0 | 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | ile">test.zig</p><pre><code.clas |
| 971c0 | 73 3d 22 7a 69 67 22 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 | s="zig"><span.class="tok-kw">com |
| 971e0 | 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | ptime</span>.{.....<span.class=" |
| 97200 | 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 72 72 20 3d 20 3c 73 70 61 6e | tok-kw">const</span>.err.=.<span |
| 97220 | 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 41 6e 45 | .class="tok-kw">error</span>.AnE |
| 97240 | 72 72 6f 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | rror;.....<span.class="tok-kw">c |
| 97260 | 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 73 | onst</span>.number.=.<span.class |
| 97280 | 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 73 70 61 6e | ="tok-builtin">@errorToInt</span |
| 972a0 | 3e 28 65 72 72 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 | >(err).+.<span.class="tok-number |
| 972c0 | 22 3e 31 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ">10</span>;.....<span.class="to |
| 972e0 | 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d | k-kw">const</span>.invalid_err.= |
| 97300 | 20 3c 73 70 61 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 |
| 97320 | 6f 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c | oError</span>(number);.}</code>< |
| 97340 | 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 | /pre><pre><code.class="shell">$. |
| 97360 | 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | zig.test.test.zig.<span.class="t |
| 97380 | 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 35 3a | 0_1">./docgen_tmp/test.zig:4:25: |
| 973a0 | 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 |
| 973c0 | 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 69 6e 74 | r:.</span><span.class="t0_1">int |
| 973e0 | 65 67 65 72 20 76 61 6c 75 65 20 31 31 20 72 65 70 72 65 73 65 6e 74 73 20 6e 6f 20 65 72 72 6f | eger.value.11.represents.no.erro |
| 97400 | 72 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d | r</span>.....const.invalid_err.= |
| 97420 | 20 40 69 6e 74 54 6f 45 72 72 6f 72 28 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 | .@intToError(number);........... |
| 97440 | 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 |
| 97460 | 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 | ">^</span>.</code></pre>........ |
| 97480 | 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 70 20 63 6c 61 73 | <p>At.runtime:</p>.......<p.clas |
| 974a0 | 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 | s="file">test.zig</p><pre><code. |
| 974c0 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | class="zig"><span.class="tok-kw" |
| 974e0 | 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= |
| 97500 | 22 74 6f 6b 2d 62 75 69 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 |
| 97520 | 61 6e 20 63 6c 61 73 73 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">"std&quo |
| 97540 | 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | t;</span>);..<span.class="tok-kw |
| 97560 | 22 3e 70 75 62 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | ">pub</span>.<span.class="tok-kw |
| 97580 | 22 3e 66 6e 3c 2f 73 70 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" |
| 975a0 | 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | >main</span>().<span.class="tok- |
| 975c0 | 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | type">void</span>.{.....<span.cl |
| 975e0 | 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 72 72 20 3d 20 3c 73 | ass="tok-kw">var</span>.err.=.<s |
| 97600 | 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>. |
| 97620 | 41 6e 45 72 72 6f 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | AnError;.....<span.class="tok-kw |
| 97640 | 22 3e 76 61 72 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 | ">var</span>.number.=.<span.clas |
| 97660 | 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 72 72 6f 72 54 6f 49 6e 74 3c 2f 73 70 61 | s="tok-builtin">@errorToInt</spa |
| 97680 | 6e 3e 28 65 72 72 29 20 2b 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 | n>(err).+.<span.class="tok-numbe |
| 976a0 | 72 22 3e 35 30 30 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | r">500</span>;.....<span.class=" |
| 976c0 | 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d | tok-kw">var</span>.invalid_err.= |
| 976e0 | 20 3c 73 70 61 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 |
| 97700 | 6f 45 72 72 6f 72 3c 2f 73 70 61 6e 3e 28 6e 75 6d 62 65 72 29 3b 0a 20 20 20 20 73 74 64 2e 64 | oError</span>(number);.....std.d |
| 97720 | 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e | ebug.warn(<span.class="tok-str"> |
| 97740 | 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 | "value:.{}\n"</span>,. |
| 97760 | 2e 7b 6e 75 6d 62 65 72 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c | .{number});.}</code></pre><pre>< |
| 97780 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 | code.class="shell">$.zig.build-e |
| 977a0 | 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 73 74 0a 69 6e 76 61 6c 69 64 20 65 72 72 | xe.test.zig.$../test.invalid.err |
| 977c0 | 6f 72 20 63 6f 64 65 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 | or.code.<span.class="t37_1">/dep |
| 977e0 | 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 36 3a 32 33 3c 2f | s/zig/docgen_tmp/test.zig:6:23</ |
| 97800 | 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 61 38 | span>:.<span.class="t2_0">0x22a8 |
| 97820 | 62 34 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 76 61 72 | b4.in.main.(test)</span>.....var |
| 97840 | 20 69 6e 76 61 6c 69 64 5f 65 72 72 20 3d 20 40 69 6e 74 54 6f 45 72 72 6f 72 28 6e 75 6d 62 65 | .invalid_err.=.@intToError(numbe |
| 97860 | 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | r);.......................<span. |
| 97880 | 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 | class="t32_1">^</span>.<span.cla |
| 978a0 | 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 | ss="t37_1">/deps/zig/lib/std/sta |
| 978c0 | 72 74 2e 7a 69 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | rt.zig:243:22</span>:.<span.clas |
| 978e0 | 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 37 35 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 | s="t2_0">0x20475f.in.std.start.p |
| 97900 | 6f 73 69 78 43 61 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e | osixCallMainAndExit.(test)</span |
| 97920 | 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 | >.............root.main();...... |
| 97940 | 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 |
| 97960 | 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 74 33 37 5f 31 22 | _1">^</span>.<span.class="t37_1" |
| 97980 | 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 | >/deps/zig/lib/std/start.zig:123 |
| 979a0 | 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 |
| 979c0 | 32 30 34 35 33 66 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 | 20453f.in.std.start._start.(test |
| 979e0 | 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 66 69 65 72 20 | )</span>.....@call(.{..modifier. |
| 97a00 | 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 |
| 97a20 | 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | AndExit,..{});.....<span.class=" |
| 97a40 | 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 | t32_1">^</span>.(process.termina |
| 97a60 | 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 | ted.by.signal)</code></pre>..... |
| 97a80 | 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6e 76 61 6c 69 64 2d 45 6e 75 6d 2d 43 | ..........<h2.id="Invalid-Enum-C |
| 97aa0 | 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 2d 45 6e 75 6d 2d | ast"><a.href="#toc-Invalid-Enum- |
| 97ac0 | 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 3e 20 3c 61 20 63 | Cast">Invalid.Enum.Cast</a>.<a.c |
| 97ae0 | 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 6e 75 6d 2d 43 | lass="hdr".href="#Invalid-Enum-C |
| 97b00 | 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f | ast">..</a></h2>........<p>At.co |
| 97b20 | 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 | mpile-time:</p>.......<p.class=" |
| 97b40 | 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 | file">test.zig</p><pre><code.cla |
| 97b60 | 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | ss="zig"><span.class="tok-kw">co |
| 97b80 | 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 |
| 97ba0 | 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 41 2c 0a 20 20 20 20 42 | k-kw">enum</span>.{.....A,.....B |
| 97bc0 | 2c 0a 20 20 20 20 43 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | ,.....C,.};.<span.class="tok-kw" |
| 97be0 | 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | >comptime</span>.{.....<span.cla |
| 97c00 | 73 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 |
| 97c20 | 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>.=.< |
| 97c40 | 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> |
| 97c60 | 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | ;.....<span.class="tok-kw">const |
| 97c80 | 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 62 75 69 | </span>.b.=.<span.class="tok-bui |
| 97ca0 | 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 61 29 3b | ltin">@intToEnum</span>(Foo,.a); |
| 97cc0 | 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | .}</code></pre><pre><code.class= |
| 97ce0 | 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 | "shell">$.zig.test.test.zig.<spa |
| 97d00 | 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 |
| 97d20 | 2e 7a 69 67 3a 38 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 | .zig:8:15:.</span><span.class="t |
| 97d40 | 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= |
| 97d60 | 22 74 30 5f 31 22 3e 65 6e 75 6d 20 27 46 6f 6f 27 20 68 61 73 20 6e 6f 20 74 61 67 20 6d 61 74 | "t0_1">enum.'Foo'.has.no.tag.mat |
| 97d80 | 63 68 69 6e 67 20 69 6e 74 65 67 65 72 20 76 61 6c 75 65 20 33 3c 2f 73 70 61 6e 3e 0a 20 20 20 | ching.integer.value.3</span>.... |
| 97da0 | 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 61 29 3b 0a 20 | .const.b.=.@intToEnum(Foo,.a);.. |
| 97dc0 | 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" |
| 97de0 | 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 2e 2f 64 | >^</span>.<span.class="t0_1">./d |
| 97e00 | 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 3a 31 33 3a 20 3c 2f 73 70 61 6e 3e | ocgen_tmp/test.zig:1:13:.</span> |
| 97e20 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 36 5f 31 22 3e 6e 6f 74 65 3a 20 3c 2f 73 70 61 6e | <span.class="t36_1">note:.</span |
| 97e40 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 27 46 6f 6f 27 20 64 65 63 6c 61 72 | ><span.class="t0_1">'Foo'.declar |
| 97e60 | 65 64 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 63 6f 6e 73 74 20 46 6f 6f 20 3d 20 65 6e 75 6d 20 | ed.here</span>.const.Foo.=.enum. |
| 97e80 | 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 | {.............<span.class="t32_1 |
| 97ea0 | 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 | ">^</span>.</code></pre>........ |
| 97ec0 | 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 70 20 63 6c 61 73 | <p>At.runtime:</p>.......<p.clas |
| 97ee0 | 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 | s="file">test.zig</p><pre><code. |
| 97f00 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | class="zig"><span.class="tok-kw" |
| 97f20 | 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= |
| 97f40 | 22 74 6f 6b 2d 62 75 69 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 |
| 97f60 | 61 6e 20 63 6c 61 73 73 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">"std&quo |
| 97f80 | 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | t;</span>);..<span.class="tok-kw |
| 97fa0 | 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 |
| 97fc0 | 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6e 75 6d 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 41 2c 0a 20 | ="tok-kw">enum</span>.{.....A,.. |
| 97fe0 | 20 20 20 42 2c 0a 20 20 20 20 43 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ...B,.....C,.};..<span.class="to |
| 98000 | 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 |
| 98020 | 6b 2d 6b 77 22 3e 66 6e 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 |
| 98040 | 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=" |
| 98060 | 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 | tok-type">void</span>.{.....<spa |
| 98080 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 3a 20 3c | n.class="tok-kw">var</span>.a:.< |
| 980a0 | 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 20 | span.class="tok-type">u2</span>. |
| 980c0 | 3d 20 3c 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 |
| 980e0 | 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 | an>;.....<span.class="tok-kw">va |
| 98100 | 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 62 75 | r</span>.b.=.<span.class="tok-bu |
| 98120 | 69 6c 74 69 6e 22 3e 40 69 6e 74 54 6f 45 6e 75 6d 3c 2f 73 70 61 6e 3e 28 46 6f 6f 2c 20 61 29 | iltin">@intToEnum</span>(Foo,.a) |
| 98140 | 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 | ;.....std.debug.warn(<span.class |
| 98160 | 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">"value:.{}\n&quo |
| 98180 | 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 |
| 981a0 | 69 6c 74 69 6e 22 3e 40 74 61 67 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 62 29 7d 29 3b 0a 7d 3c 2f | iltin">@tagName</span>(b)});.}</ |
| 981c0 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 | code></pre><pre><code.class="she |
| 981e0 | 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e | ll">$.zig.build-exe.test.zig.$.. |
| 98200 | 2f 74 65 73 74 0a 69 6e 76 61 6c 69 64 20 65 6e 75 6d 20 76 61 6c 75 65 0a 3c 73 70 61 6e 20 63 | /test.invalid.enum.value.<span.c |
| 98220 | 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d | lass="t37_1">/deps/zig/docgen_tm |
| 98240 | 70 2f 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 | p/test.zig:11:13</span>:.<span.c |
| 98260 | 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 61 38 63 63 20 69 6e 20 6d 61 69 6e 20 28 74 65 | lass="t2_0">0x22a8cc.in.main.(te |
| 98280 | 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 76 61 72 20 62 20 3d 20 40 69 6e 74 54 6f 45 6e 75 | st)</span>.....var.b.=.@intToEnu |
| 982a0 | 6d 28 46 6f 6f 2c 20 61 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | m(Foo,.a);.............<span.cla |
| 982c0 | 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ss="t32_1">^</span>.<span.class= |
| 982e0 | 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e | "t37_1">/deps/zig/lib/std/start. |
| 98300 | 7a 69 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | zig:243:22</span>:.<span.class=" |
| 98320 | 74 32 5f 30 22 3e 30 78 32 30 34 37 39 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 | t2_0">0x20479f.in.std.start.posi |
| 98340 | 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 0a 20 | xCallMainAndExit.(test)</span>.. |
| 98360 | 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 | ...........root.main();......... |
| 98380 | 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" |
| 983a0 | 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 | >^</span>.<span.class="t37_1">/d |
| 983c0 | 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 3a 35 3c | eps/zig/lib/std/start.zig:123:5< |
| 983e0 | 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 34 | /span>:.<span.class="t2_0">0x204 |
| 98400 | 35 37 66 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 | 57f.in.std.start._start.(test)</ |
| 98420 | 73 70 61 6e 3e 0a 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 | span>.....@call(.{..modifier.=.. |
| 98440 | 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 |
| 98460 | 45 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 | Exit,..{});.....<span.class="t32 |
| 98480 | 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 | _1">^</span>.(process.terminated |
| 984a0 | 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 | .by.signal)</code></pre>........ |
| 984c0 | 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 | ........<h2.id="Invalid-Error-Se |
| 984e0 | 74 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 2d 45 72 | t-Cast"><a.href="#toc-Invalid-Er |
| 98500 | 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 3e 49 6e 76 61 6c 69 64 20 45 72 72 6f 72 20 53 65 74 20 | ror-Set-Cast">Invalid.Error.Set. |
| 98520 | 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 49 | Cast</a>.<a.class="hdr".href="#I |
| 98540 | 6e 76 61 6c 69 64 2d 45 72 72 6f 72 2d 53 65 74 2d 43 61 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 | nvalid-Error-Set-Cast">..</a></h |
| 98560 | 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 | 2>........<p>At.compile-time:</p |
| 98580 | 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 | >.......<p.class="file">test.zig |
| 985a0 | 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | </p><pre><code.class="zig"><span |
| 985c0 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 65 74 | .class="tok-kw">const</span>.Set |
| 985e0 | 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 2f | 1.=.<span.class="tok-kw">error</ |
| 98600 | 73 70 61 6e 3e 7b 0a 20 20 20 20 41 2c 0a 20 20 20 20 42 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c | span>{.....A,.....B,.};.<span.cl |
| 98620 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 53 65 74 32 20 3d | ass="tok-kw">const</span>.Set2.= |
| 98640 | 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 |
| 98660 | 6e 3e 7b 0a 20 20 20 20 41 2c 0a 20 20 20 20 43 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | n>{.....A,.....C,.};.<span.class |
| 98680 | 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | ="tok-kw">comptime</span>.{..... |
| 986a0 | 5f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 65 | _.=.<span.class="tok-builtin">@e |
| 986c0 | 72 72 53 65 74 43 61 73 74 3c 2f 73 70 61 6e 3e 28 53 65 74 32 2c 20 53 65 74 31 2e 42 29 3b 0a | rrSetCast</span>(Set2,.Set1.B);. |
| 986e0 | 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | }</code></pre><pre><code.class=" |
| 98700 | 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e | shell">$.zig.test.test.zig.<span |
| 98720 | 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. |
| 98740 | 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 61 73 73 3d 22 74 33 | zig:10:9:.</span><span.class="t3 |
| 98760 | 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=" |
| 98780 | 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 72 20 6f 66 20 65 72 | t0_1">error.B.not.a.member.of.er |
| 987a0 | 72 6f 72 20 73 65 74 20 27 53 65 74 32 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 5f 20 3d 20 40 65 | ror.set.'Set2'</span>....._.=.@e |
| 987c0 | 72 72 53 65 74 43 61 73 74 28 53 65 74 32 2c 20 53 65 74 31 2e 42 29 3b 0a 20 20 20 20 20 20 20 | rrSetCast(Set2,.Set1.B);........ |
| 987e0 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 2f | .<span.class="t32_1">^</span>.</ |
| 98800 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 69 6d 65 | code></pre>........<p>At.runtime |
| 98820 | 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 | :</p>.......<p.class="file">test |
| 98840 | 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c | .zig</p><pre><code.class="zig">< |
| 98860 | 73 70 61 6e 20 63 6c 61 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> |
| 98880 | 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" |
| 988a0 | 3e 40 69 6d 70 6f 72 74 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 |
| 988c0 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a | -str">"std"</span>);.. |
| 988e0 | 3c 73 70 61 6e 20 63 6c 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 |
| 98900 | 3e 20 53 65 74 31 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 | >.Set1.=.<span.class="tok-kw">er |
| 98920 | 72 6f 72 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 41 2c 0a 20 20 20 20 42 2c 0a 7d 3b 0a 3c 73 70 | ror</span>{.....A,.....B,.};.<sp |
| 98940 | 61 6e 20 63 6c 61 73 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 |
| 98960 | 65 74 32 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 | et2.=.<span.class="tok-kw">error |
| 98980 | 3c 2f 73 70 61 6e 3e 7b 0a 20 20 20 20 41 2c 0a 20 20 20 20 43 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 | </span>{.....A,.....C,.};.<span. |
| 989a0 | 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. |
| 989c0 | 63 6c 61 73 73 3d 22 74 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 |
| 989e0 | 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 |
| 98a00 | 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>.{ |
| 98a20 | 0a 20 20 20 20 66 6f 6f 28 53 65 74 31 2e 42 29 3b 0a 7d 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | .....foo(Set1.B);.}.<span.class= |
| 98a40 | 22 74 6f 6b 2d 6b 77 22 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=" |
| 98a60 | 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 65 74 31 3a 20 53 65 74 31 29 20 3c | tok-fn">foo</span>(set1:.Set1).< |
| 98a80 | 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 |
| 98aa0 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | >.{.....<span.class="tok-kw">con |
| 98ac0 | 73 74 3c 2f 73 70 61 6e 3e 20 78 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 | st</span>.x.=.<span.class="tok-b |
| 98ae0 | 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 53 65 74 32 2c | uiltin">@errSetCast</span>(Set2, |
| 98b00 | 20 73 65 74 31 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e | .set1);.....std.debug.warn(<span |
| 98b20 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 65 3a 20 7b 7d | .class="tok-str">"value:.{} |
| 98b40 | 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 78 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e | \n"</span>,..{x});.}</code> |
| 98b60 | 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 | </pre><pre><code.class="shell">$ |
| 98b80 | 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 73 74 | .zig.build-exe.test.zig.$../test |
| 98ba0 | 0a 69 6e 76 61 6c 69 64 20 65 72 72 6f 72 20 63 6f 64 65 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | .invalid.error.code.<span.class= |
| 98bc0 | 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 | "t37_1">/deps/zig/docgen_tmp/tes |
| 98be0 | 74 2e 7a 69 67 3a 31 35 3a 31 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | t.zig:15:15</span>:.<span.class= |
| 98c00 | 22 74 32 5f 30 22 3e 30 78 32 32 65 61 34 63 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c 2f 73 | "t2_0">0x22ea4c.in.foo.(test)</s |
| 98c20 | 70 61 6e 3e 0a 20 20 20 20 63 6f 6e 73 74 20 78 20 3d 20 40 65 72 72 53 65 74 43 61 73 74 28 53 | pan>.....const.x.=.@errSetCast(S |
| 98c40 | 65 74 32 2c 20 73 65 74 31 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 | et2,.set1);...............<span. |
| 98c60 | 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 | class="t32_1">^</span>.<span.cla |
| 98c80 | 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f | ss="t37_1">/deps/zig/docgen_tmp/ |
| 98ca0 | 74 65 73 74 2e 7a 69 67 3a 31 32 3a 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | test.zig:12:8</span>:.<span.clas |
| 98cc0 | 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 61 38 39 64 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 | s="t2_0">0x22a89d.in.main.(test) |
| 98ce0 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 66 6f 6f 28 53 65 74 31 2e 42 29 3b 0a 20 20 20 20 20 20 20 | </span>.....foo(Set1.B);........ |
| 98d00 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 | <span.class="t32_1">^</span>.<sp |
| 98d20 | 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 | an.class="t37_1">/deps/zig/lib/s |
| 98d40 | 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 | td/start.zig:243:22</span>:.<spa |
| 98d60 | 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 37 39 66 20 69 6e 20 73 74 64 2e 73 | n.class="t2_0">0x20479f.in.std.s |
| 98d80 | 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) |
| 98da0 | 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b | </span>.............root.main(); |
| 98dc0 | 0a 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 |
| 98de0 | 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=" |
| 98e00 | 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a | t37_1">/deps/zig/lib/std/start.z |
| 98e20 | 69 67 3a 31 32 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 | ig:123:5</span>:.<span.class="t2 |
| 98e40 | 5f 30 22 3e 30 78 32 30 34 35 37 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 | _0">0x20457f.in.std.start._start |
| 98e60 | 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 | .(test)</span>.....@call(.{..mod |
| 98e80 | 69 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 | ifier.=..never_inline.},.posixCa |
| 98ea0 | 6c 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | llMainAndExit,..{});.....<span.c |
| 98ec0 | 6c 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 | lass="t32_1">^</span>.(process.t |
| 98ee0 | 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | erminated.by.signal)</code></pre |
| 98f00 | 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6e 63 6f 72 72 65 | >................<h2.id="Incorre |
| 98f20 | 63 74 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 | ct-Pointer-Alignment"><a.href="# |
| 98f40 | 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 6e 74 22 | toc-Incorrect-Pointer-Alignment" |
| 98f60 | 3e 49 6e 63 6f 72 72 65 63 74 20 50 6f 69 6e 74 65 72 20 41 6c 69 67 6e 6d 65 6e 74 3c 2f 61 3e | >Incorrect.Pointer.Alignment</a> |
| 98f80 | 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6e 63 6f 72 72 65 63 74 | .<a.class="hdr".href="#Incorrect |
| 98fa0 | 2d 50 6f 69 6e 74 65 72 2d 41 6c 69 67 6e 6d 65 6e 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a | -Pointer-Alignment">..</a></h2>. |
| 98fc0 | 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>.. |
| 98fe0 | 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 | .....<p.class="file">test.zig</p |
| 99000 | 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ><pre><code.class="zig"><span.cl |
| 99020 | 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 0a 20 | ass="tok-kw">comptime</span>.{.. |
| 99040 | 20 20 20 3c 73 70 61 6e 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 |
| 99060 | 70 61 6e 3e 20 70 74 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c | pan>.ptr.=.<span.class="tok-buil |
| 99080 | 74 69 6e 22 3e 40 69 6e 74 54 6f 50 74 72 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 | tin">@intToPtr</span>(*<span.cla |
| 990a0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 61 6c 69 67 6e 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 | ss="tok-kw">align</span>(<span.c |
| 990c0 | 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 | lass="tok-number">1</span>).<spa |
| 990e0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 20 3c | n.class="tok-type">i32</span>,.< |
| 99100 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 3c 2f 73 70 61 | span.class="tok-number">0x1</spa |
| 99120 | 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f | n>);.....<span.class="tok-kw">co |
| 99140 | 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 69 67 6e 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | nst</span>.aligned.=.<span.class |
| 99160 | 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 61 6c 69 67 6e 43 61 73 74 3c 2f 73 70 61 6e 3e | ="tok-builtin">@alignCast</span> |
| 99180 | 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 |
| 991a0 | 6e 3e 2c 20 70 74 72 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f | n>,.ptr);.}</code></pre><pre><co |
| 991c0 | 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 | de.class="shell">$.zig.test.test |
| 991e0 | 2e 7a 69 67 0a 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 | .zig.<span.class="t0_1">./docgen |
| 99200 | 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 33 35 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e | _tmp/test.zig:3:35:.</span><span |
| 99220 | 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 |
| 99240 | 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 64 64 72 65 73 73 20 | an.class="t0_1">pointer.address. |
| 99260 | 30 78 31 20 69 73 20 6e 6f 74 20 61 6c 69 67 6e 65 64 20 74 6f 20 34 20 62 79 74 65 73 3c 2f 73 | 0x1.is.not.aligned.to.4.bytes</s |
| 99280 | 70 61 6e 3e 0a 20 20 20 20 63 6f 6e 73 74 20 61 6c 69 67 6e 65 64 20 3d 20 40 61 6c 69 67 6e 43 | pan>.....const.aligned.=.@alignC |
| 992a0 | 61 73 74 28 34 2c 20 70 74 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ast(4,.ptr);.................... |
| 992c0 | 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_ |
| 992e0 | 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 74 30 5f 31 22 3e 2e | 1">^</span>.<span.class="t0_1">. |
| 99300 | 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 32 31 3a 20 3c 2f 73 70 61 | /docgen_tmp/test.zig:3:21:.</spa |
| 99320 | 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 |
| 99340 | 61 6e 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 30 5f 31 22 3e 72 65 66 65 72 65 6e 63 65 64 | an><span.class="t0_1">referenced |
| 99360 | 20 68 65 72 65 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f 6e 73 74 20 61 6c 69 67 6e 65 64 20 3d | .here</span>.....const.aligned.= |
| 99380 | 20 40 61 6c 69 67 6e 43 61 73 74 28 34 2c 20 70 74 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 | .@alignCast(4,.ptr);............ |
| 993a0 | 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">^</ |
| 993c0 | 73 70 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 | span>.</code></pre>........<p>At |
| 993e0 | 20 72 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 | .runtime:</p>.......<p.class="fi |
| 99400 | 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | le">test.zig</p><pre><code.class |
| 99420 | 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | ="zig"><span.class="tok-kw">cons |
| 99440 | 74 3c 2f 73 70 61 6e 3e 20 6d 65 6d 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | t</span>.mem.=.<span.class="tok- |
| 99460 | 62 75 69 6c 74 69 6e 22 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 |
| 99480 | 61 73 73 3d 22 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">"std"</s |
| 994a0 | 70 61 6e 3e 29 2e 6d 65 6d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | pan>).mem;.<span.class="tok-kw"> |
| 994c0 | 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"> |
| 994e0 | 66 6e 3c 2f 73 70 61 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 |
| 99500 | 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | ain</span>().!<span.class="tok-t |
| 99520 | 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | ype">void</span>.{.....<span.cla |
| 99540 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 61 72 72 61 79 20 3c 73 70 | ss="tok-kw">var</span>.array.<sp |
| 99560 | 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>(< |
| 99580 | 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> |
| 995a0 | 29 20 3d 20 5b 5f 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 | ).=.[_]<span.class="tok-type">u3 |
| 995c0 | 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 |
| 995e0 | 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 | r">0x11111111</span>,.<span.clas |
| 99600 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 78 31 31 31 31 31 31 31 31 3c 2f 73 70 61 6e 3e | s="tok-number">0x11111111</span> |
| 99620 | 20 7d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | .};.....<span.class="tok-kw">con |
| 99640 | 73 74 3c 2f 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 | st</span>.bytes.=.mem.sliceAsByt |
| 99660 | 65 73 28 61 72 72 61 79 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 | es(array[<span.class="tok-number |
| 99680 | 22 3e 30 3c 2f 73 70 61 6e 3e 2e 2e 5d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ">0</span>..]);.....<span.class= |
| 996a0 | 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 66 6f 6f 28 62 79 74 65 73 29 20 21 | "tok-kw">if</span>.(foo(bytes).! |
| 996c0 | 3d 20 3c 73 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 |
| 996e0 | 31 31 31 31 31 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | 11111</span>).<span.class="tok-k |
| 99700 | 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 |
| 99720 | 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 57 72 6f 6e 67 3b 0a 7d 0a 3c 73 70 61 | k-kw">error</span>.Wrong;.}.<spa |
| 99740 | 6e 20 63 6c 61 73 73 3d 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 |
| 99760 | 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 79 74 65 73 | .class="tok-fn">foo</span>(bytes |
| 99780 | 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 | :.[]<span.class="tok-type">u8</s |
| 997a0 | 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 | pan>).<span.class="tok-type">u32 |
| 997c0 | 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | </span>.{.....<span.class="tok-k |
| 997e0 | 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 6c 69 63 65 34 20 3d 20 62 79 74 65 73 5b 3c | w">const</span>.slice4.=.bytes[< |
| 99800 | 73 70 61 6e 20 63 6c 61 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> |
| 99820 | 2e 2e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 35 3c 2f 73 70 | ..<span.class="tok-number">5</sp |
| 99840 | 61 6e 3e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | an>];.....<span.class="tok-kw">c |
| 99860 | 6f 6e 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 | onst</span>.int_slice.=.mem.byte |
| 99880 | 73 41 73 53 6c 69 63 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e | sAsSlice(<span.class="tok-type"> |
| 998a0 | 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 62 75 69 | u32</span>,.<span.class="tok-bui |
| 998c0 | 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 6e 20 63 6c | ltin">@alignCast</span>(<span.cl |
| 998e0 | 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 6c 69 63 65 | ass="tok-number">4</span>,.slice |
| 99900 | 34 29 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 | 4));.....<span.class="tok-kw">re |
| 99920 | 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 69 6e 74 5f 73 6c 69 63 65 5b 3c 73 70 61 6e 20 63 6c 61 73 | turn</span>.int_slice[<span.clas |
| 99940 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 5d 3b 0a 7d 3c 2f 63 6f 64 | s="tok-number">0</span>];.}</cod |
| 99960 | 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 | e></pre><pre><code.class="shell" |
| 99980 | 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 | >$.zig.build-exe.test.zig.$../te |
| 999a0 | 73 74 0a 69 6e 63 6f 72 72 65 63 74 20 61 6c 69 67 6e 6d 65 6e 74 0a 3c 73 70 61 6e 20 63 6c 61 | st.incorrect.alignment.<span.cla |
| 999c0 | 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f | ss="t37_1">/deps/zig/docgen_tmp/ |
| 999e0 | 74 65 73 74 2e 7a 69 67 3a 39 3a 35 39 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 | test.zig:9:59</span>:.<span.clas |
| 99a00 | 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 65 64 62 62 20 69 6e 20 66 6f 6f 20 28 74 65 73 74 29 3c | s="t2_0">0x22edbb.in.foo.(test)< |
| 99a20 | 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f 6e 73 74 20 69 6e 74 5f 73 6c 69 63 65 20 3d 20 6d 65 6d | /span>.....const.int_slice.=.mem |
| 99a40 | 2e 62 79 74 65 73 41 73 53 6c 69 63 65 28 75 33 32 2c 20 40 61 6c 69 67 6e 43 61 73 74 28 34 2c | .bytesAsSlice(u32,.@alignCast(4, |
| 99a60 | 20 73 6c 69 63 65 34 29 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .slice4));...................... |
| 99a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 99aa0 | 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 |
| 99ac0 | 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f | >.<span.class="t37_1">/deps/zig/ |
| 99ae0 | 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 35 3a 31 32 3c 2f 73 70 61 6e 3e 3a | docgen_tmp/test.zig:5:12</span>: |
| 99b00 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 32 61 61 34 39 20 69 6e 20 | .<span.class="t2_0">0x22aa49.in. |
| 99b20 | 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 69 66 20 28 66 6f 6f 28 62 | main.(test)</span>.....if.(foo(b |
| 99b40 | 79 74 65 73 29 20 21 3d 20 30 78 31 31 31 31 31 31 31 31 29 20 72 65 74 75 72 6e 20 65 72 72 6f | ytes).!=.0x11111111).return.erro |
| 99b60 | 72 2e 57 72 6f 6e 67 3b 0a 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | r.Wrong;............<span.class= |
| 99b80 | 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 74 33 | "t32_1">^</span>.<span.class="t3 |
| 99ba0 | 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 | 7_1">/deps/zig/lib/std/start.zig |
| 99bc0 | 3a 32 35 33 3a 33 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 | :253:37</span>:.<span.class="t2_ |
| 99be0 | 30 22 3e 30 78 32 30 34 37 65 64 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 61 | 0">0x2047ed.in.std.start.posixCa |
| 99c00 | 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 0a 20 20 20 20 | llMainAndExit.(test)</span>..... |
| 99c20 | 20 20 20 20 20 20 20 20 63 6f 6e 73 74 20 72 65 73 75 6c 74 20 3d 20 72 6f 6f 74 2e 6d 61 69 6e | ........const.result.=.root.main |
| 99c40 | 28 29 20 63 61 74 63 68 20 7c 65 72 72 7c 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ().catch.|err|.{................ |
| 99c60 | 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 |
| 99c80 | 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 74 | ="t32_1">^</span>.<span.class="t |
| 99ca0 | 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 | 37_1">/deps/zig/lib/std/start.zi |
| 99cc0 | 67 3a 31 32 33 3a 35 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f | g:123:5</span>:.<span.class="t2_ |
| 99ce0 | 30 22 3e 30 78 32 30 34 35 32 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 | 0">0x20452f.in.std.start._start. |
| 99d00 | 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 40 63 61 6c 6c 28 2e 7b 20 2e 6d 6f 64 69 | (test)</span>.....@call(.{..modi |
| 99d20 | 66 69 65 72 20 3d 20 2e 6e 65 76 65 72 5f 69 6e 6c 69 6e 65 20 7d 2c 20 70 6f 73 69 78 43 61 6c | fier.=..never_inline.},.posixCal |
| 99d40 | 6c 4d 61 69 6e 41 6e 64 45 78 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | lMainAndExit,..{});.....<span.cl |
| 99d60 | 61 73 73 3d 22 74 33 32 5f 31 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 | ass="t32_1">^</span>.(process.te |
| 99d80 | 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | rminated.by.signal)</code></pre> |
| 99da0 | 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 57 72 6f 6e 67 2d 55 6e 69 | ...............<h2.id="Wrong-Uni |
| 99dc0 | 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 | on-Field-Access"><a.href="#toc-W |
| 99de0 | 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 63 65 73 73 22 3e 57 72 6f 6e 67 20 55 | rong-Union-Field-Access">Wrong.U |
| 99e00 | 6e 69 6f 6e 20 46 69 65 6c 64 20 41 63 63 65 73 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 | nion.Field.Access</a>.<a.class=" |
| 99e20 | 68 64 72 22 20 68 72 65 66 3d 22 23 57 72 6f 6e 67 2d 55 6e 69 6f 6e 2d 46 69 65 6c 64 2d 41 63 | hdr".href="#Wrong-Union-Field-Ac |
| 99e40 | 63 65 73 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 41 74 20 63 | cess">..</a></h2>........<p>At.c |
| 99e60 | 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d | ompile-time:</p>.......<p.class= |
| 99e80 | 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c | "file">test.zig</p><pre><code.cl |
| 99ea0 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | ass="zig"><span.class="tok-kw">c |
| 99ec0 | 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | omptime</span>.{.....<span.class |
| 99ee0 | 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 46 6f 6f 7b 20 2e 69 | ="tok-kw">var</span>.f.=.Foo{..i |
| 99f00 | 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 | nt.=.<span.class="tok-number">42 |
| 99f20 | 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 | </span>.};.....f.float.=.<span.c |
| 99f40 | 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 0a | lass="tok-number">12.34</span>;. |
| 99f60 | 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 | }..<span.class="tok-kw">const</s |
| 99f80 | 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"> |
| 99fa0 | 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 | union</span>.{.....float:.<span. |
| 99fc0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 | class="tok-type">f32</span>,.... |
| 99fe0 | 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 | .int:.<span.class="tok-type">u32 |
| 9a000 | 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f | </span>,.};</code></pre><pre><co |
| 9a020 | 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 | de.class="shell">$.zig.test.test |
| 9a040 | 2e 7a 69 67 0a 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 | .zig.<span.class="t0_1">./docgen |
| 9a060 | 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 36 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 | _tmp/test.zig:3:6:.</span><span. |
| 9a080 | 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 |
| 9a0a0 | 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 75 6e 69 6f 6e 20 66 | n.class="t0_1">accessing.union.f |
| 9a0c0 | 69 65 6c 64 20 27 66 6c 6f 61 74 27 20 77 68 69 6c 65 20 66 69 65 6c 64 20 27 69 6e 74 27 20 69 | ield.'float'.while.field.'int'.i |
| 9a0e0 | 73 20 73 65 74 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 31 32 2e 33 34 | s.set</span>.....f.float.=.12.34 |
| 9a100 | 3b 0a 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 |
| 9a120 | 61 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 | an>.</code></pre>........<p>At.r |
| 9a140 | 75 6e 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 | untime:</p>.......<p.class="file |
| 9a160 | 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | ">test.zig</p><pre><code.class=" |
| 9a180 | 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c | zig"><span.class="tok-kw">const< |
| 9a1a0 | 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 |
| 9a1c0 | 69 6c 74 69 6e 22 3e 40 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 |
| 9a1e0 | 73 3d 22 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">"std"</spa |
| 9a200 | 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | n>);..<span.class="tok-kw">const |
| 9a220 | 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | </span>.Foo.=.<span.class="tok-k |
| 9a240 | 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6c 6f 61 74 3a 20 3c 73 70 | w">union</span>.{.....float:.<sp |
| 9a260 | 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 0a | an.class="tok-type">f32</span>,. |
| 9a280 | 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"> |
| 9a2a0 | 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | u32</span>,.};..<span.class="tok |
| 9a2c0 | 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 |
| 9a2e0 | 2d 6b 77 22 3e 66 6e 3c 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- |
| 9a300 | 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | fn">main</span>().<span.class="t |
| 9a320 | 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e | ok-type">void</span>.{.....<span |
| 9a340 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 46 | .class="tok-kw">var</span>.f.=.F |
| 9a360 | 6f 6f 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | oo{..int.=.<span.class="tok-numb |
| 9a380 | 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 | er">42</span>.};.....bar(&f) |
| 9a3a0 | 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 | ;.}..<span.class="tok-kw">fn</sp |
| 9a3c0 | 61 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 |
| 9a3e0 | 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 |
| 9a400 | 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d 20 | pe">void</span>.{.....f.float.=. |
| 9a420 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 32 2e 33 34 3c 2f | <span.class="tok-number">12.34</ |
| 9a440 | 73 70 61 6e 3e 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 | span>;.....std.debug.warn(<span. |
| 9a460 | 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">"value:.{}\ |
| 9a480 | 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 74 7d 29 3b 0a 7d 3c 2f | n"</span>,..{f.float});.}</ |
| 9a4a0 | 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 | code></pre><pre><code.class="she |
| 9a4c0 | 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e | ll">$.zig.build-exe.test.zig.$.. |
| 9a4e0 | 2f 74 65 73 74 0a 61 63 63 65 73 73 20 6f 66 20 69 6e 61 63 74 69 76 65 20 75 6e 69 6f 6e 20 66 | /test.access.of.inactive.union.f |
| 9a500 | 69 65 6c 64 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a | ield.<span.class="t37_1">/deps/z |
| 9a520 | 69 67 2f 64 6f 63 67 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 | ig/docgen_tmp/test.zig:14:6</spa |
| 9a540 | 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 63 32 31 61 20 | n>:.<span.class="t2_0">0x23c21a. |
| 9a560 | 69 6e 20 62 61 72 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 66 2e 66 6c 6f 61 74 | in.bar.(test)</span>.....f.float |
| 9a580 | 20 3d 20 31 32 2e 33 34 3b 0a 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f | .=.12.34;......<span.class="t32_ |
| 9a5a0 | 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 74 33 37 5f 31 22 3e | 1">^</span>.<span.class="t37_1"> |
| 9a5c0 | 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 31 30 | /deps/zig/docgen_tmp/test.zig:10 |
| 9a5e0 | 3a 38 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 | :8</span>:.<span.class="t2_0">0x |
| 9a600 | 32 33 38 30 36 63 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 | 23806c.in.main.(test)</span>.... |
| 9a620 | 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 0a 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | .bar(&f);........<span.class |
| 9a640 | 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 74 | ="t32_1">^</span>.<span.class="t |
| 9a660 | 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 | 37_1">/deps/zig/lib/std/start.zi |
| 9a680 | 67 3a 32 34 33 3a 32 32 3c 2f 73 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 | g:243:22</span>:.<span.class="t2 |
| 9a6a0 | 5f 30 22 3e 30 78 32 31 31 66 35 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 70 6f 73 69 78 43 | _0">0x211f5f.in.std.start.posixC |
| 9a6c0 | 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 0a 20 20 20 | allMainAndExit.(test)</span>.... |
| 9a6e0 | 20 20 20 20 20 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 | .........root.main();........... |
| 9a700 | 20 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">^ |
| 9a720 | 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 | </span>.<span.class="t37_1">/dep |
| 9a740 | 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 3a 35 3c 2f 73 | s/zig/lib/std/start.zig:123:5</s |
| 9a760 | 70 61 6e 3e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 31 31 64 33 | pan>:.<span.class="t2_0">0x211d3 |
| 9a780 | 66 20 69 6e 20 73 74 64 2e 73 74 61 72 74 2e 5f 73 74 61 72 74 20 28 74 65 73 74 29 3c 2f 73 70 | f.in.std.start._start.(test)</sp |
| 9a7a0 | 61 6e 3e 0a 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 | an>.....@call(.{..modifier.=..ne |
| 9a7c0 | 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 |
| 9a7e0 | 69 74 2c 20 2e 7b 7d 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 5f 31 | it,..{});.....<span.class="t32_1 |
| 9a800 | 22 3e 5e 3c 2f 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 | ">^</span>.(process.terminated.b |
| 9a820 | 79 20 73 69 67 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 | y.signal)</code></pre>........<p |
| 9a840 | 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 76 61 69 6c | >.......This.safety.is.not.avail |
| 9a860 | 61 62 6c 65 20 66 6f 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | able.for.<code.class="zig"><span |
| 9a880 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 74 65 72 6e 3c 2f 73 70 61 6e 3e 3c 2f 63 | .class="tok-kw">extern</span></c |
| 9a8a0 | 6f 64 65 3e 20 6f 72 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | ode>.or.<code.class="zig"><span. |
| 9a8c0 | 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 63 6f | class="tok-kw">packed</span></co |
| 9a8e0 | 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> |
| 9a900 | 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 |
| 9a920 | 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. |
| 9a940 | 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>.... |
| 9a960 | 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c | ...<p.class="file">test.zig</p>< |
| 9a980 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | pre><code.class="zig"><span.clas |
| 9a9a0 | 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 |
| 9a9c0 | 70 61 6e 20 63 6c 61 73 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< |
| 9a9e0 | 2f 73 70 61 6e 3e 28 3c 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 |
| 9aa00 | 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 | ot;std"</span>);..<span.cla |
| 9aa20 | 73 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.=.< |
| 9aa40 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e | span.class="tok-kw">union</span> |
| 9aa60 | 20 7b 0a 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 | .{.....float:.<span.class="tok-t |
| 9aa80 | 79 70 65 22 3e 66 33 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 | ype">f32</span>,.....int:.<span. |
| 9aaa0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a | class="tok-type">u32</span>,.};. |
| 9aac0 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e | .<span.class="tok-kw">pub</span> |
| 9aae0 | 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>. |
| 9ab00 | 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> |
| 9ab20 | 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</ |
| 9ab40 | 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | span>.{.....<span.class="tok-kw" |
| 9ab60 | 3e 76 61 72 3c 2f 73 70 61 6e 3e 20 66 20 3d 20 46 6f 6f 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 | >var</span>.f.=.Foo{..int.=.<spa |
| 9ab80 | 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 20 7d | n.class="tok-number">42</span>.} |
| 9aba0 | 3b 0a 20 20 20 20 62 61 72 28 26 61 6d 70 3b 66 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 | ;.....bar(&f);.}..<span.clas |
| 9abc0 | 73 3d 22 74 6f 6b 2d 6b 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 |
| 9abe0 | 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 73 | ="tok-fn">bar</span>(f:.*Foo).<s |
| 9ac00 | 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> |
| 9ac20 | 20 7b 0a 20 20 20 20 66 2e 2a 20 3d 20 46 6f 6f 7b 20 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e | .{.....f.*.=.Foo{..float.=.<span |
| 9ac40 | 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> |
| 9ac60 | 20 7d 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 63 6c 61 | .};.....std.debug.warn(<span.cla |
| 9ac80 | 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 71 | ss="tok-str">"value:.{}\n&q |
| 9aca0 | 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 66 2e 66 6c 6f 61 74 7d 29 3b 0a 7d 3c 2f 63 6f 64 | uot;</span>,..{f.float});.}</cod |
| 9acc0 | 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 | e></pre><pre><code.class="shell" |
| 9ace0 | 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 | >$.zig.build-exe.test.zig.$../te |
| 9ad00 | 73 74 0a 76 61 6c 75 65 3a 20 31 2e 32 33 34 30 30 30 30 31 65 2b 30 31 0a 3c 2f 63 6f 64 65 3e | st.value:.1.23400001e+01.</code> |
| 9ad20 | 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 6f 20 63 68 61 6e 67 | </pre>........<p>.......To.chang |
| 9ad40 | 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 69 6f 6e 20 77 68 | e.the.active.field.of.a.union.wh |
| 9ad60 | 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 74 68 65 20 66 69 | en.a.meaningful.value.for.the.fi |
| 9ad80 | 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 65 20 3c 61 20 68 | eld.is.not.known,.......use.<a.h |
| 9ada0 | 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 2c 20 | ref="#undefined">undefined</a>,. |
| 9adc0 | 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 | like.this:.......</p>.......<p.c |
| 9ade0 | 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f | lass="file">test.zig</p><pre><co |
| 9ae00 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| 9ae20 | 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 |
| 9ae40 | 73 73 3d 22 74 6f 6b 2d 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>( |
| 9ae60 | 3c 73 70 61 6e 20 63 6c 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">"std& |
| 9ae80 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | quot;</span>);..<span.class="tok |
| 9aea0 | 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 46 6f 6f 20 3d 20 3c 73 70 61 6e 20 63 6c | -kw">const</span>.Foo.=.<span.cl |
| 9aec0 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 6e 69 6f 6e 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 | ass="tok-kw">union</span>.{..... |
| 9aee0 | 66 6c 6f 61 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 | float:.<span.class="tok-type">f3 |
| 9af00 | 32 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 69 6e 74 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | 2</span>,.....int:.<span.class=" |
| 9af20 | 74 6f 6b 2d 74 79 70 65 22 3e 75 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 | tok-type">u32</span>,.};..<span. |
| 9af40 | 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. |
| 9af60 | 63 6c 61 73 73 3d 22 74 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 |
| 9af80 | 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 |
| 9afa0 | 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>.{ |
| 9afc0 | 0a 20 20 20 20 3c 73 70 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 |
| 9afe0 | 70 61 6e 3e 20 66 20 3d 20 46 6f 6f 7b 20 2e 69 6e 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 | pan>.f.=.Foo{..int.=.<span.class |
| 9b000 | 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 32 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 66 | ="tok-number">42</span>.};.....f |
| 9b020 | 20 3d 20 46 6f 6f 7b 20 2e 66 6c 6f 61 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | .=.Foo{..float.=.<span.class="to |
| 9b040 | 6b 2d 6e 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 20 7d 3b 0a 20 20 20 20 | k-null">undefined</span>.};..... |
| 9b060 | 62 61 72 28 26 61 6d 70 3b 66 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 | bar(&f);.....std.debug.warn( |
| 9b080 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 76 61 6c 75 | <span.class="tok-str">"valu |
| 9b0a0 | 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 74 7d | e:.{}\n"</span>,..{f.float} |
| 9b0c0 | 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 | );.}..<span.class="tok-kw">fn</s |
| 9b0e0 | 70 61 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 | pan>.<span.class="tok-fn">bar</s |
| 9b100 | 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 22 74 6f 6b 2d 74 | pan>(f:.*Foo).<span.class="tok-t |
| 9b120 | 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 2e 66 6c 6f 61 74 20 3d | ype">void</span>.{.....f.float.= |
| 9b140 | 20 3c 73 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 | .<span.class="tok-number">12.34< |
| 9b160 | 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 | /span>;.}</code></pre><pre><code |
| 9b180 | 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 | .class="shell">$.zig.build-exe.t |
| 9b1a0 | 65 73 74 2e 7a 69 67 0a 24 20 2e 2f 74 65 73 74 0a 76 61 6c 75 65 3a 20 31 2e 32 33 34 30 30 30 | est.zig.$../test.value:.1.234000 |
| 9b1c0 | 30 31 65 2b 30 31 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 | 01e+01.</code></pre>........<p>S |
| 9b1e0 | 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 75 | ee.also:</p><ul>.<li><a.href="#u |
| 9b200 | 6e 69 6f 6e 22 3e 75 6e 69 6f 6e 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 | nion">union</a></li>.<li><a.href |
| 9b220 | 3d 22 23 65 78 74 65 72 6e 2d 75 6e 69 6f 6e 22 3e 65 78 74 65 72 6e 20 75 6e 69 6f 6e 3c 2f 61 | ="#extern-union">extern.union</a |
| 9b240 | 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 32 20 | ></li>.</ul>................<h2. |
| 9b260 | 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 2d 49 6e 74 65 67 | id="Out-of-Bounds-Float-to-Integ |
| 9b280 | 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 2d 6f 66 2d 42 6f | er-Cast"><a.href="#toc-Out-of-Bo |
| 9b2a0 | 75 6e 64 73 2d 46 6c 6f 61 74 2d 74 6f 2d 49 6e 74 65 67 65 72 2d 43 61 73 74 22 3e 4f 75 74 20 | unds-Float-to-Integer-Cast">Out. |
| 9b2c0 | 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 20 43 61 73 74 3c | of.Bounds.Float.to.Integer.Cast< |
| 9b2e0 | 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4f 75 74 2d 6f 66 | /a>.<a.class="hdr".href="#Out-of |
| 9b300 | 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 22 3e c2 | -Bounds-Float-to-Integer-Cast">. |
| 9b320 | a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3c 2f 70 3e 0a 20 20 | .</a></h2>........<p>TODO</p>... |
| 9b340 | 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 65 72 2d 43 61 73 74 | ............<h2.id="Pointer-Cast |
| 9b360 | 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 6f 63 2d 50 6f 69 | -Invalid-Null"><a.href="#toc-Poi |
| 9b380 | 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. |
| 9b3a0 | 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 6c 61 73 73 3d 22 | Cast.Invalid.Null</a>.<a.class=" |
| 9b3c0 | 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 6e 76 61 6c 69 64 | hdr".href="#Pointer-Cast-Invalid |
| 9b3e0 | 2d 4e 75 6c 6c 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 | -Null">..</a></h2>........<p>... |
| 9b400 | 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 69 6e 67 20 61 20 | ....This.happens.when.casting.a. |
| 9b420 | 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 20 74 6f 20 61 20 | pointer.with.the.address.0.to.a. |
| 9b440 | 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 20 74 68 65 20 61 | pointer.which.may.not.have.the.a |
| 9b460 | 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 65 2c 20 3c 61 20 | ddress.0........For.example,.<a. |
| 9b480 | 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f 61 | href="#C-Pointers">C.Pointers</a |
| 9b4a0 | 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 74 65 72 73 22 3e | >,.<a.href="#Optional-Pointers"> |
| 9b4c0 | 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 20 3c 61 20 68 72 | Optional.Pointers</a>,.and.<a.hr |
| 9b4e0 | 65 66 3d 22 23 61 6c 6c 6f 77 7a 65 72 6f 22 3e 61 6c 6c 6f 77 7a 65 72 6f 3c 2f 61 3e 20 70 6f | ef="#allowzero">allowzero</a>.po |
| 9b500 | 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 20 7a 65 72 6f 2c | inters.......allow.address.zero, |
| 9b520 | 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 74 65 72 73 22 3e | .but.normal.<a.href="#Pointers"> |
| 9b540 | 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 20 3c 2f 70 3e 0a | Pointers</a>.do.not........</p>. |
| 9b560 | 20 20 20 20 20 20 3c 70 3e 41 74 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 3a 3c 2f 70 3e 0a 20 20 | ......<p>At.compile-time:</p>... |
| 9b580 | 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e | ....<p.class="file">test.zig</p> |
| 9b5a0 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | <pre><code.class="zig"><span.cla |
| 9b5c0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | ss="tok-kw">comptime</span>.{... |
| 9b5e0 | 20 20 3c 73 70 61 6e 20 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 |
| 9b600 | 61 6e 3e 20 6f 70 74 5f 70 74 72 3a 20 3f 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | an>.opt_ptr:.?*<span.class="tok- |
| 9b620 | 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=" |
| 9b640 | 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e | tok-null">null</span>;.....<span |
| 9b660 | 20 63 6c 61 73 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 |
| 9b680 | 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 70 74 | .=.<span.class="tok-builtin">@pt |
| 9b6a0 | 72 43 61 73 74 3c 2f 73 70 61 6e 3e 28 2a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 | rCast</span>(*<span.class="tok-t |
| 9b6c0 | 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 3b 0a 7d 3c 2f 63 6f | ype">i32</span>,.opt_ptr);.}</co |
| 9b6e0 | 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c | de></pre><pre><code.class="shell |
| 9b700 | 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 0a 3c 73 70 61 6e 20 63 6c 61 73 | ">$.zig.test.test.zig.<span.clas |
| 9b720 | 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 33 | s="t0_1">./docgen_tmp/test.zig:3 |
| 9b740 | 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 22 3e | :17:.</span><span.class="t31_1"> |
| 9b760 | 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" |
| 9b780 | 3e 6e 75 6c 6c 20 70 6f 69 6e 74 65 72 20 63 61 73 74 65 64 20 74 6f 20 74 79 70 65 20 27 2a 69 | >null.pointer.casted.to.type.'*i |
| 9b7a0 | 33 32 27 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 63 6f 6e 73 74 20 70 74 72 20 3d 20 40 70 74 72 43 | 32'</span>.....const.ptr.=.@ptrC |
| 9b7c0 | 61 73 74 28 2a 69 33 32 2c 20 6f 70 74 5f 70 74 72 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ast(*i32,.opt_ptr);............. |
| 9b7e0 | 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> |
| 9b800 | 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 41 74 20 72 75 6e 74 | .</code></pre>........<p>At.runt |
| 9b820 | 69 6d 65 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 | ime:</p>.......<p.class="file">t |
| 9b840 | 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | est.zig</p><pre><code.class="zig |
| 9b860 | 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 |
| 9b880 | 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> |
| 9b8a0 | 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 |
| 9b8c0 | 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< |
| 9b8e0 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | /span>.{.....<span.class="tok-kw |
| 9b900 | 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 70 61 6e 20 63 6c | ">var</span>.opt_ptr:.?*<span.cl |
| 9b920 | 61 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 |
| 9b940 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 3b 0a | n.class="tok-null">null</span>;. |
| 9b960 | 20 20 20 20 3c 73 70 61 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 |
| 9b980 | 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 |
| 9b9a0 | 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 |
| 9b9c0 | 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) |
| 9b9e0 | 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | ;.}</code></pre><pre><code.class |
| 9ba00 | 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 | ="shell">$.zig.build-exe.test.zi |
| 9ba20 | 67 0a 24 20 2e 2f 74 65 73 74 0a 63 61 73 74 20 63 61 75 73 65 73 20 70 6f 69 6e 74 65 72 20 74 | g.$../test.cast.causes.pointer.t |
| 9ba40 | 6f 20 62 65 20 6e 75 6c 6c 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 | o.be.null.<span.class="t37_1">/d |
| 9ba60 | 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 33 3a 31 35 | eps/zig/docgen_tmp/test.zig:3:15 |
| 9ba80 | 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 |
| 9baa0 | 61 38 30 30 20 69 6e 20 6d 61 69 6e 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 76 | a800.in.main.(test)</span>.....v |
| 9bac0 | 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 5f 70 74 72 29 | ar.ptr.=.@ptrCast(*i32,.opt_ptr) |
| 9bae0 | 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 32 | ;...............<span.class="t32 |
| 9bb00 | 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 74 33 37 5f 31 22 | _1">^</span>.<span.class="t37_1" |
| 9bb20 | 3e 2f 64 65 70 73 2f 7a 69 67 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 32 34 33 | >/deps/zig/lib/std/start.zig:243 |
| 9bb40 | 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 |
| 9bb60 | 78 32 30 34 36 64 66 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 | x2046df.in.std.start.posixCallMa |
| 9bb80 | 69 6e 41 6e 64 45 78 69 74 20 28 74 65 73 74 29 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 20 20 20 20 | inAndExit.(test)</span>......... |
| 9bba0 | 20 20 20 20 72 6f 6f 74 2e 6d 61 69 6e 28 29 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ....root.main();................ |
| 9bbc0 | 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 |
| 9bbe0 | 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 33 37 5f 31 22 3e 2f 64 65 70 73 2f 7a 69 67 | n>.<span.class="t37_1">/deps/zig |
| 9bc00 | 2f 6c 69 62 2f 73 74 64 2f 73 74 61 72 74 2e 7a 69 67 3a 31 32 33 3a 35 3c 2f 73 70 61 6e 3e 3a | /lib/std/start.zig:123:5</span>: |
| 9bc20 | 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 32 5f 30 22 3e 30 78 32 30 34 34 62 66 20 69 6e 20 | .<span.class="t2_0">0x2044bf.in. |
| 9bc40 | 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 0a 20 | std.start._start.(test)</span>.. |
| 9bc60 | 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 |
| 9bc80 | 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,.. |
| 9bca0 | 7b 7d 29 3b 0a 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">^</ |
| 9bcc0 | 73 70 61 6e 3e 0a 28 70 72 6f 63 65 73 73 20 74 65 72 6d 69 6e 61 74 65 64 20 62 79 20 73 69 67 | span>.(process.terminated.by.sig |
| 9bce0 | 6e 61 6c 29 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 | nal)</code></pre>............... |
| 9bd00 | 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 4d 65 6d 6f 72 79 22 3e 3c 61 20 68 72 65 66 3d | ........<h1.id="Memory"><a.href= |
| 9bd20 | 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 |
| 9bd40 | 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 |
| 9bd60 | 31 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 | 1>........<p>.......The.Zig.lang |
| 9bd80 | 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 |
| 9bda0 | 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.. |
| 9bdc0 | 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 |
| 9bde0 | 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 |
| 9be00 | 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, |
| 9be20 | 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 |
| 9be40 | 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 |
| 9be60 | 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 |
| 9be80 | 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 |
| 9bea0 | 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 |
| 9bec0 | 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 |
| 9bee0 | 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= |
| 9bf00 | 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 |
| 9bf20 | 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>... |
| 9bf40 | 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. |
| 9bf60 | 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 |
| 9bf80 | 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,..... |
| 9bfa0 | 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 |
| 9bfc0 | 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 |
| 9bfe0 | 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>.. |
| 9c000 | 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, |
| 9c020 | 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 |
| 9c040 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 74 64 2e 68 65 61 70 2e 63 5f 61 6c | .<code.class="zig">std.heap.c_al |
| 9c060 | 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 48 6f 77 65 76 65 72 2c 20 62 | locator</code>........However,.b |
| 9c080 | 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 65 66 61 75 6c | y.convention,.there.is.no.defaul |
| 9c0a0 | 74 20 61 6c 6c 6f 63 61 74 6f 72 20 69 6e 20 5a 69 67 2e 20 49 6e 73 74 65 61 64 2c 20 66 75 6e | t.allocator.in.Zig..Instead,.fun |
| 9c0c0 | 63 74 69 6f 6e 73 20 77 68 69 63 68 20 6e 65 65 64 20 74 6f 0a 20 20 20 20 20 20 61 6c 6c 6f 63 | ctions.which.need.to.......alloc |
| 9c0e0 | 61 74 65 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | ate.accept.an.<code.class="zig"> |
| 9c100 | 2a 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 74 65 72 2e 20 4c 69 6b | *Allocator</code>.parameter..Lik |
| 9c120 | 65 77 69 73 65 2c 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 73 75 63 68 20 61 73 0a 20 | ewise,.data.structures.such.as.. |
| 9c140 | 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 74 64 2e 41 72 72 61 79 | .....<code.class="zig">std.Array |
| 9c160 | 4c 69 73 74 3c 2f 63 6f 64 65 3e 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 20 63 6c 61 73 | List</code>.accept.an.<code.clas |
| 9c180 | 73 3d 22 7a 69 67 22 3e 2a 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 | s="zig">*Allocator</code>.parame |
| 9c1a0 | 74 65 72 20 69 6e 0a 20 20 20 20 20 20 74 68 65 69 72 20 69 6e 69 74 69 61 6c 69 7a 61 74 69 6f | ter.in.......their.initializatio |
| 9c1c0 | 6e 20 66 75 6e 63 74 69 6f 6e 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 | n.functions:.......</p>.......<p |
| 9c1e0 | 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 61 6c 6c 6f 63 61 74 6f 72 2e 7a 69 67 3c 2f 70 3e 3c | .class="file">allocator.zig</p>< |
| 9c200 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | pre><code.class="zig"><span.clas |
| 9c220 | 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 |
| 9c240 | 70 61 6e 20 63 6c 61 73 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< |
| 9c260 | 2f 73 70 61 6e 3e 28 3c 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 |
| 9c280 | 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 | ot;std"</span>);.<span.clas |
| 9c2a0 | 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 |
| 9c2c0 | 72 20 3d 20 73 74 64 2e 6d 65 6d 2e 41 6c 6c 6f 63 61 74 6f 72 3b 0a 3c 73 70 61 6e 20 63 6c 61 | r.=.std.mem.Allocator;.<span.cla |
| 9c2e0 | 73 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 74 20 | ss="tok-kw">const</span>.assert. |
| 9c300 | 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 | =.std.debug.assert;..<span.class |
| 9c320 | 3d 22 74 6f 6b 2d 6b 77 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 |
| 9c340 | 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 75 73 69 6e 67 20 61 6e 20 61 6c 6c 6f 63 | s="tok-str">"using.an.alloc |
| 9c360 | 61 74 6f 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | ator"</span>.{.....<span.cl |
| 9c380 | 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 66 65 72 3a 20 | ass="tok-kw">var</span>.buffer:. |
| 9c3a0 | 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 30 30 3c 2f 73 | [<span.class="tok-number">100</s |
| 9c3c0 | 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</ |
| 9c3e0 | 73 70 61 6e 3e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 75 | span>.=.<span.class="tok-null">u |
| 9c400 | 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | ndefined</span>;.....<span.class |
| 9c420 | 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 | ="tok-kw">const</span>.allocator |
| 9c440 | 20 3d 20 26 61 6d 70 3b 73 74 64 2e 68 65 61 70 2e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f | .=.&std.heap.FixedBufferAllo |
| 9c460 | 63 61 74 6f 72 2e 69 6e 69 74 28 26 61 6d 70 3b 62 75 66 66 65 72 29 2e 61 6c 6c 6f 63 61 74 6f | cator.init(&buffer).allocato |
| 9c480 | 72 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | r;.....<span.class="tok-kw">cons |
| 9c4a0 | 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | t</span>.result.=.<span.class="t |
| 9c4c0 | 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 63 6f 6e 63 61 74 28 61 6c 6c 6f 63 61 74 | ok-kw">try</span>.concat(allocat |
| 9c4e0 | 6f 72 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b | or,.<span.class="tok-str">" |
| 9c500 | 66 6f 6f 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | foo"</span>,.<span.class="t |
| 9c520 | 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 72 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b | ok-str">"bar"</span>); |
| 9c540 | 0a 20 20 20 20 61 73 73 65 72 74 28 73 74 64 2e 6d 65 6d 2e 65 71 6c 28 3c 73 70 61 6e 20 63 6c | .....assert(std.mem.eql(<span.cl |
| 9c560 | 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. |
| 9c580 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 66 6f 6f 62 61 72 26 71 75 6f | class="tok-str">"foobar&quo |
| 9c5a0 | 74 3b 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 29 29 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c | t;</span>,.result));.}..<span.cl |
| 9c5c0 | 61 73 73 3d 22 74 6f 6b 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 |
| 9c5e0 | 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 63 6f 6e 63 61 74 3c 2f 73 70 61 6e 3e 28 61 6c 6c 6f 63 61 | ss="tok-fn">concat</span>(alloca |
| 9c600 | 74 6f 72 3a 20 2a 41 6c 6c 6f 63 61 74 6f 72 2c 20 61 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 | tor:.*Allocator,.a:.[]<span.clas |
| 9c620 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c | s="tok-kw">const</span>.<span.cl |
| 9c640 | 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 3a 20 5b 5d 3c | ass="tok-type">u8</span>,.b:.[]< |
| 9c660 | 73 70 61 6e 20 63 6c 61 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> |
| 9c680 | 20 3c 73 70 61 6e 20 63 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 |
| 9c6a0 | 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 3c | >).![]<span.class="tok-type">u8< |
| 9c6c0 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | /span>.{.....<span.class="tok-kw |
| 9c6e0 | 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 20 3d 20 3c 73 70 61 6e 20 63 6c | ">const</span>.result.=.<span.cl |
| 9c700 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 6e 3e 20 61 6c 6c 6f 63 61 74 6f | ass="tok-kw">try</span>.allocato |
| 9c720 | 72 2e 61 6c 6c 6f 63 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 | r.alloc(<span.class="tok-type">u |
| 9c740 | 38 3c 2f 73 70 61 6e 3e 2c 20 61 2e 6c 65 6e 20 2b 20 62 2e 6c 65 6e 29 3b 0a 20 20 20 20 73 74 | 8</span>,.a.len.+.b.len);.....st |
| 9c760 | 64 2e 6d 65 6d 2e 63 6f 70 79 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 | d.mem.copy(<span.class="tok-type |
| 9c780 | 22 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 2c 20 61 29 3b 0a 20 20 20 20 73 74 64 | ">u8</span>,.result,.a);.....std |
| 9c7a0 | 2e 6d 65 6d 2e 63 6f 70 79 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 | .mem.copy(<span.class="tok-type" |
| 9c7c0 | 3e 75 38 3c 2f 73 70 61 6e 3e 2c 20 72 65 73 75 6c 74 5b 61 2e 6c 65 6e 2e 2e 5d 2c 20 62 29 3b | >u8</span>,.result[a.len..],.b); |
| 9c7e0 | 0a 20 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 |
| 9c800 | 3c 2f 73 70 61 6e 3e 20 72 65 73 75 6c 74 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 | </span>.result;.}</code></pre><p |
| 9c820 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 | re><code.class="shell">$.zig.tes |
| 9c840 | 74 20 61 6c 6c 6f 63 61 74 6f 72 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 75 | t.allocator.zig.1/1.test."u |
| 9c860 | 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 4f 4b 0a 41 6c 6c | sing.an.allocator"...OK.All |
| 9c880 | 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a | .1.tests.passed..</code></pre>.. |
| 9c8a0 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 74 68 65 20 61 62 6f 76 65 20 65 78 61 | ......<p>.......In.the.above.exa |
| 9c8c0 | 6d 70 6c 65 2c 20 31 30 30 20 62 79 74 65 73 20 6f 66 20 73 74 61 63 6b 20 6d 65 6d 6f 72 79 20 | mple,.100.bytes.of.stack.memory. |
| 9c8e0 | 61 72 65 20 75 73 65 64 20 74 6f 20 69 6e 69 74 69 61 6c 69 7a 65 20 61 0a 20 20 20 20 20 20 3c | are.used.to.initialize.a.......< |
| 9c900 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f | code.class="zig">FixedBufferAllo |
| 9c920 | 63 61 74 6f 72 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 | cator</code>,.which.is.then.pass |
| 9c940 | 65 64 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 41 73 20 61 20 63 6f 6e | ed.to.a.function........As.a.con |
| 9c960 | 76 65 6e 69 65 6e 63 65 20 74 68 65 72 65 20 69 73 20 61 20 67 6c 6f 62 61 6c 20 3c 63 6f 64 65 | venience.there.is.a.global.<code |
| 9c980 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f | .class="zig">FixedBufferAllocato |
| 9c9a0 | 72 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 71 75 69 | r</code>.......available.for.qui |
| 9c9c0 | 63 6b 20 74 65 73 74 73 20 61 74 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 74 | ck.tests.at.<code.class="zig">st |
| 9c9e0 | 64 2e 74 65 73 74 69 6e 67 2e 61 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 | d.testing.allocator</code>,..... |
| 9ca00 | 20 20 77 68 69 63 68 20 77 69 6c 6c 20 61 6c 73 6f 20 64 6f 20 70 65 72 66 6f 72 6d 20 62 61 73 | ..which.will.also.do.perform.bas |
| 9ca20 | 69 63 20 6c 65 61 6b 20 64 65 74 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 | ic.leak.detection........</p>... |
| 9ca40 | 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 75 72 72 65 6e 74 6c 79 20 5a 69 67 20 68 61 73 20 | ....<p>.......Currently.Zig.has. |
| 9ca60 | 6e 6f 20 67 65 6e 65 72 61 6c 20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 2c 20 62 75 | no.general.purpose.allocator,.bu |
| 9ca80 | 74 20 74 68 65 72 65 20 69 73 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a | t.there.is.......<a.href="https: |
| 9caa0 | 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 6e 64 72 65 77 72 6b 2f 7a 69 67 2d 67 65 6e 65 72 61 | //github.com/andrewrk/zig-genera |
| 9cac0 | 6c 2d 70 75 72 70 6f 73 65 2d 61 6c 6c 6f 63 61 74 6f 72 2f 22 3e 6f 6e 65 20 75 6e 64 65 72 20 | l-purpose-allocator/">one.under. |
| 9cae0 | 61 63 74 69 76 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 4f 6e | active.development</a>........On |
| 9cb00 | 63 65 20 69 74 20 69 73 20 6d 65 72 67 65 64 20 69 6e 74 6f 20 74 68 65 20 5a 69 67 20 73 74 61 | ce.it.is.merged.into.the.Zig.sta |
| 9cb20 | 6e 64 61 72 64 20 6c 69 62 72 61 72 79 20 69 74 20 77 69 6c 6c 20 62 65 63 6f 6d 65 20 61 76 61 | ndard.library.it.will.become.ava |
| 9cb40 | 69 6c 61 62 6c 65 20 74 6f 20 69 6d 70 6f 72 74 0a 20 20 20 20 20 20 77 69 74 68 20 3c 63 6f 64 | ilable.to.import.......with.<cod |
| 9cb60 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 74 64 2e 68 65 61 70 2e 64 65 66 61 75 6c 74 5f 61 | e.class="zig">std.heap.default_a |
| 9cb80 | 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 20 48 6f 77 65 76 65 72 2c 20 69 74 20 77 69 6c | llocator</code>..However,.it.wil |
| 9cba0 | 6c 20 73 74 69 6c 6c 20 62 65 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 0a 20 20 20 20 20 20 | l.still.be.recommended.to....... |
| 9cbc0 | 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 6e | follow.the.<a.href="#Choosing-an |
| 9cbe0 | 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 6f | -Allocator">Choosing.an.Allocato |
| 9cc00 | 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 3c | r</a>.guide........</p>........< |
| 9cc20 | 68 32 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 61 | h2.id="Choosing-an-Allocator"><a |
| 9cc40 | 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 6f | .href="#toc-Choosing-an-Allocato |
| 9cc60 | 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 20 | r">Choosing.an.Allocator</a>.<a. |
| 9cc80 | 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 41 | class="hdr".href="#Choosing-an-A |
| 9cca0 | 6c 6c 6f 63 61 74 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 | llocator">..</a></h2>........<p> |
| 9ccc0 | 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 6e | What.allocator.to.use.depends.on |
| 9cce0 | 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 20 | .a.number.of.factors..Here.is.a. |
| 9cd00 | 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 20 | flow.chart.to.help.you.decide:.. |
| 9cd20 | 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 3c | .....</p>.......<ol>...........< |
| 9cd40 | 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 67 | li>...............Are.you.making |
| 9cd60 | 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 74 | .a.library?.In.this.case,.best.t |
| 9cd80 | 6f 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2a 41 | o.accept.an.<code.class="zig">*A |
| 9cda0 | 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 73 | llocator</code>...............as |
| 9cdc0 | 20 61 20 70 61 72 61 6d 65 74 65 72 20 61 6e 64 20 61 6c 6c 6f 77 20 79 6f 75 72 20 6c 69 62 72 | .a.parameter.and.allow.your.libr |
| 9cde0 | 61 72 79 27 73 20 75 73 65 72 73 20 74 6f 20 64 65 63 69 64 65 20 77 68 61 74 20 61 6c 6c 6f 63 | ary's.users.to.decide.what.alloc |
| 9ce00 | 61 74 6f 72 20 74 6f 20 75 73 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 | ator.to.use............</li>.... |
| 9ce20 | 20 20 20 20 20 20 20 3c 6c 69 3e 41 72 65 20 79 6f 75 20 6c 69 6e 6b 69 6e 67 20 6c 69 62 63 3f | .......<li>Are.you.linking.libc? |
| 9ce40 | 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | .In.this.case,.<code.class="zig" |
| 9ce60 | 3e 73 74 64 2e 68 65 61 70 2e 63 5f 61 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 69 73 20 | >std.heap.c_allocator</code>.is. |
| 9ce80 | 6c 69 6b 65 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 72 69 67 68 74 20 63 | likely...............the.right.c |
| 9cea0 | 68 6f 69 63 65 2c 20 61 74 20 6c 65 61 73 74 20 66 6f 72 20 79 6f 75 72 20 6d 61 69 6e 20 61 6c | hoice,.at.least.for.your.main.al |
| 9cec0 | 6c 6f 63 61 74 6f 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 | locator.</li>...........<li>.... |
| 9cee0 | 20 20 20 20 20 20 20 20 20 20 20 49 73 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 6e 75 6d 62 65 72 | ...........Is.the.maximum.number |
| 9cf00 | 20 6f 66 20 62 79 74 65 73 20 74 68 61 74 20 79 6f 75 20 77 69 6c 6c 20 6e 65 65 64 20 62 6f 75 | .of.bytes.that.you.will.need.bou |
| 9cf20 | 6e 64 65 64 20 62 79 20 61 20 6e 75 6d 62 65 72 20 6b 6e 6f 77 6e 20 61 74 0a 20 20 20 20 20 20 | nded.by.a.number.known.at....... |
| 9cf40 | 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 | ........<a.href="#comptime">comp |
| 9cf60 | 74 69 6d 65 3c 2f 61 3e 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 73 65 20 3c 63 6f 64 | time</a>?.In.this.case,.use.<cod |
| 9cf80 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 74 64 2e 68 65 61 70 2e 46 69 78 65 64 42 75 66 66 | e.class="zig">std.heap.FixedBuff |
| 9cfa0 | 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 | erAllocator</code>.or........... |
| 9cfc0 | 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 74 64 2e 68 65 61 70 2e 54 | ....<code.class="zig">std.heap.T |
| 9cfe0 | 68 72 65 61 64 53 61 66 65 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 | hreadSafeFixedBufferAllocator</c |
| 9d000 | 6f 64 65 3e 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 65 74 68 65 72 20 79 6f 75 20 6e 65 | ode>.depending.on.whether.you.ne |
| 9d020 | 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 65 61 64 2d 73 61 66 65 74 79 20 6f | ed...............thread-safety.o |
| 9d040 | 72 20 6e 6f 74 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 | r.not............</li>.......... |
| 9d060 | 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 73 20 79 6f 75 72 20 70 72 6f 67 | .<li>...............Is.your.prog |
| 9d080 | 72 61 6d 20 61 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 77 | ram.a.command.line.application.w |
| 9d0a0 | 68 69 63 68 20 72 75 6e 73 20 66 72 6f 6d 20 73 74 61 72 74 20 74 6f 20 65 6e 64 20 77 69 74 68 | hich.runs.from.start.to.end.with |
| 9d0c0 | 6f 75 74 20 61 6e 79 20 66 75 6e 64 61 6d 65 6e 74 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 | out.any.fundamental............. |
| 9d0e0 | 20 20 63 79 63 6c 69 63 61 6c 20 70 61 74 74 65 72 6e 20 28 73 75 63 68 20 61 73 20 61 20 76 69 | ..cyclical.pattern.(such.as.a.vi |
| 9d100 | 64 65 6f 20 67 61 6d 65 20 6d 61 69 6e 20 6c 6f 6f 70 2c 20 6f 72 20 61 20 77 65 62 20 73 65 72 | deo.game.main.loop,.or.a.web.ser |
| 9d120 | 76 65 72 20 72 65 71 75 65 73 74 20 68 61 6e 64 6c 65 72 29 2c 0a 20 20 20 20 20 20 20 20 20 20 | ver.request.handler),........... |
| 9d140 | 20 20 20 20 73 75 63 68 20 74 68 61 74 20 69 74 20 77 6f 75 6c 64 20 6d 61 6b 65 20 73 65 6e 73 | ....such.that.it.would.make.sens |
| 9d160 | 65 20 74 6f 20 66 72 65 65 20 65 76 65 72 79 74 68 69 6e 67 20 61 74 20 6f 6e 63 65 20 61 74 20 | e.to.free.everything.at.once.at. |
| 9d180 | 74 68 65 20 65 6e 64 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 20 74 68 69 73 20 63 | the.end?...............In.this.c |
| 9d1a0 | 61 73 65 2c 20 69 74 20 69 73 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 20 66 6f 6c 6c 6f 77 | ase,.it.is.recommended.to.follow |
| 9d1c0 | 20 74 68 69 73 20 70 61 74 74 65 72 6e 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 70 20 | .this.pattern:...............<p. |
| 9d1e0 | 63 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 | class="file">cli_allocation.zig< |
| 9d200 | 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | /p><pre><code.class="zig"><span. |
| 9d220 | 63 6c 61 73 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. |
| 9d240 | 3d 20 3c 73 70 61 6e 20 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 |
| 9d260 | 6f 72 74 3c 2f 73 70 61 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" |
| 9d280 | 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e | >"std"</span>);..<span |
| 9d2a0 | 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 |
| 9d2c0 | 20 63 6c 61 73 73 3d 22 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. |
| 9d2e0 | 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 |
| 9d300 | 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> |
| 9d320 | 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 76 61 72 3c | .{.....<span.class="tok-kw">var< |
| 9d340 | 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 61 41 6c 6c | /span>.arena.=.std.heap.ArenaAll |
| 9d360 | 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 6c 6f 63 61 | ocator.init(std.heap.page_alloca |
| 9d380 | 74 6f 72 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 | tor);.....<span.class="tok-kw">d |
| 9d3a0 | 65 66 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 0a 0a 20 20 20 | efer</span>.arena.deinit();..... |
| 9d3c0 | 20 3c 73 70 61 6e 20 63 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 |
| 9d3e0 | 6e 3e 20 61 6c 6c 6f 63 61 74 6f 72 20 3d 20 26 61 6d 70 3b 61 72 65 6e 61 2e 61 6c 6c 6f 63 61 | n>.allocator.=.&arena.alloca |
| 9d400 | 74 6f 72 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | tor;......<span.class="tok-kw">c |
| 9d420 | 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 3d 22 74 | onst</span>.ptr.=.<span.class="t |
| 9d440 | 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 72 65 61 | ok-kw">try</span>.allocator.crea |
| 9d460 | 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 3c 2f 73 | te(<span.class="tok-type">i32</s |
| 9d480 | 70 61 6e 3e 29 3b 0a 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 6e 20 | pan>);.....std.debug.warn(<span. |
| 9d4a0 | 63 6c 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 | class="tok-str">"ptr={*}\n& |
| 9d4c0 | 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 70 74 72 7d 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c | quot;</span>,..{ptr});.}</code>< |
| 9d4e0 | 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 | /pre><pre><code.class="shell">$. |
| 9d500 | 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 63 6c 69 5f 61 6c 6c 6f 63 61 74 69 6f 6e 2e 7a 69 67 | zig.build-exe.cli_allocation.zig |
| 9d520 | 0a 24 20 2e 2f 63 6c 69 5f 61 6c 6c 6f 63 61 74 69 6f 6e 0a 70 74 72 3d 69 33 32 40 37 66 39 39 | .$../cli_allocation.ptr=i32@7f99 |
| 9d540 | 37 36 32 30 66 30 31 38 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 20 20 | 7620f018.</code></pre>.......... |
| 9d560 | 20 20 20 20 20 20 57 68 65 6e 20 75 73 69 6e 67 20 74 68 69 73 20 6b 69 6e 64 20 6f 66 20 61 6c | ......When.using.this.kind.of.al |
| 9d580 | 6c 6f 63 61 74 6f 72 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 65 64 20 74 6f 20 66 72 65 | locator,.there.is.no.need.to.fre |
| 9d5a0 | 65 20 61 6e 79 74 68 69 6e 67 20 6d 61 6e 75 61 6c 6c 79 2e 20 45 76 65 72 79 74 68 69 6e 67 0a | e.anything.manually..Everything. |
| 9d5c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 65 74 73 20 66 72 65 65 64 20 61 74 20 6f 6e 63 65 | ..............gets.freed.at.once |
| 9d5e0 | 20 77 69 74 68 20 74 68 65 20 63 61 6c 6c 20 74 6f 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | .with.the.call.to.<code.class="z |
| 9d600 | 69 67 22 3e 61 72 65 6e 61 2e 64 65 69 6e 69 74 28 29 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 | ig">arena.deinit()</code>....... |
| 9d620 | 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 | .....</li>...........<li>....... |
| 9d640 | 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 6e 73 20 70 61 72 74 | ........Are.the.allocations.part |
| 9d660 | 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 63 68 20 61 73 20 61 | .of.a.cyclical.pattern.such.as.a |
| 9d680 | 20 76 69 64 65 6f 20 67 61 6d 65 20 6d 61 69 6e 20 6c 6f 6f 70 2c 20 6f 72 20 61 20 77 65 62 0a | .video.game.main.loop,.or.a.web. |
| 9d6a0 | 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 65 73 74 20 68 61 6e | ..............server.request.han |
| 9d6c0 | 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 63 61 6e 20 61 6c 6c | dler?.If.the.allocations.can.all |
| 9d6e0 | 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 20 65 6e 64 20 6f 66 | .be.freed.at.once,.at.the.end.of |
| 9d700 | 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 20 66 6f 72 20 65 78 | .the.cycle,...............for.ex |
| 9d720 | 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 20 66 72 61 6d 65 20 | ample.once.the.video.game.frame. |
| 9d740 | 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 6f 72 20 74 68 65 20 | has.been.fully.rendered,.or.the. |
| 9d760 | 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 20 20 20 20 20 20 20 | web.server.request.has.......... |
| 9d780 | 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 6f 64 65 20 63 6c 61 | .....been.served,.then.<code.cla |
| 9d7a0 | 73 73 3d 22 7a 69 67 22 3e 73 74 64 2e 68 65 61 70 2e 41 72 65 6e 61 41 6c 6c 6f 63 61 74 6f 72 | ss="zig">std.heap.ArenaAllocator |
| 9d7c0 | 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 67 72 65 61 74 20 63 61 6e 64 69 64 61 74 65 2e 20 41 73 | </code>.is.a.great.candidate..As |
| 9d7e0 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 6d 6f 6e 73 74 72 61 74 65 64 20 69 6e 20 74 | ...............demonstrated.in.t |
| 9d800 | 68 65 20 70 72 65 76 69 6f 75 73 20 62 75 6c 6c 65 74 20 70 6f 69 6e 74 2c 20 74 68 69 73 20 61 | he.previous.bullet.point,.this.a |
| 9d820 | 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 66 72 65 65 20 65 6e 74 69 72 65 20 61 72 65 6e 61 73 20 | llows.you.to.free.entire.arenas. |
| 9d840 | 61 74 20 6f 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4e 6f 74 65 20 61 6c 73 6f | at.once................Note.also |
| 9d860 | 20 74 68 61 74 20 69 66 20 61 6e 20 75 70 70 65 72 20 62 6f 75 6e 64 20 6f 66 20 6d 65 6d 6f 72 | .that.if.an.upper.bound.of.memor |
| 9d880 | 79 20 63 61 6e 20 62 65 20 65 73 74 61 62 6c 69 73 68 65 64 2c 20 74 68 65 6e 0a 20 20 20 20 20 | y.can.be.established,.then...... |
| 9d8a0 | 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 74 64 2e 68 | .........<code.class="zig">std.h |
| 9d8c0 | 65 61 70 2e 46 69 78 65 64 42 75 66 66 65 72 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 | eap.FixedBufferAllocator</code>. |
| 9d8e0 | 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 6d 69 7a | can.be.used.as.a.further.optimiz |
| 9d900 | 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 20 20 20 | ation............</li>.......... |
| 9d920 | 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 72 65 20 79 6f 75 20 77 72 69 74 | .<li>...............Are.you.writ |
| 9d940 | 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 61 6b 65 | ing.a.test,.and.you.want.to.make |
| 9d960 | 20 73 75 72 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | .sure.<code.class="zig"><span.cl |
| 9d980 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 6e 3e 2e 4f 75 74 4f 66 4d | ass="tok-kw">error</span>.OutOfM |
| 9d9a0 | 65 6d 6f 72 79 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 68 61 | emory</code>...............is.ha |
| 9d9c0 | 6e 64 6c 65 64 20 63 6f 72 72 65 63 74 6c 79 3f 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 75 | ndled.correctly?.In.this.case,.u |
| 9d9e0 | 73 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 | se.<code.class="zig">std.testing |
| 9da00 | 2e 46 61 69 6c 69 6e 67 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 | .FailingAllocator</code>........ |
| 9da20 | 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 | ....</li>...........<li>........ |
| 9da40 | 20 20 20 20 20 20 20 46 69 6e 61 6c 6c 79 2c 20 69 66 20 6e 6f 6e 65 20 6f 66 20 74 68 65 20 61 | .......Finally,.if.none.of.the.a |
| 9da60 | 62 6f 76 65 20 61 70 70 6c 79 2c 20 79 6f 75 20 6e 65 65 64 20 61 20 67 65 6e 65 72 61 6c 20 70 | bove.apply,.you.need.a.general.p |
| 9da80 | 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 2e 20 5a 69 67 20 64 6f 65 73 20 6e 6f 74 0a 20 | urpose.allocator..Zig.does.not.. |
| 9daa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 79 65 74 20 68 61 76 65 20 61 20 67 65 6e 65 72 61 6c 20 | .............yet.have.a.general. |
| 9dac0 | 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 20 69 6e 20 74 68 65 20 73 74 61 6e 64 61 72 | purpose.allocator.in.the.standar |
| 9dae0 | 64 20 6c 69 62 72 61 72 79 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 | d.library,...............<a.href |
| 9db00 | 3d 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 6e 64 72 65 77 72 6b 2f 7a 69 | ="https://github.com/andrewrk/zi |
| 9db20 | 67 2d 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 2d 61 6c 6c 6f 63 61 74 6f 72 2f 22 3e 62 75 | g-general-purpose-allocator/">bu |
| 9db40 | 74 20 6f 6e 65 20 69 73 20 62 65 69 6e 67 20 61 63 74 69 76 65 6c 79 20 64 65 76 65 6c 6f 70 65 | t.one.is.being.actively.develope |
| 9db60 | 64 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 61 6c 73 | d</a>................You.can.als |
| 9db80 | 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 65 6e 74 69 6e | o.consider.<a.href="#Implementin |
| 9dba0 | 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 61 6e 20 | g-an-Allocator">Implementing.an. |
| 9dbc0 | 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 6c 69 3e 0a 20 | Allocator</a>............</li>.. |
| 9dbe0 | 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 32 20 69 64 3d | .....</ol>...............<h2.id= |
| 9dc00 | 22 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 | "Where-are-the-bytes"><a.href="# |
| 9dc20 | 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 65 72 65 20 61 | toc-Where-are-the-bytes">Where.a |
| 9dc40 | 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 22 68 64 72 22 | re.the.bytes?</a>.<a.class="hdr" |
| 9dc60 | 20 68 72 65 66 3d 22 23 57 68 65 72 65 2d 61 72 65 2d 74 68 65 2d 62 79 74 65 73 22 3e c2 a7 3c | .href="#Where-are-the-bytes">..< |
| 9dc80 | 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 53 74 72 69 6e 67 20 6c 69 74 65 72 61 | /a></h2>........<p>String.litera |
| 9dca0 | 6c 73 20 73 75 63 68 20 61 73 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 | ls.such.as.<code.class="zig"><sp |
| 9dcc0 | 61 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 | an.class="tok-str">"foo&quo |
| 9dce0 | 74 3b 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 61 72 65 20 69 6e 20 74 68 65 20 67 6c 6f 62 | t;</span></code>.are.in.the.glob |
| 9dd00 | 61 6c 20 63 6f 6e 73 74 61 6e 74 20 64 61 74 61 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 | al.constant.data.section........ |
| 9dd20 | 54 68 69 73 20 69 73 20 77 68 79 20 69 74 20 69 73 20 61 6e 20 65 72 72 6f 72 20 74 6f 20 70 61 | This.is.why.it.is.an.error.to.pa |
| 9dd40 | 73 73 20 61 20 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c 20 74 6f 20 61 20 6d 75 74 61 62 6c 65 | ss.a.string.literal.to.a.mutable |
| 9dd60 | 20 73 6c 69 63 65 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 | .slice,.like.this:.......</p>... |
| 9dd80 | 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e | ....<p.class="file">test.zig</p> |
| 9dda0 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | <pre><code.class="zig"><span.cla |
| 9ddc0 | 73 73 3d 22 74 6f 6b 2d 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 |
| 9dde0 | 73 3d 22 74 6f 6b 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 3a 20 5b 5d 3c 73 70 61 6e | s="tok-fn">foo</span>(s:.[]<span |
| 9de00 | 20 63 6c 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 |
| 9de20 | 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>. |
| 9de40 | 7b 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 74 3c 2f 73 | {}..<span.class="tok-kw">test</s |
| 9de60 | 70 61 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">" |
| 9de80 | 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 73 6c 69 63 65 | ;string.literal.to.mutable.slice |
| 9dea0 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c | "</span>.{.....foo(<span.cl |
| 9dec0 | 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c | ass="tok-str">"hello"< |
| 9dee0 | 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 | /span>);.}</code></pre><pre><cod |
| 9df00 | 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e | e.class="shell">$.zig.test.test. |
| 9df20 | 7a 69 67 0a 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 | zig.<span.class="t0_1">./docgen_ |
| 9df40 | 74 6d 70 2f 74 65 73 74 2e 7a 69 67 3a 34 3a 39 3a 20 3c 2f 73 70 61 6e 3e 3c 73 70 61 6e 20 63 | tmp/test.zig:4:9:.</span><span.c |
| 9df60 | 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 |
| 9df80 | 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 5d 75 | .class="t0_1">expected.type.'[]u |
| 9dfa0 | 38 27 2c 20 66 6f 75 6e 64 20 27 2a 63 6f 6e 73 74 20 5b 35 3a 30 5d 75 38 27 3c 2f 73 70 61 6e | 8',.found.'*const.[5:0]u8'</span |
| 9dfc0 | 3e 0a 20 20 20 20 66 6f 6f 28 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 29 3b 0a 20 20 | >.....foo("hello");... |
| 9dfe0 | 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 |
| 9e000 | 6e 3e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 48 6f 77 65 76 | n>.</code></pre>........<p>Howev |
| 9e020 | 65 72 20 69 66 20 79 6f 75 20 6d 61 6b 65 20 74 68 65 20 73 6c 69 63 65 20 63 6f 6e 73 74 61 6e | er.if.you.make.the.slice.constan |
| 9e040 | 74 2c 20 74 68 65 6e 20 69 74 20 77 6f 72 6b 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 | t,.then.it.works:</p>.......<p.c |
| 9e060 | 6c 61 73 73 3d 22 66 69 6c 65 22 3e 73 74 72 6c 69 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c | lass="file">strlit.zig</p><pre>< |
| 9e080 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| 9e0a0 | 6b 2d 6b 77 22 3e 66 6e 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 |
| 9e0c0 | 2d 66 6e 22 3e 66 6f 6f 3c 2f 73 70 61 6e 3e 28 73 3a 20 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 | -fn">foo</span>(s:.[]<span.class |
| 9e0e0 | 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 |
| 9e100 | 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 29 20 3c 73 70 61 6e 20 63 | ss="tok-type">u8</span>).<span.c |
| 9e120 | 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 0a 0a | lass="tok-type">void</span>.{}.. |
| 9e140 | 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> |
| 9e160 | 20 3c 73 70 61 6e 20 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">"str |
| 9e180 | 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 |
| 9e1a0 | 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 6f 6f 28 3c 73 70 61 6e 20 63 6c 61 73 73 | ot;</span>.{.....foo(<span.class |
| 9e1c0 | 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 26 71 75 6f 74 3b 3c 2f 73 70 | ="tok-str">"hello"</sp |
| 9e1e0 | 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 | an>);.}</code></pre><pre><code.c |
| 9e200 | 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 73 74 72 6c 69 74 2e 7a | lass="shell">$.zig.test.strlit.z |
| 9e220 | 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 73 74 72 69 6e 67 20 6c 69 74 65 72 61 6c | ig.1/1.test."string.literal |
| 9e240 | 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 2e 4f 4b 0a 41 6c | .to.constant.slice"...OK.Al |
| 9e260 | 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a | l.1.tests.passed..</code></pre>. |
| 9e280 | 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4a 75 73 74 20 6c 69 6b 65 20 73 74 72 69 6e | .......<p>.......Just.like.strin |
| 9e2a0 | 67 20 6c 69 74 65 72 61 6c 73 2c 20 60 63 6f 6e 73 74 60 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 | g.literals,.`const`.declarations |
| 9e2c0 | 2c 20 77 68 65 6e 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 6b 6e 6f 77 6e 20 61 74 20 3c 61 20 | ,.when.the.value.is.known.at.<a. |
| 9e2e0 | 68 72 65 66 3d 22 23 63 6f 6d 70 74 69 6d 65 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 61 3e 2c 0a 20 | href="#comptime">comptime</a>,.. |
| 9e300 | 20 20 20 20 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f | .....are.stored.in.the.global.co |
| 9e320 | 6e 73 74 61 6e 74 20 64 61 74 61 20 73 65 63 74 69 6f 6e 2e 20 41 6c 73 6f 20 3c 61 20 68 72 65 | nstant.data.section..Also.<a.hre |
| 9e340 | 66 3d 22 23 43 6f 6d 70 69 6c 65 2d 54 69 6d 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 | f="#Compile-Time-Variables">Comp |
| 9e360 | 69 6c 65 20 54 69 6d 65 20 56 61 72 69 61 62 6c 65 73 3c 2f 61 3e 20 61 72 65 20 73 74 6f 72 65 | ile.Time.Variables</a>.are.store |
| 9e380 | 64 0a 20 20 20 20 20 20 69 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 63 6f 6e 73 74 61 6e 74 20 64 | d.......in.the.global.constant.d |
| 9e3a0 | 61 74 61 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 | ata.section........</p>.......<p |
| 9e3c0 | 3e 0a 20 20 20 20 20 20 60 76 61 72 60 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 69 6e 73 69 64 | >.......`var`.declarations.insid |
| 9e3e0 | 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 66 75 | e.functions.are.stored.in.the.fu |
| 9e400 | 6e 63 74 69 6f 6e 27 73 20 73 74 61 63 6b 20 66 72 61 6d 65 2e 20 4f 6e 63 65 20 61 20 66 75 6e | nction's.stack.frame..Once.a.fun |
| 9e420 | 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 2c 0a 20 20 20 20 20 20 61 6e 79 20 3c 61 20 68 72 65 66 | ction.returns,.......any.<a.href |
| 9e440 | 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 76 61 72 | ="#Pointers">Pointers</a>.to.var |
| 9e460 | 69 61 62 6c 65 73 20 69 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 73 74 61 63 6b 20 66 | iables.in.the.function's.stack.f |
| 9e480 | 72 61 6d 65 20 62 65 63 6f 6d 65 20 69 6e 76 61 6c 69 64 20 72 65 66 65 72 65 6e 63 65 73 2c 20 | rame.become.invalid.references,. |
| 9e4a0 | 61 6e 64 0a 20 20 20 20 20 20 64 65 72 65 66 65 72 65 6e 63 69 6e 67 20 74 68 65 6d 20 62 65 63 | and.......dereferencing.them.bec |
| 9e4c0 | 6f 6d 65 73 20 75 6e 63 68 65 63 6b 65 64 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e | omes.unchecked.<a.href="#Undefin |
| 9e4e0 | 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c | ed-Behavior">Undefined.Behavior< |
| 9e500 | 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 20 | /a>........</p>.......<p>....... |
| 9e520 | 60 76 61 72 60 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 74 20 74 68 65 20 74 6f 70 20 6c 65 | `var`.declarations.at.the.top.le |
| 9e540 | 76 65 6c 20 6f 72 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 73 74 72 75 63 74 22 3e 73 74 72 75 | vel.or.in.<a.href="#struct">stru |
| 9e560 | 63 74 3c 2f 61 3e 20 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 61 72 65 20 73 74 6f 72 65 64 20 69 | ct</a>.declarations.are.stored.i |
| 9e580 | 6e 20 74 68 65 20 67 6c 6f 62 61 6c 0a 20 20 20 20 20 20 64 61 74 61 20 73 65 63 74 69 6f 6e 2e | n.the.global.......data.section. |
| 9e5a0 | 0a 20 20 20 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. |
| 9e5c0 | 6c 6f 63 61 74 69 6f 6e 20 6f 66 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 65 64 20 77 69 74 | location.of.memory.allocated.wit |
| 9e5e0 | 68 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 61 6c 6c 6f 63 61 74 6f 72 2e 61 6c | h.<code.class="zig">allocator.al |
| 9e600 | 6c 6f 63 3c 2f 63 6f 64 65 3e 20 6f 72 0a 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d | loc</code>.or.......<code.class= |
| 9e620 | 22 7a 69 67 22 3e 61 6c 6c 6f 63 61 74 6f 72 2e 63 72 65 61 74 65 3c 2f 63 6f 64 65 3e 20 69 73 | "zig">allocator.create</code>.is |
| 9e640 | 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 61 6c 6c 6f 63 61 74 6f 72 27 73 20 69 | .determined.by.the.allocator's.i |
| 9e660 | 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 | mplementation........</p>....... |
| 9e680 | 3c 70 3e 54 4f 44 4f 3a 20 74 68 72 65 61 64 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 3c | <p>TODO:.thread.local.variables< |
| 9e6a0 | 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 49 6d 70 6c 65 6d | /p>...............<h2.id="Implem |
| 9e6c0 | 65 6e 74 69 6e 67 2d 61 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 | enting-an-Allocator"><a.href="#t |
| 9e6e0 | 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 3e 49 6d | oc-Implementing-an-Allocator">Im |
| 9e700 | 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 20 3c 61 20 63 | plementing.an.Allocator</a>.<a.c |
| 9e720 | 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 49 6d 70 6c 65 6d 65 6e 74 69 6e 67 2d 61 | lass="hdr".href="#Implementing-a |
| 9e740 | 6e 2d 41 6c 6c 6f 63 61 74 6f 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 | n-Allocator">..</a></h2>........ |
| 9e760 | 3c 70 3e 5a 69 67 20 70 72 6f 67 72 61 6d 6d 65 72 73 20 63 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 | <p>Zig.programmers.can.implement |
| 9e780 | 20 74 68 65 69 72 20 6f 77 6e 20 61 6c 6c 6f 63 61 74 6f 72 73 20 62 79 20 66 75 6c 66 69 6c 6c | .their.own.allocators.by.fulfill |
| 9e7a0 | 69 6e 67 20 74 68 65 20 41 6c 6c 6f 63 61 74 6f 72 20 69 6e 74 65 72 66 61 63 65 2e 0a 20 20 20 | ing.the.Allocator.interface..... |
| 9e7c0 | 20 20 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 64 6f 20 74 68 69 73 20 6f 6e 65 20 6d 75 73 74 20 | ...In.order.to.do.this.one.must. |
| 9e7e0 | 72 65 61 64 20 63 61 72 65 66 75 6c 6c 79 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e | read.carefully.the.documentation |
| 9e800 | 20 63 6f 6d 6d 65 6e 74 73 20 69 6e 20 73 74 64 2f 6d 65 6d 2e 7a 69 67 20 61 6e 64 0a 20 20 20 | .comments.in.std/mem.zig.and.... |
| 9e820 | 20 20 20 74 68 65 6e 20 73 75 70 70 6c 79 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | ...then.supply.a.<code.class="zi |
| 9e840 | 67 22 3e 72 65 61 6c 6c 6f 63 46 6e 3c 2f 63 6f 64 65 3e 20 61 6e 64 20 61 20 3c 63 6f 64 65 20 | g">reallocFn</code>.and.a.<code. |
| 9e860 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 68 72 69 6e 6b 46 6e 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 | class="zig">shrinkFn</code>..... |
| 9e880 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 72 65 20 61 72 | ...</p>.......<p>.......There.ar |
| 9e8a0 | 65 20 6d 61 6e 79 20 65 78 61 6d 70 6c 65 20 61 6c 6c 6f 63 61 74 6f 72 73 20 74 6f 20 6c 6f 6f | e.many.example.allocators.to.loo |
| 9e8c0 | 6b 20 61 74 20 66 6f 72 20 69 6e 73 70 69 72 61 74 69 6f 6e 2e 20 4c 6f 6f 6b 20 61 74 20 73 74 | k.at.for.inspiration..Look.at.st |
| 9e8e0 | 64 2f 68 65 61 70 2e 7a 69 67 20 61 6e 64 0a 20 20 20 20 20 20 61 74 20 74 68 69 73 0a 20 20 20 | d/heap.zig.and.......at.this.... |
| 9e900 | 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 61 | ...<a.href="https://github.com/a |
| 9e920 | 6e 64 72 65 77 72 6b 2f 7a 69 67 2d 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 2d 61 6c 6c 6f | ndrewrk/zig-general-purpose-allo |
| 9e940 | 63 61 74 6f 72 2f 22 3e 77 6f 72 6b 2d 69 6e 2d 70 72 6f 67 72 65 73 73 20 67 65 6e 65 72 61 6c | cator/">work-in-progress.general |
| 9e960 | 20 70 75 72 70 6f 73 65 20 61 6c 6c 6f 63 61 74 6f 72 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 54 4f | .purpose.allocator</a>........TO |
| 9e980 | 44 4f 3a 20 6f 6e 63 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 | DO:.once.<a.href="https://github |
| 9e9a0 | 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 22 3e 23 32 31 3c | .com/ziglang/zig/issues/21">#21< |
| 9e9c0 | 2f 61 3e 20 69 73 20 64 6f 6e 65 2c 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 64 6f 63 73 0a 20 20 | /a>.is.done,.link.to.the.docs... |
| 9e9e0 | 20 20 20 20 68 65 72 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 | ....here........</p>............ |
| 9ea00 | 20 20 20 3c 68 32 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 | ...<h2.id="Heap-Allocation-Failu |
| 9ea20 | 72 65 22 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 | re"><a.href="#toc-Heap-Allocatio |
| 9ea40 | 6e 2d 46 61 69 6c 75 72 65 22 3e 48 65 61 70 20 41 6c 6c 6f 63 61 74 69 6f 6e 20 46 61 69 6c 75 | n-Failure">Heap.Allocation.Failu |
| 9ea60 | 72 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 48 65 61 | re</a>.<a.class="hdr".href="#Hea |
| 9ea80 | 70 2d 41 6c 6c 6f 63 61 74 69 6f 6e 2d 46 61 69 6c 75 72 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 | p-Allocation-Failure">..</a></h2 |
| 9eaa0 | 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 4d 61 6e 79 20 70 72 6f 67 72 61 6d 6d | >........<p>.......Many.programm |
| 9eac0 | 69 6e 67 20 6c 61 6e 67 75 61 67 65 73 20 63 68 6f 6f 73 65 20 74 6f 20 68 61 6e 64 6c 65 20 74 | ing.languages.choose.to.handle.t |
| 9eae0 | 68 65 20 70 6f 73 73 69 62 69 6c 69 74 79 20 6f 66 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f | he.possibility.of.heap.allocatio |
| 9eb00 | 6e 20 66 61 69 6c 75 72 65 20 62 79 0a 20 20 20 20 20 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c | n.failure.by.......unconditional |
| 9eb20 | 6c 79 20 63 72 61 73 68 69 6e 67 2e 20 42 79 20 63 6f 6e 76 65 6e 74 69 6f 6e 2c 20 5a 69 67 20 | ly.crashing..By.convention,.Zig. |
| 9eb40 | 70 72 6f 67 72 61 6d 6d 65 72 73 20 64 6f 20 6e 6f 74 20 63 6f 6e 73 69 64 65 72 20 74 68 69 73 | programmers.do.not.consider.this |
| 9eb60 | 20 74 6f 20 62 65 20 61 0a 20 20 20 20 20 20 73 61 74 69 73 66 61 63 74 6f 72 79 20 73 6f 6c 75 | .to.be.a.......satisfactory.solu |
| 9eb80 | 74 69 6f 6e 2e 20 49 6e 73 74 65 61 64 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | tion..Instead,.<code.class="zig" |
| 9eba0 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 72 72 6f 72 3c 2f 73 70 61 | ><span.class="tok-kw">error</spa |
| 9ebc0 | 6e 3e 2e 4f 75 74 4f 66 4d 65 6d 6f 72 79 3c 2f 63 6f 64 65 3e 20 72 65 70 72 65 73 65 6e 74 73 | n>.OutOfMemory</code>.represents |
| 9ebe0 | 0a 20 20 20 20 20 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 69 6c 75 72 65 2c 20 | .......heap.allocation.failure,. |
| 9ec00 | 61 6e 64 20 5a 69 67 20 6c 69 62 72 61 72 69 65 73 20 72 65 74 75 72 6e 20 74 68 69 73 20 65 72 | and.Zig.libraries.return.this.er |
| 9ec20 | 72 6f 72 20 63 6f 64 65 20 77 68 65 6e 65 76 65 72 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f | ror.code.whenever.heap.allocatio |
| 9ec40 | 6e 0a 20 20 20 20 20 20 66 61 69 6c 75 72 65 20 70 72 65 76 65 6e 74 65 64 20 61 6e 20 6f 70 65 | n.......failure.prevented.an.ope |
| 9ec60 | 72 61 74 69 6f 6e 20 66 72 6f 6d 20 63 6f 6d 70 6c 65 74 69 6e 67 20 73 75 63 63 65 73 73 66 75 | ration.from.completing.successfu |
| 9ec80 | 6c 6c 79 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 | lly........</p>.......<p>....... |
| 9eca0 | 53 6f 6d 65 20 68 61 76 65 20 61 72 67 75 65 64 20 74 68 61 74 20 62 65 63 61 75 73 65 20 73 6f | Some.have.argued.that.because.so |
| 9ecc0 | 6d 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 73 75 63 68 20 61 73 20 4c 69 6e | me.operating.systems.such.as.Lin |
| 9ece0 | 75 78 20 68 61 76 65 20 6d 65 6d 6f 72 79 20 6f 76 65 72 63 6f 6d 6d 69 74 20 65 6e 61 62 6c 65 | ux.have.memory.overcommit.enable |
| 9ed00 | 64 20 62 79 0a 20 20 20 20 20 20 64 65 66 61 75 6c 74 2c 20 69 74 20 69 73 20 70 6f 69 6e 74 6c | d.by.......default,.it.is.pointl |
| 9ed20 | 65 73 73 20 74 6f 20 68 61 6e 64 6c 65 20 68 65 61 70 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 | ess.to.handle.heap.allocation.fa |
| 9ed40 | 69 6c 75 72 65 2e 20 54 68 65 72 65 20 61 72 65 20 6d 61 6e 79 20 70 72 6f 62 6c 65 6d 73 20 77 | ilure..There.are.many.problems.w |
| 9ed60 | 69 74 68 20 74 68 69 73 20 72 65 61 73 6f 6e 69 6e 67 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 | ith.this.reasoning:.......</p>.. |
| 9ed80 | 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 73 6f 6d | .....<ul>...........<li>Only.som |
| 9eda0 | 65 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 20 68 61 76 65 20 61 6e 20 6f 76 65 72 | e.operating.systems.have.an.over |
| 9edc0 | 63 6f 6d 6d 69 74 20 66 65 61 74 75 72 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 75 | commit.feature................<u |
| 9ede0 | 6c 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 4c 69 6e 75 78 20 68 | l>...................<li>Linux.h |
| 9ee00 | 61 73 20 69 74 20 65 6e 61 62 6c 65 64 20 62 79 20 64 65 66 61 75 6c 74 2c 20 62 75 74 20 69 74 | as.it.enabled.by.default,.but.it |
| 9ee20 | 20 69 73 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 | .is.configurable.</li>.......... |
| 9ee40 | 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 57 69 6e 64 6f 77 73 20 64 6f 65 73 20 6e 6f 74 20 6f 76 | .........<li>Windows.does.not.ov |
| 9ee60 | 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 20 20 20 | ercommit.</li>.................. |
| 9ee80 | 20 3c 6c 69 3e 45 6d 62 65 64 64 65 64 20 73 79 73 74 65 6d 73 20 64 6f 20 6e 6f 74 20 68 61 76 | .<li>Embedded.systems.do.not.hav |
| 9eea0 | 65 20 6f 76 65 72 63 6f 6d 6d 69 74 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | e.overcommit.</li>.............. |
| 9eec0 | 20 20 20 20 20 3c 6c 69 3e 48 6f 62 62 79 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 73 | .....<li>Hobby.operating.systems |
| 9eee0 | 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 68 61 76 65 20 6f 76 65 72 63 6f 6d 6d 69 74 2e | .may.or.may.not.have.overcommit. |
| 9ef00 | 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 | </li>...............</ul>....... |
| 9ef20 | 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 | ....</li>...........<li>........ |
| 9ef40 | 20 20 20 20 20 20 20 46 6f 72 20 72 65 61 6c 2d 74 69 6d 65 20 73 79 73 74 65 6d 73 2c 20 6e 6f | .......For.real-time.systems,.no |
| 9ef60 | 74 20 6f 6e 6c 79 20 69 73 20 74 68 65 72 65 20 6e 6f 20 6f 76 65 72 63 6f 6d 6d 69 74 2c 20 62 | t.only.is.there.no.overcommit,.b |
| 9ef80 | 75 74 20 74 79 70 69 63 61 6c 6c 79 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 61 6d 6f 75 6e 74 0a | ut.typically.the.maximum.amount. |
| 9efa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 66 20 6d 65 6d 6f 72 79 20 70 65 72 20 61 70 70 6c | ..............of.memory.per.appl |
| 9efc0 | 69 63 61 74 69 6f 6e 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 61 68 65 61 64 20 6f 66 20 74 | ication.is.determined.ahead.of.t |
| 9efe0 | 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c | ime............</li>...........< |
| 9f000 | 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 77 72 69 74 69 6e 67 20 61 | li>...............When.writing.a |
| 9f020 | 20 6c 69 62 72 61 72 79 2c 20 6f 6e 65 20 6f 66 20 74 68 65 20 6d 61 69 6e 20 67 6f 61 6c 73 20 | .library,.one.of.the.main.goals. |
| 9f040 | 69 73 20 63 6f 64 65 20 72 65 75 73 65 2e 20 42 79 20 6d 61 6b 69 6e 67 20 63 6f 64 65 20 68 61 | is.code.reuse..By.making.code.ha |
| 9f060 | 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 6c 6f 63 61 74 69 6f 6e 20 66 61 | ndle...............allocation.fa |
| 9f080 | 69 6c 75 72 65 20 63 6f 72 72 65 63 74 6c 79 2c 20 61 20 6c 69 62 72 61 72 79 20 62 65 63 6f 6d | ilure.correctly,.a.library.becom |
| 9f0a0 | 65 73 20 65 6c 69 67 69 62 6c 65 20 74 6f 20 62 65 20 72 65 75 73 65 64 20 69 6e 0a 20 20 20 20 | es.eligible.to.be.reused.in..... |
| 9f0c0 | 20 20 20 20 20 20 20 20 20 20 6d 6f 72 65 20 63 6f 6e 74 65 78 74 73 2e 0a 20 20 20 20 20 20 20 | ..........more.contexts......... |
| 9f0e0 | 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>......... |
| 9f100 | 20 20 20 20 20 20 41 6c 74 68 6f 75 67 68 20 73 6f 6d 65 20 73 6f 66 74 77 61 72 65 20 68 61 73 | ......Although.some.software.has |
| 9f120 | 20 67 72 6f 77 6e 20 74 6f 20 64 65 70 65 6e 64 20 6f 6e 20 6f 76 65 72 63 6f 6d 6d 69 74 20 62 | .grown.to.depend.on.overcommit.b |
| 9f140 | 65 69 6e 67 20 65 6e 61 62 6c 65 64 2c 20 69 74 73 20 65 78 69 73 74 65 6e 63 65 0a 20 20 20 20 | eing.enabled,.its.existence..... |
| 9f160 | 20 20 20 20 20 20 20 20 20 20 69 73 20 74 68 65 20 73 6f 75 72 63 65 20 6f 66 20 63 6f 75 6e 74 | ..........is.the.source.of.count |
| 9f180 | 6c 65 73 73 20 75 73 65 72 20 65 78 70 65 72 69 65 6e 63 65 20 64 69 73 61 73 74 65 72 73 2e 20 | less.user.experience.disasters.. |
| 9f1a0 | 57 68 65 6e 20 61 20 73 79 73 74 65 6d 20 77 69 74 68 20 6f 76 65 72 63 6f 6d 6d 69 74 20 65 6e | When.a.system.with.overcommit.en |
| 9f1c0 | 61 62 6c 65 64 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 75 63 68 20 61 73 20 4c 69 6e | abled,...............such.as.Lin |
| 9f1e0 | 75 78 20 6f 6e 20 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 73 2c 20 63 6f 6d 65 73 20 63 6c | ux.on.default.settings,.comes.cl |
| 9f200 | 6f 73 65 20 74 6f 20 6d 65 6d 6f 72 79 20 65 78 68 61 75 73 74 69 6f 6e 2c 20 74 68 65 20 73 79 | ose.to.memory.exhaustion,.the.sy |
| 9f220 | 73 74 65 6d 20 6c 6f 63 6b 73 20 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 | stem.locks.up...............and. |
| 9f240 | 62 65 63 6f 6d 65 73 20 75 6e 75 73 61 62 6c 65 2e 20 41 74 20 74 68 69 73 20 70 6f 69 6e 74 2c | becomes.unusable..At.this.point, |
| 9f260 | 20 74 68 65 20 4f 4f 4d 20 4b 69 6c 6c 65 72 20 73 65 6c 65 63 74 73 20 61 6e 20 61 70 70 6c 69 | .the.OOM.Killer.selects.an.appli |
| 9f280 | 63 61 74 69 6f 6e 20 74 6f 20 6b 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 61 73 | cation.to.kill...............bas |
| 9f2a0 | 65 64 20 6f 6e 20 68 65 75 72 69 73 74 69 63 73 2e 20 54 68 69 73 20 6e 6f 6e 2d 64 65 74 65 72 | ed.on.heuristics..This.non-deter |
| 9f2c0 | 6d 69 6e 69 73 74 69 63 20 64 65 63 69 73 69 6f 6e 20 6f 66 74 65 6e 20 72 65 73 75 6c 74 73 20 | ministic.decision.often.results. |
| 9f2e0 | 69 6e 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 | in.an.important.process......... |
| 9f300 | 20 20 20 20 20 20 62 65 69 6e 67 20 6b 69 6c 6c 65 64 2c 20 61 6e 64 20 6f 66 74 65 6e 20 66 61 | ......being.killed,.and.often.fa |
| 9f320 | 69 6c 73 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 73 79 73 74 65 6d 20 62 61 63 6b 20 74 6f | ils.to.return.the.system.back.to |
| 9f340 | 20 77 6f 72 6b 69 6e 67 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a | .working.order............</li>. |
| 9f360 | 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 | ......</ul>...............<h2.id |
| 9f380 | 3d 22 52 65 63 75 72 73 69 6f 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 65 63 75 72 | ="Recursion"><a.href="#toc-Recur |
| 9f3a0 | 73 69 6f 6e 22 3e 52 65 63 75 72 73 69 6f 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 | sion">Recursion</a>.<a.class="hd |
| 9f3c0 | 72 22 20 68 72 65 66 3d 22 23 52 65 63 75 72 73 69 6f 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e | r".href="#Recursion">..</a></h2> |
| 9f3e0 | 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 63 75 72 73 69 6f 6e 20 69 73 20 61 | ........<p>.......Recursion.is.a |
| 9f400 | 20 66 75 6e 64 61 6d 65 6e 74 61 6c 20 74 6f 6f 6c 20 69 6e 20 6d 6f 64 65 6c 69 6e 67 20 73 6f | .fundamental.tool.in.modeling.so |
| 9f420 | 66 74 77 61 72 65 2e 20 48 6f 77 65 76 65 72 20 69 74 20 68 61 73 20 61 6e 20 6f 66 74 65 6e 2d | ftware..However.it.has.an.often- |
| 9f440 | 6f 76 65 72 6c 6f 6f 6b 65 64 20 70 72 6f 62 6c 65 6d 3a 0a 20 20 20 20 20 20 75 6e 62 6f 75 6e | overlooked.problem:.......unboun |
| 9f460 | 64 65 64 20 6d 65 6d 6f 72 79 20 61 6c 6c 6f 63 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 | ded.memory.allocation........</p |
| 9f480 | 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 52 65 63 75 72 73 69 6f 6e 20 69 73 20 61 | >.......<p>.......Recursion.is.a |
| 9f4a0 | 6e 20 61 72 65 61 20 6f 66 20 61 63 74 69 76 65 20 65 78 70 65 72 69 6d 65 6e 74 61 74 69 6f 6e | n.area.of.active.experimentation |
| 9f4c0 | 20 69 6e 20 5a 69 67 20 61 6e 64 20 73 6f 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e | .in.Zig.and.so.the.documentation |
| 9f4e0 | 20 68 65 72 65 20 69 73 20 6e 6f 74 20 66 69 6e 61 6c 2e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 | .here.is.not.final........You.ca |
| 9f500 | 6e 20 72 65 61 64 20 61 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f | n.read.a.......<a.href="https:// |
| 9f520 | 7a 69 67 6c 61 6e 67 2e 6f 72 67 2f 64 6f 77 6e 6c 6f 61 64 2f 30 2e 33 2e 30 2f 72 65 6c 65 61 | ziglang.org/download/0.3.0/relea |
| 9f540 | 73 65 2d 6e 6f 74 65 73 2e 68 74 6d 6c 23 72 65 63 75 72 73 69 6f 6e 22 3e 73 75 6d 6d 61 72 79 | se-notes.html#recursion">summary |
| 9f560 | 20 6f 66 20 72 65 63 75 72 73 69 6f 6e 20 73 74 61 74 75 73 20 69 6e 20 74 68 65 20 30 2e 33 2e | .of.recursion.status.in.the.0.3. |
| 9f580 | 30 20 72 65 6c 65 61 73 65 20 6e 6f 74 65 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | 0.release.notes</a>........</p>. |
| 9f5a0 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 73 68 6f 72 74 20 73 75 6d 6d 61 72 | ......<p>.......The.short.summar |
| 9f5c0 | 79 20 69 73 20 74 68 61 74 20 63 75 72 72 65 6e 74 6c 79 20 72 65 63 75 72 73 69 6f 6e 20 77 6f | y.is.that.currently.recursion.wo |
| 9f5e0 | 72 6b 73 20 6e 6f 72 6d 61 6c 6c 79 20 61 73 20 79 6f 75 20 77 6f 75 6c 64 20 65 78 70 65 63 74 | rks.normally.as.you.would.expect |
| 9f600 | 2e 20 41 6c 74 68 6f 75 67 68 20 5a 69 67 20 63 6f 64 65 0a 20 20 20 20 20 20 69 73 20 6e 6f 74 | ..Although.Zig.code.......is.not |
| 9f620 | 20 79 65 74 20 70 72 6f 74 65 63 74 65 64 20 66 72 6f 6d 20 73 74 61 63 6b 20 6f 76 65 72 66 6c | .yet.protected.from.stack.overfl |
| 9f640 | 6f 77 2c 20 69 74 20 69 73 20 70 6c 61 6e 6e 65 64 20 74 68 61 74 20 61 20 66 75 74 75 72 65 20 | ow,.it.is.planned.that.a.future. |
| 9f660 | 76 65 72 73 69 6f 6e 20 6f 66 20 5a 69 67 20 77 69 6c 6c 20 70 72 6f 76 69 64 65 0a 20 20 20 20 | version.of.Zig.will.provide..... |
| 9f680 | 20 20 73 75 63 68 20 70 72 6f 74 65 63 74 69 6f 6e 2c 20 77 69 74 68 20 73 6f 6d 65 20 64 65 67 | ..such.protection,.with.some.deg |
| 9f6a0 | 72 65 65 20 6f 66 20 63 6f 6f 70 65 72 61 74 69 6f 6e 20 66 72 6f 6d 20 5a 69 67 20 63 6f 64 65 | ree.of.cooperation.from.Zig.code |
| 9f6c0 | 20 72 65 71 75 69 72 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 | .required........</p>........... |
| 9f6e0 | 20 20 20 20 3c 68 32 20 69 64 3d 22 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 | ....<h2.id="Lifetime-and-Ownersh |
| 9f700 | 69 70 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4c 69 66 65 74 69 6d 65 2d 61 6e 64 2d 4f | ip"><a.href="#toc-Lifetime-and-O |
| 9f720 | 77 6e 65 72 73 68 69 70 22 3e 4c 69 66 65 74 69 6d 65 20 61 6e 64 20 4f 77 6e 65 72 73 68 69 70 | wnership">Lifetime.and.Ownership |
| 9f740 | 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 4c 69 66 65 74 | </a>.<a.class="hdr".href="#Lifet |
| 9f760 | 69 6d 65 2d 61 6e 64 2d 4f 77 6e 65 72 73 68 69 70 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a | ime-and-Ownership">..</a></h2>.. |
| 9f780 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 74 20 69 73 20 74 68 65 20 5a 69 67 20 70 72 | ......<p>.......It.is.the.Zig.pr |
| 9f7a0 | 6f 67 72 61 6d 6d 65 72 27 73 20 72 65 73 70 6f 6e 73 69 62 69 6c 69 74 79 20 74 6f 20 65 6e 73 | ogrammer's.responsibility.to.ens |
| 9f7c0 | 75 72 65 20 74 68 61 74 20 61 20 3c 61 20 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 70 | ure.that.a.<a.href="#Pointers">p |
| 9f7e0 | 6f 69 6e 74 65 72 3c 2f 61 3e 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 20 61 63 63 65 73 73 65 64 | ointer</a>.is.not.......accessed |
| 9f800 | 20 77 68 65 6e 20 74 68 65 20 6d 65 6d 6f 72 79 20 70 6f 69 6e 74 65 64 20 74 6f 20 69 73 20 6e | .when.the.memory.pointed.to.is.n |
| 9f820 | 6f 20 6c 6f 6e 67 65 72 20 61 76 61 69 6c 61 62 6c 65 2e 20 4e 6f 74 65 20 74 68 61 74 20 61 20 | o.longer.available..Note.that.a. |
| 9f840 | 3c 61 20 68 72 65 66 3d 22 23 53 6c 69 63 65 73 22 3e 73 6c 69 63 65 3c 2f 61 3e 0a 20 20 20 20 | <a.href="#Slices">slice</a>..... |
| 9f860 | 20 20 69 73 20 61 20 66 6f 72 6d 20 6f 66 20 70 6f 69 6e 74 65 72 2c 20 69 6e 20 74 68 61 74 20 | ..is.a.form.of.pointer,.in.that. |
| 9f880 | 69 74 20 72 65 66 65 72 65 6e 63 65 73 20 6f 74 68 65 72 20 6d 65 6d 6f 72 79 2e 0a 20 20 20 20 | it.references.other.memory...... |
| 9f8a0 | 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 49 6e 20 6f 72 64 65 72 20 | ..</p>.......<p>.......In.order. |
| 9f8c0 | 74 6f 20 70 72 65 76 65 6e 74 20 62 75 67 73 2c 20 74 68 65 72 65 20 61 72 65 20 73 6f 6d 65 20 | to.prevent.bugs,.there.are.some. |
| 9f8e0 | 68 65 6c 70 66 75 6c 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 74 6f 20 66 6f 6c 6c 6f 77 20 77 68 | helpful.conventions.to.follow.wh |
| 9f900 | 65 6e 20 64 65 61 6c 69 6e 67 20 77 69 74 68 20 70 6f 69 6e 74 65 72 73 2e 0a 20 20 20 20 20 20 | en.dealing.with.pointers........ |
| 9f920 | 49 6e 20 67 65 6e 65 72 61 6c 2c 20 77 68 65 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 | In.general,.when.a.function.retu |
| 9f940 | 72 6e 73 20 61 20 70 6f 69 6e 74 65 72 2c 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e | rns.a.pointer,.the.documentation |
| 9f960 | 20 66 6f 72 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 65 78 70 6c 61 69 6e | .for.the.function.should.explain |
| 9f980 | 0a 20 20 20 20 20 20 77 68 6f 20 22 6f 77 6e 73 22 20 74 68 65 20 70 6f 69 6e 74 65 72 2e 20 54 | .......who."owns".the.pointer..T |
| 9f9a0 | 68 69 73 20 63 6f 6e 63 65 70 74 20 68 65 6c 70 73 20 74 68 65 20 70 72 6f 67 72 61 6d 6d 65 72 | his.concept.helps.the.programmer |
| 9f9c0 | 20 64 65 63 69 64 65 20 77 68 65 6e 20 69 74 20 69 73 20 61 70 70 72 6f 70 72 69 61 74 65 2c 20 | .decide.when.it.is.appropriate,. |
| 9f9e0 | 69 66 20 65 76 65 72 2c 0a 20 20 20 20 20 20 74 6f 20 66 72 65 65 20 74 68 65 20 70 6f 69 6e 74 | if.ever,.......to.free.the.point |
| 9fa00 | 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 46 | er........</p>.......<p>.......F |
| 9fa20 | 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 27 73 20 64 6f 63 75 6d | or.example,.the.function's.docum |
| 9fa40 | 65 6e 74 61 74 69 6f 6e 20 6d 61 79 20 73 61 79 20 22 63 61 6c 6c 65 72 20 6f 77 6e 73 20 74 68 | entation.may.say."caller.owns.th |
| 9fa60 | 65 20 72 65 74 75 72 6e 65 64 20 6d 65 6d 6f 72 79 22 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 | e.returned.memory",.in.which.cas |
| 9fa80 | 65 0a 20 20 20 20 20 20 74 68 65 20 63 6f 64 65 20 74 68 61 74 20 63 61 6c 6c 73 20 74 68 65 20 | e.......the.code.that.calls.the. |
| 9faa0 | 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 68 61 76 65 20 61 20 70 6c 61 6e 20 66 6f 72 20 77 68 | function.must.have.a.plan.for.wh |
| 9fac0 | 65 6e 20 74 6f 20 66 72 65 65 20 74 68 61 74 20 6d 65 6d 6f 72 79 2e 20 50 72 6f 62 61 62 6c 79 | en.to.free.that.memory..Probably |
| 9fae0 | 20 69 6e 20 74 68 69 73 20 73 69 74 75 61 74 69 6f 6e 2c 0a 20 20 20 20 20 20 74 68 65 20 66 75 | .in.this.situation,.......the.fu |
| 9fb00 | 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 61 63 63 65 70 74 20 61 6e 20 3c 63 6f 64 65 20 63 6c 61 73 | nction.will.accept.an.<code.clas |
| 9fb20 | 73 3d 22 7a 69 67 22 3e 2a 41 6c 6c 6f 63 61 74 6f 72 3c 2f 63 6f 64 65 3e 20 70 61 72 61 6d 65 | s="zig">*Allocator</code>.parame |
| 9fb40 | 74 65 72 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 | ter........</p>.......<p>....... |
| 9fb60 | 53 6f 6d 65 74 69 6d 65 73 20 74 68 65 20 6c 69 66 65 74 69 6d 65 20 6f 66 20 61 20 70 6f 69 6e | Sometimes.the.lifetime.of.a.poin |
| 9fb80 | 74 65 72 20 6d 61 79 20 62 65 20 6d 6f 72 65 20 63 6f 6d 70 6c 69 63 61 74 65 64 2e 20 46 6f 72 | ter.may.be.more.complicated..For |
| 9fba0 | 20 65 78 61 6d 70 6c 65 2c 20 77 68 65 6e 20 75 73 69 6e 67 0a 20 20 20 20 20 20 3c 63 6f 64 65 | .example,.when.using.......<code |
| 9fbc0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 74 64 2e 41 72 72 61 79 4c 69 73 74 28 54 29 2e 73 70 | .class="zig">std.ArrayList(T).sp |
| 9fbe0 | 61 6e 28 29 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 73 6c 69 63 65 20 | an()</code>,.the.returned.slice. |
| 9fc00 | 68 61 73 20 61 20 6c 69 66 65 74 69 6d 65 20 74 68 61 74 20 72 65 6d 61 69 6e 73 0a 20 20 20 20 | has.a.lifetime.that.remains..... |
| 9fc20 | 20 20 76 61 6c 69 64 20 75 6e 74 69 6c 20 74 68 65 20 6e 65 78 74 20 74 69 6d 65 20 74 68 65 20 | ..valid.until.the.next.time.the. |
| 9fc40 | 6c 69 73 74 20 69 73 20 72 65 73 69 7a 65 64 2c 20 73 75 63 68 20 61 73 20 62 79 20 61 70 70 65 | list.is.resized,.such.as.by.appe |
| 9fc60 | 6e 64 69 6e 67 20 6e 65 77 20 65 6c 65 6d 65 6e 74 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 | nding.new.elements........</p>.. |
| 9fc80 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 41 50 49 20 64 6f 63 75 6d 65 6e 74 61 | .....<p>.......The.API.documenta |
| 9fca0 | 74 69 6f 6e 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 64 61 74 61 20 73 74 72 75 | tion.for.functions.and.data.stru |
| 9fcc0 | 63 74 75 72 65 73 20 73 68 6f 75 6c 64 20 74 61 6b 65 20 67 72 65 61 74 20 63 61 72 65 20 74 6f | ctures.should.take.great.care.to |
| 9fce0 | 20 65 78 70 6c 61 69 6e 0a 20 20 20 20 20 20 74 68 65 20 6f 77 6e 65 72 73 68 69 70 20 61 6e 64 | .explain.......the.ownership.and |
| 9fd00 | 20 6c 69 66 65 74 69 6d 65 20 73 65 6d 61 6e 74 69 63 73 20 6f 66 20 70 6f 69 6e 74 65 72 73 2e | .lifetime.semantics.of.pointers. |
| 9fd20 | 20 4f 77 6e 65 72 73 68 69 70 20 64 65 74 65 72 6d 69 6e 65 73 20 77 68 6f 73 65 20 72 65 73 70 | .Ownership.determines.whose.resp |
| 9fd40 | 6f 6e 73 69 62 69 6c 69 74 79 20 69 74 0a 20 20 20 20 20 20 69 73 20 74 6f 20 66 72 65 65 20 74 | onsibility.it.......is.to.free.t |
| 9fd60 | 68 65 20 6d 65 6d 6f 72 79 20 72 65 66 65 72 65 6e 63 65 64 20 62 79 20 74 68 65 20 70 6f 69 6e | he.memory.referenced.by.the.poin |
| 9fd80 | 74 65 72 2c 20 61 6e 64 20 6c 69 66 65 74 69 6d 65 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 | ter,.and.lifetime.determines.the |
| 9fda0 | 20 70 6f 69 6e 74 20 61 74 20 77 68 69 63 68 0a 20 20 20 20 20 20 74 68 65 20 6d 65 6d 6f 72 79 | .point.at.which.......the.memory |
| 9fdc0 | 20 62 65 63 6f 6d 65 73 20 69 6e 61 63 63 65 73 73 69 62 6c 65 20 28 6c 65 73 74 20 3c 61 20 68 | .becomes.inaccessible.(lest.<a.h |
| 9fde0 | 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 |
| 9fe00 | 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 6f 63 63 75 72 29 2e 0a 20 20 20 20 20 20 3c | ned.Behavior</a>.occur)........< |
| 9fe20 | 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 3c 68 31 20 69 64 3d | /p>......................<h1.id= |
| 9fe40 | 22 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f | "Compile-Variables"><a.href="#to |
| 9fe60 | 63 2d 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e 43 6f 6d 70 69 6c 65 20 56 61 72 | c-Compile-Variables">Compile.Var |
| 9fe80 | 69 61 62 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 | iables</a>.<a.class="hdr".href=" |
| 9fea0 | 23 43 6f 6d 70 69 6c 65 2d 56 61 72 69 61 62 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a | #Compile-Variables">..</a></h1>. |
| 9fec0 | 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 43 6f 6d 70 69 6c 65 20 76 61 72 69 61 62 6c | .......<p>.......Compile.variabl |
| 9fee0 | 65 73 20 61 72 65 20 61 63 63 65 73 73 69 62 6c 65 20 62 79 20 69 6d 70 6f 72 74 69 6e 67 20 74 | es.are.accessible.by.importing.t |
| 9ff00 | 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | he.<code.class="zig"><span.class |
| 9ff20 | 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f | ="tok-str">"builtin"</ |
| 9ff40 | 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 70 61 63 6b 61 67 65 2c 0a 20 20 20 20 20 20 77 68 69 63 | span></code>.package,.......whic |
| 9ff60 | 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 6d 61 6b 65 73 20 61 76 61 69 6c 61 62 6c 65 20 74 | h.the.compiler.makes.available.t |
| 9ff80 | 6f 20 65 76 65 72 79 20 5a 69 67 20 73 6f 75 72 63 65 20 66 69 6c 65 2e 20 49 74 20 63 6f 6e 74 | o.every.Zig.source.file..It.cont |
| 9ffa0 | 61 69 6e 73 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 63 6f 6e 73 74 61 6e 74 | ains.......compile-time.constant |
| 9ffc0 | 73 20 73 75 63 68 20 61 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 61 72 67 65 74 2c 20 65 6e | s.such.as.the.current.target,.en |
| 9ffe0 | 64 69 61 6e 6e 65 73 73 2c 20 61 6e 64 20 72 65 6c 65 61 73 65 20 6d 6f 64 65 2e 0a 20 20 20 20 | dianness,.and.release.mode...... |
| a0000 | 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 7a | ..</p>.......<pre><code.class="z |
| a0020 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f | ig"><span.class="tok-kw">const</ |
| a0040 | 73 70 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | span>.builtin.=.<span.class="tok |
| a0060 | 2d 62 75 69 6c 74 69 6e 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 |
| a0080 | 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">"builtin&quo |
| a00a0 | 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | t;</span>);.<span.class="tok-kw" |
| a00c0 | 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 65 70 61 72 61 74 6f 72 20 3d 20 3c 73 70 61 6e 20 | >const</span>.separator.=.<span. |
| a00e0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 62 75 69 6c 74 69 | class="tok-kw">if</span>.(builti |
| a0100 | 6e 2e 6f 73 20 3d 3d 20 62 75 69 6c 74 69 6e 2e 4f 73 2e 77 69 6e 64 6f 77 73 29 20 3c 73 70 61 | n.os.==.builtin.Os.windows).<spa |
| a0120 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 5c 5c 27 3c 2f 73 70 61 6e 3e 20 3c 73 | n.class="tok-str">'\\'</span>.<s |
| a0140 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 6c 73 65 3c 2f 73 70 61 6e 3e 20 3c | pan.class="tok-kw">else</span>.< |
| a0160 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 27 2f 27 3c 2f 73 70 61 6e 3e 3b | span.class="tok-str">'/'</span>; |
| a0180 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 45 78 | </code></pre>.......<p>.......Ex |
| a01a0 | 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 77 69 74 68 20 3c | ample.of.what.is.imported.with.< |
| a01c0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | code.class="zig"><span.class="to |
| a01e0 | 6b 2d 62 75 69 6c 74 69 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. |
| a0200 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 75 69 6c 74 69 6e 26 71 75 | class="tok-str">"builtin&qu |
| a0220 | 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3c 2f 63 6f 64 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 | ot;</span>)</code>:.......</p>.. |
| a0240 | 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | .....<pre><code.class="zig"><spa |
| a0260 | 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 3c | n.class="tok-kw">usingnamespace< |
| a0280 | 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 22 | /span>.<span.class="tok-builtin" |
| a02a0 | 3e 40 69 6d 70 6f 72 74 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 |
| a02c0 | 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 | -str">"std"</span>).bu |
| a02e0 | 69 6c 74 69 6e 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 | iltin;..<span.class="tok-kw">pub |
| a0300 | 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | </span>.<span.class="tok-kw">con |
| a0320 | 73 74 3c 2f 73 70 61 6e 3e 20 65 6e 64 69 61 6e 20 3d 20 45 6e 64 69 61 6e 2e 4c 69 74 74 6c 65 | st</span>.endian.=.Endian.Little |
| a0340 | 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e | ;.<span.class="tok-kw">pub</span |
| a0360 | 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 |
| a0380 | 61 6e 3e 20 6f 75 74 70 75 74 5f 6d 6f 64 65 20 3d 20 4f 75 74 70 75 74 4d 6f 64 65 2e 4f 62 6a | an>.output_mode.=.OutputMode.Obj |
| a03a0 | 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e | ;.<span.class="tok-kw">pub</span |
| a03c0 | 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 |
| a03e0 | 61 6e 3e 20 6c 69 6e 6b 5f 6d 6f 64 65 20 3d 20 4c 69 6e 6b 4d 6f 64 65 2e 53 74 61 74 69 63 3b | an>.link_mode.=.LinkMode.Static; |
| a0400 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e | .<span.class="tok-kw">pub</span> |
| a0420 | 20 3c 73 70 61 6e 20 63 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 |
| a0440 | 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 2d 6e 75 | n>.is_test.=.<span.class="tok-nu |
| a0460 | 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | ll">false</span>;.<span.class="t |
| a0480 | 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 |
| a04a0 | 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 69 6e 67 6c 65 5f 74 68 72 65 61 | ok-kw">const</span>.single_threa |
| a04c0 | 64 65 64 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c | ded.=.<span.class="tok-null">fal |
| a04e0 | 73 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d | se</span>;.<span.class="tok-comm |
| a0500 | 65 6e 74 22 3e 2f 2f 2f 20 44 65 70 72 65 63 61 74 65 64 3a 20 75 73 65 20 60 73 74 64 2e 54 61 | ent">///.Deprecated:.use.`std.Ta |
| a0520 | 72 67 65 74 2e 63 70 75 2e 61 72 63 68 60 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 | rget.cpu.arch`</span>.<span.clas |
| a0540 | 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 |
| a0560 | 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 63 68 20 3d 20 41 | s="tok-kw">const</span>.arch.=.A |
| a0580 | 72 63 68 2e 78 38 36 5f 36 34 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | rch.x86_64;.<span.class="tok-kw" |
| a05a0 | 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" |
| a05c0 | 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 62 69 20 3d 20 41 62 69 2e 6d 75 73 6c 3b 0a 3c 73 | >const</span>.abi.=.Abi.musl;.<s |
| a05e0 | 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 |
| a0600 | 70 61 6e 20 63 6c 61 73 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>. |
| a0620 | 63 70 75 3a 20 43 70 75 20 3d 20 43 70 75 7b 0a 20 20 20 20 2e 61 72 63 68 20 3d 20 2e 78 38 36 | cpu:.Cpu.=.Cpu{......arch.=..x86 |
| a0640 | 5f 36 34 2c 0a 20 20 20 20 2e 6d 6f 64 65 6c 20 3d 20 26 61 6d 70 3b 54 61 72 67 65 74 2e 78 38 | _64,......model.=.&Target.x8 |
| a0660 | 36 2e 63 70 75 2e 68 61 73 77 65 6c 6c 2c 0a 20 20 20 20 2e 66 65 61 74 75 72 65 73 20 3d 20 54 | 6.cpu.haswell,......features.=.T |
| a0680 | 61 72 67 65 74 2e 78 38 36 2e 66 65 61 74 75 72 65 53 65 74 28 26 61 6d 70 3b 5b 5f 5d 54 61 72 | arget.x86.featureSet(&[_]Tar |
| a06a0 | 67 65 74 2e 78 38 36 2e 46 65 61 74 75 72 65 7b 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 | get.x86.Feature{..........@" |
| a06c0 | 3b 36 34 62 69 74 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 61 65 | ;64bit",..........@"ae |
| a06e0 | 73 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 61 76 78 26 71 75 6f | s",..........@"avx&quo |
| a0700 | 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 61 76 78 32 26 71 75 6f 74 3b 2c 0a | t;,..........@"avx2",. |
| a0720 | 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 62 6d 69 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 | .........@"bmi",...... |
| a0740 | 20 20 20 2e 40 26 71 75 6f 74 3b 62 6d 69 32 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e | ....@"bmi2",.......... |
| a0760 | 40 26 71 75 6f 74 3b 63 6d 6f 76 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 | @"cmov",..........@&qu |
| a0780 | 6f 74 3b 63 78 31 36 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 63 | ot;cx16",..........@"c |
| a07a0 | 78 38 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 65 72 6d 73 62 26 | x8",..........@"ermsb& |
| a07c0 | 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 66 31 36 63 26 71 75 6f 74 | quot;,..........@"f16c" |
| a07e0 | 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 66 61 6c 73 65 5f 64 65 70 73 5f 6c 7a | ;,..........@"false_deps_lz |
| a0800 | 63 6e 74 5f 74 7a 63 6e 74 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 | cnt_tzcnt",..........@" |
| a0820 | 3b 66 61 6c 73 65 5f 64 65 70 73 5f 70 6f 70 63 6e 74 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 | ;false_deps_popcnt",....... |
| a0840 | 20 20 2e 40 26 71 75 6f 74 3b 66 61 73 74 5f 73 63 61 6c 61 72 5f 66 73 71 72 74 26 71 75 6f 74 | ...@"fast_scalar_fsqrt" |
| a0860 | 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 66 61 73 74 5f 73 68 6c 64 5f 72 6f 74 | ;,..........@"fast_shld_rot |
| a0880 | 61 74 65 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 66 61 73 74 5f | ate",..........@"fast_ |
| a08a0 | 76 61 72 69 61 62 6c 65 5f 73 68 75 66 66 6c 65 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 | variable_shuffle",......... |
| a08c0 | 2e 40 26 71 75 6f 74 3b 66 6d 61 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 | .@"fma",..........@&qu |
| a08e0 | 6f 74 3b 66 73 67 73 62 61 73 65 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 | ot;fsgsbase",..........@&qu |
| a0900 | 6f 74 3b 66 78 73 72 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 69 | ot;fxsr",..........@"i |
| a0920 | 64 69 76 71 5f 74 6f 5f 64 69 76 6c 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 | divq_to_divl",..........@&q |
| a0940 | 75 6f 74 3b 69 6e 76 70 63 69 64 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 | uot;invpcid",..........@&qu |
| a0960 | 6f 74 3b 6c 7a 63 6e 74 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b | ot;lzcnt",..........@" |
| a0980 | 6d 61 63 72 6f 66 75 73 69 6f 6e 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 | macrofusion",..........@&qu |
| a09a0 | 6f 74 3b 6d 65 72 67 65 5f 74 6f 5f 74 68 72 65 65 77 61 79 5f 62 72 61 6e 63 68 26 71 75 6f 74 | ot;merge_to_threeway_branch" |
| a09c0 | 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 6d 6d 78 26 71 75 6f 74 3b 2c 0a 20 20 | ;,..........@"mmx",... |
| a09e0 | 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 6d 6f 76 62 65 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 | .......@"movbe",...... |
| a0a00 | 20 20 20 2e 40 26 71 75 6f 74 3b 6e 6f 70 6c 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e | ....@"nopl",.......... |
| a0a20 | 40 26 71 75 6f 74 3b 70 63 6c 6d 75 6c 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 | @"pclmul",..........@& |
| a0a40 | 71 75 6f 74 3b 70 6f 70 63 6e 74 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 | quot;popcnt",..........@&qu |
| a0a60 | 6f 74 3b 72 64 72 6e 64 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b | ot;rdrnd",..........@" |
| a0a80 | 73 61 68 66 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 73 6c 6f 77 | sahf",..........@"slow |
| a0aa0 | 5f 33 6f 70 73 5f 6c 65 61 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 | _3ops_lea",..........@" |
| a0ac0 | 3b 73 73 65 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 73 73 65 32 | ;sse",..........@"sse2 |
| a0ae0 | 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 73 73 65 33 26 71 75 6f | ",..........@"sse3&quo |
| a0b00 | 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 73 73 65 34 5f 31 26 71 75 6f 74 3b | t;,..........@"sse4_1" |
| a0b20 | 2c 0a 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 73 73 65 34 5f 32 26 71 75 6f 74 3b 2c 0a | ,..........@"sse4_2",. |
| a0b40 | 20 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 73 73 73 65 33 26 71 75 6f 74 3b 2c 0a 20 20 20 | .........@"ssse3",.... |
| a0b60 | 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 76 7a 65 72 6f 75 70 70 65 72 26 71 75 6f 74 3b 2c 0a 20 | ......@"vzeroupper",.. |
| a0b80 | 20 20 20 20 20 20 20 2e 40 26 71 75 6f 74 3b 78 38 37 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 | ........@"x87",....... |
| a0ba0 | 20 20 2e 40 26 71 75 6f 74 3b 78 73 61 76 65 26 71 75 6f 74 3b 2c 0a 20 20 20 20 20 20 20 20 2e | ...@"xsave",.......... |
| a0bc0 | 40 26 71 75 6f 74 3b 78 73 61 76 65 6f 70 74 26 71 75 6f 74 3b 2c 0a 20 20 20 20 7d 29 2c 0a 7d | @"xsaveopt",.....}),.} |
| a0be0 | 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e | ;.<span.class="tok-kw">pub</span |
| a0c00 | 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 |
| a0c20 | 61 6e 3e 20 6f 73 20 3d 20 4f 73 7b 0a 20 20 20 20 2e 74 61 67 20 3d 20 2e 6c 69 6e 75 78 2c 0a | an>.os.=.Os{......tag.=..linux,. |
| a0c40 | 20 20 20 20 2e 76 65 72 73 69 6f 6e 5f 72 61 6e 67 65 20 3d 20 2e 7b 20 2e 6c 69 6e 75 78 20 3d | .....version_range.=..{..linux.= |
| a0c60 | 20 2e 7b 0a 20 20 20 20 20 20 20 20 2e 72 61 6e 67 65 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 | ..{..........range.=..{......... |
| a0c80 | 20 20 20 20 2e 6d 69 6e 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d | .....min.=..{..................m |
| a0ca0 | 61 6a 6f 72 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e | ajor.=.<span.class="tok-number"> |
| a0cc0 | 35 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 69 6e 6f 72 | 5</span>,..................minor |
| a0ce0 | 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 | .=.<span.class="tok-number">0</s |
| a0d00 | 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 70 61 74 63 68 20 3d 20 3c | pan>,..................patch.=.< |
| a0d20 | 73 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> |
| a0d40 | 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 | ,.............},..............ma |
| a0d60 | 78 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 6a 6f 72 20 3d 20 | x.=..{..................major.=. |
| a0d80 | 3c 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 |
| a0da0 | 3e 2c 0a 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 | >,..................minor.=.<spa |
| a0dc0 | 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 0a 20 | n.class="tok-number">0</span>,.. |
| a0de0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 70 61 74 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c | ................patch.=.<span.cl |
| a0e00 | 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 | ass="tok-number">0</span>,...... |
| a0e20 | 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 20 20 20 20 20 2e 67 6c | .......},.........},..........gl |
| a0e40 | 69 62 63 20 3d 20 2e 7b 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 6d 61 6a 6f 72 20 3d 20 3c 73 | ibc.=..{..............major.=.<s |
| a0e60 | 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>, |
| a0e80 | 0a 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 6c 61 73 | ..............minor.=.<span.clas |
| a0ea0 | 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 37 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 | s="tok-number">17</span>,....... |
| a0ec0 | 20 20 20 20 20 20 2e 70 61 74 63 68 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | .......patch.=.<span.class="tok- |
| a0ee0 | 6e 75 6d 62 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 20 20 20 20 7d 2c 0a 20 20 20 | number">0</span>,.........},.... |
| a0f00 | 20 7d 7d 2c 0a 7d 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 | .}},.};.<span.class="tok-kw">pub |
| a0f20 | 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | </span>.<span.class="tok-kw">con |
| a0f40 | 73 74 3c 2f 73 70 61 6e 3e 20 6f 62 6a 65 63 74 5f 66 6f 72 6d 61 74 20 3d 20 4f 62 6a 65 63 74 | st</span>.object_format.=.Object |
| a0f60 | 46 6f 72 6d 61 74 2e 65 6c 66 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | Format.elf;.<span.class="tok-kw" |
| a0f80 | 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" |
| a0fa0 | 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6d 6f 64 65 20 3d 20 4d 6f 64 65 2e 44 65 62 75 67 3b | >const</span>.mode.=.Mode.Debug; |
| a0fc0 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e | .<span.class="tok-kw">pub</span> |
| a0fe0 | 20 3c 73 70 61 6e 20 63 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 |
| a1000 | 6e 3e 20 6c 69 6e 6b 5f 6c 69 62 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | n>.link_libc.=.<span.class="tok- |
| a1020 | 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d | null">false</span>;.<span.class= |
| a1040 | 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= |
| a1060 | 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 6e 6b 5f 6c 69 62 63 70 | "tok-kw">const</span>.link_libcp |
| a1080 | 70 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 | p.=.<span.class="tok-null">false |
| a10a0 | 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 | </span>;.<span.class="tok-kw">pu |
| a10c0 | 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 |
| a10e0 | 6e 73 74 3c 2f 73 70 61 6e 3e 20 68 61 76 65 5f 65 72 72 6f 72 5f 72 65 74 75 72 6e 5f 74 72 61 | nst</span>.have_error_return_tra |
| a1100 | 63 69 6e 67 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 74 72 | cing.=.<span.class="tok-null">tr |
| a1120 | 75 65 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e | ue</span>;.<span.class="tok-kw"> |
| a1140 | 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"> |
| a1160 | 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.=. |
| a1180 | 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 |
| a11a0 | 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 | n>;.<span.class="tok-kw">pub</sp |
| a11c0 | 61 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</ |
| a11e0 | 73 70 61 6e 3e 20 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 | span>.position_independent_code. |
| a1200 | 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 66 61 6c 73 65 3c 2f | =.<span.class="tok-null">false</ |
| a1220 | 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c | span>;.<span.class="tok-kw">pub< |
| a1240 | 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 | /span>.<span.class="tok-kw">cons |
| a1260 | 74 3c 2f 73 70 61 6e 3e 20 73 74 72 69 70 5f 64 65 62 75 67 5f 69 6e 66 6f 20 3d 20 3c 73 70 61 | t</span>.strip_debug_info.=.<spa |
| a1280 | 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>; |
| a12a0 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c 2f 73 70 61 6e 3e | .<span.class="tok-kw">pub</span> |
| a12c0 | 20 3c 73 70 61 6e 20 63 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 |
| a12e0 | 6e 3e 20 63 6f 64 65 5f 6d 6f 64 65 6c 20 3d 20 43 6f 64 65 4d 6f 64 65 6c 2e 64 65 66 61 75 6c | n>.code_model.=.CodeModel.defaul |
| a1300 | 74 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 | t;</code></pre>.......<p>See.als |
| a1320 | 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 42 75 69 6c 64 2d 4d | o:</p><ul>.<li><a.href="#Build-M |
| a1340 | 6f 64 65 22 3e 42 75 69 6c 64 20 4d 6f 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a | ode">Build.Mode</a></li>.</ul>.. |
| a1360 | 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 52 6f 6f 74 2d 53 6f 75 72 63 65 | .............<h1.id="Root-Source |
| a1380 | 2d 46 69 6c 65 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 52 6f 6f 74 2d 53 6f 75 72 63 65 | -File"><a.href="#toc-Root-Source |
| a13a0 | 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 20 3c 61 20 63 | -File">Root.Source.File</a>.<a.c |
| a13c0 | 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 52 6f 6f 74 2d 53 6f 75 72 63 65 2d 46 69 | lass="hdr".href="#Root-Source-Fi |
| a13e0 | 6c 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 | le">..</a></h1>........<p>TODO:. |
| a1400 | 65 78 70 6c 61 69 6e 20 68 6f 77 20 72 6f 6f 74 20 73 6f 75 72 63 65 20 66 69 6c 65 20 66 69 6e | explain.how.root.source.file.fin |
| a1420 | 64 73 20 6f 74 68 65 72 20 66 69 6c 65 73 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f | ds.other.files</p>.......<p>TODO |
| a1440 | 3a 20 70 75 62 20 66 6e 20 6d 61 69 6e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a | :.pub.fn.main</p>.......<p>TODO: |
| a1460 | 20 70 75 62 20 66 6e 20 70 61 6e 69 63 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a | .pub.fn.panic</p>.......<p>TODO: |
| a1480 | 20 69 66 20 6c 69 6e 6b 69 6e 67 20 77 69 74 68 20 6c 69 62 63 20 79 6f 75 20 63 61 6e 20 75 73 | .if.linking.with.libc.you.can.us |
| a14a0 | 65 20 65 78 70 6f 72 74 20 66 6e 20 6d 61 69 6e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f | e.export.fn.main</p>.......<p>TO |
| a14c0 | 44 4f 3a 20 6f 72 64 65 72 20 69 6e 64 65 70 65 6e 64 65 6e 74 20 74 6f 70 20 6c 65 76 65 6c 20 | DO:.order.independent.top.level. |
| a14e0 | 64 65 63 6c 61 72 61 74 69 6f 6e 73 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 | declarations</p>.......<p>TODO:. |
| a1500 | 6c 61 7a 79 20 61 6e 61 6c 79 73 69 73 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a | lazy.analysis</p>.......<p>TODO: |
| a1520 | 20 75 73 69 6e 67 20 63 6f 6d 70 74 69 6d 65 20 7b 20 5f 20 3d 20 40 69 6d 70 6f 72 74 28 29 20 | .using.comptime.{._.=.@import(). |
| a1540 | 7d 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 5a 69 67 2d 54 | }</p>..............<h1.id="Zig-T |
| a1560 | 65 73 74 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 69 67 2d 54 65 73 74 22 3e 5a 69 67 | est"><a.href="#toc-Zig-Test">Zig |
| a1580 | 20 54 65 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 | .Test</a>.<a.class="hdr".href="# |
| a15a0 | 5a 69 67 2d 54 65 73 74 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e | Zig-Test">..</a></h1>........<p> |
| a15c0 | 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 7a 69 67 20 74 65 73 74 3c 2f 63 6f 64 65 3e 20 69 73 20 | .......<code>zig.test</code>.is. |
| a15e0 | 61 20 74 6f 6f 6c 20 74 68 61 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 71 75 69 63 6b | a.tool.that.can.be.used.to.quick |
| a1600 | 6c 79 20 62 75 69 6c 64 20 61 6e 64 20 72 75 6e 20 5a 69 67 20 63 6f 64 65 0a 20 20 20 20 20 20 | ly.build.and.run.Zig.code....... |
| a1620 | 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 |
| a1640 | 63 74 61 74 69 6f 6e 73 2e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 | ctations..<code.class="zig"><spa |
| a1660 | 6e 20 63 6c 61 73 73 3d 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 |
| a1680 | 70 61 6e 3e 28 3c 73 70 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">" |
| a16a0 | 3b 62 75 69 6c 74 69 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 69 73 5f 74 65 73 74 3c 2f | ;builtin"</span>).is_test</ |
| a16c0 | 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 63 6f 64 | code>.......is.available.for.cod |
| a16e0 | 65 20 74 6f 20 64 65 74 65 63 74 20 77 68 65 74 68 65 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 | e.to.detect.whether.the.current. |
| a1700 | 62 75 69 6c 64 20 69 73 20 61 20 74 65 73 74 20 62 75 69 6c 64 2e 0a 20 20 20 20 20 20 3c 2f 70 | build.is.a.test.build........</p |
| a1720 | 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 64 65 74 65 63 74 5f 74 | >.......<p.class="file">detect_t |
| a1740 | 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | est.zig</p><pre><code.class="zig |
| a1760 | 22 3e 3c 73 70 61 6e 20 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 |
| a1780 | 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 |
| a17a0 | 69 6e 22 3e 40 69 6d 70 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=" |
| a17c0 | 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">"std"</span>) |
| a17e0 | 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 | ;.<span.class="tok-kw">const</sp |
| a1800 | 61 6e 3e 20 62 75 69 6c 74 69 6e 20 3d 20 73 74 64 2e 62 75 69 6c 74 69 6e 3b 0a 3c 73 70 61 6e | an>.builtin.=.std.builtin;.<span |
| a1820 | 20 63 6c 61 73 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 | .class="tok-kw">const</span>.ass |
| a1840 | 65 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 | ert.=.std.debug.assert;..<span.c |
| a1860 | 6c 61 73 73 3d 22 74 6f 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. |
| a1880 | 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 2e 69 73 | class="tok-str">"builtin.is |
| a18a0 | 5f 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 61 73 73 65 72 74 28 | _test"</span>.{.....assert( |
| a18c0 | 62 75 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e | builtin.is_test);.}</code></pre> |
| a18e0 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 | <pre><code.class="shell">$.zig.t |
| a1900 | 65 73 74 20 64 65 74 65 63 74 5f 74 65 73 74 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 71 75 | est.detect_test.zig.1/1.test.&qu |
| a1920 | 6f 74 3b 62 75 69 6c 74 69 6e 2e 69 73 5f 74 65 73 74 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a 41 6c | ot;builtin.is_test"...OK.Al |
| a1940 | 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a | l.1.tests.passed..</code></pre>. |
| a1960 | 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 6c 61 7a 79 20 74 6f | .......<p>.......Zig.has.lazy.to |
| a1980 | 70 20 6c 65 76 65 6c 20 64 65 63 6c 61 72 61 74 69 6f 6e 20 61 6e 61 6c 79 73 69 73 2c 20 77 68 | p.level.declaration.analysis,.wh |
| a19a0 | 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 69 66 20 61 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 | ich.means.that.if.a.function.is. |
| a19c0 | 6e 6f 74 20 63 61 6c 6c 65 64 2c 0a 20 20 20 20 20 20 6f 72 20 6f 74 68 65 72 77 69 73 65 20 75 | not.called,.......or.otherwise.u |
| a19e0 | 73 65 64 2c 20 69 74 20 69 73 20 6e 6f 74 20 61 6e 61 6c 79 7a 65 64 2e 20 54 68 69 73 20 6d 65 | sed,.it.is.not.analyzed..This.me |
| a1a00 | 61 6e 73 20 74 68 61 74 20 74 68 65 72 65 20 6d 61 79 20 62 65 20 61 6e 20 75 6e 64 69 73 63 6f | ans.that.there.may.be.an.undisco |
| a1a20 | 76 65 72 65 64 0a 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 20 69 6e 20 61 20 66 | vered.......compile.error.in.a.f |
| a1a40 | 75 6e 63 74 69 6f 6e 20 62 65 63 61 75 73 65 20 69 74 20 69 73 20 6e 65 76 65 72 20 63 61 6c 6c | unction.because.it.is.never.call |
| a1a60 | 65 64 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 | ed........</p>.......<p.class="f |
| a1a80 | 69 6c 65 22 3e 75 6e 75 73 65 64 5f 66 6e 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 | ile">unused_fn.zig</p><pre><code |
| a1aa0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| a1ac0 | 22 3e 66 6e 3c 2f 73 70 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" |
| a1ae0 | 3e 75 6e 75 73 65 64 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | >unused</span>().<span.class="to |
| a1b00 | 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | k-type">i32</span>.{.....<span.c |
| a1b20 | 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 |
| a1b40 | 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 72 6f 6e 67 20 72 65 | n.class="tok-str">"wrong.re |
| a1b60 | 74 75 72 6e 20 74 79 70 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 3b 0a 7d 0a 3c 73 70 61 6e 20 | turn.type"</span>;.}.<span. |
| a1b80 | 63 6c 61 73 73 3d 22 74 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 |
| a1ba0 | 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 75 73 65 64 20 66 75 | .class="tok-str">"unused.fu |
| a1bc0 | 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 20 7d 3c 2f 63 6f 64 65 3e 3c 2f | nction"</span>.{.}</code></ |
| a1be0 | 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a | pre><pre><code.class="shell">$.z |
| a1c00 | 69 67 20 74 65 73 74 20 75 6e 75 73 65 64 5f 66 6e 2e 7a 69 67 0a 31 2f 31 20 74 65 73 74 20 26 | ig.test.unused_fn.zig.1/1.test.& |
| a1c20 | 71 75 6f 74 3b 75 6e 75 73 65 64 20 66 75 6e 63 74 69 6f 6e 26 71 75 6f 74 3b 2e 2e 2e 4f 4b 0a | quot;unused.function"...OK. |
| a1c40 | 41 6c 6c 20 31 20 74 65 73 74 73 20 70 61 73 73 65 64 2e 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | All.1.tests.passed..</code></pre |
| a1c60 | 3e 0a 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 2c 20 77 68 | >........<p>.......Note.that,.wh |
| a1c80 | 69 6c 65 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 44 65 62 75 67 22 3e 44 65 62 75 67 3c 2f 61 | ile.in.<a.href="#Debug">Debug</a |
| a1ca0 | 3e 20 61 6e 64 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 53 61 66 65 22 3e 52 65 6c | >.and.<a.href="#ReleaseSafe">Rel |
| a1cc0 | 65 61 73 65 53 61 66 65 3c 2f 61 3e 20 6d 6f 64 65 73 2c 20 3c 61 20 68 72 65 66 3d 22 23 75 6e | easeSafe</a>.modes,.<a.href="#un |
| a1ce0 | 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 65 6d 69 74 73 | reachable">unreachable</a>.emits |
| a1d00 | 20 61 0a 20 20 20 20 20 20 63 61 6c 6c 20 74 6f 20 3c 61 20 68 72 65 66 3d 22 23 70 61 6e 69 63 | .a.......call.to.<a.href="#panic |
| a1d20 | 22 3e 40 70 61 6e 69 63 3c 2f 61 3e 2c 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 | ">@panic</a>,.in.<a.href="#Relea |
| a1d40 | 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 64 20 3c 61 20 68 | seFast">ReleaseFast</a>.and.<a.h |
| a1d60 | 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 6d 61 6c 6c | ref="#ReleaseSmall">ReleaseSmall |
| a1d80 | 3c 2f 61 3e 20 6d 6f 64 65 73 2c 20 69 74 20 69 73 20 72 65 61 6c 6c 79 0a 20 20 20 20 20 20 75 | </a>.modes,.it.is.really.......u |
| a1da0 | 6e 64 65 66 69 6e 65 64 20 62 65 68 61 76 69 6f 72 2e 20 54 68 65 20 69 6d 70 6c 65 6d 65 6e 74 | ndefined.behavior..The.implement |
| a1dc0 | 61 74 69 6f 6e 20 6f 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 74 64 2e 64 | ation.of.<code.class="zig">std.d |
| a1de0 | 65 62 75 67 2e 61 73 73 65 72 74 3c 2f 63 6f 64 65 3e 20 69 73 20 61 73 0a 20 20 20 20 20 20 73 | ebug.assert</code>.is.as.......s |
| a1e00 | 69 6d 70 6c 65 20 61 73 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e | imple.as:.......</p>.......<pre> |
| a1e20 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | <code.class="zig"><span.class="t |
| a1e40 | 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 |
| a1e60 | 6f 6b 2d 6b 77 22 3e 66 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 |
| a1e80 | 6b 2d 66 6e 22 3e 61 73 73 65 72 74 3c 2f 73 70 61 6e 3e 28 6f 6b 3a 20 3c 73 70 61 6e 20 63 6c | k-fn">assert</span>(ok:.<span.cl |
| a1ea0 | 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 |
| a1ec0 | 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>.{ |
| a1ee0 | 0a 20 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 |
| a1f00 | 61 6e 3e 20 28 21 6f 6b 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 75 | an>.(!ok).<span.class="tok-kw">u |
| a1f20 | 6e 72 65 61 63 68 61 62 6c 65 3c 2f 73 70 61 6e 3e 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | nreachable</span>;.}</code></pre |
| a1f40 | 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 | >.......<p>.......This.means.tha |
| a1f60 | 74 20 77 68 65 6e 20 74 65 73 74 69 6e 67 20 69 6e 20 52 65 6c 65 61 73 65 46 61 73 74 20 6f 72 | t.when.testing.in.ReleaseFast.or |
| a1f80 | 20 52 65 6c 65 61 73 65 53 6d 61 6c 6c 20 6d 6f 64 65 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d | .ReleaseSmall.mode,.<code.class= |
| a1fa0 | 22 7a 69 67 22 3e 61 73 73 65 72 74 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 69 73 20 6e 6f 74 | "zig">assert</code>.......is.not |
| a1fc0 | 20 73 75 66 66 69 63 69 65 6e 74 20 74 6f 20 63 68 65 63 6b 20 74 68 65 20 72 65 73 75 6c 74 20 | .sufficient.to.check.the.result. |
| a1fe0 | 6f 66 20 61 20 63 6f 6d 70 75 74 61 74 69 6f 6e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 | of.a.computation:.......</p>.... |
| a2000 | 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | ...<pre><code.class="zig"><span. |
| a2020 | 63 6c 61 73 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. |
| a2040 | 3d 20 3c 73 70 61 6e 20 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 |
| a2060 | 6f 72 74 3c 2f 73 70 61 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" |
| a2080 | 3e 26 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 | >"std"</span>);.<span. |
| a20a0 | 63 6c 61 73 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 |
| a20c0 | 72 74 20 3d 20 73 74 64 2e 64 65 62 75 67 2e 61 73 73 65 72 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c | rt.=.std.debug.assert;..<span.cl |
| a20e0 | 61 73 73 3d 22 74 6f 6b 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 |
| a2100 | 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 61 73 73 65 72 74 20 69 6e 20 72 | lass="tok-str">"assert.in.r |
| a2120 | 65 6c 65 61 73 65 20 66 61 73 74 20 6d 6f 64 65 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a | elease.fast.mode"</span>.{. |
| a2140 | 20 20 20 20 61 73 73 65 72 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c | ....assert(<span.class="tok-null |
| a2160 | 22 3e 66 61 6c 73 65 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a | ">false</span>);.}</code></pre>. |
| a2180 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 63 6f 6d 70 69 6c 69 6e 67 20 74 | ......<p>.......When.compiling.t |
| a21a0 | 68 69 73 20 74 65 73 74 20 69 6e 20 3c 61 20 68 72 65 66 3d 22 23 52 65 6c 65 61 73 65 46 61 73 | his.test.in.<a.href="#ReleaseFas |
| a21c0 | 74 22 3e 52 65 6c 65 61 73 65 46 61 73 74 3c 2f 61 3e 20 6d 6f 64 65 2c 20 69 74 20 69 6e 76 6f | t">ReleaseFast</a>.mode,.it.invo |
| a21e0 | 6b 65 73 20 75 6e 63 68 65 63 6b 65 64 0a 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 55 6e | kes.unchecked.......<a.href="#Un |
| a2200 | 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 | defined-Behavior">Undefined.Beha |
| a2220 | 76 69 6f 72 3c 2f 61 3e 2e 20 53 69 6e 63 65 20 74 68 61 74 20 63 6f 75 6c 64 20 64 6f 20 61 6e | vior</a>..Since.that.could.do.an |
| a2240 | 79 74 68 69 6e 67 2c 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 | ything,.this.documentation...... |
| a2260 | 20 63 61 6e 6e 6f 74 20 73 68 6f 77 20 79 6f 75 20 74 68 65 20 6f 75 74 70 75 74 2e 0a 20 20 20 | .cannot.show.you.the.output..... |
| a2280 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 42 65 74 74 65 72 20 70 | ...</p>.......<p>.......Better.p |
| a22a0 | 72 61 63 74 69 63 65 20 66 6f 72 20 63 68 65 63 6b 69 6e 67 20 74 68 65 20 6f 75 74 70 75 74 20 | ractice.for.checking.the.output. |
| a22c0 | 77 68 65 6e 20 74 65 73 74 69 6e 67 20 69 73 20 74 6f 20 75 73 65 20 3c 63 6f 64 65 20 63 6c 61 | when.testing.is.to.use.<code.cla |
| a22e0 | 73 73 3d 22 7a 69 67 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 2e 65 78 70 65 63 74 3c 2f 63 6f 64 | ss="zig">std.testing.expect</cod |
| a2300 | 65 3e 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 | e>:.......</p>.......<p.class="f |
| a2320 | 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 | ile">test.zig</p><pre><code.clas |
| a2340 | 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | s="zig"><span.class="tok-kw">con |
| a2360 | 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 |
| a2380 | 2d 62 75 69 6c 74 69 6e 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 |
| a23a0 | 6c 61 73 73 3d 22 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">"std"</ |
| a23c0 | 73 70 61 6e 3e 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e | span>);.<span.class="tok-kw">con |
| a23e0 | 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 |
| a2400 | 78 70 65 63 74 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 65 73 | xpect;..<span.class="tok-kw">tes |
| a2420 | 74 3c 2f 73 70 61 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">& |
| a2440 | 71 75 6f 74 3b 61 73 73 65 72 74 20 69 6e 20 72 65 6c 65 61 73 65 20 66 61 73 74 20 6d 6f 64 65 | quot;assert.in.release.fast.mode |
| a2460 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 65 78 70 65 63 74 28 3c 73 70 61 6e | "</span>.{.....expect(<span |
| a2480 | 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>); |
| a24a0 | 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | .}</code></pre><pre><code.class= |
| a24c0 | 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 65 73 74 20 74 65 73 74 2e 7a 69 67 20 2d 2d 72 65 | "shell">$.zig.test.test.zig.--re |
| a24e0 | 6c 65 61 73 65 2d 66 61 73 74 0a 31 2f 31 20 74 65 73 74 20 26 71 75 6f 74 3b 61 73 73 65 72 74 | lease-fast.1/1.test."assert |
| a2500 | 20 69 6e 20 72 65 6c 65 61 73 65 20 66 61 73 74 20 6d 6f 64 65 26 71 75 6f 74 3b 2e 2e 2e 74 65 | .in.release.fast.mode"...te |
| a2520 | 73 74 20 66 61 69 6c 75 72 65 0a 0a 54 65 73 74 73 20 66 61 69 6c 65 64 2e 20 55 73 65 20 74 68 | st.failure..Tests.failed..Use.th |
| a2540 | 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 72 65 70 72 6f 64 75 63 65 | e.following.command.to.reproduce |
| a2560 | 20 74 68 65 20 66 61 69 6c 75 72 65 3a 0a 2f 64 65 70 73 2f 7a 69 67 2f 64 6f 63 67 65 6e 5f 74 | .the.failure:./deps/zig/docgen_t |
| a2580 | 6d 70 2f 74 65 73 74 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e | mp/test.</code></pre>........<p> |
| a25a0 | 53 65 65 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d | See.the.rest.of.the.<code.class= |
| a25c0 | 22 7a 69 67 22 3e 73 74 64 2e 74 65 73 74 69 6e 67 3c 2f 63 6f 64 65 3e 20 6e 61 6d 65 73 70 61 | "zig">std.testing</code>.namespa |
| a25e0 | 63 65 20 66 6f 72 20 6d 6f 72 65 20 61 76 61 69 6c 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 73 2e | ce.for.more.available.functions. |
| a2600 | 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 7a 69 67 20 74 | </p>.......<p>.......<code>zig.t |
| a2620 | 65 73 74 3c 2f 63 6f 64 65 3e 20 68 61 73 20 61 20 66 65 77 20 63 6f 6d 6d 61 6e 64 20 6c 69 6e | est</code>.has.a.few.command.lin |
| a2640 | 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 68 65 20 63 6f | e.parameters.which.affect.the.co |
| a2660 | 6d 70 69 6c 61 74 69 6f 6e 2e 20 53 65 65 0a 20 20 20 20 20 20 3c 63 6f 64 65 3e 7a 69 67 20 2d | mpilation..See.......<code>zig.- |
| a2680 | 2d 68 65 6c 70 3c 2f 63 6f 64 65 3e 20 66 6f 72 20 61 20 66 75 6c 6c 20 6c 69 73 74 2e 20 54 68 | -help</code>.for.a.full.list..Th |
| a26a0 | 65 20 6d 6f 73 74 20 69 6e 74 65 72 65 73 74 69 6e 67 20 6f 6e 65 20 69 73 20 3c 63 6f 64 65 3e | e.most.interesting.one.is.<code> |
| a26c0 | 2d 2d 74 65 73 74 2d 66 69 6c 74 65 72 20 5b 74 65 78 74 5d 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 | --test-filter.[text]</code>..... |
| a26e0 | 20 20 20 54 68 69 73 20 6d 61 6b 65 73 20 74 68 65 20 74 65 73 74 20 62 75 69 6c 64 20 6f 6e 6c | ...This.makes.the.test.build.onl |
| a2700 | 79 20 69 6e 63 6c 75 64 65 20 74 65 73 74 73 20 77 68 6f 73 65 20 6e 61 6d 65 20 63 6f 6e 74 61 | y.include.tests.whose.name.conta |
| a2720 | 69 6e 73 20 74 68 65 20 73 75 70 70 6c 69 65 64 20 66 69 6c 74 65 72 20 74 65 78 74 2e 0a 20 20 | ins.the.supplied.filter.text.... |
| a2740 | 20 20 20 20 41 67 61 69 6e 2c 20 74 68 61 6e 6b 73 20 74 6f 20 6c 61 7a 79 20 61 6e 61 6c 79 73 | ....Again,.thanks.to.lazy.analys |
| a2760 | 69 73 2c 20 74 68 69 73 20 63 61 6e 20 61 6c 6c 6f 77 20 79 6f 75 20 74 6f 20 6e 61 72 72 6f 77 | is,.this.can.allow.you.to.narrow |
| a2780 | 20 61 20 62 75 69 6c 64 20 74 6f 20 6f 6e 6c 79 20 61 20 66 65 77 20 66 75 6e 63 74 69 6f 6e 73 | .a.build.to.only.a.few.functions |
| a27a0 | 20 69 6e 0a 20 20 20 20 20 20 69 73 6f 6c 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | .in.......isolation........</p>. |
| a27c0 | 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 5a 69 67 2d 42 75 69 6c 64 2d 53 | .............<h1.id="Zig-Build-S |
| a27e0 | 79 73 74 65 6d 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 5a 69 67 2d 42 75 69 6c 64 2d 53 | ystem"><a.href="#toc-Zig-Build-S |
| a2800 | 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 20 3c 61 20 63 | ystem">Zig.Build.System</a>.<a.c |
| a2820 | 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 2d 53 79 73 74 | lass="hdr".href="#Zig-Build-Syst |
| a2840 | 65 6d 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 | em">..</a></h1>........<p>TODO:. |
| a2860 | 65 78 70 6c 61 69 6e 20 70 75 72 70 6f 73 65 2c 20 69 74 27 73 20 73 75 70 70 6f 73 65 64 20 74 | explain.purpose,.it's.supposed.t |
| a2880 | 6f 20 72 65 70 6c 61 63 65 20 6d 61 6b 65 2f 63 6d 61 6b 65 3c 2f 70 3e 0a 20 20 20 20 20 20 3c | o.replace.make/cmake</p>.......< |
| a28a0 | 70 3e 54 4f 44 4f 3a 20 65 78 61 6d 70 6c 65 20 6f 66 20 62 75 69 6c 64 69 6e 67 20 61 20 7a 69 | p>TODO:.example.of.building.a.zi |
| a28c0 | 67 20 65 78 65 63 75 74 61 62 6c 65 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 4f 44 4f 3a 20 | g.executable</p>.......<p>TODO:. |
| a28e0 | 65 78 61 6d 70 6c 65 20 6f 66 20 62 75 69 6c 64 69 6e 67 20 61 20 43 20 6c 69 62 72 61 72 79 3c | example.of.building.a.C.library< |
| a2900 | 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 43 22 3e 3c 61 20 68 | /p>..............<h1.id="C"><a.h |
| a2920 | 72 65 66 3d 22 23 74 6f 63 2d 43 22 3e 43 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 | ref="#toc-C">C</a>.<a.class="hdr |
| a2940 | 22 20 68 72 65 66 3d 22 23 43 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c | ".href="#C">..</a></h1>........< |
| a2960 | 70 3e 0a 20 20 20 20 20 20 41 6c 74 68 6f 75 67 68 20 5a 69 67 20 69 73 20 69 6e 64 65 70 65 6e | p>.......Although.Zig.is.indepen |
| a2980 | 64 65 6e 74 20 6f 66 20 43 2c 20 61 6e 64 2c 20 75 6e 6c 69 6b 65 20 6d 6f 73 74 20 6f 74 68 65 | dent.of.C,.and,.unlike.most.othe |
| a29a0 | 72 20 6c 61 6e 67 75 61 67 65 73 2c 20 64 6f 65 73 20 6e 6f 74 20 64 65 70 65 6e 64 20 6f 6e 20 | r.languages,.does.not.depend.on. |
| a29c0 | 6c 69 62 63 2c 0a 20 20 20 20 20 20 5a 69 67 20 61 63 6b 6e 6f 77 6c 65 64 67 65 73 20 74 68 65 | libc,.......Zig.acknowledges.the |
| a29e0 | 20 69 6d 70 6f 72 74 61 6e 63 65 20 6f 66 20 69 6e 74 65 72 61 63 74 69 6e 67 20 77 69 74 68 20 | .importance.of.interacting.with. |
| a2a00 | 65 78 69 73 74 69 6e 67 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 | existing.C.code........</p>..... |
| a2a20 | 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 79 73 | ..<p>.......There.are.a.few.ways |
| a2a40 | 20 74 68 61 74 20 5a 69 67 20 66 61 63 69 6c 69 74 61 74 65 73 20 43 20 69 6e 74 65 72 6f 70 2e | .that.Zig.facilitates.C.interop. |
| a2a60 | 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 2d 54 79 70 65 | .......</p>.......<h2.id="C-Type |
| a2a80 | 2d 50 72 69 6d 69 74 69 76 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 43 2d 54 79 70 | -Primitives"><a.href="#toc-C-Typ |
| a2aa0 | 65 2d 50 72 69 6d 69 74 69 76 65 73 22 3e 43 20 54 79 70 65 20 50 72 69 6d 69 74 69 76 65 73 3c | e-Primitives">C.Type.Primitives< |
| a2ac0 | 2f 61 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 79 70 65 | /a>.<a.class="hdr".href="#C-Type |
| a2ae0 | 2d 50 72 69 6d 69 74 69 76 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 | -Primitives">..</a></h2>........ |
| a2b00 | 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 68 61 76 65 20 67 75 61 72 61 6e 74 65 65 64 20 | <p>.......These.have.guaranteed. |
| a2b20 | 43 20 41 42 49 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 61 6e 64 20 63 61 6e 20 62 65 20 75 | C.ABI.compatibility.and.can.be.u |
| a2b40 | 73 65 64 20 6c 69 6b 65 20 61 6e 79 20 6f 74 68 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 3c | sed.like.any.other.type........< |
| a2b60 | 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 |
| a2b80 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| a2ba0 | 74 79 70 65 22 3e 63 5f 73 68 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e | type">c_short</span></code></li> |
| a2bc0 | 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | ...........<li><code.class="zig" |
| a2be0 | 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 73 68 6f 72 74 | ><span.class="tok-type">c_ushort |
| a2c00 | 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 |
| a2c20 | 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | i><code.class="zig"><span.class= |
| a2c40 | 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 69 6e 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f | "tok-type">c_int</span></code></ |
| a2c60 | 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | li>...........<li><code.class="z |
| a2c80 | 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 69 6e | ig"><span.class="tok-type">c_uin |
| a2ca0 | 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c | t</span></code></li>...........< |
| a2cc0 | 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 | li><code.class="zig"><span.class |
| a2ce0 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e | ="tok-type">c_long</span></code> |
| a2d00 | 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 20 63 6c 61 73 73 3d | </li>...........<li><code.class= |
| a2d20 | 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 75 | "zig"><span.class="tok-type">c_u |
| a2d40 | 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | long</span></code></li>......... |
| a2d60 | 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c | ..<li><code.class="zig"><span.cl |
| a2d80 | 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 6c 6f 6e 67 3c 2f 73 70 61 6e 3e | ass="tok-type">c_longlong</span> |
| a2da0 | 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 |
| a2dc0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 | .class="zig"><span.class="tok-ty |
| a2de0 | 70 65 22 3e 63 5f 75 6c 6f 6e 67 6c 6f 6e 67 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 3c 2f 6c | pe">c_ulonglong</span></code></l |
| a2e00 | 69 3e 0a 20 20 20 20 20 20 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 | i>...........<li><code.class="zi |
| a2e20 | 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 6c 6f 6e 67 | g"><span.class="tok-type">c_long |
| a2e40 | 64 6f 75 62 6c 65 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 | double</span></code></li>....... |
| a2e60 | 20 20 20 20 3c 6c 69 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 | ....<li><code.class="zig"><span. |
| a2e80 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 63 5f 76 6f 69 64 3c 2f 73 70 61 6e 3e 3c 2f | class="tok-type">c_void</span></ |
| a2ea0 | 63 6f 64 65 3e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e | code></li>.......</ul>.......<p> |
| a2ec0 | 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="# |
| a2ee0 | 50 72 69 6d 69 74 69 76 65 2d 54 79 70 65 73 22 3e 50 72 69 6d 69 74 69 76 65 20 54 79 70 65 73 | Primitive-Types">Primitive.Types |
| a2f00 | 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e 0a 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c | </a></li>.</ul>................< |
| a2f20 | 68 32 20 69 64 3d 22 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 | h2.id="Import-from-C-Header-File |
| a2f40 | 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 49 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 | "><a.href="#toc-Import-from-C-He |
| a2f60 | 61 64 65 72 2d 46 69 6c 65 22 3e 49 6d 70 6f 72 74 20 66 72 6f 6d 20 43 20 48 65 61 64 65 72 20 | ader-File">Import.from.C.Header. |
| a2f80 | 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 49 | File</a>.<a.class="hdr".href="#I |
| a2fa0 | 6d 70 6f 72 74 2d 66 72 6f 6d 2d 43 2d 48 65 61 64 65 72 2d 46 69 6c 65 22 3e c2 a7 3c 2f 61 3e | mport-from-C-Header-File">..</a> |
| a2fc0 | 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 | </h2>........<p>.......The.<code |
| a2fe0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 | .class="zig"><span.class="tok-bu |
| a3000 | 69 6c 74 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 62 75 | iltin">@cImport</span></code>.bu |
| a3020 | 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 20 20 20 20 20 | iltin.function.can.be.used...... |
| a3040 | 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 20 66 72 6f 6d | .to.directly.import.symbols.from |
| a3060 | 20 2e 68 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 70 20 63 | ..h.files:.......</p>.......<p.c |
| a3080 | 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f | lass="file">test.zig</p><pre><co |
| a30a0 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | de.class="zig"><span.class="tok- |
| a30c0 | 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 |
| a30e0 | 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 7b | ="tok-builtin">@cImport</span>({ |
| a3100 | 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f | .....<span.class="tok-comment">/ |
| a3120 | 2f 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 | /.See.https://github.com/ziglang |
| a3140 | 2f 7a 69 67 2f 69 73 73 75 65 73 2f 35 31 35 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e | /zig/issues/515</span>.....<span |
| a3160 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 | .class="tok-builtin">@cDefine</s |
| a3180 | 70 61 6e 3e 28 3c 73 70 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">" |
| a31a0 | 3b 5f 4e 4f 5f 43 52 54 5f 53 54 44 49 4f 5f 49 4e 4c 49 4e 45 26 71 75 6f 74 3b 3c 2f 73 70 61 | ;_NO_CRT_STDIO_INLINE"</spa |
| a31c0 | 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">" |
| a31e0 | 31 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | 1"</span>);.....<span.class |
| a3200 | 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 28 | ="tok-builtin">@cInclude</span>( |
| a3220 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 73 74 64 69 | <span.class="tok-str">"stdi |
| a3240 | 6f 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 29 3b 0a 3c 73 70 61 6e 20 63 6c 61 | o.h"</span>);.});.<span.cla |
| a3260 | 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 |
| a3280 | 73 73 3d 22 74 6f 6b 2d 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 |
| a32a0 | 73 3d 22 74 6f 6b 2d 66 6e 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 63 | s="tok-fn">main</span>().<span.c |
| a32c0 | 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 | lass="tok-type">void</span>.{... |
| a32e0 | 20 20 5f 20 3d 20 63 2e 70 72 69 6e 74 66 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | .._.=.c.printf(<span.class="tok- |
| a3300 | 73 74 72 22 3e 26 71 75 6f 74 3b 68 65 6c 6c 6f 5c 6e 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 | str">"hello\n"</span>) |
| a3320 | 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 | ;.}</code></pre><pre><code.class |
| a3340 | 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 74 65 73 74 2e 7a 69 | ="shell">$.zig.build-exe.test.zi |
| a3360 | 67 20 2d 6c 63 0a 24 20 2e 2f 74 65 73 74 0a 68 65 6c 6c 6f 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | g.-lc.$../test.hello.</code></pr |
| a3380 | 65 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 20 3c 63 6f 64 65 20 63 6c | e>........<p>.......The.<code.cl |
| a33a0 | 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 | ass="zig"><span.class="tok-built |
| a33c0 | 69 6e 22 3e 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 66 75 6e 63 74 | in">@cImport</span></code>.funct |
| a33e0 | 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 61 72 | ion.takes.an.expression.as.a.par |
| a3400 | 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 69 73 | ameter........This.expression.is |
| a3420 | 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 20 69 | .evaluated.at.compile-time.and.i |
| a3440 | 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 63 65 | s.used.to.control.......preproce |
| a3460 | 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 6c 74 | ssor.directives.and.include.mult |
| a3480 | 69 70 6c 65 20 2e 68 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 | iple..h.files:.......</p>....... |
| a34a0 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 | <pre><code.class="zig"><span.cla |
| a34c0 | 73 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 6e | ss="tok-kw">const</span>.builtin |
| a34e0 | 20 3d 20 3c 73 70 61 6e 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 |
| a3500 | 70 6f 72 74 3c 2f 73 70 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 |
| a3520 | 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 0a 0a | ">"builtin"</span>);.. |
| a3540 | 3c 73 70 61 6e 20 63 6c 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 |
| a3560 | 3e 20 63 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e | >.c.=.<span.class="tok-builtin"> |
| a3580 | 40 63 49 6d 70 6f 72 74 3c 2f 73 70 61 6e 3e 28 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | @cImport</span>({.....<span.clas |
| a35a0 | 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 44 65 66 69 6e 65 3c 2f 73 70 61 6e 3e 28 | s="tok-builtin">@cDefine</span>( |
| a35c0 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 4e 44 45 42 | <span.class="tok-str">"NDEB |
| a35e0 | 55 47 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 62 75 69 6c 74 69 6e 2e 6d 6f 64 65 20 3d 3d | UG"</span>,.builtin.mode.== |
| a3600 | 20 2e 52 65 6c 65 61 73 65 46 61 73 74 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | ..ReleaseFast);.....<span.class= |
| a3620 | 22 74 6f 6b 2d 6b 77 22 3e 69 66 3c 2f 73 70 61 6e 3e 20 28 73 6f 6d 65 74 68 69 6e 67 29 20 7b | "tok-kw">if</span>.(something).{ |
| a3640 | 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 | .........<span.class="tok-builti |
| a3660 | 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 3d 22 | n">@cDefine</span>(<span.class=" |
| a3680 | 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 6f 74 3b | tok-str">"_GNU_SOURCE" |
| a36a0 | 3c 2f 73 70 61 6e 3e 2c 20 7b 7d 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | </span>,.{});.....}.....<span.cl |
| a36c0 | 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 70 61 | ass="tok-builtin">@cInclude</spa |
| a36e0 | 6e 3e 28 3c 73 70 61 6e 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">"s |
| a3700 | 74 64 6c 69 62 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 3c 73 70 61 6e | tdlib.h"</span>);.....<span |
| a3720 | 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 65 74 | .class="tok-kw">if</span>.(somet |
| a3740 | 68 69 6e 67 29 20 7b 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | hing).{.........<span.class="tok |
| a3760 | 2d 62 75 69 6c 74 69 6e 22 3e 40 63 55 6e 64 65 66 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 | -builtin">@cUndef</span>(<span.c |
| a3780 | 6c 61 73 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 | lass="tok-str">"_GNU_SOURCE |
| a37a0 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 7d 0a 20 20 20 20 3c 73 70 61 6e 20 | "</span>);.....}.....<span. |
| a37c0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 69 6c 74 69 6e 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 73 | class="tok-builtin">@cInclude</s |
| a37e0 | 70 61 6e 3e 28 3c 73 70 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">" |
| a3800 | 3b 73 6f 75 6e 64 69 6f 2e 68 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 7d 29 3b 3c 2f 63 | ;soundio.h"</span>);.});</c |
| a3820 | 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 61 6c 73 6f 3a 3c 2f 70 | ode></pre>.......<p>See.also:</p |
| a3840 | 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6d 70 6f 72 74 22 3e 40 63 49 | ><ul>.<li><a.href="#cImport">@cI |
| a3860 | 6d 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 49 6e | mport</a></li>.<li><a.href="#cIn |
| a3880 | 63 6c 75 64 65 22 3e 40 63 49 6e 63 6c 75 64 65 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 | clude">@cInclude</a></li>.<li><a |
| a38a0 | 20 68 72 65 66 3d 22 23 63 44 65 66 69 6e 65 22 3e 40 63 44 65 66 69 6e 65 3c 2f 61 3e 3c 2f 6c | .href="#cDefine">@cDefine</a></l |
| a38c0 | 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 63 55 6e 64 65 66 22 3e 40 63 55 6e 64 65 66 | i>.<li><a.href="#cUndef">@cUndef |
| a38e0 | 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f 72 74 22 3e | </a></li>.<li><a.href="#import"> |
| a3900 | 40 69 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 0a | @import</a></li>.</ul>.......... |
| a3920 | 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 43 2d 50 6f 69 6e 74 65 72 73 22 3e 3c 61 20 68 72 65 | ......<h2.id="C-Pointers"><a.hre |
| a3940 | 66 3d 22 23 74 6f 63 2d 43 2d 50 6f 69 6e 74 65 72 73 22 3e 43 20 50 6f 69 6e 74 65 72 73 3c 2f | f="#toc-C-Pointers">C.Pointers</ |
| a3960 | 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 43 2d 50 6f 69 6e 74 | a>.<a.class="hdr".href="#C-Point |
| a3980 | 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 0a 20 20 20 20 | ers">..</a></h2>........<p>..... |
| a39a0 | 20 20 54 68 69 73 20 74 79 70 65 20 69 73 20 74 6f 20 62 65 20 61 76 6f 69 64 65 64 20 77 68 65 | ..This.type.is.to.be.avoided.whe |
| a39c0 | 6e 65 76 65 72 20 70 6f 73 73 69 62 6c 65 2e 20 54 68 65 20 6f 6e 6c 79 20 76 61 6c 69 64 20 72 | never.possible..The.only.valid.r |
| a39e0 | 65 61 73 6f 6e 20 66 6f 72 20 75 73 69 6e 67 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 73 20 69 | eason.for.using.a.C.pointer.is.i |
| a3a00 | 6e 0a 20 20 20 20 20 20 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 20 66 72 6f 6d | n.......auto-generated.code.from |
| a3a20 | 20 74 72 61 6e 73 6c 61 74 69 6e 67 20 43 20 63 6f 64 65 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a | .translating.C.code........</p>. |
| a3a40 | 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 57 68 65 6e 20 69 6d 70 6f 72 74 69 6e 67 20 43 | ......<p>.......When.importing.C |
| a3a60 | 20 68 65 61 64 65 72 20 66 69 6c 65 73 2c 20 69 74 20 69 73 20 61 6d 62 69 67 75 6f 75 73 20 77 | .header.files,.it.is.ambiguous.w |
| a3a80 | 68 65 74 68 65 72 20 70 6f 69 6e 74 65 72 73 20 73 68 6f 75 6c 64 20 62 65 20 74 72 61 6e 73 6c | hether.pointers.should.be.transl |
| a3aa0 | 61 74 65 64 20 61 73 0a 20 20 20 20 20 20 73 69 6e 67 6c 65 2d 69 74 65 6d 20 70 6f 69 6e 74 65 | ated.as.......single-item.pointe |
| a3ac0 | 72 73 20 28 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 2a 54 3c 2f 63 6f 64 65 3e 29 | rs.(<code.class="zig">*T</code>) |
| a3ae0 | 20 6f 72 20 75 6e 6b 6e 6f 77 6e 2d 6c 65 6e 67 74 68 20 70 6f 69 6e 74 65 72 73 20 28 3c 63 6f | .or.unknown-length.pointers.(<co |
| a3b00 | 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 5b 2a 5d 54 3c 2f 63 6f 64 65 3e 29 2e 0a 20 20 20 | de.class="zig">[*]T</code>)..... |
| a3b20 | 20 20 20 43 20 70 6f 69 6e 74 65 72 73 20 61 72 65 20 61 20 63 6f 6d 70 72 6f 6d 69 73 65 20 73 | ...C.pointers.are.a.compromise.s |
| a3b40 | 6f 20 74 68 61 74 20 5a 69 67 20 63 6f 64 65 20 63 61 6e 20 75 74 69 6c 69 7a 65 20 74 72 61 6e | o.that.Zig.code.can.utilize.tran |
| a3b60 | 73 6c 61 74 65 64 20 68 65 61 64 65 72 20 66 69 6c 65 73 20 64 69 72 65 63 74 6c 79 2e 0a 20 20 | slated.header.files.directly.... |
| a3b80 | 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a | ....</p>.......<p><code.class="z |
| a3ba0 | 69 67 22 3e 5b 2a 63 5d 54 3c 2f 63 6f 64 65 3e 20 2d 20 43 20 70 6f 69 6e 74 65 72 2e 3c 2f 70 | ig">[*c]T</code>.-.C.pointer.</p |
| a3bc0 | 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 70 70 6f 72 74 | >.......<ul>.........<li>Support |
| a3be0 | 73 20 61 6c 6c 20 74 68 65 20 73 79 6e 74 61 78 20 6f 66 20 74 68 65 20 6f 74 68 65 72 20 74 77 | s.all.the.syntax.of.the.other.tw |
| a3c00 | 6f 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c | o.pointer.types.</li>.........<l |
| a3c20 | 69 3e 43 6f 65 72 63 65 73 20 74 6f 20 6f 74 68 65 72 20 70 6f 69 6e 74 65 72 20 74 79 70 65 73 | i>Coerces.to.other.pointer.types |
| a3c40 | 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 3c 61 20 68 72 65 66 3d 22 23 4f 70 74 69 6f 6e 61 6c 2d | ,.as.well.as.<a.href="#Optional- |
| a3c60 | 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 2e | Pointers">Optional.Pointers</a>. |
| a3c80 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 57 68 65 6e 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 73 | .............When.a.C.pointer.is |
| a3ca0 | 20 63 6f 65 72 63 65 64 20 74 6f 20 61 20 6e 6f 6e 2d 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 | .coerced.to.a.non-optional.point |
| a3cc0 | 65 72 2c 20 73 61 66 65 74 79 2d 63 68 65 63 6b 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c | er,.safety-checked.............< |
| a3ce0 | 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 | a.href="#Undefined-Behavior">Und |
| a3d00 | 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c 2f 61 3e 20 6f 63 63 75 72 73 20 69 66 20 74 68 | efined.Behavior</a>.occurs.if.th |
| a3d20 | 65 20 61 64 64 72 65 73 73 20 69 73 20 30 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 | e.address.is.0..........</li>... |
| a3d40 | 20 20 20 20 20 20 3c 6c 69 3e 41 6c 6c 6f 77 73 20 61 64 64 72 65 73 73 20 30 2e 20 4f 6e 20 6e | ......<li>Allows.address.0..On.n |
| a3d60 | 6f 6e 2d 66 72 65 65 73 74 61 6e 64 69 6e 67 20 74 61 72 67 65 74 73 2c 20 64 65 72 65 66 65 72 | on-freestanding.targets,.derefer |
| a3d80 | 65 6e 63 69 6e 67 20 61 64 64 72 65 73 73 20 30 20 69 73 20 73 61 66 65 74 79 2d 63 68 65 63 6b | encing.address.0.is.safety-check |
| a3da0 | 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 61 20 68 72 65 66 3d 22 23 55 6e 64 65 66 69 6e | ed.............<a.href="#Undefin |
| a3dc0 | 65 64 2d 42 65 68 61 76 69 6f 72 22 3e 55 6e 64 65 66 69 6e 65 64 20 42 65 68 61 76 69 6f 72 3c | ed-Behavior">Undefined.Behavior< |
| a3de0 | 2f 61 3e 2e 20 4f 70 74 69 6f 6e 61 6c 20 43 20 70 6f 69 6e 74 65 72 73 20 69 6e 74 72 6f 64 75 | /a>..Optional.C.pointers.introdu |
| a3e00 | 63 65 20 61 6e 6f 74 68 65 72 20 62 69 74 20 74 6f 20 6b 65 65 70 20 74 72 61 63 6b 20 6f 66 0a | ce.another.bit.to.keep.track.of. |
| a3e20 | 20 20 20 20 20 20 20 20 20 20 20 20 6e 75 6c 6c 2c 20 6a 75 73 74 20 6c 69 6b 65 20 3c 63 6f 64 | ............null,.just.like.<cod |
| a3e40 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3f 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | e.class="zig">?<span.class="tok- |
| a3e60 | 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2e 20 4e 6f 74 65 20 | type">usize</span></code>..Note. |
| a3e80 | 74 68 61 74 20 63 72 65 61 74 69 6e 67 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 43 20 70 6f 69 6e | that.creating.an.optional.C.poin |
| a3ea0 | 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 73 20 75 6e 6e 65 63 65 73 73 61 72 79 20 61 | ter.............is.unnecessary.a |
| a3ec0 | 73 20 6f 6e 65 20 63 61 6e 20 75 73 65 20 6e 6f 72 6d 61 6c 20 3c 61 20 68 72 65 66 3d 22 23 4f | s.one.can.use.normal.<a.href="#O |
| a3ee0 | 70 74 69 6f 6e 61 6c 2d 50 6f 69 6e 74 65 72 73 22 3e 4f 70 74 69 6f 6e 61 6c 20 50 6f 69 6e 74 | ptional-Pointers">Optional.Point |
| a3f00 | 65 72 73 3c 2f 61 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c | ers</a>..........</li>.........< |
| a3f20 | 6c 69 3e 53 75 70 70 6f 72 74 73 20 3c 61 20 68 72 65 66 3d 22 23 54 79 70 65 2d 43 6f 65 72 63 | li>Supports.<a.href="#Type-Coerc |
| a3f40 | 69 6f 6e 22 3e 54 79 70 65 20 43 6f 65 72 63 69 6f 6e 3c 2f 61 3e 20 74 6f 20 61 6e 64 20 66 72 | ion">Type.Coercion</a>.to.and.fr |
| a3f60 | 6f 6d 20 69 6e 74 65 67 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 53 75 | om.integers.</li>.........<li>Su |
| a3f80 | 70 70 6f 72 74 73 20 63 6f 6d 70 61 72 69 73 6f 6e 20 77 69 74 68 20 69 6e 74 65 67 65 72 73 2e | pports.comparison.with.integers. |
| a3fa0 | 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 44 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f | </li>.........<li>Does.not.suppo |
| a3fc0 | 72 74 20 5a 69 67 2d 6f 6e 6c 79 20 70 6f 69 6e 74 65 72 20 61 74 74 72 69 62 75 74 65 73 20 73 | rt.Zig-only.pointer.attributes.s |
| a3fe0 | 75 63 68 20 61 73 20 61 6c 69 67 6e 6d 65 6e 74 2e 20 55 73 65 20 6e 6f 72 6d 61 6c 20 3c 61 20 | uch.as.alignment..Use.normal.<a. |
| a4000 | 68 72 65 66 3d 22 23 50 6f 69 6e 74 65 72 73 22 3e 50 6f 69 6e 74 65 72 73 3c 2f 61 3e 0a 20 20 | href="#Pointers">Pointers</a>... |
| a4020 | 20 20 20 20 20 20 70 6c 65 61 73 65 21 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 | ......please!</li>.......</ul>.. |
| a4040 | 20 20 20 20 20 3c 70 3e 57 68 65 6e 20 61 20 43 20 70 6f 69 6e 74 65 72 20 69 73 20 70 6f 69 6e | .....<p>When.a.C.pointer.is.poin |
| a4060 | 74 69 6e 67 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 73 74 72 75 63 74 20 28 6e 6f 74 20 61 6e 20 | ting.to.a.single.struct.(not.an. |
| a4080 | 61 72 72 61 79 29 2c 20 64 65 66 65 72 65 6e 63 65 20 74 68 65 20 43 20 70 6f 69 6e 74 65 72 20 | array),.deference.the.C.pointer. |
| a40a0 | 74 6f 0a 20 20 20 20 20 20 20 20 61 63 63 65 73 73 20 74 6f 20 74 68 65 20 73 74 72 75 63 74 27 | to.........access.to.the.struct' |
| a40c0 | 73 20 66 69 65 6c 64 73 20 6f 72 20 6d 65 6d 62 65 72 20 64 61 74 61 2e 20 54 68 61 74 20 73 79 | s.fields.or.member.data..That.sy |
| a40e0 | 6e 74 61 78 20 6c 6f 6f 6b 73 20 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 74 68 69 73 3a 20 3c 2f | ntax.looks.like.........this:.</ |
| a4100 | 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e | p>.........<p><code.class="zig"> |
| a4120 | 70 74 72 5f 74 6f 5f 73 74 72 75 63 74 2e 2a 2e 73 74 72 75 63 74 5f 6d 65 6d 62 65 72 3c 2f 63 | ptr_to_struct.*.struct_member</c |
| a4140 | 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 20 20 3c 70 3e 54 68 69 73 20 69 73 20 63 6f 6d 70 | ode></p>.........<p>This.is.comp |
| a4160 | 61 72 61 62 6c 65 20 74 6f 20 64 6f 69 6e 67 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | arable.to.doing.<code.class="zig |
| a4180 | 22 3e 2d 26 67 74 3b 3c 2f 63 6f 64 65 3e 20 69 6e 20 43 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 20 | ">-></code>.in.C.</p>........ |
| a41a0 | 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 70 6f 69 6e 74 69 6e | .<p>.When.a.C.pointer.is.pointin |
| a41c0 | 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 20 74 68 65 20 73 79 | g.to.an.array.of.structs,.the.sy |
| a41e0 | 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 0a 20 20 20 20 20 20 | ntax.reverts.to.this:</p>....... |
| a4200 | 20 20 3c 70 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 70 74 72 5f 74 6f 5f 73 74 | ..<p><code.class="zig">ptr_to_st |
| a4220 | 72 75 63 74 5f 61 72 72 61 79 5b 69 6e 64 65 78 5d 2e 73 74 72 75 63 74 5f 6d 65 6d 62 65 72 3c | ruct_array[index].struct_member< |
| a4240 | 2f 63 6f 64 65 3e 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d | /code></p>...............<h2.id= |
| a4260 | 22 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 3c 61 20 68 72 65 66 3d | "Exporting-a-C-Library"><a.href= |
| a4280 | 22 23 74 6f 63 2d 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 72 79 22 3e 45 78 70 | "#toc-Exporting-a-C-Library">Exp |
| a42a0 | 6f 72 74 69 6e 67 20 61 20 43 20 4c 69 62 72 61 72 79 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d | orting.a.C.Library</a>.<a.class= |
| a42c0 | 22 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 70 6f 72 74 69 6e 67 2d 61 2d 43 2d 4c 69 62 72 61 | "hdr".href="#Exporting-a-C-Libra |
| a42e0 | 72 79 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 | ry">..</a></h2>........<p>...... |
| a4300 | 20 4f 6e 65 20 6f 66 20 74 68 65 20 70 72 69 6d 61 72 79 20 75 73 65 20 63 61 73 65 73 20 66 6f | .One.of.the.primary.use.cases.fo |
| a4320 | 72 20 5a 69 67 20 69 73 20 65 78 70 6f 72 74 69 6e 67 20 61 20 6c 69 62 72 61 72 79 20 77 69 74 | r.Zig.is.exporting.a.library.wit |
| a4340 | 68 20 74 68 65 20 43 20 41 42 49 20 66 6f 72 20 6f 74 68 65 72 20 70 72 6f 67 72 61 6d 6d 69 6e | h.the.C.ABI.for.other.programmin |
| a4360 | 67 20 6c 61 6e 67 75 61 67 65 73 0a 20 20 20 20 20 20 74 6f 20 63 61 6c 6c 20 69 6e 74 6f 2e 20 | g.languages.......to.call.into.. |
| a4380 | 54 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | The.<code.class="zig"><span.clas |
| a43a0 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 20 | s="tok-kw">export</span></code>. |
| a43c0 | 6b 65 79 77 6f 72 64 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 2c 20 76 | keyword.in.front.of.functions,.v |
| a43e0 | 61 72 69 61 62 6c 65 73 2c 20 61 6e 64 20 74 79 70 65 73 20 63 61 75 73 65 73 20 74 68 65 6d 20 | ariables,.and.types.causes.them. |
| a4400 | 74 6f 0a 20 20 20 20 20 20 62 65 20 70 61 72 74 20 6f 66 20 74 68 65 20 6c 69 62 72 61 72 79 20 | to.......be.part.of.the.library. |
| a4420 | 41 50 49 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 | API:.......</p>.......<p.class=" |
| a4440 | 66 69 6c 65 22 3e 6d 61 74 68 74 65 73 74 2e 7a 69 67 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 | file">mathtest.zig</p>.......<pr |
| a4460 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e><code.class="zig"><span.class= |
| a4480 | 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 61 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 | "tok-kw">export</span>.<span.cla |
| a44a0 | 73 73 3d 22 74 6f 6b 2d 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 |
| a44c0 | 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c 73 70 61 6e 20 63 | s="tok-fn">add</span>(a:.<span.c |
| a44e0 | 6c 61 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 | lass="tok-type">i32</span>,.b:.< |
| a4500 | 73 70 61 6e 20 63 6c 61 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> |
| a4520 | 29 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 |
| a4540 | 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 | an>.{.....<span.class="tok-kw">r |
| a4560 | 65 74 75 72 6e 3c 2f 73 70 61 6e 3e 20 61 20 2b 20 62 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 | eturn</span>.a.+.b;.}</code></pr |
| a4580 | 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 6d 61 6b 65 20 61 20 73 74 61 74 69 63 20 6c 69 62 | e>.......<p>To.make.a.static.lib |
| a45a0 | 72 61 72 79 3a 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 | rary:</p>.......<pre><code.class |
| a45c0 | 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 6c 69 62 20 6d 61 74 68 74 65 73 | ="shell">$.zig.build-lib.mathtes |
| a45e0 | 74 2e 7a 69 67 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 54 6f 20 | t.zig.</code></pre>.......<p>To. |
| a4600 | 6d 61 6b 65 20 61 20 73 68 61 72 65 64 20 6c 69 62 72 61 72 79 3a 3c 2f 70 3e 0a 20 20 20 20 20 | make.a.shared.library:</p>...... |
| a4620 | 20 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 | .<pre><code.class="shell">$.zig. |
| a4640 | 62 75 69 6c 64 2d 6c 69 62 20 6d 61 74 68 74 65 73 74 2e 7a 69 67 20 2d 64 79 6e 61 6d 69 63 0a | build-lib.mathtest.zig.-dynamic. |
| a4660 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 3e 48 65 72 65 20 69 73 20 61 | </code></pre>.......<p>Here.is.a |
| a4680 | 6e 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 74 68 65 20 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 | n.example.with.the.<a.href="#Zig |
| a46a0 | 2d 42 75 69 6c 64 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c | -Build-System">Zig.Build.System< |
| a46c0 | 2f 61 3e 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 | /a>:</p>.......<p.class="file">t |
| a46e0 | 65 73 74 2e 63 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 | est.c</p>.......<pre><code.class |
| a4700 | 3d 22 63 70 70 22 3e 2f 2f 20 54 68 69 73 20 68 65 61 64 65 72 20 69 73 20 67 65 6e 65 72 61 74 | ="cpp">//.This.header.is.generat |
| a4720 | 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 0a 23 69 6e 63 | ed.by.zig.from.mathtest.zig.#inc |
| a4740 | 6c 75 64 65 20 22 6d 61 74 68 74 65 73 74 2e 68 22 0a 23 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 | lude."mathtest.h".#include.<s |
| a4760 | 74 64 69 6f 2e 68 26 67 74 3b 0a 0a 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 61 72 67 63 2c 20 63 | tdio.h>..int.main(int.argc,.c |
| a4780 | 68 61 72 20 2a 2a 61 72 67 76 29 20 7b 0a 20 20 20 20 69 6e 74 33 32 5f 74 20 72 65 73 75 6c 74 | har.**argv).{.....int32_t.result |
| a47a0 | 20 3d 20 61 64 64 28 34 32 2c 20 31 33 33 37 29 3b 0a 20 20 20 20 70 72 69 6e 74 66 28 22 25 64 | .=.add(42,.1337);.....printf("%d |
| a47c0 | 5c 6e 22 2c 20 72 65 73 75 6c 74 29 3b 0a 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0a 7d 3c 2f 63 | \n",.result);.....return.0;.}</c |
| a47e0 | 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 | ode></pre>.......<p.class="file" |
| a4800 | 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 20 | >build.zig</p>.......<pre><code. |
| a4820 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 | class="zig"><span.class="tok-kw" |
| a4840 | 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 63 6c | >const</span>.Builder.=.<span.cl |
| a4860 | 61 73 73 3d 22 74 6f 6b 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> |
| a4880 | 28 3c 73 70 61 6e 20 63 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">"std |
| a48a0 | 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 0a 0a 3c | "</span>).build.Builder;..< |
| a48c0 | 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>.< |
| a48e0 | 73 70 61 6e 20 63 6c 61 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 |
| a4900 | 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 3e 28 | pan.class="tok-fn">build</span>( |
| a4920 | 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 74 79 | b:.*Builder).<span.class="tok-ty |
| a4940 | 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 | pe">void</span>.{.....<span.clas |
| a4960 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 6c 69 62 20 3d 20 62 2e | s="tok-kw">const</span>.lib.=.b. |
| a4980 | 61 64 64 53 68 61 72 65 64 4c 69 62 72 61 72 79 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | addSharedLibrary(<span.class="to |
| a49a0 | 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 6d 61 74 68 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 | k-str">"mathtest"</spa |
| a49c0 | 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">" |
| a49e0 | 6d 61 74 68 74 65 73 74 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 62 2e 76 65 72 | mathtest.zig"</span>,.b.ver |
| a4a00 | 73 69 6f 6e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 31 3c | sion(<span.class="tok-number">1< |
| a4a20 | 2f 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" |
| a4a40 | 3e 30 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 | >0</span>,.<span.class="tok-numb |
| a4a60 | 65 72 22 3e 30 3c 2f 73 70 61 6e 3e 29 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 | er">0</span>));......<span.class |
| a4a80 | 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 65 78 65 20 3d 20 62 2e 61 | ="tok-kw">const</span>.exe.=.b.a |
| a4aa0 | 64 64 45 78 65 63 75 74 61 62 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 | ddExecutable(<span.class="tok-st |
| a4ac0 | 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 70 61 | r">"test"</span>,.<spa |
| a4ae0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6c 6c 22 3e 6e 75 6c 6c 3c 2f 73 70 61 6e 3e 29 3b | n.class="tok-null">null</span>); |
| a4b00 | 0a 20 20 20 20 65 78 65 2e 61 64 64 43 53 6f 75 72 63 65 46 69 6c 65 28 3c 73 70 61 6e 20 63 6c | .....exe.addCSourceFile(<span.cl |
| a4b20 | 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 2e 63 26 71 75 6f 74 3b | ass="tok-str">"test.c" |
| a4b40 | 3c 2f 73 70 61 6e 3e 2c 20 26 61 6d 70 3b 5b 5f 5d 5b 5d 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | </span>,.&[_][]<span.class=" |
| a4b60 | 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 |
| a4b80 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 3c 73 70 61 6e 20 63 6c 61 73 | ="tok-type">u8</span>{<span.clas |
| a4ba0 | 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2d 73 74 64 3d 63 39 39 26 71 75 6f 74 3b | s="tok-str">"-std=c99" |
| a4bc0 | 3c 2f 73 70 61 6e 3e 7d 29 3b 0a 20 20 20 20 65 78 65 2e 6c 69 6e 6b 4c 69 62 72 61 72 79 28 6c | </span>});.....exe.linkLibrary(l |
| a4be0 | 69 62 29 3b 0a 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 | ib);.....exe.linkSystemLibrary(< |
| a4c00 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 63 26 71 75 6f | span.class="tok-str">"c&quo |
| a4c20 | 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 62 2e 64 65 66 61 75 6c 74 5f 73 74 65 70 2e | t;</span>);......b.default_step. |
| a4c40 | 64 65 70 65 6e 64 4f 6e 28 26 61 6d 70 3b 65 78 65 2e 73 74 65 70 29 3b 0a 0a 20 20 20 20 3c 73 | dependOn(&exe.step);......<s |
| a4c60 | 70 61 6e 20 63 6c 61 73 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>. |
| a4c80 | 72 75 6e 5f 63 6d 64 20 3d 20 65 78 65 2e 72 75 6e 28 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 | run_cmd.=.exe.run();......<span. |
| a4ca0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 74 65 73 74 | class="tok-kw">const</span>.test |
| a4cc0 | 5f 73 74 65 70 20 3d 20 62 2e 73 74 65 70 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | _step.=.b.step(<span.class="tok- |
| a4ce0 | 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 3c 73 | str">"test"</span>,.<s |
| a4d00 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 54 65 73 74 20 74 | pan.class="tok-str">"Test.t |
| a4d20 | 68 65 20 70 72 6f 67 72 61 6d 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 74 65 | he.program"</span>);.....te |
| a4d40 | 73 74 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 | st_step.dependOn(&run_cmd.st |
| a4d60 | 65 70 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 | ep);.}</code></pre>.......<p.cla |
| a4d80 | 73 73 3d 22 66 69 6c 65 22 3e 74 65 72 6d 69 6e 61 6c 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 | ss="file">terminal</p>.......<pr |
| a4da0 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c | e><code.class="shell">$.zig.buil |
| a4dc0 | 64 20 74 65 73 74 0a 31 33 37 39 0a 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 | d.test.1379.</code></pre>....... |
| a4de0 | 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 |
| a4e00 | 3d 22 23 65 78 70 6f 72 74 22 3e 65 78 70 6f 72 74 3c 2f 61 3e 3c 2f 6c 69 3e 0a 3c 2f 75 6c 3e | ="#export">export</a></li>.</ul> |
| a4e20 | 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4d 69 78 69 6e 67 2d 4f 62 | ...............<h2.id="Mixing-Ob |
| a4e40 | 6a 65 63 74 2d 46 69 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4d 69 78 69 6e 67 | ject-Files"><a.href="#toc-Mixing |
| a4e60 | 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 69 6c | -Object-Files">Mixing.Object.Fil |
| a4e80 | 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 4d 69 78 | es</a>.<a.class="hdr".href="#Mix |
| a4ea0 | 69 6e 67 2d 4f 62 6a 65 63 74 2d 46 69 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 | ing-Object-Files">..</a></h2>... |
| a4ec0 | 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 59 6f 75 20 63 61 6e 20 6d 69 78 20 5a 69 67 20 6f | .....<p>.......You.can.mix.Zig.o |
| a4ee0 | 62 6a 65 63 74 20 66 69 6c 65 73 20 77 69 74 68 20 61 6e 79 20 6f 74 68 65 72 20 6f 62 6a 65 63 | bject.files.with.any.other.objec |
| a4f00 | 74 20 66 69 6c 65 73 20 74 68 61 74 20 72 65 73 70 65 63 74 20 74 68 65 20 43 20 41 42 49 2e 20 | t.files.that.respect.the.C.ABI.. |
| a4f20 | 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 70 20 63 6c 61 | Example:.......</p>.......<p.cla |
| a4f40 | 73 73 3d 22 66 69 6c 65 22 3e 62 61 73 65 36 34 2e 7a 69 67 3c 2f 70 3e 0a 20 20 20 20 20 20 3c | ss="file">base64.zig</p>.......< |
| a4f60 | 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 | pre><code.class="zig"><span.clas |
| a4f80 | 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 61 73 65 36 34 20 3d | s="tok-kw">const</span>.base64.= |
| a4fa0 | 20 3c 73 70 61 6e 20 63 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 |
| a4fc0 | 72 74 3c 2f 73 70 61 6e 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"> |
| a4fe0 | 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 36 34 3b 0a | "std"</span>).base64;. |
| a5000 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 65 78 70 6f 72 74 3c 2f 73 70 | .<span.class="tok-kw">export</sp |
| a5020 | 61 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 |
| a5040 | 6e 3e 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 64 65 63 6f 64 65 5f 62 | n>.<span.class="tok-fn">decode_b |
| a5060 | 61 73 65 5f 36 34 3c 2f 73 70 61 6e 3e 28 0a 20 20 20 20 64 65 73 74 5f 70 74 72 3a 20 5b 2a 5d | ase_64</span>(.....dest_ptr:.[*] |
| a5080 | 3c 73 70 61 6e 20 63 6c 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> |
| a50a0 | 2c 0a 20 20 20 20 64 65 73 74 5f 6c 65 6e 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | ,.....dest_len:.<span.class="tok |
| a50c0 | 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 73 6f 75 72 63 65 5f | -type">usize</span>,.....source_ |
| a50e0 | 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 77 22 3e 63 6f 6e | ptr:.[*]<span.class="tok-kw">con |
| a5100 | 73 74 3c 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" |
| a5120 | 3e 75 38 3c 2f 73 70 61 6e 3e 2c 0a 20 20 20 20 73 6f 75 72 63 65 5f 6c 65 6e 3a 20 3c 73 70 61 | >u8</span>,.....source_len:.<spa |
| a5140 | 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>, |
| a5160 | 0a 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c | .).<span.class="tok-type">usize< |
| a5180 | 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | /span>.{.....<span.class="tok-kw |
| a51a0 | 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 73 72 63 20 3d 20 73 6f 75 72 63 65 5f 70 74 72 5b | ">const</span>.src.=.source_ptr[ |
| a51c0 | 3c 73 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 |
| a51e0 | 3e 2e 2e 73 6f 75 72 63 65 5f 6c 65 6e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d | >..source_len];.....<span.class= |
| a5200 | 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 65 73 74 20 3d 20 64 65 73 | "tok-kw">const</span>.dest.=.des |
| a5220 | 74 5f 70 74 72 5b 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 30 | t_ptr[<span.class="tok-number">0 |
| a5240 | 3c 2f 73 70 61 6e 3e 2e 2e 64 65 73 74 5f 6c 65 6e 5d 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c | </span>..dest_len];.....<span.cl |
| a5260 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 62 61 73 65 36 34 | ass="tok-kw">const</span>.base64 |
| a5280 | 5f 64 65 63 6f 64 65 72 20 3d 20 62 61 73 65 36 34 2e 73 74 61 6e 64 61 72 64 5f 64 65 63 6f 64 | _decoder.=.base64.standard_decod |
| a52a0 | 65 72 5f 75 6e 73 61 66 65 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | er_unsafe;.....<span.class="tok- |
| a52c0 | 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 64 65 63 6f 64 65 64 5f 73 69 7a 65 20 3d 20 | kw">const</span>.decoded_size.=. |
| a52e0 | 62 61 73 65 36 34 5f 64 65 63 6f 64 65 72 2e 63 61 6c 63 53 69 7a 65 28 73 72 63 29 3b 0a 20 20 | base64_decoder.calcSize(src);... |
| a5300 | 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 65 73 74 5b 3c 73 70 | ..base64_decoder.decode(dest[<sp |
| a5320 | 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>.. |
| a5340 | 64 65 63 6f 64 65 64 5f 73 69 7a 65 5d 2c 20 73 72 63 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 | decoded_size],.src);.....<span.c |
| a5360 | 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 64 65 63 6f | lass="tok-kw">return</span>.deco |
| a5380 | 64 65 64 5f 73 69 7a 65 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c | ded_size;.}</code></pre>.......< |
| a53a0 | 70 20 63 6c 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 73 74 2e 63 3c 2f 70 3e 0a 20 20 20 20 20 20 | p.class="file">test.c</p>....... |
| a53c0 | 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 63 70 70 22 3e 2f 2f 20 54 68 69 73 20 68 | <pre><code.class="cpp">//.This.h |
| a53e0 | 65 61 64 65 72 20 69 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 7a 69 67 20 66 72 6f 6d 20 62 | eader.is.generated.by.zig.from.b |
| a5400 | 61 73 65 36 34 2e 7a 69 67 0a 23 69 6e 63 6c 75 64 65 20 22 62 61 73 65 36 34 2e 68 22 0a 0a 23 | ase64.zig.#include."base64.h"..# |
| a5420 | 69 6e 63 6c 75 64 65 20 26 6c 74 3b 73 74 72 69 6e 67 2e 68 26 67 74 3b 0a 23 69 6e 63 6c 75 64 | include.<string.h>.#includ |
| a5440 | 65 20 26 6c 74 3b 73 74 64 69 6f 2e 68 26 67 74 3b 0a 0a 69 6e 74 20 6d 61 69 6e 28 69 6e 74 20 | e.<stdio.h>..int.main(int. |
| a5460 | 61 72 67 63 2c 20 63 68 61 72 20 2a 2a 61 72 67 76 29 20 7b 0a 20 20 20 20 63 6f 6e 73 74 20 63 | argc,.char.**argv).{.....const.c |
| a5480 | 68 61 72 20 2a 65 6e 63 6f 64 65 64 20 3d 20 22 59 57 78 73 49 48 6c 76 64 58 49 67 59 6d 46 7a | har.*encoded.=."YWxsIHlvdXIgYmFz |
| a54a0 | 5a 53 42 68 63 6d 55 67 59 6d 56 73 62 32 35 6e 49 48 52 76 49 48 56 7a 22 3b 0a 20 20 20 20 63 | ZSBhcmUgYmVsb25nIHRvIHVz";.....c |
| a54c0 | 68 61 72 20 62 75 66 5b 32 30 30 5d 3b 0a 0a 20 20 20 20 73 69 7a 65 5f 74 20 6c 65 6e 20 3d 20 | har.buf[200];......size_t.len.=. |
| a54e0 | 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 65 64 | decode_base_64(buf,.200,.encoded |
| a5500 | 2c 20 73 74 72 6c 65 6e 28 65 6e 63 6f 64 65 64 29 29 3b 0a 20 20 20 20 62 75 66 5b 6c 65 6e 5d | ,.strlen(encoded));.....buf[len] |
| a5520 | 20 3d 20 30 3b 0a 20 20 20 20 70 75 74 73 28 62 75 66 29 3b 0a 0a 20 20 20 20 72 65 74 75 72 6e | .=.0;.....puts(buf);......return |
| a5540 | 20 30 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 | .0;.}</code></pre>.......<p.clas |
| a5560 | 73 3d 22 66 69 6c 65 22 3e 62 75 69 6c 64 2e 7a 69 67 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 72 | s="file">build.zig</p>.......<pr |
| a5580 | 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d | e><code.class="zig"><span.class= |
| a55a0 | 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 42 75 69 6c 64 65 72 20 3d 20 | "tok-kw">const</span>.Builder.=. |
| a55c0 | 3c 73 70 61 6e 20 63 6c 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 |
| a55e0 | 74 3c 2f 73 70 61 6e 3e 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">& |
| a5600 | 71 75 6f 74 3b 73 74 64 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 2e 62 75 69 6c 64 2e 42 75 69 | quot;std"</span>).build.Bui |
| a5620 | 6c 64 65 72 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 70 75 62 3c | lder;..<span.class="tok-kw">pub< |
| a5640 | 2f 73 70 61 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</ |
| a5660 | 73 70 61 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 | span>.<span.class="tok-fn">build |
| a5680 | 3c 2f 73 70 61 6e 3e 28 62 3a 20 2a 42 75 69 6c 64 65 72 29 20 3c 73 70 61 6e 20 63 6c 61 73 73 | </span>(b:.*Builder).<span.class |
| a56a0 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 | ="tok-type">void</span>.{.....<s |
| a56c0 | 70 61 6e 20 63 6c 61 73 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>. |
| a56e0 | 6f 62 6a 20 3d 20 62 2e 61 64 64 4f 62 6a 65 63 74 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | obj.=.b.addObject(<span.class="t |
| a5700 | 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 62 61 73 65 36 34 26 71 75 6f 74 3b 3c 2f 73 70 61 6e | ok-str">"base64"</span |
| a5720 | 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 62 | >,.<span.class="tok-str">"b |
| a5740 | 61 73 65 36 34 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 20 20 20 20 3c 73 | ase64.zig"</span>);......<s |
| a5760 | 70 61 6e 20 63 6c 61 73 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>. |
| a5780 | 65 78 65 20 3d 20 62 2e 61 64 64 45 78 65 63 75 74 61 62 6c 65 28 3c 73 70 61 6e 20 63 6c 61 73 | exe.=.b.addExecutable(<span.clas |
| a57a0 | 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 74 65 73 74 26 71 75 6f 74 3b 3c 2f 73 70 | s="tok-str">"test"</sp |
| a57c0 | 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 6e 75 6c 6c | an>,.<span.class="tok-null">null |
| a57e0 | 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 65 78 65 2e 61 64 64 43 53 6f 75 72 63 65 46 69 6c 65 | </span>);.....exe.addCSourceFile |
| a5800 | 28 3c 73 70 61 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 | (<span.class="tok-str">"tes |
| a5820 | 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 61 | t.c"</span>,.&[_][]<spa |
| a5840 | 6e 20 63 6c 61 73 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 |
| a5860 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 7b 3c | pan.class="tok-type">u8</span>{< |
| a5880 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 2d 73 74 64 3d | span.class="tok-str">"-std= |
| a58a0 | 63 39 39 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 7d 29 3b 0a 20 20 20 20 65 78 65 2e 61 64 64 4f | c99"</span>});.....exe.addO |
| a58c0 | 62 6a 65 63 74 28 6f 62 6a 29 3b 0a 20 20 20 20 65 78 65 2e 6c 69 6e 6b 53 79 73 74 65 6d 4c 69 | bject(obj);.....exe.linkSystemLi |
| a58e0 | 62 72 61 72 79 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f | brary(<span.class="tok-str">&quo |
| a5900 | 74 3b 63 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 20 20 20 20 65 78 65 2e 69 6e 73 74 61 | t;c"</span>);.....exe.insta |
| a5920 | 6c 6c 28 29 3b 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c | ll();.}</code></pre>.......<p.cl |
| a5940 | 61 73 73 3d 22 66 69 6c 65 22 3e 74 65 72 6d 69 6e 61 6c 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 | ass="file">terminal</p>.......<p |
| a5960 | 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 | re><code.class="shell">$.zig.bui |
| a5980 | 6c 64 0a 24 20 2e 2f 7a 69 67 2d 63 61 63 68 65 2f 62 69 6e 2f 74 65 73 74 0a 61 6c 6c 20 79 6f | ld.$../zig-cache/bin/test.all.yo |
| a59a0 | 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 63 6f 64 65 3e 3c | ur.base.are.belong.to.us</code>< |
| a59c0 | 2f 70 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 | /pre>.......<p>See.also:</p><ul> |
| a59e0 | 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 54 61 72 67 65 74 73 22 3e 54 61 72 67 65 74 73 3c | .<li><a.href="#Targets">Targets< |
| a5a00 | 2f 61 3e 3c 2f 6c 69 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 5a 69 67 2d 42 75 69 6c 64 | /a></li>.<li><a.href="#Zig-Build |
| a5a20 | 2d 53 79 73 74 65 6d 22 3e 5a 69 67 20 42 75 69 6c 64 20 53 79 73 74 65 6d 3c 2f 61 3e 3c 2f 6c | -System">Zig.Build.System</a></l |
| a5a40 | 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 |
| a5a60 | 31 20 69 64 3d 22 57 65 62 41 73 73 65 6d 62 6c 79 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 | 1.id="WebAssembly"><a.href="#toc |
| a5a80 | 2d 57 65 62 41 73 73 65 6d 62 6c 79 22 3e 57 65 62 41 73 73 65 6d 62 6c 79 3c 2f 61 3e 20 3c 61 | -WebAssembly">WebAssembly</a>.<a |
| a5aa0 | 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 65 62 41 73 73 65 6d 62 6c 79 22 | .class="hdr".href="#WebAssembly" |
| a5ac0 | 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 20 73 75 70 70 6f | >..</a></h1>........<p>Zig.suppo |
| a5ae0 | 72 74 73 20 62 75 69 6c 64 69 6e 67 20 66 6f 72 20 57 65 62 41 73 73 65 6d 62 6c 79 20 6f 75 74 | rts.building.for.WebAssembly.out |
| a5b00 | 20 6f 66 20 74 68 65 20 62 6f 78 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 46 | .of.the.box.</p>.......<h2.id="F |
| a5b20 | 72 65 65 73 74 61 6e 64 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 46 72 65 65 73 | reestanding"><a.href="#toc-Frees |
| a5b40 | 74 61 6e 64 69 6e 67 22 3e 46 72 65 65 73 74 61 6e 64 69 6e 67 3c 2f 61 3e 20 3c 61 20 63 6c 61 | tanding">Freestanding</a>.<a.cla |
| a5b60 | 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 46 72 65 65 73 74 61 6e 64 69 6e 67 22 3e c2 a7 | ss="hdr".href="#Freestanding">.. |
| a5b80 | 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 68 6f 73 74 20 65 6e 76 | </a></h2>........<p>For.host.env |
| a5ba0 | 69 72 6f 6e 6d 65 6e 74 73 20 6c 69 6b 65 20 74 68 65 20 77 65 62 20 62 72 6f 77 73 65 72 20 61 | ironments.like.the.web.browser.a |
| a5bc0 | 6e 64 20 6e 6f 64 65 6a 73 2c 20 62 75 69 6c 64 20 61 73 20 61 20 6c 69 62 72 61 72 79 20 75 73 | nd.nodejs,.build.as.a.library.us |
| a5be0 | 69 6e 67 20 74 68 65 20 66 72 65 65 73 74 61 6e 64 69 6e 67 20 4f 53 20 74 61 72 67 65 74 2e 0a | ing.the.freestanding.OS.target.. |
| a5c00 | 20 20 20 20 20 20 48 65 72 65 27 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 72 75 6e 6e 69 | ......Here's.an.example.of.runni |
| a5c20 | 6e 67 20 5a 69 67 20 63 6f 64 65 20 63 6f 6d 70 69 6c 65 64 20 74 6f 20 57 65 62 41 73 73 65 6d | ng.Zig.code.compiled.to.WebAssem |
| a5c40 | 62 6c 79 20 77 69 74 68 20 6e 6f 64 65 6a 73 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c | bly.with.nodejs.</p>.......<p.cl |
| a5c60 | 61 73 73 3d 22 66 69 6c 65 22 3e 6d 61 74 68 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 | ass="file">math.zig</p><pre><cod |
| a5c80 | 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | e.class="zig"><span.class="tok-k |
| a5ca0 | 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 |
| a5cc0 | 6b 2d 6b 77 22 3e 66 6e 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 |
| a5ce0 | 2d 66 6e 22 3e 70 72 69 6e 74 3c 2f 73 70 61 6e 3e 28 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | -fn">print</span>(<span.class="t |
| a5d00 | 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 |
| a5d20 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 6e 20 | ="tok-type">void</span>;..<span. |
| a5d40 | 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 70 | class="tok-kw">export</span>.<sp |
| a5d60 | 61 6e 20 63 6c 61 73 73 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 |
| a5d80 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 61 64 64 3c 2f 73 70 61 6e 3e 28 61 3a 20 3c | n.class="tok-fn">add</span>(a:.< |
| a5da0 | 73 70 61 6e 20 63 6c 61 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> |
| a5dc0 | 2c 20 62 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c | ,.b:.<span.class="tok-type">i32< |
| a5de0 | 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 |
| a5e00 | 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 70 72 69 6e 74 28 61 20 2b 20 62 29 3b 0a 7d | oid</span>.{.....print(a.+.b);.} |
| a5e20 | 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 | </code></pre><pre><code.class="s |
| a5e40 | 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 6c 69 62 20 6d 61 74 68 2e 7a 69 67 20 2d | hell">$.zig.build-lib.math.zig.- |
| a5e60 | 74 61 72 67 65 74 20 77 61 73 6d 33 32 2d 66 72 65 65 73 74 61 6e 64 69 6e 67 0a 3c 2f 63 6f 64 | target.wasm32-freestanding.</cod |
| a5e80 | 65 3e 3c 2f 70 72 65 3e 0a 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 73 73 3d | e></pre>...............<p.class= |
| a5ea0 | 22 66 69 6c 65 22 3e 74 65 73 74 2e 6a 73 3c 2f 70 3e 0a 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 | "file">test.js</p>.....<pre><cod |
| a5ec0 | 65 3e 63 6f 6e 73 74 20 66 73 20 3d 20 72 65 71 75 69 72 65 28 27 66 73 27 29 3b 0a 63 6f 6e 73 | e>const.fs.=.require('fs');.cons |
| a5ee0 | 74 20 73 6f 75 72 63 65 20 3d 20 66 73 2e 72 65 61 64 46 69 6c 65 53 79 6e 63 28 22 2e 2f 6d 61 | t.source.=.fs.readFileSync("./ma |
| a5f00 | 74 68 2e 77 61 73 6d 22 29 3b 0a 63 6f 6e 73 74 20 74 79 70 65 64 41 72 72 61 79 20 3d 20 6e 65 | th.wasm");.const.typedArray.=.ne |
| a5f20 | 77 20 55 69 6e 74 38 41 72 72 61 79 28 73 6f 75 72 63 65 29 3b 0a 0a 57 65 62 41 73 73 65 6d 62 | w.Uint8Array(source);..WebAssemb |
| a5f40 | 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 2c 20 7b 0a 20 20 65 | ly.instantiate(typedArray,.{...e |
| a5f60 | 6e 76 3a 20 7b 0a 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 | nv:.{.....print:.(result).=>. |
| a5f80 | 7b 20 63 6f 6e 73 6f 6c 65 2e 6c 6f 67 28 60 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 24 7b 72 | {.console.log(`The.result.is.${r |
| a5fa0 | 65 73 75 6c 74 7d 60 29 3b 20 7d 0a 20 20 7d 7d 29 2e 74 68 65 6e 28 72 65 73 75 6c 74 20 3d 26 | esult}`);.}...}}).then(result.=& |
| a5fc0 | 67 74 3b 20 7b 0a 20 20 63 6f 6e 73 74 20 61 64 64 20 3d 20 72 65 73 75 6c 74 2e 69 6e 73 74 61 | gt;.{...const.add.=.result.insta |
| a5fe0 | 6e 63 65 2e 65 78 70 6f 72 74 73 2e 61 64 64 3b 0a 20 20 61 64 64 28 31 2c 20 32 29 3b 0a 7d 29 | nce.exports.add;...add(1,.2);.}) |
| a6000 | 3b 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 24 20 | ;</code></pre>.....<pre><code>$. |
| a6020 | 6e 6f 64 65 20 74 65 73 74 2e 6a 73 0a 54 68 65 20 72 65 73 75 6c 74 20 69 73 20 33 3c 2f 63 6f | node.test.js.The.result.is.3</co |
| a6040 | 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 57 41 53 49 22 3e 3c 61 | de></pre>.......<h2.id="WASI"><a |
| a6060 | 20 68 72 65 66 3d 22 23 74 6f 63 2d 57 41 53 49 22 3e 57 41 53 49 3c 2f 61 3e 20 3c 61 20 63 6c | .href="#toc-WASI">WASI</a>.<a.cl |
| a6080 | 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 41 53 49 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 | ass="hdr".href="#WASI">..</a></h |
| a60a0 | 32 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 5a 69 67 27 73 20 73 75 70 70 6f 72 74 20 66 6f 72 20 57 | 2>........<p>Zig's.support.for.W |
| a60c0 | 65 62 41 73 73 65 6d 62 6c 79 20 53 79 73 74 65 6d 20 49 6e 74 65 72 66 61 63 65 20 28 57 41 53 | ebAssembly.System.Interface.(WAS |
| a60e0 | 49 29 20 69 73 20 75 6e 64 65 72 20 61 63 74 69 76 65 20 64 65 76 65 6c 6f 70 6d 65 6e 74 2e 0a | I).is.under.active.development.. |
| a6100 | 20 20 20 20 20 20 45 78 61 6d 70 6c 65 20 6f 66 20 75 73 69 6e 67 20 74 68 65 20 73 74 61 6e 64 | ......Example.of.using.the.stand |
| a6120 | 61 72 64 20 6c 69 62 72 61 72 79 20 61 6e 64 20 72 65 61 64 69 6e 67 20 63 6f 6d 6d 61 6e 64 20 | ard.library.and.reading.command. |
| a6140 | 6c 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 20 63 6c 61 | line.arguments:</p>.......<p.cla |
| a6160 | 73 73 3d 22 66 69 6c 65 22 3e 77 61 73 69 2e 7a 69 67 3c 2f 70 3e 3c 70 72 65 3e 3c 63 6f 64 65 | ss="file">wasi.zig</p><pre><code |
| a6180 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 | .class="zig"><span.class="tok-kw |
| a61a0 | 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 |
| a61c0 | 3d 22 74 6f 6b 2d 62 75 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 |
| a61e0 | 70 61 6e 20 63 6c 61 73 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">"std&qu |
| a6200 | 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b | ot;</span>);..<span.class="tok-k |
| a6220 | 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 |
| a6240 | 77 22 3e 66 6e 3c 2f 73 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 |
| a6260 | 22 3e 6d 61 69 6e 3c 2f 73 70 61 6e 3e 28 29 20 21 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f | ">main</span>().!<span.class="to |
| a6280 | 6b 2d 74 79 70 65 22 3e 76 6f 69 64 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 | k-type">void</span>.{.....<span. |
| a62a0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 4f 44 4f 20 61 20 62 65 | class="tok-comment">//.TODO.a.be |
| a62c0 | 74 74 65 72 20 64 65 66 61 75 6c 74 20 61 6c 6c 6f 63 61 74 6f 72 20 74 68 61 74 20 69 73 6e 27 | tter.default.allocator.that.isn' |
| a62e0 | 74 20 61 73 20 77 61 73 74 65 66 75 6c 21 3c 2f 73 70 61 6e 3e 0a 20 20 20 20 3c 73 70 61 6e 20 | t.as.wasteful!</span>.....<span. |
| a6300 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 61 72 67 73 | class="tok-kw">const</span>.args |
| a6320 | 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 74 72 79 3c 2f 73 70 61 | .=.<span.class="tok-kw">try</spa |
| a6340 | 6e 3e 20 73 74 64 2e 70 72 6f 63 65 73 73 2e 61 72 67 73 41 6c 6c 6f 63 28 73 74 64 2e 68 65 61 | n>.std.process.argsAlloc(std.hea |
| a6360 | 70 2e 70 61 67 65 5f 61 6c 6c 6f 63 61 74 6f 72 29 3b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | p.page_allocator);.....<span.cla |
| a6380 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 64 65 66 65 72 3c 2f 73 70 61 6e 3e 20 73 74 64 2e 70 72 6f | ss="tok-kw">defer</span>.std.pro |
| a63a0 | 63 65 73 73 2e 61 72 67 73 46 72 65 65 28 73 74 64 2e 68 65 61 70 2e 70 61 67 65 5f 61 6c 6c 6f | cess.argsFree(std.heap.page_allo |
| a63c0 | 63 61 74 6f 72 2c 20 61 72 67 73 29 3b 0a 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | cator,.args);......<span.class=" |
| a63e0 | 74 6f 6b 2d 6b 77 22 3e 66 6f 72 3c 2f 73 70 61 6e 3e 20 28 61 72 67 73 29 20 7c 61 72 67 2c 20 | tok-kw">for</span>.(args).|arg,. |
| a6400 | 69 7c 20 7b 0a 20 20 20 20 20 20 20 20 73 74 64 2e 64 65 62 75 67 2e 77 61 72 6e 28 3c 73 70 61 | i|.{.........std.debug.warn(<spa |
| a6420 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 7b 7d 3a 20 7b 7d 5c 6e | n.class="tok-str">"{}:.{}\n |
| a6440 | 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 2c 20 2e 7b 69 2c 20 61 72 67 7d 29 3b 0a 20 20 20 20 7d | "</span>,..{i,.arg});.....} |
| a6460 | 0a 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 3c 70 72 65 3e 3c 63 6f 64 65 20 63 6c 61 73 73 3d | .}</code></pre><pre><code.class= |
| a6480 | 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 62 75 69 6c 64 2d 65 78 65 20 77 61 73 69 2e 7a 69 67 | "shell">$.zig.build-exe.wasi.zig |
| a64a0 | 20 2d 74 61 72 67 65 74 20 77 61 73 6d 33 32 2d 77 61 73 69 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 | .-target.wasm32-wasi</code></pre |
| a64c0 | 3e 0a 0a 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 65 3e 24 20 77 61 73 6d 65 72 20 72 75 6e 20 | >.......<pre><code>$.wasmer.run. |
| a64e0 | 77 61 73 69 2e 77 61 73 6d 20 31 32 33 20 68 65 6c 6c 6f 0a 30 3a 20 77 61 73 69 2e 77 61 73 6d | wasi.wasm.123.hello.0:.wasi.wasm |
| a6500 | 0a 31 3a 20 31 32 33 0a 32 3a 20 68 65 6c 6c 6f 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 | .1:.123.2:.hello</code></pre>... |
| a6520 | 20 20 20 20 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 54 61 72 67 65 74 | ..................<h1.id="Target |
| a6540 | 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 65 74 | s"><a.href="#toc-Targets">Target |
| a6560 | 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 72 67 | s</a>.<a.class="hdr".href="#Targ |
| a6580 | 65 74 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 | ets">..</a></h1>........<p>..... |
| a65a0 | 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 20 66 | ..Zig.supports.generating.code.f |
| a65c0 | 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 72 74 | or.all.targets.that.LLVM.support |
| a65e0 | 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 20 6c | s..Here.is.......what.it.looks.l |
| a6600 | 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 74 73 | ike.to.execute.<code>zig.targets |
| a6620 | 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 20 20 | </code>.on.a.Linux.x86_64....... |
| a6640 | 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 70 72 65 3e | computer:.......</p>.......<pre> |
| a6660 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 73 68 65 6c 6c 22 3e 24 20 7a 69 67 20 74 61 72 67 65 74 | <code.class="shell">$.zig.target |
| a6680 | 73 0a 41 72 63 68 69 74 65 63 74 75 72 65 73 3a 0a 20 20 61 72 6d 0a 20 20 20 20 76 38 5f 34 61 | s.Architectures:...arm.....v8_4a |
| a66a0 | 0a 20 20 20 20 76 38 5f 33 61 0a 20 20 20 20 76 38 5f 32 61 0a 20 20 20 20 76 38 5f 31 61 0a 20 | .....v8_3a.....v8_2a.....v8_1a.. |
| a66c0 | 20 20 20 76 38 0a 20 20 20 20 76 38 72 0a 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 0a 20 | ...v8.....v8r.....v8m_baseline.. |
| a66e0 | 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 0a 20 20 20 20 76 37 0a 20 20 20 20 76 37 65 6d 0a | ...v8m_mainline.....v7.....v7em. |
| a6700 | 20 20 20 20 76 37 6d 0a 20 20 20 20 76 37 73 0a 20 20 20 20 76 37 6b 0a 20 20 20 20 76 37 76 65 | ....v7m.....v7s.....v7k.....v7ve |
| a6720 | 0a 20 20 20 20 76 36 0a 20 20 20 20 76 36 6d 0a 20 20 20 20 76 36 6b 0a 20 20 20 20 76 36 74 32 | .....v6.....v6m.....v6k.....v6t2 |
| a6740 | 0a 20 20 20 20 76 35 0a 20 20 20 20 76 35 74 65 0a 20 20 20 20 76 34 74 0a 20 20 61 72 6d 65 62 | .....v5.....v5te.....v4t...armeb |
| a6760 | 0a 20 20 20 20 76 38 5f 34 61 0a 20 20 20 20 76 38 5f 33 61 0a 20 20 20 20 76 38 5f 32 61 0a 20 | .....v8_4a.....v8_3a.....v8_2a.. |
| a6780 | 20 20 20 76 38 5f 31 61 0a 20 20 20 20 76 38 0a 20 20 20 20 76 38 72 0a 20 20 20 20 76 38 6d 5f | ...v8_1a.....v8.....v8r.....v8m_ |
| a67a0 | 62 61 73 65 6c 69 6e 65 0a 20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 0a 20 20 20 20 76 37 | baseline.....v8m_mainline.....v7 |
| a67c0 | 0a 20 20 20 20 76 37 65 6d 0a 20 20 20 20 76 37 6d 0a 20 20 20 20 76 37 73 0a 20 20 20 20 76 37 | .....v7em.....v7m.....v7s.....v7 |
| a67e0 | 6b 0a 20 20 20 20 76 37 76 65 0a 20 20 20 20 76 36 0a 20 20 20 20 76 36 6d 0a 20 20 20 20 76 36 | k.....v7ve.....v6.....v6m.....v6 |
| a6800 | 6b 0a 20 20 20 20 76 36 74 32 0a 20 20 20 20 76 35 0a 20 20 20 20 76 35 74 65 0a 20 20 20 20 76 | k.....v6t2.....v5.....v5te.....v |
| a6820 | 34 74 0a 20 20 61 61 72 63 68 36 34 0a 20 20 20 20 76 38 5f 34 61 0a 20 20 20 20 76 38 5f 33 61 | 4t...aarch64.....v8_4a.....v8_3a |
| a6840 | 0a 20 20 20 20 76 38 5f 32 61 0a 20 20 20 20 76 38 5f 31 61 0a 20 20 20 20 76 38 0a 20 20 20 20 | .....v8_2a.....v8_1a.....v8..... |
| a6860 | 76 38 72 0a 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 0a 20 20 20 20 76 38 6d 5f 6d 61 69 | v8r.....v8m_baseline.....v8m_mai |
| a6880 | 6e 6c 69 6e 65 0a 20 20 61 61 72 63 68 36 34 5f 62 65 0a 20 20 20 20 76 38 5f 34 61 0a 20 20 20 | nline...aarch64_be.....v8_4a.... |
| a68a0 | 20 76 38 5f 33 61 0a 20 20 20 20 76 38 5f 32 61 0a 20 20 20 20 76 38 5f 31 61 0a 20 20 20 20 76 | .v8_3a.....v8_2a.....v8_1a.....v |
| a68c0 | 38 0a 20 20 20 20 76 38 72 0a 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 0a 20 20 20 20 76 | 8.....v8r.....v8m_baseline.....v |
| a68e0 | 38 6d 5f 6d 61 69 6e 6c 69 6e 65 0a 20 20 61 76 72 0a 20 20 62 70 66 65 6c 0a 20 20 62 70 66 65 | 8m_mainline...avr...bpfel...bpfe |
| a6900 | 62 0a 20 20 68 65 78 61 67 6f 6e 0a 20 20 6d 69 70 73 0a 20 20 6d 69 70 73 65 6c 0a 20 20 6d 69 | b...hexagon...mips...mipsel...mi |
| a6920 | 70 73 36 34 0a 20 20 6d 69 70 73 36 34 65 6c 0a 20 20 6d 73 70 34 33 30 0a 20 20 70 6f 77 65 72 | ps64...mips64el...msp430...power |
| a6940 | 70 63 0a 20 20 70 6f 77 65 72 70 63 36 34 0a 20 20 70 6f 77 65 72 70 63 36 34 6c 65 0a 20 20 72 | pc...powerpc64...powerpc64le...r |
| a6960 | 36 30 30 0a 20 20 61 6d 64 67 63 6e 0a 20 20 72 69 73 63 76 33 32 0a 20 20 72 69 73 63 76 36 34 | 600...amdgcn...riscv32...riscv64 |
| a6980 | 0a 20 20 73 70 61 72 63 0a 20 20 73 70 61 72 63 76 39 0a 20 20 73 70 61 72 63 65 6c 0a 20 20 73 | ...sparc...sparcv9...sparcel...s |
| a69a0 | 33 39 30 78 0a 20 20 74 68 75 6d 62 0a 20 20 20 20 76 38 5f 34 61 0a 20 20 20 20 76 38 5f 33 61 | 390x...thumb.....v8_4a.....v8_3a |
| a69c0 | 0a 20 20 20 20 76 38 5f 32 61 0a 20 20 20 20 76 38 5f 31 61 0a 20 20 20 20 76 38 0a 20 20 20 20 | .....v8_2a.....v8_1a.....v8..... |
| a69e0 | 76 38 72 0a 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 0a 20 20 20 20 76 38 6d 5f 6d 61 69 | v8r.....v8m_baseline.....v8m_mai |
| a6a00 | 6e 6c 69 6e 65 0a 20 20 20 20 76 37 0a 20 20 20 20 76 37 65 6d 0a 20 20 20 20 76 37 6d 0a 20 20 | nline.....v7.....v7em.....v7m... |
| a6a20 | 20 20 76 37 73 0a 20 20 20 20 76 37 6b 0a 20 20 20 20 76 37 76 65 0a 20 20 20 20 76 36 0a 20 20 | ..v7s.....v7k.....v7ve.....v6... |
| a6a40 | 20 20 76 36 6d 0a 20 20 20 20 76 36 6b 0a 20 20 20 20 76 36 74 32 0a 20 20 20 20 76 35 0a 20 20 | ..v6m.....v6k.....v6t2.....v5... |
| a6a60 | 20 20 76 35 74 65 0a 20 20 20 20 76 34 74 0a 20 20 74 68 75 6d 62 65 62 0a 20 20 20 20 76 38 5f | ..v5te.....v4t...thumbeb.....v8_ |
| a6a80 | 34 61 0a 20 20 20 20 76 38 5f 33 61 0a 20 20 20 20 76 38 5f 32 61 0a 20 20 20 20 76 38 5f 31 61 | 4a.....v8_3a.....v8_2a.....v8_1a |
| a6aa0 | 0a 20 20 20 20 76 38 0a 20 20 20 20 76 38 72 0a 20 20 20 20 76 38 6d 5f 62 61 73 65 6c 69 6e 65 | .....v8.....v8r.....v8m_baseline |
| a6ac0 | 0a 20 20 20 20 76 38 6d 5f 6d 61 69 6e 6c 69 6e 65 0a 20 20 20 20 76 37 0a 20 20 20 20 76 37 65 | .....v8m_mainline.....v7.....v7e |
| a6ae0 | 6d 0a 20 20 20 20 76 37 6d 0a 20 20 20 20 76 37 73 0a 20 20 20 20 76 37 6b 0a 20 20 20 20 76 37 | m.....v7m.....v7s.....v7k.....v7 |
| a6b00 | 76 65 0a 20 20 20 20 76 36 0a 20 20 20 20 76 36 6d 0a 20 20 20 20 76 36 6b 0a 20 20 20 20 76 36 | ve.....v6.....v6m.....v6k.....v6 |
| a6b20 | 74 32 0a 20 20 20 20 76 35 0a 20 20 20 20 76 35 74 65 0a 20 20 20 20 76 34 74 0a 20 20 69 33 38 | t2.....v5.....v5te.....v4t...i38 |
| a6b40 | 36 0a 20 20 78 38 36 5f 36 34 20 28 6e 61 74 69 76 65 29 0a 20 20 78 63 6f 72 65 0a 20 20 6e 76 | 6...x86_64.(native)...xcore...nv |
| a6b60 | 70 74 78 0a 20 20 6e 76 70 74 78 36 34 0a 20 20 6c 61 6e 61 69 0a 20 20 77 61 73 6d 33 32 0a 20 | ptx...nvptx64...lanai...wasm32.. |
| a6b80 | 20 77 61 73 6d 36 34 0a 0a 4f 70 65 72 61 74 69 6e 67 20 53 79 73 74 65 6d 73 3a 0a 20 20 66 72 | .wasm64..Operating.Systems:...fr |
| a6ba0 | 65 65 73 74 61 6e 64 69 6e 67 0a 20 20 61 6e 61 6e 61 73 0a 20 20 63 6c 6f 75 64 61 62 69 0a 20 | eestanding...ananas...cloudabi.. |
| a6bc0 | 20 64 72 61 67 6f 6e 66 6c 79 0a 20 20 66 72 65 65 62 73 64 0a 20 20 66 75 63 68 73 69 61 0a 20 | .dragonfly...freebsd...fuchsia.. |
| a6be0 | 20 69 6f 73 0a 20 20 6b 66 72 65 65 62 73 64 0a 20 20 6c 69 6e 75 78 20 28 6e 61 74 69 76 65 29 | .ios...kfreebsd...linux.(native) |
| a6c00 | 0a 20 20 6c 76 32 0a 20 20 6d 61 63 6f 73 78 0a 20 20 6e 65 74 62 73 64 0a 20 20 6f 70 65 6e 62 | ...lv2...macosx...netbsd...openb |
| a6c20 | 73 64 0a 20 20 73 6f 6c 61 72 69 73 0a 20 20 77 69 6e 64 6f 77 73 0a 20 20 68 61 69 6b 75 0a 20 | sd...solaris...windows...haiku.. |
| a6c40 | 20 6d 69 6e 69 78 0a 20 20 72 74 65 6d 73 0a 20 20 6e 61 63 6c 0a 20 20 63 6e 6b 0a 20 20 61 69 | .minix...rtems...nacl...cnk...ai |
| a6c60 | 78 0a 20 20 63 75 64 61 0a 20 20 6e 76 63 6c 0a 20 20 61 6d 64 68 73 61 0a 20 20 70 73 34 0a 20 | x...cuda...nvcl...amdhsa...ps4.. |
| a6c80 | 20 65 6c 66 69 61 6d 63 75 0a 20 20 74 76 6f 73 0a 20 20 77 61 74 63 68 6f 73 0a 20 20 6d 65 73 | .elfiamcu...tvos...watchos...mes |
| a6ca0 | 61 33 64 0a 20 20 63 6f 6e 74 69 6b 69 0a 20 20 61 6d 64 70 61 6c 0a 20 20 7a 65 6e 0a 20 20 75 | a3d...contiki...amdpal...zen...u |
| a6cc0 | 65 66 69 0a 0a 43 20 41 42 49 73 3a 0a 20 20 6e 6f 6e 65 0a 20 20 67 6e 75 20 28 6e 61 74 69 76 | efi..C.ABIs:...none...gnu.(nativ |
| a6ce0 | 65 29 0a 20 20 67 6e 75 61 62 69 6e 33 32 0a 20 20 67 6e 75 61 62 69 36 34 0a 20 20 67 6e 75 65 | e)...gnuabin32...gnuabi64...gnue |
| a6d00 | 61 62 69 0a 20 20 67 6e 75 65 61 62 69 68 66 0a 20 20 67 6e 75 78 33 32 0a 20 20 63 6f 64 65 31 | abi...gnueabihf...gnux32...code1 |
| a6d20 | 36 0a 20 20 65 61 62 69 0a 20 20 65 61 62 69 68 66 0a 20 20 61 6e 64 72 6f 69 64 0a 20 20 6d 75 | 6...eabi...eabihf...android...mu |
| a6d40 | 73 6c 0a 20 20 6d 75 73 6c 65 61 62 69 0a 20 20 6d 75 73 6c 65 61 62 69 68 66 0a 20 20 6d 73 76 | sl...musleabi...musleabihf...msv |
| a6d60 | 63 0a 20 20 69 74 61 6e 69 75 6d 0a 20 20 63 79 67 6e 75 73 0a 20 20 63 6f 72 65 63 6c 72 0a 20 | c...itanium...cygnus...coreclr.. |
| a6d80 | 20 73 69 6d 75 6c 61 74 6f 72 0a 0a 41 76 61 69 6c 61 62 6c 65 20 6c 69 62 63 73 3a 0a 20 20 61 | .simulator..Available.libcs:...a |
| a6da0 | 61 72 63 68 36 34 5f 62 65 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 61 61 72 63 68 36 34 5f 62 65 | arch64_be-linux-gnu...aarch64_be |
| a6dc0 | 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a 20 20 61 61 72 63 68 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 0a | -linux-musl...aarch64-linux-gnu. |
| a6de0 | 20 20 61 61 72 63 68 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 0a 20 20 61 72 6d 65 62 | ..aarch64-linux-musleabi...armeb |
| a6e00 | 2d 6c 69 6e 75 78 2d 67 6e 75 65 61 62 69 0a 20 20 61 72 6d 65 62 2d 6c 69 6e 75 78 2d 67 6e 75 | -linux-gnueabi...armeb-linux-gnu |
| a6e20 | 65 61 62 69 68 66 0a 20 20 61 72 6d 65 62 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 0a 20 20 | eabihf...armeb-linux-musleabi... |
| a6e40 | 61 72 6d 65 62 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 68 66 0a 20 20 61 72 6d 2d 6c 69 6e | armeb-linux-musleabihf...arm-lin |
| a6e60 | 75 78 2d 67 6e 75 65 61 62 69 0a 20 20 61 72 6d 2d 6c 69 6e 75 78 2d 67 6e 75 65 61 62 69 68 66 | ux-gnueabi...arm-linux-gnueabihf |
| a6e80 | 0a 20 20 61 72 6d 2d 6c 69 6e 75 78 2d 6d 75 73 6c 65 61 62 69 0a 20 20 61 72 6d 2d 6c 69 6e 75 | ...arm-linux-musleabi...arm-linu |
| a6ea0 | 78 2d 6d 75 73 6c 65 61 62 69 68 66 0a 20 20 69 33 38 36 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 | x-musleabihf...i386-linux-gnu... |
| a6ec0 | 69 33 38 36 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a 20 20 6d 69 70 73 36 34 65 6c 2d 6c 69 6e 75 78 | i386-linux-musl...mips64el-linux |
| a6ee0 | 2d 67 6e 75 61 62 69 36 34 0a 20 20 6d 69 70 73 36 34 65 6c 2d 6c 69 6e 75 78 2d 67 6e 75 61 62 | -gnuabi64...mips64el-linux-gnuab |
| a6f00 | 69 6e 33 32 0a 20 20 6d 69 70 73 36 34 65 6c 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a 20 20 6d 69 70 | in32...mips64el-linux-musl...mip |
| a6f20 | 73 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 61 62 69 36 34 0a 20 20 6d 69 70 73 36 34 2d 6c 69 6e 75 | s64-linux-gnuabi64...mips64-linu |
| a6f40 | 78 2d 67 6e 75 61 62 69 6e 33 32 0a 20 20 6d 69 70 73 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a | x-gnuabin32...mips64-linux-musl. |
| a6f60 | 20 20 6d 69 70 73 65 6c 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 6d 69 70 73 65 6c 2d 6c 69 6e 75 | ..mipsel-linux-gnu...mipsel-linu |
| a6f80 | 78 2d 6d 75 73 6c 0a 20 20 6d 69 70 73 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 6d 69 70 73 2d 6c | x-musl...mips-linux-gnu...mips-l |
| a6fa0 | 69 6e 75 78 2d 6d 75 73 6c 0a 20 20 6e 69 6f 73 32 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 70 6f | inux-musl...nios2-linux-gnu...po |
| a6fc0 | 77 65 72 70 63 36 34 6c 65 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 70 6f 77 65 72 70 63 36 34 6c | werpc64le-linux-gnu...powerpc64l |
| a6fe0 | 65 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a 20 20 70 6f 77 65 72 70 63 36 34 2d 6c 69 6e 75 78 2d 67 | e-linux-musl...powerpc64-linux-g |
| a7000 | 6e 75 0a 20 20 70 6f 77 65 72 70 63 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a 20 20 70 6f 77 65 | nu...powerpc64-linux-musl...powe |
| a7020 | 72 70 63 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 70 6f 77 65 72 70 63 2d 6c 69 6e 75 78 2d 6d 75 | rpc-linux-gnu...powerpc-linux-mu |
| a7040 | 73 6c 0a 20 20 72 69 73 63 76 33 32 2d 6c 69 6e 75 78 2d 6d 75 73 6c 0a 20 20 72 69 73 63 76 36 | sl...riscv32-linux-musl...riscv6 |
| a7060 | 34 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 72 69 73 63 76 36 34 2d 6c 69 6e 75 78 2d 6d 75 73 6c | 4-linux-gnu...riscv64-linux-musl |
| a7080 | 0a 20 20 73 33 39 30 78 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 73 33 39 30 78 2d 6c 69 6e 75 78 | ...s390x-linux-gnu...s390x-linux |
| a70a0 | 2d 6d 75 73 6c 0a 20 20 73 70 61 72 63 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 73 70 61 72 63 76 | -musl...sparc-linux-gnu...sparcv |
| a70c0 | 39 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 77 61 73 6d 33 32 2d 66 72 65 65 73 74 61 6e 64 69 6e | 9-linux-gnu...wasm32-freestandin |
| a70e0 | 67 2d 6d 75 73 6c 0a 20 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 0a 20 20 78 38 36 5f | g-musl...x86_64-linux-gnu...x86_ |
| a7100 | 36 34 2d 6c 69 6e 75 78 2d 67 6e 75 78 33 32 0a 20 20 78 38 36 5f 36 34 2d 6c 69 6e 75 78 2d 6d | 64-linux-gnux32...x86_64-linux-m |
| a7120 | 75 73 6c 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 | usl</code></pre>.......<p>...... |
| a7140 | 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 28 3c 63 6f 64 65 | .The.Zig.Standard.Library.(<code |
| a7160 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 62 75 | .class="zig"><span.class="tok-bu |
| a7180 | 69 6c 74 69 6e 22 3e 40 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 |
| a71a0 | 73 3d 22 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">"std"</spa |
| a71c0 | 6e 3e 29 3c 2f 63 6f 64 65 3e 29 20 68 61 73 20 61 72 63 68 69 74 65 63 74 75 72 65 2c 20 65 6e | n>)</code>).has.architecture,.en |
| a71e0 | 76 69 72 6f 6e 6d 65 6e 74 2c 20 61 6e 64 20 6f 70 65 72 61 74 69 6e 67 20 73 79 73 74 65 6d 0a | vironment,.and.operating.system. |
| a7200 | 20 20 20 20 20 20 61 62 73 74 72 61 63 74 69 6f 6e 73 2c 20 61 6e 64 20 74 68 75 73 20 74 61 6b | ......abstractions,.and.thus.tak |
| a7220 | 65 73 20 61 64 64 69 74 69 6f 6e 61 6c 20 77 6f 72 6b 20 74 6f 20 73 75 70 70 6f 72 74 20 6d 6f | es.additional.work.to.support.mo |
| a7240 | 72 65 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 4e 6f 74 20 61 6c 6c 20 73 74 61 6e | re.platforms........Not.all.stan |
| a7260 | 64 61 72 64 20 6c 69 62 72 61 72 79 20 63 6f 64 65 20 72 65 71 75 69 72 65 73 20 6f 70 65 72 61 | dard.library.code.requires.opera |
| a7280 | 74 69 6e 67 20 73 79 73 74 65 6d 20 61 62 73 74 72 61 63 74 69 6f 6e 73 2c 20 68 6f 77 65 76 65 | ting.system.abstractions,.howeve |
| a72a0 | 72 2c 0a 20 20 20 20 20 20 73 6f 20 74 68 69 6e 67 73 20 73 75 63 68 20 61 73 20 67 65 6e 65 72 | r,.......so.things.such.as.gener |
| a72c0 | 69 63 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 20 77 6f 72 6b 20 6f 6e 20 61 6c 6c 20 61 | ic.data.structures.work.on.all.a |
| a72e0 | 62 6f 76 65 20 70 6c 61 74 66 6f 72 6d 73 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 | bove.platforms........</p>...... |
| a7300 | 20 3c 70 3e 54 68 65 20 63 75 72 72 65 6e 74 20 6c 69 73 74 20 6f 66 20 74 61 72 67 65 74 73 20 | .<p>The.current.list.of.targets. |
| a7320 | 73 75 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 | supported.by.the.Zig.Standard.Li |
| a7340 | 62 72 61 72 79 20 69 73 3a 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 3c | brary.is:</p>.......<ul>.......< |
| a7360 | 6c 69 3e 4c 69 6e 75 78 20 78 38 36 5f 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 57 | li>Linux.x86_64</li>.......<li>W |
| a7380 | 69 6e 64 6f 77 73 20 78 38 36 5f 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 6c 69 3e 6d 61 63 | indows.x86_64</li>.......<li>mac |
| a73a0 | 4f 53 20 78 38 36 5f 36 34 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 | OS.x86_64</li>.......</ul>...... |
| a73c0 | 20 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 53 74 79 6c 65 2d 47 75 69 64 65 22 3e 3c 61 20 | ........<h1.id="Style-Guide"><a. |
| a73e0 | 68 72 65 66 3d 22 23 74 6f 63 2d 53 74 79 6c 65 2d 47 75 69 64 65 22 3e 53 74 79 6c 65 20 47 75 | href="#toc-Style-Guide">Style.Gu |
| a7400 | 69 64 65 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 53 74 | ide</a>.<a.class="hdr".href="#St |
| a7420 | 79 6c 65 2d 47 75 69 64 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 | yle-Guide">..</a></h1>........<p |
| a7440 | 3e 0a 54 68 65 73 65 20 63 6f 64 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 20 61 72 65 20 6e | >.These.coding.conventions.are.n |
| a7460 | 6f 74 20 65 6e 66 6f 72 63 65 64 20 62 79 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 2c 20 62 75 74 | ot.enforced.by.the.compiler,.but |
| a7480 | 20 74 68 65 79 20 61 72 65 20 73 68 69 70 70 65 64 20 69 6e 0a 74 68 69 73 20 64 6f 63 75 6d 65 | .they.are.shipped.in.this.docume |
| a74a0 | 6e 74 61 74 69 6f 6e 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 69 6c 65 72 20 | ntation.along.with.the.compiler. |
| a74c0 | 69 6e 20 6f 72 64 65 72 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 70 6f 69 6e 74 20 6f 66 0a 72 | in.order.to.provide.a.point.of.r |
| a74e0 | 65 66 65 72 65 6e 63 65 2c 20 73 68 6f 75 6c 64 20 61 6e 79 6f 6e 65 20 77 69 73 68 20 74 6f 20 | eference,.should.anyone.wish.to. |
| a7500 | 70 6f 69 6e 74 20 74 6f 20 61 6e 20 61 75 74 68 6f 72 69 74 79 20 6f 6e 20 61 67 72 65 65 64 20 | point.to.an.authority.on.agreed. |
| a7520 | 75 70 6f 6e 20 5a 69 67 0a 63 6f 64 69 6e 67 20 73 74 79 6c 65 2e 0a 20 20 20 20 20 20 3c 2f 70 | upon.Zig.coding.style........</p |
| a7540 | 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 57 68 69 74 65 73 70 61 63 65 22 3e 3c 61 20 68 | >.......<h2.id="Whitespace"><a.h |
| a7560 | 72 65 66 3d 22 23 74 6f 63 2d 57 68 69 74 65 73 70 61 63 65 22 3e 57 68 69 74 65 73 70 61 63 65 | ref="#toc-Whitespace">Whitespace |
| a7580 | 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 57 68 69 74 65 | </a>.<a.class="hdr".href="#White |
| a75a0 | 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 75 6c 3e 0a 20 | space">..</a></h2>........<ul>.. |
| a75c0 | 20 20 20 20 20 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 34 20 73 70 61 63 65 20 69 6e | .......<li>...........4.space.in |
| a75e0 | 64 65 6e 74 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | dentation.........</li>......... |
| a7600 | 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 4f 70 65 6e 20 62 72 61 63 65 73 20 6f 6e 20 73 61 | <li>...........Open.braces.on.sa |
| a7620 | 6d 65 20 6c 69 6e 65 2c 20 75 6e 6c 65 73 73 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 77 72 61 70 | me.line,.unless.you.need.to.wrap |
| a7640 | 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 49 66 20 61 | ..........</li>.........<li>If.a |
| a7660 | 20 6c 69 73 74 20 6f 66 20 74 68 69 6e 67 73 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 32 | .list.of.things.is.longer.than.2 |
| a7680 | 2c 20 70 75 74 20 65 61 63 68 20 69 74 65 6d 20 6f 6e 20 69 74 73 20 6f 77 6e 20 6c 69 6e 65 20 | ,.put.each.item.on.its.own.line. |
| a76a0 | 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 65 78 65 72 63 69 73 65 20 74 68 65 20 61 62 69 6c 69 | and...........exercise.the.abili |
| a76c0 | 74 79 20 74 6f 20 70 75 74 20 61 6e 20 65 78 74 72 61 20 63 6f 6d 6d 61 20 61 74 20 74 68 65 20 | ty.to.put.an.extra.comma.at.the. |
| a76e0 | 65 6e 64 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a | end..........</li>.........<li>. |
| a7700 | 20 20 20 20 20 20 20 20 20 20 4c 69 6e 65 20 6c 65 6e 67 74 68 3a 20 61 69 6d 20 66 6f 72 20 31 | ..........Line.length:.aim.for.1 |
| a7720 | 30 30 3b 20 75 73 65 20 63 6f 6d 6d 6f 6e 20 73 65 6e 73 65 2e 0a 20 20 20 20 20 20 20 20 3c 2f | 00;.use.common.sense..........</ |
| a7740 | 6c 69 3e 0a 20 20 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 68 32 | li>.......</ul>..............<h2 |
| a7760 | 20 69 64 3d 22 4e 61 6d 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4e 61 6d 65 73 22 | .id="Names"><a.href="#toc-Names" |
| a7780 | 3e 4e 61 6d 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 | >Names</a>.<a.class="hdr".href=" |
| a77a0 | 23 4e 61 6d 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 | #Names">..</a></h2>........<p>.. |
| a77c0 | 20 20 20 20 20 52 6f 75 67 68 6c 79 20 73 70 65 61 6b 69 6e 67 3a 20 3c 63 6f 64 65 20 63 6c 61 | .....Roughly.speaking:.<code.cla |
| a77e0 | 73 73 3d 22 7a 69 67 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 | ss="zig">camelCaseFunctionName</ |
| a7800 | 63 6f 64 65 3e 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 54 69 74 6c 65 43 61 | code>,.<code.class="zig">TitleCa |
| a7820 | 73 65 54 79 70 65 4e 61 6d 65 3c 2f 63 6f 64 65 3e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | seTypeName</code>,.............. |
| a7840 | 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 6e 61 6b 65 5f 63 61 73 65 5f 76 61 | .<code.class="zig">snake_case_va |
| a7860 | 72 69 61 62 6c 65 5f 6e 61 6d 65 3c 2f 63 6f 64 65 3e 2e 20 4d 6f 72 65 20 70 72 65 63 69 73 65 | riable_name</code>..More.precise |
| a7880 | 6c 79 3a 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 75 6c 3e 0a 20 20 20 20 20 20 | ly:.......</p>.......<ul>....... |
| a78a0 | 20 20 3c 6c 69 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 20 63 6c 61 73 | ..<li>.............If.<code.clas |
| a78c0 | 73 3d 22 7a 69 67 22 3e 78 3c 2f 63 6f 64 65 3e 20 69 73 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 | s="zig">x</code>.is.a.<code.clas |
| a78e0 | 73 3d 22 7a 69 67 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 | s="zig"><span.class="tok-type">t |
| a7900 | 79 70 65 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 68 | ype</span></code>.............th |
| a7920 | 65 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 78 3c 2f 63 6f 64 65 3e 20 73 68 | en.<code.class="zig">x</code>.sh |
| a7940 | 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 54 69 74 6c 65 43 | ould.be.<code.class="zig">TitleC |
| a7960 | 61 73 65 3c 2f 63 6f 64 65 3e 2c 20 75 6e 6c 65 73 73 20 69 74 0a 20 20 20 20 20 20 20 20 20 20 | ase</code>,.unless.it........... |
| a7980 | 20 20 69 73 20 61 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e 20 63 | ..is.a.<code.class="zig"><span.c |
| a79a0 | 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 63 6f 64 | lass="tok-kw">struct</span></cod |
| a79c0 | 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 72 20 6d 65 | e>.with.0.fields.and.is.never.me |
| a79e0 | 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 20 20 20 20 | ant.to.be.instantiated,......... |
| a7a00 | 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 69 64 65 72 | ....in.which.case.it.is.consider |
| a7a20 | 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 73 65 73 20 | ed.to.be.a."namespace".and.uses. |
| a7a40 | 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 6e 61 6b 65 5f 63 61 73 65 3c 2f 63 6f | <code.class="zig">snake_case</co |
| a7a60 | 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 0a | de>..........</li>.........<li>. |
| a7a80 | 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 | ............If.<code.class="zig" |
| a7aa0 | 3e 78 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 | >x</code>.is.callable,.and.<code |
| a7ac0 | 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 78 3c 2f 63 6f 64 65 3e 27 73 20 72 65 74 75 72 6e 20 74 | .class="zig">x</code>'s.return.t |
| a7ae0 | 79 70 65 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 | ype.is.............<code.class=" |
| a7b00 | 7a 69 67 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 | zig"><span.class="tok-type">type |
| a7b20 | 3c 2f 73 70 61 6e 3e 3c 2f 63 6f 64 65 3e 2c 20 74 68 65 6e 20 3c 63 6f 64 65 20 63 6c 61 73 73 | </span></code>,.then.<code.class |
| a7b40 | 3d 22 7a 69 67 22 3e 78 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 20 | ="zig">x</code>.should.be.<code. |
| a7b60 | 63 6c 61 73 73 3d 22 7a 69 67 22 3e 54 69 74 6c 65 43 61 73 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 | class="zig">TitleCase</code>.... |
| a7b80 | 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>........ |
| a7ba0 | 20 20 20 20 20 49 66 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 78 3c 2f 63 6f 64 | .....If.<code.class="zig">x</cod |
| a7bc0 | 65 3e 20 69 73 20 6f 74 68 65 72 77 69 73 65 20 63 61 6c 6c 61 62 6c 65 2c 20 74 68 65 6e 20 3c | e>.is.otherwise.callable,.then.< |
| a7be0 | 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 78 3c 2f 63 6f 64 65 3e 20 73 68 6f 75 6c 64 | code.class="zig">x</code>.should |
| a7c00 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 | .............be.<code.class="zig |
| a7c20 | 22 3e 63 61 6d 65 6c 43 61 73 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 | ">camelCase</code>..........</li |
| a7c40 | 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 65 72 | >.........<li>.............Other |
| a7c60 | 77 69 73 65 2c 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 78 3c 2f 63 6f 64 65 3e | wise,.<code.class="zig">x</code> |
| a7c80 | 20 73 68 6f 75 6c 64 20 62 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 73 6e 61 | .should.be.<code.class="zig">sna |
| a7ca0 | 6b 65 5f 63 61 73 65 3c 2f 63 6f 64 65 3e 2e 0a 20 20 20 20 20 20 20 20 3c 2f 6c 69 3e 0a 20 20 | ke_case</code>..........</li>... |
| a7cc0 | 20 20 20 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 41 63 72 6f 6e 79 | ....</ul>.......<p>.......Acrony |
| a7ce0 | 6d 73 2c 20 69 6e 69 74 69 61 6c 69 73 6d 73 2c 20 70 72 6f 70 65 72 20 6e 6f 75 6e 73 2c 20 6f | ms,.initialisms,.proper.nouns,.o |
| a7d00 | 72 20 61 6e 79 20 6f 74 68 65 72 20 77 6f 72 64 20 74 68 61 74 20 68 61 73 20 63 61 70 69 74 61 | r.any.other.word.that.has.capita |
| a7d20 | 6c 69 7a 61 74 69 6f 6e 0a 20 20 20 20 20 20 72 75 6c 65 73 20 69 6e 20 77 72 69 74 74 65 6e 20 | lization.......rules.in.written. |
| a7d40 | 45 6e 67 6c 69 73 68 20 61 72 65 20 73 75 62 6a 65 63 74 20 74 6f 20 6e 61 6d 69 6e 67 20 63 6f | English.are.subject.to.naming.co |
| a7d60 | 6e 76 65 6e 74 69 6f 6e 73 20 6a 75 73 74 20 6c 69 6b 65 20 61 6e 79 20 6f 74 68 65 72 0a 20 20 | nventions.just.like.any.other... |
| a7d80 | 20 20 20 20 77 6f 72 64 2e 20 45 76 65 6e 20 61 63 72 6f 6e 79 6d 73 20 74 68 61 74 20 61 72 65 | ....word..Even.acronyms.that.are |
| a7da0 | 20 6f 6e 6c 79 20 32 20 6c 65 74 74 65 72 73 20 6c 6f 6e 67 20 61 72 65 20 73 75 62 6a 65 63 74 | .only.2.letters.long.are.subject |
| a7dc0 | 20 74 6f 20 74 68 65 73 65 0a 20 20 20 20 20 20 63 6f 6e 76 65 6e 74 69 6f 6e 73 2e 0a 20 20 20 | .to.these.......conventions..... |
| a7de0 | 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 20 20 54 68 65 73 65 20 61 72 | ...</p>.......<p>.......These.ar |
| a7e00 | 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 69 74 20 | e.general.rules.of.thumb;.if.it. |
| a7e20 | 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 69 66 66 | makes.sense.to.do.something.diff |
| a7e40 | 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 6e 73 65 | erent,.......do.what.makes.sense |
| a7e60 | 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 20 65 73 | ..For.example,.if.there.is.an.es |
| a7e80 | 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 20 20 20 | tablished.convention.such.as.... |
| a7ea0 | 20 20 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 45 4e 4f 45 4e 54 3c 2f 63 6f 64 | ...<code.class="zig">ENOENT</cod |
| a7ec0 | 65 3e 2c 20 66 6f 6c 6c 6f 77 20 74 68 65 20 65 73 74 61 62 6c 69 73 68 65 64 20 63 6f 6e 76 65 | e>,.follow.the.established.conve |
| a7ee0 | 6e 74 69 6f 6e 2e 0a 20 20 20 20 20 20 3c 2f 70 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c | ntion........</p>..............< |
| a7f00 | 68 32 20 69 64 3d 22 45 78 61 6d 70 6c 65 73 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 45 | h2.id="Examples"><a.href="#toc-E |
| a7f20 | 78 61 6d 70 6c 65 73 22 3e 45 78 61 6d 70 6c 65 73 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 | xamples">Examples</a>.<a.class=" |
| a7f40 | 68 64 72 22 20 68 72 65 66 3d 22 23 45 78 61 6d 70 6c 65 73 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 | hdr".href="#Examples">..</a></h2 |
| a7f60 | 3e 0a 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 7a 69 67 22 3e | >........<pre><code.class="zig"> |
| a7f80 | 3c 73 70 61 6e 20 63 6c 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 |
| a7fa0 | 3e 20 6e 61 6d 65 73 70 61 63 65 5f 6e 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 | >.namespace_name.=.<span.class=" |
| a7fc0 | 74 6f 6b 2d 62 75 69 6c 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 |
| a7fe0 | 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 26 71 75 6f 74 3b 64 69 72 5f 6e 61 6d 65 | n.class="tok-str">"dir_name |
| a8000 | 2f 66 69 6c 65 5f 6e 61 6d 65 2e 7a 69 67 26 71 75 6f 74 3b 3c 2f 73 70 61 6e 3e 29 3b 0a 3c 73 | /file_name.zig"</span>);.<s |
| a8020 | 70 61 6e 20 63 6c 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 | pan.class="tok-kw">var</span>.gl |
| a8040 | 6f 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 | obal_var:.<span.class="tok-type" |
| a8060 | 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 |
| a8080 | 75 6c 6c 22 3e 75 6e 64 65 66 69 6e 65 64 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 | ull">undefined</span>;.<span.cla |
| a80a0 | 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 63 6f 6e 73 74 5f 6e | ss="tok-kw">const</span>.const_n |
| a80c0 | 61 6d 65 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6e 75 6d 62 65 72 22 3e 34 | ame.=.<span.class="tok-number">4 |
| a80e0 | 32 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | 2</span>;.<span.class="tok-kw">c |
| a8100 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 70 72 69 6d 69 74 69 76 65 5f 74 79 70 65 5f 61 6c 69 61 73 | onst</span>.primitive_type_alias |
| a8120 | 20 3d 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 66 33 32 3c 2f 73 | .=.<span.class="tok-type">f32</s |
| a8140 | 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 | pan>;.<span.class="tok-kw">const |
| a8160 | 3c 2f 73 70 61 6e 3e 20 73 74 72 69 6e 67 5f 61 6c 69 61 73 20 3d 20 5b 5d 3c 73 70 61 6e 20 63 | </span>.string_alias.=.[]<span.c |
| a8180 | 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 38 3c 2f 73 70 61 6e 3e 3b 0a 0a 3c 73 70 61 | lass="tok-type">u8</span>;..<spa |
| a81a0 | 6e 20 63 6c 61 73 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 |
| a81c0 | 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 3e | ructName.=.<span.class="tok-kw"> |
| a81e0 | 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 66 69 65 6c 64 3a 20 3c 73 70 61 6e | struct</span>.{.....field:.<span |
| a8200 | 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b | .class="tok-type">i32</span>,.}; |
| a8220 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 6f 6e 73 74 3c 2f 73 70 61 | .<span.class="tok-kw">const</spa |
| a8240 | 6e 3e 20 53 74 72 75 63 74 41 6c 69 61 73 20 3d 20 53 74 72 75 63 74 4e 61 6d 65 3b 0a 0a 3c 73 | n>.StructAlias.=.StructName;..<s |
| a8260 | 70 61 6e 20 63 6c 61 73 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 |
| a8280 | 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 65 3c 2f | an.class="tok-fn">functionName</ |
| a82a0 | 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 73 70 61 | span>(param_name:.TypeName).<spa |
| a82c0 | 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>.{ |
| a82e0 | 0a 20 20 20 20 3c 73 70 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 |
| a8300 | 70 61 6e 3e 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 20 3d 20 66 75 6e 63 74 69 6f 6e 4e | pan>.functionPointer.=.functionN |
| a8320 | 61 6d 65 3b 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 28 29 3b 0a 20 20 20 20 | ame;.....functionPointer();..... |
| a8340 | 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 20 3d 20 6f 74 68 65 72 46 75 6e 63 74 69 6f 6e 3b | functionPointer.=.otherFunction; |
| a8360 | 0a 20 20 20 20 66 75 6e 63 74 69 6f 6e 50 6f 69 6e 74 65 72 28 29 3b 0a 7d 0a 3c 73 70 61 6e 20 | .....functionPointer();.}.<span. |
| a8380 | 63 6c 61 73 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 | class="tok-kw">const</span>.func |
| a83a0 | 74 69 6f 6e 41 6c 69 61 73 20 3d 20 66 75 6e 63 74 69 6f 6e 4e 61 6d 65 3b 0a 0a 3c 73 70 61 6e | tionAlias.=.functionName;..<span |
| a83c0 | 20 63 6c 61 73 73 3d 22 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. |
| a83e0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 4c 69 73 74 54 65 6d 70 6c 61 74 65 46 75 6e 63 74 | class="tok-fn">ListTemplateFunct |
| a8400 | 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"> |
| a8420 | 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 43 68 69 6c 64 54 79 70 65 3a 20 3c 73 70 61 6e | comptime</span>.ChildType:.<span |
| a8440 | 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>,.< |
| a8460 | 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 |
| a8480 | 61 6e 3e 20 66 69 78 65 64 5f 73 69 7a 65 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b | an>.fixed_size:.<span.class="tok |
| a84a0 | 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 |
| a84c0 | 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 74 79 70 65 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 3c 73 | ="tok-type">type</span>.{.....<s |
| a84e0 | 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> |
| a8500 | 20 4c 69 73 74 28 43 68 69 6c 64 54 79 70 65 2c 20 66 69 78 65 64 5f 73 69 7a 65 29 3b 0a 7d 0a | .List(ChildType,.fixed_size);.}. |
| a8520 | 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 66 6e 3c 2f 73 70 61 6e 3e 20 | .<span.class="tok-kw">fn</span>. |
| a8540 | 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 53 68 6f 72 74 4c 69 73 74 3c 2f | <span.class="tok-fn">ShortList</ |
| a8560 | 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 |
| a8580 | 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 |
| a85a0 | 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 |
| a85c0 | 6f 6b 2d 6b 77 22 3e 63 6f 6d 70 74 69 6d 65 3c 2f 73 70 61 6e 3e 20 6e 3a 20 3c 73 70 61 6e 20 | ok-kw">comptime</span>.n:.<span. |
| a85e0 | 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 75 73 69 7a 65 3c 2f 73 70 61 6e 3e 29 20 3c | class="tok-type">usize</span>).< |
| a8600 | 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 |
| a8620 | 3e 20 7b 0a 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 72 65 74 | >.{.....<span.class="tok-kw">ret |
| a8640 | 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"> |
| a8660 | 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 20 20 20 20 20 66 69 65 6c 64 5f 6e 61 | struct</span>.{.........field_na |
| a8680 | 6d 65 3a 20 5b 6e 5d 54 2c 0a 20 20 20 20 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 | me:.[n]T,.........<span.class="t |
| a86a0 | 6f 6b 2d 6b 77 22 3e 66 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 |
| a86c0 | 6b 2d 66 6e 22 3e 6d 65 74 68 6f 64 4e 61 6d 65 3c 2f 73 70 61 6e 3e 28 29 20 3c 73 70 61 6e 20 | k-fn">methodName</span>().<span. |
| a86e0 | 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 0a | class="tok-type">void</span>.{}. |
| a8700 | 20 20 20 20 7d 3b 0a 7d 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 63 6f 6d 6d 65 | ....};.}..<span.class="tok-comme |
| a8720 | 6e 74 22 3e 2f 2f 20 54 68 65 20 77 6f 72 64 20 58 4d 4c 20 6c 6f 73 65 73 20 69 74 73 20 63 61 | nt">//.The.word.XML.loses.its.ca |
| a8740 | 73 69 6e 67 20 77 68 65 6e 20 75 73 65 64 20 69 6e 20 5a 69 67 20 69 64 65 6e 74 69 66 69 65 72 | sing.when.used.in.Zig.identifier |
| a8760 | 73 2e 3c 2f 73 70 61 6e 3e 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | s.</span>.<span.class="tok-kw">c |
| a8780 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 78 6d 6c 5f 64 6f 63 75 6d 65 6e 74 20 3d 0a 20 20 20 20 3c | onst</span>.xml_document.=.....< |
| a87a0 | 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 26 6c 74 3b 3f 78 6d 6c 20 | span.class="tok-str">\\<?xml. |
| a87c0 | 76 65 72 73 69 6f 6e 3d 26 71 75 6f 74 3b 31 2e 30 26 71 75 6f 74 3b 20 65 6e 63 6f 64 69 6e 67 | version="1.0".encoding |
| a87e0 | 3d 26 71 75 6f 74 3b 55 54 46 2d 38 26 71 75 6f 74 3b 3f 26 67 74 3b 0a 3c 2f 73 70 61 6e 3e 20 | ="UTF-8"?>.</span>. |
| a8800 | 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 64 | ...<span.class="tok-str">\\<d |
| a8820 | 6f 63 75 6d 65 6e 74 26 67 74 3b 0a 3c 2f 73 70 61 6e 3e 20 20 20 20 3c 73 70 61 6e 20 63 6c 61 | ocument>.</span>....<span.cla |
| a8840 | 73 73 3d 22 74 6f 6b 2d 73 74 72 22 3e 5c 5c 26 6c 74 3b 2f 64 6f 63 75 6d 65 6e 74 26 67 74 3b | ss="tok-str">\\</document> |
| a8860 | 0a 3c 2f 73 70 61 6e 3e 3b 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 63 | .</span>;.<span.class="tok-kw">c |
| a8880 | 6f 6e 73 74 3c 2f 73 70 61 6e 3e 20 58 6d 6c 50 61 72 73 65 72 20 3d 20 3c 73 70 61 6e 20 63 6c | onst</span>.XmlParser.=.<span.cl |
| a88a0 | 61 73 73 3d 22 74 6f 6b 2d 6b 77 22 3e 73 74 72 75 63 74 3c 2f 73 70 61 6e 3e 20 7b 0a 20 20 20 | ass="tok-kw">struct</span>.{.... |
| a88c0 | 20 66 69 65 6c 64 3a 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 74 79 70 65 22 3e 69 | .field:.<span.class="tok-type">i |
| a88e0 | 33 32 3c 2f 73 70 61 6e 3e 2c 0a 7d 3b 0a 0a 3c 73 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d | 32</span>,.};..<span.class="tok- |
| a8900 | 63 6f 6d 6d 65 6e 74 22 3e 2f 2f 20 54 68 65 20 69 6e 69 74 69 61 6c 73 20 42 45 20 28 42 69 67 | comment">//.The.initials.BE.(Big |
| a8920 | 20 45 6e 64 69 61 6e 29 20 61 72 65 20 6a 75 73 74 20 61 6e 6f 74 68 65 72 20 77 6f 72 64 20 69 | .Endian).are.just.another.word.i |
| a8940 | 6e 20 5a 69 67 20 69 64 65 6e 74 69 66 69 65 72 20 6e 61 6d 65 73 2e 3c 2f 73 70 61 6e 3e 0a 3c | n.Zig.identifier.names.</span>.< |
| a8960 | 73 70 61 6e 20 63 6c 61 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 |
| a8980 | 70 61 6e 20 63 6c 61 73 73 3d 22 74 6f 6b 2d 66 6e 22 3e 72 65 61 64 55 33 32 42 65 3c 2f 73 70 | pan.class="tok-fn">readU32Be</sp |
| a89a0 | 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 33 32 | an>().<span.class="tok-type">u32 |
| a89c0 | 3c 2f 73 70 61 6e 3e 20 7b 7d 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 3c 70 | </span>.{}</code></pre>.......<p |
| a89e0 | 3e 0a 20 20 20 20 20 20 53 65 65 20 74 68 65 20 5a 69 67 20 53 74 61 6e 64 61 72 64 20 4c 69 62 | >.......See.the.Zig.Standard.Lib |
| a8a00 | 72 61 72 79 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 20 3c 2f | rary.for.more.examples........</ |
| a8a20 | 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 31 20 69 64 3d 22 53 | p>.....................<h1.id="S |
| a8a40 | 6f 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 53 6f | ource-Encoding"><a.href="#toc-So |
| a8a60 | 75 72 63 65 2d 45 6e 63 6f 64 69 6e 67 22 3e 53 6f 75 72 63 65 20 45 6e 63 6f 64 69 6e 67 3c 2f | urce-Encoding">Source.Encoding</ |
| a8a80 | 61 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 6f 75 72 63 65 2d | a>.<a.class="hdr".href="#Source- |
| a8aa0 | 45 6e 63 6f 64 69 6e 67 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e | Encoding">..</a></h1>........<p> |
| a8ac0 | 5a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 69 73 20 65 6e 63 6f 64 65 64 20 69 6e 20 55 54 | Zig.source.code.is.encoded.in.UT |
| a8ae0 | 46 2d 38 2e 20 41 6e 20 69 6e 76 61 6c 69 64 20 55 54 46 2d 38 20 62 79 74 65 20 73 65 71 75 65 | F-8..An.invalid.UTF-8.byte.seque |
| a8b00 | 6e 63 65 20 72 65 73 75 6c 74 73 20 69 6e 20 61 20 63 6f 6d 70 69 6c 65 20 65 72 72 6f 72 2e 3c | nce.results.in.a.compile.error.< |
| a8b20 | 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 72 6f 75 67 68 6f 75 74 20 61 6c 6c 20 7a 69 67 20 | /p>.......<p>Throughout.all.zig. |
| a8b40 | 73 6f 75 72 63 65 20 63 6f 64 65 20 28 69 6e 63 6c 75 64 69 6e 67 20 69 6e 20 63 6f 6d 6d 65 6e | source.code.(including.in.commen |
| a8b60 | 74 73 29 2c 20 73 6f 6d 65 20 63 6f 64 65 70 6f 69 6e 74 73 20 61 72 65 20 6e 65 76 65 72 20 61 | ts),.some.codepoints.are.never.a |
| a8b80 | 6c 6c 6f 77 65 64 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 | llowed:</p>.......<ul>.........< |
| a8ba0 | 6c 69 3e 41 73 63 69 69 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 65 72 73 2c 20 65 78 63 | li>Ascii.control.characters,.exc |
| a8bc0 | 65 70 74 20 66 6f 72 20 55 2b 30 30 30 61 20 28 4c 46 29 3a 20 55 2b 30 30 30 30 20 2d 20 55 2b | ept.for.U+000a.(LF):.U+0000.-.U+ |
| a8be0 | 30 30 30 39 2c 20 55 2b 30 30 30 62 20 2d 20 55 2b 30 30 30 31 66 2c 20 55 2b 30 30 37 66 2e 20 | 0009,.U+000b.-.U+0001f,.U+007f.. |
| a8c00 | 28 4e 6f 74 65 20 74 68 61 74 20 57 69 6e 64 6f 77 73 20 6c 69 6e 65 20 65 6e 64 69 6e 67 73 20 | (Note.that.Windows.line.endings. |
| a8c20 | 28 43 52 4c 46 29 20 61 72 65 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2c 20 61 6e 64 20 68 61 72 64 | (CRLF).are.not.allowed,.and.hard |
| a8c40 | 20 74 61 62 73 20 61 72 65 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 2e 29 3c 2f 6c 69 3e 0a 20 20 20 | .tabs.are.not.allowed.)</li>.... |
| a8c60 | 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 6e 65 20 | .....<li>Non-Ascii.Unicode.line. |
| a8c80 | 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 20 28 4c | endings:.U+0085.(NEL),.U+2028.(L |
| a8ca0 | 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 2f 75 6c | S),.U+2029.(PS).</li>.......</ul |
| a8cc0 | 3e 0a 20 20 20 20 20 20 3c 70 3e 54 68 65 20 63 6f 64 65 70 6f 69 6e 74 20 55 2b 30 30 30 61 20 | >.......<p>The.codepoint.U+000a. |
| a8ce0 | 28 4c 46 29 20 28 77 68 69 63 68 20 69 73 20 65 6e 63 6f 64 65 64 20 61 73 20 74 68 65 20 73 69 | (LF).(which.is.encoded.as.the.si |
| a8d00 | 6e 67 6c 65 2d 62 79 74 65 20 76 61 6c 75 65 20 30 78 30 61 29 20 69 73 20 74 68 65 20 6c 69 6e | ngle-byte.value.0x0a).is.the.lin |
| a8d20 | 65 20 74 65 72 6d 69 6e 61 74 6f 72 20 63 68 61 72 61 63 74 65 72 2e 20 54 68 69 73 20 63 68 61 | e.terminator.character..This.cha |
| a8d40 | 72 61 63 74 65 72 20 61 6c 77 61 79 73 20 74 65 72 6d 69 6e 61 74 65 73 20 61 20 6c 69 6e 65 20 | racter.always.terminates.a.line. |
| a8d60 | 6f 66 20 7a 69 67 20 73 6f 75 72 63 65 20 63 6f 64 65 20 28 65 78 63 65 70 74 20 70 6f 73 73 69 | of.zig.source.code.(except.possi |
| a8d80 | 62 6c 79 20 74 68 65 20 6c 61 73 74 20 6c 69 6e 65 20 6f 66 20 74 68 65 20 66 69 6c 65 29 2e 3c | bly.the.last.line.of.the.file).< |
| a8da0 | 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 46 6f 72 20 73 6f 6d 65 20 64 69 73 63 75 73 73 69 6f 6e | /p>.......<p>For.some.discussion |
| a8dc0 | 20 6f 6e 20 74 68 65 20 72 61 74 69 6f 6e 61 6c 65 20 62 65 68 69 6e 64 20 74 68 65 73 65 20 64 | .on.the.rationale.behind.these.d |
| a8de0 | 65 73 69 67 6e 20 64 65 63 69 73 69 6f 6e 73 2c 20 73 65 65 20 3c 61 20 68 72 65 66 3d 22 68 74 | esign.decisions,.see.<a.href="ht |
| a8e00 | 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 7a 69 67 6c 61 6e 67 2f 7a 69 67 2f 69 73 73 | tps://github.com/ziglang/zig/iss |
| a8e20 | 75 65 73 2f 36 36 33 22 3e 69 73 73 75 65 20 23 36 36 33 3c 2f 61 3e 3c 2f 70 3e 0a 20 20 20 20 | ues/663">issue.#663</a></p>..... |
| a8e40 | 20 20 0a 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 4b 65 79 77 6f 72 64 2d 52 65 66 65 72 65 | ..........<h1.id="Keyword-Refere |
| a8e60 | 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 72 | nce"><a.href="#toc-Keyword-Refer |
| a8e80 | 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 63 | ence">Keyword.Reference</a>.<a.c |
| a8ea0 | 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 65 | lass="hdr".href="#Keyword-Refere |
| a8ec0 | 6e 63 65 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 3e 0a 20 20 20 20 | nce">..</a></h1>........<p>..... |
| a8ee0 | 20 20 54 4f 44 4f 20 74 68 65 20 72 65 73 74 20 6f 66 20 74 68 65 20 6b 65 79 77 6f 72 64 73 2e | ..TODO.the.rest.of.the.keywords. |
| a8f00 | 20 4d 6f 73 74 20 6f 66 20 74 68 65 73 65 20 63 61 6e 20 6a 75 73 74 20 62 65 20 6c 69 6e 6b 73 | .Most.of.these.can.just.be.links |
| a8f20 | 20 74 6f 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 73 65 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 | .to.the.relevant.section........ |
| a8f40 | 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 68 32 20 69 64 3d 22 4b 65 79 77 6f 72 64 2d 70 75 62 22 3e | </p>.......<h2.id="Keyword-pub"> |
| a8f60 | 3c 61 20 68 72 65 66 3d 22 23 74 6f 63 2d 4b 65 79 77 6f 72 64 2d 70 75 62 22 3e 4b 65 79 77 6f | <a.href="#toc-Keyword-pub">Keywo |
| a8f80 | 72 64 3a 20 70 75 62 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d | rd:.pub</a>.<a.class="hdr".href= |
| a8fa0 | 22 23 4b 65 79 77 6f 72 64 2d 70 75 62 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 32 3e 0a 0a 20 20 20 20 | "#Keyword-pub">..</a></h2>...... |
| a8fc0 | 20 20 3c 70 3e 54 68 65 20 3c 63 6f 64 65 20 63 6c 61 73 73 3d 22 7a 69 67 22 3e 3c 73 70 61 6e | ..<p>The.<code.class="zig"><span |
| a8fe0 | 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 63 6f 64 65 | .class="tok-kw">pub</span></code |
| a9000 | 3e 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 61 20 74 6f 70 20 6c 65 76 65 6c 20 64 65 63 6c 61 72 | >.in.front.of.a.top.level.declar |
| a9020 | 61 74 69 6f 6e 20 6d 61 6b 65 73 20 74 68 65 0a 20 20 20 20 20 20 64 65 63 6c 61 72 61 74 69 6f | ation.makes.the.......declaratio |
| a9040 | 6e 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 72 65 66 65 72 65 6e 63 65 20 66 72 6f 6d 20 61 20 | n.available.to.reference.from.a. |
| a9060 | 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65 20 74 68 61 6e 20 74 68 65 20 6f 6e 65 20 69 74 20 69 | different.file.than.the.one.it.i |
| a9080 | 73 20 64 65 63 6c 61 72 65 64 20 69 6e 2e 3c 2f 70 3e 0a 20 20 20 20 20 20 3c 70 3e 53 65 65 20 | s.declared.in.</p>.......<p>See. |
| a90a0 | 61 6c 73 6f 3a 3c 2f 70 3e 3c 75 6c 3e 0a 3c 6c 69 3e 3c 61 20 68 72 65 66 3d 22 23 69 6d 70 6f | also:</p><ul>.<li><a.href="#impo |
| a90c0 | 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 0a 20 20 20 20 | rt">@import</a></li>.</ul>...... |
| a90e0 | 20 20 0a 20 20 20 20 20 20 0a 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 47 72 61 6d 6d 61 72 | .................<h1.id="Grammar |
| a9100 | 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 61 6d 6d 61 72 | "><a.href="#toc-Grammar">Grammar |
| a9120 | 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 65 66 3d 22 23 47 72 61 6d 6d | </a>.<a.class="hdr".href="#Gramm |
| a9140 | 61 72 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 70 72 65 3e 3c 63 6f 64 | ar">..</a></h1>........<pre><cod |
| a9160 | 65 3e 52 6f 6f 74 20 26 6c 74 3b 2d 20 73 6b 69 70 20 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 | e>Root.<-.skip.ContainerMembe |
| a9180 | 72 73 20 65 6f 66 0a 0a 23 20 2a 2a 2a 20 54 6f 70 20 6c 65 76 65 6c 20 2a 2a 2a 0a 43 6f 6e 74 | rs.eof..#.***.Top.level.***.Cont |
| a91a0 | 61 69 6e 65 72 4d 65 6d 62 65 72 73 0a 20 20 20 20 26 6c 74 3b 2d 20 54 65 73 74 44 65 63 6c 20 | ainerMembers.....<-.TestDecl. |
| a91c0 | 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 0a 20 20 20 20 20 2f 20 54 6f 70 4c 65 76 65 6c | ContainerMembers....../.TopLevel |
| a91e0 | 43 6f 6d 70 74 69 6d 65 20 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 0a 20 20 20 20 20 2f | Comptime.ContainerMembers....../ |
| a9200 | 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 |
| a9220 | 69 6e 65 72 4d 65 6d 62 65 72 73 0a 20 20 20 20 20 2f 20 43 6f 6e 74 61 69 6e 65 72 46 69 65 6c | inerMembers....../.ContainerFiel |
| a9240 | 64 20 43 4f 4d 4d 41 20 43 6f 6e 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 0a 20 20 20 20 20 2f 20 | d.COMMA.ContainerMembers....../. |
| a9260 | 43 6f 6e 74 61 69 6e 65 72 46 69 65 6c 64 0a 20 20 20 20 20 2f 0a 0a 54 65 73 74 44 65 63 6c 20 | ContainerField....../..TestDecl. |
| a9280 | 26 6c 74 3b 2d 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 | <-.KEYWORD_test.STRINGLITERAL |
| a92a0 | 53 49 4e 47 4c 45 20 42 6c 6f 63 6b 0a 0a 54 6f 70 4c 65 76 65 6c 43 6f 6d 70 74 69 6d 65 20 26 | SINGLE.Block..TopLevelComptime.& |
| a92c0 | 6c 74 3b 2d 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 0a | lt;-.KEYWORD_comptime.BlockExpr. |
| a92e0 | 0a 54 6f 70 4c 65 76 65 6c 44 65 63 6c 0a 20 20 20 20 26 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 | .TopLevelDecl.....<-.(KEYWORD |
| a9300 | 5f 65 78 70 6f 72 74 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 53 54 52 49 4e 47 4c | _export./.KEYWORD_extern.STRINGL |
| a9320 | 49 54 45 52 41 4c 53 49 4e 47 4c 45 3f 20 2f 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 29 3f | ITERALSINGLE?./.KEYWORD_inline)? |
| a9340 | 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 0a 20 20 20 | .FnProto.(SEMICOLON./.Block).... |
| a9360 | 20 20 2f 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 78 | ../.(KEYWORD_export./.KEYWORD_ex |
| a9380 | 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 29 3f 20 4b 45 59 57 | tern.STRINGLITERALSINGLE?)?.KEYW |
| a93a0 | 4f 52 44 5f 74 68 72 65 61 64 6c 6f 63 61 6c 3f 20 56 61 72 44 65 63 6c 0a 20 20 20 20 20 2f 20 | ORD_threadlocal?.VarDecl....../. |
| a93c0 | 4b 45 59 57 4f 52 44 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 20 45 78 70 72 20 53 45 4d 49 | KEYWORD_usingnamespace.Expr.SEMI |
| a93e0 | 43 4f 4c 4f 4e 0a 0a 46 6e 50 72 6f 74 6f 20 26 6c 74 3b 2d 20 46 6e 43 43 3f 20 4b 45 59 57 4f | COLON..FnProto.<-.FnCC?.KEYWO |
| a9400 | 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 61 6d 44 65 | RD_fn.IDENTIFIER?.LPAREN.ParamDe |
| a9420 | 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 6b 53 65 63 | clList.RPAREN.ByteAlign?.LinkSec |
| a9440 | 74 69 6f 6e 3f 20 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 3f 20 28 4b 45 59 57 4f 52 44 5f | tion?.EXCLAMATIONMARK?.(KEYWORD_ |
| a9460 | 76 61 72 20 2f 20 54 79 70 65 45 78 70 72 29 0a 0a 56 61 72 44 65 63 6c 20 26 6c 74 3b 2d 20 28 | var./.TypeExpr)..VarDecl.<-.( |
| a9480 | 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 2f 20 4b 45 59 57 4f 52 44 5f 76 61 72 29 20 49 44 45 | KEYWORD_const./.KEYWORD_var).IDE |
| a94a0 | 4e 54 49 46 49 45 52 20 28 43 4f 4c 4f 4e 20 54 79 70 65 45 78 70 72 29 3f 20 42 79 74 65 41 6c | NTIFIER.(COLON.TypeExpr)?.ByteAl |
| a94c0 | 69 67 6e 3f 20 4c 69 6e 6b 53 65 63 74 69 6f 6e 3f 20 28 45 51 55 41 4c 20 45 78 70 72 29 3f 20 | ign?.LinkSection?.(EQUAL.Expr)?. |
| a94e0 | 53 45 4d 49 43 4f 4c 4f 4e 0a 0a 43 6f 6e 74 61 69 6e 65 72 46 69 65 6c 64 20 26 6c 74 3b 2d 20 | SEMICOLON..ContainerField.<-. |
| a9500 | 49 44 45 4e 54 49 46 49 45 52 20 28 43 4f 4c 4f 4e 20 54 79 70 65 45 78 70 72 29 3f 20 28 45 51 | IDENTIFIER.(COLON.TypeExpr)?.(EQ |
| a9520 | 55 41 4c 20 45 78 70 72 29 3f 0a 0a 23 20 2a 2a 2a 20 42 6c 6f 63 6b 20 4c 65 76 65 6c 20 2a 2a | UAL.Expr)?..#.***.Block.Level.** |
| a9540 | 2a 0a 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 63 6f | *.Statement.....<-.KEYWORD_co |
| a9560 | 6d 70 74 69 6d 65 3f 20 56 61 72 44 65 63 6c 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 | mptime?.VarDecl....../.KEYWORD_c |
| a9580 | 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 0a 20 20 20 20 20 | omptime.BlockExprStatement...... |
| a95a0 | 2f 20 4b 45 59 57 4f 52 44 5f 73 75 73 70 65 6e 64 20 28 53 45 4d 49 43 4f 4c 4f 4e 20 2f 20 42 | /.KEYWORD_suspend.(SEMICOLON./.B |
| a95c0 | 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 29 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 | lockExprStatement)....../.KEYWOR |
| a95e0 | 44 5f 64 65 66 65 72 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 20 | D_defer.BlockExprStatement...... |
| a9600 | 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 20 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 | /.KEYWORD_errdefer.BlockExprStat |
| a9620 | 65 6d 65 6e 74 0a 20 20 20 20 20 2f 20 49 66 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 20 2f 20 | ement....../.IfStatement....../. |
| a9640 | 4c 61 62 65 6c 65 64 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 20 2f 20 53 77 69 74 63 68 45 78 | LabeledStatement....../.SwitchEx |
| a9660 | 70 72 0a 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 0a 0a | pr....../.AssignExpr.SEMICOLON.. |
| a9680 | 49 66 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 26 6c 74 3b 2d 20 49 66 50 72 65 66 69 78 20 42 | IfStatement.....<-.IfPrefix.B |
| a96a0 | 6c 6f 63 6b 45 78 70 72 20 28 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f | lockExpr.(.KEYWORD_else.Payload? |
| a96c0 | 20 53 74 61 74 65 6d 65 6e 74 20 29 3f 0a 20 20 20 20 20 2f 20 49 66 50 72 65 66 69 78 20 41 73 | .Statement.)?....../.IfPrefix.As |
| a96e0 | 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 4f 52 44 5f 65 | signExpr.(.SEMICOLON./.KEYWORD_e |
| a9700 | 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 0a 0a 4c 61 62 65 6c 65 | lse.Payload?.Statement.)..Labele |
| a9720 | 64 53 74 61 74 65 6d 65 6e 74 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 28 42 6c | dStatement.<-.BlockLabel?.(Bl |
| a9740 | 6f 63 6b 20 2f 20 4c 6f 6f 70 53 74 61 74 65 6d 65 6e 74 29 0a 0a 4c 6f 6f 70 53 74 61 74 65 6d | ock./.LoopStatement)..LoopStatem |
| a9760 | 65 6e 74 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 3f 20 28 46 6f 72 53 74 | ent.<-.KEYWORD_inline?.(ForSt |
| a9780 | 61 74 65 6d 65 6e 74 20 2f 20 57 68 69 6c 65 53 74 61 74 65 6d 65 6e 74 29 0a 0a 46 6f 72 53 74 | atement./.WhileStatement)..ForSt |
| a97a0 | 61 74 65 6d 65 6e 74 0a 20 20 20 20 26 6c 74 3b 2d 20 46 6f 72 50 72 65 66 69 78 20 42 6c 6f 63 | atement.....<-.ForPrefix.Bloc |
| a97c0 | 6b 45 78 70 72 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 | kExpr.(.KEYWORD_else.Statement.) |
| a97e0 | 3f 0a 20 20 20 20 20 2f 20 46 6f 72 50 72 65 66 69 78 20 41 73 73 69 67 6e 45 78 70 72 20 28 20 | ?....../.ForPrefix.AssignExpr.(. |
| a9800 | 53 45 4d 49 43 4f 4c 4f 4e 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 53 74 61 74 65 6d 65 | SEMICOLON./.KEYWORD_else.Stateme |
| a9820 | 6e 74 20 29 0a 0a 57 68 69 6c 65 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 26 6c 74 3b 2d 20 57 | nt.)..WhileStatement.....<-.W |
| a9840 | 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 44 5f 65 | hilePrefix.BlockExpr.(.KEYWORD_e |
| a9860 | 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 65 6d 65 6e 74 20 29 3f 0a 20 20 20 20 20 2f | lse.Payload?.Statement.)?....../ |
| a9880 | 20 57 68 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 | .WhilePrefix.AssignExpr.(.SEMICO |
| a98a0 | 4c 4f 4e 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 53 74 61 74 | LON./.KEYWORD_else.Payload?.Stat |
| a98c0 | 65 6d 65 6e 74 20 29 0a 0a 42 6c 6f 63 6b 45 78 70 72 53 74 61 74 65 6d 65 6e 74 0a 20 20 20 20 | ement.)..BlockExprStatement..... |
| a98e0 | 26 6c 74 3b 2d 20 42 6c 6f 63 6b 45 78 70 72 0a 20 20 20 20 20 2f 20 41 73 73 69 67 6e 45 78 70 | <-.BlockExpr....../.AssignExp |
| a9900 | 72 20 53 45 4d 49 43 4f 4c 4f 4e 0a 0a 42 6c 6f 63 6b 45 78 70 72 20 26 6c 74 3b 2d 20 42 6c 6f | r.SEMICOLON..BlockExpr.<-.Blo |
| a9920 | 63 6b 4c 61 62 65 6c 3f 20 42 6c 6f 63 6b 0a 0a 23 20 2a 2a 2a 20 45 78 70 72 65 73 73 69 6f 6e | ckLabel?.Block..#.***.Expression |
| a9940 | 20 4c 65 76 65 6c 20 2a 2a 2a 0a 41 73 73 69 67 6e 45 78 70 72 20 26 6c 74 3b 2d 20 45 78 70 72 | .Level.***.AssignExpr.<-.Expr |
| a9960 | 20 28 41 73 73 69 67 6e 4f 70 20 45 78 70 72 29 3f 0a 0a 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 | .(AssignOp.Expr)?..Expr.<-.KE |
| a9980 | 59 57 4f 52 44 5f 74 72 79 2a 20 42 6f 6f 6c 4f 72 45 78 70 72 0a 0a 42 6f 6f 6c 4f 72 45 78 70 | YWORD_try*.BoolOrExpr..BoolOrExp |
| a99a0 | 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 72 20 | r.<-.BoolAndExpr.(KEYWORD_or. |
| a99c0 | 42 6f 6f 6c 41 6e 64 45 78 70 72 29 2a 0a 0a 42 6f 6f 6c 41 6e 64 45 78 70 72 20 26 6c 74 3b 2d | BoolAndExpr)*..BoolAndExpr.<- |
| a99e0 | 20 43 6f 6d 70 61 72 65 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 61 6e 64 20 43 6f 6d 70 61 72 | .CompareExpr.(KEYWORD_and.Compar |
| a9a00 | 65 45 78 70 72 29 2a 0a 0a 43 6f 6d 70 61 72 65 45 78 70 72 20 26 6c 74 3b 2d 20 42 69 74 77 69 | eExpr)*..CompareExpr.<-.Bitwi |
| a9a20 | 73 65 45 78 70 72 20 28 43 6f 6d 70 61 72 65 4f 70 20 42 69 74 77 69 73 65 45 78 70 72 29 3f 0a | seExpr.(CompareOp.BitwiseExpr)?. |
| a9a40 | 0a 42 69 74 77 69 73 65 45 78 70 72 20 26 6c 74 3b 2d 20 42 69 74 53 68 69 66 74 45 78 70 72 20 | .BitwiseExpr.<-.BitShiftExpr. |
| a9a60 | 28 42 69 74 77 69 73 65 4f 70 20 42 69 74 53 68 69 66 74 45 78 70 72 29 2a 0a 0a 42 69 74 53 68 | (BitwiseOp.BitShiftExpr)*..BitSh |
| a9a80 | 69 66 74 45 78 70 72 20 26 6c 74 3b 2d 20 41 64 64 69 74 69 6f 6e 45 78 70 72 20 28 42 69 74 53 | iftExpr.<-.AdditionExpr.(BitS |
| a9aa0 | 68 69 66 74 4f 70 20 41 64 64 69 74 69 6f 6e 45 78 70 72 29 2a 0a 0a 41 64 64 69 74 69 6f 6e 45 | hiftOp.AdditionExpr)*..AdditionE |
| a9ac0 | 78 70 72 20 26 6c 74 3b 2d 20 4d 75 6c 74 69 70 6c 79 45 78 70 72 20 28 41 64 64 69 74 69 6f 6e | xpr.<-.MultiplyExpr.(Addition |
| a9ae0 | 4f 70 20 4d 75 6c 74 69 70 6c 79 45 78 70 72 29 2a 0a 0a 4d 75 6c 74 69 70 6c 79 45 78 70 72 20 | Op.MultiplyExpr)*..MultiplyExpr. |
| a9b00 | 26 6c 74 3b 2d 20 50 72 65 66 69 78 45 78 70 72 20 28 4d 75 6c 74 69 70 6c 79 4f 70 20 50 72 65 | <-.PrefixExpr.(MultiplyOp.Pre |
| a9b20 | 66 69 78 45 78 70 72 29 2a 0a 0a 50 72 65 66 69 78 45 78 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 | fixExpr)*..PrefixExpr.<-.Pref |
| a9b40 | 69 78 4f 70 2a 20 50 72 69 6d 61 72 79 45 78 70 72 0a 0a 50 72 69 6d 61 72 79 45 78 70 72 0a 20 | ixOp*.PrimaryExpr..PrimaryExpr.. |
| a9b60 | 20 20 20 26 6c 74 3b 2d 20 41 73 6d 45 78 70 72 0a 20 20 20 20 20 2f 20 49 66 45 78 70 72 0a 20 | ...<-.AsmExpr....../.IfExpr.. |
| a9b80 | 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 62 72 65 61 6b 20 42 72 65 61 6b 4c 61 62 65 6c 3f 20 | ..../.KEYWORD_break.BreakLabel?. |
| a9ba0 | 45 78 70 72 3f 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 45 78 | Expr?....../.KEYWORD_comptime.Ex |
| a9bc0 | 70 72 0a 20 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 | pr....../.KEYWORD_continue.Break |
| a9be0 | 4c 61 62 65 6c 3f 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 73 75 6d 65 20 45 78 70 | Label?....../.KEYWORD_resume.Exp |
| a9c00 | 72 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 74 75 72 6e 20 45 78 70 72 3f 0a 20 20 | r....../.KEYWORD_return.Expr?... |
| a9c20 | 20 20 20 2f 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 4c 6f 6f 70 45 78 70 72 0a 20 20 20 20 20 2f | .../.BlockLabel?.LoopExpr....../ |
| a9c40 | 20 42 6c 6f 63 6b 0a 20 20 20 20 20 2f 20 43 75 72 6c 79 53 75 66 66 69 78 45 78 70 72 0a 0a 49 | .Block....../.CurlySuffixExpr..I |
| a9c60 | 66 45 78 70 72 20 26 6c 74 3b 2d 20 49 66 50 72 65 66 69 78 20 45 78 70 72 20 28 4b 45 59 57 4f | fExpr.<-.IfPrefix.Expr.(KEYWO |
| a9c80 | 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 45 78 70 72 29 3f 0a 0a 42 6c 6f 63 6b 20 26 | RD_else.Payload?.Expr)?..Block.& |
| a9ca0 | 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 41 43 45 0a 0a 4c | lt;-.LBRACE.Statement*.RBRACE..L |
| a9cc0 | 6f 6f 70 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 3f 20 28 46 | oopExpr.<-.KEYWORD_inline?.(F |
| a9ce0 | 6f 72 45 78 70 72 20 2f 20 57 68 69 6c 65 45 78 70 72 29 0a 0a 46 6f 72 45 78 70 72 20 26 6c 74 | orExpr./.WhileExpr)..ForExpr.< |
| a9d00 | 3b 2d 20 46 6f 72 50 72 65 66 69 78 20 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 | ;-.ForPrefix.Expr.(KEYWORD_else. |
| a9d20 | 45 78 70 72 29 3f 0a 0a 57 68 69 6c 65 45 78 70 72 20 26 6c 74 3b 2d 20 57 68 69 6c 65 50 72 65 | Expr)?..WhileExpr.<-.WhilePre |
| a9d40 | 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 3f 20 | fix.Expr.(KEYWORD_else.Payload?. |
| a9d60 | 45 78 70 72 29 3f 0a 0a 43 75 72 6c 79 53 75 66 66 69 78 45 78 70 72 20 26 6c 74 3b 2d 20 54 79 | Expr)?..CurlySuffixExpr.<-.Ty |
| a9d80 | 70 65 45 78 70 72 20 49 6e 69 74 4c 69 73 74 3f 0a 0a 49 6e 69 74 4c 69 73 74 0a 20 20 20 20 26 | peExpr.InitList?..InitList.....& |
| a9da0 | 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 20 46 69 65 | lt;-.LBRACE.FieldInit.(COMMA.Fie |
| a9dc0 | 6c 64 49 6e 69 74 29 2a 20 43 4f 4d 4d 41 3f 20 52 42 52 41 43 45 0a 20 20 20 20 20 2f 20 4c 42 | ldInit)*.COMMA?.RBRACE....../.LB |
| a9de0 | 52 41 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 | RACE.Expr.(COMMA.Expr)*.COMMA?.R |
| a9e00 | 42 52 41 43 45 0a 20 20 20 20 20 2f 20 4c 42 52 41 43 45 20 52 42 52 41 43 45 0a 0a 54 79 70 65 | BRACE....../.LBRACE.RBRACE..Type |
| a9e20 | 45 78 70 72 20 26 6c 74 3b 2d 20 50 72 65 66 69 78 54 79 70 65 4f 70 2a 20 45 72 72 6f 72 55 6e | Expr.<-.PrefixTypeOp*.ErrorUn |
| a9e40 | 69 6f 6e 45 78 70 72 0a 0a 45 72 72 6f 72 55 6e 69 6f 6e 45 78 70 72 20 26 6c 74 3b 2d 20 53 75 | ionExpr..ErrorUnionExpr.<-.Su |
| a9e60 | 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 |
| a9e80 | 70 72 29 3f 0a 0a 53 75 66 66 69 78 45 78 70 72 0a 20 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f | pr)?..SuffixExpr.....<-.KEYWO |
| a9ea0 | 52 44 5f 61 73 79 6e 63 20 50 72 69 6d 61 72 79 54 79 70 65 45 78 70 72 20 53 75 66 66 69 78 4f | RD_async.PrimaryTypeExpr.SuffixO |
| a9ec0 | 70 2a 20 46 6e 43 61 6c 6c 41 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 2f 20 50 72 69 6d 61 72 | p*.FnCallArguments....../.Primar |
| a9ee0 | 79 54 79 70 65 45 78 70 72 20 28 53 75 66 66 69 78 4f 70 20 2f 20 46 6e 43 61 6c 6c 41 72 67 75 | yTypeExpr.(SuffixOp./.FnCallArgu |
| a9f00 | 6d 65 6e 74 73 29 2a 0a 0a 50 72 69 6d 61 72 79 54 79 70 65 45 78 70 72 0a 20 20 20 20 26 6c 74 | ments)*..PrimaryTypeExpr.....< |
| a9f20 | 3b 2d 20 42 55 49 4c 54 49 4e 49 44 45 4e 54 49 46 49 45 52 20 46 6e 43 61 6c 6c 41 72 67 75 6d | ;-.BUILTINIDENTIFIER.FnCallArgum |
| a9f40 | 65 6e 74 73 0a 20 20 20 20 20 2f 20 43 48 41 52 5f 4c 49 54 45 52 41 4c 0a 20 20 20 20 20 2f 20 | ents....../.CHAR_LITERAL....../. |
| a9f60 | 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 0a 20 20 20 20 20 2f 20 44 4f 54 20 49 44 45 4e 54 49 46 | ContainerDecl....../.DOT.IDENTIF |
| a9f80 | 49 45 52 0a 20 20 20 20 20 2f 20 44 4f 54 20 49 6e 69 74 4c 69 73 74 0a 20 20 20 20 20 2f 20 45 | IER....../.DOT.InitList....../.E |
| a9fa0 | 72 72 6f 72 53 65 74 44 65 63 6c 0a 20 20 20 20 20 2f 20 46 4c 4f 41 54 0a 20 20 20 20 20 2f 20 | rrorSetDecl....../.FLOAT....../. |
| a9fc0 | 46 6e 50 72 6f 74 6f 0a 20 20 20 20 20 2f 20 47 72 6f 75 70 65 64 45 78 70 72 0a 20 20 20 20 20 | FnProto....../.GroupedExpr...... |
| a9fe0 | 2f 20 4c 61 62 65 6c 65 64 54 79 70 65 45 78 70 72 0a 20 20 20 20 20 2f 20 49 44 45 4e 54 49 46 | /.LabeledTypeExpr....../.IDENTIF |
| aa000 | 49 45 52 0a 20 20 20 20 20 2f 20 49 66 54 79 70 65 45 78 70 72 0a 20 20 20 20 20 2f 20 49 4e 54 | IER....../.IfTypeExpr....../.INT |
| aa020 | 45 47 45 52 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 54 79 70 | EGER....../.KEYWORD_comptime.Typ |
| aa040 | 65 45 78 70 72 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 44 4f 54 20 49 | eExpr....../.KEYWORD_error.DOT.I |
| aa060 | 44 45 4e 54 49 46 49 45 52 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 66 61 6c 73 65 0a 20 | DENTIFIER....../.KEYWORD_false.. |
| aa080 | 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 75 6c 6c 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 | ..../.KEYWORD_null....../.KEYWOR |
| aa0a0 | 44 5f 70 72 6f 6d 69 73 65 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 74 72 75 65 0a 20 20 | D_promise....../.KEYWORD_true... |
| aa0c0 | 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 64 65 66 69 6e 65 64 0a 20 20 20 20 20 2f 20 4b 45 | .../.KEYWORD_undefined....../.KE |
| aa0e0 | 59 57 4f 52 44 5f 75 6e 72 65 61 63 68 61 62 6c 65 0a 20 20 20 20 20 2f 20 53 54 52 49 4e 47 4c | YWORD_unreachable....../.STRINGL |
| aa100 | 49 54 45 52 41 4c 0a 20 20 20 20 20 2f 20 53 77 69 74 63 68 45 78 70 72 0a 0a 43 6f 6e 74 61 69 | ITERAL....../.SwitchExpr..Contai |
| aa120 | 6e 65 72 44 65 63 6c 20 26 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 2f 20 | nerDecl.<-.(KEYWORD_extern./. |
| aa140 | 4b 45 59 57 4f 52 44 5f 70 61 63 6b 65 64 29 3f 20 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 41 75 | KEYWORD_packed)?.ContainerDeclAu |
| aa160 | 74 6f 0a 0a 45 72 72 6f 72 53 65 74 44 65 63 6c 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 65 | to..ErrorSetDecl.<-.KEYWORD_e |
| aa180 | 72 72 6f 72 20 4c 42 52 41 43 45 20 49 64 65 6e 74 69 66 69 65 72 4c 69 73 74 20 52 42 52 41 43 | rror.LBRACE.IdentifierList.RBRAC |
| aa1a0 | 45 0a 0a 47 72 6f 75 70 65 64 45 78 70 72 20 26 6c 74 3b 2d 20 4c 50 41 52 45 4e 20 45 78 70 72 | E..GroupedExpr.<-.LPAREN.Expr |
| aa1c0 | 20 52 50 41 52 45 4e 0a 0a 49 66 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 49 66 50 72 65 66 | .RPAREN..IfTypeExpr.<-.IfPref |
| aa1e0 | 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 6f 61 | ix.TypeExpr.(KEYWORD_else.Payloa |
| aa200 | 64 3f 20 54 79 70 65 45 78 70 72 29 3f 0a 0a 4c 61 62 65 6c 65 64 54 79 70 65 45 78 70 72 0a 20 | d?.TypeExpr)?..LabeledTypeExpr.. |
| aa220 | 20 20 20 26 6c 74 3b 2d 20 42 6c 6f 63 6b 4c 61 62 65 6c 20 42 6c 6f 63 6b 0a 20 20 20 20 20 2f | ...<-.BlockLabel.Block....../ |
| aa240 | 20 42 6c 6f 63 6b 4c 61 62 65 6c 3f 20 4c 6f 6f 70 54 79 70 65 45 78 70 72 0a 0a 4c 6f 6f 70 54 | .BlockLabel?.LoopTypeExpr..LoopT |
| aa260 | 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 46 | ypeExpr.<-.KEYWORD_inline?.(F |
| aa280 | 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 0a 0a 46 6f 72 | orTypeExpr./.WhileTypeExpr)..For |
| aa2a0 | 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 46 6f 72 50 72 65 66 69 78 20 54 79 70 65 45 78 70 | TypeExpr.<-.ForPrefix.TypeExp |
| aa2c0 | 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 54 79 70 65 45 78 70 72 29 3f 0a 0a 57 68 69 6c | r.(KEYWORD_else.TypeExpr)?..Whil |
| aa2e0 | 65 54 79 70 65 45 78 70 72 20 26 6c 74 3b 2d 20 57 68 69 6c 65 50 72 65 66 69 78 20 54 79 70 65 | eTypeExpr.<-.WhilePrefix.Type |
| aa300 | 45 78 70 72 20 28 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 50 61 79 6c 6f 61 64 3f 20 54 79 70 65 | Expr.(KEYWORD_else.Payload?.Type |
| aa320 | 45 78 70 72 29 3f 0a 0a 53 77 69 74 63 68 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 | Expr)?..SwitchExpr.<-.KEYWORD |
| aa340 | 5f 73 77 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 | _switch.LPAREN.Expr.RPAREN.LBRAC |
| aa360 | 45 20 53 77 69 74 63 68 50 72 6f 6e 67 4c 69 73 74 20 52 42 52 41 43 45 0a 0a 23 20 2a 2a 2a 20 | E.SwitchProngList.RBRACE..#.***. |
| aa380 | 41 73 73 65 6d 62 6c 79 20 2a 2a 2a 0a 41 73 6d 45 78 70 72 20 26 6c 74 3b 2d 20 4b 45 59 57 4f | Assembly.***.AsmExpr.<-.KEYWO |
| aa3a0 | 52 44 5f 61 73 6d 20 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 3f 20 4c 50 41 52 45 4e 20 | RD_asm.KEYWORD_volatile?.LPAREN. |
| aa3c0 | 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 20 41 73 6d 4f 75 74 70 75 74 3f 20 52 50 41 52 45 4e 0a | STRINGLITERAL.AsmOutput?.RPAREN. |
| aa3e0 | 0a 41 73 6d 4f 75 74 70 75 74 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 41 73 6d 4f 75 74 70 75 74 | .AsmOutput.<-.COLON.AsmOutput |
| aa400 | 4c 69 73 74 20 41 73 6d 49 6e 70 75 74 3f 0a 0a 41 73 6d 4f 75 74 70 75 74 49 74 65 6d 20 26 6c | List.AsmInput?..AsmOutputItem.&l |
| aa420 | 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 49 44 45 4e 54 49 46 49 45 52 20 52 42 52 41 43 4b 45 54 | t;-.LBRACKET.IDENTIFIER.RBRACKET |
| aa440 | 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 20 4c 50 41 52 45 4e 20 28 4d 49 4e 55 53 52 41 52 52 | .STRINGLITERAL.LPAREN.(MINUSRARR |
| aa460 | 4f 57 20 54 79 70 65 45 78 70 72 20 2f 20 49 44 45 4e 54 49 46 49 45 52 29 20 52 50 41 52 45 4e | OW.TypeExpr./.IDENTIFIER).RPAREN |
| aa480 | 0a 0a 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 | ..AsmInput.<-.COLON.AsmInputL |
| aa4a0 | 69 73 74 20 41 73 6d 43 6c 6f 62 62 65 72 73 3f 0a 0a 41 73 6d 49 6e 70 75 74 49 74 65 6d 20 26 | ist.AsmClobbers?..AsmInputItem.& |
| aa4c0 | 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 49 44 45 4e 54 49 46 49 45 52 20 52 42 52 41 43 4b 45 | lt;-.LBRACKET.IDENTIFIER.RBRACKE |
| aa4e0 | 54 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 | T.STRINGLITERAL.LPAREN.Expr.RPAR |
| aa500 | 45 4e 0a 0a 41 73 6d 43 6c 6f 62 62 65 72 73 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 53 74 72 69 | EN..AsmClobbers.<-.COLON.Stri |
| aa520 | 6e 67 4c 69 73 74 0a 0a 23 20 2a 2a 2a 20 48 65 6c 70 65 72 20 67 72 61 6d 6d 61 72 20 2a 2a 2a | ngList..#.***.Helper.grammar.*** |
| aa540 | 0a 42 72 65 61 6b 4c 61 62 65 6c 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 49 44 45 4e 54 49 46 49 | .BreakLabel.<-.COLON.IDENTIFI |
| aa560 | 45 52 0a 0a 42 6c 6f 63 6b 4c 61 62 65 6c 20 26 6c 74 3b 2d 20 49 44 45 4e 54 49 46 49 45 52 20 | ER..BlockLabel.<-.IDENTIFIER. |
| aa580 | 43 4f 4c 4f 4e 0a 0a 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 | COLON..FieldInit.<-.DOT.IDENT |
| aa5a0 | 49 46 49 45 52 20 45 51 55 41 4c 20 45 78 70 72 0a 0a 57 68 69 6c 65 43 6f 6e 74 69 6e 75 65 45 | IFIER.EQUAL.Expr..WhileContinueE |
| aa5c0 | 78 70 72 20 26 6c 74 3b 2d 20 43 4f 4c 4f 4e 20 4c 50 41 52 45 4e 20 41 73 73 69 67 6e 45 78 70 | xpr.<-.COLON.LPAREN.AssignExp |
| aa5e0 | 72 20 52 50 41 52 45 4e 0a 0a 4c 69 6e 6b 53 65 63 74 69 6f 6e 20 26 6c 74 3b 2d 20 4b 45 59 57 | r.RPAREN..LinkSection.<-.KEYW |
| aa600 | 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 52 50 41 52 | ORD_linksection.LPAREN.Expr.RPAR |
| aa620 | 45 4e 0a 0a 23 20 46 6e 20 73 70 65 63 69 66 69 63 0a 46 6e 43 43 0a 20 20 20 20 26 6c 74 3b 2d | EN..#.Fn.specific.FnCC.....<- |
| aa640 | 20 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 61 | .KEYWORD_extern....../.KEYWORD_a |
| aa660 | 73 79 6e 63 0a 0a 50 61 72 61 6d 44 65 63 6c 20 26 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 6e | sync..ParamDecl.<-.(KEYWORD_n |
| aa680 | 6f 61 6c 69 61 73 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 29 3f 20 28 49 44 45 | oalias./.KEYWORD_comptime)?.(IDE |
| aa6a0 | 4e 54 49 46 49 45 52 20 43 4f 4c 4f 4e 29 3f 20 50 61 72 61 6d 54 79 70 65 0a 0a 50 61 72 61 6d | NTIFIER.COLON)?.ParamType..Param |
| aa6c0 | 54 79 70 65 0a 20 20 20 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 76 61 72 0a 20 20 20 20 20 | Type.....<-.KEYWORD_var...... |
| aa6e0 | 2f 20 44 4f 54 33 0a 20 20 20 20 20 2f 20 54 79 70 65 45 78 70 72 0a 0a 23 20 43 6f 6e 74 72 6f | /.DOT3....../.TypeExpr..#.Contro |
| aa700 | 6c 20 66 6c 6f 77 20 70 72 65 66 69 78 65 73 0a 49 66 50 72 65 66 69 78 20 26 6c 74 3b 2d 20 4b | l.flow.prefixes.IfPrefix.<-.K |
| aa720 | 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 4e 20 50 74 72 | EYWORD_if.LPAREN.Expr.RPAREN.Ptr |
| aa740 | 50 61 79 6c 6f 61 64 3f 0a 0a 57 68 69 6c 65 50 72 65 66 69 78 20 26 6c 74 3b 2d 20 4b 45 59 57 | Payload?..WhilePrefix.<-.KEYW |
| aa760 | 4f 52 44 5f 77 68 69 6c 65 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 20 50 74 72 | ORD_while.LPAREN.Expr.RPAREN.Ptr |
| aa780 | 50 61 79 6c 6f 61 64 3f 20 57 68 69 6c 65 43 6f 6e 74 69 6e 75 65 45 78 70 72 3f 0a 0a 46 6f 72 | Payload?.WhileContinueExpr?..For |
| aa7a0 | 50 72 65 66 69 78 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 66 6f 72 20 4c 50 41 52 45 4e 20 | Prefix.<-.KEYWORD_for.LPAREN. |
| aa7c0 | 45 78 70 72 20 52 50 41 52 45 4e 20 50 74 72 49 6e 64 65 78 50 61 79 6c 6f 61 64 0a 0a 23 20 50 | Expr.RPAREN.PtrIndexPayload..#.P |
| aa7e0 | 61 79 6c 6f 61 64 73 0a 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 50 45 20 49 44 45 4e 54 | ayloads.Payload.<-.PIPE.IDENT |
| aa800 | 49 46 49 45 52 20 50 49 50 45 0a 0a 50 74 72 50 61 79 6c 6f 61 64 20 26 6c 74 3b 2d 20 50 49 50 | IFIER.PIPE..PtrPayload.<-.PIP |
| aa820 | 45 20 41 53 54 45 52 49 53 4b 3f 20 49 44 45 4e 54 49 46 49 45 52 20 50 49 50 45 0a 0a 50 74 72 | E.ASTERISK?.IDENTIFIER.PIPE..Ptr |
| aa840 | 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 49 53 4b | IndexPayload.<-.PIPE.ASTERISK |
| aa860 | 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 52 29 3f | ?.IDENTIFIER.(COMMA.IDENTIFIER)? |
| aa880 | 20 50 49 50 45 0a 0a 0a 23 20 53 77 69 74 63 68 20 73 70 65 63 69 66 69 63 0a 53 77 69 74 63 68 | .PIPE...#.Switch.specific.Switch |
| aa8a0 | 50 72 6f 6e 67 20 26 6c 74 3b 2d 20 53 77 69 74 63 68 43 61 73 65 20 45 51 55 41 4c 52 41 52 52 | Prong.<-.SwitchCase.EQUALRARR |
| aa8c0 | 4f 57 20 50 74 72 50 61 79 6c 6f 61 64 3f 20 41 73 73 69 67 6e 45 78 70 72 0a 0a 53 77 69 74 63 | OW.PtrPayload?.AssignExpr..Switc |
| aa8e0 | 68 43 61 73 65 0a 20 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 | hCase.....<-.SwitchItem.(COMM |
| aa900 | 41 20 53 77 69 74 63 68 49 74 65 6d 29 2a 20 43 4f 4d 4d 41 3f 0a 20 20 20 20 20 2f 20 4b 45 59 | A.SwitchItem)*.COMMA?....../.KEY |
| aa920 | 57 4f 52 44 5f 65 6c 73 65 0a 0a 53 77 69 74 63 68 49 74 65 6d 20 26 6c 74 3b 2d 20 45 78 70 72 | WORD_else..SwitchItem.<-.Expr |
| aa940 | 20 28 44 4f 54 33 20 45 78 70 72 29 3f 0a 0a 23 20 4f 70 65 72 61 74 6f 72 73 0a 41 73 73 69 67 | .(DOT3.Expr)?..#.Operators.Assig |
| aa960 | 6e 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 41 53 54 45 52 49 53 4b 45 51 55 41 4c 0a 20 20 20 20 | nOp.....<-.ASTERISKEQUAL..... |
| aa980 | 20 2f 20 53 4c 41 53 48 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 50 45 52 43 45 4e 54 45 51 55 41 | ./.SLASHEQUAL....../.PERCENTEQUA |
| aa9a0 | 4c 0a 20 20 20 20 20 2f 20 50 4c 55 53 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 45 | L....../.PLUSEQUAL....../.MINUSE |
| aa9c0 | 51 55 41 4c 0a 20 20 20 20 20 2f 20 4c 41 52 52 4f 57 32 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 | QUAL....../.LARROW2EQUAL....../. |
| aa9e0 | 52 41 52 52 4f 57 32 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 41 4d 50 45 52 53 41 4e 44 45 51 55 | RARROW2EQUAL....../.AMPERSANDEQU |
| aaa00 | 41 4c 0a 20 20 20 20 20 2f 20 43 41 52 45 54 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 50 49 50 45 | AL....../.CARETEQUAL....../.PIPE |
| aaa20 | 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 45 51 55 41 | EQUAL....../.ASTERISKPERCENTEQUA |
| aaa40 | 4c 0a 20 20 20 20 20 2f 20 50 4c 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 0a 20 20 20 20 20 2f | L....../.PLUSPERCENTEQUAL....../ |
| aaa60 | 20 4d 49 4e 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 45 51 55 41 4c 0a | .MINUSPERCENTEQUAL....../.EQUAL. |
| aaa80 | 0a 43 6f 6d 70 61 72 65 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 45 51 55 41 4c 45 51 55 41 4c 0a | .CompareOp.....<-.EQUALEQUAL. |
| aaaa0 | 20 20 20 20 20 2f 20 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 45 51 55 41 4c 0a 20 20 20 20 | ...../.EXCLAMATIONMARKEQUAL..... |
| aaac0 | 20 2f 20 4c 41 52 52 4f 57 0a 20 20 20 20 20 2f 20 52 41 52 52 4f 57 0a 20 20 20 20 20 2f 20 4c | ./.LARROW....../.RARROW....../.L |
| aaae0 | 41 52 52 4f 57 45 51 55 41 4c 0a 20 20 20 20 20 2f 20 52 41 52 52 4f 57 45 51 55 41 4c 0a 0a 42 | ARROWEQUAL....../.RARROWEQUAL..B |
| aab00 | 69 74 77 69 73 65 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 41 4d 50 45 52 53 41 4e 44 0a 20 20 20 | itwiseOp.....<-.AMPERSAND.... |
| aab20 | 20 20 2f 20 43 41 52 45 54 0a 20 20 20 20 20 2f 20 50 49 50 45 0a 20 20 20 20 20 2f 20 4b 45 59 | ../.CARET....../.PIPE....../.KEY |
| aab40 | 57 4f 52 44 5f 6f 72 65 6c 73 65 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 61 74 63 68 | WORD_orelse....../.KEYWORD_catch |
| aab60 | 20 50 61 79 6c 6f 61 64 3f 0a 0a 42 69 74 53 68 69 66 74 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 | .Payload?..BitShiftOp.....<-. |
| aab80 | 4c 41 52 52 4f 57 32 0a 20 20 20 20 20 2f 20 52 41 52 52 4f 57 32 0a 0a 41 64 64 69 74 69 6f 6e | LARROW2....../.RARROW2..Addition |
| aaba0 | 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 50 4c 55 53 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 0a 20 | Op.....<-.PLUS....../.MINUS.. |
| aabc0 | 20 20 20 20 2f 20 50 4c 55 53 32 0a 20 20 20 20 20 2f 20 50 4c 55 53 50 45 52 43 45 4e 54 0a 20 | ..../.PLUS2....../.PLUSPERCENT.. |
| aabe0 | 20 20 20 20 2f 20 4d 49 4e 55 53 50 45 52 43 45 4e 54 0a 0a 4d 75 6c 74 69 70 6c 79 4f 70 0a 20 | ..../.MINUSPERCENT..MultiplyOp.. |
| aac00 | 20 20 20 26 6c 74 3b 2d 20 50 49 50 45 32 0a 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 0a 20 | ...<-.PIPE2....../.ASTERISK.. |
| aac20 | 20 20 20 20 2f 20 53 4c 41 53 48 0a 20 20 20 20 20 2f 20 50 45 52 43 45 4e 54 0a 20 20 20 20 20 | ..../.SLASH....../.PERCENT...... |
| aac40 | 2f 20 41 53 54 45 52 49 53 4b 32 0a 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 50 45 52 43 45 | /.ASTERISK2....../.ASTERISKPERCE |
| aac60 | 4e 54 0a 0a 50 72 65 66 69 78 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 45 58 43 4c 41 4d 41 54 49 | NT..PrefixOp.....<-.EXCLAMATI |
| aac80 | 4f 4e 4d 41 52 4b 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 0a 20 20 20 20 20 2f 20 54 49 4c 44 45 | ONMARK....../.MINUS....../.TILDE |
| aaca0 | 0a 20 20 20 20 20 2f 20 4d 49 4e 55 53 50 45 52 43 45 4e 54 0a 20 20 20 20 20 2f 20 41 4d 50 45 | ....../.MINUSPERCENT....../.AMPE |
| aacc0 | 52 53 41 4e 44 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 74 72 79 0a 20 20 20 20 20 2f 20 | RSAND....../.KEYWORD_try....../. |
| aace0 | 4b 45 59 57 4f 52 44 5f 61 77 61 69 74 0a 0a 50 72 65 66 69 78 54 79 70 65 4f 70 0a 20 20 20 20 | KEYWORD_await..PrefixTypeOp..... |
| aad00 | 26 6c 74 3b 2d 20 51 55 45 53 54 49 4f 4e 4d 41 52 4b 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 | <-.QUESTIONMARK....../.KEYWOR |
| aad20 | 44 5f 70 72 6f 6d 69 73 65 20 4d 49 4e 55 53 52 41 52 52 4f 57 0a 20 20 20 20 20 2f 20 41 72 72 | D_promise.MINUSRARROW....../.Arr |
| aad40 | 61 79 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 52 44 | ayTypeStart.(ByteAlign./.KEYWORD |
| aad60 | 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 59 57 | _const./.KEYWORD_volatile./.KEYW |
| aad80 | 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 29 2a 0a 20 20 20 20 20 2f 20 50 74 72 54 79 70 65 53 74 | ORD_allowzero)*....../.PtrTypeSt |
| aada0 | 61 72 74 20 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 | art.(KEYWORD_align.LPAREN.Expr.( |
| aadc0 | 43 4f 4c 4f 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 | COLON.INTEGER.COLON.INTEGER)?.RP |
| aade0 | 41 52 45 4e 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 | AREN./.KEYWORD_const./.KEYWORD_v |
| aae00 | 6f 6c 61 74 69 6c 65 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 29 2a 0a 0a 53 | olatile./.KEYWORD_allowzero)*..S |
| aae20 | 75 66 66 69 78 4f 70 0a 20 20 20 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 45 78 70 72 20 | uffixOp.....<-.LBRACKET.Expr. |
| aae40 | 28 44 4f 54 32 20 45 78 70 72 3f 29 3f 20 52 42 52 41 43 4b 45 54 0a 20 20 20 20 20 2f 20 44 4f | (DOT2.Expr?)?.RBRACKET....../.DO |
| aae60 | 54 20 49 44 45 4e 54 49 46 49 45 52 0a 20 20 20 20 20 2f 20 44 4f 54 41 53 54 45 52 49 53 4b 0a | T.IDENTIFIER....../.DOTASTERISK. |
| aae80 | 20 20 20 20 20 2f 20 44 4f 54 51 55 45 53 54 49 4f 4e 4d 41 52 4b 0a 0a 46 6e 43 61 6c 6c 41 72 | ...../.DOTQUESTIONMARK..FnCallAr |
| aaea0 | 67 75 6d 65 6e 74 73 20 26 6c 74 3b 2d 20 4c 50 41 52 45 4e 20 45 78 70 72 4c 69 73 74 20 52 50 | guments.<-.LPAREN.ExprList.RP |
| aaec0 | 41 52 45 4e 0a 0a 23 20 50 74 72 20 73 70 65 63 69 66 69 63 0a 41 72 72 61 79 54 79 70 65 53 74 | AREN..#.Ptr.specific.ArrayTypeSt |
| aaee0 | 61 72 74 20 26 6c 74 3b 2d 20 4c 42 52 41 43 4b 45 54 20 45 78 70 72 3f 20 52 42 52 41 43 4b 45 | art.<-.LBRACKET.Expr?.RBRACKE |
| aaf00 | 54 0a 0a 50 74 72 54 79 70 65 53 74 61 72 74 0a 20 20 20 20 26 6c 74 3b 2d 20 41 53 54 45 52 49 | T..PtrTypeStart.....<-.ASTERI |
| aaf20 | 53 4b 0a 20 20 20 20 20 2f 20 41 53 54 45 52 49 53 4b 32 0a 20 20 20 20 20 2f 20 50 54 52 55 4e | SK....../.ASTERISK2....../.PTRUN |
| aaf40 | 4b 4e 4f 57 4e 0a 20 20 20 20 20 2f 20 50 54 52 43 0a 0a 23 20 43 6f 6e 74 61 69 6e 65 72 44 65 | KNOWN....../.PTRC..#.ContainerDe |
| aaf60 | 63 6c 20 73 70 65 63 69 66 69 63 0a 43 6f 6e 74 61 69 6e 65 72 44 65 63 6c 41 75 74 6f 20 26 6c | cl.specific.ContainerDeclAuto.&l |
| aaf80 | 74 3b 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 43 6f 6e | t;-.ContainerDeclType.LBRACE.Con |
| aafa0 | 74 61 69 6e 65 72 4d 65 6d 62 65 72 73 20 52 42 52 41 43 45 0a 0a 43 6f 6e 74 61 69 6e 65 72 44 | tainerMembers.RBRACE..ContainerD |
| aafc0 | 65 63 6c 54 79 70 65 0a 20 20 20 20 26 6c 74 3b 2d 20 28 4b 45 59 57 4f 52 44 5f 73 74 72 75 63 | eclType.....<-.(KEYWORD_struc |
| aafe0 | 74 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 29 20 28 4c 50 41 52 45 4e 20 45 78 70 72 20 52 | t./.KEYWORD_enum).(LPAREN.Expr.R |
| ab000 | 50 41 52 45 4e 29 3f 0a 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 69 6f 6e 20 28 4c 50 | PAREN)?....../.KEYWORD_union.(LP |
| ab020 | 41 52 45 4e 20 28 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 28 4c 50 41 52 45 4e 20 45 78 70 72 20 | AREN.(KEYWORD_enum.(LPAREN.Expr. |
| ab040 | 52 50 41 52 45 4e 29 3f 20 2f 20 45 78 70 72 29 20 52 50 41 52 45 4e 29 3f 0a 0a 23 20 41 6c 69 | RPAREN)?./.Expr).RPAREN)?..#.Ali |
| ab060 | 67 6e 6d 65 6e 74 0a 42 79 74 65 41 6c 69 67 6e 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 | gnment.ByteAlign.<-.KEYWORD_a |
| ab080 | 6c 69 67 6e 20 4c 50 41 52 45 4e 20 45 78 70 72 20 52 50 41 52 45 4e 0a 0a 23 20 4c 69 73 74 73 | lign.LPAREN.Expr.RPAREN..#.Lists |
| ab0a0 | 0a 49 64 65 6e 74 69 66 69 65 72 4c 69 73 74 20 26 6c 74 3b 2d 20 28 49 44 45 4e 54 49 46 49 45 | .IdentifierList.<-.(IDENTIFIE |
| ab0c0 | 52 20 43 4f 4d 4d 41 29 2a 20 49 44 45 4e 54 49 46 49 45 52 3f 0a 0a 53 77 69 74 63 68 50 72 6f | R.COMMA)*.IDENTIFIER?..SwitchPro |
| ab0e0 | 6e 67 4c 69 73 74 20 26 6c 74 3b 2d 20 28 53 77 69 74 63 68 50 72 6f 6e 67 20 43 4f 4d 4d 41 29 | ngList.<-.(SwitchProng.COMMA) |
| ab100 | 2a 20 53 77 69 74 63 68 50 72 6f 6e 67 3f 0a 0a 41 73 6d 4f 75 74 70 75 74 4c 69 73 74 20 26 6c | *.SwitchProng?..AsmOutputList.&l |
| ab120 | 74 3b 2d 20 28 41 73 6d 4f 75 74 70 75 74 49 74 65 6d 20 43 4f 4d 4d 41 29 2a 20 41 73 6d 4f 75 | t;-.(AsmOutputItem.COMMA)*.AsmOu |
| ab140 | 74 70 75 74 49 74 65 6d 3f 0a 0a 41 73 6d 49 6e 70 75 74 4c 69 73 74 20 26 6c 74 3b 2d 20 28 41 | tputItem?..AsmInputList.<-.(A |
| ab160 | 73 6d 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 | smInputItem.COMMA)*.AsmInputItem |
| ab180 | 3f 0a 0a 53 74 72 69 6e 67 4c 69 73 74 20 26 6c 74 3b 2d 20 28 53 54 52 49 4e 47 4c 49 54 45 52 | ?..StringList.<-.(STRINGLITER |
| ab1a0 | 41 4c 20 43 4f 4d 4d 41 29 2a 20 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 3f 0a 0a 50 61 72 61 6d | AL.COMMA)*.STRINGLITERAL?..Param |
| ab1c0 | 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 43 4f 4d 4d 41 29 | DeclList.<-.(ParamDecl.COMMA) |
| ab1e0 | 2a 20 50 61 72 61 6d 44 65 63 6c 3f 0a 0a 45 78 70 72 4c 69 73 74 20 26 6c 74 3b 2d 20 28 45 78 | *.ParamDecl?..ExprList.<-.(Ex |
| ab200 | 70 72 20 43 4f 4d 4d 41 29 2a 20 45 78 70 72 3f 0a 0a 23 20 2a 2a 2a 20 54 6f 6b 65 6e 73 20 2a | pr.COMMA)*.Expr?..#.***.Tokens.* |
| ab220 | 2a 2a 0a 65 6f 66 20 26 6c 74 3b 2d 20 21 2e 0a 68 65 78 20 26 6c 74 3b 2d 20 5b 30 2d 39 61 2d | **.eof.<-.!..hex.<-.[0-9a- |
| ab240 | 66 41 2d 46 5d 0a 63 68 61 72 5f 65 73 63 61 70 65 0a 20 20 20 20 26 6c 74 3b 2d 20 22 5c 5c 78 | fA-F].char_escape.....<-."\\x |
| ab260 | 22 20 68 65 78 20 68 65 78 0a 20 20 20 20 20 2f 20 22 5c 5c 75 7b 22 20 68 65 78 2b 20 22 7d 22 | ".hex.hex....../."\\u{".hex+."}" |
| ab280 | 0a 20 20 20 20 20 2f 20 22 5c 5c 22 20 5b 6e 72 5c 5c 74 27 22 5d 0a 63 68 61 72 5f 63 68 61 72 | ....../."\\".[nr\\t'"].char_char |
| ab2a0 | 0a 20 20 20 20 26 6c 74 3b 2d 20 63 68 61 72 5f 65 73 63 61 70 65 0a 20 20 20 20 20 2f 20 5b 5e | .....<-.char_escape....../.[^ |
| ab2c0 | 5c 5c 27 5c 6e 5d 0a 73 74 72 69 6e 67 5f 63 68 61 72 0a 20 20 20 20 26 6c 74 3b 2d 20 63 68 61 | \\'\n].string_char.....<-.cha |
| ab2e0 | 72 5f 65 73 63 61 70 65 0a 20 20 20 20 20 2f 20 5b 5e 5c 5c 22 5c 6e 5d 0a 0a 6c 69 6e 65 5f 63 | r_escape....../.[^\\"\n]..line_c |
| ab300 | 6f 6d 6d 65 6e 74 20 26 6c 74 3b 2d 20 27 2f 2f 27 5b 5e 5c 6e 5d 2a 0a 6c 69 6e 65 5f 73 74 72 | omment.<-.'//'[^\n]*.line_str |
| ab320 | 69 6e 67 20 26 6c 74 3b 2d 20 28 22 5c 5c 5c 5c 22 20 5b 5e 5c 6e 5d 2a 20 5b 20 5c 6e 5d 2a 29 | ing.<-.("\\\\".[^\n]*.[.\n]*) |
| ab340 | 2b 0a 73 6b 69 70 20 26 6c 74 3b 2d 20 28 5b 20 5c 6e 5d 20 2f 20 6c 69 6e 65 5f 63 6f 6d 6d 65 | +.skip.<-.([.\n]./.line_comme |
| ab360 | 6e 74 29 2a 0a 0a 43 48 41 52 5f 4c 49 54 45 52 41 4c 20 26 6c 74 3b 2d 20 22 27 22 20 63 68 61 | nt)*..CHAR_LITERAL.<-."'".cha |
| ab380 | 72 5f 63 68 61 72 20 22 27 22 20 73 6b 69 70 0a 46 4c 4f 41 54 0a 20 20 20 20 26 6c 74 3b 2d 20 | r_char."'".skip.FLOAT.....<-. |
| ab3a0 | 22 30 78 22 20 68 65 78 2b 20 20 20 22 2e 22 20 68 65 78 2b 20 20 20 28 5b 70 50 5d 20 5b 2d 2b | "0x".hex+...".".hex+...([pP].[-+ |
| ab3c0 | 5d 3f 20 68 65 78 2b 29 3f 20 20 20 73 6b 69 70 0a 20 20 20 20 20 2f 20 20 20 20 20 20 5b 30 2d | ]?.hex+)?...skip....../......[0- |
| ab3e0 | 39 5d 2b 20 22 2e 22 20 5b 30 2d 39 5d 2b 20 28 5b 65 45 5d 20 5b 2d 2b 5d 3f 20 5b 30 2d 39 5d | 9]+.".".[0-9]+.([eE].[-+]?.[0-9] |
| ab400 | 2b 29 3f 20 73 6b 69 70 0a 20 20 20 20 20 2f 20 22 30 78 22 20 68 65 78 2b 20 20 20 22 2e 22 3f | +)?.skip....../."0x".hex+..."."? |
| ab420 | 20 5b 70 50 5d 20 5b 2d 2b 5d 3f 20 68 65 78 2b 20 20 20 73 6b 69 70 0a 20 20 20 20 20 2f 20 20 | .[pP].[-+]?.hex+...skip....../.. |
| ab440 | 20 20 20 20 5b 30 2d 39 5d 2b 20 22 2e 22 3f 20 5b 65 45 5d 20 5b 2d 2b 5d 3f 20 5b 30 2d 39 5d | ....[0-9]+."."?.[eE].[-+]?.[0-9] |
| ab460 | 2b 20 73 6b 69 70 0a 49 4e 54 45 47 45 52 0a 20 20 20 20 26 6c 74 3b 2d 20 22 30 62 22 20 5b 30 | +.skip.INTEGER.....<-."0b".[0 |
| ab480 | 31 5d 2b 20 20 73 6b 69 70 0a 20 20 20 20 20 2f 20 22 30 6f 22 20 5b 30 2d 37 5d 2b 20 73 6b 69 | 1]+..skip....../."0o".[0-7]+.ski |
| ab4a0 | 70 0a 20 20 20 20 20 2f 20 22 30 78 22 20 68 65 78 2b 20 20 20 73 6b 69 70 0a 20 20 20 20 20 2f | p....../."0x".hex+...skip....../ |
| ab4c0 | 20 20 20 20 20 20 5b 30 2d 39 5d 2b 20 73 6b 69 70 0a 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 | ......[0-9]+.skip.STRINGLITERALS |
| ab4e0 | 49 4e 47 4c 45 20 26 6c 74 3b 2d 20 22 5c 22 22 20 73 74 72 69 6e 67 5f 63 68 61 72 2a 20 22 5c | INGLE.<-."\"".string_char*."\ |
| ab500 | 22 22 20 73 6b 69 70 0a 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 0a 20 20 20 20 26 6c 74 3b 2d 20 | "".skip.STRINGLITERAL.....<-. |
| ab520 | 53 54 52 49 4e 47 4c 49 54 45 52 41 4c 53 49 4e 47 4c 45 0a 20 20 20 20 20 2f 20 6c 69 6e 65 5f | STRINGLITERALSINGLE....../.line_ |
| ab540 | 73 74 72 69 6e 67 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 49 44 45 4e | string.................skip.IDEN |
| ab560 | 54 49 46 49 45 52 0a 20 20 20 20 26 6c 74 3b 2d 20 21 6b 65 79 77 6f 72 64 20 5b 41 2d 5a 61 2d | TIFIER.....<-.!keyword.[A-Za- |
| ab580 | 7a 5f 5d 20 5b 41 2d 5a 61 2d 7a 30 2d 39 5f 5d 2a 20 73 6b 69 70 0a 20 20 20 20 20 2f 20 22 40 | z_].[A-Za-z0-9_]*.skip....../."@ |
| ab5a0 | 5c 22 22 20 73 74 72 69 6e 67 5f 63 68 61 72 2a 20 22 5c 22 22 20 20 20 20 20 20 20 20 20 20 20 | \"".string_char*."\""........... |
| ab5c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 42 55 49 4c 54 49 4e 49 44 45 | .................skip.BUILTINIDE |
| ab5e0 | 4e 54 49 46 49 45 52 20 26 6c 74 3b 2d 20 22 40 22 5b 41 2d 5a 61 2d 7a 5f 5d 5b 41 2d 5a 61 2d | NTIFIER.<-."@"[A-Za-z_][A-Za- |
| ab600 | 7a 30 2d 39 5f 5d 2a 20 73 6b 69 70 0a 0a 0a 41 4d 50 45 52 53 41 4e 44 20 20 20 20 20 20 20 20 | z0-9_]*.skip...AMPERSAND........ |
| ab620 | 20 20 20 20 26 6c 74 3b 2d 20 27 26 61 6d 70 3b 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 | ....<-.'&'......![=]..... |
| ab640 | 20 73 6b 69 70 0a 41 4d 50 45 52 53 41 4e 44 45 51 55 41 4c 20 20 20 20 20 20 20 26 6c 74 3b 2d | .skip.AMPERSANDEQUAL.......<- |
| ab660 | 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 69 70 0a 41 53 54 | .'&='...............skip.AST |
| ab680 | 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.............<-.'*'..... |
| ab6a0 | 20 21 5b 2a 25 3d 5d 20 20 20 20 73 6b 69 70 0a 41 53 54 45 52 49 53 4b 32 20 20 20 20 20 20 20 | .![*%=]....skip.ASTERISK2....... |
| ab6c0 | 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a 2a 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b | .....<-.'**'...............sk |
| ab6e0 | 69 70 0a 41 53 54 45 52 49 53 4b 45 51 55 41 4c 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a | ip.ASTERISKEQUAL........<-.'* |
| ab700 | 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 41 53 54 45 52 49 53 4b 50 45 | ='...............skip.ASTERISKPE |
| ab720 | 52 43 45 4e 54 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2a 25 27 20 20 20 20 20 21 5b 3d 5d 20 20 | RCENT......<-.'*%'.....![=].. |
| ab740 | 20 20 20 20 73 6b 69 70 0a 41 53 54 45 52 49 53 4b 50 45 52 43 45 4e 54 45 51 55 41 4c 20 26 6c | ....skip.ASTERISKPERCENTEQUAL.&l |
| ab760 | 74 3b 2d 20 27 2a 25 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 43 41 52 45 | t;-.'*%='..............skip.CARE |
| ab780 | 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 20 20 | T................<-.'^'...... |
| ab7a0 | 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 43 41 52 45 54 45 51 55 41 4c 20 20 20 20 20 20 20 | ![=]......skip.CARETEQUAL....... |
| ab7c0 | 20 20 20 20 26 6c 74 3b 2d 20 27 5e 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 | ....<-.'^='...............ski |
| ab7e0 | 70 0a 43 4f 4c 4f 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3a 27 | p.COLON................<-.':' |
| ab800 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 43 4f 4d 4d 41 20 20 20 20 20 20 | ................skip.COMMA...... |
| ab820 | 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2c 27 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..........<-.','............. |
| ab840 | 20 20 20 73 6b 69 70 0a 44 4f 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 | ...skip.DOT..................< |
| ab860 | 3b 2d 20 27 2e 27 20 20 20 20 20 20 21 5b 2a 2e 3f 5d 20 20 20 20 73 6b 69 70 0a 44 4f 54 32 20 | ;-.'.'......![*.?]....skip.DOT2. |
| ab880 | 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 20 20 20 21 | ................<-.'..'.....! |
| ab8a0 | 5b 2e 5d 20 20 20 20 20 20 73 6b 69 70 0a 44 4f 54 33 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | [.]......skip.DOT3.............. |
| ab8c0 | 20 20 20 26 6c 74 3b 2d 20 27 2e 2e 2e 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 | ...<-.'...'..............skip |
| ab8e0 | 0a 44 4f 54 41 53 54 45 52 49 53 4b 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 2a 27 | .DOTASTERISK..........<-.'.*' |
| ab900 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 44 4f 54 51 55 45 53 54 49 4f 4e 4d | ...............skip.DOTQUESTIONM |
| ab920 | 41 52 4b 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2e 3f 27 20 20 20 20 20 20 20 20 20 20 20 20 20 | ARK......<-.'.?'............. |
| ab940 | 20 20 73 6b 69 70 0a 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b | ..skip.EQUAL................< |
| ab960 | 2d 20 27 3d 27 20 20 20 20 20 20 21 5b 26 67 74 3b 3d 5d 20 20 20 20 20 73 6b 69 70 0a 45 51 55 | -.'='......![>=].....skip.EQU |
| ab980 | 41 4c 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 3d 3d 27 20 20 20 20 | ALEQUAL...........<-.'=='.... |
| ab9a0 | 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 45 51 55 41 4c 52 41 52 52 4f 57 20 20 20 20 20 | ...........skip.EQUALRARROW..... |
| ab9c0 | 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 | .....<-.'=>'.............. |
| ab9e0 | 20 73 6b 69 70 0a 45 58 43 4c 41 4d 41 54 49 4f 4e 4d 41 52 4b 20 20 20 20 20 20 26 6c 74 3b 2d | .skip.EXCLAMATIONMARK......<- |
| aba00 | 20 27 21 27 20 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 45 58 43 4c 41 4d 41 | .'!'......![=]......skip.EXCLAMA |
| aba20 | 54 49 4f 4e 4d 41 52 4b 45 51 55 41 4c 20 26 6c 74 3b 2d 20 27 21 3d 27 20 20 20 20 20 20 20 20 | TIONMARKEQUAL.<-.'!='........ |
| aba40 | 20 20 20 20 20 20 20 73 6b 69 70 0a 4c 41 52 52 4f 57 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .......skip.LARROW.............. |
| aba60 | 20 26 6c 74 3b 2d 20 27 26 6c 74 3b 27 20 20 20 20 20 20 21 5b 26 6c 74 3b 3d 5d 20 20 20 20 20 | .<-.'<'......![<=]..... |
| aba80 | 73 6b 69 70 0a 4c 41 52 52 4f 57 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 | skip.LARROW2..............<-. |
| abaa0 | 27 26 6c 74 3b 26 6c 74 3b 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 4c 41 | '<<'.....![=]......skip.LA |
| abac0 | 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 26 6c | RROW2EQUAL.........<-.'<&l |
| abae0 | 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4c 41 52 52 4f 57 45 51 55 | t;='..............skip.LARROWEQU |
| abb00 | 41 4c 20 20 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 | AL..........<-.'<='....... |
| abb20 | 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4c 42 52 41 43 45 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........skip.LBRACE............. |
| abb40 | 20 20 26 6c 74 3b 2d 20 27 7b 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a | ..<-.'{'................skip. |
| abb60 | 4c 42 52 41 43 4b 45 54 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5b 27 20 20 | LBRACKET.............<-.'['.. |
| abb80 | 20 20 20 20 21 5b 2a 5d 20 20 20 20 20 20 73 6b 69 70 0a 4c 50 41 52 45 4e 20 20 20 20 20 20 20 | ....![*]......skip.LPAREN....... |
| abba0 | 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 28 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........<-.'('............... |
| abbc0 | 20 73 6b 69 70 0a 4d 49 4e 55 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d | .skip.MINUS................<- |
| abbe0 | 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 0a 4d 49 4e 55 | .'-'......![%=>]....skip.MINU |
| abc00 | 53 45 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 | SEQUAL...........<-.'-='..... |
| abc20 | 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4d 49 4e 55 53 50 45 52 43 45 4e 54 20 20 20 20 20 | ..........skip.MINUSPERCENT..... |
| abc40 | 20 20 20 20 26 6c 74 3b 2d 20 27 2d 25 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 | ....<-.'-%'.....![=]......ski |
| abc60 | 70 0a 4d 49 4e 55 53 50 45 52 43 45 4e 54 45 51 55 41 4c 20 20 20 20 26 6c 74 3b 2d 20 27 2d 25 | p.MINUSPERCENTEQUAL....<-.'-% |
| abc80 | 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 4d 49 4e 55 53 52 41 52 52 4f 57 | ='..............skip.MINUSRARROW |
| abca0 | 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2d 26 67 74 3b 27 20 20 20 20 20 20 20 20 20 | ..........<-.'->'......... |
| abcc0 | 20 20 20 20 20 20 73 6b 69 70 0a 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......skip.PERCENT.............. |
| abce0 | 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 6b 69 70 0a 50 45 | <-.'%'......![=]......skip.PE |
| abd00 | 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.........<-.'%='... |
| abd20 | 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 50 49 50 45 20 20 20 20 20 20 20 20 20 20 20 | ............skip.PIPE........... |
| abd40 | 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7c 27 20 20 20 20 20 20 21 5b 7c 3d 5d 20 20 20 20 20 73 | ......<-.'|'......![|=].....s |
| abd60 | 6b 69 70 0a 50 49 50 45 32 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 | kip.PIPE2................<-.' |
| abd80 | 7c 7c 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 50 49 50 45 45 51 55 41 4c | ||'...............skip.PIPEEQUAL |
| abda0 | 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7c 3d 27 20 20 20 20 20 20 20 20 20 20 | ............<-.'|='.......... |
| abdc0 | 20 20 20 20 20 73 6b 69 70 0a 50 4c 55 53 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 | .....skip.PLUS.................& |
| abde0 | 6c 74 3b 2d 20 27 2b 27 20 20 20 20 20 20 21 5b 25 2b 3d 5d 20 20 20 20 73 6b 69 70 0a 50 4c 55 | lt;-.'+'......![%+=]....skip.PLU |
| abe00 | 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 20 20 | S2................<-.'++'.... |
| abe20 | 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 50 4c 55 53 45 51 55 41 4c 20 20 20 20 20 20 20 | ...........skip.PLUSEQUAL....... |
| abe40 | 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b | .....<-.'+='...............sk |
| abe60 | 69 70 0a 50 4c 55 53 50 45 52 43 45 4e 54 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b | ip.PLUSPERCENT..........<-.'+ |
| abe80 | 25 27 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 50 4c 55 53 50 45 52 43 45 4e | %'.....![=]......skip.PLUSPERCEN |
| abea0 | 54 45 51 55 41 4c 20 20 20 20 20 26 6c 74 3b 2d 20 27 2b 25 3d 27 20 20 20 20 20 20 20 20 20 20 | TEQUAL.....<-.'+%='.......... |
| abec0 | 20 20 20 20 73 6b 69 70 0a 50 54 52 43 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c | ....skip.PTRC.................&l |
| abee0 | 74 3b 2d 20 27 5b 2a 63 5d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 50 54 52 55 | t;-.'[*c]'.............skip.PTRU |
| abf00 | 4e 4b 4e 4f 57 4e 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5b 2a 5d 27 20 20 20 20 | NKNOWN...........<-.'[*]'.... |
| abf20 | 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 51 55 45 53 54 49 4f 4e 4d 41 52 4b 20 20 20 20 20 | ..........skip.QUESTIONMARK..... |
| abf40 | 20 20 20 20 26 6c 74 3b 2d 20 27 3f 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 | ....<-.'?'................ski |
| abf60 | 70 0a 52 41 52 52 4f 57 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 26 67 | p.RARROW...............<-.'&g |
| abf80 | 74 3b 27 20 20 20 20 20 20 21 5b 26 67 74 3b 3d 5d 20 20 20 20 20 73 6b 69 70 0a 52 41 52 52 4f | t;'......![>=].....skip.RARRO |
| abfa0 | 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 26 67 74 3b 27 | W2..............<-.'>>' |
| abfc0 | 20 20 20 20 20 21 5b 3d 5d 20 20 20 20 20 20 73 6b 69 70 0a 52 41 52 52 4f 57 32 45 51 55 41 4c | .....![=]......skip.RARROW2EQUAL |
| abfe0 | 20 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 | .........<-.'>>='...... |
| ac000 | 20 20 20 20 20 20 20 20 73 6b 69 70 0a 52 41 52 52 4f 57 45 51 55 41 4c 20 20 20 20 20 20 20 20 | ........skip.RARROWEQUAL........ |
| ac020 | 20 20 26 6c 74 3b 2d 20 27 26 67 74 3b 3d 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b | ..<-.'>='...............sk |
| ac040 | 69 70 0a 52 42 52 41 43 45 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7d | ip.RBRACE...............<-.'} |
| ac060 | 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 52 42 52 41 43 4b 45 54 20 20 | '................skip.RBRACKET.. |
| ac080 | 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 5d 27 20 20 20 20 20 20 20 20 20 20 20 20 | ...........<-.']'............ |
| ac0a0 | 20 20 20 20 73 6b 69 70 0a 52 50 41 52 45 4e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6c | ....skip.RPAREN...............&l |
| ac0c0 | 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 69 70 0a 53 45 4d 49 | t;-.')'................skip.SEMI |
| ac0e0 | 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 20 | COLON............<-.';'...... |
| ac100 | 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 53 4c 41 53 48 20 20 20 20 20 20 20 20 20 20 20 20 | ..........skip.SLASH............ |
| ac120 | 20 20 20 20 26 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 | ....<-.'/'......![=]......ski |
| ac140 | 70 0a 53 4c 41 53 48 45 51 55 41 4c 20 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 2f 3d | p.SLASHEQUAL...........<-.'/= |
| ac160 | 27 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 0a 54 49 4c 44 45 20 20 20 20 20 20 | '...............skip.TILDE...... |
| ac180 | 20 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 7e 27 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..........<-.'~'............. |
| ac1a0 | 20 20 20 73 6b 69 70 0a 0a 65 6e 64 5f 6f 66 5f 77 6f 72 64 20 26 6c 74 3b 2d 20 21 5b 61 2d 7a | ...skip..end_of_word.<-.![a-z |
| ac1c0 | 41 2d 5a 30 2d 39 5f 5d 20 73 6b 69 70 0a 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 20 20 20 20 | A-Z0-9_].skip.KEYWORD_align..... |
| ac1e0 | 20 20 26 6c 74 3b 2d 20 27 61 6c 69 67 6e 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 | ..<-.'align'.......end_of_wor |
| ac200 | 64 0a 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 20 20 20 26 6c 74 3b 2d 20 27 61 6c 6c | d.KEYWORD_allowzero...<-.'all |
| ac220 | 6f 77 7a 65 72 6f 27 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 61 6e | owzero'...end_of_word.KEYWORD_an |
| ac240 | 64 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 61 6e 64 27 20 20 20 20 20 20 20 20 20 65 6e | d.........<-.'and'.........en |
| ac260 | 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 61 73 6d 20 20 20 20 20 20 20 20 20 26 6c | d_of_word.KEYWORD_asm.........&l |
| ac280 | 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 77 6f 72 64 0a 4b 45 | t;-.'asm'.........end_of_word.KE |
| ac2a0 | 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 20 | YWORD_async.......<-.'async'. |
| ac2c0 | 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 61 77 61 69 74 20 | ......end_of_word.KEYWORD_await. |
| ac2e0 | 20 20 20 20 20 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 | ......<-.'await'.......end_of |
| ac300 | 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 62 72 65 61 6b 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 | _word.KEYWORD_break.......<-. |
| ac320 | 27 62 72 65 61 6b 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 | 'break'.......end_of_word.KEYWOR |
| ac340 | 44 5f 63 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 | D_catch.......<-.'catch'..... |
| ac360 | 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 20 | ..end_of_word.KEYWORD_comptime.. |
| ac380 | 20 20 26 6c 74 3b 2d 20 27 63 6f 6d 70 74 69 6d 65 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 | ..<-.'comptime'....end_of_wor |
| ac3a0 | 64 0a 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 74 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 63 6f 6e | d.KEYWORD_const.......<-.'con |
| ac3c0 | 73 74 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 63 6f | st'.......end_of_word.KEYWORD_co |
| ac3e0 | 6e 74 69 6e 75 65 20 20 20 20 26 6c 74 3b 2d 20 27 63 6f 6e 74 69 6e 75 65 27 20 20 20 20 65 6e | ntinue....<-.'continue'....en |
| ac400 | 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 64 65 66 65 72 20 20 20 20 20 20 20 26 6c | d_of_word.KEYWORD_defer.......&l |
| ac420 | 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 72 64 0a 4b 45 | t;-.'defer'.......end_of_word.KE |
| ac440 | 59 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 | YWORD_else........<-.'else'.. |
| ac460 | 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 65 6e 75 6d 20 20 | ......end_of_word.KEYWORD_enum.. |
| ac480 | 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 6e 75 6d 27 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 | ......<-.'enum'........end_of |
| ac4a0 | 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 20 20 20 20 26 6c 74 3b 2d 20 | _word.KEYWORD_errdefer....<-. |
| ac4c0 | 27 65 72 72 64 65 66 65 72 27 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 | 'errdefer'....end_of_word.KEYWOR |
| ac4e0 | 44 5f 65 72 72 6f 72 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 65 72 72 6f 72 27 20 20 20 20 20 | D_error.......<-.'error'..... |
| ac500 | 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 65 78 70 6f 72 74 20 20 20 20 | ..end_of_word.KEYWORD_export.... |
| ac520 | 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 5f 6f 66 5f 77 6f 72 | ..<-.'export'......end_of_wor |
| ac540 | 64 0a 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 74 | d.KEYWORD_extern......<-.'ext |
| ac560 | 65 72 6e 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 66 61 | ern'......end_of_word.KEYWORD_fa |
| ac580 | 6c 73 65 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 66 61 6c 73 65 27 20 20 20 20 20 20 20 65 6e | lse.......<-.'false'.......en |
| ac5a0 | 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 66 6e 20 20 20 20 20 20 20 20 20 20 26 6c | d_of_word.KEYWORD_fn..........&l |
| ac5c0 | 74 3b 2d 20 27 66 6e 27 20 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 | t;-.'fn'..........end_of_word.KE |
| ac5e0 | 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 20 | YWORD_for.........<-.'for'... |
| ac600 | 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 69 66 20 20 20 20 | ......end_of_word.KEYWORD_if.... |
| ac620 | 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 69 66 27 20 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 | ......<-.'if'..........end_of |
| ac640 | 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 69 6e 6c 69 6e 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 | _word.KEYWORD_inline......<-. |
| ac660 | 27 69 6e 6c 69 6e 65 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 | 'inline'......end_of_word.KEYWOR |
| ac680 | 44 5f 6e 6f 61 6c 69 61 73 20 20 20 20 20 26 6c 74 3b 2d 20 27 6e 6f 61 6c 69 61 73 27 20 20 20 | D_noalias.....<-.'noalias'... |
| ac6a0 | 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 6e 75 6c 6c 20 20 20 20 20 20 | ..end_of_word.KEYWORD_null...... |
| ac6c0 | 20 20 26 6c 74 3b 2d 20 27 6e 75 6c 6c 27 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 | ..<-.'null'........end_of_wor |
| ac6e0 | 64 0a 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 | d.KEYWORD_or..........<-.'or' |
| ac700 | 20 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 6f 72 | ..........end_of_word.KEYWORD_or |
| ac720 | 65 6c 73 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 6f 72 65 6c 73 65 27 20 20 20 20 20 20 65 6e | else......<-.'orelse'......en |
| ac740 | 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 70 61 63 6b 65 64 20 20 20 20 20 20 26 6c | d_of_word.KEYWORD_packed......&l |
| ac760 | 74 3b 2d 20 27 70 61 63 6b 65 64 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 | t;-.'packed'......end_of_word.KE |
| ac780 | 59 57 4f 52 44 5f 70 72 6f 6d 69 73 65 20 20 20 20 20 26 6c 74 3b 2d 20 27 70 72 6f 6d 69 73 65 | YWORD_promise.....<-.'promise |
| ac7a0 | 27 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 70 75 62 20 20 20 | '.....end_of_word.KEYWORD_pub... |
| ac7c0 | 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 70 75 62 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 | ......<-.'pub'.........end_of |
| ac7e0 | 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 72 65 73 75 6d 65 20 20 20 20 20 20 26 6c 74 3b 2d 20 | _word.KEYWORD_resume......<-. |
| ac800 | 27 72 65 73 75 6d 65 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 | 'resume'......end_of_word.KEYWOR |
| ac820 | 44 5f 72 65 74 75 72 6e 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 72 65 74 75 72 6e 27 20 20 20 20 | D_return......<-.'return'.... |
| ac840 | 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 6c 69 6e 6b 73 65 63 74 69 6f | ..end_of_word.KEYWORD_linksectio |
| ac860 | 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 5f 6f 66 5f 77 6f 72 | n.<-.'linksection'.end_of_wor |
| ac880 | 64 0a 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 72 | d.KEYWORD_struct......<-.'str |
| ac8a0 | 75 63 74 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 73 75 | uct'......end_of_word.KEYWORD_su |
| ac8c0 | 73 70 65 6e 64 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 | spend.....<-.'suspend'.....en |
| ac8e0 | 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 20 20 20 20 20 26 6c | d_of_word.KEYWORD_switch......&l |
| ac900 | 74 3b 2d 20 27 73 77 69 74 63 68 27 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 | t;-.'switch'......end_of_word.KE |
| ac920 | 59 57 4f 52 44 5f 74 65 73 74 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 74 65 73 74 27 20 20 | YWORD_test........<-.'test'.. |
| ac940 | 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 74 68 72 65 61 64 | ......end_of_word.KEYWORD_thread |
| ac960 | 6c 6f 63 61 6c 20 26 6c 74 3b 2d 20 27 74 68 72 65 61 64 6c 6f 63 61 6c 27 20 65 6e 64 5f 6f 66 | local.<-.'threadlocal'.end_of |
| ac980 | 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 74 72 75 65 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 | _word.KEYWORD_true........<-. |
| ac9a0 | 27 74 72 75 65 27 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 | 'true'........end_of_word.KEYWOR |
| ac9c0 | 44 5f 74 72 79 20 20 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 74 72 79 27 20 20 20 20 20 20 20 | D_try.........<-.'try'....... |
| ac9e0 | 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 75 6e 64 65 66 69 6e 65 64 20 | ..end_of_word.KEYWORD_undefined. |
| aca00 | 20 20 26 6c 74 3b 2d 20 27 75 6e 64 65 66 69 6e 65 64 27 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 | ..<-.'undefined'...end_of_wor |
| aca20 | 64 0a 4b 45 59 57 4f 52 44 5f 75 6e 69 6f 6e 20 20 20 20 20 20 20 26 6c 74 3b 2d 20 27 75 6e 69 | d.KEYWORD_union.......<-.'uni |
| aca40 | 6f 6e 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 75 6e | on'.......end_of_word.KEYWORD_un |
| aca60 | 72 65 61 63 68 61 62 6c 65 20 26 6c 74 3b 2d 20 27 75 6e 72 65 61 63 68 61 62 6c 65 27 20 65 6e | reachable.<-.'unreachable'.en |
| aca80 | 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 | d_of_word.KEYWORD_usingnamespace |
| acaa0 | 20 26 6c 74 3b 2d 20 27 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 27 20 65 6e 64 5f 6f 66 5f 77 | .<-.'usingnamespace'.end_of_w |
| acac0 | 6f 72 64 0a 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 20 27 76 | ord.KEYWORD_var.........<-.'v |
| acae0 | 61 72 27 20 20 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f | ar'.........end_of_word.KEYWORD_ |
| acb00 | 76 6f 6c 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 | volatile....<-.'volatile'.... |
| acb20 | 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a 4b 45 59 57 4f 52 44 5f 77 68 69 6c 65 20 20 20 20 20 20 20 | end_of_word.KEYWORD_while....... |
| acb40 | 26 6c 74 3b 2d 20 27 77 68 69 6c 65 27 20 20 20 20 20 20 20 65 6e 64 5f 6f 66 5f 77 6f 72 64 0a | <-.'while'.......end_of_word. |
| acb60 | 0a 6b 65 79 77 6f 72 64 20 26 6c 74 3b 2d 20 4b 45 59 57 4f 52 44 5f 61 6c 69 67 6e 20 2f 20 4b | .keyword.<-.KEYWORD_align./.K |
| acb80 | 45 59 57 4f 52 44 5f 61 6e 64 20 2f 20 4b 45 59 57 4f 52 44 5f 61 6c 6c 6f 77 7a 65 72 6f 20 2f | EYWORD_and./.KEYWORD_allowzero./ |
| acba0 | 20 4b 45 59 57 4f 52 44 5f 61 73 6d 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f | .KEYWORD_asm........../.KEYWORD_ |
| acbc0 | 61 73 79 6e 63 20 2f 20 4b 45 59 57 4f 52 44 5f 61 77 61 69 74 20 2f 20 4b 45 59 57 4f 52 44 5f | async./.KEYWORD_await./.KEYWORD_ |
| acbe0 | 62 72 65 61 6b 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 63 61 74 63 68 20 2f | break........../.KEYWORD_catch./ |
| acc00 | 20 4b 45 59 57 4f 52 44 5f 63 6f 6d 70 74 69 6d 65 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 73 | .KEYWORD_comptime./.KEYWORD_cons |
| acc20 | 74 20 2f 20 4b 45 59 57 4f 52 44 5f 63 6f 6e 74 69 6e 75 65 0a 20 20 20 20 20 20 20 20 20 2f 20 | t./.KEYWORD_continue........../. |
| acc40 | 4b 45 59 57 4f 52 44 5f 64 65 66 65 72 20 2f 20 4b 45 59 57 4f 52 44 5f 65 6c 73 65 20 2f 20 4b | KEYWORD_defer./.KEYWORD_else./.K |
| acc60 | 45 59 57 4f 52 44 5f 65 6e 75 6d 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 64 65 66 65 72 0a 20 | EYWORD_enum./.KEYWORD_errdefer.. |
| acc80 | 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 65 72 72 6f 72 20 2f 20 4b 45 59 57 4f 52 | ......../.KEYWORD_error./.KEYWOR |
| acca0 | 44 5f 65 78 70 6f 72 74 20 2f 20 4b 45 59 57 4f 52 44 5f 65 78 74 65 72 6e 20 2f 20 4b 45 59 57 | D_export./.KEYWORD_extern./.KEYW |
| accc0 | 4f 52 44 5f 66 61 6c 73 65 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 66 6e 20 | ORD_false........../.KEYWORD_fn. |
| acce0 | 2f 20 4b 45 59 57 4f 52 44 5f 66 6f 72 20 2f 20 4b 45 59 57 4f 52 44 5f 69 66 20 2f 20 4b 45 59 | /.KEYWORD_for./.KEYWORD_if./.KEY |
| acd00 | 57 4f 52 44 5f 69 6e 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6e | WORD_inline........../.KEYWORD_n |
| acd20 | 6f 61 6c 69 61 73 20 2f 20 4b 45 59 57 4f 52 44 5f 6e 75 6c 6c 20 2f 20 4b 45 59 57 4f 52 44 5f | oalias./.KEYWORD_null./.KEYWORD_ |
| acd40 | 6f 72 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 6f 72 65 6c 73 65 20 2f 20 4b | or........../.KEYWORD_orelse./.K |
| acd60 | 45 59 57 4f 52 44 5f 70 61 63 6b 65 64 20 2f 20 4b 45 59 57 4f 52 44 5f 70 72 6f 6d 69 73 65 20 | EYWORD_packed./.KEYWORD_promise. |
| acd80 | 2f 20 4b 45 59 57 4f 52 44 5f 70 75 62 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 | /.KEYWORD_pub........../.KEYWORD |
| acda0 | 5f 72 65 73 75 6d 65 20 2f 20 4b 45 59 57 4f 52 44 5f 72 65 74 75 72 6e 20 2f 20 4b 45 59 57 4f | _resume./.KEYWORD_return./.KEYWO |
| acdc0 | 52 44 5f 6c 69 6e 6b 73 65 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 2f 20 4b 45 59 57 4f 52 | RD_linksection........../.KEYWOR |
| acde0 | 44 5f 73 74 72 75 63 74 20 2f 20 4b 45 59 57 4f 52 44 5f 73 75 73 70 65 6e 64 0a 20 20 20 20 20 | D_struct./.KEYWORD_suspend...... |
| ace00 | 20 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 73 77 69 74 63 68 20 2f 20 4b 45 59 57 4f 52 44 5f 74 | ..../.KEYWORD_switch./.KEYWORD_t |
| ace20 | 65 73 74 20 2f 20 4b 45 59 57 4f 52 44 5f 74 68 72 65 61 64 6c 6f 63 61 6c 20 2f 20 4b 45 59 57 | est./.KEYWORD_threadlocal./.KEYW |
| ace40 | 4f 52 44 5f 74 72 75 65 20 2f 20 4b 45 59 57 4f 52 44 5f 74 72 79 0a 20 20 20 20 20 20 20 20 20 | ORD_true./.KEYWORD_try.......... |
| ace60 | 2f 20 4b 45 59 57 4f 52 44 5f 75 6e 64 65 66 69 6e 65 64 20 2f 20 4b 45 59 57 4f 52 44 5f 75 6e | /.KEYWORD_undefined./.KEYWORD_un |
| ace80 | 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 0a 20 20 20 20 20 20 | ion./.KEYWORD_unreachable....... |
| acea0 | 20 20 20 2f 20 4b 45 59 57 4f 52 44 5f 75 73 69 6e 67 6e 61 6d 65 73 70 61 63 65 20 2f 20 4b 45 | .../.KEYWORD_usingnamespace./.KE |
| acec0 | 59 57 4f 52 44 5f 76 61 72 20 2f 20 4b 45 59 57 4f 52 44 5f 76 6f 6c 61 74 69 6c 65 20 2f 20 4b | YWORD_var./.KEYWORD_volatile./.K |
| acee0 | 45 59 57 4f 52 44 5f 77 68 69 6c 65 3c 2f 63 6f 64 65 3e 3c 2f 70 72 65 3e 0a 20 20 20 20 20 20 | EYWORD_while</code></pre>....... |
| acf00 | 0a 20 20 20 20 20 20 3c 68 31 20 69 64 3d 22 5a 65 6e 22 3e 3c 61 20 68 72 65 66 3d 22 23 74 6f | .......<h1.id="Zen"><a.href="#to |
| acf20 | 63 2d 5a 65 6e 22 3e 5a 65 6e 3c 2f 61 3e 20 3c 61 20 63 6c 61 73 73 3d 22 68 64 72 22 20 68 72 | c-Zen">Zen</a>.<a.class="hdr".hr |
| acf40 | 65 66 3d 22 23 5a 65 6e 22 3e c2 a7 3c 2f 61 3e 3c 2f 68 31 3e 0a 0a 20 20 20 20 20 20 3c 75 6c | ef="#Zen">..</a></h1>........<ul |
| acf60 | 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 43 6f 6d 6d 75 6e 69 63 61 74 65 20 69 6e 74 65 6e 74 | >.........<li>Communicate.intent |
| acf80 | 20 70 72 65 63 69 73 65 6c 79 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 45 64 67 | .precisely.</li>.........<li>Edg |
| acfa0 | 65 20 63 61 73 65 73 20 6d 61 74 74 65 72 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 | e.cases.matter.</li>.........<li |
| acfc0 | 3e 46 61 76 6f 72 20 72 65 61 64 69 6e 67 20 63 6f 64 65 20 6f 76 65 72 20 77 72 69 74 69 6e 67 | >Favor.reading.code.over.writing |
| acfe0 | 20 63 6f 64 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 4f 6e 6c 79 20 6f 6e 65 | .code.</li>.........<li>Only.one |
| ad000 | 20 6f 62 76 69 6f 75 73 20 77 61 79 20 74 6f 20 64 6f 20 74 68 69 6e 67 73 2e 3c 2f 6c 69 3e 0a | .obvious.way.to.do.things.</li>. |
| ad020 | 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 75 6e 74 69 6d 65 20 63 72 61 73 68 65 73 20 61 72 65 20 | ........<li>Runtime.crashes.are. |
| ad040 | 62 65 74 74 65 72 20 74 68 61 6e 20 62 75 67 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c | better.than.bugs.</li>.........< |
| ad060 | 6c 69 3e 43 6f 6d 70 69 6c 65 20 65 72 72 6f 72 73 20 61 72 65 20 62 65 74 74 65 72 20 74 68 61 | li>Compile.errors.are.better.tha |
| ad080 | 6e 20 72 75 6e 74 69 6d 65 20 63 72 61 73 68 65 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | n.runtime.crashes.</li>......... |
| ad0a0 | 3c 6c 69 3e 49 6e 63 72 65 6d 65 6e 74 61 6c 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 3c 2f 6c | <li>Incremental.improvements.</l |
| ad0c0 | 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 41 76 6f 69 64 20 6c 6f 63 61 6c 20 6d 61 78 69 6d | i>.........<li>Avoid.local.maxim |
| ad0e0 | 75 6d 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 3c 6c 69 3e 52 65 64 75 63 65 20 74 68 65 | ums.</li>.........<li>Reduce.the |
| ad100 | 20 61 6d 6f 75 6e 74 20 6f 6e 65 20 6d 75 73 74 20 72 65 6d 65 6d 62 65 72 2e 3c 2f 6c 69 3e 0a | .amount.one.must.remember.</li>. |
| ad120 | 20 20 20 20 20 20 20 20 3c 6c 69 3e 4d 69 6e 69 6d 69 7a 65 20 65 6e 65 72 67 79 20 73 70 65 6e | ........<li>Minimize.energy.spen |
| ad140 | 74 20 6f 6e 20 63 6f 64 69 6e 67 20 73 74 79 6c 65 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 20 20 20 | t.on.coding.style.</li>......... |
| ad160 | 3c 6c 69 3e 52 65 73 6f 75 72 63 65 20 64 65 61 6c 6c 6f 63 61 74 69 6f 6e 20 6d 75 73 74 20 73 | <li>Resource.deallocation.must.s |
| ad180 | 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 54 6f 67 65 74 68 65 | ucceed.</li>.........<li>Togethe |
| ad1a0 | 72 20 77 65 20 73 65 72 76 65 20 65 6e 64 20 75 73 65 72 73 2e 3c 2f 6c 69 3e 0a 20 20 20 20 20 | r.we.serve.end.users.</li>...... |
| ad1c0 | 20 3c 2f 75 6c 3e 0a 20 20 20 20 20 20 0a 20 20 20 20 20 20 3c 2f 64 69 76 3e 3c 2f 64 69 76 3e | .</ul>..............</div></div> |
| ad1e0 | 0a 20 20 20 20 3c 2f 64 69 76 3e 0a 20 20 3c 2f 62 6f 64 79 3e 0a 3c 2f 68 74 6d 6c 3e 0a 50 4b | .....</div>...</body>.</html>.PK |
| ad200 | 01 02 14 00 14 00 00 00 00 00 00 00 21 52 6f 61 ab 2c 14 00 00 00 14 00 00 00 08 00 00 00 00 00 | ............!Roa.,.............. |
| ad220 | 00 00 00 00 00 00 00 00 00 00 00 00 6d 69 6d 65 74 79 70 65 50 4b 01 02 14 00 14 00 00 00 00 00 | ............mimetypePK.......... |
| ad240 | 00 00 21 52 6f 92 d0 0a fc 00 00 00 fc 00 00 00 16 00 00 00 00 00 00 00 00 00 00 00 00 00 3a 00 | ..!Ro.........................:. |
| ad260 | 00 00 4d 45 54 41 2d 49 4e 46 2f 63 6f 6e 74 61 69 6e 65 72 2e 78 6d 6c 50 4b 01 02 14 00 14 00 | ..META-INF/container.xmlPK...... |
| ad280 | 00 00 00 00 00 00 21 52 ef 06 67 79 a7 02 00 00 a7 02 00 00 11 00 00 00 00 00 00 00 00 00 00 00 | ......!R..gy.................... |
| ad2a0 | 00 00 6a 01 00 00 4f 45 42 50 53 2f 63 6f 6e 74 65 6e 74 2e 6f 70 66 50 4b 01 02 14 00 14 00 00 | ..j...OEBPS/content.opfPK....... |
| ad2c0 | 00 00 00 00 00 21 52 09 1e e8 42 86 01 00 00 86 01 00 00 0f 00 00 00 00 00 00 00 00 00 00 00 00 | .....!R...B..................... |
| ad2e0 | 00 40 04 00 00 4f 45 42 50 53 2f 6e 61 76 2e 78 68 74 6d 6c 50 4b 01 02 14 00 14 00 00 00 00 00 | .@...OEBPS/nav.xhtmlPK.......... |
| ad300 | 00 00 21 52 22 08 57 ec dc cb 0a 00 dc cb 0a 00 11 00 00 00 00 00 00 00 00 00 00 00 00 00 f3 05 | ..!R".W......................... |
| ad320 | 00 00 4f 45 42 50 53 2f 69 6e 64 65 78 2e 78 68 74 6d 6c 50 4b 05 06 00 00 00 00 05 00 05 00 35 | ..OEBPS/index.xhtmlPK..........5 |
| ad340 | 01 00 00 fe d1 0a 00 00 00 | ......... |