summary refs log tree commit diff stats
path: root/tests/method
Commit message (Collapse)AuthorAgeFilesLines
* enable vtable implementation for C++ and make it an experimental feature ↵ringabout2023-11-303-2/+7
| | | | | | | | | | | (#23004) follow up https://github.com/nim-lang/Nim/pull/22991 - [x] turning it into an experimental feature --------- Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* rework the vtable implementation embedding the vtable array directly with ↵ringabout2023-11-287-145/+195
| | | | | | | | | | | | | | | | | | | | | | | | new strictions on methods (#22991) **TODO** - [x] fixes changelog With the new option `nimPreviewVtables`, `methods` are confined in the same module where the type of the first parameter is defined - [x] make it opt in after CI checks its feasibility ## In the following-up PRs - [ ] in the following PRs, refactor code into a more efficient one - [ ] cpp needs special treatments since it cannot embed array in light of the preceding limits: ref https://github.com/nim-lang/Nim/pull/20977#discussion_r1035528927; we can support cpp backends with vtable implementations later on the comprise that uses indirect vtable access --------- Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* fixes #22673; Cannot prove that result is initialized for a placehold… ↵ringabout2023-11-061-0/+21
| | | | | | | | (#22915) …er base method returning a lent fixes #22673
* fixes #20515; base `method` requires explicit `{.gcsafe.}` to be GC-safe ↵ringabout2022-10-161-0/+20
| | | | | | | (#20574) * fixes #20515; base requires explicit `{.gcsafe.}` to be GC-safe * add tests
* fixes #20391; make of operator work with generics for ORC (#20395)ringabout2022-09-211-0/+8
|
* remove deprecated type pragma syntax, fix bugs that required it (#20199)metagn2022-09-033-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | * remove deprecated pragma syntax from 0.20.0 closes #4651, closes #16653 with a cheap fix for now due to how early `tfFinal` is set * remove type pragma between name and generics * undo removal, try removing bind expression (0.8.14) * fix test, unremove bind expr * remove again * Update changelog.md Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com> * dependencies @ HEAD & weave test dependencies * try fix package ci Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* fixes #18612; apply cache and memcmp for methods in arc/orc (#19749)flywind2022-04-264-1/+4
| | | | | | | | | | | | | | | | | * try using endsWith * use memcmp * add cache * cleanup * better * minor * fix * improve test coverage for methods with ARC
* fix #16516 method dispatch for sink args (#16594)cooldome2021-01-061-0/+33
| | | | | | | * fix #16516 * fix comment * Trigger build
* Error -> Defect for defects (#13908)Jacek Sieka2020-04-281-1/+1
| | | | | | | | | | | | | | * Error -> Defect for defects The distinction between Error and Defect is subjective, context-dependent and somewhat arbitrary, so when looking at an exception, it's hard to guess what it is - this happens often when looking at a `raises` list _without_ opening the corresponding definition and digging through layers of inheritance. With the help of a little consistency in naming, it's at least possible to start disentangling the two error types and the standard lib can set a good example here.
* faster CIs (#13803)Miran2020-03-302-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * ttables: smaller table, 5x speedup * thavlak: less iterations, less loops; 30% speedup * tasyncclosestall: shorter timeout; 35% speedup * gcleak4: less iterations, 2x speedup * ttimes: remove deprecated stuff * tdangerisrelease: remove cpp backend, 3x speedup * tfrexp1: smaller range, 2x speedup * trtree: fix warnings, less iterations, 6x speedup * tasyncawait_cyclebreaker: smaller swarm size; 2x speedup * trealloc: smaller number of iterations; 10x speedup * towned_binary_tree: less iterations, 4x speedup * tclosure: remove unused code, less iterations; 2x speedup * twaitany: less durations; 1.4x speedup * tasync_misc: less iterations, 2x speedup * t8535: smaller sleep, 1.5x speedup * tmanyjoin: smaller sleep, 2x speedup * t12221: shorter sleeps, removed two slower tests; 1.6x speedup * tfuturestream: smaller sleep; 1.5x speedup * growobjcrash: less iterations; 2x speedup * ttryrecv: smaller sleep; 1.5x speedup * treusetvar: less threads; 2x speedup * delete tthreadanalysis2, basically a duplicate of tthreadanalysis * t7758: less iterations, 1.5x speedup * tasyncawait: smaller swarm, less messages; 1.5x speedup * tjsandnativeasync: smaller sleep, 1.5x speedup * tpendingcheck: smaller sleep, 1.5x speedup * remove rodfiles test category * move tseq from its own category to 'collections' category * remove unneeded tests and helpers from 'assert' category * stdlib: merge tbitops2 into tbitops * remove 'trepr2' from 'stdlib' cat * merge 'tstreams' into one file * remove 'tinefficient_const_table' from 'ccbugs' cat * merge 'tcollections_to_string' into 'tcollections' * tblocking_channel: smaller sleep, small speedup * tconvexhull: less iterartions; 1.2x speedup * merge 'tdeepcopy2' into 'tdeepcopy' * merge 'tdisjoint_slice2' into 'tdisjoint_slice1' * tmissing_deepcopy: smaller sequence * tsendtwice: smaller arrays; 5x speedup * remove 'tindexerrorformatbounds' * disable multimethod tests * remove 'gc:none' and 'refc' without 'd:useRealtimeGC' from gc tests * koch.nim: bootstrap just with '-d:release', no need for 'csource' * add github workflow for documentation * testament: no need for 8 sub-second decimals
* clean up deprecated stuff and unused imports in tests (#13059)Miran2020-01-072-3/+3
|
* fixes #6777 (#11347)Andreas Rumpf2019-05-281-0/+25
|
* fixes #10912 (#11317)Andreas Rumpf2019-05-241-0/+48
| | | | | | * fixes #10912 * update the tutorial examples
* multi-methods need to be explicitly enabled (#10856)Miran2019-03-181-0/+1
| | | | | | * multi-methods need to be explicitly enabled * update changelog, manual and tutorial
* fix off by 1 error in `col` shown by toFileLineCol (#10138)Timothee Cour2018-12-311-1/+1
| | | | | * fix off by 1 error in `col` shown by toFileLineCol * fix test failures
* testament megatest: furher refactorings making more tests greenAraq2018-12-111-4/+5
|
* testament: joinable is now an explicit concept of a test specAndreas Rumpf2018-12-111-1/+2
|
* require errormsg to be specified before file.Arne Döring2018-12-111-1/+1
|
* More descriptive names of test files (#9531)Miran2018-10-292-0/+0
| | | | | * change generic `tissues` name to more specific * change `tvarious` to more specific names
* Merge tests into a larger file (part 5 of ∞) (#9368)Miran2018-10-1618-365/+376
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * merge magics * merge metatype tests * merge method tests * merge objects tests * change `import future` to `import sugar` Nim in Action tests are left with `import future`, to ensure compatibility. * merge overload tests * merge proc tests * merge procvar tests * merge range tests * merge seq tests * merge sets tests * remove wrong assert from `tsets3` * fix `jsTests` * better fix
* fixes #5479Araq2018-10-021-1/+18
|
* make tests green againAndreas Rumpf2018-07-051-3/+3
|
* make more tests greenAndreas Rumpf2018-04-301-1/+1
|
* added missing test for methodsAndreas Rumpf2017-09-281-0/+21
|
* Lineinfo change (#6084)Arne Döring2017-07-171-1/+1
|
* fixes #5432Araq2017-02-261-0/+15
|
* another attempt to make test green againAraq2017-02-241-0/+24
|
* make tests green againAndreas Rumpf2016-11-241-1/+1
|
* generic multi-methods should work nowAndreas Rumpf2016-07-282-10/+34
|
* fix issue #3550trustable-code2015-12-241-0/+19
|
* fixes #3431, fixes #3370, fixes #3468Araq2015-10-251-0/+48
|
* fix failure in tests/method/tmapper.nimAman Gupta2015-09-301-1/+1
| | | | | | | | | | FAIL: tmapper.nim Test "tests/method/tmapper.nim" in category "method" Failure: reMsgsDiffer Expected: invalid declaration order; cannot attach 'step' to method defined here: tmapper.nim(22,7) Gotten: invalid declaration order; cannot attach 'step' to method defined here: tests/method/tmapper.nim(22,7)
* added missing testAraq2015-09-061-0/+30
|
* fixes #2590; methods now require a .base annotationAraq2015-09-069-14/+14
|
* tests: Trim .nim files trailing whitespaceAdam Strzelecki2015-09-045-8/+8
| | | | via OSX: find . -name '*.nim' -exec sed -i '' -E 's/[[:space:]]+$//' {} +
* fixes #2401Araq2015-03-251-0/+11
|
* implemented procCall builtinAraq2014-11-281-9/+12
|
* Fix dispatcher creation for method prototypes.Reimer Behrends2014-11-021-0/+25
| | | | | | | | When method prototypes were involved (e.g. forward declarations for mutual recursion), calls were sometimes dispatched to the wrong method implementation. One of the reasons was that method dispatchers were then not always attached to method ASTs in the correct place.
* Added test case for recursive methods.Reimer Behrends2014-11-021-0/+22
|
* Changed tests and tools to use 'discard' statements instead of 'nil' for ↵Clay Sweetser2014-02-151-2/+2
| | | | empty blocks.
* new tester; all tests categorizedAraq2014-01-139-0/+218