Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | fixes #8043 | Araq | 2018-09-03 | 1 | -0/+3 |
| | |||||
* | Do not materialize empty varargs[untyped] arrays (#8715) | LemonBoy | 2018-08-31 | 1 | -6/+17 |
| | | | | | | | | | When an empty nkArgList `varargs[untyped]` is passed around it is now reused for efficiency sake and to prevent the introduction of a spurious element: before this commit we'd pass the caller a nkArgList[nkHiddenStdConv[nkBracket]] node instead of just an empty nkArgList. Fixes #8706 | ||||
* | introduce precise string '[]', '[]=' accessors; fixes #8049 (#8817) | Andreas Rumpf | 2018-08-30 | 1 | -0/+9 |
| | |||||
* | fixes #7854 | Araq | 2018-08-30 | 1 | -1/+2 |
| | |||||
* | Fix #8126 (#8712) | zah | 2018-08-21 | 1 | -1/+2 |
| | | | | | | This is a temporary fix that will be reworked in a follow up commit that aims to eliminate the tfExplicit flag from the compiler. The complete and proper fix was considered too risky for inclusion just before our 0.19 release. | ||||
* | changes how the now illegal 'string == nil' comparison is detected | Andreas Rumpf | 2018-08-15 | 1 | -6/+2 |
| | |||||
* | Merge branch 'devel' into araq-misc | Araq | 2018-08-13 | 1 | -0/+4 |
|\ | |||||
| * | Converters to take into account constraints. Fixes #7520 (#8593) | cooldome | 2018-08-13 | 1 | -0/+4 |
| | | |||||
* | | WIP: disallow 'nil' for strings and seqs | Andreas Rumpf | 2018-08-13 | 1 | -6/+16 |
|/ | |||||
* | fixes #6255, add `system.ashr` arithmetic right shift (#8547) | andri lim | 2018-08-07 | 1 | -0/+4 |
| | |||||
* | sigmatch: no trailing whitespace | Andreas Rumpf | 2018-07-17 | 1 | -5/+5 |
| | |||||
* | Do not crash while instantiating a generic outside a call (#8279) | LemonBoy | 2018-07-14 | 1 | -1/+4 |
| | | | Fixes #8270 | ||||
* | Handle subtype relations for converter parameters (#8248) | LemonBoy | 2018-07-09 | 1 | -2/+7 |
| | | | Fixes #7098 | ||||
* | Reset typedescMatched before paramTypesMatch (#8250) | LemonBoy | 2018-07-09 | 1 | -0/+3 |
| | | | | | The flag should not be carried out across different parameters. Fixes #7794 | ||||
* | Fix comparison of tyGenericBody in typerel (#8045) | LemonBoy | 2018-07-07 | 1 | -1/+1 |
| | | | | | | As shown in #7734 and #7733 the logic in typerel fails to determine that `type Foo` and `type Foo` are indeed equal. Fixes #7734 | ||||
* | Error out if vararg match isn't an exact one (#8186) | LemonBoy | 2018-07-03 | 1 | -1/+11 |
| | | | Fixes #8172 | ||||
* | Merge pull request #7736 from cooldome/range_float_type | Andreas Rumpf | 2018-06-27 | 1 | -14/+16 |
|\ | | | | | Language feature: range float types | ||||
| * | manual merge 2 | cooldome | 2018-06-12 | 1 | -1/+1 |
| | | |||||
| * | merge devel | cooldome | 2018-06-12 | 1 | -27/+38 |
| |\ | |||||
| * | | style fixes, typos | cooldome | 2018-06-12 | 1 | -5/+5 |
| | | | |||||
| * | | remove underscores | cooldome | 2018-06-11 | 1 | -5/+5 |
| | | | |||||
| * | | fix comments | cooldome | 2018-06-10 | 1 | -16/+11 |
| | | | |||||
| * | | merge devel | cooldome | 2018-06-10 | 1 | -49/+63 |
| |\ \ | |||||
| * \ \ | merge devel | cooldome | 2018-04-29 | 1 | -7/+19 |
| |\ \ \ | |||||
| * | | | | Implement float range types | cooldome | 2018-04-26 | 1 | -13/+20 |
| | | | | | |||||
* | | | | | requested pull-request changes | Zahary Karadjov | 2018-06-16 | 1 | -10/+10 |
| | | | | | |||||
* | | | | | allow referencing other parameters in default parameter values | Zahary Karadjov | 2018-06-16 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix #7756 fix #1201 fix #7000 fix #3002 fix #1046 | ||||
* | | | | | fixes #7222; fixes #5595; fixes #3747 | Zahary Karadjov | 2018-06-16 | 1 | -5/+18 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * late instantiation for the generic procs' default param values * automatic mixin behaviour in concepts Other fixes: * don't render the automatically inserted default params in calls * better rendering of tyFromExpr | ||||
* | | | | | A minimal patch enabling the new typedesc and static types syntax | Zahary Karadjov | 2018-06-16 | 1 | -5/+9 |
| | | | | | |||||
* | | | | | implements a --nep1:on switch to make the compiler enforce the naming ↵ | Andreas Rumpf | 2018-06-13 | 1 | -1/+1 |
| |_|_|/ |/| | | | | | | | | | | | conventions outlined in NEP-1 | ||||
* | | | | Merge pull request #7981 from cooldome/Fix_-7980 | Andreas Rumpf | 2018-06-12 | 1 | -2/+6 |
|\ \ \ \ | | | | | | | | | | | Fixes 7980 | ||||
| * | | | | style improvements | cooldome | 2018-06-12 | 1 | -2/+2 |
| | | | | | |||||
| * | | | | add comment | cooldome | 2018-06-12 | 1 | -0/+1 |
| | | | | | |||||
| * | | | | New approach | cooldome | 2018-06-12 | 1 | -2/+5 |
| | |_|/ | |/| | | |||||
* | | | | fixex merge conflicts | Araq | 2018-06-08 | 1 | -0/+8 |
|\| | | | |||||
| * | | | add more test to 4799 | andri lim | 2018-06-05 | 1 | -0/+8 |
| | | | | |||||
* | | | | ensure compiler API doesn't import the RST engine | Andreas Rumpf | 2018-05-29 | 1 | -1/+1 |
| | | | | |||||
* | | | | refactoring: remove idents.legacy global variable and pass the IdentCache ↵ | Andreas Rumpf | 2018-05-27 | 1 | -5/+5 |
| | | | | | | | | | | | | | | | | around explicitly | ||||
* | | | | remove more global variables in the Nim compiler | Andreas Rumpf | 2018-05-27 | 1 | -5/+5 |
| | | | | |||||
* | | | | make tests green again | Andreas Rumpf | 2018-05-18 | 1 | -1/+1 |
| | | | | |||||
* | | | | platform.nim doesn't use globals anymore; prepare msgs.nim for not using globals | Andreas Rumpf | 2018-05-18 | 1 | -14/+18 |
| | | | | |||||
* | | | | remove ast.emptyNode global; cleanup configuration.nim | Araq | 2018-05-16 | 1 | -3/+6 |
|/ / / | |||||
* | | | make tests green again | Araq | 2018-05-14 | 1 | -2/+2 |
| | | | |||||
* | | | fixes testament compilation | Araq | 2018-05-14 | 1 | -5/+9 |
|\ \ \ | |||||
| * | | | Bugfix: The compiler were not inserting proper downcasts for generic types | Zahary Karadjov | 2018-05-07 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This resulted in a codegen error in C++ mode, because the generic types were not defined in modules where calls requiring downcasts were used (generating a downcast forces the inclusion of the full definition of the involved types). | ||||
| * | | | Bugfix: Allow matching on nkExprEqExpr against varargs[untyped] | Zahary Karadjov | 2018-05-07 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This enables macros accepting arbitrary keyword arguments: log("foo", prop1 = "bar", prop2 = "baz") As an added bonus, simple templates with varargs arguments can now forward their params to procs accepting keyword arguments. | ||||
| * | | | Better support for treating templates and macros as symbols. | Zahary Karadjov | 2018-05-07 | 1 | -3/+5 |
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows you to pass a template or a macro to another macro which can then inspect the implementation of the former template/macro using `getImpl`. Since templates can be freely redefined, this allows you to treat their symbols as compile-time variables that have lexical scope. A motivating PoC example for a logging library taking advantage of this will be provided in the next commit. Implementation details: * The name of a template or a macro will be consider a symbol if the template/macro requires parameters * For parameterless templates/macros, you can use `bindSym`, which was extended to also work outside of compile-time procs. | ||||
* | | | options.nim: no global variables anymore | Andreas Rumpf | 2018-05-13 | 1 | -2/+2 |
| | | | |||||
* | | | sigmatch compiles again | Andreas Rumpf | 2018-05-11 | 1 | -42/+44 |
|/ / | |||||
* | | sigmatch: speed it up | Andreas Rumpf | 2018-04-28 | 1 | -3/+1 |
| | |