1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85
|
//@ 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() {}
}
|