Nim/tests
Zahary Karadjov fee2a7ecfa Experimental support for delayed instantiation of generics
This postpones the semantic pass over the generic's body until
the generic is instantiated. There are several pros and cons for
this method and the capabilities that it enables may still be possible
in the old framework if we teach it a few new trick. Such an attempt
will follow in the next commits.

pros:
1) It allows macros to be expanded during generic instantiation that
will provide the body of the generic. See ``tmacrogenerics``.
2) The instantiation code is dramatically simplified. Dealing with unknown
types in the generic's body pre-pass requires a lot of hacky code and error
silencing in semTypeNode. See ``tgenericshardcases``.

cons:
1) There is a performance penalty of roughly 5% when bootstrapping.
2) Certain errors that used to be detected in the previous pre-pass won't
be detected with the new scheme until instantiation.
2013-08-23 01:10:20 +03:00
..
benchmarks Added benchmark tool and some benchmarks. 2012-03-22 20:15:16 +00:00
caas Take into account dirty buffers in suggest output; Fixes zah/nimrod.vim#14 2013-08-07 18:58:46 +03:00
ccg fixes #230; fixes #227 2012-10-19 20:45:26 +02:00
compile Experimental support for delayed instantiation of generics 2013-08-23 01:10:20 +03:00
css tester uses same layout as nimbuild 2011-11-12 12:17:44 +01:00
dll DLLs should work again; fixes #169 2012-07-24 01:14:21 +02:00
gc rod file viewer for easier debugging of rod files 2013-04-04 13:05:38 +02:00
js fixes #376 2013-03-24 13:05:19 +01:00
manyloc fixes #531 2013-07-24 23:07:28 +02:00
patterns made some tests green; some small bugfixes 2012-12-09 15:53:59 +01:00
reject hacky fix for generic constraints matching 2013-08-19 01:48:25 +03:00
rodfiles Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
run Experimental support for delayed instantiation of generics 2013-08-23 01:10:20 +03:00
system restored files that 'koch clean' removed 2012-04-16 16:43:41 +02:00
testdata Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
threads Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
benchmark.nim Added benchmark tool and some benchmarks. 2012-03-22 20:15:16 +00:00
caasdriver.nim Moves caasdriver comments into idetools document. 2013-07-06 18:51:37 +02:00
js.html Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
js.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
mmaptest.nim bugfix: threading on PowerPC 2012-02-02 00:16:33 +01:00
readme.txt Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
rectest.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
specials.nim Adds highlite to tests suite. 2013-06-18 22:18:44 +02:00
stckovfl.nim Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
sunset.tmpl Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
tester.nim Fixes usage of public API caasTestsRunner in tester. 2013-06-10 22:06:38 +02:00

This directory contains the test cases.
Each test must have a filename of the form: ``t*.nim``

Each test can contain a spec in a ``discard """"""`` block.

The folder ``rodfiles`` contains special tests that test incremental 
compilation via symbol files.

The folder ``dll`` contains simple DLL tests.