metagn
71c5a4f72c
generate let _ = to fully unpack partial tuple unpacking assignment for arc ( #24948 )
...
fixes #24947
When injectdestructors detects that a variable is a tuple unpacking temp
(i.e. it is an `skTemp`, is not a cursor, and has tuple type) it does
not generate a destructor for it and only generates sink/bit assignments
for its components. However the reason it does not generate a destructor
is that it expects it to be fully unpacked, this is true for unpackings
in for loops but not for tuple unpacking assignments which supports `_`
since #22537 . Tuple unpacking definitions for `var`/`let`/`const` do not
generate `skTemp` and use the same symbol kind as the definition so they
did not have this problem.
To keep this compatible, the `_` parts of the tuple unpacking
assignments are now not ignored and unpacked into `let _ = ...`, which
generates its own destructor. Another option might be to use `skLet`
instead of `skTemp` but this might cause changes to behavior like
additional copies, I am not sure about this though.
2025-05-15 09:32:10 +02:00
..
2024-10-18 16:52:07 +02:00
2024-03-18 20:27:00 +01:00
2023-08-06 14:26:21 +02:00
2023-12-15 10:20:57 +01:00
2025-05-06 09:36:20 +02:00
2025-05-06 09:36:20 +02:00
2024-04-16 12:46:59 +02:00
2024-07-12 15:23:09 +02:00
2023-10-11 17:44:14 +02:00
2023-08-06 14:26:21 +02:00
2024-11-19 08:51:54 +01:00
2024-11-21 14:29:18 +03:00
2024-11-18 17:34:37 +01:00
2024-11-18 17:34:37 +01:00
2025-04-01 09:37:54 +02:00
2025-04-01 09:37:54 +02:00
2024-11-18 17:34:37 +01:00
2022-11-30 21:51:13 +01:00
2024-11-18 17:34:37 +01:00
2025-03-12 17:29:30 +01:00
2024-11-18 17:34:37 +01:00
2024-11-18 17:34:37 +01:00
2025-04-21 08:58:45 +02:00
2025-03-10 11:20:44 +01:00
2025-03-11 09:57:48 +01:00
2024-11-14 16:28:13 +01:00
2024-10-18 16:52:07 +02:00
2025-04-15 19:29:46 +02:00
2024-03-28 11:04:12 +01:00
2025-04-12 08:40:25 +02:00
2023-06-18 16:06:14 +02:00
2025-04-24 21:17:42 +02:00
2025-01-17 16:08:47 +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
2025-04-02 09:29:15 +02:00
2023-08-06 14:26:21 +02:00
2025-05-11 06:40:46 +02:00
2025-04-18 05:32:49 +02:00
2023-11-20 21:12:13 +01:00
2024-10-18 16:52:07 +02:00
2024-10-18 16:52:07 +02:00
2024-08-28 20:46:36 +02:00
2025-03-18 18:51:34 +08: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
2024-10-18 16:52:07 +02:00
2023-09-01 06:41:39 +02:00
2023-10-29 14:48:11 +01:00
2024-12-20 22:09:03 +01:00
2020-06-01 19:21:41 +02:00
2025-05-15 09:32:10 +02:00
2024-06-04 09:50:35 +02:00
2023-12-15 08:13:25 +01:00
2024-12-27 19:42:18 +01:00
2024-10-25 22:36:19 +02:00
2023-12-13 10:29:58 +01:00
2025-04-15 19:29:46 +02:00
2025-05-06 09:36:20 +02:00
2023-12-13 10:39:10 +01:00
2023-12-15 08:13:25 +01:00
2025-04-16 22:51:12 +02:00
2024-10-18 16:52:07 +02:00
2025-03-11 14:24:45 +01:00
2024-10-11 12:00:05 +02:00
2025-03-25 07:41:17 +01:00
2025-05-04 03:29:59 +02:00
2024-10-18 16:52:07 +02:00
2021-01-12 09:36:51 +01:00
2025-05-01 07:49:46 +02:00
2024-07-09 09:29:45 +02:00
2024-04-05 08:54:48 +02:00
2024-10-12 21:46:56 +02:00
2024-01-05 08:17:08 +01:00
2024-10-17 15:16:57 +02:00
2024-09-16 20:45:00 +02:00
2024-10-18 16:52:07 +02:00
2025-05-14 21:31:53 +02:00
2024-07-17 18:25:19 +02:00
2023-12-15 08:13:25 +01:00
2023-12-15 08:13:25 +01:00
2024-04-10 14:41:16 +02:00
2023-10-29 14:48:11 +01:00
2023-10-29 14:48:11 +01:00
2024-10-18 16:52:07 +02:00
2023-10-29 14:48:11 +01:00
2024-08-12 15:33:26 +02:00
2023-04-17 20:55:22 +02:00
2025-04-03 12:54:00 +02:00
2025-04-12 08:40:25 +02:00
2023-08-06 14:26:21 +02:00
2024-10-11 12:00:05 +02:00
2024-09-03 09:18:38 +02:00
2025-04-18 05:34:21 +02:00
2022-08-24 09:44:16 +02:00
2024-10-29 08:01:44 +01:00
2023-10-29 14:48:11 +01:00
2025-04-12 08:39:11 +02:00
2025-04-12 08:40:25 +02: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
2025-04-12 17:55:11 +02:00
2023-10-29 14:48:11 +01:00
2024-04-10 14:41:16 +02:00
2024-09-03 09:19:52 +02:00
2023-07-02 22:36:05 +02:00
2025-04-12 08:39:11 +02:00
2023-10-29 14:48:11 +01:00
2025-04-12 08:39:11 +02: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
2025-04-11 03:28:53 +02:00
2025-05-06 09:36:20 +02:00
2025-05-06 09:46:45 +02:00
2025-05-15 09:32:10 +02:00
2025-02-27 16:48:15 +01:00
2025-03-11 10:01:32 +01:00
2025-04-29 11:08:10 +02:00
2025-04-21 09:01:44 +02:00
2025-02-28 17:23:19 +03:00
2025-05-01 07:49:46 +02:00
2024-12-22 14:25:36 +01:00
2024-10-18 16:52:07 +02:00
2025-04-10 09:24:19 +02:00
2025-05-06 09:46:18 +02:00
2022-12-11 16:58:50 +01:00
2025-04-29 11:08:10 +02:00
2025-05-11 06:42:27 +02:00
2025-05-06 09:36:20 +02:00
2024-08-16 06:33:43 +02:00
2025-04-12 17:53:18 +02:00
2023-11-20 21:12:13 +01:00
2024-10-18 16:52:07 +02:00
2024-03-16 08:35:18 +08:00
2024-10-18 16:52:07 +02:00
2025-05-11 06:41:09 +02:00
2024-03-15 18:20:10 +01:00
2024-04-10 14:41:16 +02:00
2023-08-10 14:26:40 +02:00
2025-05-06 09:36:20 +02:00
2025-04-12 08:39:11 +02:00
2023-10-29 14:48:11 +01:00
2024-11-19 10:06:41 +01:00
2025-04-21 09:01:44 +02:00
2023-10-29 14:48:11 +01:00
2024-08-20 11:57:47 +02:00
2025-04-12 08:39:11 +02:00
2023-12-12 16:54:50 +01:00
2025-02-14 20:54:17 +01:00
2024-10-18 16:52:07 +02:00
2025-04-16 12:11:33 +02:00
2023-08-10 14:26:40 +02:00
2024-04-10 14:41:16 +02:00
2025-05-10 08:26:21 +02:00
2023-10-29 14:48:11 +01:00
2024-11-27 17:36:57 +01:00
2023-12-25 07:12:54 +01:00