Remove fields from TypeKind: Struct, Enum, Union and Tuple - #161114
Remove fields from TypeKind: Struct, Enum, Union and Tuple#161114yara-blue wants to merge 8 commits into
Conversation
|
Some changes occurred to the intrinsics. Make sure the CTFE / Miri interpreter cc @rust-lang/miri, @RalfJung, @oli-obk, @lcnr The reflection data structures are tied exactly to the implementation cc @oli-obk Some changes occurred to the CTFE machinery |
This comment has been minimized.
This comment has been minimized.
6295e4a to
f6c1ef2
Compare
| // We have to use the intrinsic directly instead of through `TypeId::of` as | ||
| // that would enforce a static lifetime bound on T. As that bound is there for | ||
| // the `Eq` implementation of `TypeId` it is okay for us to work around it here. | ||
| let type_id = crate::intrinsics::type_id::<T>(); |
There was a problem hiding this comment.
Ah forgot about that. Let's add a version of of that doesn't have a bound and is unstable with the type_info feature gate. My plan is getting rid of that bound anyway, or just having a dedicated method for it, so we can just add it now. Otherwise ppl will start having to use the intrinsic outside of libcore, too, which we wanna avoid even temporary
Tracking issue #146922
r? @oli-obk