Araq
fa92c519aa
more progress on destructors; removed old destructor based code as it proved confusing
2017-12-01 01:52:00 +01:00
Araq
5d2e86ea1a
the documentation generator now supports ':test:' for the testing of test snippets
2017-11-28 01:15:33 +01:00
Araq
a720539f5e
fixes system.runnableExamples; strutils makes use of runnableExamples
2017-11-26 03:24:59 +01:00
Araq
8d1a5dc8e7
the documentation generator now supports system.runnableExamples
2017-11-26 02:51:11 +01:00
Araq
3bd6b7ddc7
improve the error messages for bug #6692
2017-11-05 02:51:20 +01:00
Andreas Rumpf
a155130cf2
fixes #1860 ; macro generating a wrong nkSymChoice node
2017-10-30 15:37:34 +01:00
Andreas Rumpf
d7a896f19d
breaking change: 'and' and 'mod' do not produce a subrange type anymore; fixes #5854
2017-10-30 00:27:30 +01:00
Andreas Rumpf
f1dab39086
remove old implementation of the roof operator; make tests green again; close #6292
2017-10-29 20:36:07 +01:00
Andreas Rumpf
d52a1061b3
work in progress: new implementation for 'a[^1]'
2017-10-29 19:46:17 +01:00
Andreas Rumpf
70ea45cdba
deprecated unary '<'
2017-10-29 08:37:13 +01:00
Araq
4f2b79a380
topttree destructor finally works
2017-10-26 00:55:23 +02:00
Araq
b407f083ba
destructors: work in progress
2017-10-26 00:55:23 +02:00
Andreas Rumpf
58d5f96790
destructors: lift type bound ops to objects and arrays etc
2017-10-17 14:48:16 +02:00
Araq
45d74f4081
destructors: preparations for upcoming changes
2017-10-17 12:46:49 +02:00
Araq
a75f3b3661
fixes #4910
2017-10-14 22:35:20 +02:00
Andreas Rumpf
63530be0b8
introduce --newruntime switch for the upcoming destructors and move semantics
2017-10-13 06:38:59 +02:00
Andreas Rumpf
a2e4ab2e4e
simple programs now work with the new destroyer pass
2017-10-12 17:42:15 +02:00
Andreas Rumpf
d8746398c4
allow macros to produce nnkGotoState and nkState
2017-10-09 21:12:40 +02:00
Andreas Rumpf
61720e0df9
breaking change: getAst strips away pointless nnkStmtList nodes; node rendering of nnkStmtList without wrong indentation
2017-09-26 10:24:14 +02:00
Andreas Rumpf
e879da5791
some work to make 'opt' a first class type
2017-09-24 11:21:52 +02:00
Andreas Rumpf
be2e7290fb
write tracking for funcs implemented
2017-09-23 23:29:23 +02:00
Andreas Rumpf
1a61c4d46d
first implementation of the 'func' keyword
2017-09-23 23:22:53 +02:00
Andreas Rumpf
fd4ef6ae8f
.pure enums are much more convenient to use now
2017-09-17 17:36:37 +02:00
Andreas Rumpf
a08fb61da9
make tests green again
2017-08-31 13:59:25 +02:00
Andreas Rumpf
8d714d2b02
low/high/of are now overloadable operations
2017-08-30 23:14:33 +02:00
Parashurama
03b11b66cf
fixes mitems iterator on vm. (issue with tuple value)
...
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.
2017-08-19 08:58:57 +02:00
Zahary Karadjov
c3e5c6c326
treat var modifiers inside the concept body correctly: #1033
2017-08-19 08:57:43 +02:00
Andreas Rumpf
4e3bdcc84b
fixes #6127
2017-07-22 17:07:59 +02:00
Andreas Rumpf
ee43fc82d5
bugfix: keep the information of a raw float literal in the AST
2017-07-06 13:52:21 +02:00
Andreas Rumpf
82175b43bb
do not crash for #5895
2017-07-06 13:52:21 +02:00
Zahary Karadjov
07d50cedf0
Fix #5983
2017-06-20 11:29:42 +02:00
Zahary Karadjov
21ce7b2af4
Fix #5888
2017-06-20 11:29:42 +02:00
Zahary Karadjov
cd02561368
introduce a pre-processing pass for the concept bodies
...
fixes #4982
fixes #3805
close #3414
2017-06-20 11:29:42 +02:00
Parashurama
bbf9ef606d
restrict casting for closure. ( #5948 ); fixes #5742
...
* 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
2017-06-07 08:52:50 +02:00
Andreas Rumpf
c59bc0cc18
first steps to allow easy functors via macros
2017-06-04 11:17:41 +02:00
Andreas Rumpf
61a0eba14f
Merge branch 'zahary' into araq2
2017-05-17 15:27:04 +02:00
Andreas Rumpf
503f780676
Merge branch 'zahary' into araq2
2017-05-16 17:32:18 +02:00
Zahary Karadjov
672c24e4b8
fix affecting templates with explicit generic params
2017-05-13 20:48:44 +03:00
cooldome
c6a8bd264e
Fix for #5695 make subscript operator overloadable for tuples ( #5749 )
2017-04-24 20:17:06 +02:00
Zahary Karadjov
54a1d9c16a
wip
2017-04-11 00:48:52 +03:00
Zahary Karadjov
8cb11aac4f
adapt quote to the new parsing rules
2017-04-10 12:23:04 +03:00
Zahary Karadjov
987b522071
fix the do notation when used with procs
2017-04-09 22:59:24 +03:00
Zahary Karadjov
e9a3ffbc3d
Restore the Nim's 0.14 proper handling of generic aliases
...
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
2017-04-08 17:28:19 +03:00
Zahary Karadjov
fb3ff64450
fix #5642
2017-04-07 19:28:52 +03:00
Zahary Karadjov
34c34cb49b
move the object construction logic to a separate file
2017-04-06 00:46:18 +03:00
Zahary Karadjov
f162214d5d
object construction: test cases and manual additions
2017-04-06 00:46:18 +03:00
Zahary Karadjov
564c0acae2
cleaned up the code and implemented proper error messages
2017-04-06 00:46:18 +03:00
Zahary Karadjov
6edb07091d
fix #4556
...
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.
2017-04-06 00:45:12 +03:00
Andreas Rumpf
529609f7ed
Merge remote-tracking branch 'origin/concepts-rebased' into araq
2017-03-31 16:40:21 +02:00
Andreas Rumpf
d02486aa48
compiler: better error messages ( #5613 )
2017-03-26 20:24:06 +02:00