metagn
e8092a5470
delay resolved procvar check for proc params + acknowledge unresolved statics ( #23188 )
...
fixes #23186
As explained in #23186 , generics can transform `genericProc[int]` into a
call `` `[]`(genericProc, int) `` which causes a problem when
`genericProc` is resemmed, since it is not a resolved generic proc. `[]`
needs unresolved generic procs since `mArrGet` also handles explicit
generic instantiations, so delay the resolved generic proc check to
`semFinishOperands` which is intentionally not called for `mArrGet`.
The root issue for
[t6137](https://github.com/nim-lang/Nim/blob/devel/tests/generics/t6137.nim )
is also fixed (because this change breaks it otherwise), the compiler
doesn't consider the possibility that an assigned generic param can be
an unresolved static value (note the line `if t.kind == tyStatic: s.ast
= t.n` below the change in sigmatch), now it properly errors that it
couldn't instantiate it as it would for a type param. ~~The change in
semtypinst is just for symmetry with the code above it which also gives
a `cannot instantiate` error, it may or may not be necessary/correct.~~
Now removed, I don't think it was correct.
Still possible that this has unintended consequences.
2024-01-11 07:45:11 +01:00
..
2023-12-18 17:40:30 +01:00
2023-12-13 10:29:58 +01:00
2023-12-12 16:54:50 +01:00
2023-08-06 14:26:21 +02:00
2023-12-15 10:20:57 +01:00
2023-12-18 17:40:30 +01:00
2023-12-15 12:59:56 +01:00
2023-12-13 10:29:58 +01:00
2023-12-17 18:43:52 +01:00
2023-02-22 20:34:20 +01:00
2023-10-11 17:44:14 +02:00
2023-08-06 14:26:21 +02:00
2023-12-15 10:20:57 +01:00
2023-12-15 10:20:57 +01:00
2022-09-28 15:05:01 +02:00
2022-11-30 21:51:13 +01:00
2023-12-15 10:20:57 +01:00
2023-12-25 07:12:54 +01:00
2022-09-27 10:57:47 +02:00
2023-12-15 10:20:57 +01:00
2023-12-15 10:20:57 +01:00
2023-10-29 14:48:11 +01:00
2023-12-13 10:29:58 +01:00
2023-10-29 14:48:11 +01:00
2023-12-15 10:20:57 +01:00
2023-12-15 08:13:25 +01:00
2023-10-29 14:48:11 +01:00
2023-11-20 21:12:13 +01:00
2023-06-18 16:06:14 +02:00
2023-12-15 10:20:57 +01:00
2023-12-17 12:29:46 +01:00
2017-01-07 22:35:09 +01:00
2022-06-10 20:40:08 +02:00
2023-10-29 14:48:11 +01:00
2023-12-15 10:20:57 +01:00
2023-08-06 14:26:21 +02:00
2023-12-23 09:22:49 +01:00
2023-12-17 18:43:52 +01:00
2023-11-20 21:12:13 +01:00
2023-12-12 16:54:50 +01:00
2023-12-15 10:20:57 +01:00
2023-12-15 10:20:57 +01:00
2023-10-16 00:01:33 +02:00
2023-10-29 14:48:11 +01:00
2023-10-29 14:48:11 +01:00
2023-10-29 14:48:11 +01:00
2023-12-15 08:13:25 +01:00
2023-09-01 06:41:39 +02:00
2023-10-29 14:48:11 +01:00
2023-12-15 08:13:25 +01:00
2020-06-01 19:21:41 +02:00
2023-12-15 10:20:57 +01:00
2023-09-18 22:57:03 +02:00
2023-12-15 08:13:25 +01:00
2023-12-14 16:25:34 +01:00
2024-01-02 07:49:54 +01:00
2023-12-13 10:29:58 +01:00
2023-12-12 16:54:50 +01:00
2023-12-13 10:39:10 +01:00
2023-12-15 08:13:25 +01:00
2023-12-15 10:20:57 +01:00
2023-10-29 14:48:11 +01:00
2023-12-22 08:49:51 +01:00
2023-08-06 14:26:21 +02:00
2023-11-04 17:46:59 +08:00
2024-01-01 12:21:19 +01:00
2023-12-13 10:29:58 +01:00
2021-01-12 09:36:51 +01:00
2023-12-12 16:54:50 +01:00
2023-12-06 18:17:57 +01:00
2023-12-15 08:13:25 +01:00
2024-01-05 08:17:08 +01:00
2023-03-03 07:36:38 +01:00
2023-12-15 08:13:25 +01:00
2022-03-23 20:34:53 +01:00
2023-12-16 07:05:57 +01:00
2023-11-30 14:05:45 +01:00
2023-12-14 17:04:09 +01:00
2023-12-15 08:13:25 +01:00
2023-12-15 08:13:25 +01:00
2023-06-30 23:03:25 +02:00
2023-10-29 14:48:11 +01:00
2023-10-29 14:48:11 +01:00
2023-12-12 16:54:50 +01:00
2023-10-29 14:48:11 +01:00
2023-04-17 20:55:22 +02:00
2023-10-29 14:48:11 +01:00
2023-12-31 22:56:48 +08:00
2023-08-06 14:26:21 +02:00
2023-04-24 06:52:37 +02:00
2023-10-29 14:48:11 +01:00
2023-12-17 09:01:00 +01:00
2022-08-24 09:44:16 +02:00
2023-11-20 21:12:13 +01:00
2023-10-29 14:48:11 +01:00
2023-12-17 18:43:52 +01:00
2023-12-13 10:29:58 +01:00
2023-03-03 07:36:38 +01:00
2023-10-29 14:48:11 +01:00
2018-05-27 19:19:12 +02:00
2023-12-25 07:12:54 +01:00
2023-10-29 14:48:11 +01:00
2023-12-15 08:13:25 +01:00
2023-07-02 22:36:05 +02:00
2023-12-24 15:22:10 +01:00
2023-10-29 14:48:11 +01:00
2023-10-29 14:48:11 +01:00
2023-11-06 18:33:28 +01:00
2023-08-10 14:26:40 +02:00
2020-09-11 01:04:07 +02:00
2023-10-29 14:48:11 +01:00
2023-12-17 18:43:52 +01:00
2023-12-17 18:43:52 +01:00
2023-12-14 16:25:34 +01:00
2024-01-11 07:45:11 +01:00
2023-12-15 08:13:25 +01:00
2023-12-12 16:54:50 +01:00
2023-12-22 08:49:51 +01:00
2024-01-11 07:45:11 +01:00
2023-12-15 10:20:57 +01:00
2023-12-13 10:29:58 +01:00
2023-12-15 08:13:25 +01:00
2023-12-15 08:13:25 +01:00
2023-12-19 10:24:36 +01:00
2023-12-23 09:22:49 +01:00
2022-12-11 16:58:50 +01:00
2024-01-07 07:48:32 +01:00
2023-12-14 16:25:34 +01:00
2023-12-15 10:20:57 +01:00
2023-12-15 10:20:57 +01:00
2024-01-11 07:45:11 +01:00
2023-11-20 21:12:13 +01:00
2023-12-14 16:25:34 +01:00
2023-12-15 08:13:25 +01:00
2023-12-13 10:29:58 +01:00
2023-12-17 18:43:52 +01:00
2023-10-29 14:48:11 +01:00
2023-08-10 14:26:40 +02:00
2023-12-02 05:28:24 +01:00
2023-12-12 16:54:50 +01:00
2023-10-29 14:48:11 +01:00
2023-12-14 16:25:34 +01:00
2023-12-17 18:43:52 +01:00
2023-10-29 14:48:11 +01:00
2023-12-15 10:20:57 +01:00
2023-12-19 17:27:24 +01:00
2023-12-12 16:54:50 +01:00
2023-08-21 20:08:00 +02:00
2023-12-15 10:20:57 +01:00
2023-12-15 10:20:57 +01:00
2023-08-10 14:26:40 +02:00
2023-12-15 10:20:57 +01:00
2023-08-18 16:47:47 +02:00
2023-10-29 14:48:11 +01:00
2023-12-17 18:43:52 +01:00
2023-12-25 07:12:54 +01:00