Commit Graph

447 Commits

Author SHA1 Message Date
Andreas Rumpf
3a13706d7d fixes #4673 2016-09-01 13:02:53 +02:00
Andreas Rumpf
b4d7ab3caa fixes #4179; disallow assignments to openarrays 2016-08-26 17:29:56 +02:00
Andreas Rumpf
10f445da89 Merge pull request #4592 from arnetheduck/compiler-cleanup
Compiler cleanup
2016-08-25 16:50:54 +02:00
Andreas Rumpf
f1e4d8ed74 side-effect computation now done in the proper pass; fixes #4254 2016-08-25 16:33:51 +02:00
Jacek Sieka
3cd4cf4320 remove unused stuff 2016-08-09 22:54:27 +08:00
Andreas Rumpf
5d56361383 fixes #4353 2016-08-04 19:36:13 +02:00
Andreas Rumpf
6d98c717de fixes #4564 2016-08-04 01:37:41 +02:00
Andreas Rumpf
de6198c747 fixes #4555 2016-08-02 12:47:02 +02:00
Andreas Rumpf
39ebe2175b compiler almost free of deprecated expr/stmt names 2016-07-30 16:34:42 +02:00
Andreas Rumpf
1ddd2a3865 fixes #4432 2016-07-29 01:00:25 +02:00
Andreas Rumpf
850b908f15 remove XXX comment 2016-07-20 00:27:42 +02:00
Andreas Rumpf
622ab7089c Merge pull request #4488 from mbaulch/fix4346improved
Use target field types in tuple conversions.
2016-07-16 14:13:20 +02:00
Andreas Rumpf
57c52d05df better be safe than sorry 2016-07-15 13:29:22 +02:00
Matthew Baulch
915185dd11 Handle tuples with unnamed fields, symbols, and more. Less duplication. 2016-07-15 20:36:11 +10:00
Andreas Rumpf
3e72c98d49 rollback of nimsuggest improvement until we figured out the reasons 2016-07-15 11:44:02 +02:00
Andreas Rumpf
db56174a19 fixes #3548 2016-07-15 00:22:14 +02:00
Matthew Baulch
05486957d4 Fix: Correctly (and more efficiently) handle non-tuple conversions. 2016-07-14 21:24:39 +10:00
Matthew Baulch
de41649b0e Use target field types in tuple conversions. 2016-07-14 20:51:40 +10:00
Andreas Rumpf
4f7a2e9def fixes #4358 2016-07-12 10:26:43 +02:00
Andreas Rumpf
b47d9b7b91 fixes #4371 2016-07-08 10:34:12 +02:00
Andreas Rumpf
e73fd64f38 fixes #537 2016-07-06 16:48:00 +02:00
Andreas Rumpf
be2efa69ea refactorings 2016-05-30 00:59:02 +02:00
Andreas Rumpf
e52044660d Merge branch 'patch/fix-3496-generic-tmpl-args' of https://github.com/nanoant/Nim into nanoant-patch/fix-3496-generic-tmpl-args 2016-05-29 23:58:25 +02:00
Andreas Rumpf
426306eeb4 fixes #3882 2016-05-28 17:43:47 +02:00
Andreas Rumpf
6d76df8454 fixes #4227 2016-05-27 19:18:08 +02:00
Andreas Rumpf
eae30d1961 fixes #950 2016-05-12 00:38:15 +02:00
Andreas Rumpf
95ffeb6079 fixes #177 2016-05-11 17:39:37 +02:00
Araq
0dc92960d2 include statement is not restricted to top level statements anymore 2016-05-10 22:03:07 +02:00
Andreas Rumpf
f348671ba7 fixes #3544 2016-04-30 01:12:36 +02:00
Andreas Rumpf
8dfdea8919 fixes #4097 2016-04-19 11:56:35 +02:00
Andreas Rumpf
c9966a3e17 use 'using' instead of 'sig' keyword; cleans up new features a bit 2016-02-29 12:19:54 +01:00
Andreas Rumpf
38dee2095c added 'sig' feature; removed tfShared support in the compiler 2016-02-28 19:56:41 +01:00
Andreas Rumpf
7ae45ea420 'using' statement is obsolete 2016-02-28 14:48:15 +01:00
Andreas Rumpf
1afdefcbe9 added experimental .this pragma 2016-02-28 03:17:20 +01:00
Andreas Rumpf
159a2ff955 fixes #3636 2016-01-04 02:04:59 +01:00
Andreas Rumpf
c1627354d1 first implementation of the new lambda-lifting pass; barely anything works 2015-12-26 00:42:30 +01:00
Araq
760242b870 removes 'x is iterator' special casing in the language 2015-12-03 01:08:03 +01:00
Araq
5de900b456 added iterToProc plugin 2015-12-01 00:53:30 +01:00
Araq
d673fb3911 nimsuggest: added 'chk', 'outline' and 'highlight' features 2015-11-01 23:26:31 +01:00
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
e722770fbb doc\advopt.txt
added --reportConceptFailures switch
2015-10-22 12:14:31 +02:00
Araq
3fef9f08bd fixes regression: tactiontable 2015-10-14 14:35:44 +02:00
Araq
c921f30b1d renamed inCompilesContext to compilesContextId; added test case for #3313 2015-09-18 11:29:43 +02:00
Araq
5b2f54ffa1 fixes #3313 2015-09-18 11:24:16 +02:00
Araq
1251fc76c3 fixes #3212 2015-09-14 20:30:55 +02:00
Araq
e01e0a4b40 next steps in binding [] properly 2015-09-13 22:42:21 +02:00
Araq
8ef66b973d first attempt to fix 'a[i]' handling in generics 2015-09-12 10:55:28 +02:00
Yuriy Glukhov
4ef4ad305c Fixed nimvm in generics. 2015-09-07 13:49:32 +03:00
Yuriy Glukhov
49869a2b10 when nimvm stmt proof of concept 2015-09-04 20:50:29 +03:00
Araq
bfd2fd67f9 tuple unpacking works in a non-var/let context 2015-08-21 21:34:14 +02:00