| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
* Fix template codegen with static parameters
Fixes #7477
* Move the test case to tstaticimportcpp
|
|
|
|
|
|
| |
Return an error symbol if the macro output has no type and a typedesc
is expected.
Fixes #7454
|
|
|
|
|
| |
Do this during the semantic pass to avoid tripping the following passes.
Fixes #6454
|
|
|
| |
Fixes #7699
|
|
|
| |
Fixes #7125
|
|
|
|
|
|
| |
* Lexer: do not accept some invalid integer literals
* Use Natural instead of uint, and result variable
|
|\
| |
| | |
Language feature: range float types
|
| |\ |
|
| |\ \ |
|
| |\ \ \ |
|
| |\ \ \ \ |
|
| | | | | | |
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Typedesc reforms
|
| |\ \ \ \ \ \ |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
fix #7756
fix #1201
fix #7000
fix #3002
fix #1046
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
progress on #7516
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
* late instantiation for the generic procs' default param values
* automatic mixin behaviour in concepts
Other fixes:
* don't render the automatically inserted default params in calls
* better rendering of tyFromExpr
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
This also makes the first baby steps towards a sound treatment of
higher-order kinds (type type int).
Adds test cases showcasing the new features.
* Also fixes breakage after the rebase
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
In the next commit, I'll introduce changes to the parser bringing
consistent handling of all type modifiers (ref, ptr, var, static
and type). The goal of this commit is to record precisely what is
going to be changed (i.e. by allowing you to look at the diff).
To preserve the diff, please don't squash upon merging.
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Make `static` blocks introduce their own scope
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
The non-scoped behaviour of static blocks was exploited by those tests,
replace all the variables declared whithin one with compileTime marked
ones.
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Treat the static block as a normal block, don't leak any identifier in
the outer scope.
Fixes #5958
|
| |_|/ / / / / /
|/| | | | | | | |
|
|/ / / / / / /
| | | | | | |
| | | | | | |
| | | | | | | |
Fixes #7705, #7703, #7702
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
Discriminate gensym'd type names in sigHash
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
The root cause of #7905 lies in the codegen phase. The two template
instantiations generate two different MyType types with different
members but same t.sym.name leading the caching mechanism to confuse
the two.
Fixes #7905
|
|\ \ \ \ \ \ \ \
| | | | | | | | |
| | | | | | | | | |
Fix constant folding for shl/not
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
Since the source and destination types are the same the result should be
trimmed to fit.
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
* Make PEG AST nodes readable from outside the module.
* Added a test module for the pegs stdlib module.
* Edited changelog.
* Renamed ``sons`` iterator to ``items``, added ``pairs``, inlined both.
* Updated entry and moved it to the right category.
|
|\ \ \ \ \ \ \ \ \
| |_|/ / / / / / /
|/| | | | | | | | |
Higher Nim in Action coverage plus regression fix.
|
| | | | | | | | | |
|
| | |/ / / / / /
| |/| | | | | | |
|
|/ / / / / / / |
|
|\ \ \ \ \ \ \
| |/ / / / / /
|/| | | | | | |
Fixed stacktrace/linetrace proc pragmas when appended by macro pragma
|
| | | | | | | |
|
|/ / / / / /
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* Add MemMapFileStream
* Added tests
* Fixed bug in memfiles (zero index for string)
* Added flush to changelog
* Attempt to fix Win's nuances
* Fix attempt to fix
* Continue...
* And again...
* Reworked tests (all for win on Win)
* Fixes in flush (Win)
* Replace fn vars to consts
* Added the attempts parameter to the flush
* Replace while to for
* Move to memfiles
* Use Natural instead of uint
* Better error messages for append mode. Handle specific cases.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
* clarify `parseHexInt`, `parseOctInt` docstring and exception msgs
* add `parseBinInt` based on `parseutil.parseBin` implementation
Adds a `parseBinInt`, which parses a binary integer string and returns
it as an integer. This is based on the implementation of
`parseutil.parseBin`, removing the unnecessary parts.
* add tests for all `parse(Hex|Oct|Bin)Int` procs
* replace `parse*Int` proc impls by call to parseutil procs
Replaces the `parse(Hex|Oct|Bin)Int` procedure implementation by calls
to the `parseutil` procs, which receive a mutable argument.
Has the main advantage that the empty string as well as a "prefix
only" string, e.g. "0x" counts as an invalid integer.
Also moves the `parseOctInt` proc further up in the file so that all
`parse` procs are below one another.
* replace `var L` by `let L` in `parse` procs
There's no reason for the usage of `var` here.
* add `maxLen` optional arg for `parseutil.parse(Oct|Bin)`
Plus small change to test cases.
* update changelog about `parse*Int` procs
* fix `rejectParse` template in `tstrutils`
* make sure only `s.len` chars are parsed, if `maxLen+start` > s.len
Fixes a previous bug in `parseHex` (and now affected `parseOct` and
`parseBin`), which allowed to set `start + maxLen` to be larger than
the strings length. This resulted in an out of bounds access.
* move `parse*Int` proc change to breaking changes, add double `
|
| |_|_|_|/
|/| | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Allow stacktrace and linetrace pragmas on procs
|
| | | | | | |
|
|\ \ \ \ \ \
| |/ / / / /
|/| | | | | |
Fixes 7980
|
| | | | | | |
|
|\ \ \ \ \ \
| | | | | | |
| | | | | | | |
Fixes #6803
|