summary refs log tree commit diff stats
path: root/compiler/semexprs.nim
Commit message (Collapse)AuthorAgeFilesLines
* improve the error messages for bug #6692Araq2017-11-051-4/+5
|
* fixes #1860; macro generating a wrong nkSymChoice nodeAndreas Rumpf2017-10-301-1/+1
|
* breaking change: 'and' and 'mod' do not produce a subrange type anymore; ↵Andreas Rumpf2017-10-301-1/+0
| | | | fixes #5854
* remove old implementation of the roof operator; make tests green again; ↵Andreas Rumpf2017-10-291-10/+1
| | | | close #6292
* work in progress: new implementation for 'a[^1]'Andreas Rumpf2017-10-291-1/+1
|
* deprecated unary '<'Andreas Rumpf2017-10-291-10/+10
|
* topttree destructor finally worksAraq2017-10-261-13/+0
|
* destructors: work in progressAraq2017-10-261-0/+13
|
* destructors: lift type bound ops to objects and arrays etcAndreas Rumpf2017-10-171-2/+2
|
* destructors: preparations for upcoming changesAraq2017-10-171-0/+3
|
* fixes #4910Araq2017-10-141-4/+7
|
* introduce --newruntime switch for the upcoming destructors and move semanticsAndreas Rumpf2017-10-131-1/+1
|
* simple programs now work with the new destroyer passAndreas Rumpf2017-10-121-3/+4
|
* allow macros to produce nnkGotoState and nkStateAndreas Rumpf2017-10-091-0/+4
|
* breaking change: getAst strips away pointless nnkStmtList nodes; node ↵Andreas Rumpf2017-09-261-3/+4
| | | | rendering of nnkStmtList without wrong indentation
* some work to make 'opt' a first class typeAndreas Rumpf2017-09-241-7/+3
|
* write tracking for funcs implementedAndreas Rumpf2017-09-231-1/+2
|
* first implementation of the 'func' keywordAndreas Rumpf2017-09-231-8/+8
|
* .pure enums are much more convenient to use nowAndreas Rumpf2017-09-171-2/+4
|
* make tests green againAndreas Rumpf2017-08-311-2/+4
|
* low/high/of are now overloadable operationsAndreas Rumpf2017-08-301-38/+3
|
* fixes mitems iterator on vm. (issue with tuple value)Parashurama2017-08-191-0/+3
| | | | | | this discard any implicit conversion on iterator return value. the previous behaviour was to return a reference to a converted copy and thus not modifying the original value.
* treat var modifiers inside the concept body correctly: #1033Zahary Karadjov2017-08-191-1/+6
|
* fixes #6127Andreas Rumpf2017-07-221-5/+3
|
* bugfix: keep the information of a raw float literal in the ASTAndreas Rumpf2017-07-061-3/+3
|
* do not crash for #5895Andreas Rumpf2017-07-061-1/+1
|
* Fix #5983Zahary Karadjov2017-06-201-1/+4
|
* Fix #5888Zahary Karadjov2017-06-201-1/+1
|
* introduce a pre-processing pass for the concept bodiesZahary Karadjov2017-06-201-2/+2
| | | | | | | fixes #4982 fixes #3805 close #3414
* restrict casting for closure. (#5948); fixes #5742Parashurama2017-06-071-1/+6
| | | | | | | | | * restrict casting for closure. This commit forbid casting a closure to anything other than another closure. use rawEnv/rawProc to access underlaying pointers. * better error message for closure cast * fixes #5742
* first steps to allow easy functors via macrosAndreas Rumpf2017-06-041-17/+3
|
* Merge branch 'zahary' into araq2Andreas Rumpf2017-05-171-26/+5
|\
| * fix affecting templates with explicit generic paramsZahary Karadjov2017-05-131-26/+5
| |
* | Merge branch 'zahary' into araq2Andreas Rumpf2017-05-161-15/+20
|\|
| * wipZahary Karadjov2017-04-111-4/+5
| |
| * adapt quote to the new parsing rulesZahary Karadjov2017-04-101-8/+11
| |
| * fix the do notation when used with procsZahary Karadjov2017-04-091-2/+1
| |
| * Restore the Nim's 0.14 proper handling of generic aliasesZahary Karadjov2017-04-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | A more efficient implementation is possible by restoring the old lifting ot tyGenericInvocation to tyGenericInst in liftTypeParam, but this fix will suffice for now. fixes #5087 fixes #5602 fixes #5641 fixes #5570
| * fix #5642Zahary Karadjov2017-04-071-0/+2
| |
* | Fix for #5695 make subscript operator overloadable for tuples (#5749)cooldome2017-04-241-3/+3
|/
* move the object construction logic to a separate fileZahary Karadjov2017-04-061-277/+1
|
* object construction: test cases and manual additionsZahary Karadjov2017-04-061-10/+8
|
* cleaned up the code and implemented proper error messagesZahary Karadjov2017-04-061-77/+178
|
* fix #4556Zahary Karadjov2017-04-061-55/+164
| | | | | | | | | | | | | | | | | | | | | 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.
* Merge remote-tracking branch 'origin/concepts-rebased' into araqAndreas Rumpf2017-03-311-34/+82
|\
| * Working test cases for the sophisticated matrix library example from the manualZahary Karadjov2017-03-241-8/+20
| | | | | | | | | | Fixed the dot operator when used within return types (see tgenericdotrettype) Fixed the matching of generic concepts aliases used with the implicit generics style
| * further improvements to the error messages produced by conceptsZahary Karadjov2017-03-241-5/+6
| |
| * proper error reporting for concepts and the introduction of the {.explain.} ↵Zahary Karadjov2017-03-241-5/+17
| | | | | | | | pragma
| * infer static parameters even when more complicated arithmetic is involvedZahary Karadjov2017-03-241-0/+1
| |
| * support derived values in non-generic user type classesZahary Karadjov2017-03-241-19/+20
| |