Open
Description
struct MyType<'a, 'b, 'c, 'd, 'e, 'f, 'g, 'h> {
is_static: SendIfStatic<'a>,
rot: Option<Box<MyType<'b, 'c, 'd, 'e, 'f, 'g, 'h, 'a>>>,
}
struct SendIfStatic<'a>(&'a ());
unsafe impl Send for SendIfStatic<'static> {}
fn is_send<T: Send>(x: T) {}
fn main() {
let is_static = SendIfStatic(&());
is_send(MyType {
is_static,
rot: None,
})
}
this compiles with the old solver and overflows with new. https://rust.godbolt.org/z/v9bMKM5T4
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
potentially irrelevant