Files
Nim/tests/js
ringabout 9e1d0d1513 fixes #4695; closure iterators support for JS backend (#23493)
fixes #4695

ref https://github.com/nim-lang/Nim/pull/15818

Since `nkState` is only for the main loop state labels and `nkGotoState`
is used only for dispatching the `:state` (since
https://github.com/nim-lang/Nim/pull/7770), it's feasible to rewrite the
loop body into a single case-based dispatcher, which enables support for
JS, VM backend. `nkState` Node is replaced by a label and Node pair and
`nkGotoState` is only used for intermediary processing. Backends only
need to implement `nkBreakState` and `closureIterSetupExc` to support
closure iterators.

pending https://github.com/nim-lang/Nim/pull/23484

<del> I also observed some performance boost for C backend in the
release mode (not in the danger mode though, I suppose the old
implementation is optimized into computed goto in the danger mode)
</del>

allPathsAsgnResult???
2024-04-18 18:52:30 +02:00
..
2018-10-09 19:54:12 +02:00
2020-10-30 03:54:39 +01:00
2018-09-08 10:38:18 +02:00
2019-10-02 21:01:59 +02:00
2020-11-14 12:51:23 +01:00
2020-04-29 20:55:09 +02:00
2020-04-29 20:55:09 +02:00
2020-06-06 09:31:19 +02:00
2021-03-03 11:57:34 +01:00
2021-01-20 11:08:42 +01:00
2024-04-05 19:26:23 +08:00
2020-01-14 16:20:48 +01:00
2017-01-24 16:59:34 +01:00
2020-10-30 09:16:47 +01:00
2015-06-04 12:00:27 +03:00
2018-12-15 22:57:18 +01:00
2016-05-20 16:03:08 +06:00
2020-04-29 20:55:09 +02:00
2020-11-12 09:20:10 +01:00
2023-10-31 18:49:23 +01:00
2015-05-26 16:00:48 +03:00
2022-10-07 15:00:15 +02:00
2020-10-31 12:06:13 +01:00
2018-04-13 23:41:31 +02:00
2020-04-29 20:55:09 +02:00
2020-10-30 09:58:55 +01:00
2018-12-11 21:23:22 +01:00

notes

Prefer moving tests to a non-js directory so that they get tested across all backends automatically. Ideally, tests/js should be reserved to code that only makes sense in js.

Note also that tests for a js specific module (e.g.: std/jsbigints) belong to tests/stdlib, (e.g.: tests/stdlib/tjsbigints.nim)