☰

# typeallowed

Theme:

- Index

Search:
Group by:
Source Edit

This module contains 'typeAllowed' and friends which check for invalid types like `openArray[var int]`.

# Imports

ast, renderer, options, semdata, types

# Types

    TTypeAllowedFlag = enum
      taTupField, taObjField, taHeap, taConcept, taIsOpenArray, taNoUntyped,
      taIsTemplateOrMacro, taProcContextIsNotMacro, taIsCastable, taIsDefaultField,
      taVoid

  Source Edit

    TTypeAllowedFlags = set[TTypeAllowedFlag]

  Source Edit

    ViewTypeKind = enum
      noView, immutableView, mutableView

  Source Edit

# Procs

    proc classifyViewType(t: PType): ViewTypeKind {....raises: [Exception],
        tags: [RootEffect], forbids: [].}

  Source Edit

    proc directViewType(t: PType): ViewTypeKind {....raises: [], tags: [], forbids: [].}

  Source Edit

    proc requiresInit(t: PType): bool {....raises: [Exception], tags: [RootEffect],
                                        forbids: [].}

  Source Edit

    proc typeAllowed(t: PType; kind: TSymKind; c: PContext;
                     flags: TTypeAllowedFlags = {}): PType {....raises: [Exception],
        tags: [RootEffect], forbids: [].}

  Source Edit