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
Araq
4c26c3a428
bugfix: typo
2014-02-25 00:40:21 +01:00
Zahary Karadjov
9dd753f218
quite messy implementation of generic lambdas, needs reworking; fixes #715
2014-02-17 03:03:17 +02:00
Zahary Karadjov
f701ee086a
Merge branch 'devel' of gh:/Araq/Nimrod into devel
2014-02-15 20:46:54 +02:00
Zahary Karadjov
c1f1f84194
fix some regressions caused by tyTypeDesc[tyNone]
2014-02-15 20:44:01 +02:00
Araq
d142824d65
made 'koch web' work when current dir has a space in it
2014-02-15 02:27:49 +01:00
Araq
d912d18379
tyTypeDesc and tyRange always have 1 child; this might be tyNone but it is required for skipTypes
2014-02-05 23:43:13 +01:00
Araq
99352c1e4c
macro tests almost green
2014-02-03 17:35:03 +01:00
Dominik Picheta
92f7c479b9
Fixes #848 .
2014-01-27 17:48:39 +00:00
Zahary Karadjov
3f71b7f1f6
implements #766 ;
...
expressions such as Type.field are now recognised by the compiler.
This also fixes a bug, preventing the user-defined to check for the presence of
regular fields in addition to procs
2014-01-24 23:52:52 +02:00
Zahary Karadjov
a6a18be089
support for parametric user-defined type classes
2014-01-24 14:13:32 +02:00
Araq
73c6efdf66
'nil' as a statement is deprecated, use an empty 'discard' instead
2014-01-19 16:54:59 +01:00
Zahary Karadjov
1ffae7cbaf
progress towards fixing tgenericshardcases
2014-01-06 00:15:55 +02:00
Zahary Karadjov
789ba107cf
introduce tyFromExpr; fixes #618
2014-01-04 13:10:52 +02:00
Zahary Karadjov
8f3d5a25a6
Templates will pick the candidate in the nearest scope when symbols are mixed-in
2013-12-31 04:04:59 +02:00
Zahary Karadjov
754e2ef1db
migrate the static param handling to ReplaceTypeVars; fix tgenericvariant
2013-12-30 19:15:41 +02:00
Zahary Karadjov
7e24cf26de
handle recursive types during the instantiation of meta types; propagate tfHasMeta more carefully
2013-12-30 16:06:32 +02:00
Zahary Karadjov
e3f53409f6
proc redefinition search based on the type system instead of on sloppy AST matching
...
This will work the same for procs/templates/macros/etc, having arbitrary mix of implicit
and explicit generics (as long as the symbols are equivalent for the purposes of overload
resolution, they will be detected as redefinitions)
fixes tgeneric
2013-12-30 10:57:12 +02:00
Zahary Karadjov
afddae5aaf
Merge branch 'upstream' into devel
...
Conflicts:
compiler/ccgutils.nim
compiler/msgs.nim
compiler/sem.nim
compiler/semexprs.nim
compiler/seminst.nim
compiler/semmagic.nim
compiler/semstmts.nim
compiler/semtypes.nim
compiler/semtypinst.nim
compiler/sigmatch.nim
compiler/types.nim
compiler/vmgen.nim
lib/core/macros.nim
lib/system.nim
tests/reject/tenummix.nim
web/news.txt
2013-12-29 17:21:00 +02:00
Zahary Karadjov
72291875bf
integrate the logic of fixupProcType into ReplaceTypeVars
2013-12-29 16:08:33 +02:00
Araq
b731e6ef1c
case consistency: cs:partial bootstraps on windows
2013-12-29 03:19:10 +01:00
Araq
438703f59e
case consistency: next steps
2013-12-29 01:13:51 +01:00
Zahary Karadjov
f34ca1a7d7
fix illegal recursion checks
2013-12-28 14:17:36 +02:00
Zahary Karadjov
a59f13b00d
lift generic parameters from concrete composite type classes
2013-12-28 12:50:45 +02:00
Araq
92b8fac94a
case consistency part 4
2013-12-27 23:10:36 +01:00