1986 lines
182 KiB
HTML
1986 lines
182 KiB
HTML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<!-- This file is generated by Nim. -->
|
|
<html xmlns="https://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>compiler/types</title>
|
|
|
|
<!-- Favicon -->
|
|
<link rel="shortcut icon" href="data:image/x-icon;base64,AAABAAEAEBAAAAEAIABoBAAAFgAAACgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAUAAAAF////AP///wD///8A////AP///wD///8A////AP///wD///8A////AAAAAAIAAABbAAAAlQAAAKIAAACbAAAAmwAAAKIAAACVAAAAWwAAAAL///8A////AP///wD///8A////AAAAABQAAADAAAAAYwAAAA3///8A////AP///wD///8AAAAADQAAAGMAAADAAAAAFP///wD///8A////AP///wAAAACdAAAAOv///wD///8A////AP///wD///8A////AP///wD///8AAAAAOgAAAJ3///8A////AP///wAAAAAnAAAAcP///wAAAAAoAAAASv///wD///8A////AP///wAAAABKAAAAKP///wAAAABwAAAAJ////wD///8AAAAAgQAAABwAAACIAAAAkAAAAJMAAACtAAAAFQAAABUAAACtAAAAkwAAAJAAAACIAAAAHAAAAIH///8A////AAAAAKQAAACrAAAAaP///wD///8AAAAARQAAANIAAADSAAAARf///wD///8AAAAAaAAAAKsAAACk////AAAAADMAAACcAAAAnQAAABj///8A////AP///wAAAAAYAAAAGP///wD///8A////AAAAABgAAACdAAAAnAAAADMAAAB1AAAAwwAAAP8AAADpAAAAsQAAAE4AAAAb////AP///wAAAAAbAAAATgAAALEAAADpAAAA/wAAAMMAAAB1AAAAtwAAAOkAAAD/AAAA/wAAAP8AAADvAAAA3gAAAN4AAADeAAAA3gAAAO8AAAD/AAAA/wAAAP8AAADpAAAAtwAAAGUAAAA/AAAA3wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAAD/AAAA/wAAAP8AAADfAAAAPwAAAGX///8A////AAAAAEgAAADtAAAAvwAAAL0AAADGAAAA7wAAAO8AAADGAAAAvQAAAL8AAADtAAAASP///wD///8A////AP///wD///8AAAAAO////wD///8A////AAAAAIcAAACH////AP///wD///8AAAAAO////wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A////AP///wD///8A//8AAP//AAD4HwAA7/cAAN/7AAD//wAAoYUAAJ55AACf+QAAh+EAAAAAAADAAwAA4AcAAP5/AAD//wAA//8AAA=="/>
|
|
<link rel="icon" type="image/png" sizes="32x32" href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAA3XAAAN1wFCKJt4AAAAB3RJTUUH4QQQEwksSS9ZWwAAAk1JREFUWMPtll2ITVEUx39nn/O7Y5qR8f05wtCUUr6ZIS++8pEnkZInPImneaCQ5METNdOkeFBKUhMPRIkHKfEuUZSUlGlKPN2TrgfncpvmnntnmlEyq1Z7t89/rf9a6+y99oZxGZf/XeIq61EdtgKXgdXA0xrYAvBjOIF1AI9zvjcC74BSpndrJPkBWDScTF8Aa4E3wDlgHbASaANmVqlcCnwHvgDvgVfAJ+AikAAvgfVZwLnSVZHZaOuKoQi3ZOMi4NkYkpe1p4J7A8BpYAD49hfIy/oqG0+hLomiKP2L5L+1ubn5115S+3OAn4EnwBlgMzCjyt6ZAnQCJ4A7wOs88iRJHvw50HoujuPBoCKwHWiosy8MdfZnAdcHk8dxXFJ3VQbQlCTJvRBCGdRbD4M6uc5glpY3eAihpN5S5w12diSEcCCEcKUO4ljdr15T76ur1FDDLIQQ3qv71EdDOe3Kxj3leRXyk+pxdWnFWod6Wt2bY3de3aSuUHcPBVimHs7mK9WrmeOF6lR1o9qnzskh2ar2qm1qizpfXaPeVGdlmGN5pb09qMxz1Xb1kLqgzn1RyH7JUXW52lr5e/Kqi9qpto7V1atuUzfnARrV7jEib1T76gG2qxdGmXyiekkt1GswPTtek0aBfJp6YySGBfWg2tPQ0FAYgf1stUfdmdcjarbYJEniKIq6gY/Aw+zWHAC+p2labGpqiorFYgGYCEzN7oQdQClN07O1/EfDyGgC0ALMBdYAi4FyK+4H3gLPsxfR1zRNi+NP7nH5J+QntnXe5B5mpfQAAAAASUVORK5CYII=">
|
|
|
|
<!-- CSS -->
|
|
<link rel="stylesheet" type="text/css" href="nimdoc.out.css">
|
|
|
|
<!-- JS -->
|
|
<script type="text/javascript" src="dochack.js"></script>
|
|
</head>
|
|
<body>
|
|
<div class="document" id="documentId">
|
|
<div class="container">
|
|
<h1 class="title">compiler/types</h1>
|
|
<div class="row">
|
|
<div class="three columns">
|
|
<div class="theme-select-wrapper">
|
|
<label for="theme-select">Theme: </label>
|
|
<select id="theme-select" onchange="setTheme(this.value)">
|
|
<option value="auto">🌗 Match OS</option>
|
|
<option value="dark">🌑 Dark</option>
|
|
<option value="light">🌕 Light</option>
|
|
</select>
|
|
</div>
|
|
<div id="global-links">
|
|
<ul class="simple">
|
|
<li><a id="indexLink" href="theindex.html">Index</a></li>
|
|
</ul>
|
|
</div>
|
|
<div id="searchInputDiv">
|
|
Search: <input type="search" id="searchInput" onkeyup="search()"/>
|
|
</div>
|
|
<div>
|
|
Group by:
|
|
<select onchange="groupBy(this.value)">
|
|
<option value="section">Section</option>
|
|
<option value="type">Type</option>
|
|
</select>
|
|
</div>
|
|
<ul class="simple simple-toc" id="toc-list">
|
|
<li>
|
|
<a class="reference reference-toplevel" href="#6" id="56">Imports</a>
|
|
</li>
|
|
<li>
|
|
<details open>
|
|
<summary><a class="reference reference-toplevel" href="#7" id="57">Types</a></summary>
|
|
<ul class="simple simple-toc-section">
|
|
<li><a class="reference" href="#EffectsCompat" title="EffectsCompat = enum
|
|
efCompat, efRaisesDiffer, efRaisesUnknown, efTagsDiffer, efTagsUnknown,
|
|
efEffectsDelayed, efTagsIllegal">EffectsCompat</a></li>
|
|
<li><a class="reference" href="#OrdinalType" title="OrdinalType = enum
|
|
NoneLike, IntLike, FloatLike">OrdinalType</a></li>
|
|
<li><a class="reference" href="#ProcConvMismatch" title="ProcConvMismatch = enum
|
|
pcmNoSideEffect, pcmNotGcSafe, pcmNotIterator, pcmDifferentCallConv">ProcConvMismatch</a></li>
|
|
<li><a class="reference" href="#TDistinctCompare" title="TDistinctCompare = enum
|
|
dcEq, ## a and b should be the same type
|
|
dcEqIgnoreDistinct, ## compare symmetrically: (distinct a) == b, a == b
|
|
## or a == (distinct b)
|
|
dcEqOrDistinctOf ## a equals b or a is distinct of b">TDistinctCompare</a></li>
|
|
<li><a class="reference" href="#TParamsEquality" title="TParamsEquality = enum
|
|
paramsNotEqual, paramsEqual, paramsIncompatible">TParamsEquality</a></li>
|
|
<li><a class="reference" href="#TPreferedDesc" title="TPreferedDesc = enum
|
|
preferName, preferDesc, preferExported, preferModuleInfo, preferGenericArg,
|
|
preferTypeName, preferResolved, preferMixed">TPreferedDesc</a></li>
|
|
<li><a class="reference" href="#TTypeCmpFlag" title="TTypeCmpFlag = enum
|
|
IgnoreTupleFields, ## NOTE: Only set this flag for backends!
|
|
IgnoreCC, ExactTypeDescValues, ExactGenericParams, ExactConstraints,
|
|
ExactGcSafety, AllowCommonBase, PickyCAliases">TTypeCmpFlag</a></li>
|
|
<li><a class="reference" href="#TTypeCmpFlags" title="TTypeCmpFlags = set[TTypeCmpFlag]">TTypeCmpFlags</a></li>
|
|
<li><a class="reference" href="#TTypeFieldResult" title="TTypeFieldResult = enum
|
|
frNone, frHeader, frEmbedded">TTypeFieldResult</a></li>
|
|
<li><a class="reference" href="#TTypeIter" title="TTypeIter = proc (t: PType; closure: RootRef): bool {.nimcall.}">TTypeIter</a></li>
|
|
<li><a class="reference" href="#TTypeMutator" title="TTypeMutator = proc (t: PType; closure: RootRef): PType {.nimcall.}">TTypeMutator</a></li>
|
|
<li><a class="reference" href="#TTypePredicate" title="TTypePredicate = proc (t: PType): bool {.nimcall.}">TTypePredicate</a></li>
|
|
<li><a class="reference" href="#TTypeRelation" title="TTypeRelation = enum
|
|
isNone, isConvertible, isIntConv, isSubtype, isSubrange,
|
|
isBothMetaConvertible, isInferred, isInferredConvertible, isGeneric,
|
|
isFromIntLit, isEqual">TTypeRelation</a></li>
|
|
|
|
</ul>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details open>
|
|
<summary><a class="reference reference-toplevel" href="#10" id="60">Consts</a></summary>
|
|
<ul class="simple simple-toc-section">
|
|
<li><a class="reference" href="#abstractInstOwned" title="abstractInstOwned = {tyAlias, tyTypeDesc, tyGenericInst, tyDistinct, tyOrdinal,
|
|
tyOwned..tySink, tyInferred}">abstractInstOwned</a></li>
|
|
<li><a class="reference" href="#abstractPtrs" title="abstractPtrs = {tyVar, tyPtr, tyRef, tyGenericInst, tyDistinct, tyOrdinal,
|
|
tyTypeDesc, tyAlias, tyInferred, tySink, tyLent, tyOwned}">abstractPtrs</a></li>
|
|
<li><a class="reference" href="#abstractRange" title="abstractRange = {tyGenericInst, tyRange, tyDistinct, tyOrdinal, tyTypeDesc,
|
|
tyAlias, tyInferred, tySink, tyOwned}">abstractRange</a></li>
|
|
<li><a class="reference" href="#abstractVar" title="abstractVar = {tyVar, tyGenericInst, tyDistinct, tyOrdinal, tyTypeDesc, tyAlias,
|
|
tyInferred, tySink, tyLent, tyOwned}">abstractVar</a></li>
|
|
<li><a class="reference" href="#skipPtrs" title="skipPtrs = {tyVar, tyPtr, tyRef, tyGenericInst, tyTypeDesc, tyAlias, tyInferred,
|
|
tySink, tyLent, tyOwned}">skipPtrs</a></li>
|
|
<li><a class="reference" href="#szIllegalRecursion" title="szIllegalRecursion = -2">szIllegalRecursion</a></li>
|
|
<li><a class="reference" href="#szTooBigSize" title="szTooBigSize = -4">szTooBigSize</a></li>
|
|
<li><a class="reference" href="#szUncomputedSize" title="szUncomputedSize = -1">szUncomputedSize</a></li>
|
|
<li><a class="reference" href="#szUnknownSize" title="szUnknownSize = -3">szUnknownSize</a></li>
|
|
<li><a class="reference" href="#typedescInst" title="typedescInst = {tyAlias, tyTypeDesc, tyGenericInst, tyDistinct, tyOrdinal,
|
|
tyOwned..tySink, tyUserTypeClass, tyInferred}">typedescInst</a></li>
|
|
<li><a class="reference" href="#typedescPtrs" title="typedescPtrs = {tyAlias, tyTypeDesc, tyGenericInst, tyDistinct, tyOrdinal,
|
|
tyPtr..tyVar, tyOwned..tyLent, tyInferred}">typedescPtrs</a></li>
|
|
|
|
</ul>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details open>
|
|
<summary><a class="reference reference-toplevel" href="#12" id="62">Procs</a></summary>
|
|
<ul class="simple simple-toc-section">
|
|
<ul class="simple nested-toc-section">addPragmaAndCallConvMismatch
|
|
<li><a class="reference" href="#addPragmaAndCallConvMismatch%2Cstring%2CPType%2CPType%2CConfigRef" title="addPragmaAndCallConvMismatch(message: var string; formal, actual: PType;
|
|
conf: ConfigRef)">addPragmaAndCallConvMismatch(message: var string; formal, actual: PType;
|
|
conf: ConfigRef)</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">addTypeDeclVerboseMaybe
|
|
<li><a class="reference" href="#addTypeDeclVerboseMaybe%2Cstring%2CConfigRef%2CPType" title="addTypeDeclVerboseMaybe(result: var string; conf: ConfigRef; typ: PType)">addTypeDeclVerboseMaybe(result: var string; conf: ConfigRef; typ: PType)</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">addTypeHeader
|
|
<li><a class="reference" href="#addTypeHeader%2Cstring%2CConfigRef%2CPType%2CTPreferedDesc" title="addTypeHeader(result: var string; conf: ConfigRef; typ: PType;
|
|
prefer: TPreferedDesc = preferMixed; getDeclarationPath = true)">addTypeHeader(result: var string; conf: ConfigRef; typ: PType;
|
|
prefer: TPreferedDesc = preferMixed; getDeclarationPath = true)</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">analyseObjectWithTypeField
|
|
<li><a class="reference" href="#analyseObjectWithTypeField%2CPType" title="analyseObjectWithTypeField(t: PType): TTypeFieldResult">analyseObjectWithTypeField(t: PType): TTypeFieldResult</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">base
|
|
<li><a class="reference" href="#base%2CPType" title="base(t: PType): PType">base(t: PType): PType</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">baseOfDistinct
|
|
<li><a class="reference" href="#baseOfDistinct%2CPType%2CModuleGraph%2CIdGenerator" title="baseOfDistinct(t: PType; g: ModuleGraph; idgen: IdGenerator): PType">baseOfDistinct(t: PType; g: ModuleGraph; idgen: IdGenerator): PType</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">canFormAcycle
|
|
<li><a class="reference" href="#canFormAcycle%2CPType" title="canFormAcycle(typ: PType): bool">canFormAcycle(typ: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">classify
|
|
<li><a class="reference" href="#classify%2CPType" title="classify(t: PType): OrdinalType">classify(t: PType): OrdinalType</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">commonSuperclass
|
|
<li><a class="reference" href="#commonSuperclass%2CPType%2CPType" title="commonSuperclass(a, b: PType): PType">commonSuperclass(a, b: PType): PType</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">compareTypes
|
|
<li><a class="reference" href="#compareTypes%2CPType%2CPType%2CTDistinctCompare%2CTTypeCmpFlags" title="compareTypes(x, y: PType; cmp: TDistinctCompare = dcEq;
|
|
flags: TTypeCmpFlags = {}): bool">compareTypes(x, y: PType; cmp: TDistinctCompare = dcEq;
|
|
flags: TTypeCmpFlags = {}): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">compatibleEffects
|
|
<li><a class="reference" href="#compatibleEffects%2CPType%2CPType" title="compatibleEffects(formal, actual: PType): EffectsCompat">compatibleEffects(formal, actual: PType): EffectsCompat</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">computeSize
|
|
<li><a class="reference" href="#computeSize%2CConfigRef%2CPType" title="computeSize(conf: ConfigRef; typ: PType): BiggestInt">computeSize(conf: ConfigRef; typ: PType): BiggestInt</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">containsCompileTimeOnly
|
|
<li><a class="reference" href="#containsCompileTimeOnly%2CPType" title="containsCompileTimeOnly(t: PType): bool">containsCompileTimeOnly(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">containsGarbageCollectedRef
|
|
<li><a class="reference" href="#containsGarbageCollectedRef%2CPType" title="containsGarbageCollectedRef(typ: PType): bool">containsGarbageCollectedRef(typ: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">containsGenericType
|
|
<li><a class="reference" href="#containsGenericType%2CPType" title="containsGenericType(t: PType): bool">containsGenericType(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">containsHiddenPointer
|
|
<li><a class="reference" href="#containsHiddenPointer%2CPType" title="containsHiddenPointer(typ: PType): bool">containsHiddenPointer(typ: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">containsManagedMemory
|
|
<li><a class="reference" href="#containsManagedMemory%2CPType" title="containsManagedMemory(typ: PType): bool">containsManagedMemory(typ: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">containsObject
|
|
<li><a class="reference" href="#containsObject%2CPType" title="containsObject(t: PType): bool">containsObject(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">containsTyRef
|
|
<li><a class="reference" href="#containsTyRef%2CPType" title="containsTyRef(typ: PType): bool">containsTyRef(typ: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">elemType
|
|
<li><a class="reference" href="#elemType%2CPType" title="elemType(t: PType): PType">elemType(t: PType): PType</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">enumHasHoles
|
|
<li><a class="reference" href="#enumHasHoles%2CPType" title="enumHasHoles(t: PType): bool">enumHasHoles(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">equalParams
|
|
<li><a class="reference" href="#equalParams%2CPNode%2CPNode" title="equalParams(a, b: PNode): TParamsEquality">equalParams(a, b: PNode): TParamsEquality</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">firstFloat
|
|
<li><a class="reference" href="#firstFloat%2CPType" title="firstFloat(t: PType): BiggestFloat">firstFloat(t: PType): BiggestFloat</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">firstOrd
|
|
<li><a class="reference" href="#firstOrd%2CConfigRef%2CPType" title="firstOrd(conf: ConfigRef; t: PType): Int128">firstOrd(conf: ConfigRef; t: PType): Int128</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">floatRangeCheck
|
|
<li><a class="reference" href="#floatRangeCheck%2CBiggestFloat%2CPType" title="floatRangeCheck(x: BiggestFloat; t: PType): bool">floatRangeCheck(x: BiggestFloat; t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">getAlign
|
|
<li><a class="reference" href="#getAlign%2CConfigRef%2CPType" title="getAlign(conf: ConfigRef; typ: PType): BiggestInt">getAlign(conf: ConfigRef; typ: PType): BiggestInt</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">getFloatValue
|
|
<li><a class="reference" href="#getFloatValue%2CPNode" title="getFloatValue(n: PNode): BiggestFloat">getFloatValue(n: PNode): BiggestFloat</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">getOrdValue
|
|
<li><a class="reference" href="#getOrdValue%2CPNode" title="getOrdValue(n: PNode; onError = high(Int128)): Int128">getOrdValue(n: PNode; onError = high(Int128)): Int128</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">getProcConvMismatch
|
|
<li><a class="reference" href="#getProcConvMismatch%2CConfigRef%2CPType%2CPType" title="getProcConvMismatch(c: ConfigRef; f, a: PType; rel = isNone): (
|
|
set[ProcConvMismatch], TTypeRelation)">getProcConvMismatch(c: ConfigRef; f, a: PType; rel = isNone): (
|
|
set[ProcConvMismatch], TTypeRelation)</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">getProcHeader
|
|
<li><a class="reference" href="#getProcHeader%2CConfigRef%2CPSym%2CTPreferedDesc" title="getProcHeader(conf: ConfigRef; sym: PSym; prefer: TPreferedDesc = preferName;
|
|
getDeclarationPath = true): string">getProcHeader(conf: ConfigRef; sym: PSym; prefer: TPreferedDesc = preferName;
|
|
getDeclarationPath = true): string</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">getReturnType
|
|
<li><a class="reference" href="#getReturnType%2CPSym" title="getReturnType(s: PSym): PType">getReturnType(s: PSym): PType</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">getSize
|
|
<li><a class="reference" href="#getSize%2CConfigRef%2CPType" title="getSize(conf: ConfigRef; typ: PType): BiggestInt">getSize(conf: ConfigRef; typ: PType): BiggestInt</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">inheritanceDiff
|
|
<li><a class="reference" href="#inheritanceDiff%2CPType%2CPType" title="inheritanceDiff(a, b: PType): int">inheritanceDiff(a, b: PType): int</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">invalidGenericInst
|
|
<li><a class="reference" href="#invalidGenericInst%2CPType" title="invalidGenericInst(f: PType): bool">invalidGenericInst(f: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isCharArrayPtr
|
|
<li><a class="reference" href="#isCharArrayPtr%2CPType%2Cbool" title="isCharArrayPtr(t: PType; allowPointerToChar: bool): bool">isCharArrayPtr(t: PType; allowPointerToChar: bool): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isCompileTimeOnly
|
|
<li><a class="reference" href="#isCompileTimeOnly%2CPType" title="isCompileTimeOnly(t: PType): bool">isCompileTimeOnly(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isDefectException
|
|
<li><a class="reference" href="#isDefectException%2CPType" title="isDefectException(t: PType): bool">isDefectException(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isDefectOrCatchableError
|
|
<li><a class="reference" href="#isDefectOrCatchableError%2CPType" title="isDefectOrCatchableError(t: PType): bool">isDefectOrCatchableError(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isEmptyContainer
|
|
<li><a class="reference" href="#isEmptyContainer%2CPType" title="isEmptyContainer(t: PType): bool">isEmptyContainer(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isException
|
|
<li><a class="reference" href="#isException%2CPType" title="isException(t: PType): bool">isException(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isFinal
|
|
<li><a class="reference" href="#isFinal%2CPType" title="isFinal(t: PType): bool">isFinal(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isFloatLit
|
|
<li><a class="reference" href="#isFloatLit%2CPType" title="isFloatLit(t: PType): bool">isFloatLit(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isGenericAlias
|
|
<li><a class="reference" href="#isGenericAlias%2CPType" title="isGenericAlias(t: PType): bool">isGenericAlias(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isIntLit
|
|
<li><a class="reference" href="#isIntLit%2CPType" title="isIntLit(t: PType): bool">isIntLit(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isOrdinalType
|
|
<li><a class="reference" href="#isOrdinalType%2CPType%2Cbool" title="isOrdinalType(t: PType; allowEnumWithHoles: bool = false): bool">isOrdinalType(t: PType; allowEnumWithHoles: bool = false): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isPureObject
|
|
<li><a class="reference" href="#isPureObject%2CPType" title="isPureObject(typ: PType): bool">isPureObject(typ: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isSinkTypeForParam
|
|
<li><a class="reference" href="#isSinkTypeForParam%2CPType" title="isSinkTypeForParam(t: PType): bool">isSinkTypeForParam(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isTupleRecursive
|
|
<li><a class="reference" href="#isTupleRecursive%2CPType" title="isTupleRecursive(t: PType): bool">isTupleRecursive(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isUnsigned
|
|
<li><a class="reference" href="#isUnsigned%2CPType" title="isUnsigned(t: PType): bool">isUnsigned(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">iterOverType
|
|
<li><a class="reference" href="#iterOverType%2CPType%2CTTypeIter%2CRootRef" title="iterOverType(t: PType; iter: TTypeIter; closure: RootRef): bool">iterOverType(t: PType; iter: TTypeIter; closure: RootRef): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">lacksMTypeField
|
|
<li><a class="reference" href="#lacksMTypeField%2CPType" title="lacksMTypeField(typ: PType): bool">lacksMTypeField(typ: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">lastFloat
|
|
<li><a class="reference" href="#lastFloat%2CPType" title="lastFloat(t: PType): BiggestFloat">lastFloat(t: PType): BiggestFloat</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">lastOrd
|
|
<li><a class="reference" href="#lastOrd%2CConfigRef%2CPType" title="lastOrd(conf: ConfigRef; t: PType): Int128">lastOrd(conf: ConfigRef; t: PType): Int128</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">lengthOrd
|
|
<li><a class="reference" href="#lengthOrd%2CConfigRef%2CPType" title="lengthOrd(conf: ConfigRef; t: PType): Int128">lengthOrd(conf: ConfigRef; t: PType): Int128</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">lookupFieldAgain
|
|
<li><a class="reference" href="#lookupFieldAgain%2CPType%2CPSym" title="lookupFieldAgain(ty: PType; field: PSym): PSym">lookupFieldAgain(ty: PType; field: PSym): PSym</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">matchType
|
|
<li><a class="reference" href="#matchType%2CPType%2CopenArray%5Btuple%5BTTypeKind%2Cint%5D%5D%2CTTypeKind" title="matchType(a: PType; pattern: openArray[tuple[k: TTypeKind, i: int]];
|
|
last: TTypeKind): bool">matchType(a: PType; pattern: openArray[tuple[k: TTypeKind, i: int]];
|
|
last: TTypeKind): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">mutateType
|
|
<li><a class="reference" href="#mutateType%2CPType%2CTTypeMutator%2CRootRef" title="mutateType(t: PType; iter: TTypeMutator; closure: RootRef): PType">mutateType(t: PType; iter: TTypeMutator; closure: RootRef): PType</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">normalizeKind
|
|
<li><a class="reference" href="#normalizeKind%2CConfigRef%2CTTypeKind" title="normalizeKind(conf: ConfigRef; k: TTypeKind): TTypeKind">normalizeKind(conf: ConfigRef; k: TTypeKind): TTypeKind</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">safeInheritanceDiff
|
|
<li><a class="reference" href="#safeInheritanceDiff%2CPType%2CPType" title="safeInheritanceDiff(a, b: PType): int">safeInheritanceDiff(a, b: PType): int</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">safeSkipTypes
|
|
<li><a class="reference" href="#safeSkipTypes%2CPType%2CTTypeKinds" title="safeSkipTypes(t: PType; kinds: TTypeKinds): PType">safeSkipTypes(t: PType; kinds: TTypeKinds): PType</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">sameBackendType
|
|
<li><a class="reference" href="#sameBackendType%2CPType%2CPType" title="sameBackendType(x, y: PType): bool">sameBackendType(x, y: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">sameDistinctTypes
|
|
<li><a class="reference" href="#sameDistinctTypes%2CPType%2CPType" title="sameDistinctTypes(a, b: PType): bool">sameDistinctTypes(a, b: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">sameEnumTypes
|
|
<li><a class="reference" href="#sameEnumTypes%2CPType%2CPType" title="sameEnumTypes(a, b: PType): bool">sameEnumTypes(a, b: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">sameFlags
|
|
<li><a class="reference" href="#sameFlags%2CPType%2CPType" title="sameFlags(a, b: PType): bool">sameFlags(a, b: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">sameObjectTypes
|
|
<li><a class="reference" href="#sameObjectTypes%2CPType%2CPType" title="sameObjectTypes(a, b: PType): bool">sameObjectTypes(a, b: PType): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">sameType
|
|
<li><a class="reference" href="#sameType%2CPType%2CPType%2CTTypeCmpFlags" title="sameType(a, b: PType; flags: TTypeCmpFlags = {}): bool">sameType(a, b: PType; flags: TTypeCmpFlags = {}): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">sameTypeOrNil
|
|
<li><a class="reference" href="#sameTypeOrNil%2CPType%2CPType%2CTTypeCmpFlags" title="sameTypeOrNil(a, b: PType; flags: TTypeCmpFlags = {}): bool">sameTypeOrNil(a, b: PType; flags: TTypeCmpFlags = {}): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">searchTypeFor
|
|
<li><a class="reference" href="#searchTypeFor%2CPType%2CTTypePredicate" title="searchTypeFor(t: PType; predicate: TTypePredicate): bool">searchTypeFor(t: PType; predicate: TTypePredicate): bool</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">skipConv
|
|
<li><a class="reference" href="#skipConv%2CPNode" title="skipConv(n: PNode): PNode">skipConv(n: PNode): PNode</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">skipConvTakeType
|
|
<li><a class="reference" href="#skipConvTakeType%2CPNode" title="skipConvTakeType(n: PNode): PNode">skipConvTakeType(n: PNode): PNode</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">skipGenericAlias
|
|
<li><a class="reference" href="#skipGenericAlias%2CPType" title="skipGenericAlias(t: PType): PType">skipGenericAlias(t: PType): PType</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">skipHidden
|
|
<li><a class="reference" href="#skipHidden%2CPNode" title="skipHidden(n: PNode): PNode">skipHidden(n: PNode): PNode</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">skipHiddenSubConv
|
|
<li><a class="reference" href="#skipHiddenSubConv%2CPNode%2CModuleGraph%2CIdGenerator" title="skipHiddenSubConv(n: PNode; g: ModuleGraph; idgen: IdGenerator): PNode">skipHiddenSubConv(n: PNode; g: ModuleGraph; idgen: IdGenerator): PNode</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">takeType
|
|
<li><a class="reference" href="#takeType%2CPType%2CPType%2CModuleGraph%2CIdGenerator" title="takeType(formal, arg: PType; g: ModuleGraph; idgen: IdGenerator): PType">takeType(formal, arg: PType; g: ModuleGraph; idgen: IdGenerator): PType</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">targetSizeSignedToKind
|
|
<li><a class="reference" href="#targetSizeSignedToKind%2CConfigRef" title="targetSizeSignedToKind(conf: ConfigRef): TTypeKind">targetSizeSignedToKind(conf: ConfigRef): TTypeKind</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">targetSizeUnsignedToKind
|
|
<li><a class="reference" href="#targetSizeUnsignedToKind%2CConfigRef" title="targetSizeUnsignedToKind(conf: ConfigRef): TTypeKind">targetSizeUnsignedToKind(conf: ConfigRef): TTypeKind</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">typeMismatch
|
|
<li><a class="reference" href="#typeMismatch%2CConfigRef%2CTLineInfo%2CPType%2CPType%2CPNode" title="typeMismatch(conf: ConfigRef; info: TLineInfo; formal, actual: PType; n: PNode)">typeMismatch(conf: ConfigRef; info: TLineInfo; formal, actual: PType; n: PNode)</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">typeToString
|
|
<li><a class="reference" href="#typeToString%2CPType%2CTPreferedDesc" title="typeToString(typ: PType; prefer: TPreferedDesc = preferName): string">typeToString(typ: PType; prefer: TPreferedDesc = preferName): string</a></li>
|
|
|
|
</ul>
|
|
|
|
</ul>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details open>
|
|
<summary><a class="reference reference-toplevel" href="#18" id="68">Templates</a></summary>
|
|
<ul class="simple simple-toc-section">
|
|
<ul class="simple nested-toc-section">$
|
|
<li><a class="reference" href="#%24.t%2CPType" title="`$`(typ: PType): string">`$`(typ: PType): string</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">bindConcreteTypeToUserTypeClass
|
|
<li><a class="reference" href="#bindConcreteTypeToUserTypeClass.t%2CPType%2CPType" title="bindConcreteTypeToUserTypeClass(tc, concrete: PType)">bindConcreteTypeToUserTypeClass(tc, concrete: PType)</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">foldAlignOf
|
|
<li><a class="reference" href="#foldAlignOf.t%2CConfigRef%2CPNode%2CPNode" title="foldAlignOf(conf: ConfigRef; n: PNode; fallback: PNode): PNode">foldAlignOf(conf: ConfigRef; n: PNode; fallback: PNode): PNode</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">foldOffsetOf
|
|
<li><a class="reference" href="#foldOffsetOf.t%2CConfigRef%2CPNode%2CPNode" title="foldOffsetOf(conf: ConfigRef; n: PNode; fallback: PNode): PNode">foldOffsetOf(conf: ConfigRef; n: PNode; fallback: PNode): PNode</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">foldSizeOf
|
|
<li><a class="reference" href="#foldSizeOf.t%2CConfigRef%2CPNode%2CPNode" title="foldSizeOf(conf: ConfigRef; n: PNode; fallback: PNode): PNode">foldSizeOf(conf: ConfigRef; n: PNode; fallback: PNode): PNode</a></li>
|
|
|
|
</ul>
|
|
<ul class="simple nested-toc-section">isResolvedUserTypeClass
|
|
<li><a class="reference" href="#isResolvedUserTypeClass.t%2CPType" title="isResolvedUserTypeClass(t: PType): bool">isResolvedUserTypeClass(t: PType): bool</a></li>
|
|
|
|
</ul>
|
|
|
|
</ul>
|
|
</details>
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
<div class="nine columns" id="content">
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
<div id="tocRoot"></div>
|
|
|
|
<p class="module-desc">code owner: Arne Döring e-mail: arne.doering@gmx.net included from types.nim</p>
|
|
<div class="section" id="6">
|
|
<h1><a class="toc-backref" href="#6">Imports</a></h1>
|
|
<dl class="item">
|
|
<a class="reference external" href="ast.html">ast</a>, <a class="reference external" href="astalgo.html">astalgo</a>, <a class="reference external" href="trees.html">trees</a>, <a class="reference external" href="msgs.html">msgs</a>, <a class="reference external" href="platform.html">platform</a>, <a class="reference external" href="renderer.html">renderer</a>, <a class="reference external" href="options.html">options</a>, <a class="reference external" href="lineinfos.html">lineinfos</a>, <a class="reference external" href="int128.html">int128</a>, <a class="reference external" href="modulegraphs.html">modulegraphs</a>, <a class="reference external" href="astmsgs.html">astmsgs</a>
|
|
</dl>
|
|
</div>
|
|
<div class="section" id="7">
|
|
<h1><a class="toc-backref" href="#7">Types</a></h1>
|
|
<dl class="item">
|
|
<div id="EffectsCompat">
|
|
<dt><pre><a href="types.html#EffectsCompat"><span class="Identifier">EffectsCompat</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
|
<span class="Identifier">efCompat</span><span class="Other">,</span> <span class="Identifier">efRaisesDiffer</span><span class="Other">,</span> <span class="Identifier">efRaisesUnknown</span><span class="Other">,</span> <span class="Identifier">efTagsDiffer</span><span class="Other">,</span> <span class="Identifier">efTagsUnknown</span><span class="Other">,</span>
|
|
<span class="Identifier">efEffectsDelayed</span><span class="Other">,</span> <span class="Identifier">efTagsIllegal</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1417" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1417" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="OrdinalType">
|
|
<dt><pre><a href="types.html#OrdinalType"><span class="Identifier">OrdinalType</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
|
<span class="Identifier">NoneLike</span><span class="Other">,</span> <span class="Identifier">IntLike</span><span class="Other">,</span> <span class="Identifier">FloatLike</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1492" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1492" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="ProcConvMismatch">
|
|
<dt><pre><a href="types.html#ProcConvMismatch"><span class="Identifier">ProcConvMismatch</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
|
<span class="Identifier">pcmNoSideEffect</span><span class="Other">,</span> <span class="Identifier">pcmNotGcSafe</span><span class="Other">,</span> <span class="Identifier">pcmNotIterator</span><span class="Other">,</span> <span class="Identifier">pcmDifferentCallConv</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L48" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L48" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TDistinctCompare">
|
|
<dt><pre><a href="types.html#TDistinctCompare"><span class="Identifier">TDistinctCompare</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
|
<span class="Identifier">dcEq</span><span class="Other">,</span> <span class="Comment">## a and b should be the same type</span>
|
|
<span class="Identifier">dcEqIgnoreDistinct</span><span class="Other">,</span> <span class="Comment">## compare symmetrically: (distinct a) == b, a == b</span>
|
|
<span class="Comment">## or a == (distinct b)</span>
|
|
<span class="Identifier">dcEqOrDistinctOf</span> <span class="Comment">## a equals b or a is distinct of b</span></pre></dt>
|
|
<dd>
|
|
|
|
how distinct types are to be compared
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L921" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L921" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TParamsEquality">
|
|
<dt><pre><a href="types.html#TParamsEquality"><span class="Identifier">TParamsEquality</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
|
<span class="Identifier">paramsNotEqual</span><span class="Other">,</span> <span class="Identifier">paramsEqual</span><span class="Other">,</span> <span class="Identifier">paramsIncompatible</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L80" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L80" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TPreferedDesc">
|
|
<dt><pre><a href="types.html#TPreferedDesc"><span class="Identifier">TPreferedDesc</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
|
<span class="Identifier">preferName</span><span class="Other">,</span> <span class="Identifier">preferDesc</span><span class="Other">,</span> <span class="Identifier">preferExported</span><span class="Other">,</span> <span class="Identifier">preferModuleInfo</span><span class="Other">,</span> <span class="Identifier">preferGenericArg</span><span class="Other">,</span>
|
|
<span class="Identifier">preferTypeName</span><span class="Other">,</span> <span class="Identifier">preferResolved</span><span class="Other">,</span> <span class="Identifier">preferMixed</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L20" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L20" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TTypeCmpFlag">
|
|
<dt><pre><a href="types.html#TTypeCmpFlag"><span class="Identifier">TTypeCmpFlag</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
|
<span class="Identifier">IgnoreTupleFields</span><span class="Other">,</span> <span class="Comment">## NOTE: Only set this flag for backends!</span>
|
|
<span class="Identifier">IgnoreCC</span><span class="Other">,</span> <span class="Identifier">ExactTypeDescValues</span><span class="Other">,</span> <span class="Identifier">ExactGenericParams</span><span class="Other">,</span> <span class="Identifier">ExactConstraints</span><span class="Other">,</span>
|
|
<span class="Identifier">ExactGcSafety</span><span class="Other">,</span> <span class="Identifier">AllowCommonBase</span><span class="Other">,</span> <span class="Identifier">PickyCAliases</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L927" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L927" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TTypeCmpFlags">
|
|
<dt><pre><a href="types.html#TTypeCmpFlags"><span class="Identifier">TTypeCmpFlags</span></a> <span class="Other">=</span> <span class="Identifier">set</span><span class="Other">[</span><a href="types.html#TTypeCmpFlag"><span class="Identifier">TTypeCmpFlag</span></a><span class="Other">]</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L937" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L937" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TTypeFieldResult">
|
|
<dt><pre><a href="types.html#TTypeFieldResult"><span class="Identifier">TTypeFieldResult</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
|
<span class="Identifier">frNone</span><span class="Other">,</span> <span class="Identifier">frHeader</span><span class="Other">,</span> <span class="Identifier">frEmbedded</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L299" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L299" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TTypeIter">
|
|
<dt><pre><a href="types.html#TTypeIter"><span class="Identifier">TTypeIter</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">closure</span><span class="Other">:</span> <span class="Identifier">RootRef</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">nimcall</span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L70" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L70" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TTypeMutator">
|
|
<dt><pre><a href="types.html#TTypeMutator"><span class="Identifier">TTypeMutator</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">closure</span><span class="Other">:</span> <span class="Identifier">RootRef</span><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a> {.<span class="Identifier">nimcall</span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L71" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L71" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TTypePredicate">
|
|
<dt><pre><a href="types.html#TTypePredicate"><span class="Identifier">TTypePredicate</span></a> <span class="Other">=</span> <span class="Keyword">proc</span> <span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">nimcall</span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L72" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L72" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="TTypeRelation">
|
|
<dt><pre><a href="types.html#TTypeRelation"><span class="Identifier">TTypeRelation</span></a> <span class="Other">=</span> <span class="Keyword">enum</span>
|
|
<span class="Identifier">isNone</span><span class="Other">,</span> <span class="Identifier">isConvertible</span><span class="Other">,</span> <span class="Identifier">isIntConv</span><span class="Other">,</span> <span class="Identifier">isSubtype</span><span class="Other">,</span> <span class="Identifier">isSubrange</span><span class="Other">,</span>
|
|
<span class="Identifier">isBothMetaConvertible</span><span class="Other">,</span> <span class="Identifier">isInferred</span><span class="Other">,</span> <span class="Identifier">isInferredConvertible</span><span class="Other">,</span> <span class="Identifier">isGeneric</span><span class="Other">,</span>
|
|
<span class="Identifier">isFromIntLit</span><span class="Other">,</span> <span class="Identifier">isEqual</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L32" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L32" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</dl>
|
|
</div>
|
|
<div class="section" id="10">
|
|
<h1><a class="toc-backref" href="#10">Consts</a></h1>
|
|
<dl class="item">
|
|
<div id="abstractInstOwned">
|
|
<dt><pre><a href="types.html#abstractInstOwned"><span class="Identifier">abstractInstOwned</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyAlias</span><span class="Other">,</span> <span class="DecNumber">tyTypeDesc</span><span class="Other">,</span> <span class="DecNumber">tyGenericInst</span><span class="Other">,</span> <span class="DecNumber">tyDistinct</span><span class="Other">,</span> <span class="DecNumber">tyOrdinal</span><span class="Other">,</span>
|
|
<span class="DecNumber">tyOwned</span><span class="Other">..</span><span class="DecNumber">tySink</span><span class="Other">,</span> <span class="DecNumber">tyInferred</span><span class="Other">}</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L101" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L101" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="abstractPtrs">
|
|
<dt><pre><a href="types.html#abstractPtrs"><span class="Identifier">abstractPtrs</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyVar</span><span class="Other">,</span> <span class="DecNumber">tyPtr</span><span class="Other">,</span> <span class="DecNumber">tyRef</span><span class="Other">,</span> <span class="DecNumber">tyGenericInst</span><span class="Other">,</span> <span class="DecNumber">tyDistinct</span><span class="Other">,</span> <span class="DecNumber">tyOrdinal</span><span class="Other">,</span>
|
|
<span class="DecNumber">tyTypeDesc</span><span class="Other">,</span> <span class="DecNumber">tyAlias</span><span class="Other">,</span> <span class="DecNumber">tyInferred</span><span class="Other">,</span> <span class="DecNumber">tySink</span><span class="Other">,</span> <span class="DecNumber">tyLent</span><span class="Other">,</span> <span class="DecNumber">tyOwned</span><span class="Other">}</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L95" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L95" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="abstractRange">
|
|
<dt><pre><a href="types.html#abstractRange"><span class="Identifier">abstractRange</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyGenericInst</span><span class="Other">,</span> <span class="DecNumber">tyRange</span><span class="Other">,</span> <span class="DecNumber">tyDistinct</span><span class="Other">,</span> <span class="DecNumber">tyOrdinal</span><span class="Other">,</span> <span class="DecNumber">tyTypeDesc</span><span class="Other">,</span>
|
|
<span class="DecNumber">tyAlias</span><span class="Other">,</span> <span class="DecNumber">tyInferred</span><span class="Other">,</span> <span class="DecNumber">tySink</span><span class="Other">,</span> <span class="DecNumber">tyOwned</span><span class="Other">}</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L99" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L99" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="abstractVar">
|
|
<dt><pre><a href="types.html#abstractVar"><span class="Identifier">abstractVar</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyVar</span><span class="Other">,</span> <span class="DecNumber">tyGenericInst</span><span class="Other">,</span> <span class="DecNumber">tyDistinct</span><span class="Other">,</span> <span class="DecNumber">tyOrdinal</span><span class="Other">,</span> <span class="DecNumber">tyTypeDesc</span><span class="Other">,</span> <span class="DecNumber">tyAlias</span><span class="Other">,</span>
|
|
<span class="DecNumber">tyInferred</span><span class="Other">,</span> <span class="DecNumber">tySink</span><span class="Other">,</span> <span class="DecNumber">tyLent</span><span class="Other">,</span> <span class="DecNumber">tyOwned</span><span class="Other">}</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L97" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L97" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="skipPtrs">
|
|
<dt><pre><a href="types.html#skipPtrs"><span class="Identifier">skipPtrs</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyVar</span><span class="Other">,</span> <span class="DecNumber">tyPtr</span><span class="Other">,</span> <span class="DecNumber">tyRef</span><span class="Other">,</span> <span class="DecNumber">tyGenericInst</span><span class="Other">,</span> <span class="DecNumber">tyTypeDesc</span><span class="Other">,</span> <span class="DecNumber">tyAlias</span><span class="Other">,</span> <span class="DecNumber">tyInferred</span><span class="Other">,</span>
|
|
<span class="DecNumber">tySink</span><span class="Other">,</span> <span class="DecNumber">tyLent</span><span class="Other">,</span> <span class="DecNumber">tyOwned</span><span class="Other">}</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L102" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L102" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="szIllegalRecursion">
|
|
<dt><pre><a href="types.html#szIllegalRecursion"><span class="Identifier">szIllegalRecursion</span></a> <span class="Other">=</span> <span class="DecNumber">-2</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/sizealignoffsetimpl.nim#L22" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/sizealignoffsetimpl.nim#L22" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="szTooBigSize">
|
|
<dt><pre><a href="types.html#szTooBigSize"><span class="Identifier">szTooBigSize</span></a> <span class="Other">=</span> <span class="DecNumber">-4</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/sizealignoffsetimpl.nim#L24" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/sizealignoffsetimpl.nim#L24" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="szUncomputedSize">
|
|
<dt><pre><a href="types.html#szUncomputedSize"><span class="Identifier">szUncomputedSize</span></a> <span class="Other">=</span> <span class="DecNumber">-1</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/sizealignoffsetimpl.nim#L23" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/sizealignoffsetimpl.nim#L23" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="szUnknownSize">
|
|
<dt><pre><a href="types.html#szUnknownSize"><span class="Identifier">szUnknownSize</span></a> <span class="Other">=</span> <span class="DecNumber">-3</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/sizealignoffsetimpl.nim#L21" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/sizealignoffsetimpl.nim#L21" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="typedescInst">
|
|
<dt><pre><a href="types.html#typedescInst"><span class="Identifier">typedescInst</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyAlias</span><span class="Other">,</span> <span class="DecNumber">tyTypeDesc</span><span class="Other">,</span> <span class="DecNumber">tyGenericInst</span><span class="Other">,</span> <span class="DecNumber">tyDistinct</span><span class="Other">,</span> <span class="DecNumber">tyOrdinal</span><span class="Other">,</span>
|
|
<span class="DecNumber">tyOwned</span><span class="Other">..</span><span class="DecNumber">tySink</span><span class="Other">,</span> <span class="DecNumber">tyUserTypeClass</span><span class="Other">,</span> <span class="DecNumber">tyInferred</span><span class="Other">}</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L106" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L106" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
<div id="typedescPtrs">
|
|
<dt><pre><a href="types.html#typedescPtrs"><span class="Identifier">typedescPtrs</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="DecNumber">tyAlias</span><span class="Other">,</span> <span class="DecNumber">tyTypeDesc</span><span class="Other">,</span> <span class="DecNumber">tyGenericInst</span><span class="Other">,</span> <span class="DecNumber">tyDistinct</span><span class="Other">,</span> <span class="DecNumber">tyOrdinal</span><span class="Other">,</span>
|
|
<span class="DecNumber">tyPtr</span><span class="Other">..</span><span class="DecNumber">tyVar</span><span class="Other">,</span> <span class="DecNumber">tyOwned</span><span class="Other">..</span><span class="DecNumber">tyLent</span><span class="Other">,</span> <span class="DecNumber">tyInferred</span><span class="Other">}</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L105" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L105" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</dl>
|
|
</div>
|
|
<div class="section" id="12">
|
|
<h1><a class="toc-backref" href="#12">Procs</a></h1>
|
|
<dl class="item">
|
|
<div id="addPragmaAndCallConvMismatch-procs-all">
|
|
<div id="addPragmaAndCallConvMismatch,string,PType,PType,ConfigRef">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#addPragmaAndCallConvMismatch%2Cstring%2CPType%2CPType%2CConfigRef"><span class="Identifier">addPragmaAndCallConvMismatch</span></a><span class="Other">(</span><span class="Identifier">message</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">formal</span><span class="Other">,</span> <span class="Identifier">actual</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span>
|
|
<span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1609" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1609" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="addTypeDeclVerboseMaybe-procs-all">
|
|
<div id="addTypeDeclVerboseMaybe,string,ConfigRef,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#addTypeDeclVerboseMaybe%2Cstring%2CConfigRef%2CPType"><span class="Identifier">addTypeDeclVerboseMaybe</span></a><span class="Other">(</span><span class="Identifier">result</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L56" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L56" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="addTypeHeader-procs-all">
|
|
<div id="addTypeHeader,string,ConfigRef,PType,TPreferedDesc">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#addTypeHeader%2Cstring%2CConfigRef%2CPType%2CTPreferedDesc"><span class="Identifier">addTypeHeader</span></a><span class="Other">(</span><span class="Identifier">result</span><span class="Other">:</span> <span class="Keyword">var</span> <span class="Identifier">string</span><span class="Other">;</span> <span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span>
|
|
<span class="Identifier">prefer</span><span class="Other">:</span> <a href="types.html#TPreferedDesc"><span class="Identifier">TPreferedDesc</span></a> <span class="Other">=</span> <span class="Identifier">preferMixed</span><span class="Other">;</span>
|
|
<span class="Identifier">getDeclarationPath</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L156" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L156" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="analyseObjectWithTypeField-procs-all">
|
|
<div id="analyseObjectWithTypeField,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#analyseObjectWithTypeField%2CPType"><span class="Identifier">analyseObjectWithTypeField</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="types.html#TTypeFieldResult"><span class="Identifier">TTypeFieldResult</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L333" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L333" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="base-procs-all">
|
|
<div id="base,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#base%2CPType"><span class="Identifier">base</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L65" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L65" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="baseOfDistinct-procs-all">
|
|
<div id="baseOfDistinct,PType,ModuleGraph,IdGenerator">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#baseOfDistinct%2CPType%2CModuleGraph%2CIdGenerator"><span class="Identifier">baseOfDistinct</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1378" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1378" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="canFormAcycle-procs-all">
|
|
<div id="canFormAcycle,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#canFormAcycle%2CPType"><span class="Identifier">canFormAcycle</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L415" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L415" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="classify-procs-all">
|
|
<div id="classify,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#classify%2CPType"><span class="Identifier">classify</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="types.html#OrdinalType"><span class="Identifier">OrdinalType</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
for convenient type checking:
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1495" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1495" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="commonSuperclass-procs-all">
|
|
<div id="commonSuperclass,PType,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#commonSuperclass%2CPType%2CPType"><span class="Identifier">commonSuperclass</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1309" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1309" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="compareTypes-procs-all">
|
|
<div id="compareTypes,PType,PType,TDistinctCompare,TTypeCmpFlags">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#compareTypes%2CPType%2CPType%2CTDistinctCompare%2CTTypeCmpFlags"><span class="Identifier">compareTypes</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">cmp</span><span class="Other">:</span> <a href="types.html#TDistinctCompare"><span class="Identifier">TDistinctCompare</span></a> <span class="Other">=</span> <span class="Identifier">dcEq</span><span class="Other">;</span>
|
|
<span class="Identifier">flags</span><span class="Other">:</span> <a href="types.html#TTypeCmpFlags"><span class="Identifier">TTypeCmpFlags</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="Other">}</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
compares two type for equality (modulo type distinction)
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1274" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1274" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="compatibleEffects-procs-all">
|
|
<div id="compatibleEffects,PType,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#compatibleEffects%2CPType%2CPType"><span class="Identifier">compatibleEffects</span></a><span class="Other">(</span><span class="Identifier">formal</span><span class="Other">,</span> <span class="Identifier">actual</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="types.html#EffectsCompat"><span class="Identifier">EffectsCompat</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1426" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1426" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="computeSize-procs-all">
|
|
<div id="computeSize,ConfigRef,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#computeSize%2CConfigRef%2CPType"><span class="Identifier">computeSize</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
|
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1345" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1345" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="containsCompileTimeOnly-procs-all">
|
|
<div id="containsCompileTimeOnly,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#containsCompileTimeOnly%2CPType"><span class="Identifier">containsCompileTimeOnly</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1477" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1477" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="containsGarbageCollectedRef-procs-all">
|
|
<div id="containsGarbageCollectedRef,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#containsGarbageCollectedRef%2CPType"><span class="Identifier">containsGarbageCollectedRef</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L346" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L346" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="containsGenericType-procs-all">
|
|
<div id="containsGenericType,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#containsGenericType%2CPType"><span class="Identifier">containsGenericType</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1375" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1375" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="containsHiddenPointer-procs-all">
|
|
<div id="containsHiddenPointer,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#containsHiddenPointer%2CPType"><span class="Identifier">containsHiddenPointer</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L368" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L368" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="containsManagedMemory-procs-all">
|
|
<div id="containsManagedMemory,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#containsManagedMemory%2CPType"><span class="Identifier">containsManagedMemory</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L355" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L355" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="containsObject-procs-all">
|
|
<div id="containsObject,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#containsObject%2CPType"><span class="Identifier">containsObject</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L290" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L290" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="containsTyRef-procs-all">
|
|
<div id="containsTyRef,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#containsTyRef%2CPType"><span class="Identifier">containsTyRef</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L361" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L361" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="elemType-procs-all">
|
|
<div id="elemType,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#elemType%2CPType"><span class="Identifier">elemType</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L181" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L181" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="enumHasHoles-procs-all">
|
|
<div id="enumHasHoles,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#enumHasHoles%2CPType"><span class="Identifier">enumHasHoles</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L190" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L190" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="equalParams-procs-all">
|
|
<div id="equalParams,PNode,PNode">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#equalParams%2CPNode%2CPNode"><span class="Identifier">equalParams</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="types.html#TParamsEquality"><span class="Identifier">TParamsEquality</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L89" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L89" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="firstFloat-procs-all">
|
|
<div id="firstFloat,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#firstFloat%2CPType"><span class="Identifier">firstFloat</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">BiggestFloat</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
|
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L790" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L790" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="firstOrd-procs-all">
|
|
<div id="firstOrd,ConfigRef,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#firstOrd%2CConfigRef%2CPType"><span class="Identifier">firstOrd</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="int128.html#Int128"><span class="Identifier">Int128</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
|
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L745" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L745" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="floatRangeCheck-procs-all">
|
|
<div id="floatRangeCheck,BiggestFloat,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#floatRangeCheck%2CBiggestFloat%2CPType"><span class="Identifier">floatRangeCheck</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">:</span> <span class="Identifier">BiggestFloat</span><span class="Other">;</span> <span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
|
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L893" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L893" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="getAlign-procs-all">
|
|
<div id="getAlign,ConfigRef,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#getAlign%2CConfigRef%2CPType"><span class="Identifier">getAlign</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
|
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1354" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1354" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="getFloatValue-procs-all">
|
|
<div id="getFloatValue,PNode">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#getFloatValue%2CPNode"><span class="Identifier">getFloatValue</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">BiggestFloat</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L144" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L144" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="getOrdValue-procs-all">
|
|
<div id="getOrdValue,PNode">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#getOrdValue%2CPNode"><span class="Identifier">getOrdValue</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">onError</span> <span class="Other">=</span> <span class="Identifier">high</span><span class="Other">(</span><a href="int128.html#Int128"><span class="Identifier">Int128</span></a><span class="Other">)</span><span class="Other">)</span><span class="Other">:</span> <a href="int128.html#Int128"><span class="Identifier">Int128</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L120" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L120" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="getProcConvMismatch-procs-all">
|
|
<div id="getProcConvMismatch,ConfigRef,PType,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#getProcConvMismatch%2CConfigRef%2CPType%2CPType"><span class="Identifier">getProcConvMismatch</span></a><span class="Other">(</span><span class="Identifier">c</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">f</span><span class="Other">,</span> <span class="Identifier">a</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">rel</span> <span class="Other">=</span> <span class="Identifier">isNone</span><span class="Other">)</span><span class="Other">:</span> <span class="Other">(</span>
|
|
<span class="Identifier">set</span><span class="Other">[</span><a href="types.html#ProcConvMismatch"><span class="Identifier">ProcConvMismatch</span></a><span class="Other">]</span><span class="Other">,</span> <a href="types.html#TTypeRelation"><span class="Identifier">TTypeRelation</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
Returns a set of the reason of mismatch, and the relation for conversion.
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1578" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1578" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="getProcHeader-procs-all">
|
|
<div id="getProcHeader,ConfigRef,PSym,TPreferedDesc">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#getProcHeader%2CConfigRef%2CPSym%2CTPreferedDesc"><span class="Identifier">getProcHeader</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">sym</span><span class="Other">:</span> <a href="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">;</span>
|
|
<span class="Identifier">prefer</span><span class="Other">:</span> <a href="types.html#TPreferedDesc"><span class="Identifier">TPreferedDesc</span></a> <span class="Other">=</span> <span class="Identifier">preferName</span><span class="Other">;</span> <span class="Identifier">getDeclarationPath</span> <span class="Other">=</span> <span class="Identifier">true</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L160" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L160" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="getReturnType-procs-all">
|
|
<div id="getReturnType,PSym">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#getReturnType%2CPSym"><span class="Identifier">getReturnType</span></a><span class="Other">(</span><span class="Identifier">s</span><span class="Other">:</span> <a href="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1349" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1349" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="getSize-procs-all">
|
|
<div id="getSize,ConfigRef,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#getSize%2CConfigRef%2CPType"><span class="Identifier">getSize</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">BiggestInt</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
|
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1358" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1358" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="inheritanceDiff-procs-all">
|
|
<div id="inheritanceDiff,PType,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#inheritanceDiff%2CPType%2CPType"><span class="Identifier">inheritanceDiff</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">int</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1285" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1285" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="invalidGenericInst-procs-all">
|
|
<div id="invalidGenericInst,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#invalidGenericInst%2CPType"><span class="Identifier">invalidGenericInst</span></a><span class="Other">(</span><span class="Identifier">f</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L108" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L108" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isCharArrayPtr-procs-all">
|
|
<div id="isCharArrayPtr,PType,bool">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isCharArrayPtr%2CPType%2Cbool"><span class="Identifier">isCharArrayPtr</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">allowPointerToChar</span><span class="Other">:</span> <span class="Identifier">bool</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
|
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1757" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1757" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isCompileTimeOnly-procs-all">
|
|
<div id="isCompileTimeOnly,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isCompileTimeOnly%2CPType"><span class="Identifier">isCompileTimeOnly</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1474" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1474" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isDefectException-procs-all">
|
|
<div id="isDefectException,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isDefectException%2CPType"><span class="Identifier">isDefectException</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1713" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1713" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isDefectOrCatchableError-procs-all">
|
|
<div id="isDefectOrCatchableError,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isDefectOrCatchableError%2CPType"><span class="Identifier">isDefectOrCatchableError</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1724" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1724" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isEmptyContainer-procs-all">
|
|
<div id="isEmptyContainer,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isEmptyContainer%2CPType"><span class="Identifier">isEmptyContainer</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1535" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1535" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isException-procs-all">
|
|
<div id="isException,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isException%2CPType"><span class="Identifier">isException</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1702" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1702" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isFinal-procs-all">
|
|
<div id="isFinal,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isFinal%2CPType"><span class="Identifier">isFinal</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L411" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L411" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isFloatLit-procs-all">
|
|
<div id="isFloatLit,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isFloatLit%2CPType"><span class="Identifier">isFloatLit</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L153" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L153" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isGenericAlias-procs-all">
|
|
<div id="isGenericAlias,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isGenericAlias%2CPType"><span class="Identifier">isGenericAlias</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1126" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1126" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isIntLit-procs-all">
|
|
<div id="isIntLit,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isIntLit%2CPType"><span class="Identifier">isIntLit</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L150" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L150" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isOrdinalType-procs-all">
|
|
<div id="isOrdinalType,PType,bool">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isOrdinalType%2CPType%2Cbool"><span class="Identifier">isOrdinalType</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">allowEnumWithHoles</span><span class="Other">:</span> <span class="Identifier">bool</span> <span class="Other">=</span> <span class="Identifier">false</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L194" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L194" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isPureObject-procs-all">
|
|
<div id="isPureObject,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isPureObject%2CPType"><span class="Identifier">isPureObject</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L111" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L111" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isSinkTypeForParam-procs-all">
|
|
<div id="isSinkTypeForParam,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isSinkTypeForParam%2CPType"><span class="Identifier">isSinkTypeForParam</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1736" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1736" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isTupleRecursive-procs-all">
|
|
<div id="isTupleRecursive,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isTupleRecursive%2CPType"><span class="Identifier">isTupleRecursive</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1698" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1698" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isUnsigned-procs-all">
|
|
<div id="isUnsigned,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#isUnsigned%2CPType"><span class="Identifier">isUnsigned</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L117" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L117" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="iterOverType-procs-all">
|
|
<div id="iterOverType,PType,TTypeIter,RootRef">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#iterOverType%2CPType%2CTTypeIter%2CRootRef"><span class="Identifier">iterOverType</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">iter</span><span class="Other">:</span> <a href="types.html#TTypeIter"><span class="Identifier">TTypeIter</span></a><span class="Other">;</span> <span class="Identifier">closure</span><span class="Other">:</span> <span class="Identifier">RootRef</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L74" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L74" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="lacksMTypeField-procs-all">
|
|
<div id="lacksMTypeField,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#lacksMTypeField%2CPType"><span class="Identifier">lacksMTypeField</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1772" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1772" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="lastFloat-procs-all">
|
|
<div id="lastFloat,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#lastFloat%2CPType"><span class="Identifier">lastFloat</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">BiggestFloat</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
|
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L878" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L878" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="lastOrd-procs-all">
|
|
<div id="lastOrd,ConfigRef,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#lastOrd%2CConfigRef%2CPType"><span class="Identifier">lastOrd</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="int128.html#Int128"><span class="Identifier">Int128</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
|
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L828" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L828" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="lengthOrd-procs-all">
|
|
<div id="lengthOrd,ConfigRef,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#lengthOrd%2CConfigRef%2CPType"><span class="Identifier">lengthOrd</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="int128.html#Int128"><span class="Identifier">Int128</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span>
|
|
<span class="Identifier">RootEffect</span><span class="Other">,</span> <span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L910" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L910" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="lookupFieldAgain-procs-all">
|
|
<div id="lookupFieldAgain,PType,PSym">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#lookupFieldAgain%2CPType%2CPSym"><span class="Identifier">lookupFieldAgain</span></a><span class="Other">(</span><span class="Identifier">ty</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">field</span><span class="Other">:</span> <a href="ast.html#PSym"><span class="Identifier">PSym</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PSym"><span class="Identifier">PSym</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1747" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1747" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="matchType-procs-all">
|
|
<div id="matchType,PType,openArray[tuple[TTypeKind,int]],TTypeKind">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#matchType%2CPType%2CopenArray%5Btuple%5BTTypeKind%2Cint%5D%5D%2CTTypeKind"><span class="Identifier">matchType</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">pattern</span><span class="Other">:</span> <span class="Identifier">openArray</span><span class="Other">[</span><span class="Keyword">tuple</span><span class="Other">[</span><span class="Identifier">k</span><span class="Other">:</span> <a href="ast.html#TTypeKind"><span class="Identifier">TTypeKind</span></a><span class="Other">,</span> <span class="Identifier">i</span><span class="Other">:</span> <span class="Identifier">int</span><span class="Other">]</span><span class="Other">]</span><span class="Other">;</span>
|
|
<span class="Identifier">last</span><span class="Other">:</span> <a href="ast.html#TTypeKind"><span class="Identifier">TTypeKind</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1333" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1333" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="mutateType-procs-all">
|
|
<div id="mutateType,PType,TTypeMutator,RootRef">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#mutateType%2CPType%2CTTypeMutator%2CRootRef"><span class="Identifier">mutateType</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">iter</span><span class="Other">:</span> <a href="types.html#TTypeMutator"><span class="Identifier">TTypeMutator</span></a><span class="Other">;</span> <span class="Identifier">closure</span><span class="Other">:</span> <span class="Identifier">RootRef</span><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L76" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L76" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="normalizeKind-procs-all">
|
|
<div id="normalizeKind,ConfigRef,TTypeKind">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#normalizeKind%2CConfigRef%2CTTypeKind"><span class="Identifier">normalizeKind</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">k</span><span class="Other">:</span> <a href="ast.html#TTypeKind"><span class="Identifier">TTypeKind</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#TTypeKind"><span class="Identifier">TTypeKind</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L819" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L819" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="safeInheritanceDiff-procs-all">
|
|
<div id="safeInheritanceDiff,PType,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#safeInheritanceDiff%2CPType%2CPType"><span class="Identifier">safeInheritanceDiff</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">int</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1392" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1392" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="safeSkipTypes-procs-all">
|
|
<div id="safeSkipTypes,PType,TTypeKinds">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#safeSkipTypes%2CPType%2CTTypeKinds"><span class="Identifier">safeSkipTypes</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">kinds</span><span class="Other">:</span> <a href="ast.html#TTypeKinds"><span class="Identifier">TTypeKinds</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
same as 'skipTypes' but with a simple cycle detector.
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1484" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1484" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="sameBackendType-procs-all">
|
|
<div id="sameBackendType,PType,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#sameBackendType%2CPType%2CPType"><span class="Identifier">sameBackendType</span></a><span class="Other">(</span><span class="Identifier">x</span><span class="Other">,</span> <span class="Identifier">y</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1268" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1268" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="sameDistinctTypes-procs-all">
|
|
<div id="sameDistinctTypes,PType,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#sameDistinctTypes%2CPType%2CPType"><span class="Identifier">sameDistinctTypes</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1080" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1080" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="sameEnumTypes-procs-all">
|
|
<div id="sameEnumTypes,PType,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#sameEnumTypes%2CPType%2CPType"><span class="Identifier">sameEnumTypes</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1083" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1083" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="sameFlags-procs-all">
|
|
<div id="sameFlags,PType,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#sameFlags%2CPType%2CPType"><span class="Identifier">sameFlags</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span class="Identifier">inline</span><span class="Other">,</span> <span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1132" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1132" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="sameObjectTypes-procs-all">
|
|
<div id="sameObjectTypes,PType,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#sameObjectTypes%2CPType%2CPType"><span class="Identifier">sameObjectTypes</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1074" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1074" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="sameType-procs-all">
|
|
<div id="sameType,PType,PType,TTypeCmpFlags">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#sameType%2CPType%2CPType%2CTTypeCmpFlags"><span class="Identifier">sameType</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">flags</span><span class="Other">:</span> <a href="types.html#TTypeCmpFlags"><span class="Identifier">TTypeCmpFlags</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="Other">}</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L963" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L963" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="sameTypeOrNil-procs-all">
|
|
<div id="sameTypeOrNil,PType,PType,TTypeCmpFlags">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#sameTypeOrNil%2CPType%2CPType%2CTTypeCmpFlags"><span class="Identifier">sameTypeOrNil</span></a><span class="Other">(</span><span class="Identifier">a</span><span class="Other">,</span> <span class="Identifier">b</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">flags</span><span class="Other">:</span> <a href="types.html#TTypeCmpFlags"><span class="Identifier">TTypeCmpFlags</span></a> <span class="Other">=</span> <span class="Other">{</span><span class="Other">}</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L968" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L968" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="searchTypeFor-procs-all">
|
|
<div id="searchTypeFor,PType,TTypePredicate">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#searchTypeFor%2CPType%2CTTypePredicate"><span class="Identifier">searchTypeFor</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">predicate</span><span class="Other">:</span> <a href="types.html#TTypePredicate"><span class="Identifier">TTypePredicate</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L283" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L283" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="skipConv-procs-all">
|
|
<div id="skipConv,PNode">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#skipConv%2CPNode"><span class="Identifier">skipConv</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1506" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1506" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="skipConvTakeType-procs-all">
|
|
<div id="skipConvTakeType,PNode">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#skipConvTakeType%2CPNode"><span class="Identifier">skipConvTakeType</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1531" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1531" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="skipGenericAlias-procs-all">
|
|
<div id="skipGenericAlias,PType">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#skipGenericAlias%2CPType"><span class="Identifier">skipGenericAlias</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1129" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1129" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="skipHidden-procs-all">
|
|
<div id="skipHidden,PNode">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#skipHidden%2CPNode"><span class="Identifier">skipHidden</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1519" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1519" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="skipHiddenSubConv-procs-all">
|
|
<div id="skipHiddenSubConv,PNode,ModuleGraph,IdGenerator">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#skipHiddenSubConv%2CPNode%2CModuleGraph%2CIdGenerator"><span class="Identifier">skipHiddenSubConv</span></a><span class="Other">(</span><span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1561" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1561" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="takeType-procs-all">
|
|
<div id="takeType,PType,PType,ModuleGraph,IdGenerator">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#takeType%2CPType%2CPType%2CModuleGraph%2CIdGenerator"><span class="Identifier">takeType</span></a><span class="Other">(</span><span class="Identifier">formal</span><span class="Other">,</span> <span class="Identifier">arg</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">g</span><span class="Other">:</span> <a href="modulegraphs.html#ModuleGraph"><span class="Identifier">ModuleGraph</span></a><span class="Other">;</span> <span class="Identifier">idgen</span><span class="Other">:</span> <a href="ast.html#IdGenerator"><span class="Identifier">IdGenerator</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">Exception</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1544" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1544" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="targetSizeSignedToKind-procs-all">
|
|
<div id="targetSizeSignedToKind,ConfigRef">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#targetSizeSignedToKind%2CConfigRef"><span class="Identifier">targetSizeSignedToKind</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#TTypeKind"><span class="Identifier">TTypeKind</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L805" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L805" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="targetSizeUnsignedToKind-procs-all">
|
|
<div id="targetSizeUnsignedToKind,ConfigRef">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#targetSizeUnsignedToKind%2CConfigRef"><span class="Identifier">targetSizeUnsignedToKind</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#TTypeKind"><span class="Identifier">TTypeKind</span></a> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span>
|
|
<span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L812" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L812" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="typeMismatch-procs-all">
|
|
<div id="typeMismatch,ConfigRef,TLineInfo,PType,PType,PNode">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#typeMismatch%2CConfigRef%2CTLineInfo%2CPType%2CPType%2CPNode"><span class="Identifier">typeMismatch</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">info</span><span class="Other">:</span> <a href="lineinfos.html#TLineInfo"><span class="Identifier">TLineInfo</span></a><span class="Other">;</span> <span class="Identifier">formal</span><span class="Other">,</span> <span class="Identifier">actual</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span>
|
|
<span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span> {.<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">,</span> <span class="Identifier">IOError</span><span class="Other">,</span>
|
|
<span class="Identifier">ERecoverableError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">,</span>
|
|
<span class="Identifier">ReadDirEffect</span><span class="Other">,</span> <span class="Identifier">WriteIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadIOEffect</span><span class="Other">,</span> <span class="Identifier">ReadEnvEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L1648" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L1648" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="typeToString-procs-all">
|
|
<div id="typeToString,PType,TPreferedDesc">
|
|
<dt><pre><span class="Keyword">proc</span> <a href="#typeToString%2CPType%2CTPreferedDesc"><span class="Identifier">typeToString</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">;</span> <span class="Identifier">prefer</span><span class="Other">:</span> <a href="types.html#TPreferedDesc"><span class="Identifier">TPreferedDesc</span></a> <span class="Other">=</span> <span class="Identifier">preferName</span><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span> {.
|
|
<span><span class="Other pragmadots">...</span></span><span class="pragmawrap"><span class="Identifier">raises</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">Exception</span><span class="Other">,</span> <span class="Identifier">KeyError</span><span class="Other">,</span> <span class="Identifier">ValueError</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">tags</span><span class="Other">:</span> <span class="Other">[</span><span class="Identifier">RootEffect</span><span class="Other">]</span><span class="Other">,</span> <span class="Identifier">forbids</span><span class="Other">:</span> <span class="Other">[</span><span class="Other">]</span></span>.}</pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L54" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L54" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</dl>
|
|
</div>
|
|
<div class="section" id="18">
|
|
<h1><a class="toc-backref" href="#18">Templates</a></h1>
|
|
<dl class="item">
|
|
<div id="$-templates-all">
|
|
<div id="$.t,PType">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#%24.t%2CPType"><span class="Identifier">`$`</span></a><span class="Other">(</span><span class="Identifier">typ</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">string</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L63" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L63" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="bindConcreteTypeToUserTypeClass-templates-all">
|
|
<div id="bindConcreteTypeToUserTypeClass.t,PType,PType">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#bindConcreteTypeToUserTypeClass.t%2CPType%2CPType"><span class="Identifier">bindConcreteTypeToUserTypeClass</span></a><span class="Other">(</span><span class="Identifier">tc</span><span class="Other">,</span> <span class="Identifier">concrete</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L486" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L486" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="foldAlignOf-templates-all">
|
|
<div id="foldAlignOf.t,ConfigRef,PNode,PNode">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#foldAlignOf.t%2CConfigRef%2CPNode%2CPNode"><span class="Identifier">foldAlignOf</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">fallback</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/sizealignoffsetimpl.nim#L480" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/sizealignoffsetimpl.nim#L480" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="foldOffsetOf-templates-all">
|
|
<div id="foldOffsetOf.t,ConfigRef,PNode,PNode">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#foldOffsetOf.t%2CConfigRef%2CPNode%2CPNode"><span class="Identifier">foldOffsetOf</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">fallback</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a></pre></dt>
|
|
<dd>
|
|
|
|
Returns an int literal node of the given offsetof expression in <tt class="docutils literal"><span class="pre"><span class="Identifier">n</span></span></tt>. Falls back to <tt class="docutils literal"><span class="pre"><span class="Identifier">fallback</span></span></tt>, if the <tt class="docutils literal"><span class="pre"><span class="Identifier">offsetof</span></span></tt> expression can't be processed.
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/sizealignoffsetimpl.nim#L494" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/sizealignoffsetimpl.nim#L494" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="foldSizeOf-templates-all">
|
|
<div id="foldSizeOf.t,ConfigRef,PNode,PNode">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#foldSizeOf.t%2CConfigRef%2CPNode%2CPNode"><span class="Identifier">foldSizeOf</span></a><span class="Other">(</span><span class="Identifier">conf</span><span class="Other">:</span> <a href="options.html#ConfigRef"><span class="Identifier">ConfigRef</span></a><span class="Other">;</span> <span class="Identifier">n</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">;</span> <span class="Identifier">fallback</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a><span class="Other">)</span><span class="Other">:</span> <a href="ast.html#PNode"><span class="Identifier">PNode</span></a></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/sizealignoffsetimpl.nim#L466" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/sizealignoffsetimpl.nim#L466" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
<div id="isResolvedUserTypeClass-templates-all">
|
|
<div id="isResolvedUserTypeClass.t,PType">
|
|
<dt><pre><span class="Keyword">template</span> <a href="#isResolvedUserTypeClass.t%2CPType"><span class="Identifier">isResolvedUserTypeClass</span></a><span class="Other">(</span><span class="Identifier">t</span><span class="Other">:</span> <a href="ast.html#PType"><span class="Identifier">PType</span></a><span class="Other">)</span><span class="Other">:</span> <span class="Identifier">bool</span></pre></dt>
|
|
<dd>
|
|
|
|
|
|
<a href="https://github.com/nim-lang/Nim/tree/devel/compiler/types.nim#L496" class="link-seesrc" target="_blank">Source</a>
|
|
<a href="https://github.com/nim-lang/Nim/edit/devel/compiler/types.nim#L496" class="link-seesrc" target="_blank" >Edit</a>
|
|
|
|
</dd>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</dl>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="twelve-columns footer">
|
|
<span class="nim-sprite"></span>
|
|
<br>
|
|
<small style="color: var(--hint);">Made with Nim. Generated: 2023-03-13 00:20:13 UTC</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script defer data-domain="nim-lang.org" src="https://plausible.io/js/plausible.js"></script>
|
|
|
|
<!-- Google fonts -->
|
|
<link href='https://fonts.googleapis.com/css?family=Lato:400,600,900' rel='stylesheet' type='text/css'/>
|
|
<link href='https://fonts.googleapis.com/css?family=Source+Code+Pro:400,500,600' rel='stylesheet' type='text/css'/>
|
|
</body>
|
|
</html>
|