Commit graph

207 commits

Author SHA1 Message Date
Adam Strzelecki
47e45dee7e fixes #3496
The problem comes from the fact that macroOrTmpl[...] is transformed by
semSubscript which is trying to evaluate macroOrTmpl identifier in place. This
is okay for non-generic macros or templates, but wrong for generic ones, that
do not have a chance to receive their generic arguments explicitly specified in
brackets.

Solution:

1. macroOrTmpl[...] where macroOrTmpl is non-generic macro or template, then
   macroOrTmpl is evaluated before applying brackets. (as before)

2. macroOrTmpl[...] where macroOrTmpl is generic macro or template, then if:

   a. It comes from macroOrTmpl[...](...) call expr (efInCall), then macroOrTmpl
      is turned into a symbol (efNoEvaluate) rather than evaluating it in place,
      then whole bracket expr is returned to semIndirectOp which transforms it
      to proper generic macro or template call with explicit generic arguments.

   b. macroOrTmpl[...] does not come from call expr, as above macroOrTmpl is
      transformed to symbol, then it is transformed into proper generic macro or
      template call with explicit generic arguments and no normal arguments.
2015-10-29 23:10:45 +01:00
Araq
86e2d6ee90 fixes #3476 2015-10-27 08:37:56 +01:00
Peter Mora
75097e2981 sequtils related changes 2015-10-05 22:42:22 +02:00
Peter Mora
925e7b0ca1 fixing TypelessParam warning in x=>x+1, added test 2015-09-22 18:34:43 +02:00
Araq
14354b436f fixes #2599 2015-09-13 23:26:44 +02:00
Adam Strzelecki
e80465dacf tests: Trim .nim files trailing whitespace
via OSX: find . -name '*.nim' -exec sed -i '' -E 's/[[:space:]]+$//' {} +
2015-09-04 23:04:32 +02:00
Araq
36a90c6044 fixes #1965 2015-08-10 01:31:42 +02:00
Araq
35f8cc0bdd fixes #2752 2015-08-09 20:29:03 +02:00
Araq
c733b3181e breaking change: symbol lookups in generics follows spec more closely; fixes #2664 2015-08-07 21:28:45 +02:00
Araq
0d8942d45e destructors now work with overloaded assignment operators; fixes #2811; fixes #1632 2015-08-05 21:43:14 +02:00
Araq
560cfd48fc fixes broken merge 2015-07-02 16:29:22 +02:00
Araq
cabbcd411d implements varargs[untyped]; refs #2545; to be documented 2015-07-02 16:18:11 +02:00
Araq
de5113805a tests\generics\tgenericprocmatcher.nim
disabled dubious constructs
2015-07-02 16:04:35 +02:00
r-ku
1a14e9d366 Fixes #3022 2015-06-30 17:52:18 +03:00
Araq
87f65f5e72 preparations for more Nimble packages; clear licensing; fixes #2949 2015-06-20 23:24:21 +02:00
patrick dw
69e15ac32f renamed writeln to writeLine in tests 2015-06-19 01:34:34 -05:00
Araq
d89a20cc1d fixes #2509 2015-04-11 10:01:10 +02:00
def
64903e7050 Use ^ instead of - in slices 2015-03-28 00:38:15 +01:00
Araq
508e8bd686 fixes #2221 2015-03-21 20:38:26 +01:00
def
fd4e629905 Rename PNimrodNode to NimNode 2015-03-17 17:50:32 +01:00
Araq
13cdad8819 fixes #2304 2015-03-16 23:02:18 +01:00
Araq
1efb5174f2 fixes #2220; #2219; breaks #2022; for #2022 callsite needs to be used 2015-03-10 12:32:46 +01:00
Hans Raaf
58186f6c1d Replaced deprecated repeatChar() with repeat() or spaces(). 2015-03-04 03:30:43 +01:00
Araq
2ebeb0bd21 fixes #2169 2015-02-28 20:13:21 +01:00
Araq
b7f11b8b0a fixes #2125 2015-02-18 13:44:01 +01:00
Araq
34b4e9fc96 fixes #2004 2015-02-08 15:43:50 +01:00
Araq
43e5e3ac22 fixes #2022 2015-01-31 13:46:21 +01:00
Araq
6004280522 preparations for C++ template support 2015-01-23 00:36:58 +01:00
Araq
5ae8689b63 better error message for 'invalid type' 2015-01-23 00:36:56 +01:00
Araq
fd10866ae3 fixes #1919 2015-01-11 02:23:39 +01:00
Araq
8cb31d86b6 fixes tconfusing_arrow bug 2015-01-10 23:52:29 +01:00
Zahary Karadjov
1d5ecc0dea fix #1050 2015-01-02 23:58:24 +02:00
Zahary Karadjov
b83b1383fb fix #1056 2014-12-31 04:18:35 +02:00
Zahary Karadjov
da36a847a7 fix #1789 (binding to static params during generic proc sigmatch) 2014-12-31 01:45:23 +02:00
Araq
76c3b314dc implemented 'koch pdf' 2014-12-19 13:44:56 +01:00
Araq
a1c217a2db fixes #1684 2014-11-30 02:56:26 +01:00
Araq
abb2c21047 fixes #836 2014-11-19 23:40:26 +01:00
Araq
30823c1ce3 make tests green 2014-08-31 15:15:26 +02:00
Araq
09ab1703e1 fixes #1444 2014-08-31 01:07:58 +02:00
Araq
0257f389fe fixes #1366 2014-08-30 20:16:35 +02:00
Araq
c6034277fc further adaptations 2014-08-29 09:12:12 +02:00
Araq
eb99c27bd0 fixes #1011 2014-07-09 21:10:11 +02:00
Dominik Picheta
2fb5d62927 Tester now appreciates the test target. Modified 'cmd' in specs. 2014-04-16 21:28:19 +01:00
EXetoC
e69899fb49 Fix some tests. 2014-03-31 21:38:35 +02:00
Zahary Karadjov
4f91dd40ed msg -> errmsg 2014-03-21 00:27:28 +02:00
Zahary Karadjov
f0953db3ba handle arbitrary expressions dependent on static input params in proc signatures 2014-03-16 20:42:06 +02:00
Zahary Karadjov
ac271e76b1 more robust handling of proc signatures containing inter-param type references 2014-03-16 20:42:06 +02:00
Zahary Karadjov
cf8fe16a48 fix #715 again
the regression was caused by the introduction of "generic" lambdas
2014-03-16 20:42:06 +02:00
Zahary Karadjov
9fb0755572 further improvements for static generic params; activate the hardest test cases 2014-03-10 00:36:19 +02:00
Zahary Karadjov
cda92048ba fix some trivial errors in the test suite and some more regressions caused by tyTypeDesc[tyNone] 2014-02-18 02:46:14 +02:00