summary refs log tree commit diff stats
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* add a test case for #22190 in case of regression (#22217)ringabout2023-07-041-0/+21
|
* fixes #22208; Ambiguous error when import modules with same names but… ↵ringabout2023-07-034-3/+9
| | | | | (#22211) fixes #22208; Ambiguous error when import modules with same names but different aliases
* fixes #22197; Distinct ref objects + destructor cause C++ codegen error (#22207)ringabout2023-07-021-1/+26
|
* reset macrocache after each script evaluation (#22195)Juan M Gómez2023-06-301-0/+27
|
* fix controlflow test (#22194)Jacek Sieka2023-06-301-1/+1
| | | the function actually returns
* fix nested call regression in generic bodies (#22189)metagn2023-06-291-0/+20
| | | fixes #22187
* alternative to #22183; nimscript shares the same compileTime sym with VM ↵ringabout2023-06-292-0/+16
| | | | (#22184)
* fixes #19101; zero initialization union casts (#22185)ringabout2023-06-291-0/+26
| | | | | | | * zero initialization union casts * cleans up and adds a test case for #19101 * uses nimZeroMem
* Don't throw errors on RST tables in Markdown and RstMarkdown modes (#22165)Andrey Makarov2023-06-281-5/+28
| | | | | | | | | | | | | | | | | | | | | * Don't throw errors on RST tables in Markdown and RstMarkdown modes Additions to RST simple tables (#19859) made their parsing more restrictive, which can introduce problems with of some old nimforum posts, which have tables with sloppily aligned columns (like this one: https://github.com/nim-lang/nimforum/issues/330#issuecomment-1376039966). Also this strictness contradicts to Markdown style of not getting in the way (ignoring errors). So this PR proposes a new strategy of dealing with errors: * In Markdown and legacy (old default) RstMarkdown we try to continue parsing, emitting only warnings * And only in pure RST mode we throw a error I expect that this strategy will be applied to more parts of markup code in the future. * Don't return anything in `checkColumns`
* fix new type inference for `noreturn` [backport] (#22182)metagn2023-06-281-0/+35
| | | | | fixes #22180 Backported since apparently the new type inference was backported
* fixes #22001 (#22177)Andreas Rumpf2023-06-271-0/+22
| | | | | * fixes #22001 * added test case
* adds =destroy T support for strings and seqs (#22167)ringabout2023-06-272-7/+7
| | | | | | | * adds =destroy T support for strings and seqs * fixes system * fixes tests
* adds T destructor for refs (#22147)ringabout2023-06-261-0/+1
| | | | | | | | | * adds T destructor for refs * add `newRefdestructor` * adds ref overload for destructors * fixes config
* Fix regression in `std/times` (#22155)Jake Leahy2023-06-261-0/+4
| | | | | | | * Add simple test case Just so the regression doesn't happen again * Specify initDateTime is gcsafe in the forward declarations
* fixes #22148; std/memfiles.memSlices nesting now fails with memory sa… ↵ringabout2023-06-251-0/+15
| | | | | | | (#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-251-0/+11
| | | | | | | | | | | * 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-253-0/+31
| | | | | | | | | | | * 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
* adds nimbasePattern compiler option (#22144)Juan M Gómez2023-06-241-0/+26
| | | adds optonal --nimbasepattern
* fixes #21110; duplicate proc definitions for inline iters (#21136)ringabout2023-06-221-0/+15
| | | fixes #21110; duplicate proc definitions for iters
* fixes #21231; template with module as parameter elides usage/checking of ↵ringabout2023-06-211-0/+10
| | | | | | | module name specifier (#22109) * fixes #21231; template with module as parameter elides usage/checking of module name specifier * add a test case
* fix #20023 hash for generic tables (#20346)Bung2023-06-211-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | * 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>
* `strutils.split/rsplit` now return src on an empty sep (#22136)Zoom2023-06-213-18/+12
| | | | | | | | | | | | | | | 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-211-0/+195
| | | | | | | | | | 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-201-4/+11
| | | | | | | * 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-201-0/+14
|
* fixes #22117; View types lifetime tracking does not work with defer (#22121)ringabout2023-06-191-0/+12
|
* fix scoping regression with calls in generic bodies (#22115)metagn2023-06-172-0/+34
| | | refs #22029, refs https://github.com/status-im/nim-libp2p/actions/runs/5263850340/jobs/9514434659
* Add divmod (#22102)Ryan McConnell2023-06-171-1/+9
| | | | | | | | | | | | | | | | | | | | | | | * 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-161-0/+15
| | | | | | | (#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
* 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-162-0/+35
| | | | | | | | | | | | | | | | | | | | | * 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
* consider object types as declarative in templates (#22106)metagn2023-06-161-0/+12
| | | | | | | | | * 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-162-0/+12
|
* adds another pass for sets fixes #6259 (#22099)Juan M Gómez2023-06-151-0/+4
| | | | | | | * adds another pass for sets fixes #6259 * Update tsets.nim removes extra `#`
* Allows for arbitrary ordering of inheritance in type section #6259 (#22070)Juan M Gómez2023-06-152-3/+3
| | | | | | | | | | | | | * 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>
* fix calls in generic bodies, delay typecheck when no overloads match (#22029)metagn2023-06-134-36/+180
| | | | | | | | | | | | | | | | | | | | | | | * 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
* fixes #22065; do not search path for relative imports (#22073)ringabout2023-06-131-0/+5
| | | | | | | | | | | | | | | | | | | * 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-131-0/+12
| | | | | * strictly typecheck expressions in bracketed `emit` * use nim check in test
* fixes #22058; invalid free with {.noSideEffect.} in template (#22088)ringabout2023-06-131-0/+16
|
* fix dot calls with resolved symbols in templates (#22076)metagn2023-06-123-23/+47
| | | | | | | | | | | | | * 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-121-0/+18
| | | | | | | * 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-111-1/+10
|
* add const RLIMIT_STACK (#21772)Qinsi (James) ZHU2023-06-091-0/+24
| | | | | | | * add const RLIMIT_STACK * generate by detect.nim * add generated const for linux-amd64
* make `move` use `=wasMoved` internally (#22032)ringabout2023-06-091-0/+14
| | | | | | | | | | | | | * make `move` use `=wasMoved` internally * fixes tests * fixes spawn finally * fixes views * rename to internalMove * add a test case
* Fix: don't track Defect in proc effect compatibility (#22037)Tanguy2023-06-081-0/+5
|
* allow addressing elements of openArray[char] in VM (#22045)ringabout2023-06-081-0/+14
| | | allow addressing elements of openArray[char]
* fixes {.global.} ref typedesc regressions (#22046)ringabout2023-06-081-5/+7
|
* Nested `with` blocks (#22042)awr12023-06-081-0/+16
| | | | | * Implemented with-nesting in underscoredCalls() * Add tests for nested with