summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* fixes #22148; std/memfiles.memSlices nesting now fails with memory sa… ↵ringabout2023-06-252-1/+16
| | | | | | | (#22154) * fixes #22148; std/memfiles.memSlices nesting now fails with memory safety capture violation * adds a test case
* make `var object` match better than `object` (#22152)metagn2023-06-252-1/+14
| | | | | | | | | | | * fix `var object` not matching better than `object` fixes #13302 * remove comment for brevity * try note * try minimize breaks
* fix VM uint conversion size bug, stricter int gen on JS (#22150)metagn2023-06-255-9/+54
| | | | | | | | | | | * fix VM uint conversion bug, stricter int gen on JS fixes #19929 * fix float -> uint64 conversion too * no need to mask to source type * simpler diff with explanation, add test for described issue
* macOS `ar` doesn't support `@` syntax (#22146)Etan Kissling2023-06-241-1/+4
| | | | | | When the linker command line is long, Nim compiler generates a file for passing the linker arguments. On `macOS`, that mechanism fails as the `@` syntax is not supported by `ar`. Use `xargs` instead to pass the linker arguments file.
* adds nimbasePattern compiler option (#22144)Juan M Gómez2023-06-244-1/+32
| | | adds optonal --nimbasepattern
* fixes #21110; duplicate proc definitions for inline iters (#21136)ringabout2023-06-222-0/+23
| | | fixes #21110; duplicate proc definitions for iters
* fixes :idx: index in in modules (2.0 regression) and in markdown files ↵ringabout2023-06-222-6/+15
| | | | | (persistent issues since 0.20.2) (#22141) fixes :idx: index
* fixes #21231; template with module as parameter elides usage/checking of ↵ringabout2023-06-212-0/+13
| | | | | | | module name specifier (#22109) * fixes #21231; template with module as parameter elides usage/checking of module name specifier * add a test case
* adds missing staticlib hints (#22140)ringabout2023-06-211-1/+1
|
* fix #20023 hash for generic tables (#20346)Bung2023-06-212-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | * fix #20023 hash for generic tables * use default computation * Update lib/pure/collections/tables.nim Co-authored-by: Dan Rose <dan@digilabs.io> * Update lib/pure/collections/tables.nim Co-authored-by: Dan Rose <dan@digilabs.io> * Update lib/pure/collections/tables.nim * Update lib/pure/collections/tables.nim * Update t20023.nim --------- Co-authored-by: Dan Rose <dan@digilabs.io> Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* Update changelog_2_0_0.md (#22135)Juan M Gómez2023-06-211-0/+4
|
* `strutils.split/rsplit` now return src on an empty sep (#22136)Zoom2023-06-215-43/+50
| | | | | | | | | | | | | | | This is a rebase of an earlier rejected PR. Following the discussion around it, this commit provides a valid output for and edge case of an empty separator for `split` and `rsplit` routines. The empty separator is interpreted as "split by no separators" and the initial string is returned. This is consistent with the behaviour of the `set[char]` version of `split`/`rsplit` routines and unifies them all. Compared to a commit merged earlier, this one has a benefit of not using assertions that will be removed in release builds and thus still not preventing possible infinite loops (which was the earlier behaviour for this edge case for separator of type `string`). Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* allow destructors to accept non var parameters; deprecate `proc =destroy(x: ↵ringabout2023-06-2110-28/+261
| | | | | | | | | | var T)` (#22130) * make destructors accept non var parameters * define nimAllowNonVarDestructor * add a test case and a changelog * update documentation and error messages * deprecate destructors taking 'var T'
* Amend divmod (#22131)Ryan McConnell2023-06-202-5/+17
| | | | | | | * Add Overflow checks & test adjust * Avoiding nimvm differences in tests * distinguish DivByZeroDefect
* fixes #22123; Compiler bug with default initializer values and arrays (#22128)ringabout2023-06-203-6/+23
|
* overhaul the error messages of `=dup` (#22129)ringabout2023-06-201-6/+41
|
* fixes #22117; View types lifetime tracking does not work with defer (#22121)ringabout2023-06-192-0/+30
|
* Create compiler and nimsuggest packages (#22118)Ivan Yonchovski2023-06-185-8/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | I have tested it locally with the following in my local packages_official.json ``` { "name": "compiler", "url": "https://github.com/yyoncho/Nim.git/?subdir=compiler", "method": "git", "tags": [ "library", "compiler" ], "description": "Package providing the Nim compiler binaries plus all its source files that can be used as a library", "license": "MIT", "web": "https://github.com/nim-lang/Nim" }, { "name": "nimsuggest", "url": "https://github.com/yyoncho/Nim.git/?nimsuggest=compiler", "method": "git", "tags": [ "library", "compiler" ], "description": "Package providing the Nim compiler binaries plus all its source files that can be used as a library", "license": "MIT", "web": "https://github.com/nim-lang/Nim" }, ``` Then `nimble install compiler`, `nimble install nimsuggest` work as expected.
* fix scoping regression with calls in generic bodies (#22115)metagn2023-06-174-3/+37
| | | refs #22029, refs https://github.com/status-im/nim-libp2p/actions/runs/5263850340/jobs/9514434659
* Add divmod (#22102)Ryan McConnell2023-06-174-2/+61
| | | | | | | | | | | | | | | | | | | | | | | * Adding divmod * Adding support to VM * Wrapped C structs and funcs * Fix javascript impl * Fixing struct compat * Segregate tests, better compiletime defs * Using `inline` and switch back to `func` * Apply suggestions from code review * Explicit structures --------- Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* fixes #16331; aliasing of tuple construction within a single assignme… ↵Andreas Rumpf2023-06-162-3/+33
| | | | | | | (#22113) * fixes #16331; aliasing of tuple construction within a single assignment, great coding style * added test case
* add test to close #7209 (#22110)metagn2023-06-161-0/+13
| | | | | | | * add test to close #7209 was fixed by #22029 * fix echo => doAssert
* added new experimental API isUniqueRef (#21812)Andreas Rumpf2023-06-161-0/+12
| | | | | * added new experimental API isUniqueRef * typo
* bump NimVersion to 1.9.5 (#22112)Miran2023-06-161-1/+1
|
* add tests to close #7223, close #11733 (#22111)metagn2023-06-163-8/+53
| | | | | add test to close #7223, close #11733 closes #7223, closes #11733, were fixed by #22076
* fixes #22049; fixes #22054; implicit conversion keeps varness (#22097)ringabout2023-06-163-1/+42
| | | | | | | | | | | | | | | | | | | | | * fixes #22054; codegen for var tuples conv * rethink fixes * add test cases * templates only * fixes var tuples * keep varness no matter what * fixes typ.isNil * make it work for generics * restore isSubrange * add a test case as requested
* fixes #19607 (#21576)Andreas Rumpf2023-06-161-11/+17
|
* consider object types as declarative in templates (#22106)metagn2023-06-162-13/+48
| | | | | | | | | * consider object types as declarative in templates fixes #16005 * correct logic for nkRecList children, inject fields * don't actually inject fields
* fixes ilegal recursion (#22105)Juan M Gómez2023-06-163-1/+15
|
* Revert the .inline semantics change (#22104)Juan Carlos2023-06-152-22/+11
|
* adds another pass for sets fixes #6259 (#22099)Juan M Gómez2023-06-153-2/+8
| | | | | | | * adds another pass for sets fixes #6259 * Update tsets.nim removes extra `#`
* fixes explicit deref block (#22093)ringabout2023-06-152-3/+3
| | | fixes explicit deref
* Allows for arbitrary ordering of inheritance in type section #6259 (#22070)Juan M Gómez2023-06-155-8/+13
| | | | | | | | | | | | | * Allows for arbitrary ordering of inheritance in type section #6259 * prevents ilegal recursion * fixes ilegal recursion. Test passes with a better message * Apply suggestions from code review --------- Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* use TimeInterval instead of Duration for calculating ISO week date (#22091)metagn2023-06-141-17/+30
| | | | | | | | | * use TimeInterval instead of Duration for calculating ISO week date hopefully actually fixes (space) #22059 * forward declare * explicit effects
* imrpove changelog (#22096)ringabout2023-06-141-1/+1
| | | Update changelog_2_0_0.md
* fix timezone in initDateTime for ISO week date (#22090)metagn2023-06-131-1/+1
| | | fixes #22059
* fix calls in generic bodies, delay typecheck when no overloads match (#22029)metagn2023-06-1311-68/+239
| | | | | | | | | | | | | | | | | | | | | | | * sacrifice "tgenericshardcases" for working statics * legacy switch for CI, maybe experimental later * convert to experimental * apparently untyped needs the experimental switch * try special case call semcheck * try fix * fix compilation * final cleanup, not experimental, make `when` work * remove last needed use of untyped * fix unused warning in test * remove untyped feature
* better docs; undocument sinkInference as it doesn't work (#22089)Andreas Rumpf2023-06-132-10/+8
|
* fixes #22065; do not search path for relative imports (#22073)ringabout2023-06-133-1/+13
| | | | | | | | | | | | | | | | | | | * fixes #22065; do not search path for "./" * simplify * fixes * fixes * allow ".." * cleanup * add a test case * slightly modify the import * adds a changelog
* strictly typecheck expressions in bracketed `emit` (#22074)metagn2023-06-134-1/+15
| | | | | * strictly typecheck expressions in bracketed `emit` * use nim check in test
* fixes #22058; invalid free with {.noSideEffect.} in template (#22088)ringabout2023-06-132-20/+35
|
* clean up nimfix leftover (#22087)ringabout2023-06-131-3/+0
|
* change it to the latest branch instead of head (#22086)ringabout2023-06-131-1/+1
| | | Who knows what's wrong with git
* fix atlas nightlies regresion; fixes the hash value (#22080)ringabout2023-06-121-3/+5
|
* fix dot calls with resolved symbols in templates (#22076)metagn2023-06-126-25/+57
| | | | | | | | | | | | | * fix dot calls with resolved symbols in templates * make old code work * fix custom number literals test * remove leftover debug marker * enable "bug 9" test too * fix renderer, add test for #7085
* make binary `not` not parse complex expressions on right side (#22078)metagn2023-06-123-7/+25
| | | | | | | * binary `not` only parses simple expressions fixes #16324 * switch to primary
* more test cases for generic object impl AST (#22077)metagn2023-06-112-21/+49
| | | closes #9899, closes #14708, refs #21017
* make borrow `.` work with aliases if not overriden (#22072)metagn2023-06-112-4/+18
|
* build atlas documentation (#22071)ringabout2023-06-111-1/+7
|
* Atlas: now in its own repository (#22066)Andreas Rumpf2023-06-1033-3010/+15
| | | | | * Atlas: now in its own repository * progress