[{"data":1,"prerenderedAt":6354},["ShallowReactive",2],{"navigation":3,"page-\u002Fdocs\u002Flearn\u002Funit-test":3716,"surround-\u002Fdocs\u002Flearn\u002Funit-test":6349},[4,30,34,38,43,3692,3696,3700,3704,3708,3712],{"title":5,"path":6,"stem":7,"children":8,"page":29},"Blog","\u002Fblog","blog",[9,13,17,21,25],{"title":10,"path":11,"stem":12},"Rux 0.3.0 — Laying the Cross-Platform Groundwork","\u002Fblog\u002Frelease-v0.3.0","blog\u002F1.release-v0.3.0",{"title":14,"path":15,"stem":16},"Programming Language Without LLVM","\u002Fblog\u002Flanguage-without-llvm","blog\u002F2.language-without-llvm",{"title":18,"path":19,"stem":20},"Rux 0.2.0 — A Real Language","\u002Fblog\u002Frelease-v0.2.0","blog\u002F3.release-v0.2.0",{"title":22,"path":23,"stem":24},"Rux 0.1.0 — It Compiles!","\u002Fblog\u002Frelease-v0.1.0","blog\u002F4.release-v0.1.0",{"title":26,"path":27,"stem":28},"Getting Started","\u002Fblog\u002Fgetting-started","blog\u002F5.getting-started",false,{"title":31,"path":32,"stem":33},"Code of Conduct","\u002Fcode-of-conduct","code-of-conduct",{"title":35,"path":36,"stem":37},"Community","\u002Fcommunity","community",{"title":39,"path":40,"stem":41,"icon":42},"Design Kit","\u002Fdesign-kit","design-kit","i-lucide-palette",{"title":44,"path":45,"stem":46,"children":47},"Documentation","\u002Fdocs","docs",[48,51,1365,1910,2012,2058],{"title":49,"path":45,"stem":50},"Overview","docs\u002Findex",{"title":52,"path":53,"stem":54,"children":55},"Learn Rux","\u002Fdocs\u002Flearn","docs\u002F1.learn\u002F00.index",[56,57,78,82,98,102,106,110,117,121,125,129,133,137,141,145,149,153,157,161,165,172,176,180,184,188,192,199,203,207,211,215,219,223,227,231,235,239,243,247,251,258,262,266,270,274,278,282,286,293,297,301,305,309,313,317,321,325,332,336,340,344,348,352,356,360,364,368,372,376,380,384,391,395,399,403,407,411,415,422,426,430,434,438,442,446,453,457,461,465,469,473,477,481,485,489,493,497,501,505,509,513,517,524,528,532,536,540,544,551,555,559,563,567,571,575,579,583,587,591,598,602,606,610,614,618,622,626,630,634,640,644,648,655,659,663,667,671,675,679,686,690,694,698,702,706,710,714,718,722,726,730,734,738,742,746,750,757,761,765,769,773,777,781,785,789,793,797,801,805,809,813,817,824,828,832,836,840,844,848,852,856,860,864,868,872,879,883,887,891,895,899,903,907,911,915,919,923,930,934,938,942,946,950,954,958,965,969,973,977,981,985,989,993,997,1001,1005,1009,1016,1020,1024,1028,1032,1036,1040,1044,1048,1052,1056,1060,1067,1071,1075,1079,1083,1087,1091,1095,1099,1106,1110,1114,1118,1122,1126,1130,1134,1138,1142,1146,1150,1154,1161,1165,1169,1173,1177,1181,1185,1189,1196,1200,1204,1208,1212,1216,1223,1227,1231,1235,1239,1243,1247,1251,1255,1262,1266,1270,1274,1278,1282,1286,1290,1297,1301,1305,1309,1313,1317,1321,1325,1329,1333,1337,1341,1345,1349,1353,1357,1361],{"title":49,"path":53,"stem":54},{"title":58,"path":59,"stem":60,"children":61,"page":29},"Install","\u002Fdocs\u002Flearn\u002Finstall","docs\u002F1.learn\u002F00.start",[62,66,70,74],{"title":63,"path":64,"stem":65},"FreeBSD","\u002Fdocs\u002Flearn\u002Finstall\u002Ffreebsd","docs\u002F1.learn\u002F00.start\u002F1.install\u002F1.freebsd",{"title":67,"path":68,"stem":69},"Linux","\u002Fdocs\u002Flearn\u002Finstall\u002Flinux","docs\u002F1.learn\u002F00.start\u002F1.install\u002F2.linux",{"title":71,"path":72,"stem":73},"macOS","\u002Fdocs\u002Flearn\u002Finstall\u002Fmacos","docs\u002F1.learn\u002F00.start\u002F1.install\u002F3.macos",{"title":75,"path":76,"stem":77},"Windows","\u002Fdocs\u002Flearn\u002Finstall\u002Fwindows","docs\u002F1.learn\u002F00.start\u002F1.install\u002F4.windows",{"title":79,"path":80,"stem":81},"Build From Source","\u002Fdocs\u002Flearn\u002Fbuild","docs\u002F1.learn\u002F00.start\u002F2.build",{"title":83,"path":84,"stem":60,"children":85,"page":29},"Editors","\u002Fdocs\u002Flearn\u002Feditors",[86,90,94],{"title":87,"path":88,"stem":89},"Visual Studio Code","\u002Fdocs\u002Flearn\u002Feditors\u002Fvscode","docs\u002F1.learn\u002F00.start\u002F3.editors\u002F1.vscode",{"title":91,"path":92,"stem":93},"Sublime Text","\u002Fdocs\u002Flearn\u002Feditors\u002Fsublime","docs\u002F1.learn\u002F00.start\u002F3.editors\u002F2.sublime",{"title":95,"path":96,"stem":97},"Zed","\u002Fdocs\u002Flearn\u002Feditors\u002Fzed","docs\u002F1.learn\u002F00.start\u002F3.editors\u002F3.zed",{"title":99,"path":100,"stem":101},"First project","\u002Fdocs\u002Flearn\u002Ffirst-project","docs\u002F1.learn\u002F00.start\u002F4.first-project",{"title":103,"path":104,"stem":105},"Learn with AI","\u002Fdocs\u002Flearn\u002Fai","docs\u002F1.learn\u002F00.start\u002F5.ai",{"title":107,"path":108,"stem":109},"Cheat sheet","\u002Fdocs\u002Flearn\u002Fcheatsheet","docs\u002F1.learn\u002F00.start\u002F6.cheatsheet",{"title":111,"path":112,"stem":113,"children":114,"icon":116},"Basics","\u002Fdocs\u002Flearn\u002Fbasics","docs\u002F1.learn\u002F01.basics\u002F00.index",[115],{"title":49,"path":112,"stem":113},"i-lucide-sprout",{"title":118,"path":119,"stem":120},"1.1 Hello, World","\u002Fdocs\u002Flearn\u002Fhello","docs\u002F1.learn\u002F01.basics\u002F01.hello",{"title":122,"path":123,"stem":124},"1.2 Comment","\u002Fdocs\u002Flearn\u002Fcomment","docs\u002F1.learn\u002F01.basics\u002F02.comment",{"title":126,"path":127,"stem":128},"1.3 Variable","\u002Fdocs\u002Flearn\u002Fvariable","docs\u002F1.learn\u002F01.basics\u002F03.variable",{"title":130,"path":131,"stem":132},"1.4 Mutable","\u002Fdocs\u002Flearn\u002Fmutable","docs\u002F1.learn\u002F01.basics\u002F04.mutable",{"title":134,"path":135,"stem":136},"1.5 Integer","\u002Fdocs\u002Flearn\u002Finteger","docs\u002F1.learn\u002F01.basics\u002F05.integer",{"title":138,"path":139,"stem":140},"1.6 Float","\u002Fdocs\u002Flearn\u002Ffloat","docs\u002F1.learn\u002F01.basics\u002F06.float",{"title":142,"path":143,"stem":144},"1.7 Boolean","\u002Fdocs\u002Flearn\u002Fboolean","docs\u002F1.learn\u002F01.basics\u002F07.boolean",{"title":146,"path":147,"stem":148},"1.8 Character","\u002Fdocs\u002Flearn\u002Fcharacter","docs\u002F1.learn\u002F01.basics\u002F08.character",{"title":150,"path":151,"stem":152},"1.9 Literal","\u002Fdocs\u002Flearn\u002Fliteral","docs\u002F1.learn\u002F01.basics\u002F09.literal",{"title":154,"path":155,"stem":156},"1.10 Console","\u002Fdocs\u002Flearn\u002Fconsole","docs\u002F1.learn\u002F01.basics\u002F10.console",{"title":158,"path":159,"stem":160},"1.11 Const","\u002Fdocs\u002Flearn\u002Fconst","docs\u002F1.learn\u002F01.basics\u002F11.const",{"title":162,"path":163,"stem":164},"1.12 Convert","\u002Fdocs\u002Flearn\u002Fconvert","docs\u002F1.learn\u002F01.basics\u002F12.convert",{"title":166,"path":167,"stem":168,"children":169,"icon":171},"Operators","\u002Fdocs\u002Flearn\u002Foperators","docs\u002F1.learn\u002F02.operators\u002F00.index",[170],{"title":49,"path":167,"stem":168},"i-lucide-plus",{"title":173,"path":174,"stem":175},"2.1 Arithmetic","\u002Fdocs\u002Flearn\u002Farithmetic","docs\u002F1.learn\u002F02.operators\u002F01.arithmetic",{"title":177,"path":178,"stem":179},"2.2 Comparison","\u002Fdocs\u002Flearn\u002Fcomparison","docs\u002F1.learn\u002F02.operators\u002F02.comparison",{"title":181,"path":182,"stem":183},"2.3 Logical","\u002Fdocs\u002Flearn\u002Flogical","docs\u002F1.learn\u002F02.operators\u002F03.logical",{"title":185,"path":186,"stem":187},"2.4 Assignment","\u002Fdocs\u002Flearn\u002Fassignment","docs\u002F1.learn\u002F02.operators\u002F04.assignment",{"title":189,"path":190,"stem":191},"2.5 Precedence","\u002Fdocs\u002Flearn\u002Fprecedence","docs\u002F1.learn\u002F02.operators\u002F05.precedence",{"title":193,"path":194,"stem":195,"children":196,"icon":198},"Control flow","\u002Fdocs\u002Flearn\u002Fcontrol-flow","docs\u002F1.learn\u002F03.control-flow\u002F00.index",[197],{"title":49,"path":194,"stem":195},"i-lucide-git-branch",{"title":200,"path":201,"stem":202},"3.1 If","\u002Fdocs\u002Flearn\u002Fif","docs\u002F1.learn\u002F03.control-flow\u002F01.if",{"title":204,"path":205,"stem":206},"3.2 Else if","\u002Fdocs\u002Flearn\u002Felse-if","docs\u002F1.learn\u002F03.control-flow\u002F02.else-if",{"title":208,"path":209,"stem":210},"3.3 Ternary","\u002Fdocs\u002Flearn\u002Fternary","docs\u002F1.learn\u002F03.control-flow\u002F03.ternary",{"title":212,"path":213,"stem":214},"3.4 While","\u002Fdocs\u002Flearn\u002Fwhile","docs\u002F1.learn\u002F03.control-flow\u002F04.while",{"title":216,"path":217,"stem":218},"3.5 Do-while","\u002Fdocs\u002Flearn\u002Fdo-while","docs\u002F1.learn\u002F03.control-flow\u002F05.do-while",{"title":220,"path":221,"stem":222},"3.6 Loop","\u002Fdocs\u002Flearn\u002Floop","docs\u002F1.learn\u002F03.control-flow\u002F06.loop",{"title":224,"path":225,"stem":226},"3.7 Break","\u002Fdocs\u002Flearn\u002Fbreak","docs\u002F1.learn\u002F03.control-flow\u002F07.break",{"title":228,"path":229,"stem":230},"3.8 Continue","\u002Fdocs\u002Flearn\u002Fcontinue","docs\u002F1.learn\u002F03.control-flow\u002F08.continue",{"title":232,"path":233,"stem":234},"3.9 Range","\u002Fdocs\u002Flearn\u002Frange","docs\u002F1.learn\u002F03.control-flow\u002F09.range",{"title":236,"path":237,"stem":238},"3.10 For","\u002Fdocs\u002Flearn\u002Ffor","docs\u002F1.learn\u002F03.control-flow\u002F10.for",{"title":240,"path":241,"stem":242},"3.11 Label","\u002Fdocs\u002Flearn\u002Flabel","docs\u002F1.learn\u002F03.control-flow\u002F11.label",{"title":244,"path":245,"stem":246},"3.12 Match","\u002Fdocs\u002Flearn\u002Fmatch","docs\u002F1.learn\u002F03.control-flow\u002F12.match",{"title":248,"path":249,"stem":250},"3.13 Match expression","\u002Fdocs\u002Flearn\u002Fmatch-expression","docs\u002F1.learn\u002F03.control-flow\u002F13.match-expression",{"title":252,"path":253,"stem":254,"children":255,"icon":257},"Functions","\u002Fdocs\u002Flearn\u002Ffunctions","docs\u002F1.learn\u002F04.functions\u002F00.index",[256],{"title":49,"path":253,"stem":254},"i-lucide-square-function",{"title":259,"path":260,"stem":261},"4.1 Function","\u002Fdocs\u002Flearn\u002Ffunction","docs\u002F1.learn\u002F04.functions\u002F01.function",{"title":263,"path":264,"stem":265},"4.2 Return","\u002Fdocs\u002Flearn\u002Freturn","docs\u002F1.learn\u002F04.functions\u002F02.return",{"title":267,"path":268,"stem":269},"4.3 Recursion","\u002Fdocs\u002Flearn\u002Frecursion","docs\u002F1.learn\u002F04.functions\u002F03.recursion",{"title":271,"path":272,"stem":273},"4.4 Overload","\u002Fdocs\u002Flearn\u002Foverload","docs\u002F1.learn\u002F04.functions\u002F04.overload",{"title":275,"path":276,"stem":277},"4.5 Default argument","\u002Fdocs\u002Flearn\u002Fdefault-argument","docs\u002F1.learn\u002F04.functions\u002F05.default-argument",{"title":279,"path":280,"stem":281},"4.6 Generic","\u002Fdocs\u002Flearn\u002Fgeneric","docs\u002F1.learn\u002F04.functions\u002F06.generic",{"title":283,"path":284,"stem":285},"4.7 Callback","\u002Fdocs\u002Flearn\u002Fcallback","docs\u002F1.learn\u002F04.functions\u002F07.callback",{"title":287,"path":288,"stem":289,"children":290,"icon":292},"Sequences","\u002Fdocs\u002Flearn\u002Fsequences","docs\u002F1.learn\u002F05.sequences\u002F00.index",[291],{"title":49,"path":288,"stem":289},"i-lucide-brackets",{"title":294,"path":295,"stem":296},"5.1 Array","\u002Fdocs\u002Flearn\u002Farray","docs\u002F1.learn\u002F05.sequences\u002F01.array",{"title":298,"path":299,"stem":300},"5.2 Array repeat","\u002Fdocs\u002Flearn\u002Farray-repeat","docs\u002F1.learn\u002F05.sequences\u002F02.array-repeat",{"title":302,"path":303,"stem":304},"5.3 Array nested","\u002Fdocs\u002Flearn\u002Farray-nested","docs\u002F1.learn\u002F05.sequences\u002F03.array-nested",{"title":306,"path":307,"stem":308},"5.4 Slice","\u002Fdocs\u002Flearn\u002Fslice","docs\u002F1.learn\u002F05.sequences\u002F04.slice",{"title":310,"path":311,"stem":312},"5.5 Writable slice","\u002Fdocs\u002Flearn\u002Fwritable-slice","docs\u002F1.learn\u002F05.sequences\u002F05.writable-slice",{"title":314,"path":315,"stem":316},"5.6 Variadic","\u002Fdocs\u002Flearn\u002Fvariadic","docs\u002F1.learn\u002F05.sequences\u002F06.variadic",{"title":318,"path":319,"stem":320},"5.7 Tuple","\u002Fdocs\u002Flearn\u002Ftuple","docs\u002F1.learn\u002F05.sequences\u002F07.tuple",{"title":322,"path":323,"stem":324},"5.8 Destructure","\u002Fdocs\u002Flearn\u002Fdestructure","docs\u002F1.learn\u002F05.sequences\u002F08.destructure",{"title":326,"path":327,"stem":328,"children":329,"icon":331},"Types","\u002Fdocs\u002Flearn\u002Ftypes","docs\u002F1.learn\u002F06.types\u002F00.index",[330],{"title":49,"path":327,"stem":328},"i-lucide-shapes",{"title":333,"path":334,"stem":335},"6.1 Struct","\u002Fdocs\u002Flearn\u002Fstruct","docs\u002F1.learn\u002F06.types\u002F01.struct",{"title":337,"path":338,"stem":339},"6.2 Reference","\u002Fdocs\u002Flearn\u002Freference","docs\u002F1.learn\u002F06.types\u002F02.reference",{"title":341,"path":342,"stem":343},"6.3 Mutable reference","\u002Fdocs\u002Flearn\u002Fmutable-reference","docs\u002F1.learn\u002F06.types\u002F03.mutable-reference",{"title":345,"path":346,"stem":347},"6.4 Method","\u002Fdocs\u002Flearn\u002Fmethod","docs\u002F1.learn\u002F06.types\u002F04.method",{"title":349,"path":350,"stem":351},"6.5 Mutating method","\u002Fdocs\u002Flearn\u002Fmutating-method","docs\u002F1.learn\u002F06.types\u002F05.mutating-method",{"title":353,"path":354,"stem":355},"6.6 Constructor","\u002Fdocs\u002Flearn\u002Fconstructor","docs\u002F1.learn\u002F06.types\u002F06.constructor",{"title":357,"path":358,"stem":359},"6.7 Extension","\u002Fdocs\u002Flearn\u002Fextension","docs\u002F1.learn\u002F06.types\u002F07.extension",{"title":361,"path":362,"stem":363},"6.8 Enum","\u002Fdocs\u002Flearn\u002Fenum","docs\u002F1.learn\u002F06.types\u002F08.enum",{"title":365,"path":366,"stem":367},"6.9 Enum value","\u002Fdocs\u002Flearn\u002Fenum-value","docs\u002F1.learn\u002F06.types\u002F09.enum-value",{"title":369,"path":370,"stem":371},"6.10 Variant","\u002Fdocs\u002Flearn\u002Fvariant","docs\u002F1.learn\u002F06.types\u002F10.variant",{"title":373,"path":374,"stem":375},"6.11 Variant match","\u002Fdocs\u002Flearn\u002Fvariant-match","docs\u002F1.learn\u002F06.types\u002F11.variant-match",{"title":377,"path":378,"stem":379},"6.12 Type alias","\u002Fdocs\u002Flearn\u002Ftype-alias","docs\u002F1.learn\u002F06.types\u002F12.type-alias",{"title":381,"path":382,"stem":383},"6.13 Function field","\u002Fdocs\u002Flearn\u002Ffunction-field","docs\u002F1.learn\u002F06.types\u002F13.function-field",{"title":385,"path":386,"stem":387,"children":388,"icon":390},"Patterns","\u002Fdocs\u002Flearn\u002Fpatterns","docs\u002F1.learn\u002F07.patterns\u002F00.index",[389],{"title":49,"path":386,"stem":387},"i-lucide-scan-search",{"title":392,"path":393,"stem":394},"7.1 Guard","\u002Fdocs\u002Flearn\u002Fguard","docs\u002F1.learn\u002F07.patterns\u002F01.guard",{"title":396,"path":397,"stem":398},"7.2 Range pattern","\u002Fdocs\u002Flearn\u002Frange-pattern","docs\u002F1.learn\u002F07.patterns\u002F02.range-pattern",{"title":400,"path":401,"stem":402},"7.3 Tuple pattern","\u002Fdocs\u002Flearn\u002Ftuple-pattern","docs\u002F1.learn\u002F07.patterns\u002F03.tuple-pattern",{"title":404,"path":405,"stem":406},"7.4 Struct pattern","\u002Fdocs\u002Flearn\u002Fstruct-pattern","docs\u002F1.learn\u002F07.patterns\u002F04.struct-pattern",{"title":408,"path":409,"stem":410},"7.5 Character pattern","\u002Fdocs\u002Flearn\u002Fcharacter-pattern","docs\u002F1.learn\u002F07.patterns\u002F05.character-pattern",{"title":412,"path":413,"stem":414},"7.6 Exhaustive","\u002Fdocs\u002Flearn\u002Fexhaustive","docs\u002F1.learn\u002F07.patterns\u002F06.exhaustive",{"title":416,"path":417,"stem":418,"children":419,"icon":421},"Optionals","\u002Fdocs\u002Flearn\u002Foptionals","docs\u002F1.learn\u002F08.optionals\u002F00.index",[420],{"title":49,"path":417,"stem":418},"i-lucide-circle-dashed",{"title":423,"path":424,"stem":425},"8.1 Optional","\u002Fdocs\u002Flearn\u002Foptional","docs\u002F1.learn\u002F08.optionals\u002F01.optional",{"title":427,"path":428,"stem":429},"8.2 Presence","\u002Fdocs\u002Flearn\u002Fpresence","docs\u002F1.learn\u002F08.optionals\u002F02.presence",{"title":431,"path":432,"stem":433},"8.3 Coalesce","\u002Fdocs\u002Flearn\u002Fcoalesce","docs\u002F1.learn\u002F08.optionals\u002F03.coalesce",{"title":435,"path":436,"stem":437},"8.4 Coalesce exit","\u002Fdocs\u002Flearn\u002Fcoalesce-exit","docs\u002F1.learn\u002F08.optionals\u002F04.coalesce-exit",{"title":439,"path":440,"stem":441},"8.5 Optional propagate","\u002Fdocs\u002Flearn\u002Foptional-propagate","docs\u002F1.learn\u002F08.optionals\u002F05.optional-propagate",{"title":443,"path":444,"stem":445},"8.6 Nested optional","\u002Fdocs\u002Flearn\u002Fnested-optional","docs\u002F1.learn\u002F08.optionals\u002F06.nested-optional",{"title":447,"path":448,"stem":449,"children":450,"icon":452},"Errors","\u002Fdocs\u002Flearn\u002Ferrors","docs\u002F1.learn\u002F09.errors\u002F00.index",[451],{"title":49,"path":448,"stem":449},"i-lucide-triangle-alert",{"title":454,"path":455,"stem":456},"9.1 Fallible","\u002Fdocs\u002Flearn\u002Ffallible","docs\u002F1.learn\u002F09.errors\u002F01.fallible",{"title":458,"path":459,"stem":460},"9.2 Fail","\u002Fdocs\u002Flearn\u002Ffail","docs\u002F1.learn\u002F09.errors\u002F02.fail",{"title":462,"path":463,"stem":464},"9.3 Unit fallible","\u002Fdocs\u002Flearn\u002Funit-fallible","docs\u002F1.learn\u002F09.errors\u002F03.unit-fallible",{"title":466,"path":467,"stem":468},"9.4 Outcome","\u002Fdocs\u002Flearn\u002Foutcome","docs\u002F1.learn\u002F09.errors\u002F04.outcome",{"title":470,"path":471,"stem":472},"9.5 Discard","\u002Fdocs\u002Flearn\u002Fdiscard","docs\u002F1.learn\u002F09.errors\u002F05.discard",{"title":474,"path":475,"stem":476},"9.6 Catch","\u002Fdocs\u002Flearn\u002Fcatch","docs\u002F1.learn\u002F09.errors\u002F06.catch",{"title":478,"path":479,"stem":480},"9.7 Catch fallback","\u002Fdocs\u002Flearn\u002Fcatch-fallback","docs\u002F1.learn\u002F09.errors\u002F07.catch-fallback",{"title":482,"path":483,"stem":484},"9.8 Propagate","\u002Fdocs\u002Flearn\u002Fpropagate","docs\u002F1.learn\u002F09.errors\u002F08.propagate",{"title":486,"path":487,"stem":488},"9.9 Error variant","\u002Fdocs\u002Flearn\u002Ferror-variant","docs\u002F1.learn\u002F09.errors\u002F09.error-variant",{"title":490,"path":491,"stem":492},"9.10 Error mapping","\u002Fdocs\u002Flearn\u002Ferror-mapping","docs\u002F1.learn\u002F09.errors\u002F10.error-mapping",{"title":494,"path":495,"stem":496},"9.11 Error sum","\u002Fdocs\u002Flearn\u002Ferror-sum","docs\u002F1.learn\u002F09.errors\u002F11.error-sum",{"title":498,"path":499,"stem":500},"9.12 Fallible main","\u002Fdocs\u002Flearn\u002Ffallible-main","docs\u002F1.learn\u002F09.errors\u002F12.fallible-main",{"title":502,"path":503,"stem":504},"9.13 Absence to error","\u002Fdocs\u002Flearn\u002Fabsence-to-error","docs\u002F1.learn\u002F09.errors\u002F13.absence-to-error",{"title":506,"path":507,"stem":508},"9.14 Nested fallible","\u002Fdocs\u002Flearn\u002Fnested-fallible","docs\u002F1.learn\u002F09.errors\u002F14.nested-fallible",{"title":510,"path":511,"stem":512},"9.15 Panic","\u002Fdocs\u002Flearn\u002Fpanic","docs\u002F1.learn\u002F09.errors\u002F15.panic",{"title":514,"path":515,"stem":516},"9.16 Assert","\u002Fdocs\u002Flearn\u002Fassert","docs\u002F1.learn\u002F09.errors\u002F16.assert",{"title":518,"path":519,"stem":520,"children":521,"icon":523},"Sum types","\u002Fdocs\u002Flearn\u002Fsum-types","docs\u002F1.learn\u002F10.sum-types\u002F00.index",[522],{"title":49,"path":519,"stem":520},"i-lucide-combine",{"title":525,"path":526,"stem":527},"10.1 Sum type","\u002Fdocs\u002Flearn\u002Fsum-type","docs\u002F1.learn\u002F10.sum-types\u002F01.sum-type",{"title":529,"path":530,"stem":531},"10.2 Typed pattern","\u002Fdocs\u002Flearn\u002Ftyped-pattern","docs\u002F1.learn\u002F10.sum-types\u002F02.typed-pattern",{"title":533,"path":534,"stem":535},"10.3 Subset pattern","\u002Fdocs\u002Flearn\u002Fsubset-pattern","docs\u002F1.learn\u002F10.sum-types\u002F03.subset-pattern",{"title":537,"path":538,"stem":539},"10.4 The is operator","\u002Fdocs\u002Flearn\u002Fis","docs\u002F1.learn\u002F10.sum-types\u002F04.is",{"title":541,"path":542,"stem":543},"10.5 Sum widening","\u002Fdocs\u002Flearn\u002Fsum-widening","docs\u002F1.learn\u002F10.sum-types\u002F05.sum-widening",{"title":545,"path":546,"stem":547,"children":548,"icon":550},"Ownership","\u002Fdocs\u002Flearn\u002Fownership","docs\u002F1.learn\u002F11.ownership\u002F00.index",[549],{"title":49,"path":546,"stem":547},"i-lucide-key-round",{"title":552,"path":553,"stem":554},"11.1 Exclusivity","\u002Fdocs\u002Flearn\u002Fexclusivity","docs\u002F1.learn\u002F11.ownership\u002F01.exclusivity",{"title":556,"path":557,"stem":558},"11.2 Copy","\u002Fdocs\u002Flearn\u002Fcopy","docs\u002F1.learn\u002F11.ownership\u002F02.copy",{"title":560,"path":561,"stem":562},"11.3 Move","\u002Fdocs\u002Flearn\u002Fmove","docs\u002F1.learn\u002F11.ownership\u002F03.move",{"title":564,"path":565,"stem":566},"11.4 Destructor","\u002Fdocs\u002Flearn\u002Fdestructor","docs\u002F1.learn\u002F11.ownership\u002F04.destructor",{"title":568,"path":569,"stem":570},"11.5 Non-copyable types","\u002Fdocs\u002Flearn\u002Fno-copy","docs\u002F1.learn\u002F11.ownership\u002F05.no-copy",{"title":572,"path":573,"stem":574},"11.6 Custom copy","\u002Fdocs\u002Flearn\u002Fcustom-copy","docs\u002F1.learn\u002F11.ownership\u002F06.custom-copy",{"title":576,"path":577,"stem":578},"11.7 Partial move","\u002Fdocs\u002Flearn\u002Fpartial-move","docs\u002F1.learn\u002F11.ownership\u002F07.partial-move",{"title":580,"path":581,"stem":582},"11.8 Defer","\u002Fdocs\u002Flearn\u002Fdefer","docs\u002F1.learn\u002F11.ownership\u002F08.defer",{"title":584,"path":585,"stem":586},"11.9 Defer return","\u002Fdocs\u002Flearn\u002Fdefer-return","docs\u002F1.learn\u002F11.ownership\u002F09.defer-return",{"title":588,"path":589,"stem":590},"11.10 Initialization","\u002Fdocs\u002Flearn\u002Finitialization","docs\u002F1.learn\u002F11.ownership\u002F10.initialization",{"title":592,"path":593,"stem":594,"children":595,"icon":597},"Interfaces","\u002Fdocs\u002Flearn\u002Finterfaces","docs\u002F1.learn\u002F12.interfaces\u002F00.index",[596],{"title":49,"path":593,"stem":594},"i-lucide-plug",{"title":599,"path":600,"stem":601},"12.1 Interface","\u002Fdocs\u002Flearn\u002Finterface","docs\u002F1.learn\u002F12.interfaces\u002F01.interface",{"title":603,"path":604,"stem":605},"12.2 Interface value","\u002Fdocs\u002Flearn\u002Finterface-value","docs\u002F1.learn\u002F12.interfaces\u002F02.interface-value",{"title":607,"path":608,"stem":609},"12.3 Interface parameter","\u002Fdocs\u002Flearn\u002Finterface-parameter","docs\u002F1.learn\u002F12.interfaces\u002F03.interface-parameter",{"title":611,"path":612,"stem":613},"12.4 Display","\u002Fdocs\u002Flearn\u002Fdisplay","docs\u002F1.learn\u002F12.interfaces\u002F04.display",{"title":615,"path":616,"stem":617},"12.5 Equatable","\u002Fdocs\u002Flearn\u002Fequatable","docs\u002F1.learn\u002F12.interfaces\u002F05.equatable",{"title":619,"path":620,"stem":621},"12.6 Comparable","\u002Fdocs\u002Flearn\u002Fcomparable","docs\u002F1.learn\u002F12.interfaces\u002F06.comparable",{"title":623,"path":624,"stem":625},"12.7 Structural equality","\u002Fdocs\u002Flearn\u002Fstructural-equality","docs\u002F1.learn\u002F12.interfaces\u002F07.structural-equality",{"title":627,"path":628,"stem":629},"12.8 Operator overload","\u002Fdocs\u002Flearn\u002Foperator-overload","docs\u002F1.learn\u002F12.interfaces\u002F08.operator-overload",{"title":631,"path":632,"stem":633},"12.9 Derived operator","\u002Fdocs\u002Flearn\u002Fderived-operator","docs\u002F1.learn\u002F12.interfaces\u002F09.derived-operator",{"title":635,"path":636,"stem":637,"children":638},"12.10 Indexer","\u002Fdocs\u002Flearn\u002Findexer","docs\u002F1.learn\u002F12.interfaces\u002F10.indexer",[639],{"title":635,"path":636,"stem":637},{"title":641,"path":642,"stem":643},"12.11 Iterator","\u002Fdocs\u002Flearn\u002Fiterator","docs\u002F1.learn\u002F12.interfaces\u002F11.iterator",{"title":645,"path":646,"stem":647},"12.12 Iterable","\u002Fdocs\u002Flearn\u002Fiterable","docs\u002F1.learn\u002F12.interfaces\u002F12.iterable",{"title":649,"path":650,"stem":651,"children":652,"icon":654},"Generics","\u002Fdocs\u002Flearn\u002Fgenerics","docs\u002F1.learn\u002F13.generics\u002F00.index",[653],{"title":49,"path":650,"stem":651},"i-lucide-boxes",{"title":656,"path":657,"stem":658},"13.1 Generic type","\u002Fdocs\u002Flearn\u002Fgeneric-type","docs\u002F1.learn\u002F13.generics\u002F01.generic-type",{"title":660,"path":661,"stem":662},"13.2 Generic method","\u002Fdocs\u002Flearn\u002Fgeneric-method","docs\u002F1.learn\u002F13.generics\u002F02.generic-method",{"title":664,"path":665,"stem":666},"13.3 Generic bound","\u002Fdocs\u002Flearn\u002Fgeneric-bound","docs\u002F1.learn\u002F13.generics\u002F03.generic-bound",{"title":668,"path":669,"stem":670},"13.4 Multiple bounds","\u002Fdocs\u002Flearn\u002Fmultiple-bounds","docs\u002F1.learn\u002F13.generics\u002F04.multiple-bounds",{"title":672,"path":673,"stem":674},"13.5 Generic outcome","\u002Fdocs\u002Flearn\u002Fgeneric-outcome","docs\u002F1.learn\u002F13.generics\u002F05.generic-outcome",{"title":676,"path":677,"stem":678},"13.6 Generic sum","\u002Fdocs\u002Flearn\u002Fgeneric-sum","docs\u002F1.learn\u002F13.generics\u002F06.generic-sum",{"title":680,"path":681,"stem":682,"children":683,"icon":685},"Text","\u002Fdocs\u002Flearn\u002Ftext","docs\u002F1.learn\u002F14.text\u002F00.index",[684],{"title":49,"path":681,"stem":682},"i-lucide-type",{"title":687,"path":688,"stem":689},"14.1 String literal","\u002Fdocs\u002Flearn\u002Fstring-literal","docs\u002F1.learn\u002F14.text\u002F01.string-literal",{"title":691,"path":692,"stem":693},"14.2 Encoding","\u002Fdocs\u002Flearn\u002Fencoding","docs\u002F1.learn\u002F14.text\u002F02.encoding",{"title":695,"path":696,"stem":697},"14.3 String view","\u002Fdocs\u002Flearn\u002Fstring-view","docs\u002F1.learn\u002F14.text\u002F03.string-view",{"title":699,"path":700,"stem":701},"14.4 String","\u002Fdocs\u002Flearn\u002Fstring","docs\u002F1.learn\u002F14.text\u002F04.string",{"title":703,"path":704,"stem":705},"14.5 String builder","\u002Fdocs\u002Flearn\u002Fstring-builder","docs\u002F1.learn\u002F14.text\u002F05.string-builder",{"title":707,"path":708,"stem":709},"14.6 UTF-8","\u002Fdocs\u002Flearn\u002Futf8","docs\u002F1.learn\u002F14.text\u002F06.utf8",{"title":711,"path":712,"stem":713},"14.7 Unicode","\u002Fdocs\u002Flearn\u002Funicode","docs\u002F1.learn\u002F14.text\u002F07.unicode",{"title":715,"path":716,"stem":717},"14.8 Unicode case","\u002Fdocs\u002Flearn\u002Funicode-case","docs\u002F1.learn\u002F14.text\u002F08.unicode-case",{"title":719,"path":720,"stem":721},"14.9 Format","\u002Fdocs\u002Flearn\u002Fformat","docs\u002F1.learn\u002F14.text\u002F09.format",{"title":723,"path":724,"stem":725},"14.10 Format number","\u002Fdocs\u002Flearn\u002Fformat-number","docs\u002F1.learn\u002F14.text\u002F10.format-number",{"title":727,"path":728,"stem":729},"14.11 Render","\u002Fdocs\u002Flearn\u002Frender","docs\u002F1.learn\u002F14.text\u002F11.render",{"title":731,"path":732,"stem":733},"14.12 Parse","\u002Fdocs\u002Flearn\u002Fparse","docs\u002F1.learn\u002F14.text\u002F12.parse",{"title":735,"path":736,"stem":737},"14.13 Input","\u002Fdocs\u002Flearn\u002Finput","docs\u002F1.learn\u002F14.text\u002F13.input",{"title":739,"path":740,"stem":741},"14.14 Lines and joining","\u002Fdocs\u002Flearn\u002Fjoin-lines","docs\u002F1.learn\u002F14.text\u002F14.join-lines",{"title":743,"path":744,"stem":745},"14.15 Regular expressions","\u002Fdocs\u002Flearn\u002Fregex","docs\u002F1.learn\u002F14.text\u002F15.regex",{"title":747,"path":748,"stem":749},"14.16 Regex captures","\u002Fdocs\u002Flearn\u002Fregex-capture","docs\u002F1.learn\u002F14.text\u002F16.regex-capture",{"title":751,"path":752,"stem":753,"children":754,"icon":756},"Memory","\u002Fdocs\u002Flearn\u002Fmemory","docs\u002F1.learn\u002F15.memory\u002F00.index",[755],{"title":49,"path":752,"stem":753},"i-lucide-memory-stick",{"title":758,"path":759,"stem":760},"15.1 Pointer","\u002Fdocs\u002Flearn\u002Fpointer","docs\u002F1.learn\u002F15.memory\u002F01.pointer",{"title":762,"path":763,"stem":764},"15.2 Out parameter","\u002Fdocs\u002Flearn\u002Fout-parameter","docs\u002F1.learn\u002F15.memory\u002F02.out-parameter",{"title":766,"path":767,"stem":768},"15.3 Raw memory","\u002Fdocs\u002Flearn\u002Fraw-memory","docs\u002F1.learn\u002F15.memory\u002F03.raw-memory",{"title":770,"path":771,"stem":772},"15.4 Pointer arithmetic","\u002Fdocs\u002Flearn\u002Fpointer-arithmetic","docs\u002F1.learn\u002F15.memory\u002F04.pointer-arithmetic",{"title":774,"path":775,"stem":776},"15.5 Pointer slice","\u002Fdocs\u002Flearn\u002Fpointer-slice","docs\u002F1.learn\u002F15.memory\u002F05.pointer-slice",{"title":778,"path":779,"stem":780},"15.6 Optional pointer","\u002Fdocs\u002Flearn\u002Foptional-pointer","docs\u002F1.learn\u002F15.memory\u002F06.optional-pointer",{"title":782,"path":783,"stem":784},"15.7 Layout","\u002Fdocs\u002Flearn\u002Flayout","docs\u002F1.learn\u002F15.memory\u002F07.layout",{"title":786,"path":787,"stem":788},"15.8 Union","\u002Fdocs\u002Flearn\u002Funion","docs\u002F1.learn\u002F15.memory\u002F08.union",{"title":790,"path":791,"stem":792},"15.9 Allocator","\u002Fdocs\u002Flearn\u002Fallocator","docs\u002F1.learn\u002F15.memory\u002F09.allocator",{"title":794,"path":795,"stem":796},"15.10 Box","\u002Fdocs\u002Flearn\u002Fbox","docs\u002F1.learn\u002F15.memory\u002F10.box",{"title":798,"path":799,"stem":800},"15.11 Arena","\u002Fdocs\u002Flearn\u002Farena","docs\u002F1.learn\u002F15.memory\u002F11.arena",{"title":802,"path":803,"stem":804},"15.12 Fixed buffer","\u002Fdocs\u002Flearn\u002Ffixed-buffer","docs\u002F1.learn\u002F15.memory\u002F12.fixed-buffer",{"title":806,"path":807,"stem":808},"15.13 Pool","\u002Fdocs\u002Flearn\u002Fpool","docs\u002F1.learn\u002F15.memory\u002F13.pool",{"title":810,"path":811,"stem":812},"15.14 Zeroize","\u002Fdocs\u002Flearn\u002Fzeroize","docs\u002F1.learn\u002F15.memory\u002F14.zeroize",{"title":814,"path":815,"stem":816},"15.15 Rc","\u002Fdocs\u002Flearn\u002Frc","docs\u002F1.learn\u002F15.memory\u002F15.rc",{"title":818,"path":819,"stem":820,"children":821,"icon":823},"Numbers","\u002Fdocs\u002Flearn\u002Fnumbers","docs\u002F1.learn\u002F16.numbers\u002F00.index",[822],{"title":49,"path":819,"stem":820},"i-lucide-binary",{"title":825,"path":826,"stem":827},"16.1 Wide integer","\u002Fdocs\u002Flearn\u002Fwide-integer","docs\u002F1.learn\u002F16.numbers\u002F01.wide-integer",{"title":829,"path":830,"stem":831},"16.2 Number limit","\u002Fdocs\u002Flearn\u002Fnumber-limit","docs\u002F1.learn\u002F16.numbers\u002F02.number-limit",{"title":833,"path":834,"stem":835},"16.3 Float special","\u002Fdocs\u002Flearn\u002Ffloat-special","docs\u002F1.learn\u002F16.numbers\u002F03.float-special",{"title":837,"path":838,"stem":839},"16.4 Bitwise","\u002Fdocs\u002Flearn\u002Fbitwise","docs\u002F1.learn\u002F16.numbers\u002F04.bitwise",{"title":841,"path":842,"stem":843},"16.5 Shift","\u002Fdocs\u002Flearn\u002Fshift","docs\u002F1.learn\u002F16.numbers\u002F05.shift",{"title":845,"path":846,"stem":847},"16.6 Checked arithmetic","\u002Fdocs\u002Flearn\u002Fchecked-arithmetic","docs\u002F1.learn\u002F16.numbers\u002F06.checked-arithmetic",{"title":849,"path":850,"stem":851},"16.7 Wrapping arithmetic","\u002Fdocs\u002Flearn\u002Fwrapping-arithmetic","docs\u002F1.learn\u002F16.numbers\u002F07.wrapping-arithmetic",{"title":853,"path":854,"stem":855},"16.8 Checked convert","\u002Fdocs\u002Flearn\u002Fchecked-convert","docs\u002F1.learn\u002F16.numbers\u002F08.checked-convert",{"title":857,"path":858,"stem":859},"16.9 Bit operation","\u002Fdocs\u002Flearn\u002Fbit-operation","docs\u002F1.learn\u002F16.numbers\u002F09.bit-operation",{"title":861,"path":862,"stem":863},"16.10 Endian","\u002Fdocs\u002Flearn\u002Fendian","docs\u002F1.learn\u002F16.numbers\u002F10.endian",{"title":865,"path":866,"stem":867},"16.11 Math","\u002Fdocs\u002Flearn\u002Fmath","docs\u002F1.learn\u002F16.numbers\u002F11.math",{"title":869,"path":870,"stem":871},"16.12 Complex","\u002Fdocs\u002Flearn\u002Fcomplex","docs\u002F1.learn\u002F16.numbers\u002F12.complex",{"title":873,"path":874,"stem":875,"children":876,"icon":878},"Collections","\u002Fdocs\u002Flearn\u002Fcollections","docs\u002F1.learn\u002F17.collections\u002F00.index",[877],{"title":49,"path":874,"stem":875},"i-lucide-layers",{"title":880,"path":881,"stem":882},"17.1 Vector","\u002Fdocs\u002Flearn\u002Fvector","docs\u002F1.learn\u002F17.collections\u002F01.vector",{"title":884,"path":885,"stem":886},"17.2 Dynamic array","\u002Fdocs\u002Flearn\u002Fdynamic-array","docs\u002F1.learn\u002F17.collections\u002F02.dynamic-array",{"title":888,"path":889,"stem":890},"17.3 Deque","\u002Fdocs\u002Flearn\u002Fdeque","docs\u002F1.learn\u002F17.collections\u002F03.deque",{"title":892,"path":893,"stem":894},"17.4 Hash map","\u002Fdocs\u002Flearn\u002Fhash-map","docs\u002F1.learn\u002F17.collections\u002F04.hash-map",{"title":896,"path":897,"stem":898},"17.5 Hash set","\u002Fdocs\u002Flearn\u002Fhash-set","docs\u002F1.learn\u002F17.collections\u002F05.hash-set",{"title":900,"path":901,"stem":902},"17.6 Tree map","\u002Fdocs\u002Flearn\u002Ftree-map","docs\u002F1.learn\u002F17.collections\u002F06.tree-map",{"title":904,"path":905,"stem":906},"17.7 Tree set","\u002Fdocs\u002Flearn\u002Ftree-set","docs\u002F1.learn\u002F17.collections\u002F07.tree-set",{"title":908,"path":909,"stem":910},"17.8 Priority queue","\u002Fdocs\u002Flearn\u002Fpriority-queue","docs\u002F1.learn\u002F17.collections\u002F08.priority-queue",{"title":912,"path":913,"stem":914},"17.9 Bit set","\u002Fdocs\u002Flearn\u002Fbit-set","docs\u002F1.learn\u002F17.collections\u002F09.bit-set",{"title":916,"path":917,"stem":918},"17.10 Small vector","\u002Fdocs\u002Flearn\u002Fsmall-vector","docs\u002F1.learn\u002F17.collections\u002F10.small-vector",{"title":920,"path":921,"stem":922},"17.11 LRU cache","\u002Fdocs\u002Flearn\u002Flru-cache","docs\u002F1.learn\u002F17.collections\u002F11.lru-cache",{"title":924,"path":925,"stem":926,"children":927,"icon":929},"Algorithms","\u002Fdocs\u002Flearn\u002Falgorithms","docs\u002F1.learn\u002F18.algorithms\u002F00.index",[928],{"title":49,"path":925,"stem":926},"i-lucide-arrow-down-wide-narrow",{"title":931,"path":932,"stem":933},"18.1 Sort","\u002Fdocs\u002Flearn\u002Fsort","docs\u002F1.learn\u002F18.algorithms\u002F01.sort",{"title":935,"path":936,"stem":937},"18.2 Search","\u002Fdocs\u002Flearn\u002Fsearch","docs\u002F1.learn\u002F18.algorithms\u002F02.search",{"title":939,"path":940,"stem":941},"18.3 Binary search","\u002Fdocs\u002Flearn\u002Fbinary-search","docs\u002F1.learn\u002F18.algorithms\u002F03.binary-search",{"title":943,"path":944,"stem":945},"18.4 Min and max","\u002Fdocs\u002Flearn\u002Fmin-max","docs\u002F1.learn\u002F18.algorithms\u002F04.min-max",{"title":947,"path":948,"stem":949},"18.5 Fold","\u002Fdocs\u002Flearn\u002Ffold","docs\u002F1.learn\u002F18.algorithms\u002F05.fold",{"title":951,"path":952,"stem":953},"18.6 Iterator adaptors","\u002Fdocs\u002Flearn\u002Fiterator-adaptor","docs\u002F1.learn\u002F18.algorithms\u002F06.iterator-adaptor",{"title":955,"path":956,"stem":957},"18.7 Scan","\u002Fdocs\u002Flearn\u002Fscan","docs\u002F1.learn\u002F18.algorithms\u002F07.scan",{"title":959,"path":960,"stem":961,"children":962,"icon":964},"Files","\u002Fdocs\u002Flearn\u002Ffiles","docs\u002F1.learn\u002F19.files\u002F00.index",[963],{"title":49,"path":960,"stem":961},"i-lucide-folder-open",{"title":966,"path":967,"stem":968},"19.1 Path","\u002Fdocs\u002Flearn\u002Fpath","docs\u002F1.learn\u002F19.files\u002F01.path",{"title":970,"path":971,"stem":972},"19.2 Path join","\u002Fdocs\u002Flearn\u002Fpath-join","docs\u002F1.learn\u002F19.files\u002F02.path-join",{"title":974,"path":975,"stem":976},"19.3 Path normalize","\u002Fdocs\u002Flearn\u002Fpath-normalize","docs\u002F1.learn\u002F19.files\u002F03.path-normalize",{"title":978,"path":979,"stem":980},"19.4 File","\u002Fdocs\u002Flearn\u002Ffile","docs\u002F1.learn\u002F19.files\u002F04.file",{"title":982,"path":983,"stem":984},"19.5 Directory","\u002Fdocs\u002Flearn\u002Fdirectory","docs\u002F1.learn\u002F19.files\u002F05.directory",{"title":986,"path":987,"stem":988},"19.6 Metadata","\u002Fdocs\u002Flearn\u002Fmetadata","docs\u002F1.learn\u002F19.files\u002F06.metadata",{"title":990,"path":991,"stem":992},"19.7 Binary","\u002Fdocs\u002Flearn\u002Fbinary","docs\u002F1.learn\u002F19.files\u002F07.binary",{"title":994,"path":995,"stem":996},"19.8 Buffered I\u002FO","\u002Fdocs\u002Flearn\u002Fbuffered-io","docs\u002F1.learn\u002F19.files\u002F08.buffered-io",{"title":998,"path":999,"stem":1000},"19.9 Atomic file","\u002Fdocs\u002Flearn\u002Fatomic-file","docs\u002F1.learn\u002F19.files\u002F09.atomic-file",{"title":1002,"path":1003,"stem":1004},"19.10 Temporary file","\u002Fdocs\u002Flearn\u002Ftemporary-file","docs\u002F1.learn\u002F19.files\u002F10.temporary-file",{"title":1006,"path":1007,"stem":1008},"19.11 Memory streams","\u002Fdocs\u002Flearn\u002Fmemory-stream","docs\u002F1.learn\u002F19.files\u002F11.memory-stream",{"title":1010,"path":1011,"stem":1012,"children":1013,"icon":1015},"Utilities","\u002Fdocs\u002Flearn\u002Futilities","docs\u002F1.learn\u002F20.utilities\u002F00.index",[1014],{"title":49,"path":1011,"stem":1012},"i-lucide-wrench",{"title":1017,"path":1018,"stem":1019},"20.1 Duration","\u002Fdocs\u002Flearn\u002Fduration","docs\u002F1.learn\u002F20.utilities\u002F01.duration",{"title":1021,"path":1022,"stem":1023},"20.2 Stopwatch","\u002Fdocs\u002Flearn\u002Fstopwatch","docs\u002F1.learn\u002F20.utilities\u002F02.stopwatch",{"title":1025,"path":1026,"stem":1027},"20.3 Date","\u002Fdocs\u002Flearn\u002Fdate","docs\u002F1.learn\u002F20.utilities\u002F03.date",{"title":1029,"path":1030,"stem":1031},"20.4 Date and time","\u002Fdocs\u002Flearn\u002Fdate-time","docs\u002F1.learn\u002F20.utilities\u002F04.date-time",{"title":1033,"path":1034,"stem":1035},"20.5 Random","\u002Fdocs\u002Flearn\u002Frandom","docs\u002F1.learn\u002F20.utilities\u002F05.random",{"title":1037,"path":1038,"stem":1039},"20.6 Distribution","\u002Fdocs\u002Flearn\u002Fdistribution","docs\u002F1.learn\u002F20.utilities\u002F06.distribution",{"title":1041,"path":1042,"stem":1043},"20.7 Entropy","\u002Fdocs\u002Flearn\u002Fentropy","docs\u002F1.learn\u002F20.utilities\u002F07.entropy",{"title":1045,"path":1046,"stem":1047},"20.8 Hash","\u002Fdocs\u002Flearn\u002Fhash","docs\u002F1.learn\u002F20.utilities\u002F08.hash",{"title":1049,"path":1050,"stem":1051},"20.9 UUID","\u002Fdocs\u002Flearn\u002Fuuid","docs\u002F1.learn\u002F20.utilities\u002F09.uuid",{"title":1053,"path":1054,"stem":1055},"20.10 Nano ID","\u002Fdocs\u002Flearn\u002Fnano-id","docs\u002F1.learn\u002F20.utilities\u002F10.nano-id",{"title":1057,"path":1058,"stem":1059},"20.11 Time zone","\u002Fdocs\u002Flearn\u002Ftime-zone","docs\u002F1.learn\u002F20.utilities\u002F11.time-zone",{"title":1061,"path":1062,"stem":1063,"children":1064,"icon":1066},"Data formats","\u002Fdocs\u002Flearn\u002Fdata-formats","docs\u002F1.learn\u002F21.data-formats\u002F00.index",[1065],{"title":49,"path":1062,"stem":1063},"i-lucide-file-json",{"title":1068,"path":1069,"stem":1070},"21.1 JSON","\u002Fdocs\u002Flearn\u002Fjson","docs\u002F1.learn\u002F21.data-formats\u002F01.json",{"title":1072,"path":1073,"stem":1074},"21.2 Writing JSON","\u002Fdocs\u002Flearn\u002Fjson-write","docs\u002F1.learn\u002F21.data-formats\u002F02.json-write",{"title":1076,"path":1077,"stem":1078},"21.3 Streaming JSON","\u002Fdocs\u002Flearn\u002Fjson-stream","docs\u002F1.learn\u002F21.data-formats\u002F03.json-stream",{"title":1080,"path":1081,"stem":1082},"21.4 TOML","\u002Fdocs\u002Flearn\u002Ftoml","docs\u002F1.learn\u002F21.data-formats\u002F04.toml",{"title":1084,"path":1085,"stem":1086},"21.5 Writing TOML","\u002Fdocs\u002Flearn\u002Ftoml-write","docs\u002F1.learn\u002F21.data-formats\u002F05.toml-write",{"title":1088,"path":1089,"stem":1090},"21.6 Base64 and friends","\u002Fdocs\u002Flearn\u002Fbase-encoding","docs\u002F1.learn\u002F21.data-formats\u002F06.base-encoding",{"title":1092,"path":1093,"stem":1094},"21.7 URL","\u002Fdocs\u002Flearn\u002Furl","docs\u002F1.learn\u002F21.data-formats\u002F07.url",{"title":1096,"path":1097,"stem":1098},"21.8 Compress","\u002Fdocs\u002Flearn\u002Fcompress","docs\u002F1.learn\u002F21.data-formats\u002F08.compress",{"title":1100,"path":1101,"stem":1102,"children":1103,"icon":1105},"Packages","\u002Fdocs\u002Flearn\u002Fpackages","docs\u002F1.learn\u002F22.packages\u002F00.index",[1104],{"title":49,"path":1101,"stem":1102},"i-lucide-package",{"title":1107,"path":1108,"stem":1109},"22.1 Module","\u002Fdocs\u002Flearn\u002Fmodule","docs\u002F1.learn\u002F22.packages\u002F01.module",{"title":1111,"path":1112,"stem":1113},"22.2 Visibility","\u002Fdocs\u002Flearn\u002Fvisibility","docs\u002F1.learn\u002F22.packages\u002F02.visibility",{"title":1115,"path":1116,"stem":1117},"22.3 Package","\u002Fdocs\u002Flearn\u002Fpackage","docs\u002F1.learn\u002F22.packages\u002F03.package",{"title":1119,"path":1120,"stem":1121},"22.4 Dependency","\u002Fdocs\u002Flearn\u002Fdependency","docs\u002F1.learn\u002F22.packages\u002F04.dependency",{"title":1123,"path":1124,"stem":1125},"22.5 Workspace","\u002Fdocs\u002Flearn\u002Fworkspace","docs\u002F1.learn\u002F22.packages\u002F05.workspace",{"title":1127,"path":1128,"stem":1129},"22.6 Source library","\u002Fdocs\u002Flearn\u002Fsource-library","docs\u002F1.learn\u002F22.packages\u002F06.source-library",{"title":1131,"path":1132,"stem":1133},"22.7 Static library","\u002Fdocs\u002Flearn\u002Fstatic-library","docs\u002F1.learn\u002F22.packages\u002F07.static-library",{"title":1135,"path":1136,"stem":1137},"22.8 Shared library","\u002Fdocs\u002Flearn\u002Fshared-library","docs\u002F1.learn\u002F22.packages\u002F08.shared-library",{"title":1139,"path":1140,"stem":1141},"22.9 Documentation","\u002Fdocs\u002Flearn\u002Fdocumentation","docs\u002F1.learn\u002F22.packages\u002F09.documentation",{"title":1143,"path":1144,"stem":1145},"22.10 Tooling","\u002Fdocs\u002Flearn\u002Ftooling","docs\u002F1.learn\u002F22.packages\u002F10.tooling",{"title":1147,"path":1148,"stem":1149},"22.11 Unit tests","\u002Fdocs\u002Flearn\u002Funit-test","docs\u002F1.learn\u002F22.packages\u002F11.unit-test",{"title":1151,"path":1152,"stem":1153},"22.12 Benchmark","\u002Fdocs\u002Flearn\u002Fbenchmark","docs\u002F1.learn\u002F22.packages\u002F12.benchmark",{"title":1155,"path":1156,"stem":1157,"children":1158,"icon":1160},"Compile time","\u002Fdocs\u002Flearn\u002Fcompile-time","docs\u002F1.learn\u002F23.compile-time\u002F00.index",[1159],{"title":49,"path":1156,"stem":1157},"i-lucide-cpu",{"title":1162,"path":1163,"stem":1164},"23.1 When","\u002Fdocs\u002Flearn\u002Fwhen","docs\u002F1.learn\u002F23.compile-time\u002F01.when",{"title":1166,"path":1167,"stem":1168},"23.2 Target","\u002Fdocs\u002Flearn\u002Ftarget","docs\u002F1.learn\u002F23.compile-time\u002F02.target",{"title":1170,"path":1171,"stem":1172},"23.3 Build mode","\u002Fdocs\u002Flearn\u002Fbuild-mode","docs\u002F1.learn\u002F23.compile-time\u002F03.build-mode",{"title":1174,"path":1175,"stem":1176},"23.4 Source location","\u002Fdocs\u002Flearn\u002Fsource-location","docs\u002F1.learn\u002F23.compile-time\u002F04.source-location",{"title":1178,"path":1179,"stem":1180},"23.5 Compile error","\u002Fdocs\u002Flearn\u002Fcompile-error","docs\u002F1.learn\u002F23.compile-time\u002F05.compile-error",{"title":1182,"path":1183,"stem":1184},"23.6 Define","\u002Fdocs\u002Flearn\u002Fdefine","docs\u002F1.learn\u002F23.compile-time\u002F06.define",{"title":1186,"path":1187,"stem":1188},"23.7 Intrinsic","\u002Fdocs\u002Flearn\u002Fintrinsic","docs\u002F1.learn\u002F23.compile-time\u002F07.intrinsic",{"title":1190,"path":1191,"stem":1192,"children":1193,"icon":1195},"Platform","\u002Fdocs\u002Flearn\u002Fplatform","docs\u002F1.learn\u002F24.platform\u002F00.index",[1194],{"title":49,"path":1191,"stem":1192},"i-lucide-monitor-cog",{"title":1197,"path":1198,"stem":1199},"24.1 Extern","\u002Fdocs\u002Flearn\u002Fextern","docs\u002F1.learn\u002F24.platform\u002F01.extern",{"title":1201,"path":1202,"stem":1203},"24.2 C interop","\u002Fdocs\u002Flearn\u002Fc-interop","docs\u002F1.learn\u002F24.platform\u002F02.c-interop",{"title":1205,"path":1206,"stem":1207},"24.3 ABI","\u002Fdocs\u002Flearn\u002Fabi","docs\u002F1.learn\u002F24.platform\u002F03.abi",{"title":1209,"path":1210,"stem":1211},"24.4 Assembly","\u002Fdocs\u002Flearn\u002Fasm","docs\u002F1.learn\u002F24.platform\u002F04.asm",{"title":1213,"path":1214,"stem":1215},"24.5 ARM assembly","\u002Fdocs\u002Flearn\u002Fasm-arm","docs\u002F1.learn\u002F24.platform\u002F05.asm-arm",{"title":1217,"path":1218,"stem":1219,"children":1220,"icon":1222},"Concurrency","\u002Fdocs\u002Flearn\u002Fconcurrency","docs\u002F1.learn\u002F25.concurrency\u002F00.index",[1221],{"title":49,"path":1218,"stem":1219},"i-lucide-git-fork",{"title":1224,"path":1225,"stem":1226},"25.1 Thread","\u002Fdocs\u002Flearn\u002Fthread","docs\u002F1.learn\u002F25.concurrency\u002F01.thread",{"title":1228,"path":1229,"stem":1230},"25.2 Atomic","\u002Fdocs\u002Flearn\u002Fatomic","docs\u002F1.learn\u002F25.concurrency\u002F02.atomic",{"title":1232,"path":1233,"stem":1234},"25.3 Mutex","\u002Fdocs\u002Flearn\u002Fmutex","docs\u002F1.learn\u002F25.concurrency\u002F03.mutex",{"title":1236,"path":1237,"stem":1238},"25.4 Arc","\u002Fdocs\u002Flearn\u002Farc","docs\u002F1.learn\u002F25.concurrency\u002F04.arc",{"title":1240,"path":1241,"stem":1242},"25.5 Channel","\u002Fdocs\u002Flearn\u002Fchannel","docs\u002F1.learn\u002F25.concurrency\u002F05.channel",{"title":1244,"path":1245,"stem":1246},"25.6 Wait group","\u002Fdocs\u002Flearn\u002Fwait-group","docs\u002F1.learn\u002F25.concurrency\u002F06.wait-group",{"title":1248,"path":1249,"stem":1250},"25.7 Once","\u002Fdocs\u002Flearn\u002Fonce","docs\u002F1.learn\u002F25.concurrency\u002F07.once",{"title":1252,"path":1253,"stem":1254},"25.8 Read-write lock","\u002Fdocs\u002Flearn\u002Frw-lock","docs\u002F1.learn\u002F25.concurrency\u002F08.rw-lock",{"title":1256,"path":1257,"stem":1258,"children":1259,"icon":1261},"Systems","\u002Fdocs\u002Flearn\u002Fsystems","docs\u002F1.learn\u002F26.systems\u002F00.index",[1260],{"title":49,"path":1257,"stem":1258},"i-lucide-terminal",{"title":1263,"path":1264,"stem":1265},"26.1 Environment","\u002Fdocs\u002Flearn\u002Fenvironment","docs\u002F1.learn\u002F26.systems\u002F01.environment",{"title":1267,"path":1268,"stem":1269},"26.2 Child process","\u002Fdocs\u002Flearn\u002Fchild-process","docs\u002F1.learn\u002F26.systems\u002F02.child-process",{"title":1271,"path":1272,"stem":1273},"26.3 Command line","\u002Fdocs\u002Flearn\u002Fcommand-line","docs\u002F1.learn\u002F26.systems\u002F03.command-line",{"title":1275,"path":1276,"stem":1277},"26.4 Log","\u002Fdocs\u002Flearn\u002Flog","docs\u002F1.learn\u002F26.systems\u002F04.log",{"title":1279,"path":1280,"stem":1281},"26.5 IP addresses","\u002Fdocs\u002Flearn\u002Fip-address","docs\u002F1.learn\u002F26.systems\u002F05.ip-address",{"title":1283,"path":1284,"stem":1285},"26.6 TCP","\u002Fdocs\u002Flearn\u002Ftcp","docs\u002F1.learn\u002F26.systems\u002F06.tcp",{"title":1287,"path":1288,"stem":1289},"26.7 UDP","\u002Fdocs\u002Flearn\u002Fudp","docs\u002F1.learn\u002F26.systems\u002F07.udp",{"title":1291,"path":1292,"stem":1293,"children":1294,"icon":1296},"Projects","\u002Fdocs\u002Flearn\u002Fprojects","docs\u002F1.learn\u002F27.projects\u002F00.index",[1295],{"title":49,"path":1292,"stem":1293},"i-lucide-hammer",{"title":1298,"path":1299,"stem":1300},"27.1 Thanks","\u002Fdocs\u002Flearn\u002Fthanks","docs\u002F1.learn\u002F27.projects\u002F01.thanks",{"title":1302,"path":1303,"stem":1304},"27.2 FizzBuzz","\u002Fdocs\u002Flearn\u002Ffizz-buzz","docs\u002F1.learn\u002F27.projects\u002F02.fizz-buzz",{"title":1306,"path":1307,"stem":1308},"27.3 Temperature","\u002Fdocs\u002Flearn\u002Ftemperature","docs\u002F1.learn\u002F27.projects\u002F03.temperature",{"title":1310,"path":1311,"stem":1312},"27.4 Prime","\u002Fdocs\u002Flearn\u002Fprime","docs\u002F1.learn\u002F27.projects\u002F04.prime",{"title":1314,"path":1315,"stem":1316},"27.5 Calculator","\u002Fdocs\u002Flearn\u002Fcalculator","docs\u002F1.learn\u002F27.projects\u002F05.calculator",{"title":1318,"path":1319,"stem":1320},"27.6 Circle","\u002Fdocs\u002Flearn\u002Fcircle","docs\u002F1.learn\u002F27.projects\u002F06.circle",{"title":1322,"path":1323,"stem":1324},"27.7 Quadratic","\u002Fdocs\u002Flearn\u002Fquadratic","docs\u002F1.learn\u002F27.projects\u002F07.quadratic",{"title":1326,"path":1327,"stem":1328},"27.8 Word count","\u002Fdocs\u002Flearn\u002Fword-count","docs\u002F1.learn\u002F27.projects\u002F08.word-count",{"title":1330,"path":1331,"stem":1332},"27.9 Inventory","\u002Fdocs\u002Flearn\u002Finventory","docs\u002F1.learn\u002F27.projects\u002F09.inventory",{"title":1334,"path":1335,"stem":1336},"27.10 Statistics","\u002Fdocs\u002Flearn\u002Fstatistics","docs\u002F1.learn\u002F27.projects\u002F10.statistics",{"title":1338,"path":1339,"stem":1340},"27.11 Guess","\u002Fdocs\u002Flearn\u002Fguess","docs\u002F1.learn\u002F27.projects\u002F11.guess",{"title":1342,"path":1343,"stem":1344},"27.12 Age","\u002Fdocs\u002Flearn\u002Fage","docs\u002F1.learn\u002F27.projects\u002F12.age",{"title":1346,"path":1347,"stem":1348},"27.13 Password","\u002Fdocs\u002Flearn\u002Fpassword","docs\u002F1.learn\u002F27.projects\u002F13.password",{"title":1350,"path":1351,"stem":1352},"27.14 Launch","\u002Fdocs\u002Flearn\u002Flaunch","docs\u002F1.learn\u002F27.projects\u002F14.launch",{"title":1354,"path":1355,"stem":1356},"27.15 Notes","\u002Fdocs\u002Flearn\u002Fnotes","docs\u002F1.learn\u002F27.projects\u002F15.notes",{"title":1358,"path":1359,"stem":1360},"27.16 Melody","\u002Fdocs\u002Flearn\u002Fmelody","docs\u002F1.learn\u002F27.projects\u002F16.melody",{"title":1362,"path":1363,"stem":1364},"27.17 Grep","\u002Fdocs\u002Flearn\u002Fgrep","docs\u002F1.learn\u002F27.projects\u002F17.grep",{"title":1366,"path":1367,"stem":1368,"children":1369},"Rux Reference","\u002Fdocs\u002Flang","docs\u002F2.lang\u002Findex",[1370,1371,1375,1403,1433,1457,1497,1521,1532,1556,1576,1584,1596,1604,1612,1620,1628,1636,1648,1663,1678,1696,1711,1730,1758,1777,1793,1821,1865,1881,1893],{"title":49,"path":1367,"stem":1368},{"title":1372,"path":1373,"stem":1374},"Introduction","\u002Fdocs\u002Flang\u002Fintroduction","docs\u002F2.lang\u002F01.introduction",{"title":1376,"path":1377,"stem":1378,"children":1379,"page":29},"Lexical Structure","\u002Fdocs\u002Flang\u002Flexical","docs\u002F2.lang\u002F02.lexical",[1380,1384,1388,1392,1396,1400],{"title":1381,"path":1382,"stem":1383},"Source Files","\u002Fdocs\u002Flang\u002Flexical\u002Fsource-files","docs\u002F2.lang\u002F02.lexical\u002F1.source-files",{"title":1385,"path":1386,"stem":1387},"Comments","\u002Fdocs\u002Flang\u002Flexical\u002Fcomments","docs\u002F2.lang\u002F02.lexical\u002F2.comments",{"title":1389,"path":1390,"stem":1391},"Identifiers","\u002Fdocs\u002Flang\u002Flexical\u002Fidentifiers","docs\u002F2.lang\u002F02.lexical\u002F3.identifiers",{"title":1393,"path":1394,"stem":1395},"Keywords","\u002Fdocs\u002Flang\u002Flexical\u002Fkeywords","docs\u002F2.lang\u002F02.lexical\u002F4.keywords",{"title":1397,"path":1398,"stem":1399},"Literals","\u002Fdocs\u002Flang\u002Flexical\u002Fliterals","docs\u002F2.lang\u002F02.lexical\u002F5.literals",{"title":166,"path":1401,"stem":1402},"\u002Fdocs\u002Flang\u002Flexical\u002Foperators","docs\u002F2.lang\u002F02.lexical\u002F6.operators",{"title":326,"path":1404,"stem":1405,"children":1406,"page":29},"\u002Fdocs\u002Flang\u002Ftypes","docs\u002F2.lang\u002F03.types",[1407,1410,1414,1418,1422,1426,1429],{"title":49,"path":1408,"stem":1409},"\u002Fdocs\u002Flang\u002Ftypes\u002Foverview","docs\u002F2.lang\u002F03.types\u002F1.overview",{"title":1411,"path":1412,"stem":1413},"Integers","\u002Fdocs\u002Flang\u002Ftypes\u002Fintegers","docs\u002F2.lang\u002F03.types\u002F2.integers",{"title":1415,"path":1416,"stem":1417},"Floating-Point","\u002Fdocs\u002Flang\u002Ftypes\u002Ffloating-point","docs\u002F2.lang\u002F03.types\u002F3.floating-point",{"title":1419,"path":1420,"stem":1421},"Booleans","\u002Fdocs\u002Flang\u002Ftypes\u002Fbooleans","docs\u002F2.lang\u002F03.types\u002F4.booleans",{"title":1423,"path":1424,"stem":1425},"Characters","\u002Fdocs\u002Flang\u002Ftypes\u002Fcharacters","docs\u002F2.lang\u002F03.types\u002F5.characters",{"title":680,"path":1427,"stem":1428},"\u002Fdocs\u002Flang\u002Ftypes\u002Ftext","docs\u002F2.lang\u002F03.types\u002F6.text",{"title":1430,"path":1431,"stem":1432},"Aliases","\u002Fdocs\u002Flang\u002Ftypes\u002Faliases","docs\u002F2.lang\u002F03.types\u002F7.aliases",{"title":1434,"path":1435,"stem":1436,"children":1437,"page":29},"Bindings","\u002Fdocs\u002Flang\u002Fbindings","docs\u002F2.lang\u002F04.bindings",[1438,1441,1445,1449,1453],{"title":49,"path":1439,"stem":1440},"\u002Fdocs\u002Flang\u002Fbindings\u002Foverview","docs\u002F2.lang\u002F04.bindings\u002F1.overview",{"title":1442,"path":1443,"stem":1444},"Constants","\u002Fdocs\u002Flang\u002Fbindings\u002Fconstants","docs\u002F2.lang\u002F04.bindings\u002F2.constants",{"title":1446,"path":1447,"stem":1448},"Initialization","\u002Fdocs\u002Flang\u002Fbindings\u002Finitialization","docs\u002F2.lang\u002F04.bindings\u002F3.initialization",{"title":1450,"path":1451,"stem":1452},"Destructuring","\u002Fdocs\u002Flang\u002Fbindings\u002Fdestructuring","docs\u002F2.lang\u002F04.bindings\u002F4.destructuring",{"title":1454,"path":1455,"stem":1456},"Module variables","\u002Fdocs\u002Flang\u002Fbindings\u002Fmodule-variables","docs\u002F2.lang\u002F04.bindings\u002F5.module-variables",{"title":1458,"path":1459,"stem":1460,"children":1461,"page":29},"Expressions","\u002Fdocs\u002Flang\u002Fexpressions","docs\u002F2.lang\u002F05.expressions",[1462,1465,1469,1473,1477,1481,1485,1489,1493],{"title":49,"path":1463,"stem":1464},"\u002Fdocs\u002Flang\u002Fexpressions\u002Foverview","docs\u002F2.lang\u002F05.expressions\u002F1.overview",{"title":1466,"path":1467,"stem":1468},"Arithmetic","\u002Fdocs\u002Flang\u002Fexpressions\u002Farithmetic","docs\u002F2.lang\u002F05.expressions\u002F2.arithmetic",{"title":1470,"path":1471,"stem":1472},"Comparison","\u002Fdocs\u002Flang\u002Fexpressions\u002Fcomparison","docs\u002F2.lang\u002F05.expressions\u002F3.comparison",{"title":1474,"path":1475,"stem":1476},"Logical","\u002Fdocs\u002Flang\u002Fexpressions\u002Flogical","docs\u002F2.lang\u002F05.expressions\u002F4.logical",{"title":1478,"path":1479,"stem":1480},"Bitwise","\u002Fdocs\u002Flang\u002Fexpressions\u002Fbitwise","docs\u002F2.lang\u002F05.expressions\u002F5.bitwise",{"title":1482,"path":1483,"stem":1484},"Shift","\u002Fdocs\u002Flang\u002Fexpressions\u002Fshift","docs\u002F2.lang\u002F05.expressions\u002F6.shift",{"title":1486,"path":1487,"stem":1488},"Assignment","\u002Fdocs\u002Flang\u002Fexpressions\u002Fassignment","docs\u002F2.lang\u002F05.expressions\u002F7.assignment",{"title":1490,"path":1491,"stem":1492},"Conditional","\u002Fdocs\u002Flang\u002Fexpressions\u002Fconditional","docs\u002F2.lang\u002F05.expressions\u002F8.conditional",{"title":1494,"path":1495,"stem":1496},"Casts","\u002Fdocs\u002Flang\u002Fexpressions\u002Fcasts","docs\u002F2.lang\u002F05.expressions\u002F9.casts",{"title":1498,"path":1499,"stem":1500,"children":1501,"page":29},"Statements","\u002Fdocs\u002Flang\u002Fstatements","docs\u002F2.lang\u002F06.statements",[1502,1505,1509,1513,1517],{"title":49,"path":1503,"stem":1504},"\u002Fdocs\u002Flang\u002Fstatements\u002Foverview","docs\u002F2.lang\u002F06.statements\u002F1.overview",{"title":1506,"path":1507,"stem":1508},"if","\u002Fdocs\u002Flang\u002Fstatements\u002Fif","docs\u002F2.lang\u002F06.statements\u002F2.if",{"title":1510,"path":1511,"stem":1512},"Loops","\u002Fdocs\u002Flang\u002Fstatements\u002Floops","docs\u002F2.lang\u002F06.statements\u002F3.loops",{"title":1514,"path":1515,"stem":1516},"break \u002F continue","\u002Fdocs\u002Flang\u002Fstatements\u002Fbreak-continue","docs\u002F2.lang\u002F06.statements\u002F4.break-continue",{"title":1518,"path":1519,"stem":1520},"return","\u002Fdocs\u002Flang\u002Fstatements\u002Freturn","docs\u002F2.lang\u002F06.statements\u002F5.return",{"title":385,"path":1522,"stem":1523,"children":1524,"page":29},"\u002Fdocs\u002Flang\u002Fpatterns","docs\u002F2.lang\u002F07.patterns",[1525,1529],{"title":1526,"path":1527,"stem":1528},"match","\u002Fdocs\u002Flang\u002Fpatterns\u002Fmatch","docs\u002F2.lang\u002F07.patterns\u002F1.match",{"title":385,"path":1530,"stem":1531},"\u002Fdocs\u002Flang\u002Fpatterns\u002Fpatterns","docs\u002F2.lang\u002F07.patterns\u002F2.patterns",{"title":252,"path":1533,"stem":1534,"children":1535,"page":29},"\u002Fdocs\u002Flang\u002Ffunctions","docs\u002F2.lang\u002F08.functions",[1536,1540,1544,1548,1552],{"title":1537,"path":1538,"stem":1539},"Declaration","\u002Fdocs\u002Flang\u002Ffunctions\u002Fdeclaration","docs\u002F2.lang\u002F08.functions\u002F1.declaration",{"title":1541,"path":1542,"stem":1543},"Parameters","\u002Fdocs\u002Flang\u002Ffunctions\u002Fparameters","docs\u002F2.lang\u002F08.functions\u002F2.parameters",{"title":1545,"path":1546,"stem":1547},"Overloading","\u002Fdocs\u002Flang\u002Ffunctions\u002Foverloading","docs\u002F2.lang\u002F08.functions\u002F3.overloading",{"title":1549,"path":1550,"stem":1551},"Function types","\u002Fdocs\u002Flang\u002Ffunctions\u002Ffunction-types","docs\u002F2.lang\u002F08.functions\u002F4.function-types",{"title":1553,"path":1554,"stem":1555},"Main","\u002Fdocs\u002Flang\u002Ffunctions\u002Fmain","docs\u002F2.lang\u002F08.functions\u002F5.main",{"title":1557,"path":1558,"stem":1559,"children":1560,"page":29},"Structures","\u002Fdocs\u002Flang\u002Fstructs","docs\u002F2.lang\u002F09.structs",[1561,1564,1568,1572],{"title":49,"path":1562,"stem":1563},"\u002Fdocs\u002Flang\u002Fstructs\u002Foverview","docs\u002F2.lang\u002F09.structs\u002F1.overview",{"title":1565,"path":1566,"stem":1567},"Methods","\u002Fdocs\u002Flang\u002Fstructs\u002Fmethods","docs\u002F2.lang\u002F09.structs\u002F2.methods",{"title":1569,"path":1570,"stem":1571},"Constructors","\u002Fdocs\u002Flang\u002Fstructs\u002Fconstructors","docs\u002F2.lang\u002F09.structs\u002F3.constructors",{"title":1573,"path":1574,"stem":1575},"Extensions","\u002Fdocs\u002Flang\u002Fstructs\u002Fextensions","docs\u002F2.lang\u002F09.structs\u002F4.extensions",{"title":1577,"path":1578,"stem":1579,"children":1580,"page":29},"Enumerations","\u002Fdocs\u002Flang\u002Fenums","docs\u002F2.lang\u002F10.enums",[1581],{"title":49,"path":1582,"stem":1583},"\u002Fdocs\u002Flang\u002Fenums\u002Foverview","docs\u002F2.lang\u002F10.enums\u002F1.overview",{"title":1585,"path":1586,"stem":1587,"children":1588,"page":29},"Variants","\u002Fdocs\u002Flang\u002Fvariants","docs\u002F2.lang\u002F11.variants",[1589,1592],{"title":49,"path":1590,"stem":1591},"\u002Fdocs\u002Flang\u002Fvariants\u002Foverview","docs\u002F2.lang\u002F11.variants\u002F1.overview",{"title":1593,"path":1594,"stem":1595},"Matching","\u002Fdocs\u002Flang\u002Fvariants\u002Fmatching","docs\u002F2.lang\u002F11.variants\u002F2.matching",{"title":1597,"path":1598,"stem":1599,"children":1600,"page":29},"Unions","\u002Fdocs\u002Flang\u002Funions","docs\u002F2.lang\u002F12.unions",[1601],{"title":49,"path":1602,"stem":1603},"\u002Fdocs\u002Flang\u002Funions\u002Foverview","docs\u002F2.lang\u002F12.unions\u002F1.overview",{"title":1605,"path":1606,"stem":1607,"children":1608,"page":29},"Tuples","\u002Fdocs\u002Flang\u002Ftuples","docs\u002F2.lang\u002F13.tuples",[1609],{"title":49,"path":1610,"stem":1611},"\u002Fdocs\u002Flang\u002Ftuples\u002Foverview","docs\u002F2.lang\u002F13.tuples\u002F1.overview",{"title":1613,"path":1614,"stem":1615,"children":1616,"page":29},"Arrays","\u002Fdocs\u002Flang\u002Farrays","docs\u002F2.lang\u002F14.arrays",[1617],{"title":49,"path":1618,"stem":1619},"\u002Fdocs\u002Flang\u002Farrays\u002Foverview","docs\u002F2.lang\u002F14.arrays\u002F1.overview",{"title":1621,"path":1622,"stem":1623,"children":1624,"page":29},"Slices","\u002Fdocs\u002Flang\u002Fslices","docs\u002F2.lang\u002F15.slices",[1625],{"title":49,"path":1626,"stem":1627},"\u002Fdocs\u002Flang\u002Fslices\u002Foverview","docs\u002F2.lang\u002F15.slices\u002F1.overview",{"title":1629,"path":1630,"stem":1631,"children":1632,"page":29},"Ranges","\u002Fdocs\u002Flang\u002Franges","docs\u002F2.lang\u002F16.ranges",[1633],{"title":49,"path":1634,"stem":1635},"\u002Fdocs\u002Flang\u002Franges\u002Foverview","docs\u002F2.lang\u002F16.ranges\u002F1.overview",{"title":1637,"path":1638,"stem":1639,"children":1640,"page":29},"References","\u002Fdocs\u002Flang\u002Freferences","docs\u002F2.lang\u002F17.references",[1641,1644],{"title":49,"path":1642,"stem":1643},"\u002Fdocs\u002Flang\u002Freferences\u002Foverview","docs\u002F2.lang\u002F17.references\u002F1.overview",{"title":1645,"path":1646,"stem":1647},"Exclusivity","\u002Fdocs\u002Flang\u002Freferences\u002Fexclusivity","docs\u002F2.lang\u002F17.references\u002F2.exclusivity",{"title":1649,"path":1650,"stem":1651,"children":1652,"page":29},"Pointers","\u002Fdocs\u002Flang\u002Fpointers","docs\u002F2.lang\u002F18.pointers",[1653,1656,1659],{"title":49,"path":1654,"stem":1655},"\u002Fdocs\u002Flang\u002Fpointers\u002Foverview","docs\u002F2.lang\u002F18.pointers\u002F1.overview",{"title":1466,"path":1657,"stem":1658},"\u002Fdocs\u002Flang\u002Fpointers\u002Farithmetic","docs\u002F2.lang\u002F18.pointers\u002F2.arithmetic",{"title":1660,"path":1661,"stem":1662},"Slicing","\u002Fdocs\u002Flang\u002Fpointers\u002Fslicing","docs\u002F2.lang\u002F18.pointers\u002F3.slicing",{"title":416,"path":1664,"stem":1665,"children":1666,"page":29},"\u002Fdocs\u002Flang\u002Foptionals","docs\u002F2.lang\u002F19.optionals",[1667,1670,1674],{"title":49,"path":1668,"stem":1669},"\u002Fdocs\u002Flang\u002Foptionals\u002Foverview","docs\u002F2.lang\u002F19.optionals\u002F1.overview",{"title":1671,"path":1672,"stem":1673},"Coalescing","\u002Fdocs\u002Flang\u002Foptionals\u002Fcoalescing","docs\u002F2.lang\u002F19.optionals\u002F2.coalescing",{"title":1675,"path":1676,"stem":1677},"Propagation","\u002Fdocs\u002Flang\u002Foptionals\u002Fpropagation","docs\u002F2.lang\u002F19.optionals\u002F3.propagation",{"title":447,"path":1679,"stem":1680,"children":1681,"page":29},"\u002Fdocs\u002Flang\u002Ferrors","docs\u002F2.lang\u002F20.errors",[1682,1685,1689,1692],{"title":49,"path":1683,"stem":1684},"\u002Fdocs\u002Flang\u002Ferrors\u002Foverview","docs\u002F2.lang\u002F20.errors\u002F1.overview",{"title":1686,"path":1687,"stem":1688},"Handling","\u002Fdocs\u002Flang\u002Ferrors\u002Fhandling","docs\u002F2.lang\u002F20.errors\u002F2.handling",{"title":1675,"path":1690,"stem":1691},"\u002Fdocs\u002Flang\u002Ferrors\u002Fpropagation","docs\u002F2.lang\u002F20.errors\u002F3.propagation",{"title":1693,"path":1694,"stem":1695},"Panics","\u002Fdocs\u002Flang\u002Ferrors\u002Fpanics","docs\u002F2.lang\u002F20.errors\u002F4.panics",{"title":1697,"path":1698,"stem":1699,"children":1700,"page":29},"Sum Types","\u002Fdocs\u002Flang\u002Fsums","docs\u002F2.lang\u002F21.sums",[1701,1704,1707],{"title":49,"path":1702,"stem":1703},"\u002Fdocs\u002Flang\u002Fsums\u002Foverview","docs\u002F2.lang\u002F21.sums\u002F1.overview",{"title":385,"path":1705,"stem":1706},"\u002Fdocs\u002Flang\u002Fsums\u002Fpatterns","docs\u002F2.lang\u002F21.sums\u002F2.patterns",{"title":1708,"path":1709,"stem":1710},"Type Tests","\u002Fdocs\u002Flang\u002Fsums\u002Ftype-tests","docs\u002F2.lang\u002F21.sums\u002F3.type-tests",{"title":545,"path":1712,"stem":1713,"children":1714,"page":29},"\u002Fdocs\u002Flang\u002Fownership","docs\u002F2.lang\u002F22.ownership",[1715,1718,1722,1726],{"title":49,"path":1716,"stem":1717},"\u002Fdocs\u002Flang\u002Fownership\u002Foverview","docs\u002F2.lang\u002F22.ownership\u002F1.overview",{"title":1719,"path":1720,"stem":1721},"Copy and Move","\u002Fdocs\u002Flang\u002Fownership\u002Fcopy-and-move","docs\u002F2.lang\u002F22.ownership\u002F2.copy-and-move",{"title":1723,"path":1724,"stem":1725},"Destructors","\u002Fdocs\u002Flang\u002Fownership\u002Fdestructors","docs\u002F2.lang\u002F22.ownership\u002F3.destructors",{"title":1727,"path":1728,"stem":1729},"Defer","\u002Fdocs\u002Flang\u002Fownership\u002Fdefer","docs\u002F2.lang\u002F22.ownership\u002F4.defer",{"title":592,"path":1731,"stem":1732,"children":1733,"page":29},"\u002Fdocs\u002Flang\u002Finterfaces","docs\u002F2.lang\u002F23.interfaces",[1734,1737,1741,1745,1748,1754],{"title":49,"path":1735,"stem":1736},"\u002Fdocs\u002Flang\u002Finterfaces\u002Foverview","docs\u002F2.lang\u002F23.interfaces\u002F1.overview",{"title":1738,"path":1739,"stem":1740},"Interface Values","\u002Fdocs\u002Flang\u002Finterfaces\u002Finterface-values","docs\u002F2.lang\u002F23.interfaces\u002F2.interface-values",{"title":1742,"path":1743,"stem":1744},"Core Interfaces","\u002Fdocs\u002Flang\u002Finterfaces\u002Fcore-interfaces","docs\u002F2.lang\u002F23.interfaces\u002F3.core-interfaces",{"title":166,"path":1746,"stem":1747},"\u002Fdocs\u002Flang\u002Finterfaces\u002Foperators","docs\u002F2.lang\u002F23.interfaces\u002F4.operators",{"title":1749,"path":1750,"stem":1751,"children":1752},"Indexers","\u002Fdocs\u002Flang\u002Finterfaces\u002Findexers","docs\u002F2.lang\u002F23.interfaces\u002F5.indexers",[1753],{"title":1749,"path":1750,"stem":1751},{"title":1755,"path":1756,"stem":1757},"Iteration","\u002Fdocs\u002Flang\u002Finterfaces\u002Fiteration","docs\u002F2.lang\u002F23.interfaces\u002F6.iteration",{"title":649,"path":1759,"stem":1760,"children":1761,"page":29},"\u002Fdocs\u002Flang\u002Fgenerics","docs\u002F2.lang\u002F24.generics",[1762,1765,1769,1773],{"title":49,"path":1763,"stem":1764},"\u002Fdocs\u002Flang\u002Fgenerics\u002Foverview","docs\u002F2.lang\u002F24.generics\u002F1.overview",{"title":1766,"path":1767,"stem":1768},"Generic Types","\u002Fdocs\u002Flang\u002Fgenerics\u002Ftypes","docs\u002F2.lang\u002F24.generics\u002F2.types",{"title":1770,"path":1771,"stem":1772},"Generic Methods","\u002Fdocs\u002Flang\u002Fgenerics\u002Fmethods","docs\u002F2.lang\u002F24.generics\u002F3.methods",{"title":1774,"path":1775,"stem":1776},"Bounds","\u002Fdocs\u002Flang\u002Fgenerics\u002Fbounds","docs\u002F2.lang\u002F24.generics\u002F4.bounds",{"title":1778,"path":1779,"stem":1780,"children":1781,"page":29},"Modules","\u002Fdocs\u002Flang\u002Fmodules","docs\u002F2.lang\u002F25.modules",[1782,1785,1789],{"title":49,"path":1783,"stem":1784},"\u002Fdocs\u002Flang\u002Fmodules\u002Foverview","docs\u002F2.lang\u002F25.modules\u002F1.overview",{"title":1786,"path":1787,"stem":1788},"Imports","\u002Fdocs\u002Flang\u002Fmodules\u002Fimports","docs\u002F2.lang\u002F25.modules\u002F2.imports",{"title":1790,"path":1791,"stem":1792},"Visibility","\u002Fdocs\u002Flang\u002Fmodules\u002Fvisibility","docs\u002F2.lang\u002F25.modules\u002F3.visibility",{"title":1794,"path":1795,"stem":1796,"children":1797,"page":29},"Compile-Time","\u002Fdocs\u002Flang\u002Fcomptime","docs\u002F2.lang\u002F26.comptime",[1798,1801,1805,1809,1813,1817],{"title":49,"path":1799,"stem":1800},"\u002Fdocs\u002Flang\u002Fcomptime\u002Foverview","docs\u002F2.lang\u002F26.comptime\u002F1.overview",{"title":1802,"path":1803,"stem":1804},"Conditional Compilation","\u002Fdocs\u002Flang\u002Fcomptime\u002Fconditional","docs\u002F2.lang\u002F26.comptime\u002F2.conditional",{"title":1806,"path":1807,"stem":1808},"Context","\u002Fdocs\u002Flang\u002Fcomptime\u002Fcontext","docs\u002F2.lang\u002F26.comptime\u002F3.context",{"title":1810,"path":1811,"stem":1812},"Config","\u002Fdocs\u002Flang\u002Fcomptime\u002Fconfig","docs\u002F2.lang\u002F26.comptime\u002F4.config",{"title":1814,"path":1815,"stem":1816},"Intrinsics","\u002Fdocs\u002Flang\u002Fcomptime\u002Fintrinsics","docs\u002F2.lang\u002F26.comptime\u002F5.intrinsics",{"title":1818,"path":1819,"stem":1820},"Diagnostics","\u002Fdocs\u002Flang\u002Fcomptime\u002Fdiagnostics","docs\u002F2.lang\u002F26.comptime\u002F6.diagnostics",{"title":1822,"path":1823,"stem":1824,"children":1825,"page":29},"Attributes","\u002Fdocs\u002Flang\u002Fattributes","docs\u002F2.lang\u002F27.attributes",[1826,1829,1833,1837,1841,1845,1849,1853,1857,1861],{"title":49,"path":1827,"stem":1828},"\u002Fdocs\u002Flang\u002Fattributes\u002Foverview","docs\u002F2.lang\u002F27.attributes\u002F1.overview",{"title":1830,"path":1831,"stem":1832},"#Unsendable","\u002Fdocs\u002Flang\u002Fattributes\u002Funsendable","docs\u002F2.lang\u002F27.attributes\u002F10.unsendable",{"title":1834,"path":1835,"stem":1836},"#Link","\u002Fdocs\u002Flang\u002Fattributes\u002Flink","docs\u002F2.lang\u002F27.attributes\u002F2.link",{"title":1838,"path":1839,"stem":1840},"#Abi","\u002Fdocs\u002Flang\u002Fattributes\u002Fabi","docs\u002F2.lang\u002F27.attributes\u002F3.abi",{"title":1842,"path":1843,"stem":1844},"#NoReturn","\u002Fdocs\u002Flang\u002Fattributes\u002Fnoreturn","docs\u002F2.lang\u002F27.attributes\u002F4.noreturn",{"title":1846,"path":1847,"stem":1848},"#Warn","\u002Fdocs\u002Flang\u002Fattributes\u002Fwarn","docs\u002F2.lang\u002F27.attributes\u002F5.warn",{"title":1850,"path":1851,"stem":1852},"#Error","\u002Fdocs\u002Flang\u002Fattributes\u002Ferror","docs\u002F2.lang\u002F27.attributes\u002F6.error",{"title":1854,"path":1855,"stem":1856},"#Allow","\u002Fdocs\u002Flang\u002Fattributes\u002Fallow","docs\u002F2.lang\u002F27.attributes\u002F7.allow",{"title":1858,"path":1859,"stem":1860},"#Format","\u002Fdocs\u002Flang\u002Fattributes\u002Fformat","docs\u002F2.lang\u002F27.attributes\u002F8.format",{"title":1862,"path":1863,"stem":1864},"#Test","\u002Fdocs\u002Flang\u002Fattributes\u002Ftest","docs\u002F2.lang\u002F27.attributes\u002F9.test",{"title":1866,"path":1867,"stem":1868,"children":1869,"page":29},"Foreign Function Interface","\u002Fdocs\u002Flang\u002Fffi","docs\u002F2.lang\u002F28.ffi",[1870,1873,1877],{"title":49,"path":1871,"stem":1872},"\u002Fdocs\u002Flang\u002Fffi\u002Foverview","docs\u002F2.lang\u002F28.ffi\u002F1.overview",{"title":1874,"path":1875,"stem":1876},"Linking","\u002Fdocs\u002Flang\u002Fffi\u002Flinking","docs\u002F2.lang\u002F28.ffi\u002F2.linking",{"title":1878,"path":1879,"stem":1880},"Assembly","\u002Fdocs\u002Flang\u002Fffi\u002Fassembly","docs\u002F2.lang\u002F28.ffi\u002F3.assembly",{"title":751,"path":1882,"stem":1883,"children":1884,"page":29},"\u002Fdocs\u002Flang\u002Fmemory","docs\u002F2.lang\u002F29.memory",[1885,1889],{"title":1886,"path":1887,"stem":1888},"Layout","\u002Fdocs\u002Flang\u002Fmemory\u002Flayout","docs\u002F2.lang\u002F29.memory\u002F1.layout",{"title":1890,"path":1891,"stem":1892},"Atomics","\u002Fdocs\u002Flang\u002Fmemory\u002Fatomics","docs\u002F2.lang\u002F29.memory\u002F2.atomics",{"title":1894,"path":1895,"stem":1896,"children":1897,"page":29},"Appendix","\u002Fdocs\u002Flang\u002Fappendix","docs\u002F2.lang\u002F30.appendix",[1898,1902,1906],{"title":1899,"path":1900,"stem":1901},"Primitive Types","\u002Fdocs\u002Flang\u002Fappendix\u002Fprimitives","docs\u002F2.lang\u002F30.appendix\u002F1.primitives",{"title":1903,"path":1904,"stem":1905},"Tokens","\u002Fdocs\u002Flang\u002Fappendix\u002Ftokens","docs\u002F2.lang\u002F30.appendix\u002F2.tokens",{"title":1907,"path":1908,"stem":1909},"RCU Format","\u002Fdocs\u002Flang\u002Fappendix\u002Frcu","docs\u002F2.lang\u002F30.appendix\u002F3.rcu",{"title":1911,"path":1912,"stem":1913,"children":1914},"CLI Reference","\u002Fdocs\u002Fcli","docs\u002F3.cli\u002Findex",[1915,1916,1920,1924,1928,1932,1936,1940,1944,1948,1952,1956,1960,1964,1968,1972,1976,1980,1984,1988,1992,1996,2000,2004,2008],{"title":49,"path":1912,"stem":1913},{"title":1917,"path":1918,"stem":1919},"Global Options","\u002Fdocs\u002Fcli\u002Fglobal","docs\u002F3.cli\u002F01.global",{"title":1921,"path":1922,"stem":1923},"add","\u002Fdocs\u002Fcli\u002Fadd","docs\u002F3.cli\u002F02.add",{"title":1925,"path":1926,"stem":1927},"build","\u002Fdocs\u002Fcli\u002Fbuild","docs\u002F3.cli\u002F03.build",{"title":1929,"path":1930,"stem":1931},"check","\u002Fdocs\u002Fcli\u002Fcheck","docs\u002F3.cli\u002F04.check",{"title":1933,"path":1934,"stem":1935},"clean","\u002Fdocs\u002Fcli\u002Fclean","docs\u002F3.cli\u002F05.clean",{"title":1937,"path":1938,"stem":1939},"doc","\u002Fdocs\u002Fcli\u002Fdoc","docs\u002F3.cli\u002F06.doc",{"title":1941,"path":1942,"stem":1943},"fmt","\u002Fdocs\u002Fcli\u002Ffmt","docs\u002F3.cli\u002F07.fmt",{"title":1945,"path":1946,"stem":1947},"help","\u002Fdocs\u002Fcli\u002Fhelp","docs\u002F3.cli\u002F08.help",{"title":1949,"path":1950,"stem":1951},"info","\u002Fdocs\u002Fcli\u002Finfo","docs\u002F3.cli\u002F09.info",{"title":1953,"path":1954,"stem":1955},"init","\u002Fdocs\u002Fcli\u002Finit","docs\u002F3.cli\u002F10.init",{"title":1957,"path":1958,"stem":1959},"install","\u002Fdocs\u002Fcli\u002Finstall","docs\u002F3.cli\u002F11.install",{"title":1961,"path":1962,"stem":1963},"lint","\u002Fdocs\u002Fcli\u002Flint","docs\u002F3.cli\u002F12.lint",{"title":1965,"path":1966,"stem":1967},"list","\u002Fdocs\u002Fcli\u002Flist","docs\u002F3.cli\u002F13.list",{"title":1969,"path":1970,"stem":1971},"login","\u002Fdocs\u002Fcli\u002Flogin","docs\u002F3.cli\u002F14.login",{"title":1973,"path":1974,"stem":1975},"logout","\u002Fdocs\u002Fcli\u002Flogout","docs\u002F3.cli\u002F15.logout",{"title":1977,"path":1978,"stem":1979},"new","\u002Fdocs\u002Fcli\u002Fnew","docs\u002F3.cli\u002F16.new",{"title":1981,"path":1982,"stem":1983},"pack","\u002Fdocs\u002Fcli\u002Fpack","docs\u002F3.cli\u002F17.pack",{"title":1985,"path":1986,"stem":1987},"publish","\u002Fdocs\u002Fcli\u002Fpublish","docs\u002F3.cli\u002F18.publish",{"title":1989,"path":1990,"stem":1991},"remove","\u002Fdocs\u002Fcli\u002Fremove","docs\u002F3.cli\u002F19.remove",{"title":1993,"path":1994,"stem":1995},"run","\u002Fdocs\u002Fcli\u002Frun","docs\u002F3.cli\u002F20.run",{"title":1997,"path":1998,"stem":1999},"test","\u002Fdocs\u002Fcli\u002Ftest","docs\u002F3.cli\u002F21.test",{"title":2001,"path":2002,"stem":2003},"uninstall","\u002Fdocs\u002Fcli\u002Funinstall","docs\u002F3.cli\u002F22.uninstall",{"title":2005,"path":2006,"stem":2007},"update","\u002Fdocs\u002Fcli\u002Fupdate","docs\u002F3.cli\u002F23.update",{"title":2009,"path":2010,"stem":2011},"version","\u002Fdocs\u002Fcli\u002Fversion","docs\u002F3.cli\u002F24.version",{"title":2013,"path":2014,"stem":2015,"children":2016},"Packaging","\u002Fdocs\u002Fpackaging","docs\u002F4.packaging\u002Findex",[2017,2018,2022,2026,2030,2034,2038,2042,2046,2050,2054],{"title":49,"path":2014,"stem":2015},{"title":2019,"path":2020,"stem":2021},"Package Types","\u002Fdocs\u002Fpackaging\u002Ftypes","docs\u002F4.packaging\u002F1.types",{"title":2023,"path":2024,"stem":2025},"Yanking","\u002Fdocs\u002Fpackaging\u002Fyanking","docs\u002F4.packaging\u002F10.yanking",{"title":2027,"path":2028,"stem":2029},"Directory Layout","\u002Fdocs\u002Fpackaging\u002Flayout","docs\u002F4.packaging\u002F2.layout",{"title":2031,"path":2032,"stem":2033},"Package Manifest","\u002Fdocs\u002Fpackaging\u002Fmanifest","docs\u002F4.packaging\u002F3.manifest",{"title":2035,"path":2036,"stem":2037},"Dependencies","\u002Fdocs\u002Fpackaging\u002Fdependencies","docs\u002F4.packaging\u002F4.dependencies",{"title":2039,"path":2040,"stem":2041},"The Registry","\u002Fdocs\u002Fpackaging\u002Fregistry","docs\u002F4.packaging\u002F5.registry",{"title":2043,"path":2044,"stem":2045},"Namespaces","\u002Fdocs\u002Fpackaging\u002Fnamespaces","docs\u002F4.packaging\u002F6.namespaces",{"title":2047,"path":2048,"stem":2049},"API Tokens","\u002Fdocs\u002Fpackaging\u002Ftokens","docs\u002F4.packaging\u002F7.tokens",{"title":2051,"path":2052,"stem":2053},"Publishing","\u002Fdocs\u002Fpackaging\u002Fpublishing","docs\u002F4.packaging\u002F8.publishing",{"title":2055,"path":2056,"stem":2057},"Versioning","\u002Fdocs\u002Fpackaging\u002Fversioning","docs\u002F4.packaging\u002F9.versioning",{"title":2059,"path":2060,"stem":2061,"children":2062},"API Reference","\u002Fdocs\u002Fapi","docs\u002F5.api\u002Findex",[2063,2065,2179,2204,2244,2293,2358,2429,2468,2549,2590,2629,2668,2738,2793,2819,2874,2901,2944,2987,3012,3063,3104,3174,3232,3290,3369,3382,3416,3439,3474,3488,3518,3541,3558,3569,3596,3630,3648,3671],{"title":2064,"path":2060,"stem":2061},"Table of Contents",{"title":2066,"path":2067,"stem":2068,"children":2069,"icon":2178},"Core","\u002Fdocs\u002Fapi\u002Fcore","docs\u002F5.api\u002F01.core\u002F0.index",[2070,2071,2075,2079,2083,2087,2091,2095,2099,2102,2106,2109,2113,2116,2120,2123,2127,2131,2135,2139,2143,2147,2151,2155,2159,2162,2166,2170,2174],{"title":49,"path":2067,"stem":2068},{"title":2072,"path":2073,"stem":2074},"Comparable","\u002Fdocs\u002Fapi\u002Fcore\u002Fcomparable","docs\u002F5.api\u002F01.core\u002F1.interfaces\u002Fcomparable",{"title":2076,"path":2077,"stem":2078},"Equatable","\u002Fdocs\u002Fapi\u002Fcore\u002Fequatable","docs\u002F5.api\u002F01.core\u002F1.interfaces\u002Fequatable",{"title":2080,"path":2081,"stem":2082},"Hashable","\u002Fdocs\u002Fapi\u002Fcore\u002Fhashable","docs\u002F5.api\u002F01.core\u002F1.interfaces\u002Fhashable",{"title":2084,"path":2085,"stem":2086},"Iterable","\u002Fdocs\u002Fapi\u002Fcore\u002Fiterable","docs\u002F5.api\u002F01.core\u002F1.interfaces\u002Fiterable",{"title":2088,"path":2089,"stem":2090},"Iterator","\u002Fdocs\u002Fapi\u002Fcore\u002Fiterator","docs\u002F5.api\u002F01.core\u002F1.interfaces\u002Fiterator",{"title":2092,"path":2093,"stem":2094},"Sendable","\u002Fdocs\u002Fapi\u002Fcore\u002Fsendable","docs\u002F5.api\u002F01.core\u002F1.interfaces\u002Fsendable",{"title":2096,"path":2097,"stem":2098},"Iterator adaptors","\u002Fdocs\u002Fapi\u002Fcore\u002Fadaptors","docs\u002F5.api\u002F01.core\u002F2.types\u002Fadaptors",{"title":1419,"path":2100,"stem":2101},"\u002Fdocs\u002Fapi\u002Fcore\u002Fbooleans","docs\u002F5.api\u002F01.core\u002F2.types\u002Fbooleans",{"title":2103,"path":2104,"stem":2105},"Build","\u002Fdocs\u002Fapi\u002Fcore\u002Fbuild","docs\u002F5.api\u002F01.core\u002F2.types\u002Fbuild",{"title":1423,"path":2107,"stem":2108},"\u002Fdocs\u002Fapi\u002Fcore\u002Fcharacters","docs\u002F5.api\u002F01.core\u002F2.types\u002Fcharacters",{"title":2110,"path":2111,"stem":2112},"Compiler","\u002Fdocs\u002Fapi\u002Fcore\u002Fcompiler","docs\u002F5.api\u002F01.core\u002F2.types\u002Fcompiler",{"title":1810,"path":2114,"stem":2115},"\u002Fdocs\u002Fapi\u002Fcore\u002Fconfig","docs\u002F5.api\u002F01.core\u002F2.types\u002Fconfig",{"title":2117,"path":2118,"stem":2119},"Floating-point types","\u002Fdocs\u002Fapi\u002Fcore\u002Ffloating-point","docs\u002F5.api\u002F01.core\u002F2.types\u002Ffloating-point",{"title":1411,"path":2121,"stem":2122},"\u002Fdocs\u002Fapi\u002Fcore\u002Fintegers","docs\u002F5.api\u002F01.core\u002F2.types\u002Fintegers",{"title":2124,"path":2125,"stem":2126},"Ordering","\u002Fdocs\u002Fapi\u002Fcore\u002Fordering","docs\u002F5.api\u002F01.core\u002F2.types\u002Fordering",{"title":2128,"path":2129,"stem":2130},"SemanticVersion","\u002Fdocs\u002Fapi\u002Fcore\u002Fsemantic-version","docs\u002F5.api\u002F01.core\u002F2.types\u002Fsemantic-version",{"title":2132,"path":2133,"stem":2134},"Source","\u002Fdocs\u002Fapi\u002Fcore\u002Fsource","docs\u002F5.api\u002F01.core\u002F2.types\u002Fsource",{"title":2136,"path":2137,"stem":2138},"Target","\u002Fdocs\u002Fapi\u002Fcore\u002Ftarget","docs\u002F5.api\u002F01.core\u002F2.types\u002Ftarget",{"title":2140,"path":2141,"stem":2142},"Integer arithmetic","\u002Fdocs\u002Fapi\u002Fcore\u002Farithmetic","docs\u002F5.api\u002F01.core\u002F3.functions\u002Farithmetic",{"title":2144,"path":2145,"stem":2146},"Atomic intrinsics","\u002Fdocs\u002Fapi\u002Fcore\u002Fatomic","docs\u002F5.api\u002F01.core\u002F3.functions\u002Fatomic",{"title":2148,"path":2149,"stem":2150},"Bit operations","\u002Fdocs\u002Fapi\u002Fcore\u002Fbits","docs\u002F5.api\u002F01.core\u002F3.functions\u002Fbits",{"title":2152,"path":2153,"stem":2154},"Byte order","\u002Fdocs\u002Fapi\u002Fcore\u002Fbyte-order","docs\u002F5.api\u002F01.core\u002F3.functions\u002Fbyte-order",{"title":2156,"path":2157,"stem":2158},"Checked conversion","\u002Fdocs\u002Fapi\u002Fcore\u002Fconversion","docs\u002F5.api\u002F01.core\u002F3.functions\u002Fconversion",{"title":1818,"path":2160,"stem":2161},"\u002Fdocs\u002Fapi\u002Fcore\u002Fdiagnostics","docs\u002F5.api\u002F01.core\u002F3.functions\u002Fdiagnostics",{"title":2163,"path":2164,"stem":2165},"Float classification","\u002Fdocs\u002Fapi\u002Fcore\u002Ffloat-classification","docs\u002F5.api\u002F01.core\u002F3.functions\u002Ffloat-classification",{"title":2167,"path":2168,"stem":2169},"Outcomes","\u002Fdocs\u002Fapi\u002Fcore\u002Foutcomes","docs\u002F5.api\u002F01.core\u002F3.functions\u002Foutcomes",{"title":2171,"path":2172,"stem":2173},"Process start","\u002Fdocs\u002Fapi\u002Fcore\u002Fstartup","docs\u002F5.api\u002F01.core\u002F3.functions\u002Fstartup",{"title":2175,"path":2176,"stem":2177},"Zeroize","\u002Fdocs\u002Fapi\u002Fcore\u002Fzeroize","docs\u002F5.api\u002F01.core\u002F3.functions\u002Fzeroize","i-lucide-atom",{"title":751,"path":2180,"stem":2181,"children":2182,"icon":756},"\u002Fdocs\u002Fapi\u002Fmemory","docs\u002F5.api\u002F02.memory\u002F0.index",[2183,2184,2188,2192,2196,2200],{"title":49,"path":2180,"stem":2181},{"title":2185,"path":2186,"stem":2187},"Alignment","\u002Fdocs\u002Fapi\u002Fmemory\u002Falignment","docs\u002F5.api\u002F02.memory\u002F3.functions\u002Falignment",{"title":2189,"path":2190,"stem":2191},"Heap allocation","\u002Fdocs\u002Fapi\u002Fmemory\u002Fallocation","docs\u002F5.api\u002F02.memory\u002F3.functions\u002Fallocation",{"title":2193,"path":2194,"stem":2195},"Block operations","\u002Fdocs\u002Fapi\u002Fmemory\u002Fblocks","docs\u002F5.api\u002F02.memory\u002F3.functions\u002Fblocks",{"title":2197,"path":2198,"stem":2199},"Unaligned and byte-order access","\u002Fdocs\u002Fapi\u002Fmemory\u002Funaligned-access","docs\u002F5.api\u002F02.memory\u002F3.functions\u002Funaligned-access",{"title":2201,"path":2202,"stem":2203},"Pages","\u002Fdocs\u002Fapi\u002Fmemory\u002Fpages","docs\u002F5.api\u002F02.memory\u002F4.constants\u002Fpages",{"title":2205,"path":2206,"stem":2207,"children":2208,"icon":654},"Allocator","\u002Fdocs\u002Fapi\u002Fallocator","docs\u002F5.api\u002F03.allocator\u002F0.index",[2209,2210,2213,2217,2221,2225,2229,2232,2236,2240],{"title":49,"path":2206,"stem":2207},{"title":2205,"path":2211,"stem":2212},"\u002Fdocs\u002Fapi\u002Fallocator\u002Fallocator","docs\u002F5.api\u002F03.allocator\u002F1.interfaces\u002Fallocator",{"title":2214,"path":2215,"stem":2216},"AllocError","\u002Fdocs\u002Fapi\u002Fallocator\u002Falloc-error","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Falloc-error",{"title":2218,"path":2219,"stem":2220},"Arena","\u002Fdocs\u002Fapi\u002Fallocator\u002Farena","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Farena",{"title":2222,"path":2223,"stem":2224},"Box\u003CT>","\u002Fdocs\u002Fapi\u002Fallocator\u002Fbox","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Fbox",{"title":2226,"path":2227,"stem":2228},"FixedBuffer","\u002Fdocs\u002Fapi\u002Fallocator\u002Ffixed-buffer","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Ffixed-buffer",{"title":1886,"path":2230,"stem":2231},"\u002Fdocs\u002Fapi\u002Fallocator\u002Flayout","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Flayout",{"title":2233,"path":2234,"stem":2235},"Pool","\u002Fdocs\u002Fapi\u002Fallocator\u002Fpool","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Fpool",{"title":2237,"path":2238,"stem":2239},"Shared ownership","\u002Fdocs\u002Fapi\u002Fallocator\u002Fshared","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Fshared",{"title":2241,"path":2242,"stem":2243},"SystemAllocator","\u002Fdocs\u002Fapi\u002Fallocator\u002Fsystem-allocator","docs\u002F5.api\u002F03.allocator\u002F2.types\u002Fsystem-allocator",{"title":2245,"path":2246,"stem":2247,"children":2248,"icon":2292},"Math","\u002Fdocs\u002Fapi\u002Fmath","docs\u002F5.api\u002F04.math\u002F0.index",[2249,2250,2254,2258,2262,2266,2270,2274,2277,2281,2285,2289],{"title":49,"path":2246,"stem":2247},{"title":2251,"path":2252,"stem":2253},"Complex numbers","\u002Fdocs\u002Fapi\u002Fmath\u002Fcomplex","docs\u002F5.api\u002F04.math\u002F2.types\u002Fcomplex",{"title":2255,"path":2256,"stem":2257},"Absolute value, minimum and maximum","\u002Fdocs\u002Fapi\u002Fmath\u002Fabs-min-max","docs\u002F5.api\u002F04.math\u002F3.functions\u002Fabs-min-max",{"title":2259,"path":2260,"stem":2261},"Classification and special values","\u002Fdocs\u002Fapi\u002Fmath\u002Fclassification","docs\u002F5.api\u002F04.math\u002F3.functions\u002Fclassification",{"title":2263,"path":2264,"stem":2265},"Exponentials and logarithms","\u002Fdocs\u002Fapi\u002Fmath\u002Fexponential","docs\u002F5.api\u002F04.math\u002F3.functions\u002Fexponential",{"title":2267,"path":2268,"stem":2269},"Floating-point representation","\u002Fdocs\u002Fapi\u002Fmath\u002Ffloat-representation","docs\u002F5.api\u002F04.math\u002F3.functions\u002Ffloat-representation",{"title":2271,"path":2272,"stem":2273},"Hyperbolic functions","\u002Fdocs\u002Fapi\u002Fmath\u002Fhyperbolic","docs\u002F5.api\u002F04.math\u002F3.functions\u002Fhyperbolic",{"title":2140,"path":2275,"stem":2276},"\u002Fdocs\u002Fapi\u002Fmath\u002Finteger","docs\u002F5.api\u002F04.math\u002F3.functions\u002Finteger",{"title":2278,"path":2279,"stem":2280},"Powers and roots","\u002Fdocs\u002Fapi\u002Fmath\u002Fpowers","docs\u002F5.api\u002F04.math\u002F3.functions\u002Fpowers",{"title":2282,"path":2283,"stem":2284},"Rounding and remainders","\u002Fdocs\u002Fapi\u002Fmath\u002Frounding","docs\u002F5.api\u002F04.math\u002F3.functions\u002Frounding",{"title":2286,"path":2287,"stem":2288},"Trigonometry","\u002Fdocs\u002Fapi\u002Fmath\u002Ftrigonometry","docs\u002F5.api\u002F04.math\u002F3.functions\u002Ftrigonometry",{"title":1442,"path":2290,"stem":2291},"\u002Fdocs\u002Fapi\u002Fmath\u002Fconstants","docs\u002F5.api\u002F04.math\u002F4.constants\u002Fconstants","i-lucide-sigma",{"title":680,"path":2294,"stem":2295,"children":2296,"icon":685},"\u002Fdocs\u002Fapi\u002Ftext","docs\u002F5.api\u002F05.text\u002F0.index",[2297,2298,2302,2306,2310,2314,2318,2322,2326,2330,2334,2338,2342,2346,2350,2354],{"title":49,"path":2294,"stem":2295},{"title":2299,"path":2300,"stem":2301},"Debug","\u002Fdocs\u002Fapi\u002Ftext\u002Fdebug","docs\u002F5.api\u002F05.text\u002F1.interfaces\u002Fdebug",{"title":2303,"path":2304,"stem":2305},"Display","\u002Fdocs\u002Fapi\u002Ftext\u002Fdisplay","docs\u002F5.api\u002F05.text\u002F1.interfaces\u002Fdisplay",{"title":2307,"path":2308,"stem":2309},"ParseFailure","\u002Fdocs\u002Fapi\u002Ftext\u002Fparse-failure","docs\u002F5.api\u002F05.text\u002F1.interfaces\u002Fparse-failure",{"title":2311,"path":2312,"stem":2313},"TextWriter","\u002Fdocs\u002Fapi\u002Ftext\u002Ftext-writer","docs\u002F5.api\u002F05.text\u002F1.interfaces\u002Ftext-writer",{"title":2315,"path":2316,"stem":2317},"BufferWriter","\u002Fdocs\u002Fapi\u002Ftext\u002Fbuffer-writer","docs\u002F5.api\u002F05.text\u002F2.types\u002Fbuffer-writer",{"title":2319,"path":2320,"stem":2321},"CString","\u002Fdocs\u002Fapi\u002Ftext\u002Fc-string","docs\u002F5.api\u002F05.text\u002F2.types\u002Fc-string",{"title":2323,"path":2324,"stem":2325},"FormatError","\u002Fdocs\u002Fapi\u002Ftext\u002Fformat-error","docs\u002F5.api\u002F05.text\u002F2.types\u002Fformat-error",{"title":2327,"path":2328,"stem":2329},"FormatSpec","\u002Fdocs\u002Fapi\u002Ftext\u002Fformat-spec","docs\u002F5.api\u002F05.text\u002F2.types\u002Fformat-spec",{"title":2331,"path":2332,"stem":2333},"String","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring","docs\u002F5.api\u002F05.text\u002F2.types\u002Fstring",{"title":2335,"path":2336,"stem":2337},"StringBuilder","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring-builder","docs\u002F5.api\u002F05.text\u002F2.types\u002Fstring-builder",{"title":2339,"path":2340,"stem":2341},"StringView","\u002Fdocs\u002Fapi\u002Ftext\u002Fstring-view","docs\u002F5.api\u002F05.text\u002F2.types\u002Fstring-view",{"title":2343,"path":2344,"stem":2345},"TextError","\u002Fdocs\u002Fapi\u002Ftext\u002Ftext-error","docs\u002F5.api\u002F05.text\u002F2.types\u002Ftext-error",{"title":2347,"path":2348,"stem":2349},"Utf8Error","\u002Fdocs\u002Fapi\u002Ftext\u002Futf8-error","docs\u002F5.api\u002F05.text\u002F2.types\u002Futf8-error",{"title":2351,"path":2352,"stem":2353},"Transforming text","\u002Fdocs\u002Fapi\u002Ftext\u002Ftransform","docs\u002F5.api\u002F05.text\u002F3.functions\u002Ftransform",{"title":2355,"path":2356,"stem":2357},"UTF-8","\u002Fdocs\u002Fapi\u002Ftext\u002Futf8","docs\u002F5.api\u002F05.text\u002F3.functions\u002Futf8",{"title":2359,"path":2360,"stem":2361,"children":2362,"icon":2428},"Format","\u002Fdocs\u002Fapi\u002Fformat","docs\u002F5.api\u002F06.format\u002F0.index",[2363,2364,2368,2372,2376,2380,2384,2388,2392,2396,2400,2404,2408,2412,2416,2420,2424],{"title":49,"path":2360,"stem":2361},{"title":2365,"path":2366,"stem":2367},"ByteCursor","\u002Fdocs\u002Fapi\u002Fformat\u002Fbyte-cursor","docs\u002F5.api\u002F06.format\u002F2.types\u002Fbyte-cursor",{"title":2369,"path":2370,"stem":2371},"FixedNat","\u002Fdocs\u002Fapi\u002Fformat\u002Ffixed-nat","docs\u002F5.api\u002F06.format\u002F2.types\u002Ffixed-nat",{"title":2373,"path":2374,"stem":2375},"FloatLayout","\u002Fdocs\u002Fapi\u002Fformat\u002Ffloat-layout","docs\u002F5.api\u002F06.format\u002F2.types\u002Ffloat-layout",{"title":2377,"path":2378,"stem":2379},"Float128","\u002Fdocs\u002Fapi\u002Fformat\u002Ffloat128","docs\u002F5.api\u002F06.format\u002F2.types\u002Ffloat128",{"title":2381,"path":2382,"stem":2383},"Float256","\u002Fdocs\u002Fapi\u002Fformat\u002Ffloat256","docs\u002F5.api\u002F06.format\u002F2.types\u002Ffloat256",{"title":2385,"path":2386,"stem":2387},"Float512","\u002Fdocs\u002Fapi\u002Fformat\u002Ffloat512","docs\u002F5.api\u002F06.format\u002F2.types\u002Ffloat512",{"title":2389,"path":2390,"stem":2391},"Float80","\u002Fdocs\u002Fapi\u002Fformat\u002Ffloat80","docs\u002F5.api\u002F06.format\u002F2.types\u002Ffloat80",{"title":2393,"path":2394,"stem":2395},"ParseError","\u002Fdocs\u002Fapi\u002Fformat\u002Fparse-error","docs\u002F5.api\u002F06.format\u002F2.types\u002Fparse-error",{"title":2397,"path":2398,"stem":2399},"Writing characters and booleans","\u002Fdocs\u002Fapi\u002Fformat\u002Fcharacter-text","docs\u002F5.api\u002F06.format\u002F3.functions\u002Fcharacter-text",{"title":2401,"path":2402,"stem":2403},"Float classification and bits","\u002Fdocs\u002Fapi\u002Fformat\u002Ffloat-bits","docs\u002F5.api\u002F06.format\u002F3.functions\u002Ffloat-bits",{"title":2405,"path":2406,"stem":2407},"Writing floats","\u002Fdocs\u002Fapi\u002Fformat\u002Ffloat-text","docs\u002F5.api\u002F06.format\u002F3.functions\u002Ffloat-text",{"title":2409,"path":2410,"stem":2411},"Writing integers","\u002Fdocs\u002Fapi\u002Fformat\u002Finteger-text","docs\u002F5.api\u002F06.format\u002F3.functions\u002Finteger-text",{"title":2413,"path":2414,"stem":2415},"Parsing integers, booleans and characters","\u002Fdocs\u002Fapi\u002Fformat\u002Fparse","docs\u002F5.api\u002F06.format\u002F3.functions\u002Fparse",{"title":2417,"path":2418,"stem":2419},"Parsing floats","\u002Fdocs\u002Fapi\u002Fformat\u002Fparse-float","docs\u002F5.api\u002F06.format\u002F3.functions\u002Fparse-float",{"title":2421,"path":2422,"stem":2423},"Render","\u002Fdocs\u002Fapi\u002Fformat\u002Frender","docs\u002F5.api\u002F06.format\u002F3.functions\u002Frender",{"title":2425,"path":2426,"stem":2427},"WriteFormat","\u002Fdocs\u002Fapi\u002Fformat\u002Fwrite-format","docs\u002F5.api\u002F06.format\u002F3.functions\u002Fwrite-format","i-lucide-whole-word",{"title":2430,"path":2431,"stem":2432,"children":2433,"icon":2467},"Unicode","\u002Fdocs\u002Fapi\u002Funicode","docs\u002F5.api\u002F07.unicode\u002F0.index",[2434,2435,2439,2443,2447,2451,2455,2459,2463],{"title":49,"path":2431,"stem":2432},{"title":2436,"path":2437,"stem":2438},"GeneralCategory","\u002Fdocs\u002Fapi\u002Funicode\u002Fgeneral-category","docs\u002F5.api\u002F07.unicode\u002F2.types\u002Fgeneral-category",{"title":2440,"path":2441,"stem":2442},"GraphemeBreak","\u002Fdocs\u002Fapi\u002Funicode\u002Fgrapheme-break","docs\u002F5.api\u002F07.unicode\u002F2.types\u002Fgrapheme-break",{"title":2444,"path":2445,"stem":2446},"Case mapping","\u002Fdocs\u002Fapi\u002Funicode\u002Fcase","docs\u002F5.api\u002F07.unicode\u002F3.functions\u002Fcase",{"title":2448,"path":2449,"stem":2450},"Grapheme clusters","\u002Fdocs\u002Fapi\u002Funicode\u002Fgraphemes","docs\u002F5.api\u002F07.unicode\u002F3.functions\u002Fgraphemes",{"title":2452,"path":2453,"stem":2454},"Normalization","\u002Fdocs\u002Fapi\u002Funicode\u002Fnormalization","docs\u002F5.api\u002F07.unicode\u002F3.functions\u002Fnormalization",{"title":2456,"path":2457,"stem":2458},"Character properties","\u002Fdocs\u002Fapi\u002Funicode\u002Fproperties","docs\u002F5.api\u002F07.unicode\u002F3.functions\u002Fproperties",{"title":2460,"path":2461,"stem":2462},"Scripts","\u002Fdocs\u002Fapi\u002Funicode\u002Fscripts","docs\u002F5.api\u002F07.unicode\u002F3.functions\u002Fscripts",{"title":2464,"path":2465,"stem":2466},"Generated tables","\u002Fdocs\u002Fapi\u002Funicode\u002Ftables","docs\u002F5.api\u002F07.unicode\u002F4.constants\u002Ftables","i-lucide-languages",{"title":873,"path":2469,"stem":2470,"children":2471,"icon":878},"\u002Fdocs\u002Fapi\u002Fcollections","docs\u002F5.api\u002F08.collections\u002F0.index",[2472,2473,2477,2481,2485,2489,2493,2497,2501,2505,2509,2513,2517,2521,2525,2529,2533,2537,2541,2545],{"title":49,"path":2469,"stem":2470},{"title":2474,"path":2475,"stem":2476},"Array\u003CT>","\u002Fdocs\u002Fapi\u002Fcollections\u002Farray","docs\u002F5.api\u002F08.collections\u002F2.types\u002Farray",{"title":2478,"path":2479,"stem":2480},"BitSet","\u002Fdocs\u002Fapi\u002Fcollections\u002Fbit-set","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fbit-set",{"title":2482,"path":2483,"stem":2484},"CollectionError","\u002Fdocs\u002Fapi\u002Fcollections\u002Fcollection-error","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fcollection-error",{"title":2486,"path":2487,"stem":2488},"Deque\u003CT>","\u002Fdocs\u002Fapi\u002Fcollections\u002Fdeque","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fdeque",{"title":2490,"path":2491,"stem":2492},"HashMap\u003CK, V>","\u002Fdocs\u002Fapi\u002Fcollections\u002Fhash-map","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fhash-map",{"title":2494,"path":2495,"stem":2496},"HashSet\u003CT>","\u002Fdocs\u002Fapi\u002Fcollections\u002Fhash-set","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fhash-set",{"title":2498,"path":2499,"stem":2500},"Slice iterators","\u002Fdocs\u002Fapi\u002Fcollections\u002Fiterators","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fiterators",{"title":2502,"path":2503,"stem":2504},"KeyValue\u003CK, V>","\u002Fdocs\u002Fapi\u002Fcollections\u002Fkey-value","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fkey-value",{"title":2506,"path":2507,"stem":2508},"LruCache\u003CK, V>","\u002Fdocs\u002Fapi\u002Fcollections\u002Flru-cache","docs\u002F5.api\u002F08.collections\u002F2.types\u002Flru-cache",{"title":2510,"path":2511,"stem":2512},"PriorityQueue\u003CT>","\u002Fdocs\u002Fapi\u002Fcollections\u002Fpriority-queue","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fpriority-queue",{"title":2514,"path":2515,"stem":2516},"SmallVector\u003CT>","\u002Fdocs\u002Fapi\u002Fcollections\u002Fsmall-vector","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fsmall-vector",{"title":2518,"path":2519,"stem":2520},"Table\u003CK, V>","\u002Fdocs\u002Fapi\u002Fcollections\u002Ftable","docs\u002F5.api\u002F08.collections\u002F2.types\u002Ftable",{"title":2522,"path":2523,"stem":2524},"TableSeed","\u002Fdocs\u002Fapi\u002Fcollections\u002Ftable-seed","docs\u002F5.api\u002F08.collections\u002F2.types\u002Ftable-seed",{"title":2526,"path":2527,"stem":2528},"Tree\u003CK, V>","\u002Fdocs\u002Fapi\u002Fcollections\u002Ftree","docs\u002F5.api\u002F08.collections\u002F2.types\u002Ftree",{"title":2530,"path":2531,"stem":2532},"TreeMap\u003CK, V>","\u002Fdocs\u002Fapi\u002Fcollections\u002Ftree-map","docs\u002F5.api\u002F08.collections\u002F2.types\u002Ftree-map",{"title":2534,"path":2535,"stem":2536},"TreeSet\u003CT>","\u002Fdocs\u002Fapi\u002Fcollections\u002Ftree-set","docs\u002F5.api\u002F08.collections\u002F2.types\u002Ftree-set",{"title":2538,"path":2539,"stem":2540},"Vector\u003CT>","\u002Fdocs\u002Fapi\u002Fcollections\u002Fvector","docs\u002F5.api\u002F08.collections\u002F2.types\u002Fvector",{"title":2542,"path":2543,"stem":2544},"Comparing","\u002Fdocs\u002Fapi\u002Fcollections\u002Fcomparing","docs\u002F5.api\u002F08.collections\u002F3.functions\u002Fcomparing",{"title":2546,"path":2547,"stem":2548},"Hashing","\u002Fdocs\u002Fapi\u002Fcollections\u002Fhashing","docs\u002F5.api\u002F08.collections\u002F3.functions\u002Fhashing",{"title":924,"path":2550,"stem":2551,"children":2552,"icon":929},"\u002Fdocs\u002Fapi\u002Falgorithms","docs\u002F5.api\u002F09.algorithms\u002F0.index",[2553,2554,2558,2562,2566,2570,2574,2578,2582,2586],{"title":49,"path":2550,"stem":2551},{"title":2555,"path":2556,"stem":2557},"Comparing slices","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fcomparing","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fcomparing",{"title":2559,"path":2560,"stem":2561},"Folding","\u002Fdocs\u002Fapi\u002Falgorithms\u002Ffolding","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Ffolding",{"title":2563,"path":2564,"stem":2565},"Heaps","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fheaps","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fheaps",{"title":2567,"path":2568,"stem":2569},"Minimum and maximum","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fmin-max","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fmin-max",{"title":2571,"path":2572,"stem":2573},"Modifying","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fmodifying","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fmodifying",{"title":2575,"path":2576,"stem":2577},"Numeric sequences","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fnumeric","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fnumeric",{"title":2579,"path":2580,"stem":2581},"Searching","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fsearching","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fsearching",{"title":2583,"path":2584,"stem":2585},"Sorted slices","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fsorted-slices","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fsorted-slices",{"title":2587,"path":2588,"stem":2589},"Sorting","\u002Fdocs\u002Fapi\u002Falgorithms\u002Fsorting","docs\u002F5.api\u002F09.algorithms\u002F3.functions\u002Fsorting",{"title":2591,"path":2592,"stem":2593,"children":2594,"icon":2628},"Hash","\u002Fdocs\u002Fapi\u002Fhash","docs\u002F5.api\u002F10.hash\u002F0.index",[2595,2596,2600,2604,2608,2612,2616,2620,2624],{"title":49,"path":2592,"stem":2593},{"title":2597,"path":2598,"stem":2599},"Hasher","\u002Fdocs\u002Fapi\u002Fhash\u002Fhasher","docs\u002F5.api\u002F10.hash\u002F1.interfaces\u002Fhasher",{"title":2601,"path":2602,"stem":2603},"Adler32","\u002Fdocs\u002Fapi\u002Fhash\u002Fadler32","docs\u002F5.api\u002F10.hash\u002F2.types\u002Fadler32",{"title":2605,"path":2606,"stem":2607},"Crc32","\u002Fdocs\u002Fapi\u002Fhash\u002Fcrc32","docs\u002F5.api\u002F10.hash\u002F2.types\u002Fcrc32",{"title":2609,"path":2610,"stem":2611},"Crc32c","\u002Fdocs\u002Fapi\u002Fhash\u002Fcrc32c","docs\u002F5.api\u002F10.hash\u002F2.types\u002Fcrc32c",{"title":2613,"path":2614,"stem":2615},"Fnv1a32","\u002Fdocs\u002Fapi\u002Fhash\u002Ffnv1a32","docs\u002F5.api\u002F10.hash\u002F2.types\u002Ffnv1a32",{"title":2617,"path":2618,"stem":2619},"Fnv1a64","\u002Fdocs\u002Fapi\u002Fhash\u002Ffnv1a64","docs\u002F5.api\u002F10.hash\u002F2.types\u002Ffnv1a64",{"title":2621,"path":2622,"stem":2623},"SipHash24","\u002Fdocs\u002Fapi\u002Fhash\u002Fsip-hash24","docs\u002F5.api\u002F10.hash\u002F2.types\u002Fsip-hash24",{"title":2625,"path":2626,"stem":2627},"XxHash64","\u002Fdocs\u002Fapi\u002Fhash\u002Fxx-hash64","docs\u002F5.api\u002F10.hash\u002F2.types\u002Fxx-hash64","i-lucide-hash",{"title":2630,"path":2631,"stem":2632,"children":2633,"icon":2667},"Random","\u002Fdocs\u002Fapi\u002Frandom","docs\u002F5.api\u002F11.random\u002F0.index",[2634,2635,2639,2643,2647,2651,2655,2659,2663],{"title":49,"path":2631,"stem":2632},{"title":2636,"path":2637,"stem":2638},"RandomGenerator","\u002Fdocs\u002Fapi\u002Frandom\u002Frandom-generator","docs\u002F5.api\u002F11.random\u002F1.interfaces\u002Frandom-generator",{"title":2640,"path":2641,"stem":2642},"Pcg64Dxsm","\u002Fdocs\u002Fapi\u002Frandom\u002Fpcg64-dxsm","docs\u002F5.api\u002F11.random\u002F2.types\u002Fpcg64-dxsm",{"title":2644,"path":2645,"stem":2646},"Reservoir\u003CT>","\u002Fdocs\u002Fapi\u002Frandom\u002Freservoir","docs\u002F5.api\u002F11.random\u002F2.types\u002Freservoir",{"title":2648,"path":2649,"stem":2650},"SplitMix64","\u002Fdocs\u002Fapi\u002Frandom\u002Fsplit-mix64","docs\u002F5.api\u002F11.random\u002F2.types\u002Fsplit-mix64",{"title":2652,"path":2653,"stem":2654},"Xoshiro256","\u002Fdocs\u002Fapi\u002Frandom\u002Fxoshiro256","docs\u002F5.api\u002F11.random\u002F2.types\u002Fxoshiro256",{"title":2656,"path":2657,"stem":2658},"Distributions","\u002Fdocs\u002Fapi\u002Frandom\u002Fdistributions","docs\u002F5.api\u002F11.random\u002F3.functions\u002Fdistributions",{"title":2660,"path":2661,"stem":2662},"Sampling and shuffling","\u002Fdocs\u002Fapi\u002Frandom\u002Fsampling","docs\u002F5.api\u002F11.random\u002F3.functions\u002Fsampling",{"title":2664,"path":2665,"stem":2666},"Uniform ranges","\u002Fdocs\u002Fapi\u002Frandom\u002Funiform","docs\u002F5.api\u002F11.random\u002F3.functions\u002Funiform","i-lucide-dices",{"title":2669,"path":2670,"stem":2671,"children":2672,"icon":1261},"Io","\u002Fdocs\u002Fapi\u002Fio","docs\u002F5.api\u002F12.io\u002F0.index",[2673,2674,2678,2682,2686,2690,2694,2698,2702,2706,2710,2714,2718,2722,2726,2730,2734],{"title":49,"path":2670,"stem":2671},{"title":2675,"path":2676,"stem":2677},"Reader","\u002Fdocs\u002Fapi\u002Fio\u002Freader","docs\u002F5.api\u002F12.io\u002F1.interfaces\u002Freader",{"title":2679,"path":2680,"stem":2681},"Seeker","\u002Fdocs\u002Fapi\u002Fio\u002Fseeker","docs\u002F5.api\u002F12.io\u002F1.interfaces\u002Fseeker",{"title":2683,"path":2684,"stem":2685},"Writer","\u002Fdocs\u002Fapi\u002Fio\u002Fwriter","docs\u002F5.api\u002F12.io\u002F1.interfaces\u002Fwriter",{"title":2687,"path":2688,"stem":2689},"BufferedReader","\u002Fdocs\u002Fapi\u002Fio\u002Fbuffered-reader","docs\u002F5.api\u002F12.io\u002F2.types\u002Fbuffered-reader",{"title":2691,"path":2692,"stem":2693},"BufferedWriter","\u002Fdocs\u002Fapi\u002Fio\u002Fbuffered-writer","docs\u002F5.api\u002F12.io\u002F2.types\u002Fbuffered-writer",{"title":2695,"path":2696,"stem":2697},"ConsoleWriter","\u002Fdocs\u002Fapi\u002Fio\u002Fconsole-writer","docs\u002F5.api\u002F12.io\u002F2.types\u002Fconsole-writer",{"title":2699,"path":2700,"stem":2701},"IoError","\u002Fdocs\u002Fapi\u002Fio\u002Fio-error","docs\u002F5.api\u002F12.io\u002F2.types\u002Fio-error",{"title":2703,"path":2704,"stem":2705},"Memory streams","\u002Fdocs\u002Fapi\u002Fio\u002Fmemory-stream","docs\u002F5.api\u002F12.io\u002F2.types\u002Fmemory-stream",{"title":2707,"path":2708,"stem":2709},"StandardError","\u002Fdocs\u002Fapi\u002Fio\u002Fstandard-error","docs\u002F5.api\u002F12.io\u002F2.types\u002Fstandard-error",{"title":2711,"path":2712,"stem":2713},"StandardIn","\u002Fdocs\u002Fapi\u002Fio\u002Fstandard-in","docs\u002F5.api\u002F12.io\u002F2.types\u002Fstandard-in",{"title":2715,"path":2716,"stem":2717},"StandardOut","\u002Fdocs\u002Fapi\u002Fio\u002Fstandard-out","docs\u002F5.api\u002F12.io\u002F2.types\u002Fstandard-out",{"title":2719,"path":2720,"stem":2721},"StreamWriter","\u002Fdocs\u002Fapi\u002Fio\u002Fstream-writer","docs\u002F5.api\u002F12.io\u002F2.types\u002Fstream-writer",{"title":2723,"path":2724,"stem":2725},"Binary encoding","\u002Fdocs\u002Fapi\u002Fio\u002Fbinary","docs\u002F5.api\u002F12.io\u002F3.functions\u002Fbinary",{"title":2727,"path":2728,"stem":2729},"Print","\u002Fdocs\u002Fapi\u002Fio\u002Fprint","docs\u002F5.api\u002F12.io\u002F3.functions\u002Fprint",{"title":2731,"path":2732,"stem":2733},"PrintLine","\u002Fdocs\u002Fapi\u002Fio\u002Fprint-line","docs\u002F5.api\u002F12.io\u002F3.functions\u002Fprint-line",{"title":2735,"path":2736,"stem":2737},"ReadLine","\u002Fdocs\u002Fapi\u002Fio\u002Fread-line","docs\u002F5.api\u002F12.io\u002F3.functions\u002Fread-line",{"title":2739,"path":2740,"stem":2741,"children":2742,"icon":2792},"FileSystem","\u002Fdocs\u002Fapi\u002Ffilesystem","docs\u002F5.api\u002F13.filesystem\u002F0.index",[2743,2744,2748,2752,2756,2760,2764,2768,2772,2776,2780,2784,2788],{"title":49,"path":2740,"stem":2741},{"title":2745,"path":2746,"stem":2747},"AtomicWrite","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Fatomic-write","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Fatomic-write",{"title":2749,"path":2750,"stem":2751},"Capabilities","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Fcapabilities","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Fcapabilities",{"title":2753,"path":2754,"stem":2755},"File","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Ffile","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Ffile",{"title":2757,"path":2758,"stem":2759},"FileStream","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Ffile-stream","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Ffile-stream",{"title":2761,"path":2762,"stem":2763},"Metadata","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Fmetadata","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Fmetadata",{"title":2765,"path":2766,"stem":2767},"Permissions","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Fpermissions","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Fpermissions",{"title":2769,"path":2770,"stem":2771},"TemporaryDirectoryHandle","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Ftemporary-directory-handle","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Ftemporary-directory-handle",{"title":2773,"path":2774,"stem":2775},"TemporaryFile","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Ftemporary-file","docs\u002F5.api\u002F13.filesystem\u002F2.types\u002Ftemporary-file",{"title":2777,"path":2778,"stem":2779},"Directories","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Fdirectories","docs\u002F5.api\u002F13.filesystem\u002F3.functions\u002Fdirectories",{"title":2781,"path":2782,"stem":2783},"File operations","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Ffile-operations","docs\u002F5.api\u002F13.filesystem\u002F3.functions\u002Ffile-operations",{"title":2785,"path":2786,"stem":2787},"Working directory","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Flocation","docs\u002F5.api\u002F13.filesystem\u002F3.functions\u002Flocation",{"title":2789,"path":2790,"stem":2791},"Native error codes","\u002Fdocs\u002Fapi\u002Ffilesystem\u002Fnative-errors","docs\u002F5.api\u002F13.filesystem\u002F3.functions\u002Fnative-errors","i-lucide-folder-tree",{"title":2794,"path":2795,"stem":2796,"children":2797,"icon":2818},"Path","\u002Fdocs\u002Fapi\u002Fpath","docs\u002F5.api\u002F14.path\u002F0.index",[2798,2799,2803,2807,2810,2814],{"title":49,"path":2795,"stem":2796},{"title":2800,"path":2801,"stem":2802},"OsString","\u002Fdocs\u002Fapi\u002Fpath\u002Fos-string","docs\u002F5.api\u002F14.path\u002F2.types\u002Fos-string",{"title":2804,"path":2805,"stem":2806},"OsStringView","\u002Fdocs\u002Fapi\u002Fpath\u002Fos-string-view","docs\u002F5.api\u002F14.path\u002F2.types\u002Fos-string-view",{"title":2794,"path":2808,"stem":2809},"\u002Fdocs\u002Fapi\u002Fpath\u002Fpath","docs\u002F5.api\u002F14.path\u002F2.types\u002Fpath",{"title":2811,"path":2812,"stem":2813},"PathBuffer","\u002Fdocs\u002Fapi\u002Fpath\u002Fpath-buffer","docs\u002F5.api\u002F14.path\u002F2.types\u002Fpath-buffer",{"title":2815,"path":2816,"stem":2817},"Path syntax","\u002Fdocs\u002Fapi\u002Fpath\u002Fsyntax","docs\u002F5.api\u002F14.path\u002F3.functions\u002Fsyntax","i-lucide-route",{"title":2820,"path":2821,"stem":2822,"children":2823,"icon":2873},"Time","\u002Fdocs\u002Fapi\u002Ftime","docs\u002F5.api\u002F15.time\u002F0.index",[2824,2825,2829,2833,2837,2841,2845,2849,2853,2857,2861,2865,2869],{"title":49,"path":2821,"stem":2822},{"title":2826,"path":2827,"stem":2828},"Waiter","\u002Fdocs\u002Fapi\u002Ftime\u002Fwaiter","docs\u002F5.api\u002F15.time\u002F1.interfaces\u002Fwaiter",{"title":2830,"path":2831,"stem":2832},"Date","\u002Fdocs\u002Fapi\u002Ftime\u002Fdate","docs\u002F5.api\u002F15.time\u002F2.types\u002Fdate",{"title":2834,"path":2835,"stem":2836},"DateTime","\u002Fdocs\u002Fapi\u002Ftime\u002Fdate-time","docs\u002F5.api\u002F15.time\u002F2.types\u002Fdate-time",{"title":2838,"path":2839,"stem":2840},"Duration","\u002Fdocs\u002Fapi\u002Ftime\u002Fduration","docs\u002F5.api\u002F15.time\u002F2.types\u002Fduration",{"title":2842,"path":2843,"stem":2844},"Instant","\u002Fdocs\u002Fapi\u002Ftime\u002Finstant","docs\u002F5.api\u002F15.time\u002F2.types\u002Finstant",{"title":2846,"path":2847,"stem":2848},"OffsetDateTime","\u002Fdocs\u002Fapi\u002Ftime\u002Foffset-date-time","docs\u002F5.api\u002F15.time\u002F2.types\u002Foffset-date-time",{"title":2850,"path":2851,"stem":2852},"Stopwatch","\u002Fdocs\u002Fapi\u002Ftime\u002Fstopwatch","docs\u002F5.api\u002F15.time\u002F2.types\u002Fstopwatch",{"title":2854,"path":2855,"stem":2856},"TimeOfDay","\u002Fdocs\u002Fapi\u002Ftime\u002Ftime-of-day","docs\u002F5.api\u002F15.time\u002F2.types\u002Ftime-of-day",{"title":2858,"path":2859,"stem":2860},"TimeParseError","\u002Fdocs\u002Fapi\u002Ftime\u002Ftime-parse-error","docs\u002F5.api\u002F15.time\u002F2.types\u002Ftime-parse-error",{"title":2862,"path":2863,"stem":2864},"Timestamp","\u002Fdocs\u002Fapi\u002Ftime\u002Ftimestamp","docs\u002F5.api\u002F15.time\u002F2.types\u002Ftimestamp",{"title":2866,"path":2867,"stem":2868},"UtcOffset","\u002Fdocs\u002Fapi\u002Ftime\u002Futc-offset","docs\u002F5.api\u002F15.time\u002F2.types\u002Futc-offset",{"title":2870,"path":2871,"stem":2872},"SleepFor","\u002Fdocs\u002Fapi\u002Ftime\u002Fsleep","docs\u002F5.api\u002F15.time\u002F3.functions\u002Fsleep","i-lucide-clock",{"title":2875,"path":2876,"stem":2877,"children":2878,"icon":2900},"Entropy","\u002Fdocs\u002Fapi\u002Fentropy","docs\u002F5.api\u002F16.entropy\u002F0.index",[2879,2880,2884,2888,2892,2896],{"title":49,"path":2876,"stem":2877},{"title":2881,"path":2882,"stem":2883},"EntropySource","\u002Fdocs\u002Fapi\u002Fentropy\u002Fentropy-source","docs\u002F5.api\u002F16.entropy\u002F1.interfaces\u002Fentropy-source",{"title":2885,"path":2886,"stem":2887},"EntropyError","\u002Fdocs\u002Fapi\u002Fentropy\u002Fentropy-error","docs\u002F5.api\u002F16.entropy\u002F2.types\u002Fentropy-error",{"title":2889,"path":2890,"stem":2891},"SystemEntropy","\u002Fdocs\u002Fapi\u002Fentropy\u002Fsystem-entropy","docs\u002F5.api\u002F16.entropy\u002F2.types\u002Fsystem-entropy",{"title":2893,"path":2894,"stem":2895},"Fill","\u002Fdocs\u002Fapi\u002Fentropy\u002Ffill","docs\u002F5.api\u002F16.entropy\u002F3.functions\u002Ffill",{"title":2897,"path":2898,"stem":2899},"NextUint64","\u002Fdocs\u002Fapi\u002Fentropy\u002Fnext-uint64","docs\u002F5.api\u002F16.entropy\u002F3.functions\u002Fnext-uint64","i-lucide-sparkles",{"title":2902,"path":2903,"stem":2904,"children":2905,"icon":2943},"Json","\u002Fdocs\u002Fapi\u002Fjson","docs\u002F5.api\u002F17.json\u002F0.index",[2906,2907,2911,2915,2919,2923,2927,2931,2935,2939],{"title":49,"path":2903,"stem":2904},{"title":2908,"path":2909,"stem":2910},"JsonEventReader","\u002Fdocs\u002Fapi\u002Fjson\u002Fjson-event-reader","docs\u002F5.api\u002F17.json\u002F2.types\u002Fjson-event-reader",{"title":2912,"path":2913,"stem":2914},"JsonLexer","\u002Fdocs\u002Fapi\u002Fjson\u002Fjson-lexer","docs\u002F5.api\u002F17.json\u002F2.types\u002Fjson-lexer",{"title":2916,"path":2917,"stem":2918},"JsonLimits","\u002Fdocs\u002Fapi\u002Fjson\u002Fjson-limits","docs\u002F5.api\u002F17.json\u002F2.types\u002Fjson-limits",{"title":2920,"path":2921,"stem":2922},"JsonNumber","\u002Fdocs\u002Fapi\u002Fjson\u002Fjson-number","docs\u002F5.api\u002F17.json\u002F2.types\u002Fjson-number",{"title":2924,"path":2925,"stem":2926},"JsonParseError","\u002Fdocs\u002Fapi\u002Fjson\u002Fjson-parse-error","docs\u002F5.api\u002F17.json\u002F2.types\u002Fjson-parse-error",{"title":2928,"path":2929,"stem":2930},"JsonParser","\u002Fdocs\u002Fapi\u002Fjson\u002Fjson-parser","docs\u002F5.api\u002F17.json\u002F2.types\u002Fjson-parser",{"title":2932,"path":2933,"stem":2934},"JsonValue","\u002Fdocs\u002Fapi\u002Fjson\u002Fjson-value","docs\u002F5.api\u002F17.json\u002F2.types\u002Fjson-value",{"title":2936,"path":2937,"stem":2938},"Parse","\u002Fdocs\u002Fapi\u002Fjson\u002Fparse","docs\u002F5.api\u002F17.json\u002F3.functions\u002Fparse",{"title":2940,"path":2941,"stem":2942},"WriteValue","\u002Fdocs\u002Fapi\u002Fjson\u002Fwrite-value","docs\u002F5.api\u002F17.json\u002F3.functions\u002Fwrite-value","i-lucide-braces",{"title":2945,"path":2946,"stem":2947,"children":2948,"icon":2986},"Toml","\u002Fdocs\u002Fapi\u002Ftoml","docs\u002F5.api\u002F18.toml\u002F0.index",[2949,2950,2954,2958,2962,2966,2970,2974,2978,2982],{"title":49,"path":2946,"stem":2947},{"title":2951,"path":2952,"stem":2953},"TomlEventReader","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-event-reader","docs\u002F5.api\u002F18.toml\u002F2.types\u002Ftoml-event-reader",{"title":2955,"path":2956,"stem":2957},"TomlLexer","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-lexer","docs\u002F5.api\u002F18.toml\u002F2.types\u002Ftoml-lexer",{"title":2959,"path":2960,"stem":2961},"TomlParseFailure","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-parse-failure","docs\u002F5.api\u002F18.toml\u002F2.types\u002Ftoml-parse-failure",{"title":2963,"path":2964,"stem":2965},"TomlParser","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-parser","docs\u002F5.api\u002F18.toml\u002F2.types\u002Ftoml-parser",{"title":2967,"path":2968,"stem":2969},"TomlScalarError","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-scalar-error","docs\u002F5.api\u002F18.toml\u002F2.types\u002Ftoml-scalar-error",{"title":2971,"path":2972,"stem":2973},"TomlValue","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-value","docs\u002F5.api\u002F18.toml\u002F2.types\u002Ftoml-value",{"title":2975,"path":2976,"stem":2977},"Scalars","\u002Fdocs\u002Fapi\u002Ftoml\u002Fscalars","docs\u002F5.api\u002F18.toml\u002F3.functions\u002Fscalars",{"title":2979,"path":2980,"stem":2981},"TomlParse","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-parse","docs\u002F5.api\u002F18.toml\u002F3.functions\u002Ftoml-parse",{"title":2983,"path":2984,"stem":2985},"TomlWriteDocument","\u002Fdocs\u002Fapi\u002Ftoml\u002Ftoml-write-document","docs\u002F5.api\u002F18.toml\u002F3.functions\u002Ftoml-write-document","i-lucide-file-cog",{"title":2988,"path":2989,"stem":2990,"children":2991,"icon":3011},"Uuid","\u002Fdocs\u002Fapi\u002Fuuid","docs\u002F5.api\u002F19.uuid\u002F0.index",[2992,2993,2997,3000,3003,3007],{"title":49,"path":2989,"stem":2990},{"title":2994,"path":2995,"stem":2996},"MonotonicUuid","\u002Fdocs\u002Fapi\u002Fuuid\u002Fmonotonic-uuid","docs\u002F5.api\u002F19.uuid\u002F2.types\u002Fmonotonic-uuid",{"title":2988,"path":2998,"stem":2999},"\u002Fdocs\u002Fapi\u002Fuuid\u002Fuuid","docs\u002F5.api\u002F19.uuid\u002F2.types\u002Fuuid",{"title":2630,"path":3001,"stem":3002},"\u002Fdocs\u002Fapi\u002Fuuid\u002Frandom","docs\u002F5.api\u002F19.uuid\u002F3.functions\u002Frandom",{"title":3004,"path":3005,"stem":3006},"Text form","\u002Fdocs\u002Fapi\u002Fuuid\u002Ftext","docs\u002F5.api\u002F19.uuid\u002F3.functions\u002Ftext",{"title":3008,"path":3009,"stem":3010},"TimeOrdered","\u002Fdocs\u002Fapi\u002Fuuid\u002Ftime-ordered","docs\u002F5.api\u002F19.uuid\u002F3.functions\u002Ftime-ordered","i-lucide-fingerprint-pattern",{"title":3013,"path":3014,"stem":3015,"children":3016,"icon":3062},"Crypto","\u002Fdocs\u002Fapi\u002Fcrypto","docs\u002F5.api\u002F20.crypto\u002F0.index",[3017,3018,3022,3026,3030,3034,3038,3042,3046,3050,3054,3058],{"title":49,"path":3014,"stem":3015},{"title":3019,"path":3020,"stem":3021},"Digest","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fdigest","docs\u002F5.api\u002F20.crypto\u002F1.interfaces\u002Fdigest",{"title":3023,"path":3024,"stem":3025},"Blake3","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fblake3","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Fblake3",{"title":3027,"path":3028,"stem":3029},"Hmac\u003CD>","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fhmac","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Fhmac",{"title":3031,"path":3032,"stem":3033},"LegacyMd5","\u002Fdocs\u002Fapi\u002Fcrypto\u002Flegacy-md5","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Flegacy-md5",{"title":3035,"path":3036,"stem":3037},"LegacySha1","\u002Fdocs\u002Fapi\u002Fcrypto\u002Flegacy-sha1","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Flegacy-sha1",{"title":3039,"path":3040,"stem":3041},"Sha256","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fsha256","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Fsha256",{"title":3043,"path":3044,"stem":3045},"Sha3","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fsha3","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Fsha3",{"title":3047,"path":3048,"stem":3049},"Sha512","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fsha512","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Fsha512",{"title":3051,"path":3052,"stem":3053},"Shake","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fshake","docs\u002F5.api\u002F20.crypto\u002F2.types\u002Fshake",{"title":3055,"path":3056,"stem":3057},"Hkdf\u003CD>","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fhkdf","docs\u002F5.api\u002F20.crypto\u002F3.functions\u002Fhkdf",{"title":3059,"path":3060,"stem":3061},"Secrets","\u002Fdocs\u002Fapi\u002Fcrypto\u002Fsecrets","docs\u002F5.api\u002F20.crypto\u002F3.functions\u002Fsecrets","i-lucide-lock",{"title":3064,"path":3065,"stem":3066,"children":3067,"icon":3103},"C","\u002Fdocs\u002Fapi\u002Fc","docs\u002F5.api\u002F21.c\u002F0.index",[3068,3069,3073,3077,3080,3084,3088,3092,3095,3099],{"title":49,"path":3065,"stem":3066},{"title":3070,"path":3071,"stem":3072},"timespec","\u002Fdocs\u002Fapi\u002Fc\u002Ftimespec","docs\u002F5.api\u002F21.c\u002F2.types\u002Ftimespec",{"title":3074,"path":3075,"stem":3076},"tm","\u002Fdocs\u002Fapi\u002Fc\u002Ftm","docs\u002F5.api\u002F21.c\u002F2.types\u002Ftm",{"title":326,"path":3078,"stem":3079},"\u002Fdocs\u002Fapi\u002Fc\u002Ftypes","docs\u002F5.api\u002F21.c\u002F2.types\u002Ftypes",{"title":3081,"path":3082,"stem":3083},"Mathematics","\u002Fdocs\u002Fapi\u002Fc\u002Fmath","docs\u002F5.api\u002F21.c\u002F3.functions\u002Fmath",{"title":3085,"path":3086,"stem":3087},"General utilities","\u002Fdocs\u002Fapi\u002Fc\u002Fstdlib","docs\u002F5.api\u002F21.c\u002F3.functions\u002Fstdlib",{"title":3089,"path":3090,"stem":3091},"Strings and memory","\u002Fdocs\u002Fapi\u002Fc\u002Fstring","docs\u002F5.api\u002F21.c\u002F3.functions\u002Fstring",{"title":2820,"path":3093,"stem":3094},"\u002Fdocs\u002Fapi\u002Fc\u002Ftime","docs\u002F5.api\u002F21.c\u002F3.functions\u002Ftime",{"title":3096,"path":3097,"stem":3098},"errno","\u002Fdocs\u002Fapi\u002Fc\u002Ferrno","docs\u002F5.api\u002F21.c\u002F4.constants\u002Ferrno",{"title":3100,"path":3101,"stem":3102},"Standard I\u002FO","\u002Fdocs\u002Fapi\u002Fc\u002Fstdio","docs\u002F5.api\u002F21.c\u002F4.constants\u002Fstdio","i-simple-icons-c",{"title":67,"path":3105,"stem":3106,"children":3107,"icon":3173},"\u002Fdocs\u002Fapi\u002Flinux","docs\u002F5.api\u002F22.linux\u002F0.index",[3108,3109,3113,3116,3120,3124,3128,3132,3136,3140,3144,3148,3152,3155,3158,3162,3165,3169],{"title":49,"path":3105,"stem":3106},{"title":3110,"path":3111,"stem":3112},"Timespec","\u002Fdocs\u002Fapi\u002Flinux\u002Ftimespec","docs\u002F5.api\u002F22.linux\u002F2.types\u002Ftimespec",{"title":326,"path":3114,"stem":3115},"\u002Fdocs\u002Fapi\u002Flinux\u002Ftypes","docs\u002F5.api\u002F22.linux\u002F2.types\u002Ftypes",{"title":3117,"path":3118,"stem":3119},"Directories and links","\u002Fdocs\u002Fapi\u002Flinux\u002Fdirectories","docs\u002F5.api\u002F22.linux\u002F3.functions\u002Fdirectories",{"title":3121,"path":3122,"stem":3123},"GetRandom","\u002Fdocs\u002Fapi\u002Flinux\u002Fget-random","docs\u002F5.api\u002F22.linux\u002F3.functions\u002Fget-random",{"title":3125,"path":3126,"stem":3127},"Process","\u002Fdocs\u002Fapi\u002Flinux\u002Fprocess","docs\u002F5.api\u002F22.linux\u002F3.functions\u002Fprocess",{"title":3129,"path":3130,"stem":3131},"Name resolution","\u002Fdocs\u002Fapi\u002Flinux\u002Fresolve","docs\u002F5.api\u002F22.linux\u002F3.functions\u002Fresolve",{"title":3133,"path":3134,"stem":3135},"Starting processes","\u002Fdocs\u002Fapi\u002Flinux\u002Fspawn","docs\u002F5.api\u002F22.linux\u002F3.functions\u002Fspawn",{"title":3137,"path":3138,"stem":3139},"System calls","\u002Fdocs\u002Fapi\u002Flinux\u002Fsyscalls","docs\u002F5.api\u002F22.linux\u002F3.functions\u002Fsyscalls",{"title":3141,"path":3142,"stem":3143},"Threads","\u002Fdocs\u002Fapi\u002Flinux\u002Fthread","docs\u002F5.api\u002F22.linux\u002F3.functions\u002Fthread",{"title":3145,"path":3146,"stem":3147},"Clocks","\u002Fdocs\u002Fapi\u002Flinux\u002Fclock","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Fclock",{"title":3149,"path":3150,"stem":3151},"Dynamic loading","\u002Fdocs\u002Fapi\u002Flinux\u002Fdynamic","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Fdynamic",{"title":447,"path":3153,"stem":3154},"\u002Fdocs\u002Fapi\u002Flinux\u002Ferrors","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Ferrors",{"title":959,"path":3156,"stem":3157},"\u002Fdocs\u002Fapi\u002Flinux\u002Ffiles","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Ffiles",{"title":3159,"path":3160,"stem":3161},"Futexes","\u002Fdocs\u002Fapi\u002Flinux\u002Ffutex","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Ffutex",{"title":751,"path":3163,"stem":3164},"\u002Fdocs\u002Fapi\u002Flinux\u002Fmemory","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Fmemory",{"title":3166,"path":3167,"stem":3168},"Polling","\u002Fdocs\u002Fapi\u002Flinux\u002Fpoll","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Fpoll",{"title":3170,"path":3171,"stem":3172},"Sockets","\u002Fdocs\u002Fapi\u002Flinux\u002Fsocket","docs\u002F5.api\u002F22.linux\u002F4.constants\u002Fsocket","i-simple-icons-linux",{"title":63,"path":3175,"stem":3176,"children":3177,"icon":3231},"\u002Fdocs\u002Fapi\u002Ffreebsd","docs\u002F5.api\u002F23.freebsd\u002F0.index",[3178,3179,3182,3185,3188,3191,3194,3197,3200,3203,3206,3209,3212,3215,3218,3221,3224,3227],{"title":49,"path":3175,"stem":3176},{"title":3110,"path":3180,"stem":3181},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Ftimespec","docs\u002F5.api\u002F23.freebsd\u002F2.types\u002Ftimespec",{"title":326,"path":3183,"stem":3184},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Ftypes","docs\u002F5.api\u002F23.freebsd\u002F2.types\u002Ftypes",{"title":3117,"path":3186,"stem":3187},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fdirectories","docs\u002F5.api\u002F23.freebsd\u002F3.functions\u002Fdirectories",{"title":3121,"path":3189,"stem":3190},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fget-random","docs\u002F5.api\u002F23.freebsd\u002F3.functions\u002Fget-random",{"title":3125,"path":3192,"stem":3193},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fprocess","docs\u002F5.api\u002F23.freebsd\u002F3.functions\u002Fprocess",{"title":3129,"path":3195,"stem":3196},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fresolve","docs\u002F5.api\u002F23.freebsd\u002F3.functions\u002Fresolve",{"title":3133,"path":3198,"stem":3199},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fspawn","docs\u002F5.api\u002F23.freebsd\u002F3.functions\u002Fspawn",{"title":3137,"path":3201,"stem":3202},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fsyscalls","docs\u002F5.api\u002F23.freebsd\u002F3.functions\u002Fsyscalls",{"title":3141,"path":3204,"stem":3205},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fthread","docs\u002F5.api\u002F23.freebsd\u002F3.functions\u002Fthread",{"title":3145,"path":3207,"stem":3208},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fclock","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Fclock",{"title":3149,"path":3210,"stem":3211},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fdynamic","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Fdynamic",{"title":447,"path":3213,"stem":3214},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Ferrors","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Ferrors",{"title":959,"path":3216,"stem":3217},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Ffiles","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Ffiles",{"title":751,"path":3219,"stem":3220},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fmemory","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Fmemory",{"title":3166,"path":3222,"stem":3223},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fpoll","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Fpoll",{"title":3170,"path":3225,"stem":3226},"\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fsocket","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Fsocket",{"title":3228,"path":3229,"stem":3230},"Address waits","\u002Fdocs\u002Fapi\u002Ffreebsd\u002Fumtx","docs\u002F5.api\u002F23.freebsd\u002F4.constants\u002Fumtx","i-simple-icons-freebsd",{"title":71,"path":3233,"stem":3234,"children":3235,"icon":3289},"\u002Fdocs\u002Fapi\u002Fmacos","docs\u002F5.api\u002F24.macos\u002F0.index",[3236,3237,3240,3244,3247,3250,3253,3256,3259,3262,3265,3268,3271,3274,3277,3280,3283,3286],{"title":49,"path":3233,"stem":3234},{"title":3110,"path":3238,"stem":3239},"\u002Fdocs\u002Fapi\u002Fmacos\u002Ftimespec","docs\u002F5.api\u002F24.macos\u002F2.types\u002Ftimespec",{"title":3241,"path":3242,"stem":3243},"Timeval","\u002Fdocs\u002Fapi\u002Fmacos\u002Ftimeval","docs\u002F5.api\u002F24.macos\u002F2.types\u002Ftimeval",{"title":326,"path":3245,"stem":3246},"\u002Fdocs\u002Fapi\u002Fmacos\u002Ftypes","docs\u002F5.api\u002F24.macos\u002F2.types\u002Ftypes",{"title":3145,"path":3248,"stem":3249},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fclock","docs\u002F5.api\u002F24.macos\u002F3.functions\u002Fclock",{"title":3117,"path":3251,"stem":3252},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fdirectories","docs\u002F5.api\u002F24.macos\u002F3.functions\u002Fdirectories",{"title":3121,"path":3254,"stem":3255},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fget-random","docs\u002F5.api\u002F24.macos\u002F3.functions\u002Fget-random",{"title":3125,"path":3257,"stem":3258},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fprocess","docs\u002F5.api\u002F24.macos\u002F3.functions\u002Fprocess",{"title":3129,"path":3260,"stem":3261},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fresolve","docs\u002F5.api\u002F24.macos\u002F3.functions\u002Fresolve",{"title":3133,"path":3263,"stem":3264},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fspawn","docs\u002F5.api\u002F24.macos\u002F3.functions\u002Fspawn",{"title":3141,"path":3266,"stem":3267},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fthread","docs\u002F5.api\u002F24.macos\u002F3.functions\u002Fthread",{"title":3149,"path":3269,"stem":3270},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fdynamic","docs\u002F5.api\u002F24.macos\u002F4.constants\u002Fdynamic",{"title":447,"path":3272,"stem":3273},"\u002Fdocs\u002Fapi\u002Fmacos\u002Ferrors","docs\u002F5.api\u002F24.macos\u002F4.constants\u002Ferrors",{"title":959,"path":3275,"stem":3276},"\u002Fdocs\u002Fapi\u002Fmacos\u002Ffiles","docs\u002F5.api\u002F24.macos\u002F4.constants\u002Ffiles",{"title":751,"path":3278,"stem":3279},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fmemory","docs\u002F5.api\u002F24.macos\u002F4.constants\u002Fmemory",{"title":3166,"path":3281,"stem":3282},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fpoll","docs\u002F5.api\u002F24.macos\u002F4.constants\u002Fpoll",{"title":3170,"path":3284,"stem":3285},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fsocket","docs\u002F5.api\u002F24.macos\u002F4.constants\u002Fsocket",{"title":3228,"path":3287,"stem":3288},"\u002Fdocs\u002Fapi\u002Fmacos\u002Fulock","docs\u002F5.api\u002F24.macos\u002F4.constants\u002Fulock","i-simple-icons-apple",{"title":75,"path":3291,"stem":3292,"children":3293,"icon":3368},"\u002Fdocs\u002Fapi\u002Fwindows","docs\u002F5.api\u002F25.windows\u002F0.index",[3294,3295,3299,3303,3307,3311,3315,3319,3322,3326,3329,3333,3337,3340,3343,3346,3350,3354,3357,3361,3364],{"title":49,"path":3291,"stem":3292},{"title":3296,"path":3297,"stem":3298},"CodePage","\u002Fdocs\u002Fapi\u002Fwindows\u002Fcode-page","docs\u002F5.api\u002F25.windows\u002F2.types\u002Fcode-page",{"title":3300,"path":3301,"stem":3302},"CreationDisposition","\u002Fdocs\u002Fapi\u002Fwindows\u002Fcreation-disposition","docs\u002F5.api\u002F25.windows\u002F2.types\u002Fcreation-disposition",{"title":3304,"path":3305,"stem":3306},"FileTime","\u002Fdocs\u002Fapi\u002Fwindows\u002Ffile-time","docs\u002F5.api\u002F25.windows\u002F2.types\u002Ffile-time",{"title":3308,"path":3309,"stem":3310},"SystemInfo","\u002Fdocs\u002Fapi\u002Fwindows\u002Fsystem-info","docs\u002F5.api\u002F25.windows\u002F2.types\u002Fsystem-info",{"title":3312,"path":3313,"stem":3314},"SystemTime","\u002Fdocs\u002Fapi\u002Fwindows\u002Fsystem-time","docs\u002F5.api\u002F25.windows\u002F2.types\u002Fsystem-time",{"title":3316,"path":3317,"stem":3318},"Time zone","\u002Fdocs\u002Fapi\u002Fwindows\u002Ftime-zone","docs\u002F5.api\u002F25.windows\u002F2.types\u002Ftime-zone",{"title":326,"path":3320,"stem":3321},"\u002Fdocs\u002Fapi\u002Fwindows\u002Ftypes","docs\u002F5.api\u002F25.windows\u002F2.types\u002Ftypes",{"title":3323,"path":3324,"stem":3325},"Win32FindDataA","\u002Fdocs\u002Fapi\u002Fwindows\u002Fwin32-find-data-a","docs\u002F5.api\u002F25.windows\u002F2.types\u002Fwin32-find-data-a",{"title":3145,"path":3327,"stem":3328},"\u002Fdocs\u002Fapi\u002Fwindows\u002Fclock","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Fclock",{"title":3330,"path":3331,"stem":3332},"Console","\u002Fdocs\u002Fapi\u002Fwindows\u002Fconsole","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Fconsole",{"title":3334,"path":3335,"stem":3336},"File system","\u002Fdocs\u002Fapi\u002Fwindows\u002Ffile-system","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Ffile-system",{"title":959,"path":3338,"stem":3339},"\u002Fdocs\u002Fapi\u002Fwindows\u002Ffiles","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Ffiles",{"title":3121,"path":3341,"stem":3342},"\u002Fdocs\u002Fapi\u002Fwindows\u002Fget-random","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Fget-random",{"title":751,"path":3344,"stem":3345},"\u002Fdocs\u002Fapi\u002Fwindows\u002Fmemory","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Fmemory",{"title":3347,"path":3348,"stem":3349},"Processes and threads","\u002Fdocs\u002Fapi\u002Fwindows\u002Fprocess","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Fprocess",{"title":3351,"path":3352,"stem":3353},"Process control","\u002Fdocs\u002Fapi\u002Fwindows\u002Fprocess-control","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Fprocess-control",{"title":3228,"path":3355,"stem":3356},"\u002Fdocs\u002Fapi\u002Fwindows\u002Fsynch","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Fsynch",{"title":3358,"path":3359,"stem":3360},"Text conversion","\u002Fdocs\u002Fapi\u002Fwindows\u002Ftext","docs\u002F5.api\u002F25.windows\u002F3.functions\u002Ftext",{"title":447,"path":3362,"stem":3363},"\u002Fdocs\u002Fapi\u002Fwindows\u002Ferrors","docs\u002F5.api\u002F25.windows\u002F4.constants\u002Ferrors",{"title":3365,"path":3366,"stem":3367},"Winsock","\u002Fdocs\u002Fapi\u002Fwindows\u002Fwinsock","docs\u002F5.api\u002F25.windows\u002F4.constants\u002Fwinsock","i-simple-icons-windows",{"title":3370,"path":3371,"stem":3372,"children":3373,"icon":3381},"Regex","\u002Fdocs\u002Fapi\u002Fregex","docs\u002F5.api\u002F26.regex\u002F0.index",[3374,3375,3378],{"title":49,"path":3371,"stem":3372},{"title":447,"path":3376,"stem":3377},"\u002Fdocs\u002Fapi\u002Fregex\u002Ferror","docs\u002F5.api\u002F26.regex\u002F2.types\u002Ferror",{"title":3370,"path":3379,"stem":3380},"\u002Fdocs\u002Fapi\u002Fregex\u002Fregex","docs\u002F5.api\u002F26.regex\u002F2.types\u002Fregex","i-lucide-regex",{"title":3125,"path":3383,"stem":3384,"children":3385,"icon":3415},"\u002Fdocs\u002Fapi\u002Fprocess","docs\u002F5.api\u002F27.process\u002F0.index",[3386,3387,3391,3395,3399,3403,3407,3411],{"title":49,"path":3383,"stem":3384},{"title":3388,"path":3389,"stem":3390},"Captured output","\u002Fdocs\u002Fapi\u002Fprocess\u002Fcapture","docs\u002F5.api\u002F27.process\u002F2.types\u002Fcapture",{"title":3392,"path":3393,"stem":3394},"Child processes","\u002Fdocs\u002Fapi\u002Fprocess\u002Fchild","docs\u002F5.api\u002F27.process\u002F2.types\u002Fchild",{"title":3396,"path":3397,"stem":3398},"Commands","\u002Fdocs\u002Fapi\u002Fprocess\u002Fcommand","docs\u002F5.api\u002F27.process\u002F2.types\u002Fcommand",{"title":3400,"path":3401,"stem":3402},"Arguments","\u002Fdocs\u002Fapi\u002Fprocess\u002Farguments","docs\u002F5.api\u002F27.process\u002F3.functions\u002Farguments",{"title":3404,"path":3405,"stem":3406},"Environment","\u002Fdocs\u002Fapi\u002Fprocess\u002Fenvironment","docs\u002F5.api\u002F27.process\u002F3.functions\u002Fenvironment",{"title":3408,"path":3409,"stem":3410},"Executable","\u002Fdocs\u002Fapi\u002Fprocess\u002Fexecutable","docs\u002F5.api\u002F27.process\u002F3.functions\u002Fexecutable",{"title":3412,"path":3413,"stem":3414},"Exit","\u002Fdocs\u002Fapi\u002Fprocess\u002Fexit","docs\u002F5.api\u002F27.process\u002F3.functions\u002Fexit","i-lucide-square-terminal",{"title":3417,"path":3418,"stem":3419,"children":3420,"icon":3438},"CommandLine","\u002Fdocs\u002Fapi\u002Fcommandline","docs\u002F5.api\u002F28.commandline\u002F0.index",[3421,3422,3426,3430,3434],{"title":49,"path":3418,"stem":3419},{"title":3423,"path":3424,"stem":3425},"CommandLineError","\u002Fdocs\u002Fapi\u002Fcommandline\u002Fcommand-line-error","docs\u002F5.api\u002F28.commandline\u002F2.types\u002Fcommand-line-error",{"title":3427,"path":3428,"stem":3429},"Parsed","\u002Fdocs\u002Fapi\u002Fcommandline\u002Fparsed","docs\u002F5.api\u002F28.commandline\u002F2.types\u002Fparsed",{"title":3431,"path":3432,"stem":3433},"Help","\u002Fdocs\u002Fapi\u002Fcommandline\u002Fhelp","docs\u002F5.api\u002F28.commandline\u002F3.functions\u002Fhelp",{"title":3435,"path":3436,"stem":3437},"Specification","\u002Fdocs\u002Fapi\u002Fcommandline\u002Fspec","docs\u002F5.api\u002F28.commandline\u002F3.functions\u002Fspec","i-lucide-square-chevron-right",{"title":3440,"path":3441,"stem":3442,"children":3443,"icon":3473},"Log","\u002Fdocs\u002Fapi\u002Flog","docs\u002F5.api\u002F29.log\u002F0.index",[3444,3445,3449,3453,3457,3461,3465,3469],{"title":49,"path":3441,"stem":3442},{"title":3446,"path":3447,"stem":3448},"Fields","\u002Fdocs\u002Fapi\u002Flog\u002Ffield","docs\u002F5.api\u002F29.log\u002F2.types\u002Ffield",{"title":3450,"path":3451,"stem":3452},"Levels","\u002Fdocs\u002Fapi\u002Flog\u002Flevel","docs\u002F5.api\u002F29.log\u002F2.types\u002Flevel",{"title":3454,"path":3455,"stem":3456},"Logger","\u002Fdocs\u002Fapi\u002Flog\u002Flogger","docs\u002F5.api\u002F29.log\u002F2.types\u002Flogger",{"title":3458,"path":3459,"stem":3460},"Records","\u002Fdocs\u002Fapi\u002Flog\u002Frecord","docs\u002F5.api\u002F29.log\u002F2.types\u002Frecord",{"title":3462,"path":3463,"stem":3464},"RotatingFile","\u002Fdocs\u002Fapi\u002Flog\u002Frotating-file","docs\u002F5.api\u002F29.log\u002F2.types\u002Frotating-file",{"title":3466,"path":3467,"stem":3468},"RotatingStream","\u002Fdocs\u002Fapi\u002Flog\u002Frotating-stream","docs\u002F5.api\u002F29.log\u002F2.types\u002Frotating-stream",{"title":3470,"path":3471,"stem":3472},"Process-wide log","\u002Fdocs\u002Fapi\u002Flog\u002Fglobal","docs\u002F5.api\u002F29.log\u002F3.functions\u002Fglobal","i-lucide-scroll-text",{"title":3475,"path":3476,"stem":3477,"children":3478,"icon":3487},"TimeZone","\u002Fdocs\u002Fapi\u002Ftimezone","docs\u002F5.api\u002F30.timezone\u002F0.index",[3479,3480,3483],{"title":49,"path":3476,"stem":3477},{"title":447,"path":3481,"stem":3482},"\u002Fdocs\u002Fapi\u002Ftimezone\u002Ferror","docs\u002F5.api\u002F30.timezone\u002F2.types\u002Ferror",{"title":3484,"path":3485,"stem":3486},"Time zones","\u002Fdocs\u002Fapi\u002Ftimezone\u002Fzone","docs\u002F5.api\u002F30.timezone\u002F2.types\u002Fzone","i-lucide-globe",{"title":3489,"path":3490,"stem":3491,"children":3492,"icon":3517},"Net","\u002Fdocs\u002Fapi\u002Fnet","docs\u002F5.api\u002F31.net\u002F0.index",[3493,3494,3498,3502,3506,3510,3514],{"title":49,"path":3490,"stem":3491},{"title":3495,"path":3496,"stem":3497},"Addresses","\u002Fdocs\u002Fapi\u002Fnet\u002Faddress","docs\u002F5.api\u002F31.net\u002F2.types\u002Faddress",{"title":3499,"path":3500,"stem":3501},"Poller","\u002Fdocs\u002Fapi\u002Fnet\u002Fpoller","docs\u002F5.api\u002F31.net\u002F2.types\u002Fpoller",{"title":3503,"path":3504,"stem":3505},"Resolver","\u002Fdocs\u002Fapi\u002Fnet\u002Fresolver","docs\u002F5.api\u002F31.net\u002F2.types\u002Fresolver",{"title":3507,"path":3508,"stem":3509},"TCP","\u002Fdocs\u002Fapi\u002Fnet\u002Ftcp","docs\u002F5.api\u002F31.net\u002F2.types\u002Ftcp",{"title":3511,"path":3512,"stem":3513},"UDP","\u002Fdocs\u002Fapi\u002Fnet\u002Fudp","docs\u002F5.api\u002F31.net\u002F2.types\u002Fudp",{"title":3129,"path":3515,"stem":3516},"\u002Fdocs\u002Fapi\u002Fnet\u002Fresolve","docs\u002F5.api\u002F31.net\u002F3.functions\u002Fresolve","i-lucide-network",{"title":3519,"path":3520,"stem":3521,"children":3522,"icon":3540},"Test","\u002Fdocs\u002Fapi\u002Ftest","docs\u002F5.api\u002F32.test\u002F0.index",[3523,3524,3528,3532,3536],{"title":49,"path":3520,"stem":3521},{"title":3525,"path":3526,"stem":3527},"Failures","\u002Fdocs\u002Fapi\u002Ftest\u002Ffailure","docs\u002F5.api\u002F32.test\u002F2.types\u002Ffailure",{"title":3529,"path":3530,"stem":3531},"Runner","\u002Fdocs\u002Fapi\u002Ftest\u002Frunner","docs\u002F5.api\u002F32.test\u002F2.types\u002Frunner",{"title":3533,"path":3534,"stem":3535},"Benchmarks","\u002Fdocs\u002Fapi\u002Ftest\u002Fbenchmark","docs\u002F5.api\u002F32.test\u002F3.functions\u002Fbenchmark",{"title":3537,"path":3538,"stem":3539},"Checks","\u002Fdocs\u002Fapi\u002Ftest\u002Fexpect","docs\u002F5.api\u002F32.test\u002F3.functions\u002Fexpect","i-lucide-flask-conical",{"title":3542,"path":3543,"stem":3544,"children":3545,"icon":1222},"Thread","\u002Fdocs\u002Fapi\u002Fthread","docs\u002F5.api\u002F33.thread\u002F0.index",[3546,3547,3550,3554],{"title":49,"path":3543,"stem":3544},{"title":447,"path":3548,"stem":3549},"\u002Fdocs\u002Fapi\u002Fthread\u002Ferror","docs\u002F5.api\u002F33.thread\u002F2.types\u002Ferror",{"title":3551,"path":3552,"stem":3553},"Starting threads","\u002Fdocs\u002Fapi\u002Fthread\u002Fspawn","docs\u002F5.api\u002F33.thread\u002F2.types\u002Fspawn",{"title":3555,"path":3556,"stem":3557},"The current thread","\u002Fdocs\u002Fapi\u002Fthread\u002Fcurrent","docs\u002F5.api\u002F33.thread\u002F3.functions\u002Fcurrent",{"title":3559,"path":3560,"stem":3561,"children":3562,"icon":3568},"Atomic","\u002Fdocs\u002Fapi\u002Fatomic","docs\u002F5.api\u002F34.atomic\u002F0.index",[3563,3564],{"title":49,"path":3560,"stem":3561},{"title":3565,"path":3566,"stem":3567},"Atomic\u003CT>","\u002Fdocs\u002Fapi\u002Fatomic\u002Fatomic","docs\u002F5.api\u002F34.atomic\u002F2.types\u002Fatomic","i-lucide-zap",{"title":3570,"path":3571,"stem":3572,"children":3573,"icon":3595},"Sync","\u002Fdocs\u002Fapi\u002Fsync","docs\u002F5.api\u002F35.sync\u002F0.index",[3574,3575,3579,3583,3587,3591],{"title":49,"path":3571,"stem":3572},{"title":3576,"path":3577,"stem":3578},"Channels","\u002Fdocs\u002Fapi\u002Fsync\u002Fchannel","docs\u002F5.api\u002F35.sync\u002F2.types\u002Fchannel",{"title":3580,"path":3581,"stem":3582},"Counters","\u002Fdocs\u002Fapi\u002Fsync\u002Fcounters","docs\u002F5.api\u002F35.sync\u002F2.types\u002Fcounters",{"title":3584,"path":3585,"stem":3586},"Locks","\u002Fdocs\u002Fapi\u002Fsync\u002Flock","docs\u002F5.api\u002F35.sync\u002F2.types\u002Flock",{"title":3588,"path":3589,"stem":3590},"Mutexes","\u002Fdocs\u002Fapi\u002Fsync\u002Fmutex","docs\u002F5.api\u002F35.sync\u002F2.types\u002Fmutex",{"title":3592,"path":3593,"stem":3594},"Reader-writer locks","\u002Fdocs\u002Fapi\u002Fsync\u002Frw-lock","docs\u002F5.api\u002F35.sync\u002F2.types\u002Frw-lock","i-lucide-lock-keyhole",{"title":3597,"path":3598,"stem":3599,"children":3600,"icon":823},"Encoding","\u002Fdocs\u002Fapi\u002Fencoding","docs\u002F5.api\u002F36.encoding\u002F0.index",[3601,3602,3606,3610,3614,3618,3622,3626],{"title":49,"path":3598,"stem":3599},{"title":3603,"path":3604,"stem":3605},"DecodeError","\u002Fdocs\u002Fapi\u002Fencoding\u002Fdecode-error","docs\u002F5.api\u002F36.encoding\u002F2.types\u002Fdecode-error",{"title":3607,"path":3608,"stem":3609},"Streams","\u002Fdocs\u002Fapi\u002Fencoding\u002Fstream","docs\u002F5.api\u002F36.encoding\u002F2.types\u002Fstream",{"title":3611,"path":3612,"stem":3613},"Base32","\u002Fdocs\u002Fapi\u002Fencoding\u002Fbase32","docs\u002F5.api\u002F36.encoding\u002F3.functions\u002Fbase32",{"title":3615,"path":3616,"stem":3617},"Base58","\u002Fdocs\u002Fapi\u002Fencoding\u002Fbase58","docs\u002F5.api\u002F36.encoding\u002F3.functions\u002Fbase58",{"title":3619,"path":3620,"stem":3621},"Base64","\u002Fdocs\u002Fapi\u002Fencoding\u002Fbase64","docs\u002F5.api\u002F36.encoding\u002F3.functions\u002Fbase64",{"title":3623,"path":3624,"stem":3625},"Hexadecimal","\u002Fdocs\u002Fapi\u002Fencoding\u002Fhex","docs\u002F5.api\u002F36.encoding\u002F3.functions\u002Fhex",{"title":3627,"path":3628,"stem":3629},"Percent-encoding","\u002Fdocs\u002Fapi\u002Fencoding\u002Fpercent","docs\u002F5.api\u002F36.encoding\u002F3.functions\u002Fpercent",{"title":3631,"path":3632,"stem":3633,"children":3634,"icon":3647},"Url","\u002Fdocs\u002Fapi\u002Furl","docs\u002F5.api\u002F37.url\u002F0.index",[3635,3636,3639,3643],{"title":49,"path":3632,"stem":3633},{"title":447,"path":3637,"stem":3638},"\u002Fdocs\u002Fapi\u002Furl\u002Ferror","docs\u002F5.api\u002F37.url\u002F2.types\u002Ferror",{"title":3640,"path":3641,"stem":3642},"Query strings","\u002Fdocs\u002Fapi\u002Furl\u002Fquery","docs\u002F5.api\u002F37.url\u002F2.types\u002Fquery",{"title":3644,"path":3645,"stem":3646},"URLs","\u002Fdocs\u002Fapi\u002Furl\u002Furl","docs\u002F5.api\u002F37.url\u002F2.types\u002Furl","i-lucide-link",{"title":3649,"path":3650,"stem":3651,"children":3652,"icon":3670},"Compress","\u002Fdocs\u002Fapi\u002Fcompress","docs\u002F5.api\u002F38.compress\u002F0.index",[3653,3654,3658,3662,3666],{"title":49,"path":3650,"stem":3651},{"title":3655,"path":3656,"stem":3657},"Compressing","\u002Fdocs\u002Fapi\u002Fcompress\u002Fdeflate","docs\u002F5.api\u002F38.compress\u002F2.types\u002Fdeflate",{"title":3659,"path":3660,"stem":3661},"Formats and levels","\u002Fdocs\u002Fapi\u002Fcompress\u002Fformat","docs\u002F5.api\u002F38.compress\u002F2.types\u002Fformat",{"title":3663,"path":3664,"stem":3665},"Decompressing","\u002Fdocs\u002Fapi\u002Fcompress\u002Finflate","docs\u002F5.api\u002F38.compress\u002F2.types\u002Finflate",{"title":3667,"path":3668,"stem":3669},"Whole buffers","\u002Fdocs\u002Fapi\u002Fcompress\u002Fbuffers","docs\u002F5.api\u002F38.compress\u002F3.functions\u002Fbuffers","i-lucide-file-archive",{"title":3672,"path":3673,"stem":3674,"children":3675,"icon":2628},"NanoId","\u002Fdocs\u002Fapi\u002Fnanoid","docs\u002F5.api\u002F39.nanoid\u002F0.index",[3676,3677,3680,3684,3688],{"title":49,"path":3673,"stem":3674},{"title":3672,"path":3678,"stem":3679},"\u002Fdocs\u002Fapi\u002Fnanoid\u002Fnano-id","docs\u002F5.api\u002F39.nanoid\u002F2.types\u002Fnano-id",{"title":3681,"path":3682,"stem":3683},"NanoIdError","\u002Fdocs\u002Fapi\u002Fnanoid\u002Fnano-id-error","docs\u002F5.api\u002F39.nanoid\u002F2.types\u002Fnano-id-error",{"title":3685,"path":3686,"stem":3687},"Generating","\u002Fdocs\u002Fapi\u002Fnanoid\u002Fgenerate","docs\u002F5.api\u002F39.nanoid\u002F3.functions\u002Fgenerate",{"title":3689,"path":3690,"stem":3691},"Alphabets","\u002Fdocs\u002Fapi\u002Fnanoid\u002Falphabet","docs\u002F5.api\u002F39.nanoid\u002F4.constants\u002Falphabet",{"title":3693,"path":3694,"stem":3695},"Download","\u002Fdownload","download",{"title":3697,"path":3698,"stem":3699},"Frequently Asked Questions","\u002Ffaq","faq",{"title":3701,"path":3702,"stem":3703},"Privacy Policy","\u002Fprivacy","privacy",{"title":3705,"path":3706,"stem":3707},"Security Policy","\u002Fsecurity","security",{"title":3709,"path":3710,"stem":3711},"Support","\u002Fsupport","support",{"title":3713,"path":3714,"stem":3715},"Terms of Use","\u002Fterms","terms",{"id":3717,"title":3718,"api":3719,"authors":3719,"body":3720,"category":3719,"date":3719,"description":6335,"extension":6336,"hideToc":29,"image":3719,"lesson":6337,"meta":6345,"navigation":6346,"path":1148,"seo":6347,"stem":1149,"__hash__":6348},"docs\u002Fdocs\u002F1.learn\u002F22.packages\u002F11.unit-test.md","Unit tests",null,{"type":3721,"value":3722,"toc":6325},"minimark",[3723,3727,3755,3772,3787,3834,3839,3858,4033,4036,4170,4176,4221,4225,4255,4287,4307,4332,4336,4353,4414,4432,4440,4446,4450,4460,6075,6079,6102,6108,6121,6125,6159,6183,6204,6220,6224,6274,6278,6321],[3724,3725,3718],"h1",{"id":3726},"unit-tests",[3728,3729,3730],"note",{},[3731,3732,3733,3737,3738,3742,3743,3742,3746,3742,3749,3742,3752],"p",{},[3734,3735,3736],"strong",{},"You'll need",": ",[3739,3740,3741],"a",{"href":1128},"Source library",", ",[3739,3744,3745],{"href":1144},"Tooling",[3739,3747,3748],{"href":1108},"Module",[3739,3750,3751],{"href":428},"Presence",[3739,3753,3754],{"href":483},"Propagate",[3731,3756,3757,3759,3760,3764,3765,3767,3768,3771],{},[3739,3758,3745],{"href":1144}," tested a library from the outside: a separate package under ",[3761,3762,3763],"code",{},"Tests\u002F"," whose ",[3761,3766,1553],{}," called ",[3761,3769,3770],{},"Assert",", and stopped at the first check that failed. That works, but each test is a whole program, and the first failure hides every check after it.",[3731,3773,3774,3775,3778,3779,3782,3783,3786],{},"A ",[3734,3776,3777],{},"unit test"," is smaller: one function that calls your code with input whose answer you know, and checks that the answer comes back. Rux marks such a function with ",[3761,3780,3781],{},"#Test()",", and ",[3761,3784,3785],{},"rux test"," finds every one, runs them all, and reports each by name. This lesson tests three small temperature functions — a conversion, a parser and a description:",[3788,3789,3794],"pre",{"className":3790,"code":3791,"language":3792,"meta":3793,"style":3793},"language-rux shiki shiki-themes catppuccin-latte catppuccin-latte catppuccin-mocha","import Test::{ ExpectNear, ExpectText, TestFailure };\n","rux","",[3761,3795,3796],{"__ignoreMap":3793},[3797,3798,3801,3805,3809,3813,3817,3820,3823,3826,3828,3831],"span",{"class":3799,"line":3800},"line",1,[3797,3802,3804],{"class":3803},"smXKV","import",[3797,3806,3808],{"class":3807},"sJT_S"," Test",[3797,3810,3812],{"class":3811},"sCFbw","::",[3797,3814,3816],{"class":3815},"sDi1i","{",[3797,3818,3819],{"class":3807}," ExpectNear",[3797,3821,3822],{"class":3815},",",[3797,3824,3825],{"class":3807}," ExpectText",[3797,3827,3822],{"class":3815},[3797,3829,3830],{"class":3807}," TestFailure ",[3797,3832,3833],{"class":3815},"};\n",[3835,3836,3838],"h2",{"id":3837},"a-test-is-a-function","A test is a function",[3731,3840,3841,3842,3845,3846,3848,3849,3851,3852,3857],{},"A test takes nothing and returns ",[3761,3843,3844],{},"! TestFailure",". Every check of the ",[3761,3847,3519],{}," package returns ",[3761,3850,3844],{}," as well, so a test hands a failed check on with ",[3739,3853,3854],{"href":483},[3761,3855,3856],{},"?",", and stops there:",[3788,3859,3861],{"className":3790,"code":3860,"language":3792,"meta":3793,"style":3793},"#Test()\nfunc FixedPoints() -> ! TestFailure {\n    ExpectNear(ToFahrenheit(0.0), 32.0, 0.000001)?;\n    ExpectNear(ToFahrenheit(100.0), 212.0, 0.000001)?;\n    ExpectNear(ToFahrenheit(-40.0), -40.0, 0.000001)?;\n}\n",[3761,3862,3863,3870,3889,3940,3981,4027],{"__ignoreMap":3793},[3797,3864,3865,3867],{"class":3799,"line":3800},[3797,3866,1862],{"class":3807},[3797,3868,3869],{"class":3815},"()\n",[3797,3871,3873,3876,3880,3883,3886],{"class":3799,"line":3872},2,[3797,3874,3875],{"class":3803},"func",[3797,3877,3879],{"class":3878},"sptzg"," FixedPoints",[3797,3881,3882],{"class":3815},"()",[3797,3884,3885],{"class":3807}," -> ! TestFailure ",[3797,3887,3888],{"class":3815},"{\n",[3797,3890,3892,3895,3898,3901,3903,3907,3910,3912,3915,3918,3920,3922,3924,3927,3929,3932,3935,3937],{"class":3799,"line":3891},3,[3797,3893,3894],{"class":3807},"    ExpectNear",[3797,3896,3897],{"class":3815},"(",[3797,3899,3900],{"class":3807},"ToFahrenheit",[3797,3902,3897],{"class":3815},[3797,3904,3906],{"class":3905},"snhBn","0",[3797,3908,3909],{"class":3815},".",[3797,3911,3906],{"class":3905},[3797,3913,3914],{"class":3815},"),",[3797,3916,3917],{"class":3905}," 32",[3797,3919,3909],{"class":3815},[3797,3921,3906],{"class":3905},[3797,3923,3822],{"class":3815},[3797,3925,3926],{"class":3905}," 0",[3797,3928,3909],{"class":3815},[3797,3930,3931],{"class":3905},"000001",[3797,3933,3934],{"class":3815},")",[3797,3936,3856],{"class":3811},[3797,3938,3939],{"class":3815},";\n",[3797,3941,3943,3945,3947,3949,3951,3954,3956,3958,3960,3963,3965,3967,3969,3971,3973,3975,3977,3979],{"class":3799,"line":3942},4,[3797,3944,3894],{"class":3807},[3797,3946,3897],{"class":3815},[3797,3948,3900],{"class":3807},[3797,3950,3897],{"class":3815},[3797,3952,3953],{"class":3905},"100",[3797,3955,3909],{"class":3815},[3797,3957,3906],{"class":3905},[3797,3959,3914],{"class":3815},[3797,3961,3962],{"class":3905}," 212",[3797,3964,3909],{"class":3815},[3797,3966,3906],{"class":3905},[3797,3968,3822],{"class":3815},[3797,3970,3926],{"class":3905},[3797,3972,3909],{"class":3815},[3797,3974,3931],{"class":3905},[3797,3976,3934],{"class":3815},[3797,3978,3856],{"class":3811},[3797,3980,3939],{"class":3815},[3797,3982,3984,3986,3988,3990,3992,3995,3998,4000,4002,4004,4007,4009,4011,4013,4015,4017,4019,4021,4023,4025],{"class":3799,"line":3983},5,[3797,3985,3894],{"class":3807},[3797,3987,3897],{"class":3815},[3797,3989,3900],{"class":3807},[3797,3991,3897],{"class":3815},[3797,3993,3994],{"class":3811},"-",[3797,3996,3997],{"class":3905},"40",[3797,3999,3909],{"class":3815},[3797,4001,3906],{"class":3905},[3797,4003,3914],{"class":3815},[3797,4005,4006],{"class":3811}," -",[3797,4008,3997],{"class":3905},[3797,4010,3909],{"class":3815},[3797,4012,3906],{"class":3905},[3797,4014,3822],{"class":3815},[3797,4016,3926],{"class":3905},[3797,4018,3909],{"class":3815},[3797,4020,3931],{"class":3905},[3797,4022,3934],{"class":3815},[3797,4024,3856],{"class":3811},[3797,4026,3939],{"class":3815},[3797,4028,4030],{"class":3799,"line":4029},6,[3797,4031,4032],{"class":3815},"}\n",[3731,4034,4035],{},"A test passes when it returns, and fails when a check fails. A failed check ends only its own test; the others still run.",[4037,4038,4039,4055],"table",{},[4040,4041,4042],"thead",{},[4043,4044,4045,4049,4052],"tr",{},[4046,4047,4048],"th",{},"Check",[4046,4050,4051],{},"Passes when",[4046,4053,4054],{},"Its failure says",[4056,4057,4058,4072,4087,4102,4117,4130,4142,4154],"tbody",{},[4043,4059,4060,4066,4069],{},[4061,4062,4063],"td",{},[3761,4064,4065],{},"Expect(condition, message)",[4061,4067,4068],{},"the condition holds",[4061,4070,4071],{},"the message",[4043,4073,4074,4079,4082],{},[4061,4075,4076],{},[3761,4077,4078],{},"ExpectEqual(actual, expected)",[4061,4080,4081],{},"the two are equal",[4061,4083,4084],{},[3761,4085,4086],{},"expected 2, but got 1",[4043,4088,4089,4094,4097],{},[4061,4090,4091],{},[3761,4092,4093],{},"ExpectNotEqual(actual, unexpected)",[4061,4095,4096],{},"they differ",[4061,4098,4099],{},[3761,4100,4101],{},"expected anything but 5",[4043,4103,4104,4109,4112],{},[4061,4105,4106],{},[3761,4107,4108],{},"ExpectNear(actual, expected, tolerance)",[4061,4110,4111],{},"two floats are within a tolerance",[4061,4113,4114],{},[3761,4115,4116],{},"expected 2.0 within 0.5, but got 1.0",[4043,4118,4119,4124,4127],{},[4061,4120,4121],{},[3761,4122,4123],{},"ExpectText(actual, expected)",[4061,4125,4126],{},"two texts are equal",[4061,4128,4129],{},"the byte where they part, and both texts",[4043,4131,4132,4137,4140],{},[4061,4133,4134],{},[3761,4135,4136],{},"ExpectSome(optional, message)",[4061,4138,4139],{},"there is a value — and returns it",[4061,4141,4071],{},[4043,4143,4144,4149,4152],{},[4061,4145,4146],{},[3761,4147,4148],{},"ExpectNone(optional, message)",[4061,4150,4151],{},"there is none",[4061,4153,4071],{},[4043,4155,4156,4165,4168],{},[4061,4157,4158,4161,4162],{},[3761,4159,4160],{},"ExpectSuccess"," \u002F ",[3761,4163,4164],{},"ExpectFailure",[4061,4166,4167],{},"an outcome succeeded \u002F failed",[4061,4169,4071],{},[3731,4171,4172,4175],{},[3761,4173,4174],{},"ExpectSome"," is the one to notice: it does not just check, it hands back the value inside, so a second check can look at it:",[3788,4177,4179],{"className":3790,"code":4178,"language":3792,"meta":3793,"style":3793},"ExpectEqual(ExpectSome(ParseDegrees(\"21\"), \"21 is a temperature\")?, 21)?;\n",[3761,4180,4181],{"__ignoreMap":3793},[3797,4182,4183,4186,4188,4190,4192,4195,4197,4201,4203,4206,4208,4210,4212,4215,4217,4219],{"class":3799,"line":3800},[3797,4184,4185],{"class":3807},"ExpectEqual",[3797,4187,3897],{"class":3815},[3797,4189,4174],{"class":3807},[3797,4191,3897],{"class":3815},[3797,4193,4194],{"class":3807},"ParseDegrees",[3797,4196,3897],{"class":3815},[3797,4198,4200],{"class":4199},"sXpww","\"21\"",[3797,4202,3914],{"class":3815},[3797,4204,4205],{"class":4199}," \"21 is a temperature\"",[3797,4207,3934],{"class":3815},[3797,4209,3856],{"class":3811},[3797,4211,3822],{"class":3815},[3797,4213,4214],{"class":3905}," 21",[3797,4216,3934],{"class":3815},[3797,4218,3856],{"class":3811},[3797,4220,3939],{"class":3815},[3835,4222,4224],{"id":4223},"where-tests-live","Where tests live",[3731,4226,4227,4228,4231,4232,4235,4236,4238,4239,4241,4242,4244,4245,4247,4248,4251,4252,4254],{},"Tests sit ",[3734,4229,4230],{},"beside the code they test",", in the same package and here in the same file, so they can call functions that are not ",[3761,4233,4234],{},"pub"," too. When ",[3761,4237,3785],{}," builds a package in test mode, it generates a ",[3761,4240,1553],{}," that runs every ",[3761,4243,3781],{}," function. So the package must not have a ",[3761,4246,1553],{}," of its own — which is why this lesson's package is a ",[3739,4249,4250],{"href":1128},"source library",". An application keeps its ",[3761,4253,1553],{}," in an executable and its tested code in a library it depends on.",[3788,4256,4260],{"className":4257,"code":4258,"language":4259,"meta":3793,"style":3793},"language-mermaid shiki shiki-themes catppuccin-latte catppuccin-latte catppuccin-mocha","flowchart LR\n    t[\"`rux test`\"] --> b[\"test build:\u003Cbr\u002F>a generated `Main`\"]\n    b --> r[\"runs every\u003Cbr\u002F>`#Test()` function\"]\n    r --> ok[\"all passed:\u003Cbr\u002F>one line\"]\n    r --> bad[\"a check failed:\u003Cbr\u002F>the full report\"]\n","mermaid",[3761,4261,4262,4267,4272,4277,4282],{"__ignoreMap":3793},[3797,4263,4264],{"class":3799,"line":3800},[3797,4265,4266],{},"flowchart LR\n",[3797,4268,4269],{"class":3799,"line":3872},[3797,4270,4271],{},"    t[\"`rux test`\"] --> b[\"test build:\u003Cbr\u002F>a generated `Main`\"]\n",[3797,4273,4274],{"class":3799,"line":3891},[3797,4275,4276],{},"    b --> r[\"runs every\u003Cbr\u002F>`#Test()` function\"]\n",[3797,4278,4279],{"class":3799,"line":3942},[3797,4280,4281],{},"    r --> ok[\"all passed:\u003Cbr\u002F>one line\"]\n",[3797,4283,4284],{"class":3799,"line":3983},[3797,4285,4286],{},"    r --> bad[\"a check failed:\u003Cbr\u002F>the full report\"]\n",[3731,4288,4289,4290,4292,4293,4295,4296,4298,4299,4302,4303,4306],{},"The generated ",[3761,4291,1553],{}," calls the ",[3761,4294,3519],{}," package's runner, so the package lists ",[3761,4297,3519],{}," under ",[3761,4300,4301],{},"[Dependencies]",", as its ",[3761,4304,4305],{},"Rux.toml"," shows.",[3731,4308,4309,4310,4313,4314,3742,4317,4320,4321,4324,4325,4327,4328,4331],{},"A test inside a ",[3761,4311,4312],{},"module"," is named after it, so the three parser tests are ",[3761,4315,4316],{},"Parse::Positive",[3761,4318,4319],{},"Parse::Negative"," and ",[3761,4322,4323],{},"Parse::Rejects",". A module imports for itself, which is why ",[3761,4326,2936],{}," has its own ",[3761,4329,4330],{},"import Test::…"," line.",[3835,4333,4335],{"id":4334},"running-them","Running them",[3731,4337,4338,4340,4341,4344,4345,4348,4349,4352],{},[3761,4339,3785],{}," runs every test. Arguments after ",[3761,4342,4343],{},"--"," go to the runner: a plain word is a filter that a test's name must contain, ",[3761,4346,4347],{},"--exact"," makes it match the whole name, and ",[3761,4350,4351],{},"--skip"," leaves matching tests out:",[4037,4354,4355,4365],{},[4040,4356,4357],{},[4043,4358,4359,4362],{},[4046,4360,4361],{},"Command",[4046,4363,4364],{},"Runs",[4056,4366,4367,4376,4391,4401],{},[4043,4368,4369,4373],{},[4061,4370,4371],{},[3761,4372,3785],{},[4061,4374,4375],{},"all five tests",[4043,4377,4378,4383],{},[4061,4379,4380],{},[3761,4381,4382],{},"rux test -- Parse",[4061,4384,4385,3742,4387,3742,4389],{},[3761,4386,4316],{},[3761,4388,4319],{},[3761,4390,4323],{},[4043,4392,4393,4398],{},[4061,4394,4395],{},[3761,4396,4397],{},"rux test -- --exact Parse::Negative",[4061,4399,4400],{},"that one test",[4043,4402,4403,4408],{},[4061,4404,4405],{},[3761,4406,4407],{},"rux test -- --skip Words",[4061,4409,4410,4411],{},"every test but ",[3761,4412,4413],{},"Words",[3731,4415,4416,4417,4419,4420,4423,4424,4427,4428,4431],{},"When every test passes, ",[3761,4418,3785],{}," reports the package in one line. The report worth reading comes when something breaks. Change ",[3761,4421,4422],{},"Describe","'s ",[3761,4425,4426],{},"celsius \u003C 15"," to ",[3761,4429,4430],{},"celsius \u003C= 15"," — an easy slip at a boundary — and run the tests again:",[3788,4433,4438],{"className":4434,"code":4436,"language":4437,"meta":3793},[4435],"language-text","Testing UnitTest v0.1.0 (Debug, Windows x86-64)\nRunning 1 test\nFailed UnitTest in 444 ms\n  note: test 'UnitTest' exited with code 1\n  Output:\n    running 5 of 5 tests\n    test FixedPoints ... ok (0.014 ms)\n    test Words ... FAILED\n      texts differ at byte 0 (expected 4 bytes, got 4)\n      expected \"mild\"\n      but got  \"cold\"\n    test Parse::Positive ... ok (0.014 ms)\n    test Parse::Negative ... ok (0.005 ms)\n    test Parse::Rejects ... ok (0.01 ms)\n\n    failed:\n      Words\n\n    result: FAILED. 4 passed, 1 failed, 0 skipped, 0 filtered out; finished in 0.397 ms\nFailed 1 test in 451 ms (0 passed, 1 failed)\n","text",[3761,4439,4436],{"__ignoreMap":3793},[3731,4441,4442,4443,4445],{},"The failed check names what it expected and what it got, and the other four tests still ran. ",[3761,4444,4382],{}," passes at this point, because the broken function is not among the tests it chose.",[3835,4447,4449],{"id":4448},"the-program","The program",[3731,4451,4452,4453,4459],{},"The whole lesson is one package in the ",[3739,4454,4458],{"href":4455,"rel":4456},"https:\u002F\u002Fgithub.com\u002Frux-lang\u002FExamples\u002Ftree\u002Fmain\u002FPackages\u002FUnitTest",[4457],"nofollow","Examples repository",". Its comments explain every step.",[4461,4462,4464,4622],"code-tree",{"default-value":4463},"Src\u002FTemperature.rux",[3788,4465,4469],{"className":4466,"code":4467,"filename":4305,"language":4468,"meta":3793,"style":3793},"language-toml shiki shiki-themes catppuccin-latte catppuccin-latte catppuccin-mocha","[Manifest]\nVersion = 1\nMinRux = \"0.4.0\"\n\n[Package]\nName = \"UnitTest\"\nVersion = \"0.1.0\"\nType = \"SourceLibrary\"\nDescription = \"Write `#Test()` functions with `Expect` checks and run them with `rux test`\"\nAuthors = [\"Rux Contributors \u003Cinfo@rux-lang.dev>\"]\n\n[Dependencies]\nTest = { Namespace = \"Rux\", Version = \"*\" }\n","toml",[3761,4470,4471,4482,4493,4503,4509,4518,4528,4538,4549,4560,4576,4581,4590],{"__ignoreMap":3793},[3797,4472,4473,4476,4479],{"class":3799,"line":3800},[3797,4474,4475],{"class":3815},"[",[3797,4477,4478],{"class":3807},"Manifest",[3797,4480,4481],{"class":3815},"]\n",[3797,4483,4484,4487,4490],{"class":3799,"line":3872},[3797,4485,4486],{"class":3807},"Version ",[3797,4488,4489],{"class":3811},"=",[3797,4491,4492],{"class":3905}," 1\n",[3797,4494,4495,4498,4500],{"class":3799,"line":3891},[3797,4496,4497],{"class":3807},"MinRux ",[3797,4499,4489],{"class":3811},[3797,4501,4502],{"class":4199}," \"0.4.0\"\n",[3797,4504,4505],{"class":3799,"line":3942},[3797,4506,4508],{"emptyLinePlaceholder":4507},true,"\n",[3797,4510,4511,4513,4516],{"class":3799,"line":3983},[3797,4512,4475],{"class":3815},[3797,4514,4515],{"class":3807},"Package",[3797,4517,4481],{"class":3815},[3797,4519,4520,4523,4525],{"class":3799,"line":4029},[3797,4521,4522],{"class":3807},"Name ",[3797,4524,4489],{"class":3811},[3797,4526,4527],{"class":4199}," \"UnitTest\"\n",[3797,4529,4531,4533,4535],{"class":3799,"line":4530},7,[3797,4532,4486],{"class":3807},[3797,4534,4489],{"class":3811},[3797,4536,4537],{"class":4199}," \"0.1.0\"\n",[3797,4539,4541,4544,4546],{"class":3799,"line":4540},8,[3797,4542,4543],{"class":3807},"Type ",[3797,4545,4489],{"class":3811},[3797,4547,4548],{"class":4199}," \"SourceLibrary\"\n",[3797,4550,4552,4555,4557],{"class":3799,"line":4551},9,[3797,4553,4554],{"class":3807},"Description ",[3797,4556,4489],{"class":3811},[3797,4558,4559],{"class":4199}," \"Write `#Test()` functions with `Expect` checks and run them with `rux test`\"\n",[3797,4561,4563,4566,4568,4571,4574],{"class":3799,"line":4562},10,[3797,4564,4565],{"class":3807},"Authors ",[3797,4567,4489],{"class":3811},[3797,4569,4570],{"class":3815}," [",[3797,4572,4573],{"class":4199},"\"Rux Contributors \u003Cinfo@rux-lang.dev>\"",[3797,4575,4481],{"class":3815},[3797,4577,4579],{"class":3799,"line":4578},11,[3797,4580,4508],{"emptyLinePlaceholder":4507},[3797,4582,4584,4586,4588],{"class":3799,"line":4583},12,[3797,4585,4475],{"class":3815},[3797,4587,2035],{"class":3807},[3797,4589,4481],{"class":3815},[3797,4591,4593,4596,4598,4601,4604,4606,4609,4611,4614,4616,4619],{"class":3799,"line":4592},13,[3797,4594,4595],{"class":3807},"Test ",[3797,4597,4489],{"class":3811},[3797,4599,4600],{"class":3815}," {",[3797,4602,4603],{"class":3807}," Namespace ",[3797,4605,4489],{"class":3811},[3797,4607,4608],{"class":4199}," \"Rux\"",[3797,4610,3822],{"class":3815},[3797,4612,4613],{"class":3807}," Version ",[3797,4615,4489],{"class":3811},[3797,4617,4618],{"class":4199}," \"*\"",[3797,4620,4621],{"class":3815}," }\n",[3788,4623,4625],{"className":3790,"code":4624,"filename":4463,"language":3792,"meta":3793,"style":3793},"\u002F\u002F A unit test calls a small piece of your code with input whose answer you know, and checks that\n\u002F\u002F the answer comes back. Run them after every change, and a change that breaks something says so\n\u002F\u002F at once, naming the check that failed.\n\u002F\u002F\n\u002F\u002F In Rux a test is a function marked `#Test()` that takes nothing and returns `! TestFailure`.\n\u002F\u002F The checks of the `Test` package, `ExpectEqual`, `ExpectText`, `ExpectNear` and the rest, each\n\u002F\u002F return `! TestFailure` too, so a test hands a failed check on with `?` and stops there.\n\u002F\u002F\n\u002F\u002F `rux test` builds the package in test mode, generates a `Main` that runs every `#Test()`\n\u002F\u002F function, and runs it. That is why this package is a library: an executable has a `Main` of\n\u002F\u002F its own and cannot hold tests. The tests sit beside the code, in the same file, so they can call\n\u002F\u002F functions that are not `pub` as well. Run them with\n\u002F\u002F\n\u002F\u002F     rux test                 every test\n\u002F\u002F     rux test -- Parse        only the tests whose names contain \"Parse\"\n\u002F\u002F\n\u002F\u002F A package with tests must depend on `Test`, whose runner the generated `Main` calls; without it:\n\u002F\u002F\n\u002F\u002F     error: package 'UnitTest' has '#Test()' functions but does not depend on 'Test'\nimport Test::{ ExpectNear, ExpectText, TestFailure };\n\n\u002F\u002F\u002F Converts degrees Celsius to degrees Fahrenheit.\n\u002F\u002F\u002F @param celsius the temperature in degrees Celsius\n\u002F\u002F\u002F @returns the same temperature in degrees Fahrenheit\npub func ToFahrenheit(celsius: float64) -> float64 {\n    return celsius * 9.0 \u002F 5.0 + 32.0;\n}\n\n\u002F\u002F\u002F Reads a whole number of degrees with an optional minus sign, such as `21` or `-5`.\n\u002F\u002F\u002F @param text the text to read\n\u002F\u002F\u002F @returns the degrees, or none for anything else, or for more than three digits\npub func ParseDegrees(text: char8[..]) -> int32? {\n    let negative = text.length > 0 && text[0] == '-';\n    let start: uint = negative ? 1 : 0;\n    if text.length == start || text.length - start > 3 { return none; }\n    var value: int32 = 0;\n    for i in start..text.length {\n        let c = text[i];\n        if c \u003C '0' || c > '9' { return none; }\n        value = value * 10 + (c as int32 - 48);\n    }\n    return negative ? -value : value;\n}\n\n\u002F\u002F\u002F One word for how a temperature feels.\n\u002F\u002F\u002F @param celsius the temperature in degrees Celsius\n\u002F\u002F\u002F @returns `freezing`, `cold`, `mild` or `hot`\npub func Describe(celsius: int32) -> char8[..] {\n    if celsius \u003C= 0 { return \"freezing\"; }\n    if celsius \u003C 15 { return \"cold\"; }\n    if celsius \u003C 25 { return \"mild\"; }\n    return \"hot\";\n}\n\n\u002F\u002F Floating-point arithmetic rounds, so two floats are compared within a tolerance, never with\n\u002F\u002F `==`. These three points are the ones everybody knows.\n#Test()\nfunc FixedPoints() -> ! TestFailure {\n    ExpectNear(ToFahrenheit(0.0), 32.0, 0.000001)?;\n    ExpectNear(ToFahrenheit(100.0), 212.0, 0.000001)?;\n    ExpectNear(ToFahrenheit(-40.0), -40.0, 0.000001)?;\n}\n\n\u002F\u002F Boundaries are where mistakes hide, so test each side of each one. A failed `ExpectText` shows\n\u002F\u002F both texts and the byte where they part.\n#Test()\nfunc Words() -> ! TestFailure {\n    ExpectText(Describe(0), \"freezing\")?;\n    ExpectText(Describe(1), \"cold\")?;\n    ExpectText(Describe(14), \"cold\")?;\n    ExpectText(Describe(15), \"mild\")?;\n    ExpectText(Describe(24), \"mild\")?;\n    ExpectText(Describe(25), \"hot\")?;\n}\n\n\u002F\u002F Tests in a module are named after it: `Parse::Positive`, `Parse::Negative`, `Parse::Rejects`.\n\u002F\u002F So `rux test -- Parse` runs just these three. A module imports for itself.\nmodule Parse {\n    import Test::{ ExpectEqual, ExpectNone, ExpectSome, TestFailure };\n\n    \u002F\u002F `ExpectSome` fails with its message when the optional is empty, and otherwise hands back\n    \u002F\u002F the value inside for the next check.\n    #Test()\n    func Positive() -> ! TestFailure {\n        ExpectEqual(ExpectSome(ParseDegrees(\"21\"), \"21 is a temperature\")?, 21)?;\n        ExpectEqual(ExpectSome(ParseDegrees(\"0\"), \"0 is a temperature\")?, 0)?;\n    }\n\n    #Test()\n    func Negative() -> ! TestFailure {\n        ExpectEqual(ExpectSome(ParseDegrees(\"-5\"), \"-5 is a temperature\")?, -5)?;\n    }\n\n    \u002F\u002F What a function refuses matters as much as what it accepts.\n    #Test()\n    func Rejects() -> ! TestFailure {\n        ExpectNone(ParseDegrees(\"\"), \"empty text\")?;\n        ExpectNone(ParseDegrees(\"-\"), \"a sign alone\")?;\n        ExpectNone(ParseDegrees(\"12C\"), \"a unit after the digits\")?;\n        ExpectNone(ParseDegrees(\"1000\"), \"four digits\")?;\n    }\n}\n",[3761,4626,4627,4633,4638,4643,4648,4653,4658,4663,4667,4672,4677,4682,4687,4691,4697,4703,4708,4714,4719,4725,4748,4753,4759,4765,4771,4805,4845,4850,4855,4861,4867,4873,4907,4951,4982,5031,5050,5075,5096,5130,5167,5173,5193,5198,5203,5209,5214,5220,5251,5274,5297,5320,5330,5335,5340,5346,5352,5359,5372,5411,5450,5493,5498,5503,5509,5515,5522,5536,5560,5584,5608,5632,5656,5680,5685,5690,5696,5702,5712,5743,5748,5754,5760,5768,5783,5819,5856,5861,5866,5873,5887,5927,5932,5937,5943,5950,5964,5990,6015,6040,6065,6070],{"__ignoreMap":3793},[3797,4628,4629],{"class":3799,"line":3800},[3797,4630,4632],{"class":4631},"sY9YT","\u002F\u002F A unit test calls a small piece of your code with input whose answer you know, and checks that\n",[3797,4634,4635],{"class":3799,"line":3872},[3797,4636,4637],{"class":4631},"\u002F\u002F the answer comes back. Run them after every change, and a change that breaks something says so\n",[3797,4639,4640],{"class":3799,"line":3891},[3797,4641,4642],{"class":4631},"\u002F\u002F at once, naming the check that failed.\n",[3797,4644,4645],{"class":3799,"line":3942},[3797,4646,4647],{"class":4631},"\u002F\u002F\n",[3797,4649,4650],{"class":3799,"line":3983},[3797,4651,4652],{"class":4631},"\u002F\u002F In Rux a test is a function marked `#Test()` that takes nothing and returns `! TestFailure`.\n",[3797,4654,4655],{"class":3799,"line":4029},[3797,4656,4657],{"class":4631},"\u002F\u002F The checks of the `Test` package, `ExpectEqual`, `ExpectText`, `ExpectNear` and the rest, each\n",[3797,4659,4660],{"class":3799,"line":4530},[3797,4661,4662],{"class":4631},"\u002F\u002F return `! TestFailure` too, so a test hands a failed check on with `?` and stops there.\n",[3797,4664,4665],{"class":3799,"line":4540},[3797,4666,4647],{"class":4631},[3797,4668,4669],{"class":3799,"line":4551},[3797,4670,4671],{"class":4631},"\u002F\u002F `rux test` builds the package in test mode, generates a `Main` that runs every `#Test()`\n",[3797,4673,4674],{"class":3799,"line":4562},[3797,4675,4676],{"class":4631},"\u002F\u002F function, and runs it. That is why this package is a library: an executable has a `Main` of\n",[3797,4678,4679],{"class":3799,"line":4578},[3797,4680,4681],{"class":4631},"\u002F\u002F its own and cannot hold tests. The tests sit beside the code, in the same file, so they can call\n",[3797,4683,4684],{"class":3799,"line":4583},[3797,4685,4686],{"class":4631},"\u002F\u002F functions that are not `pub` as well. Run them with\n",[3797,4688,4689],{"class":3799,"line":4592},[3797,4690,4647],{"class":4631},[3797,4692,4694],{"class":3799,"line":4693},14,[3797,4695,4696],{"class":4631},"\u002F\u002F     rux test                 every test\n",[3797,4698,4700],{"class":3799,"line":4699},15,[3797,4701,4702],{"class":4631},"\u002F\u002F     rux test -- Parse        only the tests whose names contain \"Parse\"\n",[3797,4704,4706],{"class":3799,"line":4705},16,[3797,4707,4647],{"class":4631},[3797,4709,4711],{"class":3799,"line":4710},17,[3797,4712,4713],{"class":4631},"\u002F\u002F A package with tests must depend on `Test`, whose runner the generated `Main` calls; without it:\n",[3797,4715,4717],{"class":3799,"line":4716},18,[3797,4718,4647],{"class":4631},[3797,4720,4722],{"class":3799,"line":4721},19,[3797,4723,4724],{"class":4631},"\u002F\u002F     error: package 'UnitTest' has '#Test()' functions but does not depend on 'Test'\n",[3797,4726,4728,4730,4732,4734,4736,4738,4740,4742,4744,4746],{"class":3799,"line":4727},20,[3797,4729,3804],{"class":3803},[3797,4731,3808],{"class":3807},[3797,4733,3812],{"class":3811},[3797,4735,3816],{"class":3815},[3797,4737,3819],{"class":3807},[3797,4739,3822],{"class":3815},[3797,4741,3825],{"class":3807},[3797,4743,3822],{"class":3815},[3797,4745,3830],{"class":3807},[3797,4747,3833],{"class":3815},[3797,4749,4751],{"class":3799,"line":4750},21,[3797,4752,4508],{"emptyLinePlaceholder":4507},[3797,4754,4756],{"class":3799,"line":4755},22,[3797,4757,4758],{"class":4631},"\u002F\u002F\u002F Converts degrees Celsius to degrees Fahrenheit.\n",[3797,4760,4762],{"class":3799,"line":4761},23,[3797,4763,4764],{"class":4631},"\u002F\u002F\u002F @param celsius the temperature in degrees Celsius\n",[3797,4766,4768],{"class":3799,"line":4767},24,[3797,4769,4770],{"class":4631},"\u002F\u002F\u002F @returns the same temperature in degrees Fahrenheit\n",[3797,4772,4774,4776,4779,4782,4784,4788,4790,4794,4796,4799,4802],{"class":3799,"line":4773},25,[3797,4775,4234],{"class":3803},[3797,4777,4778],{"class":3803}," func",[3797,4780,4781],{"class":3878}," ToFahrenheit",[3797,4783,3897],{"class":3815},[3797,4785,4787],{"class":4786},"sYR1E","celsius",[3797,4789,3737],{"class":3815},[3797,4791,4793],{"class":4792},"sqZDx","float64",[3797,4795,3934],{"class":3815},[3797,4797,4798],{"class":3815}," ->",[3797,4800,4801],{"class":3803}," float64",[3797,4803,4804],{"class":3815}," {\n",[3797,4806,4808,4811,4814,4817,4820,4822,4824,4827,4830,4832,4834,4837,4839,4841,4843],{"class":3799,"line":4807},26,[3797,4809,4810],{"class":3803},"    return",[3797,4812,4813],{"class":3807}," celsius ",[3797,4815,4816],{"class":3811},"*",[3797,4818,4819],{"class":3905}," 9",[3797,4821,3909],{"class":3815},[3797,4823,3906],{"class":3905},[3797,4825,4826],{"class":3811}," \u002F",[3797,4828,4829],{"class":3905}," 5",[3797,4831,3909],{"class":3815},[3797,4833,3906],{"class":3905},[3797,4835,4836],{"class":3811}," +",[3797,4838,3917],{"class":3905},[3797,4840,3909],{"class":3815},[3797,4842,3906],{"class":3905},[3797,4844,3939],{"class":3815},[3797,4846,4848],{"class":3799,"line":4847},27,[3797,4849,4032],{"class":3815},[3797,4851,4853],{"class":3799,"line":4852},28,[3797,4854,4508],{"emptyLinePlaceholder":4507},[3797,4856,4858],{"class":3799,"line":4857},29,[3797,4859,4860],{"class":4631},"\u002F\u002F\u002F Reads a whole number of degrees with an optional minus sign, such as `21` or `-5`.\n",[3797,4862,4864],{"class":3799,"line":4863},30,[3797,4865,4866],{"class":4631},"\u002F\u002F\u002F @param text the text to read\n",[3797,4868,4870],{"class":3799,"line":4869},31,[3797,4871,4872],{"class":4631},"\u002F\u002F\u002F @returns the degrees, or none for anything else, or for more than three digits\n",[3797,4874,4876,4878,4880,4883,4885,4887,4889,4892,4895,4897,4899,4902,4905],{"class":3799,"line":4875},32,[3797,4877,4234],{"class":3803},[3797,4879,4778],{"class":3803},[3797,4881,4882],{"class":3878}," ParseDegrees",[3797,4884,3897],{"class":3815},[3797,4886,4437],{"class":4786},[3797,4888,3737],{"class":3815},[3797,4890,4891],{"class":4792},"char8",[3797,4893,4894],{"class":3807},"[..]",[3797,4896,3934],{"class":3815},[3797,4898,4798],{"class":3815},[3797,4900,4901],{"class":3803}," int32",[3797,4903,4904],{"class":3807},"? ",[3797,4906,3888],{"class":3815},[3797,4908,4910,4913,4916,4918,4921,4923,4926,4929,4931,4934,4936,4938,4940,4943,4946,4949],{"class":3799,"line":4909},33,[3797,4911,4912],{"class":3803},"    let",[3797,4914,4915],{"class":3807}," negative ",[3797,4917,4489],{"class":3811},[3797,4919,4920],{"class":3807}," text",[3797,4922,3909],{"class":3811},[3797,4924,4925],{"class":3807},"length ",[3797,4927,4928],{"class":3811},">",[3797,4930,3926],{"class":3905},[3797,4932,4933],{"class":3811}," &&",[3797,4935,4920],{"class":3807},[3797,4937,4475],{"class":3815},[3797,4939,3906],{"class":3905},[3797,4941,4942],{"class":3815},"]",[3797,4944,4945],{"class":3811}," ==",[3797,4947,4948],{"class":4199}," '-'",[3797,4950,3939],{"class":3815},[3797,4952,4954,4956,4959,4962,4965,4968,4970,4972,4975,4978,4980],{"class":3799,"line":4953},34,[3797,4955,4912],{"class":3803},[3797,4957,4958],{"class":3807}," start",[3797,4960,4961],{"class":3815},":",[3797,4963,4964],{"class":4792}," uint",[3797,4966,4967],{"class":3811}," =",[3797,4969,4915],{"class":3807},[3797,4971,3856],{"class":3811},[3797,4973,4974],{"class":3905}," 1",[3797,4976,4977],{"class":3815}," :",[3797,4979,3926],{"class":3905},[3797,4981,3939],{"class":3815},[3797,4983,4985,4988,4990,4992,4994,4997,5000,5003,5005,5007,5009,5011,5013,5015,5018,5020,5023,5026,5029],{"class":3799,"line":4984},35,[3797,4986,4987],{"class":3803},"    if",[3797,4989,4920],{"class":3807},[3797,4991,3909],{"class":3811},[3797,4993,4925],{"class":3807},[3797,4995,4996],{"class":3811},"==",[3797,4998,4999],{"class":3807}," start ",[3797,5001,5002],{"class":3811},"||",[3797,5004,4920],{"class":3807},[3797,5006,3909],{"class":3811},[3797,5008,4925],{"class":3807},[3797,5010,3994],{"class":3811},[3797,5012,4999],{"class":3807},[3797,5014,4928],{"class":3811},[3797,5016,5017],{"class":3905}," 3",[3797,5019,4600],{"class":3815},[3797,5021,5022],{"class":3803}," return",[3797,5024,5025],{"class":3807}," none",[3797,5027,5028],{"class":3815},";",[3797,5030,4621],{"class":3815},[3797,5032,5034,5037,5040,5042,5044,5046,5048],{"class":3799,"line":5033},36,[3797,5035,5036],{"class":3803},"    var",[3797,5038,5039],{"class":3807}," value",[3797,5041,4961],{"class":3815},[3797,5043,4901],{"class":4792},[3797,5045,4967],{"class":3811},[3797,5047,3926],{"class":3905},[3797,5049,3939],{"class":3815},[3797,5051,5053,5056,5059,5062,5064,5067,5069,5071,5073],{"class":3799,"line":5052},37,[3797,5054,5055],{"class":3803},"    for",[3797,5057,5058],{"class":3807}," i ",[3797,5060,5061],{"class":3803},"in",[3797,5063,4958],{"class":3807},[3797,5065,5066],{"class":3811},"..",[3797,5068,4437],{"class":3807},[3797,5070,3909],{"class":3811},[3797,5072,4925],{"class":3807},[3797,5074,3888],{"class":3815},[3797,5076,5078,5081,5084,5086,5088,5090,5093],{"class":3799,"line":5077},38,[3797,5079,5080],{"class":3803},"        let",[3797,5082,5083],{"class":3807}," c ",[3797,5085,4489],{"class":3811},[3797,5087,4920],{"class":3807},[3797,5089,4475],{"class":3815},[3797,5091,5092],{"class":3807},"i",[3797,5094,5095],{"class":3815},"];\n",[3797,5097,5099,5102,5104,5107,5110,5113,5115,5117,5120,5122,5124,5126,5128],{"class":3799,"line":5098},39,[3797,5100,5101],{"class":3803},"        if",[3797,5103,5083],{"class":3807},[3797,5105,5106],{"class":3811},"\u003C",[3797,5108,5109],{"class":4199}," '0'",[3797,5111,5112],{"class":3811}," ||",[3797,5114,5083],{"class":3807},[3797,5116,4928],{"class":3811},[3797,5118,5119],{"class":4199}," '9'",[3797,5121,4600],{"class":3815},[3797,5123,5022],{"class":3803},[3797,5125,5025],{"class":3807},[3797,5127,5028],{"class":3815},[3797,5129,4621],{"class":3815},[3797,5131,5133,5136,5138,5141,5143,5146,5148,5151,5154,5157,5159,5161,5164],{"class":3799,"line":5132},40,[3797,5134,5135],{"class":3807},"        value ",[3797,5137,4489],{"class":3811},[3797,5139,5140],{"class":3807}," value ",[3797,5142,4816],{"class":3811},[3797,5144,5145],{"class":3905}," 10",[3797,5147,4836],{"class":3811},[3797,5149,5150],{"class":3815}," (",[3797,5152,5153],{"class":3807},"c ",[3797,5155,5156],{"class":3811},"as",[3797,5158,4901],{"class":4792},[3797,5160,4006],{"class":3811},[3797,5162,5163],{"class":3905}," 48",[3797,5165,5166],{"class":3815},");\n",[3797,5168,5170],{"class":3799,"line":5169},41,[3797,5171,5172],{"class":3815},"    }\n",[3797,5174,5176,5178,5180,5182,5184,5187,5189,5191],{"class":3799,"line":5175},42,[3797,5177,4810],{"class":3803},[3797,5179,4915],{"class":3807},[3797,5181,3856],{"class":3811},[3797,5183,4006],{"class":3811},[3797,5185,5186],{"class":3807},"value ",[3797,5188,4961],{"class":3815},[3797,5190,5039],{"class":3807},[3797,5192,3939],{"class":3815},[3797,5194,5196],{"class":3799,"line":5195},43,[3797,5197,4032],{"class":3815},[3797,5199,5201],{"class":3799,"line":5200},44,[3797,5202,4508],{"emptyLinePlaceholder":4507},[3797,5204,5206],{"class":3799,"line":5205},45,[3797,5207,5208],{"class":4631},"\u002F\u002F\u002F One word for how a temperature feels.\n",[3797,5210,5212],{"class":3799,"line":5211},46,[3797,5213,4764],{"class":4631},[3797,5215,5217],{"class":3799,"line":5216},47,[3797,5218,5219],{"class":4631},"\u002F\u002F\u002F @returns `freezing`, `cold`, `mild` or `hot`\n",[3797,5221,5223,5225,5227,5230,5232,5234,5236,5239,5241,5243,5246,5249],{"class":3799,"line":5222},48,[3797,5224,4234],{"class":3803},[3797,5226,4778],{"class":3803},[3797,5228,5229],{"class":3878}," Describe",[3797,5231,3897],{"class":3815},[3797,5233,4787],{"class":4786},[3797,5235,3737],{"class":3815},[3797,5237,5238],{"class":4792},"int32",[3797,5240,3934],{"class":3815},[3797,5242,4798],{"class":3815},[3797,5244,5245],{"class":3803}," char8",[3797,5247,5248],{"class":3807},"[..] ",[3797,5250,3888],{"class":3815},[3797,5252,5254,5256,5258,5261,5263,5265,5267,5270,5272],{"class":3799,"line":5253},49,[3797,5255,4987],{"class":3803},[3797,5257,4813],{"class":3807},[3797,5259,5260],{"class":3811},"\u003C=",[3797,5262,3926],{"class":3905},[3797,5264,4600],{"class":3815},[3797,5266,5022],{"class":3803},[3797,5268,5269],{"class":4199}," \"freezing\"",[3797,5271,5028],{"class":3815},[3797,5273,4621],{"class":3815},[3797,5275,5277,5279,5281,5283,5286,5288,5290,5293,5295],{"class":3799,"line":5276},50,[3797,5278,4987],{"class":3803},[3797,5280,4813],{"class":3807},[3797,5282,5106],{"class":3811},[3797,5284,5285],{"class":3905}," 15",[3797,5287,4600],{"class":3815},[3797,5289,5022],{"class":3803},[3797,5291,5292],{"class":4199}," \"cold\"",[3797,5294,5028],{"class":3815},[3797,5296,4621],{"class":3815},[3797,5298,5300,5302,5304,5306,5309,5311,5313,5316,5318],{"class":3799,"line":5299},51,[3797,5301,4987],{"class":3803},[3797,5303,4813],{"class":3807},[3797,5305,5106],{"class":3811},[3797,5307,5308],{"class":3905}," 25",[3797,5310,4600],{"class":3815},[3797,5312,5022],{"class":3803},[3797,5314,5315],{"class":4199}," \"mild\"",[3797,5317,5028],{"class":3815},[3797,5319,4621],{"class":3815},[3797,5321,5323,5325,5328],{"class":3799,"line":5322},52,[3797,5324,4810],{"class":3803},[3797,5326,5327],{"class":4199}," \"hot\"",[3797,5329,3939],{"class":3815},[3797,5331,5333],{"class":3799,"line":5332},53,[3797,5334,4032],{"class":3815},[3797,5336,5338],{"class":3799,"line":5337},54,[3797,5339,4508],{"emptyLinePlaceholder":4507},[3797,5341,5343],{"class":3799,"line":5342},55,[3797,5344,5345],{"class":4631},"\u002F\u002F Floating-point arithmetic rounds, so two floats are compared within a tolerance, never with\n",[3797,5347,5349],{"class":3799,"line":5348},56,[3797,5350,5351],{"class":4631},"\u002F\u002F `==`. These three points are the ones everybody knows.\n",[3797,5353,5355,5357],{"class":3799,"line":5354},57,[3797,5356,1862],{"class":3807},[3797,5358,3869],{"class":3815},[3797,5360,5362,5364,5366,5368,5370],{"class":3799,"line":5361},58,[3797,5363,3875],{"class":3803},[3797,5365,3879],{"class":3878},[3797,5367,3882],{"class":3815},[3797,5369,3885],{"class":3807},[3797,5371,3888],{"class":3815},[3797,5373,5375,5377,5379,5381,5383,5385,5387,5389,5391,5393,5395,5397,5399,5401,5403,5405,5407,5409],{"class":3799,"line":5374},59,[3797,5376,3894],{"class":3807},[3797,5378,3897],{"class":3815},[3797,5380,3900],{"class":3807},[3797,5382,3897],{"class":3815},[3797,5384,3906],{"class":3905},[3797,5386,3909],{"class":3815},[3797,5388,3906],{"class":3905},[3797,5390,3914],{"class":3815},[3797,5392,3917],{"class":3905},[3797,5394,3909],{"class":3815},[3797,5396,3906],{"class":3905},[3797,5398,3822],{"class":3815},[3797,5400,3926],{"class":3905},[3797,5402,3909],{"class":3815},[3797,5404,3931],{"class":3905},[3797,5406,3934],{"class":3815},[3797,5408,3856],{"class":3811},[3797,5410,3939],{"class":3815},[3797,5412,5414,5416,5418,5420,5422,5424,5426,5428,5430,5432,5434,5436,5438,5440,5442,5444,5446,5448],{"class":3799,"line":5413},60,[3797,5415,3894],{"class":3807},[3797,5417,3897],{"class":3815},[3797,5419,3900],{"class":3807},[3797,5421,3897],{"class":3815},[3797,5423,3953],{"class":3905},[3797,5425,3909],{"class":3815},[3797,5427,3906],{"class":3905},[3797,5429,3914],{"class":3815},[3797,5431,3962],{"class":3905},[3797,5433,3909],{"class":3815},[3797,5435,3906],{"class":3905},[3797,5437,3822],{"class":3815},[3797,5439,3926],{"class":3905},[3797,5441,3909],{"class":3815},[3797,5443,3931],{"class":3905},[3797,5445,3934],{"class":3815},[3797,5447,3856],{"class":3811},[3797,5449,3939],{"class":3815},[3797,5451,5453,5455,5457,5459,5461,5463,5465,5467,5469,5471,5473,5475,5477,5479,5481,5483,5485,5487,5489,5491],{"class":3799,"line":5452},61,[3797,5454,3894],{"class":3807},[3797,5456,3897],{"class":3815},[3797,5458,3900],{"class":3807},[3797,5460,3897],{"class":3815},[3797,5462,3994],{"class":3811},[3797,5464,3997],{"class":3905},[3797,5466,3909],{"class":3815},[3797,5468,3906],{"class":3905},[3797,5470,3914],{"class":3815},[3797,5472,4006],{"class":3811},[3797,5474,3997],{"class":3905},[3797,5476,3909],{"class":3815},[3797,5478,3906],{"class":3905},[3797,5480,3822],{"class":3815},[3797,5482,3926],{"class":3905},[3797,5484,3909],{"class":3815},[3797,5486,3931],{"class":3905},[3797,5488,3934],{"class":3815},[3797,5490,3856],{"class":3811},[3797,5492,3939],{"class":3815},[3797,5494,5496],{"class":3799,"line":5495},62,[3797,5497,4032],{"class":3815},[3797,5499,5501],{"class":3799,"line":5500},63,[3797,5502,4508],{"emptyLinePlaceholder":4507},[3797,5504,5506],{"class":3799,"line":5505},64,[3797,5507,5508],{"class":4631},"\u002F\u002F Boundaries are where mistakes hide, so test each side of each one. A failed `ExpectText` shows\n",[3797,5510,5512],{"class":3799,"line":5511},65,[3797,5513,5514],{"class":4631},"\u002F\u002F both texts and the byte where they part.\n",[3797,5516,5518,5520],{"class":3799,"line":5517},66,[3797,5519,1862],{"class":3807},[3797,5521,3869],{"class":3815},[3797,5523,5525,5527,5530,5532,5534],{"class":3799,"line":5524},67,[3797,5526,3875],{"class":3803},[3797,5528,5529],{"class":3878}," Words",[3797,5531,3882],{"class":3815},[3797,5533,3885],{"class":3807},[3797,5535,3888],{"class":3815},[3797,5537,5539,5542,5544,5546,5548,5550,5552,5554,5556,5558],{"class":3799,"line":5538},68,[3797,5540,5541],{"class":3807},"    ExpectText",[3797,5543,3897],{"class":3815},[3797,5545,4422],{"class":3807},[3797,5547,3897],{"class":3815},[3797,5549,3906],{"class":3905},[3797,5551,3914],{"class":3815},[3797,5553,5269],{"class":4199},[3797,5555,3934],{"class":3815},[3797,5557,3856],{"class":3811},[3797,5559,3939],{"class":3815},[3797,5561,5563,5565,5567,5569,5571,5574,5576,5578,5580,5582],{"class":3799,"line":5562},69,[3797,5564,5541],{"class":3807},[3797,5566,3897],{"class":3815},[3797,5568,4422],{"class":3807},[3797,5570,3897],{"class":3815},[3797,5572,5573],{"class":3905},"1",[3797,5575,3914],{"class":3815},[3797,5577,5292],{"class":4199},[3797,5579,3934],{"class":3815},[3797,5581,3856],{"class":3811},[3797,5583,3939],{"class":3815},[3797,5585,5587,5589,5591,5593,5595,5598,5600,5602,5604,5606],{"class":3799,"line":5586},70,[3797,5588,5541],{"class":3807},[3797,5590,3897],{"class":3815},[3797,5592,4422],{"class":3807},[3797,5594,3897],{"class":3815},[3797,5596,5597],{"class":3905},"14",[3797,5599,3914],{"class":3815},[3797,5601,5292],{"class":4199},[3797,5603,3934],{"class":3815},[3797,5605,3856],{"class":3811},[3797,5607,3939],{"class":3815},[3797,5609,5611,5613,5615,5617,5619,5622,5624,5626,5628,5630],{"class":3799,"line":5610},71,[3797,5612,5541],{"class":3807},[3797,5614,3897],{"class":3815},[3797,5616,4422],{"class":3807},[3797,5618,3897],{"class":3815},[3797,5620,5621],{"class":3905},"15",[3797,5623,3914],{"class":3815},[3797,5625,5315],{"class":4199},[3797,5627,3934],{"class":3815},[3797,5629,3856],{"class":3811},[3797,5631,3939],{"class":3815},[3797,5633,5635,5637,5639,5641,5643,5646,5648,5650,5652,5654],{"class":3799,"line":5634},72,[3797,5636,5541],{"class":3807},[3797,5638,3897],{"class":3815},[3797,5640,4422],{"class":3807},[3797,5642,3897],{"class":3815},[3797,5644,5645],{"class":3905},"24",[3797,5647,3914],{"class":3815},[3797,5649,5315],{"class":4199},[3797,5651,3934],{"class":3815},[3797,5653,3856],{"class":3811},[3797,5655,3939],{"class":3815},[3797,5657,5659,5661,5663,5665,5667,5670,5672,5674,5676,5678],{"class":3799,"line":5658},73,[3797,5660,5541],{"class":3807},[3797,5662,3897],{"class":3815},[3797,5664,4422],{"class":3807},[3797,5666,3897],{"class":3815},[3797,5668,5669],{"class":3905},"25",[3797,5671,3914],{"class":3815},[3797,5673,5327],{"class":4199},[3797,5675,3934],{"class":3815},[3797,5677,3856],{"class":3811},[3797,5679,3939],{"class":3815},[3797,5681,5683],{"class":3799,"line":5682},74,[3797,5684,4032],{"class":3815},[3797,5686,5688],{"class":3799,"line":5687},75,[3797,5689,4508],{"emptyLinePlaceholder":4507},[3797,5691,5693],{"class":3799,"line":5692},76,[3797,5694,5695],{"class":4631},"\u002F\u002F Tests in a module are named after it: `Parse::Positive`, `Parse::Negative`, `Parse::Rejects`.\n",[3797,5697,5699],{"class":3799,"line":5698},77,[3797,5700,5701],{"class":4631},"\u002F\u002F So `rux test -- Parse` runs just these three. A module imports for itself.\n",[3797,5703,5705,5707,5710],{"class":3799,"line":5704},78,[3797,5706,4312],{"class":3803},[3797,5708,5709],{"class":3807}," Parse ",[3797,5711,3888],{"class":3815},[3797,5713,5715,5718,5720,5722,5724,5727,5729,5732,5734,5737,5739,5741],{"class":3799,"line":5714},79,[3797,5716,5717],{"class":3803},"    import",[3797,5719,3808],{"class":3807},[3797,5721,3812],{"class":3811},[3797,5723,3816],{"class":3815},[3797,5725,5726],{"class":3807}," ExpectEqual",[3797,5728,3822],{"class":3815},[3797,5730,5731],{"class":3807}," ExpectNone",[3797,5733,3822],{"class":3815},[3797,5735,5736],{"class":3807}," ExpectSome",[3797,5738,3822],{"class":3815},[3797,5740,3830],{"class":3807},[3797,5742,3833],{"class":3815},[3797,5744,5746],{"class":3799,"line":5745},80,[3797,5747,4508],{"emptyLinePlaceholder":4507},[3797,5749,5751],{"class":3799,"line":5750},81,[3797,5752,5753],{"class":4631},"    \u002F\u002F `ExpectSome` fails with its message when the optional is empty, and otherwise hands back\n",[3797,5755,5757],{"class":3799,"line":5756},82,[3797,5758,5759],{"class":4631},"    \u002F\u002F the value inside for the next check.\n",[3797,5761,5763,5766],{"class":3799,"line":5762},83,[3797,5764,5765],{"class":3807},"    #Test",[3797,5767,3869],{"class":3815},[3797,5769,5771,5774,5777,5779,5781],{"class":3799,"line":5770},84,[3797,5772,5773],{"class":3803},"    func",[3797,5775,5776],{"class":3878}," Positive",[3797,5778,3882],{"class":3815},[3797,5780,3885],{"class":3807},[3797,5782,3888],{"class":3815},[3797,5784,5786,5789,5791,5793,5795,5797,5799,5801,5803,5805,5807,5809,5811,5813,5815,5817],{"class":3799,"line":5785},85,[3797,5787,5788],{"class":3807},"        ExpectEqual",[3797,5790,3897],{"class":3815},[3797,5792,4174],{"class":3807},[3797,5794,3897],{"class":3815},[3797,5796,4194],{"class":3807},[3797,5798,3897],{"class":3815},[3797,5800,4200],{"class":4199},[3797,5802,3914],{"class":3815},[3797,5804,4205],{"class":4199},[3797,5806,3934],{"class":3815},[3797,5808,3856],{"class":3811},[3797,5810,3822],{"class":3815},[3797,5812,4214],{"class":3905},[3797,5814,3934],{"class":3815},[3797,5816,3856],{"class":3811},[3797,5818,3939],{"class":3815},[3797,5820,5822,5824,5826,5828,5830,5832,5834,5837,5839,5842,5844,5846,5848,5850,5852,5854],{"class":3799,"line":5821},86,[3797,5823,5788],{"class":3807},[3797,5825,3897],{"class":3815},[3797,5827,4174],{"class":3807},[3797,5829,3897],{"class":3815},[3797,5831,4194],{"class":3807},[3797,5833,3897],{"class":3815},[3797,5835,5836],{"class":4199},"\"0\"",[3797,5838,3914],{"class":3815},[3797,5840,5841],{"class":4199}," \"0 is a temperature\"",[3797,5843,3934],{"class":3815},[3797,5845,3856],{"class":3811},[3797,5847,3822],{"class":3815},[3797,5849,3926],{"class":3905},[3797,5851,3934],{"class":3815},[3797,5853,3856],{"class":3811},[3797,5855,3939],{"class":3815},[3797,5857,5859],{"class":3799,"line":5858},87,[3797,5860,5172],{"class":3815},[3797,5862,5864],{"class":3799,"line":5863},88,[3797,5865,4508],{"emptyLinePlaceholder":4507},[3797,5867,5869,5871],{"class":3799,"line":5868},89,[3797,5870,5765],{"class":3807},[3797,5872,3869],{"class":3815},[3797,5874,5876,5878,5881,5883,5885],{"class":3799,"line":5875},90,[3797,5877,5773],{"class":3803},[3797,5879,5880],{"class":3878}," Negative",[3797,5882,3882],{"class":3815},[3797,5884,3885],{"class":3807},[3797,5886,3888],{"class":3815},[3797,5888,5890,5892,5894,5896,5898,5900,5902,5905,5907,5910,5912,5914,5916,5918,5921,5923,5925],{"class":3799,"line":5889},91,[3797,5891,5788],{"class":3807},[3797,5893,3897],{"class":3815},[3797,5895,4174],{"class":3807},[3797,5897,3897],{"class":3815},[3797,5899,4194],{"class":3807},[3797,5901,3897],{"class":3815},[3797,5903,5904],{"class":4199},"\"-5\"",[3797,5906,3914],{"class":3815},[3797,5908,5909],{"class":4199}," \"-5 is a temperature\"",[3797,5911,3934],{"class":3815},[3797,5913,3856],{"class":3811},[3797,5915,3822],{"class":3815},[3797,5917,4006],{"class":3811},[3797,5919,5920],{"class":3905},"5",[3797,5922,3934],{"class":3815},[3797,5924,3856],{"class":3811},[3797,5926,3939],{"class":3815},[3797,5928,5930],{"class":3799,"line":5929},92,[3797,5931,5172],{"class":3815},[3797,5933,5935],{"class":3799,"line":5934},93,[3797,5936,4508],{"emptyLinePlaceholder":4507},[3797,5938,5940],{"class":3799,"line":5939},94,[3797,5941,5942],{"class":4631},"    \u002F\u002F What a function refuses matters as much as what it accepts.\n",[3797,5944,5946,5948],{"class":3799,"line":5945},95,[3797,5947,5765],{"class":3807},[3797,5949,3869],{"class":3815},[3797,5951,5953,5955,5958,5960,5962],{"class":3799,"line":5952},96,[3797,5954,5773],{"class":3803},[3797,5956,5957],{"class":3878}," Rejects",[3797,5959,3882],{"class":3815},[3797,5961,3885],{"class":3807},[3797,5963,3888],{"class":3815},[3797,5965,5967,5970,5972,5974,5976,5979,5981,5984,5986,5988],{"class":3799,"line":5966},97,[3797,5968,5969],{"class":3807},"        ExpectNone",[3797,5971,3897],{"class":3815},[3797,5973,4194],{"class":3807},[3797,5975,3897],{"class":3815},[3797,5977,5978],{"class":4199},"\"\"",[3797,5980,3914],{"class":3815},[3797,5982,5983],{"class":4199}," \"empty text\"",[3797,5985,3934],{"class":3815},[3797,5987,3856],{"class":3811},[3797,5989,3939],{"class":3815},[3797,5991,5993,5995,5997,5999,6001,6004,6006,6009,6011,6013],{"class":3799,"line":5992},98,[3797,5994,5969],{"class":3807},[3797,5996,3897],{"class":3815},[3797,5998,4194],{"class":3807},[3797,6000,3897],{"class":3815},[3797,6002,6003],{"class":4199},"\"-\"",[3797,6005,3914],{"class":3815},[3797,6007,6008],{"class":4199}," \"a sign alone\"",[3797,6010,3934],{"class":3815},[3797,6012,3856],{"class":3811},[3797,6014,3939],{"class":3815},[3797,6016,6018,6020,6022,6024,6026,6029,6031,6034,6036,6038],{"class":3799,"line":6017},99,[3797,6019,5969],{"class":3807},[3797,6021,3897],{"class":3815},[3797,6023,4194],{"class":3807},[3797,6025,3897],{"class":3815},[3797,6027,6028],{"class":4199},"\"12C\"",[3797,6030,3914],{"class":3815},[3797,6032,6033],{"class":4199}," \"a unit after the digits\"",[3797,6035,3934],{"class":3815},[3797,6037,3856],{"class":3811},[3797,6039,3939],{"class":3815},[3797,6041,6043,6045,6047,6049,6051,6054,6056,6059,6061,6063],{"class":3799,"line":6042},100,[3797,6044,5969],{"class":3807},[3797,6046,3897],{"class":3815},[3797,6048,4194],{"class":3807},[3797,6050,3897],{"class":3815},[3797,6052,6053],{"class":4199},"\"1000\"",[3797,6055,3914],{"class":3815},[3797,6057,6058],{"class":4199}," \"four digits\"",[3797,6060,3934],{"class":3815},[3797,6062,3856],{"class":3811},[3797,6064,3939],{"class":3815},[3797,6066,6068],{"class":3799,"line":6067},101,[3797,6069,5172],{"class":3815},[3797,6071,6073],{"class":3799,"line":6072},102,[3797,6074,4032],{"class":3815},[3835,6076,6078],{"id":6077},"run-it","Run it",[3788,6080,6084],{"className":6081,"code":6082,"language":6083,"meta":3793,"style":3793},"language-sh shiki shiki-themes catppuccin-latte catppuccin-latte catppuccin-mocha","cd Examples\u002FPackages\u002FUnitTest\nrux test\n","sh",[3761,6085,6086,6095],{"__ignoreMap":3793},[3797,6087,6088,6092],{"class":3799,"line":3800},[3797,6089,6091],{"class":6090},"s0rF6","cd",[3797,6093,6094],{"class":4199}," Examples\u002FPackages\u002FUnitTest\n",[3797,6096,6097,6099],{"class":3799,"line":3872},[3797,6098,3792],{"class":3878},[3797,6100,6101],{"class":4199}," test\n",[3788,6103,6106],{"className":6104,"code":6105,"language":4437},[4435],"Testing UnitTest v0.1.0 (Debug, Windows x86-64)\nRunning 1 test\nPassed UnitTest in 431 ms\nPassed 1 test in 437 ms (1 passed, 0 failed)\n",[3761,6107,6105],{"__ignoreMap":3793},[3731,6109,6110,6111,6113,6114,6117,6118,6120],{},"The platform and the times vary. ",[3761,6112,3785],{}," counts test packages, so ",[3761,6115,6116],{},"1 test"," is this package with\nits five tests. A passing package is reported in one line; when a check fails, ",[3761,6119,3785],{}," prints\nthe runner's report instead, naming each test and what the failed check expected and got.",[3835,6122,6124],{"id":6123},"common-mistakes","Common mistakes",[6126,6127,6128,6147,6153],"mistake",{},[3731,6129,6130,6135,6138,6139,6141,6142,3782,6144,6146],{},[3734,6131,6132,6133,3909],{},"Tests in a package with a ",[3761,6134,1553],{},[6136,6137],"br",{},"\nAdd a ",[3761,6140,1553],{}," to this package, make it an ",[3761,6143,3408],{},[3761,6145,3785],{}," reports:",[3788,6148,6151],{"className":6149,"code":6150,"language":4437,"meta":3793},[4435],"error: package 'UnitTest' declares 'Main' and '#Test()' functions; a test build generates its own 'Main'\n",[3761,6152,6150],{"__ignoreMap":3793},[3731,6154,6155,6156,6158],{},"Keep the tested code in a library, and the ",[3761,6157,1553],{}," in an executable that depends on it.",[6126,6160,6161,6174,6180],{},[3731,6162,6163,6168,6170,6173],{},[3734,6164,6165,6166,3909],{},"A check without ",[3761,6167,3856],{},[6136,6169],{},[3761,6171,6172],{},"ExpectNear(ToFahrenheit(0.0), 33.0, 0.000001);"," on its own line fails to compile with:",[3788,6175,6178],{"className":6176,"code":6177,"language":4437,"meta":3793},[4435],"error: fallible result of type '! TestFailure' is discarded\n",[3761,6179,6177],{"__ignoreMap":3793},[3731,6181,6182],{},"That is a mercy: a check whose failure is dropped could never fail the test.",[6126,6184,6185],{},[3731,6186,6187,6190,6192,6195,6196,6199,6200,6203],{},[3734,6188,6189],{},"Comparing floats exactly.",[6136,6191],{},[3761,6193,6194],{},"ExpectEqual(0.1 + 0.2, 0.3)?;"," fails with ",[3761,6197,6198],{},"expected 0.3, but got 0.30000000000000004",". Floating-point arithmetic rounds; compare with ",[3761,6201,6202],{},"ExpectNear"," and a tolerance.",[6126,6205,6206],{},[3731,6207,6208,6211,6213,6216,6217,6219],{},[3734,6209,6210],{},"A filter that matches nothing.",[6136,6212],{},[3761,6214,6215],{},"rux test -- --exact Negative"," runs no test at all — the test is called ",[3761,6218,4319],{}," — and a run of no tests passes. Check the spelling of a filter that suddenly makes everything pass.",[3835,6221,6223],{"id":6222},"try-it-yourself","Try it yourself",[6225,6226,6227,6237,6250,6263],"ol",{},[6228,6229,6230,6231,6233,6234,6236],"li",{},"Break ",[3761,6232,4422],{}," as above, run ",[3761,6235,3785],{},", then fix it and run again.",[6228,6238,6239,6240,6243,6244,6246,6247,6249],{},"Add a test that ",[3761,6241,6242],{},"ParseDegrees(\"+5\")"," gives ",[3761,6245,5920],{},". It fails; change ",[3761,6248,4194],{}," to accept a plus sign until it passes.",[6228,6251,6252,6253,6256,6257,6260,6261,3909],{},"Add a check to ",[3761,6254,6255],{},"Rejects"," that ",[3761,6258,6259],{},"ParseDegrees(\"2 1\")"," is none, and run only that test with ",[3761,6262,4347],{},[6228,6264,6265,6266,6269,6270,6273],{},"Test that ",[3761,6267,6268],{},"ToFahrenheit(37.0)"," is about ",[3761,6271,6272],{},"98.6",". What tolerance does it need?",[3835,6275,6277],{"id":6276},"learn-more","Learn more",[6279,6280,6281,6291,6296,6301,6312],"ul",{},[6228,6282,6283,6286,6287,6290],{},[3739,6284,6285],{"href":3520},"Test API"," — every check, ",[3761,6288,6289],{},"TestFailure",", and the runner's options",[6228,6292,6293,6295],{},[3739,6294,1862],{"href":1863}," in the Rux Reference — what a test function may look like, and every error for misuse",[6228,6297,6298,6300],{},[3739,6299,3785],{"href":1998}," — the command and its options",[6228,6302,6303,6305,6306,6308,6309,6311],{},[3739,6304,3745],{"href":1144}," — test packages under ",[3761,6307,3763],{},", and the other ",[3761,6310,3792],{}," commands",[6228,6313,6314,6317,6318,6320],{},[3739,6315,6316],{"href":1152},"Benchmark"," — the ",[3761,6319,3519],{}," package's other half: measuring how long code takes",[6322,6323,6324],"style",{},"html pre.shiki code .smXKV, html code.shiki .smXKV{--shiki-light:#8839EF;--shiki-default:#8839EF;--shiki-dark:#CBA6F7}html pre.shiki code .sJT_S, html code.shiki .sJT_S{--shiki-light:#4C4F69;--shiki-default:#4C4F69;--shiki-dark:#CDD6F4}html pre.shiki code .sCFbw, html code.shiki .sCFbw{--shiki-light:#179299;--shiki-default:#179299;--shiki-dark:#94E2D5}html pre.shiki code .sDi1i, html code.shiki .sDi1i{--shiki-light:#7C7F93;--shiki-default:#7C7F93;--shiki-dark:#9399B2}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sptzg, html code.shiki .sptzg{--shiki-light:#1E66F5;--shiki-light-font-style:italic;--shiki-default:#1E66F5;--shiki-default-font-style:italic;--shiki-dark:#89B4FA;--shiki-dark-font-style:italic}html pre.shiki code .snhBn, html code.shiki .snhBn{--shiki-light:#FE640B;--shiki-default:#FE640B;--shiki-dark:#FAB387}html pre.shiki code .sXpww, html code.shiki .sXpww{--shiki-light:#40A02B;--shiki-default:#40A02B;--shiki-dark:#A6E3A1}html pre.shiki code .sY9YT, html code.shiki .sY9YT{--shiki-light:#7C7F93;--shiki-light-font-style:italic;--shiki-default:#7C7F93;--shiki-default-font-style:italic;--shiki-dark:#9399B2;--shiki-dark-font-style:italic}html pre.shiki code .sYR1E, html code.shiki .sYR1E{--shiki-light:#E64553;--shiki-light-font-style:italic;--shiki-default:#E64553;--shiki-default-font-style:italic;--shiki-dark:#EBA0AC;--shiki-dark-font-style:italic}html pre.shiki code .sqZDx, html code.shiki .sqZDx{--shiki-light:#DF8E1D;--shiki-light-font-style:italic;--shiki-default:#DF8E1D;--shiki-default-font-style:italic;--shiki-dark:#F9E2AF;--shiki-dark-font-style:italic}html pre.shiki code .s0rF6, html code.shiki .s0rF6{--shiki-light:#D20F39;--shiki-light-font-style:italic;--shiki-default:#D20F39;--shiki-default-font-style:italic;--shiki-dark:#F38BA8;--shiki-dark-font-style:italic}",{"title":3793,"searchDepth":3872,"depth":3872,"links":6326},[6327,6328,6329,6330,6331,6332,6333,6334],{"id":3837,"depth":3872,"text":3838},{"id":4223,"depth":3872,"text":4224},{"id":4334,"depth":3872,"text":4335},{"id":4448,"depth":3872,"text":4449},{"id":6077,"depth":3872,"text":6078},{"id":6123,"depth":3872,"text":6124},{"id":6222,"depth":3872,"text":6223},{"id":6276,"depth":3872,"text":6277},"Write #Test() functions with the Test package's Expect checks beside the code they test, and run them with rux test, all of them or only those whose names match a filter.","md",{"number":6338,"source":6339,"requires":6340},"22.11","Packages\u002FUnitTest",[6341,6342,4312,6343,6344],"source-library","tooling","presence","propagate",{},{"title":1147},{"title":3718,"description":6335},"sBwUQIns0Nk1P4YIngYLGsEUuQKA26ny8_nLuqiSLd4",[6350,6352],{"title":1143,"path":1144,"stem":1145,"description":6351,"children":-1},"Keep a package tidy with the other rux commands: format, lint, test and document it, without publishing anything.",{"title":1151,"path":1152,"stem":1153,"description":6353,"children":-1},"Measure how long two searches take with the Test package's benchmarks: a BenchmarkCase per search, Consume to keep the work from being optimized away, and RunBenchmarksWith to repeat each one until it can be timed, after first checking that the searches agree.",1792235754243]