Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | fixes #10930 | Andreas Rumpf | 2019-03-30 | 1 | -0/+1 |
| | |||||
* | more destructor based changes (#10885) | Andreas Rumpf | 2019-03-23 | 1 | -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) | cooldome | 2019-01-18 | 1 | -0/+7 |
| | |||||
* | compiler refactoring: TSymSeq is gone for good | Araq | 2018-12-11 | 1 | -3/+3 |
| | |||||
* | Fix overload resolution for pragmas evaluation (#8902) | LemonBoy | 2018-10-09 | 1 | -1/+4 |
| | | | | Fixes #6448 Fixes #4384 | ||||
* | change runnableExamples implementation; fixes #8641; fixes #7135; ↵ | Andreas Rumpf | 2018-09-02 | 1 | -1/+0 |
| | | | | runnableExamples works for templates and generics | ||||
* | allow .experimental in a .push/pop environment; refs #8676 | Araq | 2018-08-27 | 1 | -0/+1 |
| | |||||
* | WIP: disallow 'nil' for strings and seqs | Andreas Rumpf | 2018-08-13 | 1 | -2/+5 |
| | |||||
* | Implement the `is` operator for the new static and typedesc type classes | Zahary Karadjov | 2018-06-16 | 1 | -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 compilation | Andreas Rumpf | 2018-05-30 | 1 | -1/+1 |
| | |||||
* | refactoring: remove idents.legacy global variable and pass the IdentCache ↵ | Andreas Rumpf | 2018-05-27 | 1 | -2/+2 |
| | | | | around explicitly | ||||
* | remove more global variables in the Nim compiler | Andreas Rumpf | 2018-05-27 | 1 | -1/+1 |
| | |||||
* | make semantic checking free of globals | Andreas Rumpf | 2018-05-18 | 1 | -0/+2 |
| | |||||
* | preparations of making compiler/msgs.nim free of global variables | Andreas Rumpf | 2018-05-17 | 1 | -1/+1 |
| | |||||
* | fixes testament compilation | Araq | 2018-05-14 | 1 | -0/+1 |
|\ | |||||
| * | A motivating example for the new `bindSym` behavior. | Zahary Karadjov | 2018-05-07 | 1 | -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 anymore | Andreas Rumpf | 2018-05-13 | 1 | -2/+3 |
| | | |||||
* | | lookups compiles again | Andreas Rumpf | 2018-05-10 | 1 | -23/+25 |
|/ | |||||
* | semcheck: code cleanups | Andreas Rumpf | 2018-04-28 | 1 | -1/+1 |
| | |||||
* | .experimental can now be used to enable specific features | Andreas Rumpf | 2018-04-24 | 1 | -4/+2 |
| | |||||
* | refactoring: make FileIndex a distinct type; make line information an ↵ | Andreas Rumpf | 2018-04-21 | 1 | -1/+1 |
| | | | | uint16; fixes #7654 | ||||
* | preparations for language extensions: 'sink' and 'lent' types | Andreas Rumpf | 2018-01-07 | 1 | -5/+5 |
| | |||||
* | the documentation generator now supports system.runnableExamples | Araq | 2017-11-26 | 1 | -0/+1 |
| | |||||
* | Remove more usages of unary lt (fixes #6634) (#6641) | Fabian Keller | 2017-10-31 | 1 | -1/+1 |
| | | | | | | * fixes #6634 * remove more usages of unary < | ||||
* | remove old implementation of the roof operator; make tests green again; ↵ | Andreas Rumpf | 2017-10-29 | 1 | -1/+0 |
| | | | | close #6292 | ||||
* | destructors: supportsCopyMem finally works for recursive types | Araq | 2017-10-26 | 1 | -0/+6 |
| | |||||
* | destructors: preparations for upcoming changes | Araq | 2017-10-17 | 1 | -0/+1 |
| | |||||
* | first implementation of the 'func' keyword | Andreas Rumpf | 2017-09-23 | 1 | -1/+1 |
| | |||||
* | .pure enums are much more convenient to use now | Andreas Rumpf | 2017-09-17 | 1 | -1/+3 |
| | |||||
* | introduce a pre-processing pass for the concept bodies | Zahary Karadjov | 2017-06-20 | 1 | -2/+7 |
| | | | | | | | fixes #4982 fixes #3805 close #3414 | ||||
* | Allow tyOr,tyAnd and tyNot to be constructed in more contexts | Zahary Karadjov | 2017-04-28 | 1 | -0/+4 |
| | |||||
* | move the object construction logic to a separate file | Zahary Karadjov | 2017-04-06 | 1 | -1/+1 |
| | |||||
* | cleaned up the code and implemented proper error messages | Zahary Karadjov | 2017-04-06 | 1 | -2/+13 |
| | |||||
* | fix #4556 | Zahary Karadjov | 2017-04-06 | 1 | -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 Karadjov | 2017-03-24 | 1 | -4/+5 |
| | | | | pragma | ||||
* | infer static parameters even when more complicated arithmetic is involved | Zahary Karadjov | 2017-03-24 | 1 | -12/+3 |
| | |||||
* | support for inferring static[T] concept params | Zahary Karadjov | 2017-03-24 | 1 | -4/+12 |
| | |||||
* | support the full range of type modifiers when declaring concept vars and ↵ | Zahary Karadjov | 2017-03-24 | 1 | -2/+16 |
| | | | | testing proc signatures | ||||
* | nimsuggest: track type contexts | Araq | 2017-03-01 | 1 | -0/+1 |
| | |||||
* | nimsuggest supports prefix matching (first version) | Araq | 2017-02-28 | 1 | -0/+1 |
| | |||||
* | Merge branch 'devel' into faster-nimsuggest | Andreas Rumpf | 2017-02-24 | 1 | -10/+8 |
|\ | |||||
| * | removed compiler internal list implementation (#5371) | Arne Döring | 2017-02-22 | 1 | -10/+9 |
| | | |||||
* | | big compiler refactoring; avoid globals for multi method dispatcher generation | Andreas Rumpf | 2017-02-22 | 1 | -13/+11 |
|/ | |||||
* | fixes #5405 | Araq | 2017-02-16 | 1 | -0/+20 |
| | |||||
* | fixes #5383 | Araq | 2017-02-16 | 1 | -0/+10 |
| | |||||
* | happy new year | Araq | 2017-01-07 | 1 | -1/+1 |
| | |||||
* | new shift ops for Nim; based on #4743 | Andreas Rumpf | 2016-12-29 | 1 | -1/+10 |
| | |||||
* | recursive modules are only detected to improve error messages | Andreas Rumpf | 2016-11-24 | 1 | -0/+1 |
| | |||||
* | new dependency tracking for nimsuggest | Araq | 2016-11-05 | 1 | -3/+6 |
| | |||||
* | big refactoring: step 1 | Araq | 2016-10-31 | 1 | -30/+16 |
| |