summary refs log tree commit diff stats
path: root/compiler/sigmatch.nim
Commit message (Collapse)AuthorAgeFilesLines
* fix range to unsigned conversion (#17754)Tanguy Cizain2021-04-171-1/+1
|
* -d:nimDebug: calls doAssert false instead of quit (#17739)Timothee Cour2021-04-171-1/+1
|
* cString => cSourceString; tyCString => tyCstring so that error msgs show ↵Timothee Cour2021-04-171-5/+5
| | | | cstring, not cString (#17744)
* iterable[T] (#17196)Timothee Cour2021-04-111-8/+23
| | | | | | | | * fix failing test toSeq in manual which now works * changelog * reject proc fn(a: iterable) * add iterable to spec * remove MCS/UFCS limitation that now works
* `--nilseqs` is now a deprecated noop (#17211)Timothee Cour2021-03-011-8/+2
| | | | | * --nilseqs is now a deprecated noop * fix tests; fix: future => sugar
* new-style concepts implementation, WIP (#15251)Andreas Rumpf2021-02-241-5/+12
| | | | | | | | | | | | | * fixes #15210 [backport:1.2] * make tests green * make ordinal work * makes Swapable test compile * make Indexable example work * concepts: 'self' is now 'Self' * concepts: make Dictionary example compile * document the new concept implementation * concepts: make typeDesc work properly * concepts: allow documentation comments (d'oh)
* big steps torwards an efficient, simple IC implementation (#16543)Andreas Rumpf2021-01-021-5/+5
| | | | | | | | | | | | | | | | | | | * reworked ID handling * the packed AST now has its own ID mechanism * basic serialization code works * extract rodfiles to its own module * rodfiles: store and compare configs * rodfiles: store dependencies * store config at the end * precise dependency tracking * dependency tracking for rodfiles * completed loading of PSym, PType, etc * removed dead code * bugfix: do not realloc seqs when taking addr into an element * make IC opt-in for now * makes tcompilerapi green again * final cleanups Co-authored-by: Andy Davidoff <github@andy.disruptek.com>
* [docs minor]space for code-block (#16266)flywind2020-12-061-1/+3
| | | | | | | | | * [docs minor]space for code-block * correct more errors * to runnableExamples * add newline
* rename: stmt -> typed and expr -> untyped (#15989)flywind2020-11-161-2/+2
| | | | | | | * stmt -> typed * expr -> untyped * minor
* Correct all eggs (#15906)Miran2020-11-101-2/+2
| | | | * "eg" is a misspelled "egg", "e.g." is "exempli gratia" * Also, "ie" is "i.e.".
* fix static[Slice[T]] as argument issue (#15842)cooldome2020-11-041-1/+1
|
* explicit ID generation for easier IC (#15559)Andreas Rumpf2020-10-251-7/+11
| | | | | | | | | | | | | | | | | * refactoring: idents don't need inheritance * refactoring: adding an IdGenerator (part 1) * refactoring: adding an IdGenerator (part 2) * refactoring: adding an IdGenerator (part 3) * refactoring: adding an IdGenerator (part 4) * refactoring: adding an IdGenerator (part 5) * refactoring: adding an IdGenerator (part 5) * IdGenerator must be a ref type; hello world works again * make bootstrapping work again * progress: add back the 'exactReplica' ideas * added back the missing exactReplica hacks * make tcompilerapi work again * make important packages green * attempt to fix the build for 32 bit machines (probably need a better solution here)
* sigmatch: hotfix [backport] (#15565)Andreas Rumpf2020-10-141-2/+2
|
* fix infinite recursion in typeRel (#15241)jcosborn2020-09-181-56/+59
| | | | | * fix generic constraints Co-authored-by: James Osborn <osborn@Jamess-MacBook-Pro.local>
* Big compiler Cleanup (#14777)Clyybber2020-08-281-33/+18
|
* Fix #5691 (#15158)Clyybber2020-08-271-14/+12
| | | | | | | | * Fix #5691 * Cleanup and thoughts * Use scope approach * Seperate defined/declared/declaredInScope magics * Fix declaredInScope * Update spec accordingly
* fix some issues overloading with generics and inheritance (#15211)jcosborn2020-08-271-11/+34
| | | | | * fix some issues overloading with generics and inheritance * fix passing procs with subtype matches
* fix overloading issue with generic invocation (#15135)jcosborn2020-08-181-14/+1
| | | | | * fix overloading issue with generic alias * add test for inheritance depth
* Use typeflag insteadClyybber2020-08-101-2/+2
|
* Make explicit {.nimcall.} a seperate calling conventionClyybber2020-08-081-2/+2
|
* fix overloading case with generic alias (#15116)jcosborn2020-07-301-1/+1
| | | | | * fix overloading case with generic alias * revert reorganization of tests
* init checks and 'out' parameters (#14521)Andreas Rumpf2020-06-231-6/+6
| | | | | | | | | | | * 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
* more checking for --gc:arc, no need for valgrind (#14467)Andreas Rumpf2020-05-291-1/+5
| | | | * sigmatch: removed dead code
* change the [Processing] messages into dots (#14418)Andreas Rumpf2020-05-211-1/+1
| | | | | | | * change the [Processing] messages into dots * better implementation * maybe I should work on something else...
* fixes #14136 (#14198)Andreas Rumpf2020-05-031-3/+5
|
* Make ./koch temp --gc:arc work (#14186)Clyybber2020-05-011-1/+4
|
* fixes #14079 [backport:1.2] (#14163)Andreas Rumpf2020-04-291-1/+2
|
* fixes #14001 (#14004)Andreas Rumpf2020-04-191-1/+1
|
* fix #12864 static params were mutating arg types during sigmatch; fix #12713 ↵Timothee Cour2020-04-141-0/+1
| | | | | | | | | | | ; refs #13529 (#13976) * fix #12864 static params were mutating arg types during sigmatch * fix test * fix StaticParam * also fixes #12713; added test case
* Fix tests/parallel/tguard2.nimZahary Karadjov2020-04-011-1/+3
|
* DrNim (Nim compiler with Z3 integration) (#13743)Andreas Rumpf2020-03-311-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | * 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
* Remove dead magics (#13551)Arne Döring2020-03-031-3/+0
|
* fixes #13378 [backport] (#13392)Andreas Rumpf2020-02-111-0/+2
|
* fix #13182: `proc fun(a: varargs[Foo, conv])` now can be overloaded (#13345) ↵Timothee Cour2020-02-071-1/+2
| | | | [backport]
* fix range[enum] type conversion (#13204) [backport]Jasper Jenkins2020-01-201-2/+3
|
* make case-object transitions explicit, make unknownLineInfo a const, replace ↵Jasper Jenkins2020-01-171-7/+7
| | | | a few magic numbers with consts (#13170)
* fixes #12964 (#13027)Andreas Rumpf2020-01-041-2/+2
|
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-281-213/+206
| | | | | | | | | | | | | | | | | | * 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
* remove unused importsnarimiran2019-11-061-3/+0
|
* [backport] fix #12528, fix #12525: incorrect generic type resolution for ↵Andreas Rumpf2019-10-281-7/+15
| | | | | | default values (#12538)
* refactoring: use the new strings and seqs when optSeqDestructors is activeAraq2019-10-201-5/+0
|
* Small ast.nim cleanup (#12156)Clyybber2019-09-091-19/+19
| | | | | * Remove sonsLen * Use Indexable
* fixes #12020 (#12106)Andreas Rumpf2019-09-021-1/+1
|
* improvement for 'unused import' warningsAraq2019-09-021-0/+1
|
* weaking unsigned/signed indexing requirements in order to not break too much ↵Araq2019-09-021-5/+5
| | | | existing code
* Fix int literals and range interaction (#11197)Oscar Nihlgård2019-08-311-9/+11
| | | | | | | | * Fix int literals and range interaction * Fix test * remove float range fix; update changelog
* Fix several float range issues (supersedes #11905) (#12067)Andreas Rumpf2019-08-271-3/+4
|\ | | | | | | | | | | * Fix several float range issues * address the comments
| * Fix several float range issuesOscar Nihlgård2019-08-271-3/+4
| |
* | Fix to int to biggest int (#12066)Arne Döring2019-08-271-1/+1
|/ | | | | * fix to(Biggest)Int * kill toFloat magics as well
* fixes 9195 (#12055)Andreas Rumpf2019-08-271-2/+6
|