Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | proper error reporting for concepts and the introduction of the {.explain.} ↵ | Zahary Karadjov | 2017-03-24 | 1 | -0/+1 |
| | | | | pragma | ||||
* | implement the special treatment of explicit type params in concepts | Zahary Karadjov | 2017-03-24 | 1 | -0/+2 |
| | |||||
* | infer static parameters even when more complicated arithmetic is involved | Zahary Karadjov | 2017-03-24 | 1 | -1/+11 |
| | |||||
* | support derived values in non-generic user type classes | Zahary Karadjov | 2017-03-24 | 1 | -0/+3 |
| | |||||
* | support for inferring static[T] concept params | Zahary Karadjov | 2017-03-24 | 1 | -0/+4 |
| | |||||
* | introduce tyInferred for the unbound concept type params | Zahary Karadjov | 2017-03-24 | 1 | -11/+23 |
| | | | | | | | | | | | | | | | | | | * Why is tyInferred needed? The bindings in TCandidate are capable of inferring types within a single call expression. In concepts, we need to infer types in the same way, but across the whole body of the concept. Previously, once a concept type param was inferred, it was destructively mutated using t.assignType, but this proved to be problematic in the presence of overloads, because the bindings established while a non-matching overload is tested must be reverted/forgotten. tyInferred offers a non-destructive way to keep track of the inference progress. While introducing new types usually requires a lot of code paths in the compiler to updated, currently tyInferred is only a short-lived type within the concept body pass and it's unlikely to introduce breakage elsewhere in the compiler. | ||||
* | concept type params inference working in basic examples | Zahary Karadjov | 2017-03-24 | 1 | -0/+1 |
| | |||||
* | Merge branch 'devel' of github.com:nim-lang/Nim into devel | Araq | 2017-03-14 | 1 | -0/+2 |
|\ | |||||
| * | Merge branch 'devel' into faster-nimsuggest | Andreas Rumpf | 2017-03-14 | 1 | -0/+2 |
| |\ | |||||
| | * | Fixes #5167 and related problems (#5475) | zah | 2017-03-12 | 1 | -0/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit returns to a bit less strict checking of the number of macro arguments, because some old immediate macros rely on a behavior where even the arity of the macro is not being checked. It may be better if such macros are just declared to use varargs[expr], but this remains for another day. | ||||
| * | | nimsuggest: make tests green again | Araq | 2017-03-10 | 1 | -2/+2 |
| |/ | |||||
* / | fixes #5529; don't merge type visibility flags | Araq | 2017-03-14 | 1 | -3/+3 |
|/ | |||||
* | removed compiler internal list implementation (#5371) | Arne Döring | 2017-02-22 | 1 | -2/+4 |
| | |||||
* | fixes #5383 | Araq | 2017-02-16 | 1 | -2/+1 |
| | |||||
* | Merge branch 'devel' into feature/3691 | Dominik Picheta | 2017-02-07 | 1 | -1/+2 |
|\ | |||||
| * | fixes #5285 | Andreas Rumpf | 2017-02-04 | 1 | -1/+2 |
| | | |||||
* | | Fixes based on @Araq's feedback. | Dominik Picheta | 2017-02-01 | 1 | -1/+1 |
| | | |||||
* | | Fixes #3691. | Dominik Picheta | 2017-02-01 | 1 | -1/+10 |
| | | |||||
* | | WIP implementation of `except ExcType as ident` syntax. Refs #3691. | Dominik Picheta | 2017-02-01 | 1 | -0/+7 |
|/ | |||||
* | make tsigbreak.nim compile | Andreas Rumpf | 2016-12-12 | 1 | -1/+2 |
| | |||||
* | further progress | Araq | 2016-11-28 | 1 | -0/+2 |
| | |||||
* | removed tyArrayConstr completely from the compiler; introduced tyAlias ↵ | Araq | 2016-11-14 | 1 | -6/+6 |
| | | | | instead in preparation for further bugfixes | ||||
* | bootstrapping works again | Araq | 2016-11-12 | 1 | -4/+4 |
| | |||||
* | big refactoring: step 1 | Araq | 2016-10-31 | 1 | -10/+0 |
| | |||||
* | clean up tyMutable remnants | Jacek Sieka | 2016-10-24 | 1 | -3/+3 |
| | |||||
* | clean up tyConst remnants | Jacek Sieka | 2016-10-24 | 1 | -1/+1 |
| | |||||
* | clean up tyBigNum remnants | Jacek Sieka | 2016-10-24 | 1 | -2/+6 |
| | |||||
* | remove remnants of tyIter | Jacek Sieka | 2016-10-24 | 1 | -1/+1 |
| | |||||
* | fixes #4803 | Andreas Rumpf | 2016-09-24 | 1 | -0/+3 |
| | |||||
* | C++ backend: use .noInit pragma for non-public default constructors; refs #4687 | Andreas Rumpf | 2016-09-04 | 1 | -2/+2 |
| | |||||
* | Merged | Araq | 2016-08-27 | 1 | -27/+1 |
|\ | |||||
| * | fixes #3606 | Andreas Rumpf | 2016-08-26 | 1 | -1/+1 |
| | | |||||
| * | remove TLoc.heapRoot | Jacek Sieka | 2016-08-17 | 1 | -3/+0 |
| | | |||||
| * | remove unused stuff | Jacek Sieka | 2016-08-09 | 1 | -23/+0 |
| | | |||||
* | | next steps in getting symbol files to work again | Araq | 2016-08-16 | 1 | -7/+2 |
|/ | |||||
* | compiler almost free of deprecated expr/stmt names | Andreas Rumpf | 2016-07-30 | 1 | -3/+3 |
| | |||||
* | remove sfFakeConst | Jacek Sieka | 2016-07-30 | 1 | -1/+0 |
| | |||||
* | stdlib and compiler don't use .immediate anymore | Andreas Rumpf | 2016-07-29 | 1 | -0/+2 |
| | |||||
* | generic multi-methods should work now | Andreas Rumpf | 2016-07-28 | 1 | -0/+1 |
| | |||||
* | fixes #4485; package handling works better; docgen works with --project on ↵ | Andreas Rumpf | 2016-07-19 | 1 | -1/+1 |
| | | | | Nimble package level | ||||
* | added system.newSeqOfCap for improved efficiency | Andreas Rumpf | 2016-07-15 | 1 | -1/+1 |
| | |||||
* | make tests green again | Andreas Rumpf | 2016-07-10 | 1 | -1/+0 |
| | |||||
* | fixes #4371 | Andreas Rumpf | 2016-07-08 | 1 | -3/+4 |
| | |||||
* | Add the ability to pass a value with the -d flag | Jeff Ciesielski | 2016-07-04 | 1 | -1/+1 |
| | | | | | | | This allows the end user to use the {.magic: "IntDefine"/"StrDefine"} pragmas to pass values into code at compile time. This has a nice side effect of also allowing/requiring a default value to be assigned in the code (see osalloc.nim/StandaloneHeapSize for an example) | ||||
* | fixes #4395, getType still not entirely correct | Andreas Rumpf | 2016-06-23 | 1 | -0/+1 |
| | |||||
* | system. for cstrings uses value comparisons, not reference comparisons | Andreas Rumpf | 2016-06-02 | 1 | -2/+2 |
| | |||||
* | fixes #1713 | Andreas Rumpf | 2016-05-30 | 1 | -1/+1 |
| | |||||
* | fixes #2159 | Andreas Rumpf | 2016-05-28 | 1 | -0/+3 |
| | | | | Hints and warnings are only emitted for the main package that is compiled | ||||
* | Spellcheck | Federico Ceratto | 2016-02-29 | 1 | -1/+1 |
| | |||||
* | use 'using' instead of 'sig' keyword; cleans up new features a bit | Andreas Rumpf | 2016-02-29 | 1 | -1/+0 |
| |