summary refs log tree commit diff stats
path: root/compiler/semdata.nim
Commit message (Collapse)AuthorAgeFilesLines
* int128 on firstOrd, lastOrd and lengthOrd (#11701)Arne Döring2019-08-071-3/+3
| | | | * fixes #11847
* makes the -d:nimIncremental compiler mode compile againAndreas Rumpf2019-07-271-1/+1
|
* revert changesAndrii Riabushenko2019-07-251-3/+0
|
* fixes #11826Andrii Riabushenko2019-07-251-0/+3
|
* Merge branch 'devel' into araq-detect-unused-importsAndreas Rumpf2019-07-181-5/+2
|\
| * [refactoring] remove unused imports in the compiler and in some stdlib modulesAraq2019-07-181-5/+2
| |
* | [feature] detect unused importsAraq2019-07-171-1/+3
|/
* Smarter variant object construction (#11273)Jasper Jenkins2019-05-261-0/+10
|
* rename tyExpr/tyStmt to tyUntyped/tyTyped (#11227)Arne Döring2019-05-111-1/+1
|
* Replace countup(x, y-1) with x ..< yClyybber2019-05-071-1/+1
|
* destructors: internal compiler refactoringAraq2019-04-181-6/+0
|
* fixes #10930Andreas Rumpf2019-03-301-0/+1
|
* more destructor based changes (#10885)Andreas Rumpf2019-03-231-0/+2
| | | | | | | | | | | * mark user defined destructors with sfOverriden to simplify the logic * refactoring in preparation to merge liftings and generic instantiations for destructors * ast: introduce nkHiddenTryStmt for destructor generation in order to be able to optimize better the code later on * renamed 'patterns' switch to 'trmacros' as it was totally misleading before * destructors: introduce tfCheckedForDestructor flag in preparation of strict =destroy checking * test for invalid/too late destructor introductions * liftdestructors: make code robust for nimsuggest * --newruntime works for hello world again * newruntime: code generation for closures
* destructors: first step towards fixing #9617 (#10341)cooldome2019-01-181-0/+7
|
* compiler refactoring: TSymSeq is gone for goodAraq2018-12-111-3/+3
|
* Fix overload resolution for pragmas evaluation (#8902)LemonBoy2018-10-091-1/+4
| | | | Fixes #6448 Fixes #4384
* change runnableExamples implementation; fixes #8641; fixes #7135; ↵Andreas Rumpf2018-09-021-1/+0
| | | | runnableExamples works for templates and generics
* allow .experimental in a .push/pop environment; refs #8676Araq2018-08-271-0/+1
|
* WIP: disallow 'nil' for strings and seqsAndreas Rumpf2018-08-131-2/+5
|
* Implement the `is` operator for the new static and typedesc type classesZahary Karadjov2018-06-161-1/+2
| | | | | | | | | This also makes the first baby steps towards a sound treatment of higher-order kinds (type type int). Adds test cases showcasing the new features. * Also fixes breakage after the rebase
* baby steps for incremental compilationAndreas Rumpf2018-05-301-1/+1
|
* refactoring: remove idents.legacy global variable and pass the IdentCache ↵Andreas Rumpf2018-05-271-2/+2
| | | | around explicitly
* remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-1/+1
|
* make semantic checking free of globalsAndreas Rumpf2018-05-181-0/+2
|
* preparations of making compiler/msgs.nim free of global variablesAndreas Rumpf2018-05-171-1/+1
|
* fixes testament compilationAraq2018-05-141-0/+1
|\
| * A motivating example for the new `bindSym` behavior.Zahary Karadjov2018-05-071-0/+1
| | | | | | | | | | | | | | | | The example is a proof-of-concept logging library, allowing you to define lexically-scoped environments where certain logging attributes are applied automatically to all logging statements. fixes tmacro1 (use of `bindSym` inside static blocks)
* | options.nim: no global variables anymoreAndreas Rumpf2018-05-131-2/+3
| |
* | lookups compiles againAndreas Rumpf2018-05-101-23/+25
|/
* semcheck: code cleanupsAndreas Rumpf2018-04-281-1/+1
|
* .experimental can now be used to enable specific featuresAndreas Rumpf2018-04-241-4/+2
|
* refactoring: make FileIndex a distinct type; make line information an ↵Andreas Rumpf2018-04-211-1/+1
| | | | uint16; fixes #7654
* preparations for language extensions: 'sink' and 'lent' typesAndreas Rumpf2018-01-071-5/+5
|
* the documentation generator now supports system.runnableExamplesAraq2017-11-261-0/+1
|
* Remove more usages of unary lt (fixes #6634) (#6641)Fabian Keller2017-10-311-1/+1
| | | | | | * fixes #6634 * remove more usages of unary <
* remove old implementation of the roof operator; make tests green again; ↵Andreas Rumpf2017-10-291-1/+0
| | | | close #6292
* destructors: supportsCopyMem finally works for recursive typesAraq2017-10-261-0/+6
|
* destructors: preparations for upcoming changesAraq2017-10-171-0/+1
|
* first implementation of the 'func' keywordAndreas Rumpf2017-09-231-1/+1
|
* .pure enums are much more convenient to use nowAndreas Rumpf2017-09-171-1/+3
|
* introduce a pre-processing pass for the concept bodiesZahary Karadjov2017-06-201-2/+7
| | | | | | | fixes #4982 fixes #3805 close #3414
* Allow tyOr,tyAnd and tyNot to be constructed in more contextsZahary Karadjov2017-04-281-0/+4
|
* move the object construction logic to a separate fileZahary Karadjov2017-04-061-1/+1
|
* cleaned up the code and implemented proper error messagesZahary Karadjov2017-04-061-2/+13
|
* fix #4556Zahary Karadjov2017-04-061-1/+1
| | | | | | | | | | | | | | | | | | | | | This implements a number of new safety checks and error messages when object constructors are used: In case objects: * the compiler will prevent you from initializing fields in conflicting branches * When a field from a particular branch is initialized, the compiler will demand that the discriminator field is also supplied with a maching compile-time value In all objects: * When the "requiresInit" pragma is applied to a type, all fields of the type must be initialized when object construction is used. The code will be simplified in a follow up commit.
* proper error reporting for concepts and the introduction of the {.explain.} ↵Zahary Karadjov2017-03-241-4/+5
| | | | pragma
* infer static parameters even when more complicated arithmetic is involvedZahary Karadjov2017-03-241-12/+3
|
* support for inferring static[T] concept paramsZahary Karadjov2017-03-241-4/+12
|
* support the full range of type modifiers when declaring concept vars and ↵Zahary Karadjov2017-03-241-2/+16
| | | | testing proc signatures
* nimsuggest: track type contextsAraq2017-03-011-0/+1
|