blob: 5d6e34804c5cc1245ff9a2113908af52b9eee772 [file]
// Check that a byte string literal to a const parameter with a non-u8
// element type isn't lowered to a ValTree with an incorrect type
#![feature(adt_const_params)]
#![feature(rustc_attrs)]
#[rustc_dump_predicates]
struct ConstBytes<const T: &'static [*mut u8; 3]>
//~^ ERROR rustc_dump_predicates
//~| NOTE Binder { value: ConstArgHasType(T/#0, &'static [*mut u8; 3_usize]), bound_vars: [] }
//~| NOTE Binder { value: TraitPredicate(<ConstBytes<b"AAA"> as std::marker::Sized>, polarity:Positive), bound_vars: [] }
//~| NOTE expected because of the type of the const parameter
where
ConstBytes<b"AAA">: Sized;
//~^ ERROR mismatched types
//~| NOTE expected `&[*mut u8; 3]`, found `&[u8; 3]`
//~| NOTE expected reference `&'static [*mut u8; 3]`
//~| NOTE found reference `&'static [u8; 3]`
fn main() {}