mirror of https://github.com/rust-lang/rust
272 lines
13 KiB
Rust
272 lines
13 KiB
Rust
//@ build-fail
|
|
//@ revisions: legacy verbose-legacy v0
|
|
//@ compile-flags: --crate-name=a -Z unstable-options
|
|
//@ [legacy] compile-flags: -Csymbol-mangling-version=legacy
|
|
//@ [verbose-legacy] compile-flags: -Csymbol-mangling-version=legacy -Zverbose-internals
|
|
//@ [v0] compile-flags: -Csymbol-mangling-version=v0
|
|
//@ normalize-stderr-test: "h[[:xdigit:]]{16}" -> "h[HASH]"
|
|
//@ [v0] normalize-stderr-test: "\[[[:xdigit:]]{16}\]" -> "[HASH]"
|
|
|
|
#![feature(never_type)]
|
|
#![feature(rustc_attrs)]
|
|
#![feature(f128)]
|
|
#![feature(f16)]
|
|
|
|
pub fn b() {
|
|
struct Type<T: ?Sized>(T);
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b16Type$LT$bool$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<bool>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<bool>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMNvCsCRATE_HASH_1a1bINtB<REF>_4TypebE)
|
|
//[v0]~| ERROR ::b::Type<bool>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<bool>>)
|
|
impl Type<bool> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b16Type$LT$char$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<char>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<char>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMs_NvCsCRATE_HASH_1a1bINtB<REF>_4TypecE)
|
|
//[v0]~| ERROR ::b::Type<char>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<char>>)
|
|
impl Type<char> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b14Type$LT$i8$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<i8>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<i8>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMs0_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeaE)
|
|
//[v0]~| ERROR ::b::Type<i8>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<i8>>)
|
|
impl Type<i8> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b15Type$LT$i16$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<i16>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<i16>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMs1_NvCsCRATE_HASH_1a1bINtB<REF>_4TypesE)
|
|
//[v0]~| ERROR ::b::Type<i16>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<i16>>)
|
|
impl Type<i16> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b15Type$LT$i32$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<i32>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<i32>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMs2_NvCsCRATE_HASH_1a1bINtB<REF>_4TypelE)
|
|
//[v0]~| ERROR ::b::Type<i32>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<i32>>)
|
|
impl Type<i32> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b15Type$LT$i64$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<i64>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<i64>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMs3_NvCsCRATE_HASH_1a1bINtB<REF>_4TypexE)
|
|
//[v0]~| ERROR ::b::Type<i64>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<i64>>)
|
|
impl Type<i64> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b14Type$LT$u8$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<u8>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<u8>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMs4_NvCsCRATE_HASH_1a1bINtB<REF>_4TypehE)
|
|
//[v0]~| ERROR ::b::Type<u8>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<u8>>)
|
|
impl Type<u8> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b15Type$LT$u16$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<u16>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<u16>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMs5_NvCsCRATE_HASH_1a1bINtB<REF>_4TypetE)
|
|
//[v0]~| ERROR ::b::Type<u16>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<u16>>)
|
|
impl Type<u16> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b15Type$LT$u32$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<u32>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<u32>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMs6_NvCsCRATE_HASH_1a1bINtB<REF>_4TypemE)
|
|
//[v0]~| ERROR ::b::Type<u32>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<u32>>)
|
|
impl Type<u32> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b15Type$LT$u64$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<u64>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<u64>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMs7_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeyE)
|
|
//[v0]~| ERROR ::b::Type<u64>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<u64>>)
|
|
impl Type<u64> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b15Type$LT$f16$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<f16>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<f16>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMs8_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeC3f16E)
|
|
//[v0]~| ERROR ::b::Type<f16>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<f16>>)
|
|
impl Type<f16> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b15Type$LT$f32$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<f32>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<f32>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMs9_NvCsCRATE_HASH_1a1bINtB<REF>_4TypefE)
|
|
//[v0]~| ERROR ::b::Type<f32>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<f32>>)
|
|
impl Type<f32> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b15Type$LT$f64$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<f64>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<f64>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMsa_NvCsCRATE_HASH_1a1bINtB<REF>_4TypedE)
|
|
//[v0]~| ERROR ::b::Type<f64>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<f64>>)
|
|
impl Type<f64> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b16Type$LT$f128$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<f128>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<f128>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMsb_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeC4f128E)
|
|
//[v0]~| ERROR ::b::Type<f128>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<f128>>)
|
|
impl Type<f128> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b15Type$LT$str$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<str>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<str>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMsc_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeeE)
|
|
//[v0]~| ERROR ::b::Type<str>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<str>>)
|
|
impl Type<str> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b17Type$LT$$u21$$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<!>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<!>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMsd_NvCsCRATE_HASH_1a1bINtB<REF>_4TypezE)
|
|
//[v0]~| ERROR ::b::Type<!>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<!>>)
|
|
impl Type<!> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b20Type$LT$$LP$$RP$$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<()>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<()>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMse_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeuE)
|
|
//[v0]~| ERROR ::b::Type<()>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<()>>)
|
|
impl Type<()> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b25Type$LT$$LP$u8$C$$RP$$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<(u8,)>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<(u8,)>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMsf_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeThEE)
|
|
//[v0]~| ERROR ::b::Type<(u8,)>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<(u8,)>>)
|
|
impl Type<(u8,)> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b28Type$LT$$LP$u8$C$u16$RP$$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<(u8,u16)>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<(u8,u16)>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMsg_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeThtEE)
|
|
//[v0]~| ERROR ::b::Type<(u8, u16)>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<(u8, u16)>>)
|
|
impl Type<(u8, u16)> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b34Type$LT$$LP$u8$C$u16$C$u32$RP$$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<(u8,u16,u32)>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<(u8,u16,u32)>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMsh_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeThtmEE)
|
|
//[v0]~| ERROR ::b::Type<(u8, u16, u32)>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<(u8, u16, u32)>>)
|
|
impl Type<(u8, u16, u32)> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b28Type$LT$$BP$const$u20$u8$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<*const u8>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<*const u8>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMsi_NvCsCRATE_HASH_1a1bINtB<REF>_4TypePhE)
|
|
//[v0]~| ERROR ::b::Type<*const u8>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<*const u8>>)
|
|
impl Type<*const u8> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b26Type$LT$$BP$mut$u20$u8$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<*mut u8>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<*mut u8>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMsj_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeOhE)
|
|
//[v0]~| ERROR ::b::Type<*mut u8>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<*mut u8>>)
|
|
impl Type<*mut u8> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b19Type$LT$$RF$str$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<&str>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<&str>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMsk_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeReE)
|
|
//[v0]~| ERROR ::b::Type<&str>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<&str>>)
|
|
impl Type<&str> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b27Type$LT$$RF$mut$u20$str$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<&mut str>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<&mut str>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMsl_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeQeE)
|
|
//[v0]~| ERROR ::b::Type<&mut str>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<&mut str>>)
|
|
impl Type<&mut str> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b35Type$LT$$u5b$u8$u3b$$u20$0$u5d$$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<[u8; 0]>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<[u8; 0]>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMsm_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeAhj0_E)
|
|
//[v0]~| ERROR ::b::Type<[u8; 0usize]>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<[u8; 0]>>)
|
|
impl Type<[u8; 0]> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b22Type$LT$fn$LP$$RP$$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<fn()>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<fn()>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMsn_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeFEuE)
|
|
//[v0]~| ERROR ::b::Type<fn()>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<fn()>>)
|
|
impl Type<fn()> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b60Type$LT$unsafe$u20$extern$u20$$u22$C$u22$$u20$fn$LP$$RP$$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<unsafe extern "C" fn()>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<unsafe extern "C" fn()>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMso_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeFUKCEuE)
|
|
//[v0]~| ERROR ::b::Type<unsafe extern "C" fn()>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<unsafe extern "C" fn()>>)
|
|
impl Type<unsafe extern "C" fn()> {}
|
|
|
|
#[rustc_symbol_name]
|
|
//[legacy,verbose-legacy]~^ ERROR symbol-name(_ZN1a1b34Type$LT$$u5b$T$u3b$$u20$N$u5d$$GT$
|
|
//[legacy,verbose-legacy]~| ERROR demangling(a::b::Type<[T; N]>::
|
|
//[legacy,verbose-legacy]~| ERROR demangling-alt(a::b::Type<[T; N]>)
|
|
//[v0]~^^^^ ERROR symbol-name(_RMsp_NvCsCRATE_HASH_1a1bINtB<REF>_4TypeAppEB<REF>_)
|
|
//[v0]~| ERROR ::b::Type<[_; _]>>)
|
|
//[v0]~| ERROR demangling-alt(<a::b::Type<[_; _]>>)
|
|
impl<const N: usize, T> Type<[T; N]> {}
|
|
}
|
|
|
|
fn main() {}
|