Adam Strzelecki
167acf4530
typeToString: Fix shared/not nil on complex types
...
Previously `not nil` flag was not shown on `cstring or nil` or `PType not nil`,
where `type PType = ref Type`, eg. when showing compiler diagnostics.
2015-09-06 20:17:06 +02:00
Araq
cabbcd411d
implements varargs[untyped]; refs #2545 ; to be documented
2015-07-02 16:18:11 +02:00
Araq
6d05ae26e6
fixes regression caused by code cleanups
2015-04-29 22:24:50 +02:00
Araq
26eae7d00e
fixes #2470 , fixes #1354
2015-04-28 20:21:53 +02:00
Araq
248dc42aa5
fixes #2520
2015-04-21 08:17:40 +02:00
Araq
5d63ecb3a4
implemented a[^1] notation
2015-03-26 02:12:38 +01:00
Araq
e7d7097919
fixes #1787
2015-03-22 10:47:07 +01:00
Araq
a541be8935
prepare for upcoming parsing change of unary operators
2015-03-22 09:31:15 +01:00
Araq
0d804c2052
fixes #2266
2015-03-22 01:38:14 +01:00
Andreas Rumpf
df0473d754
Merge pull request #2239 from Maxdamantus/devel
...
interpret `tuple` as a class and `tuple[]` as the empty tuple, enable syntax for anonymous tuples
2015-03-07 17:35:14 +01:00
Araq
4d8cd34c9e
fixes #794
2015-03-07 15:43:35 +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
Araq
3adcad1b5d
fixes #2250
2015-03-05 11:17:14 +01:00
Varriount
3a8455fd8f
Allow ranges with unsigned integer ordinals to be used as parameter types for procedures.
2015-02-21 02:45:06 -05:00
Araq
540f66cb09
fixes #2167
2015-02-20 20:01:23 +01:00
Araq
2bdd0bbaa9
make huge.nim urhonimo example compile
2015-02-18 15:14:10 +01:00
Federico Ceratto
657dca5c3b
Fix typos
2015-02-15 16:20:32 +00:00
Federico Ceratto
c95f6f117a
Fix typos
2015-02-15 16:06:06 +00:00
Araq
ecd0dea091
tables work in 'const' sections; echo supports 'nil' strings; minor cleanups
2015-02-09 00:08:55 +01:00
Araq
5ae8689b63
better error message for 'invalid type'
2015-01-23 00:36:56 +01:00
Araq
abb738146a
revert to old behaviour: tuple field names are not ignored anymore; fixes #1920
2015-01-18 02:33:44 +01:00
Araq
33c587d06b
patterns for 'importcpp' (still undocumented)
2015-01-14 13:57:59 +01:00
Zahary Karadjov
1b54c55b7b
prettier type name printing for generic types featuring static parameters
2014-12-31 03:50:50 +02:00
Araq
c0cc62c6b1
tuple field names are ignored
2014-12-23 17:54:22 +01:00
Araq
0e439ce367
implements #78
2014-10-26 22:48:54 +01:00
Araq
7a48942719
nicer error messages (untested)
2014-10-26 19:54:43 +01:00
Araq
595cc93762
recursive tuple types are now invalid (breaking change)
2014-10-02 16:54:05 +02:00
Araq
279e897eab
bugfix: 'T = ref T' is an illegal recursive type
2014-10-02 16:15:16 +02:00
Araq
e9dec2feed
better lock level handling
2014-10-02 02:33:14 +02:00
Araq
7916b1f9aa
implemented 'guard' annotation
2014-09-21 18:39:00 +02:00
Araq
02c076f9b4
more robust for nim check
2014-09-17 23:13:38 +02:00
Zahary Karadjov
7d5e387a48
mostly fixes #1339
...
The compiler hangs were caused by the interaction of tyError and the instantiation caches.
For procs, the cache wasn't able to find previously compiled proc featuring tyError in the signature.
For types, the unresolved type parameters leading to tyError were not replaced everywhere leading
to endless replaceTypeVarsT recursion for cyclic types.
The fix is still not perfect, because the handling of tyError in other places in the compiler doesn't seem
to be complete and the first test case now results in internal error (still, much better than a hang blocking
your IDE).
2014-09-05 01:02:46 +03:00
Araq
5946747970
updated the compiler to use the new symbol names
2014-08-28 23:48:42 +02:00
Araq
2781fea9e2
Nimrod renamed to Nim
2014-08-28 09:38:14 +02:00
Araq
2f43fdb837
renamefest
2014-08-23 01:43:49 +02:00
Simon Hafner
3f0c3ab6cf
added bug number to comment
2014-08-20 21:16:06 +02:00
Araq
ebe313e627
fixes #1334
2014-08-19 22:35:16 +02:00
Araq
1deb9820f5
fixes #1420
2014-08-19 20:28:51 +02:00
Araq
32a5d4baf0
fixes #1442
2014-08-13 02:53:00 +02:00
Clay Sweetser
912ad820ee
Fixed #1090
2014-06-15 20:01:48 -04:00
Clay Sweetser
ca1c516295
Fixing issue #1090
2014-06-15 14:56:39 -04:00
Araq
be6474af63
removed flawed thread analysis pass
2014-04-20 14:00:04 +02:00
Araq
c80d563afb
actors compile again
2014-04-20 12:10:23 +02:00
Araq
4196757de7
implemented region pointers
2014-04-09 00:33:51 +02:00
Araq
62a10df765
fixes yet another option type
2014-04-03 07:54:58 +02:00
Zahary Karadjov
b2aa70c6ef
fix #1018
...
Previously, generic types originating from the same body symbol were compared
structurally. The bug illustrates a case, where such a comparison is not correct.
The new approach follows the established method used in typeRel.
2014-03-20 22:27:49 +02:00
Zahary Karadjov
4b7655fd10
reference implementation of a vector swizzle library
...
This also provides the initial steps towards support for type class "filtered" type inference
fixes an "ordinal type expected" ICE, related to the use of static params
2014-03-20 01:16:50 +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
862c0ef83d
split the inline and closure iterators into different symbol kinds for easier discrimination between them
2014-03-06 21:57:35 +02:00
Araq
ed5bbfe36d
fixes #968
2014-03-04 08:31:11 +01:00