Commit Graph

268 Commits

Author SHA1 Message Date
Araq
0e1304a3e2 the compiler uses tyAlias internally; tester compiles again 2016-11-16 00:13:45 +01:00
Araq
e6c5622aa7 removed tyArrayConstr completely from the compiler; introduced tyAlias instead in preparation for further bugfixes 2016-11-14 23:18:30 +01:00
Andreas Rumpf
479373ad79 fixes #4088 2016-09-11 23:48:59 +02:00
Andreas Rumpf
3a13706d7d fixes #4673 2016-09-01 13:02:53 +02:00
Andreas Rumpf
afb0d2e145 partial fix for #4623 2016-08-26 15:39:21 +02:00
Andreas Rumpf
e92ccff57a fixes #4550 2016-08-04 01:37:41 +02:00
Andreas Rumpf
39ebe2175b compiler almost free of deprecated expr/stmt names 2016-07-30 16:34:42 +02:00
Andreas Rumpf
9605435f2e get rid of deprecated toLower/toUpper 2016-07-19 19:28:01 +02:00
Andreas Rumpf
b47d9b7b91 fixes #4371 2016-07-08 10:34:12 +02:00
Andreas Rumpf
5f4e98bbc7 fixes #4395, getType still not entirely correct 2016-06-23 12:41:45 +02:00
Anatoly Galiulin
88c99ad37c Improve error message for exported generated types 2016-06-01 15:33:00 +06:00
Andreas Rumpf
f7f3d70a68 bugfix: make visibility more robust for macros 2016-06-01 11:01:03 +02:00
Andreas Rumpf
2ac3e12372 fixes #4066 2016-05-18 12:40:01 +02:00
Andreas Rumpf
e97d640ce8 fixes #3998 2016-03-28 02:26:38 +02:00
Andreas Rumpf
0baa1d9955 first version of .partial objects 2016-02-28 23:22:47 +01:00
Andreas Rumpf
38dee2095c added 'sig' feature; removed tfShared support in the compiler 2016-02-28 19:56:41 +01:00
Andreas Rumpf
307a6095fa made closure iterators tests green, updated docs 2015-12-31 00:16:38 +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
217e0ab6e9 lambda lifting support for iterToProc plugin 2015-12-01 00:53:30 +01:00
Araq
a2480efd68 allow 'nil ref T' as a first step which does nothing 2015-11-26 17:46:05 +01:00
Araq
fd80a51547 fixes #2594 2015-09-18 12:07:39 +02:00
Araq
0aa908c86c clarify the meaning of the 'auto' metatype; 'auto' is now bind-multiple; fixes #3224 2015-09-14 20:25:52 +02:00
Araq
612cd25d5d usage of NimNode triggers .compileTime context; fixes #1679 2015-09-14 12:41:49 +02:00
Araq
8ef66b973d first attempt to fix 'a[i]' handling in generics 2015-09-12 10:55:28 +02:00
Araq
63cdcb2be1 implicit return types for iterators are now deprecated 2015-09-10 15:57:57 +02:00
Araq
f934c92132 fixes #3096 2015-08-09 23:37:13 +02:00
Araq
1b4116702b fixes #3052 2015-08-02 02:56:02 +02:00
Araq
b0b716fca7 fixes #3079, fixes #1146, fixes #2879 2015-07-22 16:32:56 +02:00
Araq
7011275f13 fixes #3062 2015-07-05 15:00:46 +02:00
Araq
2d196442fa fixes #3048, fixes #3047 2015-07-03 10:31:49 +02:00
Araq
cdc6529ccf fixes #3038 2015-07-03 00:20:34 +02:00
Araq
c314f8e65e fixes #3040 2015-07-02 23:04:46 +02:00
Araq
cabbcd411d implements varargs[untyped]; refs #2545; to be documented 2015-07-02 16:18:11 +02:00
Araq
85bcc14f7f fixes #2607 2015-04-26 22:44:06 +02:00
Araq
13c5f792dc fixes #2447 2015-04-22 16:11:51 +02:00
Araq
e55f5d1fd4 fixes #2505, fixes #1853, fixes #2522 2015-04-20 21:25:49 +02:00
Araq
06feaef64a fixes #1658 2015-04-11 10:01:12 +02:00
Araq
a1b937ab33 fixes #1691 2015-04-11 10:01:11 +02:00
def
39049e151f Get rid of deprecation warnings 2015-04-07 15:47:18 +02:00
Araq
7720c0aafd fixes a regression related to the new typeOf parsing 2015-03-27 02:13:51 +01:00
Araq
e680e43fc2 fixes #2405 2015-03-25 14:50:08 +01:00
Araq
765f274629 fixes #1783 2015-03-23 00:09:34 +01:00
Araq
a541be8935 prepare for upcoming parsing change of unary operators 2015-03-22 09:31:15 +01:00
Araq
bf90b9c833 fixes #2346 2015-03-16 23:02:20 +01:00
Araq
13cdad8819 fixes #2304 2015-03-16 23:02:18 +01:00
def
d77c883911 globalError instead of localError when failing infinite recursion
globalError throws an exception, so this works for `nim check` as well.
2015-03-13 17:17:42 +01:00
def
c19d6cb620 Fix infinite recursion in semtypes with recursive types
Fixes #2213
2015-03-13 02:17:46 +01:00
Max Zerzouri
dba25d2622 enable syntax for anonymous tuples.
Turns out to be slightly problematic as `(int, int)` could be logically
thought of as an expression evaluating to a tuple value containing
two typedesc[int]s.

To disambiguate, the zero-tuple's type must still be written as
`tuple[]`, and what would be tuple value expressions containing only
typedescs are interpreted as types.

() # value of type `tuple[]`
(int, int) # tuple type
(int, int, ()) # value of type `(typedesc[int], typedesc[int], tuple[])`
2015-03-06 12:23:31 +13:00
Max Zerzouri
9c126282b2 interpret tuple as a class and tuple[] as the empty tuple
When the indentation syntax is allowed it is always interpreted as a
tuple:

type
  Unit = tuple
2015-03-06 12:20:15 +13:00