summary refs log tree commit diff stats
path: root/compiler/sigmatch.nim
Commit message (Collapse)AuthorAgeFilesLines
* fixes #6255, add `system.ashr` arithmetic right shift (#8547)andri lim2018-08-071-0/+4
|
* sigmatch: no trailing whitespaceAndreas Rumpf2018-07-171-5/+5
|
* Do not crash while instantiating a generic outside a call (#8279)LemonBoy2018-07-141-1/+4
| | | Fixes #8270
* Handle subtype relations for converter parameters (#8248)LemonBoy2018-07-091-2/+7
| | | Fixes #7098
* Reset typedescMatched before paramTypesMatch (#8250)LemonBoy2018-07-091-0/+3
| | | | | The flag should not be carried out across different parameters. Fixes #7794
* Fix comparison of tyGenericBody in typerel (#8045)LemonBoy2018-07-071-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)LemonBoy2018-07-031-1/+11
| | | Fixes #8172
* Merge pull request #7736 from cooldome/range_float_typeAndreas Rumpf2018-06-271-14/+16
|\ | | | | Language feature: range float types
| * manual merge 2cooldome2018-06-121-1/+1
| |
| * merge develcooldome2018-06-121-27/+38
| |\
| * | style fixes, typoscooldome2018-06-121-5/+5
| | |
| * | remove underscorescooldome2018-06-111-5/+5
| | |
| * | fix commentscooldome2018-06-101-16/+11
| | |
| * | merge develcooldome2018-06-101-49/+63
| |\ \
| * \ \ merge develcooldome2018-04-291-7/+19
| |\ \ \
| * | | | Implement float range typescooldome2018-04-261-13/+20
| | | | |
* | | | | requested pull-request changesZahary Karadjov2018-06-161-10/+10
| | | | |
* | | | | allow referencing other parameters in default parameter valuesZahary Karadjov2018-06-161-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fix #7756 fix #1201 fix #7000 fix #3002 fix #1046
* | | | | fixes #7222; fixes #5595; fixes #3747Zahary Karadjov2018-06-161-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 syntaxZahary Karadjov2018-06-161-5/+9
| | | | |
* | | | | implements a --nep1:on switch to make the compiler enforce the naming ↵Andreas Rumpf2018-06-131-1/+1
| |_|_|/ |/| | | | | | | | | | | conventions outlined in NEP-1
* | | | Merge pull request #7981 from cooldome/Fix_-7980Andreas Rumpf2018-06-121-2/+6
|\ \ \ \ | | | | | | | | | | Fixes 7980
| * | | | style improvementscooldome2018-06-121-2/+2
| | | | |
| * | | | add commentcooldome2018-06-121-0/+1
| | | | |
| * | | | New approachcooldome2018-06-121-2/+5
| | |_|/ | |/| |
* | | | fixex merge conflictsAraq2018-06-081-0/+8
|\| | |
| * | | add more test to 4799andri lim2018-06-051-0/+8
| | | |
* | | | ensure compiler API doesn't import the RST engineAndreas Rumpf2018-05-291-1/+1
| | | |
* | | | refactoring: remove idents.legacy global variable and pass the IdentCache ↵Andreas Rumpf2018-05-271-5/+5
| | | | | | | | | | | | | | | | around explicitly
* | | | remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-5/+5
| | | |
* | | | make tests green againAndreas Rumpf2018-05-181-1/+1
| | | |
* | | | platform.nim doesn't use globals anymore; prepare msgs.nim for not using globalsAndreas Rumpf2018-05-181-14/+18
| | | |
* | | | remove ast.emptyNode global; cleanup configuration.nimAraq2018-05-161-3/+6
|/ / /
* | | make tests green againAraq2018-05-141-2/+2
| | |
* | | fixes testament compilationAraq2018-05-141-5/+9
|\ \ \
| * | | Bugfix: The compiler were not inserting proper downcasts for generic typesZahary Karadjov2018-05-071-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 Karadjov2018-05-071-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 Karadjov2018-05-071-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 anymoreAndreas Rumpf2018-05-131-2/+2
| | |
* | | sigmatch compiles againAndreas Rumpf2018-05-111-42/+44
|/ /
* | sigmatch: speed it upAndreas Rumpf2018-04-281-3/+1
| |
* | minor speedup: concept tests still greenAndreas Rumpf2018-04-281-10/+9
| |
* | stuff that is greenAndreas Rumpf2018-04-281-7/+17
| |
* | fixes #7600, generic object with generic ref object parent typerel bug (#7678)andri lim2018-04-271-2/+7
|/ | | | | | * fixes #7600 * fix wrong logic
* Static[T] fixes (#7333)zah2018-03-241-1/+1
| | | | | | | | | | | * fix the usage of unresolved static[T] parameters in proc signatures * fix tsametype and tmacrogenerics * Allow creating composite type classes with concepts and using them in type signatures * Allow integers to be used in ident concatenations * Support using imported C++ generic types in proc signatures * fixes #7230 * closes #7379 * re-enable some metatype tests
* fixes #7331Araq2018-03-181-1/+2
|
* improves the stability of 'nim check'Andreas Rumpf2018-03-131-1/+3
|
* fixes #7247Andreas Rumpf2018-02-231-28/+31
|
* Fixes #6853 (#7188)cooldome2018-02-101-1/+6
| | | | | * Fixes #6853 * Add a test for a const empty array
* improve the error messages regarding type mismatches in overloading resolutionAndreas Rumpf2018-02-041-2/+6
|