mlugg
89a9cabafd
std.builtin.Type: improve ergonomics of *const anyopaque fields
...
For representing struct field default values and array/pointer type
sentinel values, we use `*const anyopaque`, since there is no way for
`std.builtin.Type.StructField` etc to refer back to its `type` field.
However, when introspecting a type, this is quite awkward due to the
pointer casts necessary.
As such, this commit renames the `sentinel` fields to `sentinel_ptr`,
and the `default_value` field to `default_value_ptr`, and introduces
helper methods `sentinel()` and `defaultValue()` to load the values.
These methods are marked as `inline` because their return value, which
is always comptime-known, is very often required at comptime by use
sites, so this avoids having to annotate such calls with `comptime`.
This is a breaking change, although note that 0.14.0 is already a
breaking release for all users of `std.builtin.Type` due to the union
fields being renamed.
2025-01-16 12:49:58 +00:00
..
2025-01-16 12:46:29 +00:00
2025-01-16 12:46:29 +00:00
2024-10-13 18:44:42 -07:00
2025-01-16 12:46:29 +00:00
2024-11-29 15:30:05 -05:00
2024-12-19 17:10:03 -05:00
2024-08-28 08:39:59 +01:00
2024-11-27 22:33:29 +01:00
2025-01-16 12:46:29 +00:00
2024-10-12 22:53:02 +02:00
2024-11-07 20:56:33 -05:00
2025-01-16 12:46:29 +00:00
2025-01-16 12:46:29 +00:00
2025-01-09 06:46:47 +00:00
2025-01-16 12:46:29 +00:00
2024-08-28 08:39:59 +01:00
2024-02-23 02:37:11 -07:00
2025-01-16 12:46:29 +00:00
2025-01-16 12:46:29 +00:00
2024-11-27 22:33:29 +01:00
2024-07-23 11:43:12 -07:00
2024-08-27 00:44:35 +01:00
2024-10-04 13:50:25 -07:00
2025-01-05 16:26:21 +00:00
2024-11-27 23:24:37 +01:00
2024-08-15 17:54:27 -07:00
2024-11-04 10:56:32 +01:00
2025-01-16 12:46:29 +00:00
2024-06-13 10:18:59 -04:00
2025-01-15 15:11:35 -08:00
2025-01-15 15:11:35 -08:00
2024-11-29 12:26:23 -08:00
2025-01-12 04:51:00 +01:00
2024-09-04 08:10:12 +00:00
2024-09-19 17:06:23 -07:00
2024-07-09 14:25:42 -07:00
2024-08-23 22:30:10 -07:00
2023-11-19 09:55:07 +00:00
2024-02-26 15:18:31 -08:00
2024-12-18 01:48:54 +05:00
2025-01-16 12:49:58 +00:00
2025-01-16 12:46:29 +00:00
2024-08-23 19:56:24 +02:00
2024-03-10 18:13:30 -07:00
2024-12-11 18:52:43 +01:00
2025-01-16 12:46:29 +00:00
2024-08-22 08:44:08 +02:00
2024-10-12 10:44:17 -07:00
2024-10-12 10:44:17 -07:00
2024-08-29 20:39:11 +01:00
2024-03-21 14:11:46 -07:00
2025-01-16 12:46:29 +00:00
2024-10-17 01:08:58 +02:00
2024-11-01 02:04:27 +03:30
2025-01-06 13:37:30 +00:00
2024-11-24 15:30:52 -08:00
2024-10-04 13:50:25 -07:00
2024-08-07 00:48:32 -07:00
2025-01-15 15:11:36 -08:00
2024-05-03 13:27:30 -07:00
2024-08-28 08:39:59 +01:00
2023-11-24 22:33:50 -07:00
2024-08-28 08:39:59 +01:00
2024-07-31 16:57:42 -07:00
2024-09-02 00:10:22 +03:00
2025-01-16 12:46:29 +00:00
2025-01-16 12:46:29 +00:00
2024-12-05 19:58:38 +00:00
2024-07-19 00:30:32 -07:00
2024-08-27 00:44:35 +01:00
2024-07-19 00:30:32 -07:00
2024-08-29 23:43:52 +01:00
2025-01-16 12:46:29 +00:00
2024-07-23 11:43:12 -07:00
2024-07-09 14:25:42 -07:00
2024-07-20 01:06:28 -07:00
2025-01-16 12:46:29 +00:00
2025-01-16 12:46:29 +00:00
2024-03-10 18:17:23 +11:00
2024-08-28 08:39:59 +01:00
2024-10-31 20:42:53 +00:00
2025-01-06 16:47:40 +01:00
2024-09-23 13:03:06 -07:00
2024-12-11 00:10:17 +01:00
2024-06-20 23:22:39 +00:00
2024-11-07 20:25:26 -05:00
2024-10-04 13:50:25 -07:00
2025-01-15 15:11:35 -08:00
2025-01-16 12:46:29 +00:00
2025-01-15 15:11:35 -08:00
2024-09-26 12:35:14 -07:00
2024-07-28 19:47:55 -07:00
2023-10-31 21:37:35 -04:00
2024-08-21 01:30:46 +01:00
2024-04-12 22:37:07 -07:00
2024-11-04 12:39:48 +01:00
2025-01-15 15:11:36 -08:00
2025-01-09 06:46:47 +00:00
2024-06-17 16:12:19 -04:00