Auto merge of #114208 - GKFX:offset_of_enum, r=wesleywiser
Support enum variants in offset_of! This MR implements support for navigating through enum variants in `offset_of!`, placing the enum variant name in the second argument to `offset_of!`. The RFC placed it in the first argument, but I think it interacts better with nested field access in the second, as you can then write things like ```rust offset_of!(Type, field.Variant.field) ``` Alternatively, a syntactic distinction could be made between variants and fields (e.g. `field::Variant.field`) but I'm not convinced this would be helpful. [RFC 3308 # Enum Support](https://rust-lang.github.io/rfcs/3308-offset_of.html#enum-support-offset_ofsomeenumstructvariant-field_on_variant) Tracking Issue #106655.
This commit is contained in:
commit
146dafa262
33 changed files with 477 additions and 89 deletions
|
@ -516,7 +516,7 @@ pub enum NullOp {
|
|||
/// Returns the minimum alignment of a type.
|
||||
AlignOf,
|
||||
/// Returns the offset of a field.
|
||||
OffsetOf(Vec<FieldIdx>),
|
||||
OffsetOf(Vec<(VariantIdx, FieldIdx)>),
|
||||
}
|
||||
|
||||
impl Operand {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue