Zahary Karadjov
8f4b374327
Fix #4020 ; Better handling of templates within concepts
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
Yuriy Glukhov
58eae1171d
Fixes #5995
2017-06-18 00:57:05 +03:00
Andreas Rumpf
55c244400d
.partial object field names are left unmangled; mangling should be done by the macro instead
2017-06-05 10:30:24 +02:00
Andreas Rumpf
c59bc0cc18
first steps to allow easy functors via macros
2017-06-04 11:17:41 +02:00
Araq
8f67b90997
Merge branch 'araq2' into devel
2017-05-17 22:13:57 +02:00
Andreas Rumpf
7a95c961a7
cleanup of in/out covariance handling
2017-05-17 20:54:53 +02:00
Araq
943aaecbe7
Merge branch 'devel' of github.com:nim-lang/Nim into devel
2017-05-16 22:09:37 +02:00
Yuriy Glukhov
6599cae281
Async macro fixes ( #5739 )
2017-05-16 22:09:19 +02:00
Araq
ac3e7edfe4
weaken the rules for proc definition pragmas that have been forwarded
2017-05-16 22:07:44 +02:00
Zahary Karadjov
05bfa47996
fix tinvalidinout
2017-05-13 18:51:28 +03:00
Zahary Karadjov
b428da2cc2
work-around for defining imported types with weak covariance
2017-05-13 15:46:08 +03:00
Zahary Karadjov
0aede22e87
enforce the covariance rules for user-defined generic types
2017-05-13 14:38:07 +03:00
Zahary Karadjov
a3f19c87fb
lift parameter-less do block to lambdas
2017-04-10 23:58:05 +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
0b7321651e
fix #5658
2017-04-07 21:53:27 +03:00
Andreas Rumpf
08f5087d2c
remove the need for the .procvar annotation
2017-04-03 16:35:41 +02:00
Andreas Rumpf
e8cfa14354
de-deprecate silly warning about non-exhaustive string case statments
2017-04-03 12:28:06 +02:00
Andreas Rumpf
529609f7ed
Merge remote-tracking branch 'origin/concepts-rebased' into araq
2017-03-31 16:40:21 +02:00
Zahary Karadjov
a74ad869e9
requested code review changes
2017-03-29 16:15:30 +03:00
Zahary Karadjov
01bc5f32d6
Fix the compilation of the emmy package
2017-03-28 01:58:54 +03:00
Andreas Rumpf
d02486aa48
compiler: better error messages ( #5613 )
2017-03-26 20:24:06 +02:00
Zahary Karadjov
fe48dd1cbe
further improvements to the error messages produced by concepts
2017-03-24 16:59:47 +02:00
Zahary Karadjov
0f2c4be129
infer static parameters even when more complicated arithmetic is involved
2017-03-24 16:58:15 +02:00
Zahary Karadjov
76c663f692
support for inferring static[T] concept params
2017-03-24 16:58:15 +02:00
Zahary Karadjov
0a9a878bd3
support for matching generic types' procs in generic concepts
2017-03-24 16:58:15 +02:00
Andreas Rumpf
b414806e66
nimsuggest: suggest types in a type section
2017-03-14 11:21:35 +01:00
Andreas Rumpf
4912300ca7
Merge branch 'devel' into faster-nimsuggest
2017-03-14 10:18:20 +01:00
zah
1be0022e7c
Fixes #5167 and related problems ( #5475 )
...
This commit returns to a bit less strict checking of the number
of macro arguments, because some old immediate macros rely on a
behavior where even the arity of the macro is not being checked.
It may be better if such macros are just declared to use varargs[expr],
but this remains for another day.
2017-03-12 09:33:49 +01:00
Andreas Rumpf
2430fc7d82
nimsuggest: special rule for 'of' completion in case statements
2017-03-10 14:42:11 +01:00
Andreas Rumpf
a9c1afd5fd
nimsuggest: structured error reporting; EPC mode still fails
2017-03-03 02:13:16 +01:00
Araq
936ed9721b
fixes 'nim check' crash
2017-03-01 09:57:26 +01:00
Araq
2589d69ed2
fixes #5430
2017-02-26 00:32:07 +01:00
Andreas Rumpf
f8914cc3b0
fixes a multimethod regression
2017-02-24 13:02:36 +01:00
Andreas Rumpf
46f33515d7
Merge branch 'devel' into faster-nimsuggest
2017-02-24 01:28:50 +01:00
Andreas Rumpf
2d546ca0ac
fixes #5417
2017-02-24 00:32:14 +01:00
Andreas Rumpf
46efaf294b
big compiler refactoring; avoid globals for multi method dispatcher generation
2017-02-22 16:27:52 +01:00
Andreas Rumpf
ba29ca0c63
Merge branch 'devel' into faster-nimsuggest
2017-02-17 10:48:01 +01:00
Araq
97e26967f1
fixes #5383
2017-02-16 00:43:14 +01:00
Andreas Rumpf
6cb0e5ad68
remove debug output
2017-02-14 12:51:38 +01:00
Andreas Rumpf
733ed91d33
disable transitive closure computations; only semcheck procs that have the cursor
2017-02-09 17:40:24 +01:00
Dominik Picheta
4661ae22dd
Fixes incorrect scoping in semstmts.semTry.
2017-02-06 19:02:51 +01:00
Dominik Picheta
1c233ba27a
More progress towards a working #3691 .
2017-02-03 19:50:22 +01:00
Dominik Picheta
656da1f6a9
WIP: as with generics.
2017-02-02 21:36:49 +01:00
Dominik Picheta
814f527175
Fixes based on @Araq's feedback.
2017-02-01 21:51:17 +01:00
Dominik Picheta
3cbfd56e1d
Fixes #3691 .
2017-02-01 21:11:40 +01:00
Dominik Picheta
e8c46d29cd
WIP implementation of except ExcType as ident syntax. Refs #3691 .
2017-02-01 00:32:56 +01:00
Andreas Rumpf
2f08fdf623
implements {.gcsafe.} enforcement as a pragma block
2017-01-18 12:55:33 +01:00
Araq
cfea779e23
fixes #2050
2016-12-30 02:21:15 +01:00