| //@ check-pass | |
| //@ revisions: legacy v0 | |
| //@[legacy]compile-flags: -Z unstable-options -C symbol-mangling-version=legacy --crate-type=lib | |
| //@[v0]compile-flags: -C symbol-mangling-version=v0 --crate-type=lib | |
| // `char` | |
| pub struct Char<const F: char>; | |
| impl Char<'A'> { | |
| pub fn foo() {} | |
| } | |
| impl<const F: char> Char<F> { | |
| pub fn bar() {} | |
| } | |
| // `i8` | |
| pub struct I8<const F: i8>; | |
| impl I8<{i8::MIN}> { | |
| pub fn foo() {} | |
| } | |
| impl I8<{i8::MAX}> { | |
| pub fn foo() {} | |
| } | |
| impl<const F: i8> I8<F> { | |
| pub fn bar() {} | |
| } | |
| // `i16` | |
| pub struct I16<const F: i16>; | |
| impl I16<{i16::MIN}> { | |
| pub fn foo() {} | |
| } | |
| impl<const F: i16> I16<F> { | |
| pub fn bar() {} | |
| } | |
| // `i32` | |
| pub struct I32<const F: i32>; | |
| impl I32<{i32::MIN}> { | |
| pub fn foo() {} | |
| } | |
| impl<const F: i32> I32<F> { | |
| pub fn bar() {} | |
| } | |
| // `i64` | |
| pub struct I64<const F: i64>; | |
| impl I64<{i64::MIN}> { | |
| pub fn foo() {} | |
| } | |
| impl<const F: i64> I64<F> { | |
| pub fn bar() {} | |
| } | |
| // `i128` | |
| pub struct I128<const F: i128>; | |
| impl I128<{i128::MIN}> { | |
| pub fn foo() {} | |
| } | |
| impl<const F: i128> I128<F> { | |
| pub fn bar() {} | |
| } | |
| // `isize` | |
| pub struct ISize<const F: isize>; | |
| impl ISize<3> { | |
| pub fn foo() {} | |
| } | |
| impl<const F: isize> ISize<F> { | |
| pub fn bar() {} | |
| } |