metagn
a5cc33c1d3
track introduced locals in vmgen for eval check ( #24674 )
...
fixes #8758 , fixes #10828 , fixes #12172 , fixes #21610 , fixes #23803 ,
fixes #24633 , fixes #24634 , succeeds #24085
We simply track the symbol ID of every traversed `var`/`let` definition
in `vmgen`, then these symbols are always considered evaluable in the
current `vmgen` context. The set of symbols is reset before every
generation, but both tests worked properly without doing this including
the nested `const`, so maybe it's already done in some way I'm not
seeing.
2025-02-14 20:54:17 +01:00
..
2018-08-13 13:02:52 +02:00
2020-05-06 17:16:54 +02:00
2023-06-29 11:21:22 +02:00
2018-12-11 21:23:21 +01:00
2023-04-21 15:37:58 +02:00
2020-11-08 11:02:12 +08:00
2021-02-23 09:02:06 +01:00
2022-11-06 22:25:55 +08:00
2023-08-11 18:50:31 +08:00
2023-01-31 19:22:10 +01:00
2022-06-13 09:01:40 +02:00
2022-11-07 14:36:43 +01:00
2023-05-06 18:04:08 +02:00
2020-12-28 14:13:21 +01:00
2019-11-28 09:56:02 +01:00
2019-11-28 09:56:02 +01:00
2017-09-30 21:35:30 +02:00
2017-07-25 09:28:23 +02:00
2019-02-01 12:12:10 +01:00
2024-11-16 10:43:58 +01:00
2021-05-08 00:27:06 +02:00
2018-10-09 19:54:12 +02:00
2020-11-02 10:58:14 +01:00
2023-06-06 06:54:07 +02:00
2022-01-16 21:10:35 +01:00
2019-07-12 15:37:54 +02:00
2018-12-31 14:41:24 +01:00
2021-04-04 13:47:28 -07:00
2018-08-13 13:02:52 +02:00
2016-08-23 01:10:34 +02:00
2024-12-06 20:19:57 +08:00
2024-12-09 08:11:47 +01:00
2024-10-03 19:35:53 +02:00
2020-11-24 16:09:00 +01:00
2024-10-26 20:49:07 +02:00
2023-09-01 08:59:48 +02:00
2024-09-09 11:29:30 +02:00
2024-09-09 11:29:30 +02:00
2025-02-14 20:54:17 +01:00
2025-02-14 20:54:17 +01:00
2025-02-14 20:54:17 +01:00
2025-02-14 20:54:17 +01:00
2018-11-23 13:16:45 +01:00
2024-07-09 12:59:21 +02:00
2024-09-17 06:29:49 +02:00
2017-02-05 08:51:43 +01:00
2019-09-28 19:50:20 +02:00
2019-08-02 22:59:04 +01:00
2019-05-21 21:31:40 +02:00
2020-06-17 15:25:02 +02:00
2019-12-10 19:04:02 +01:00
2023-06-06 06:54:07 +02:00
2022-08-23 19:28:51 +02:00
2018-12-11 21:23:22 +01:00
2024-10-06 19:36:46 +02:00
2020-06-17 15:25:02 +02:00
2016-10-09 18:02:48 +02:00
2018-12-18 09:07:12 +01:00
2018-11-23 11:58:28 +01:00
2017-01-07 02:38:26 +01:00
2018-11-23 11:58:28 +01:00
2024-12-06 19:00:59 +08:00
2019-07-12 12:15:30 +02:00
2022-06-22 08:43:58 +02:00
2015-09-04 23:04:32 +02:00
2019-12-10 19:04:02 +01:00
2020-01-23 10:53:30 +01:00
2023-02-25 00:53:04 +08:00
2019-11-28 09:56:02 +01:00
2022-08-23 19:28:51 +02:00
2024-09-04 09:13:04 +02:00
2024-09-04 09:13:04 +02:00
2018-06-26 21:25:27 +02:00
2018-10-27 14:10:05 +01:00
2023-06-06 06:54:07 +02:00
2023-06-06 06:54:07 +02:00
2023-09-01 15:38:25 +02:00
2025-01-22 14:05:57 +01:00
2020-12-28 14:13:21 +01:00
2020-12-28 14:13:21 +01:00
2020-12-28 14:13:21 +01:00
2020-12-28 14:13:21 +01:00
2020-12-28 14:13:21 +01:00
2022-08-23 19:28:51 +02:00
2020-04-06 00:24:35 +02:00
2022-08-23 19:28:51 +02:00
2022-08-23 19:28:51 +02:00
2023-06-29 11:21:22 +02:00
2018-08-13 23:16:03 +02:00
2018-12-08 14:33:42 -08:00
2023-05-02 10:49:17 +02:00
2018-11-23 13:16:45 +01:00
2020-05-07 22:07:08 +02:00
2018-11-23 11:58:28 +01:00
2019-05-21 21:31:40 +02:00
2021-03-01 07:51:12 -08:00
2020-12-28 14:13:21 +01:00
2020-11-05 14:00:08 +01:00
2023-06-25 00:01:08 +02:00
2024-01-18 14:50:36 +01:00
2023-08-29 14:59:49 +02:00
2022-08-23 19:28:51 +02:00
2024-09-09 11:22:37 +02:00
2021-05-02 00:26:41 +02:00
2024-08-11 16:13:26 +02:00
2022-08-23 19:28:51 +02:00
2020-12-28 14:13:21 +01:00
2017-07-25 09:28:23 +02:00
2014-03-16 20:42:49 +02:00
2022-08-23 19:28:51 +02:00
2022-09-28 15:28:45 -04:00