Andrew Kelley
ada0010471
compiler: move unions into InternPool
...
There are a couple concepts here worth understanding:
Key.UnionType - This type is available *before* resolving the union's
fields. The enum tag type, number of fields, and field names, field
types, and field alignments are not available with this.
InternPool.UnionType - This one can be obtained from the above type with
`InternPool.loadUnionType` which asserts that the union's enum tag type
has been resolved. This one has all the information available.
Additionally:
* ZIR: Turn an unused bit into `any_aligned_fields` flag to help
semantic analysis know whether a union has explicit alignment on any
fields (usually not).
* Sema: delete `resolveTypeRequiresComptime` which had the same type
signature and near-duplicate logic to `typeRequiresComptime`.
- Make opaque types not report comptime-only (this was inconsistent
between the two implementations of this function).
* Implement accepted proposal #12556 which is a breaking change.
2023-08-22 13:54:14 -07:00
..
2023-08-18 02:07:49 -04:00
2021-04-29 15:54:04 -07:00
2021-04-29 15:54:04 -07:00
2021-04-29 15:54:04 -07:00
2021-04-29 15:54:04 -07:00
2022-12-10 21:51:46 +07:00
2023-08-01 00:39:30 -07:00
2023-06-27 19:57:23 -04:00
2023-08-11 11:01:47 -07:00
2023-07-29 09:49:04 -07:00
2023-06-24 16:56:39 -07:00
2023-06-24 16:56:39 -07:00
2022-12-06 19:06:48 -07:00
2023-06-25 14:51:03 -07:00
2023-06-24 16:56:39 -07:00
2023-08-21 11:47:31 +03:00
2023-06-24 16:56:39 -07:00
2023-06-24 16:56:39 -07:00
2023-06-24 16:56:39 -07:00
2023-06-24 16:56:39 -07:00
2023-05-11 20:31:52 +02:00
2023-07-01 19:45:09 +02:00
2023-07-31 03:49:21 -04:00
2023-08-10 10:00:26 +01:00
2023-07-22 02:12:07 +02:00
2023-08-06 18:09:41 -07:00
2023-07-01 19:45:09 +02:00
2023-05-11 20:31:52 +02:00
2023-05-20 17:30:22 +02:00
2023-07-26 19:02:02 -07:00
2023-05-20 17:30:22 +02:00
2022-12-23 23:10:04 +02:00
2022-12-23 23:10:04 +02:00
2023-05-11 20:31:52 +02:00
2023-05-31 18:04:33 +02:00
2023-07-01 19:45:09 +02:00
2023-07-27 10:12:08 -07:00
2023-07-31 03:49:21 -04:00
2023-06-19 12:34:42 -07:00
2023-06-24 16:56:39 -07:00
2023-07-29 12:45:01 -04:00
2023-06-13 23:46:58 +06:00
2023-08-21 11:26:25 -07:00
2023-05-20 17:30:22 +02:00
2023-06-24 16:56:39 -07:00
2023-07-31 01:58:10 -04:00
2023-07-26 22:19:30 -07:00
2023-07-23 17:47:18 -07:00
2021-05-08 14:45:21 -07:00
2022-03-11 12:59:20 -07:00
2023-06-27 19:57:23 -04:00
2022-01-07 00:06:06 -05:00
2022-12-10 21:51:46 +07:00
2023-06-19 12:34:42 -07:00
2023-06-24 16:56:39 -07:00
2023-05-15 03:07:51 -04:00
2023-06-13 23:46:58 +06:00
2023-05-11 20:31:52 +02:00
2023-05-11 20:31:52 +02:00
2023-07-31 03:49:21 -04:00
2023-08-18 02:07:49 -04:00
2023-05-20 12:27:48 -07:00
2023-06-24 16:56:39 -07:00
2023-05-19 20:22:45 +02:00
2023-05-11 20:31:52 +02:00
2023-07-31 03:49:21 -04:00
2022-03-17 11:39:56 -07:00
2023-06-13 23:46:58 +06:00
2023-08-09 05:46:44 -04:00
2023-06-24 16:56:39 -07:00
2023-07-29 18:16:13 +02:00
2023-07-29 09:00:23 -07:00
2023-06-24 16:56:39 -07:00
2023-06-24 16:56:39 -07:00
2023-05-11 20:31:52 +02:00
2023-07-26 19:02:02 -07:00
2023-07-01 19:45:09 +02:00
2023-05-20 18:43:26 +03:30
2023-05-20 17:30:22 +02:00
2023-05-20 17:30:22 +02:00
2023-05-31 18:04:33 +02:00
2023-07-31 03:49:21 -04:00
2023-06-13 23:46:58 +06:00
2023-06-13 23:46:58 +06:00
2023-06-24 16:56:39 -07:00
2023-06-24 16:56:39 -07:00
2023-06-24 16:56:39 -07:00
2023-05-11 20:31:52 +02:00
2023-05-11 20:31:52 +02:00
2023-05-11 20:31:52 +02:00
2023-08-11 11:01:47 -07:00
2023-05-11 20:31:52 +02:00
2023-05-11 20:31:52 +02:00
2023-07-26 19:02:02 -07:00
2023-05-20 17:30:22 +02:00
2023-06-25 19:14:03 -04:00
2022-09-10 01:50:17 +03:00
2022-11-03 14:07:00 +02:00
2023-06-24 16:56:39 -07:00
2023-06-24 16:56:39 -07:00
2023-06-13 23:46:58 +06:00
2023-07-25 21:45:33 -07:00
2023-07-28 19:27:08 -04:00
2023-07-25 16:19:08 -07:00
2023-07-25 16:19:08 -07:00
2023-06-24 16:56:39 -07:00
2023-05-11 20:31:52 +02:00
2023-05-20 17:30:22 +02:00
2023-05-11 20:31:52 +02:00
2023-05-31 18:04:33 +02:00
2023-08-22 13:54:14 -07:00
2023-06-13 23:46:58 +06:00
2023-07-31 03:49:21 -04:00
2023-08-10 16:10:59 -07:00
2023-05-11 20:31:52 +02:00
2022-03-03 18:31:55 -07:00
2023-06-13 23:46:58 +06:00
2023-05-18 20:42:38 -04:00
2023-06-13 23:46:58 +06:00