Asuna
4810270252
Drop dump test for type info reflection
2026-02-11 12:18:51 +01:00
Asuna
98e0c34f7f
Support unions in type info reflection
2026-02-10 13:53:27 +01:00
Asuna
e9037882c1
Support enums in type info reflection
2026-02-10 13:53:26 +01:00
Asuna
870fd9070b
Add generics info for structs in type info
2026-02-10 13:45:09 +01:00
Asuna
b23d308853
Support structs in type info reflection
2026-02-10 13:45:07 +01:00
BD103
a509588fa9
feat: support slices in reflection type info
2026-01-21 16:03:00 -06:00
Jacob Pratt
80db7158af
Rollup merge of #151235 - type-info-rename-bits, r=oli-obk
...
Change field `bit_width: usize` to `bits: u32` in type info
Follow-up https://github.com/rust-lang/rust/pull/151123#discussion_r2698418929 . Quotes:
@Skgland:
> > I'm not sure whether we should use `usize` or `u64` here to represent the bit width.
>
> My expectation would be `u32` matching the associated `{u,i}N::BITS`[^1][^2][^3] constant that already exists on the integer types.
>
> [^1]: https://doc.rust-lang.org/std/primitive.i8.html#associatedconstant.BITS
> [^2]: https://doc.rust-lang.org/std/primitive.i128.html#associatedconstant.BITS
> [^3]: https://doc.rust-lang.org/std/primitive.usize.html#associatedconstant.BITS
@SpriteOvO:
> I found some [previous discussions](https://github.com/rust-lang/rust/pull/76492#issuecomment-700516940 ) regarding the type of `::BITS` constant. And during the stabilization of `::BITS`, the choice of `u32` affected some ecosystem crates (#81654 ), but soon after, these crates all accepted the `u32` type.
>
> So I think it makes sense to keep the type consistent with `::BITS` here. Then I'd also like to change the name from `bit_width` to `bits`, also for consistency.
r? @oli-obk
2026-01-18 03:16:46 -05:00
Asuna
27b0279660
Change field bit_width: usize to bits: u32 in type info
2026-01-17 01:53:08 +01:00
Jamie Hill-Daniel
c7031e93c5
feat: Support references in reflection type info
2026-01-17 00:25:29 +00:00
Asuna
b2a7b18ec4
Merge type info variant Uint into Int
2026-01-15 23:04:40 +01:00
Asuna
5c057ad896
Remove their own TypeId from type info for primitives
2026-01-15 22:58:39 +01:00
Asuna
79ec275e2d
Support primitives in type info reflection
...
Support {bool,char,int,uint,float,str} primitive types for feature
`type_info` reflection.
2026-01-14 19:15:39 +01:00
Guillaume Gomez
a8e3ce50b9
Rollup merge of #151031 - reflect-arrays, r=oli-obk
...
Support arrays in type reflection
Tracking issue: rust-lang/rust#146922
This PR adds support for inspecting arrays `[T; N]` through type reflection. It does so by adding `TypeKind::Array` and the `Array` struct:
```rust
pub struct Array {
pub element_ty: TypeId,
pub len: usize,
}
```
This can be used to inspect arrays like so:
```rust
match const { Type::of::<[u16; 4]>() }.kind {
TypeKind::Array(array) => {
assert_eq!(array.element_ty, TypeId::of::<u16>());
assert_eq!(array.len, 4);
}
_ => unreachable!(),
}
```
r? @oli-obk
2026-01-13 23:39:11 +01:00
BD103
71f8ea99fe
refactor: move tuples type info ui test to coretest
2026-01-13 12:19:37 -05:00
BD103
e027ecdbb5
feat: support arrays in type reflection
2026-01-13 12:18:57 -05:00
BD103
1bde2f4705
chore: test Type::of on unsized types
...
I chose to simply extend `dump.rs`, rather than create a new UI test.
2026-01-12 14:43:21 -05:00
Oli Scherer
a3359bdd4f
Compile-Time Reflection MVP: tuples
2026-01-08 11:41:00 +00:00