* fixes#13102
* closes#13149
* ARC: fixes a move optimizer bug (there are more left regarding array and tuple indexing)
* proper fix; fixes#12957
* fixes yet another case object '=' code generation problem
* remove disabled (and obsolete) ttypetraits; rename ttypetraits2 => ttypetraits
* D20200105T085828 fix super strange bug that causes CI to fail: builds.sr.ht with: `Error: Settle timed out after 120 attempts`
* [FEATURE] rst parser respect :start-after: in include
Rst parser now respects `:start-after:` and `:end-before:` attributes
for `include` directive.
* [DOC] include directive parsing proc update
* [TEST] Added unit tests for include rst directive in `rst` module
This implements "deterministic" exception handling for Nim based on goto instead of setjmp. This means raising an exception is much cheaper than in C++'s table based implementations. Supports hard realtime systems. Default for --gc:arc and the C target because it's generally a good idea and arc is all about deterministic behavior.
Note: This implies that fatal runtime traps are not catchable anymore! This needs to be documented.
* first implementation of the =trace and =dispose hooks for the cycle collector
* a cycle collector for ARC: progress
* manual: the .acyclic pragma is a thing once again
* gcbench: adaptations for --gc:arc
* enable valgrind tests for the strutils tests
* testament: better valgrind support
* ARC refactoring: growable jumpstacks
* ARC cycle detector: non-recursive algorithm
* moved and renamed core/ files back to system/
* refactoring: --gc:arc vs --gc:orc since 'orc' is even more experimental and we want to ship --gc:arc soonish
* Increased regBx size from 16 to 24 bits to increase jump range in the VM
from 32K to 8M instructions. Fixes#12727
* Increased VM TInst register field sizes to 16 bits to allow up to 65535 VM registers per proc
* Added test case for >255 VM registers