-
Notifications
You must be signed in to change notification settings - Fork 14k
Closed
Labels
A-lifetimesArea: Lifetimes / regionsArea: Lifetimes / regionsA-type-systemArea: Type systemArea: Type systemI-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.
Milestone
Description
This is the last hole left over in the "case of the recurring closure" problem which was mostly but not quite fixed by #7363.
This program should be illegal (it isn't itself soundness-breaking, but isn't far from it):
fn bar(x: & &fn(), y: & &fn()) { (*x)(); (*y)(); }
fn foo(x: &fn()) { bar(&x, &x) }
fn main() {
do foo || {}
}
Nominating backwards-compatible.
Metadata
Metadata
Assignees
Labels
A-lifetimesArea: Lifetimes / regionsArea: Lifetimes / regionsA-type-systemArea: Type systemArea: Type systemI-crashIssue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics.