* I don't care about observable stores
* enforce explicit initializations
* cleaner code for the stdlib
* stdlib: use explicit initializations
* make tests green
* algorithm.nim: set result explicitly
* remove out parameters and bring the PR into a mergable state
* updated the changelog
* code cleanups and feature additions
* added basic test and koch/CI integration
* make it build on Unix
* DrNim: now buildable on Unix, only takes 10 minutes, enjoy
* added basic documentation for DrNim which can also be seen as the RFC we're following
* drnim: change the build setup so that drnim.exe ends up in bin/
* makes simple floating point ranges work
* added basic float range check
* drnim: teach Z3 about Nim's range types plus code refactoring
* drnim: make unsigned numbers work
* added and fixed index checking under setLen
* first implementation of .ensures, .invariant and .assume (.requires still missing and so is proc type compatibility checking
* drnim: .requires checking implemented
* drnim: implemented .ensures properly
* more impressive test involving min()
* drnim: check for proc type compatibility and base method compatibility wrt .requires and .ensures
* testament: support for 'pattern <directory>
* koch: uses new <directory> feature of testament
* drnim: added tiny musings about 'old'
* Make testament work with old SSL versions
* koch: add support for 'koch drnim -d:release'
* drnim: preparations for the param.old notation
* fix#13538 sigmatch now sorted and has reliable order
* re-enable tests that were disabled because of that bug
* fix remaining tests and un-disable 2 other tests that were affected by this bug
Previously the compiler will believe these are where `newSeq` symbol
starts:
newSeq[int]()
^
system.newSeq[int]()
^
This commit moves them back to:
newSeq[int]()
^
system.newSeq[int]()
^
* fixes#8794 : `Error: undeclared field: 'foo'` should show type (+ where type is defined) (hard to guess in generic code)
* fixes#9270: `--listFullPaths` not honored by `declared in foo.nim` messages
* fixes#9767: VM stacktrace doesn't honor --excessiveStackTrace:on
* fixes#9768: VM stacktrace misses column info, can lead to ambiguous or harder to read stacktraces
* refactors some col+1 code to col + ColOffset (self documents code)
* make getProcHeader show declared info location also for types and all routine kinds (including macros,templates) instead of just (rather arbitrarily) for iterator,proc,func,method
* --listFullPaths now is honored in more places
* fix typo system/except.nim => lib/system/excpt.nim
* remove substr(foo, 0) hack in compiler/vm.nim which seems old and not applicable anymore