Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Open a new scope for `static:` expr blocks (#10649) | LemonBoy | 2019-02-23 | 1 | -1/+5 |
| | | | | Bring this in line with how plain blocks are analysed and avoids codegen errors if one references variables defined in such a block. | ||||
* | first steps in implementing 'owned' pointers; undocumented, do not use | Andreas Rumpf | 2019-02-23 | 1 | -7/+7 |
| | |||||
* | Stop useless suggestion of unsafeAddr (#10598) | LemonBoy | 2019-02-08 | 1 | -1/+1 |
| | | | Fixes #10594 | ||||
* | Reject assignments with nkEmpty RHS (#9000) | LemonBoy | 2019-02-06 | 1 | -7/+9 |
| | | | Fixes #8997 | ||||
* | fixes double object field symbol lookups (no test case available) (#10450) | cooldome | 2019-01-25 | 1 | -1/+5 |
| | |||||
* | compiler/sem*: better lineinfo for templates (#10428) | alaviss | 2019-01-23 | 1 | -5/+9 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * compiler/sem*: better lineinfo for templates Lineinfo for templates is inconsistant across the compiler, for example: doAssert true ^ ^ a[int](10) ^^ ^ The `^` marks where the compiler thinks the template starts. For qualified call, we got the same situation with `proc`s before #10427: system.once ^ Generics lineinfo within template declaration is also incorrect, for example, this is where the compiler believes the `T` in `[T]` is: template a[T](b: T) ^ This PR addresses all of these problems. * nimsuggest: add tests for template highlighting | ||||
* | compiler/sem*: improve lineinfo for qualified and generic procs (#10427) | alaviss | 2019-01-23 | 1 | -3/+4 |
| | | | | | | | | | | | | | | | | Previously the compiler will believe these are where `newSeq` symbol starts: newSeq[int]() ^ system.newSeq[int]() ^ This commit moves them back to: newSeq[int]() ^ system.newSeq[int]() ^ | ||||
* | Proper check for tyStatic[T] -> U conversions (#10382) | LemonBoy | 2019-01-21 | 1 | -0/+2 |
| | | | | | Drop the outer tyStatic shell then perform the check. Fixes #7609 | ||||
* | Fix spelling errors (#10379) | Federico Ceratto | 2019-01-19 | 1 | -1/+1 |
| | |||||
* | destructors: first step towards fixing #9617 (#10341) | cooldome | 2019-01-18 | 1 | -2/+2 |
| | |||||
* | Properly wrap discarded statements (#10322) | LemonBoy | 2019-01-17 | 1 | -2/+2 |
| | | | | | | Failing to do so lead the codegen to emit invalid code sometimes, especially when C++ references were involved. Fixes #10241 | ||||
* | fixes #10136 | Araq | 2019-01-13 | 1 | -2/+2 |
| | |||||
* | Show error when trying to export individual enum field (#10109) | Neelesh Chandola | 2019-01-07 | 1 | -1/+3 |
| | |||||
* | Fix #10073 (#10218) | zah | 2019-01-07 | 1 | -1/+8 |
| | |||||
* | Fix defer not not-working at top level (#10191) | Neelesh Chandola | 2019-01-07 | 1 | -0/+2 |
| | |||||
* | Deprecate gc v2 (#10151) | Neelesh Chandola | 2019-01-01 | 1 | -1/+1 |
| | | | | | | * Deprecate gc v2 * warnDeprecated now has custom messages | ||||
* | Check there are no side effects before optimizing away compile time ↵ | deech | 2018-12-31 | 1 | -8/+12 |
| | | | | expressions. (#9934) | ||||
* | fixes nested gensym'ed parameters; fixes #9476 | Araq | 2018-12-08 | 1 | -0/+4 |
| | |||||
* | fixes #9868 | Araq | 2018-12-05 | 1 | -0/+17 |
| | |||||
* | fix #8289 (#9828) | Timothee Cour | 2018-11-30 | 1 | -0/+1 |
| | |||||
* | improve line info retreival (#9822) | Arne Döring | 2018-11-30 | 1 | -1/+8 |
| | | | | | * improve line info * fix error message | ||||
* | fix #9759 (#9789) | Arne Döring | 2018-11-23 | 1 | -1/+2 |
| | |||||
* | fixes #9743 | Araq | 2018-11-19 | 1 | -1/+2 |
| | |||||
* | Converter bug fixes (#9700) | cooldome | 2018-11-15 | 1 | -0/+1 |
| | | | | | * Fixes #9698 * Fixes #9699 | ||||
* | added first version of a nimfind tool for the poor souls that don't have a ↵ | Andreas Rumpf | 2018-11-14 | 1 | -18/+19 |
| | | | | good nimsuggest integretation | ||||
* | feedback injected | Arne Döring | 2018-11-08 | 1 | -1/+1 |
| | |||||
* | fix #8335 | Arne Döring | 2018-11-08 | 1 | -0/+2 |
| | |||||
* | Quote do now works with result in block (#7343) | PMunch | 2018-10-31 | 1 | -3/+12 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Fix result not being able to use in quote do This fixes the annoying issue of not be able to use result inside a quote do block. It works by a simple trick. The quote do mechanic is based on dynamically creating a template and immediately calling it with the arguments found within the quote do block. Since this is called in the scope of the macro the result variable is shadowed. This trick works by changing all occurences of result (which shouldn't cause any issues as result isn't used for anything else for the same reason) to another name and then passing in an IdentNode with result as a named parameter with that name. Note that currently this just replaces it with a fixed named variable "res" which should be changed to a non-colliding, dynamically created name. * Fix hard coded parameter "res" to anonymous symbol This fixes the hard coded parameter "res" to be an anonymous symbol instead so it won't collide with other parts of the argument list. * Add test case for result in quote do block A simple test case based on GitHub issue #7323 on how you can't put result in a quote do block. This test verifies that it actually works correctly now. * Add test for explicit capturing of result * Rebased against devel | ||||
* | Openmp parallel iterator improvements (#9493) | Mamy Ratsimbazafy | 2018-10-25 | 1 | -5/+0 |
| | | | | | * More flexibility in OpenMP pragma * Use static to constrain to compile-time annotation string * Update changelog with OpenMP change | ||||
* | fixes #9498, typeof is for everybody | Araq | 2018-10-25 | 1 | -3/+2 |
| | |||||
* | Relax the restrictions on the index types (#9412) | LemonBoy | 2018-10-18 | 1 | -17/+12 |
| | |||||
* | fixes a regression about indexing into UncheckedArray | Andreas Rumpf | 2018-10-16 | 1 | -1/+12 |
| | |||||
* | fixes #2760 | Araq | 2018-10-15 | 1 | -1/+1 |
| | |||||
* | [WIP] Early evaluation of mIs (#8723) | LemonBoy | 2018-10-14 | 1 | -4/+2 |
| | | | | | | | | | | * Early evaluation of mIs The `evalIs` implementation was just a broken copy of `isOpImpl` so let's just avoid it alltogether: `mIs` nodes are either resolved during the semantic phase or bust. * Remove dead code and tidy it up | ||||
* | implement sizeof and alignof operator (manually squashed #5664) (#9356) | Timothee Cour | 2018-10-14 | 1 | -11/+4 |
| | |||||
* | Make sure the annotation for `||` is avail. at CT (#9354) | LemonBoy | 2018-10-14 | 1 | -0/+8 |
| | | | Closes #9353 | ||||
* | compiler: show name of instantiating context in error traces (#6763) (#9207) | xzfc | 2018-10-11 | 1 | -1/+1 |
| | |||||
* | Unchecked arrays now have their own type (#9267) | LemonBoy | 2018-10-10 | 1 | -1/+1 |
| | |||||
* | Merge pull request #8990 from LemonBoy/fix-8259 | Andreas Rumpf | 2018-09-17 | 1 | -0/+2 |
|\ | | | | | Always check the deduced type validity for result | ||||
| * | Always check the deduced type validity for result | LemonBoy | 2018-09-17 | 1 | -0/+2 |
| | | | | | | | | Fixes #8259 | ||||
* | | fixes #1616; fixes 'nim doc' regressions | Andreas Rumpf | 2018-09-17 | 1 | -5/+6 |
|/ | |||||
* | extended system.type/typeof to support an upcoming 'collect' macro that ↵ | Andreas Rumpf | 2018-09-11 | 1 | -12/+12 |
| | | | | works much better than sugar.lc | ||||
* | Fix type comparison in semConv (#8907) | LemonBoy | 2018-09-07 | 1 | -1/+2 |
| | | | Fixes #8905 | ||||
* | change runnableExamples implementation; fixes #8641; fixes #7135; ↵ | Andreas Rumpf | 2018-09-02 | 1 | -17/+11 |
| | | | | runnableExamples works for templates and generics | ||||
* | introduce precise string '[]', '[]=' accessors; fixes #8049 (#8817) | Andreas Rumpf | 2018-08-30 | 1 | -2/+2 |
| | |||||
* | enforce the condition of a 'when' condition to be of type bool; refs #8603 | Andreas Rumpf | 2018-08-23 | 1 | -1/+1 |
| | |||||
* | fixes merge conflict | Araq | 2018-08-23 | 1 | -0/+5 |
|\ | |||||
| * | Don't consider tyAnd/tyNot/tyOr/tyAnything as generic (#8700) | LemonBoy | 2018-08-22 | 1 | -0/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Don't consider tyAnd/tyNot/tyOr/tyAnything as generic `containsGenericType` was too shallow and didn't check all the branches. The resulting half-processed nodes are often simplified by the constant folding pass but when that's not possible we get a nasty error during codegen. Fixes #8693 * Move the blame onto the semFold pass Slightly better evaluation of `is` forms. | ||||
* | | some progress on destructors for builtin seqs | Andreas Rumpf | 2018-08-20 | 1 | -1/+4 |
|/ | |||||
* | fixes #8425 | Araq | 2018-08-04 | 1 | -1/+1 |
| |