// Variant of #117151 when the overflow comes entirely from subtype predicates. | |
#![allow(unreachable_code)] | |
use std::ptr; | |
fn main() { | |
// Give x and y completely unconstrained types. Using a function call | |
// or `as` cast would create a well-formed predicate. | |
let x = return; | |
let y = return; | |
let mut w = (x, y); | |
//~^ ERROR overflow assigning `_` to `*const _` | |
// Avoid creating lifetimes, `Sized` bounds or function calls. | |
let a = (ptr::addr_of!(y), ptr::addr_of!(x)); | |
w = a; | |
} |