| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* fixes #20572
* added a test case
|
|
|
|
|
| |
* fixes #19986; mutable view from immutable location
* fixes the tests
|
|
|
|
|
|
|
|
|
| |
* test CI
* fixes #19457
* add comments
Co-authored-by: sandytypical <43030857+xflywind@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* micro implementation of rfc 149
refs https://github.com/nim-lang/RFCs/issues/149
* number/array/seq literals, more statements
* try fix number literal alias issue
* renew expectedType with if/case/try branch types
* fix (nerf) index type handling and float typed int
* use typeAllowed
* tweaks + const test (tested locally) [skip ci]
* fill out more of the checklist
* more literals, change @ order, type conversions
Not copying the full call tree before the typedesc call check
in `semIndirectOp` is also a small performance improvement.
* disable self-conversion warning
* revert type conversions (maybe separate op later)
* deal with CI for now (seems unrelated), try enums
* workaround CI different way
* proper fix
* again
* see sizes
* lol
* overload selection, simplify int literal -> float
* range, new @ solution, try use fitNode for nil
* use new magic
* try fix ranges, new magic, deal with #20193
* add documentation, support templates
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
| |
(#19918)
* dec inLoop after exiting the while scope in computeLiveRanges
* add testcase
|
| |
|
|
|
|
|
| |
* fixes #19013 [backport:1.6]
* added test case
|
|
|
|
| |
since the example code return value from global variable, instead
of first argument, the `n.len` is 1 which causes compiler crashes.
|
| |
|
|
|
|
|
| |
* TSymFlag has 47 flags already
* fixes #18320
|
|
|
|
|
| |
* fixes #15884
* micro optimization
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* view types: spec changes
* Update doc/manual_experimental.rst
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Update doc/manual_experimental.rst
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
|
|
|
|
|
|
|
| |
* make strict funcs analysis smarter: varParam[i] = v is different from varParam[i][] = v
* added a test case
* Update compiler/varpartitions.nim
Co-authored-by: Clyybber <darkmine956@gmail.com>
|
|
|
|
|
| |
* fixed a .cursor inference bug
* added a test case
|
|
|
|
|
| |
* fixes #11225; generic sandwich problems; [backport:1.2]
* progress
* delegating these symbols must be done via 'bind'
|
|
|
|
|
|
|
| |
* fixes #17033 [backport:1.4]
* make test robust against stdlib gensym things
* cleanup assertions.nim to make topt_no_cursor easier to get right
|
|
|
|
|
|
|
|
|
|
|
| |
* IC: dead code elimination pass
* preparations for a different codegen strategy
* added documentation to the newly written code
* IC: backend code
* IC: backend adjustments
* optimized the compiler a bit
* IC: yet another massive refactoring
* fixes regressions
* cleanups
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Nil checking
* Enable current older not nil checking again, run new checking only under flag, skip our test
* Enable tests, work on try/except and bugs, fix notnil tests
* Enable strictNotNil tests (currently with lowercase category) and add some expected output
* Work on try/except/finally: still some things unclear and a lot of code can raise out of try
* Fix the notnil build by going back to the old version of a test which I shouldn't have changed
* Fix test : use action compile
* Work on mutation and aliasing: not finished
* Render var parititions graph, try to understand it, fix a nilcheck if bug
* Rebase, progress on working with partitions
* Improve time logic
* Fix some bugs, use graph indices instead of symbol in nil map
* Fix bugs, test simpler ident aliasing for now, support two mutation levels
* Support ContentMutation and ReAssignment: for now just detect possible re assignment for var parameters of calls
* Enable several simple passing tests
* Cleanup a bit, fix condition/branch infix-related bug
* Remove some files, address some comments by Araq
* Use internalError and no quit for now
* Separate tests with expected warnings and with expected ok, fix a bug with if with a single branch related to copyMap
* Fix new data structures, bugs: make tests pass, disable some for now
* Work on fixing errors with non-sym nodes, aliasing: tests fail
* Work on alias support: simple set-based logic, todo more tests and ref sets?
* Use ref sets: TODO can we think of handle seq-s similar to varpartitions' Araq ones
* Handle defers in one place, stop raising in reverse to make an async test compile with strictNotNil, add a commented out test
* Dot expressions: call/reassignment. Other refactorings and distinct, SeqOfDistinct support. Checkout an older varpartitions
* Work on field tracking
* Backup : trying to fix bugs when running some stdlib stuff for running an async test
* Start a section about strict not nil checking in experimental manual
* Fix experimental strict not nil manual section and move it to another file based on Araq feedback
* Fix unstructured flow and double warning problems, fix manual, cleanup
* Fix if/elif/else : take in account structure according to Araq feedback
* Refactor a bit
* Work on bracket expr support, re-enable tests, clarify in manual/tests/implementation static index support for now
* Work on compiling stdlib and compiler with strictNotNil
* Small fixes to the manual for strictNotNil
* Fix idgen for strict check nil rebase
* Enable some simple tests, remove old stuff, comment out code/print
* Copy the original varpartitions source instead of my changes
* Remove some files
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* fix #15858
* fix space
* fix #15629
* Revert "fix space"
* Revert "fix #15858"
|
|
|
|
|
| |
* fix #15756
* simplify test
|
|
|
|
| |
--experimental:views [backport:1.4] (#15737)
|
| |
|
|
|
|
|
|
|
|
|
| |
* implements https://github.com/nim-lang/RFCs/issues/258
* don't be too strict with custom pragma blocks
* cast pragmas: documentation
* added most missing inference query procs to effecttraits.nim
|
|
|
|
|
|
|
| |
* views: yet another bugfix
* views: extended the spec
* views: take into account potential hidden mutations via proc calls
|
| |
|
|
|
|
|
| |
* you can put borrows into tables
* enforces mutating views only mutate mutable data
|
|
|
|
|
|
|
|
|
|
|
| |
* spec for view types
* spec additions
* refactoring; there are two different kinds of views
* refactorings and spec additions
* enforce that view types are initialized
* enforce borrowing from the first formal parameter
* enforce lifetimes for borrowing of locals
* typo in the manual
* clarify in the implementation what a borrow operation really is
|
|
|
|
| |
* cursor inference: makes combparser work; refactorings
|
| |
|
|
|
| |
* fixes #15361; better cursor inference
|
| |
|
| |
|
| |
|
|
|
| |
* added basic borrowing test
|
|
|
|
|
|
|
|
|
|
|
| |
* refactoring: move procs to typeallowed.nim
* frontend preparations for first class openArray support
* prepare the code generator for first class openArray
* code generation for first class openArray; WIP
* code generation for open arrays, progress
* added isViewType proc
* preparations for borrow checking
* added borrow checking to the front end
|
|
|
|
|
| |
* strict funcs: use control flow information for a more precise analysis
* cursor inference uses control flow information
|
|
|
|
|
| |
* fixes system.add for strict funcs
* fixes #15248
|
|
|
|
|
| |
* better strict funcs, WIP
* progress
|
| |
|
|
|
|
|
| |
* fixes #15130
* you really have to copy from cursors
|
| |
|
|
|
|
|
|
|
|
| |
* fixes #15110
* fixes #15096
* prepare varpartitions for cursor inference
* new cursor inference begins to work
* make tests green
|
|
|
|
|
| |
* strict func: much better error messages
* documented the 'strict funcs' mode
|
|
https://github.com/nim-lang/RFCs/issues/234 (#15030)
|