warning: the feature `unsafe_binders` is incomplete and may not be safe to use and/or cause compiler crashes --> $DIR/mismatch.rs:1:12 | LL | #![feature(unsafe_binders)] | ^^^^^^^^^^^^^^ | = note: see issue #130516 for more information = note: `#[warn(incomplete_features)]` on by default error: unsafe binder casts are not fully implemented --> $DIR/mismatch.rs:7:46 | LL | let _: unsafe<'a> &'a i32 = wrap_binder!(&()); | ^^^ error[E0308]: mismatched types --> $DIR/mismatch.rs:7:46 | LL | let _: unsafe<'a> &'a i32 = wrap_binder!(&()); | ^^^ expected `&i32`, found `&()` | = note: expected reference `&i32` found reference `&()` error: unsafe binder casts are not fully implemented --> $DIR/mismatch.rs:13:31 | LL | let _: i32 = wrap_binder!(&()); | ^^^ error: `wrap_binder!()` can only wrap into unsafe binder, not `i32` --> $DIR/mismatch.rs:13:18 | LL | let _: i32 = wrap_binder!(&()); | ^^^^^^^^^^^^^^^^^ | = note: unsafe binders are the only valid output of wrap = note: this error originates in the macro `wrap_binder` (in Nightly builds, run with -Z macro-backtrace for more info) error: unsafe binder casts are not fully implemented --> $DIR/mismatch.rs:20:20 | LL | unwrap_binder!(y); | ^ error: expected unsafe binder, found integer as input of `unwrap_binder!()` --> $DIR/mismatch.rs:20:20 | LL | unwrap_binder!(y); | ^ | = note: only an unsafe binder type can be unwrapped error: unsafe binder casts are not fully implemented --> $DIR/mismatch.rs:27:20 | LL | unwrap_binder!(unknown); | ^^^^^^^ error: unsafe binder casts are not fully implemented --> $DIR/mismatch.rs:34:26 | LL | let x = wrap_binder!(&42); | ^^^ error: aborting due to 8 previous errors; 1 warning emitted For more information about this error, try `rustc --explain E0308`.