Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 |
| | |||||
* | generic multi-methods should work now | Andreas Rumpf | 2016-07-28 | 1 | -1/+1 |
| | |||||
* | new language feature: explicit 'import system' statements are allowed | Andreas Rumpf | 2016-07-07 | 1 | -0/+1 |
| | |||||
* | Merge branch 'patch/fix-3496-generic-tmpl-args' of ↵ | Andreas Rumpf | 2016-05-29 | 1 | -1/+1 |
|\ | | | | | | | https://github.com/nanoant/Nim into nanoant-patch/fix-3496-generic-tmpl-args | ||||
| * | fixes #3496 | Adam Strzelecki | 2015-10-29 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The problem comes from the fact that macroOrTmpl[...] is transformed by semSubscript which is trying to evaluate macroOrTmpl identifier in place. This is okay for non-generic macros or templates, but wrong for generic ones, that do not have a chance to receive their generic arguments explicitly specified in brackets. Solution: 1. macroOrTmpl[...] where macroOrTmpl is non-generic macro or template, then macroOrTmpl is evaluated before applying brackets. (as before) 2. macroOrTmpl[...] where macroOrTmpl is generic macro or template, then if: a. It comes from macroOrTmpl[...](...) call expr (efInCall), then macroOrTmpl is turned into a symbol (efNoEvaluate) rather than evaluating it in place, then whole bracket expr is returned to semIndirectOp which transforms it to proper generic macro or template call with explicit generic arguments. b. macroOrTmpl[...] does not come from call expr, as above macroOrTmpl is transformed to symbol, then it is transformed into proper generic macro or template call with explicit generic arguments and no normal arguments. | ||||
* | | fixes #4227 | Andreas Rumpf | 2016-05-27 | 1 | -1/+1 |
| | | |||||
* | | added 'sig' feature; removed tfShared support in the compiler | Andreas Rumpf | 2016-02-28 | 1 | -0/+3 |
| | | |||||
* | | added experimental .this pragma | Andreas Rumpf | 2016-02-28 | 1 | -11/+2 |
| | | |||||
* | | first implementation of the new lambda-lifting pass; barely anything works | Andreas Rumpf | 2015-12-26 | 1 | -1/+1 |
|/ | |||||
* | renamed inCompilesContext to compilesContextId; added test case for #3313 | Araq | 2015-09-18 | 1 | -1/+1 |
| | |||||
* | fixes #3313 | Araq | 2015-09-18 | 1 | -0/+1 |
| | |||||
* | next steps in binding [] properly | Araq | 2015-09-13 | 1 | -1/+2 |
| | |||||
* | fixes #2585 | Araq | 2015-04-22 | 1 | -4/+6 |
| | |||||
* | fixes #2505, fixes #1853, fixes #2522 | Araq | 2015-04-20 | 1 | -0/+3 |
| | |||||
* | fixes #2481 | Araq | 2015-04-10 | 1 | -1/+2 |
| | |||||
* | first implementation of overloading of '='; missing: rewriting let/var sections | Araq | 2015-04-06 | 1 | -2/+7 |
| | |||||
* | implemented a[^1] notation | Araq | 2015-03-26 | 1 | -27/+28 |
| | |||||
* | cleaned up some tests | Araq | 2015-02-10 | 1 | -0/+1 |
| | |||||
* | nimsuggest improvements | Araq | 2015-01-30 | 1 | -0/+3 |
| | |||||
* | fixes #1915 | Araq | 2015-01-12 | 1 | -0/+1 |
| | |||||
* | fix #1049 | Zahary Karadjov | 2015-01-02 | 1 | -1/+1 |
| | |||||
* | implemented 'experimental' switch | Araq | 2014-12-05 | 1 | -0/+5 |
| | |||||
* | nicer error messages (untested) | Araq | 2014-10-26 | 1 | -2/+1 |
| | |||||
* | deepCopy is instantiated when its corresponding type is instantiated | Araq | 2014-09-26 | 1 | -0/+3 |
| | |||||
* | updated the compiler to use the new symbol names | Araq | 2014-08-28 | 1 | -3/+3 |
| | |||||
* | Nimrod renamed to Nim | Araq | 2014-08-28 | 1 | -1/+1 |
| | |||||
* | Merge pull request #1281 from Araq/new_spawn | Andreas Rumpf | 2014-06-16 | 1 | -0/+1 |
|\ | | | | | New spawn | ||||
| * | pi test compiles, but crashes randomly | Araq | 2014-06-01 | 1 | -0/+1 |
| | | |||||
* | | Fixed #1172 (for real) | Clay Sweetser | 2014-06-01 | 1 | -2/+2 |
|/ | |||||
* | removed flawed thread analysis pass | Araq | 2014-04-20 | 1 | -2/+0 |
| |