-
Notifications
You must be signed in to change notification settings - Fork 14.1k
Closed
Labels
A-lifetimesArea: Lifetimes / regionsArea: Lifetimes / regionsA-type-systemArea: Type systemArea: Type systemE-needs-testCall for participation: An issue has been fixed and does not reproduce, but no test has been added.Call for participation: An issue has been fixed and does not reproduce, but no test has been added.
Milestone
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.
Metadata
Metadata
Assignees
Labels
A-lifetimesArea: Lifetimes / regionsArea: Lifetimes / regionsA-type-systemArea: Type systemArea: Type systemE-needs-testCall for participation: An issue has been fixed and does not reproduce, but no test has been added.Call for participation: An issue has been fixed and does not reproduce, but no test has been added.