Andreas Rumpf
da29222f86
init checks and 'out' parameters ( #14521 )
...
* 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
2020-06-23 10:53:57 +02:00
Andreas Rumpf
e31ac81899
more checking for --gc:arc, no need for valgrind ( #14467 )
...
* sigmatch: removed dead code
2020-05-29 12:08:17 +02:00
Andreas Rumpf
ddee8a362a
change the [Processing] messages into dots ( #14418 )
...
* change the [Processing] messages into dots
* better implementation
* maybe I should work on something else...
2020-05-21 22:36:34 +02:00
Andreas Rumpf
49b28f1997
fixes #14136 ( #14198 )
2020-05-03 00:12:52 +02:00
Clyybber
1f1e4de3bc
Make ./koch temp --gc:arc work ( #14186 )
2020-05-01 20:25:18 +02:00
Andreas Rumpf
d9e907c0e2
fixes #14079 [backport:1.2] ( #14163 )
2020-04-29 21:58:59 +02:00
Andreas Rumpf
9874981e75
fixes #14001 ( #14004 )
2020-04-19 10:01:04 +02:00
Timothee Cour
10eabec6d4
fix #12864 static params were mutating arg types during sigmatch; fix #12713 ; refs #13529 ( #13976 )
...
* fix #12864 static params were mutating arg types during sigmatch
* fix test
* fix StaticParam
* also fixes #12713 ; added test case
2020-04-14 15:00:02 +02:00
Zahary Karadjov
d374c6373b
Fix tests/parallel/tguard2.nim
2020-04-01 19:38:44 +02:00
Andreas Rumpf
9ffec79300
DrNim (Nim compiler with Z3 integration) ( #13743 )
...
* 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
2020-03-31 22:54:48 +02:00
Arne Döring
eb42f38088
Remove dead magics ( #13551 )
2020-03-03 12:42:43 +01:00
Andreas Rumpf
c446c0f57a
fixes #13378 [backport] ( #13392 )
2020-02-11 23:48:41 +01:00
Timothee Cour
79ec8c2571
fix #13182 : proc fun(a: varargs[Foo, conv]) now can be overloaded ( #13345 ) [backport]
2020-02-07 13:29:18 +01:00
Jasper Jenkins
0606b6a44e
fix range[enum] type conversion ( #13204 ) [backport]
2020-01-20 16:56:59 +01:00
Jasper Jenkins
796aafe7e0
make case-object transitions explicit, make unknownLineInfo a const, replace a few magic numbers with consts ( #13170 )
2020-01-17 10:34:31 +01:00
Andreas Rumpf
0f6987a86e
fixes #12964 ( #13027 )
2020-01-04 07:40:02 +01:00
Clyybber
7e747d11c6
Cosmetic compiler cleanup ( #12718 )
...
* Cleanup compiler code base
* Unify add calls
* Unify len invocations
* Unify range operators
* Fix oversight
* Remove {.procvar.} pragma
* initCandidate -> newCandidate where reasonable
* Unify safeLen calls
2019-11-28 17:13:04 +01:00
narimiran
cc3e9ca164
remove unused imports
2019-11-06 12:01:00 +01:00
Andreas Rumpf
e58c2d261c
[backport] fix #12528 , fix #12525 : incorrect generic type resolution for default values ( #12538 )
2019-10-28 16:56:38 +01:00
Araq
ed2fb36bc6
refactoring: use the new strings and seqs when optSeqDestructors is active
2019-10-20 08:11:07 +02:00
Clyybber
ed1d41c51e
Small ast.nim cleanup ( #12156 )
...
* Remove sonsLen
* Use Indexable
2019-09-09 11:54:15 +02:00
Andreas Rumpf
7ef85db9a9
fixes #12020 ( #12106 )
2019-09-02 15:47:56 +02:00
Araq
fc7fe636e2
improvement for 'unused import' warnings
2019-09-02 12:49:31 +02:00
Araq
23c44f009a
weaking unsigned/signed indexing requirements in order to not break too much existing code
2019-09-02 12:07:36 +02:00
Oscar Nihlgård
35268c500f
Fix int literals and range interaction ( #11197 )
...
* Fix int literals and range interaction
* Fix test
* remove float range fix; update changelog
2019-08-31 19:34:08 +02:00
Andreas Rumpf
eaebbfa785
Fix several float range issues (supersedes #11905 ) ( #12067 )
...
* Fix several float range issues
* address the comments
2019-08-27 23:19:41 +02:00
Arne Döring
d564130a3b
Fix to int to biggest int ( #12066 )
...
* fix to(Biggest)Int
* kill toFloat magics as well
2019-08-27 23:18:46 +02:00
Oscar Nihlgård
def6234903
Fix several float range issues
2019-08-27 14:45:19 +02:00
Andreas Rumpf
b044523c5a
fixes 9195 ( #12055 )
2019-08-27 10:07:42 +02:00
Andreas Rumpf
81ddc67785
[refactoring] compiler: simplified markUsed
2019-08-08 22:43:58 +02:00
Timothee Cour
fda51b6ca2
fix crash on sigmatch ( #11913 )
2019-08-08 14:41:23 +02:00
Arne Döring
48968f3c84
delete expensive call ( #11909 ) [refactoring]
2019-08-08 09:16:07 +02:00
Arne Döring
afbcd1b330
int128 on firstOrd, lastOrd and lengthOrd ( #11701 )
...
* fixes #11847
2019-08-07 15:53:16 +02:00
Oscar Nihlgård
bcfb540e57
Allow typeof(nil) as generic parameter ( #11869 )
2019-08-03 10:16:07 +02:00
Arne Döring
1a77040278
fix #11812 ( #11829 )
...
* fixes #11812
* fixes #10899
* fixes #11367
2019-07-27 07:21:47 +02:00
Andreas Rumpf
fbb0642e27
Merge branch 'devel' into araq-detect-unused-imports
2019-07-18 18:16:32 +02:00
Araq
07d465ca42
[refactoring] remove unused imports in the compiler and in some stdlib modules
2019-07-18 00:36:03 +02:00
Araq
4137a4dbf3
[feature] detect unused imports
2019-07-17 22:36:23 +02:00
Andreas Rumpf
210988c532
[refactoring] don't use 'defer'
2019-07-17 16:36:40 +02:00
Andreas Rumpf
e11494f1cf
Merge pull request #11680 from timotheecour/pr_fix_sigmatch_errmsg
...
fixes #8305 ; fixes #7808 ; fixes #10285 ; fixes #11061 + other bugs with type mismatch error msgs
2019-07-17 16:01:44 +02:00
Araq
58e0dad371
'nim check' stability improvements
2019-07-14 16:11:42 +02:00
Andreas Rumpf
de1ede77fe
fixes #11715 ( #11721 )
2019-07-13 07:55:56 +02:00
Araq
c94647aeca
styleCheck: make the compiler and large parts of the stdlib compatible with --styleCheck:error
2019-07-10 12:42:41 +02:00
Araq
a85e20c125
newruntime: 'owned distinct' is a valid construct (required by async)
2019-07-09 15:23:46 +02:00
Timothee Cour
a6526695f0
fix #8305 #7808 #10285 #11061 + other bugs with type mismatch error msgs
2019-07-08 15:24:20 -07:00
Andreas Rumpf
5f515410af
newruntime for async ( #11650 )
...
* fixes overloading resolution for passing owned(Future[string]) to Future[T]
* WIP: make --newruntime work with .async
* memtracker: make it compile again
* make Nimble compile again
2019-07-05 01:42:17 +02:00
Andreas Rumpf
c02320e230
sigmatch: use boolean algebra
2019-06-02 08:35:09 +02:00
Andreas Rumpf
4a35d2b571
fixes #11375 ( #11376 )
2019-06-02 06:33:35 +02:00
Andreas Rumpf
9d8b4d6020
fixes #11057 ( #11345 )
2019-05-28 15:55:11 +02:00
Araq
c7de1a252e
fixes #11257
2019-05-24 00:44:49 +02:00