]> git.proxmox.com Git - rustc.git/blame - src/test/ui/symbol-names/const-generics.rs
New upstream version 1.59.0+dfsg1
[rustc.git] / src / test / ui / symbol-names / const-generics.rs
CommitLineData
29967ef6
XL
1// check-pass
2// revisions: legacy v0
a2a8927a
XL
3//[legacy]compile-flags: -Z unstable-options -C symbol-mangling-version=legacy --crate-type=lib
4//[v0]compile-flags: -C symbol-mangling-version=v0 --crate-type=lib
29967ef6 5
5869c6ff
XL
6// `char`
7pub struct Char<const F: char>;
29967ef6 8
5869c6ff
XL
9impl Char<'A'> {
10 pub fn foo() {}
11}
29967ef6 12
5869c6ff
XL
13impl<const F: char> Char<F> {
14 pub fn bar() {}
15}
29967ef6 16
5869c6ff
XL
17// `i8`
18pub struct I8<const F: i8>;
29967ef6 19
5869c6ff
XL
20impl I8<{i8::MIN}> {
21 pub fn foo() {}
22}
29967ef6 23
5869c6ff
XL
24impl I8<{i8::MAX}> {
25 pub fn foo() {}
26}
29967ef6 27
5869c6ff
XL
28impl<const F: i8> I8<F> {
29 pub fn bar() {}
30}
29967ef6 31
5869c6ff
XL
32// `i16`
33pub struct I16<const F: i16>;
29967ef6 34
5869c6ff
XL
35impl I16<{i16::MIN}> {
36 pub fn foo() {}
37}
29967ef6 38
5869c6ff
XL
39impl<const F: i16> I16<F> {
40 pub fn bar() {}
41}
29967ef6 42
5869c6ff
XL
43// `i32`
44pub struct I32<const F: i32>;
29967ef6 45
5869c6ff
XL
46impl I32<{i32::MIN}> {
47 pub fn foo() {}
48}
29967ef6 49
5869c6ff
XL
50impl<const F: i32> I32<F> {
51 pub fn bar() {}
52}
29967ef6 53
5869c6ff
XL
54// `i64`
55pub struct I64<const F: i64>;
29967ef6 56
5869c6ff
XL
57impl I64<{i64::MIN}> {
58 pub fn foo() {}
59}
29967ef6 60
5869c6ff
XL
61impl<const F: i64> I64<F> {
62 pub fn bar() {}
63}
29967ef6 64
5869c6ff
XL
65// `i128`
66pub struct I128<const F: i128>;
29967ef6 67
5869c6ff
XL
68impl I128<{i128::MIN}> {
69 pub fn foo() {}
70}
29967ef6 71
5869c6ff
XL
72impl<const F: i128> I128<F> {
73 pub fn bar() {}
74}
29967ef6 75
5869c6ff
XL
76// `isize`
77pub struct ISize<const F: isize>;
29967ef6 78
5869c6ff
XL
79impl ISize<3> {
80 pub fn foo() {}
81}
29967ef6 82
5869c6ff
XL
83impl<const F: isize> ISize<F> {
84 pub fn bar() {}
85}