Closed
Description
I think there's an existing issue, but I can't find it. Currently borrowck treats nullary variants (like None
) as static identifies. This doesn't make sense for generic enums and I don't think it matches up with trans. The reason it doesn't make sense for generic enums is that None::<Foo>
and None::<Bar>
have totally different sizes etc., so there couldn't possible be a single static constant to refer to. This is a relatively simple fix to the mem_categorization
code, but it's worth investigating how trans handles enum variants and make sure that everything will be compatible.
Nominating since it is a backwards compatibility thing.