]> git.lizzy.rs Git - rust.git/blob - src/test/debuginfo/numeric-types.rs
Rollup merge of #100458 - compiler-errors:fn-argument-span, r=estebank
[rust.git] / src / test / debuginfo / numeric-types.rs
1 // only-cdb
2 // compile-flags:-g
3
4 // Tests the visualizations for `NonZero{I,U}{8,16,32,64,128,size}`, `Wrapping<T>` and
5 // `Atomic{Bool,I8,I16,I32,I64,Isize,U8,U16,U32,U64,Usize}` located in `libcore.natvis`.
6
7 // === CDB TESTS ==================================================================================
8 // cdb-command: g
9
10 // cdb-command: dx nz_i8
11 // cdb-check:nz_i8            : 11 [Type: core::num::nonzero::NonZeroI8]
12 // cdb-check:    [<Raw View>]     [Type: core::num::nonzero::NonZeroI8]
13
14 // cdb-command: dx nz_i16
15 // cdb-check:nz_i16           : 22 [Type: core::num::nonzero::NonZeroI16]
16 // cdb-check:    [<Raw View>]     [Type: core::num::nonzero::NonZeroI16]
17
18 // cdb-command: dx nz_i32
19 // cdb-check:nz_i32           : 33 [Type: core::num::nonzero::NonZeroI32]
20 // cdb-check:    [<Raw View>]     [Type: core::num::nonzero::NonZeroI32]
21
22 // cdb-command: dx nz_i64
23 // cdb-check:nz_i64           : 44 [Type: core::num::nonzero::NonZeroI64]
24 // cdb-check:    [<Raw View>]     [Type: core::num::nonzero::NonZeroI64]
25
26 // 128-bit integers don't seem to work in CDB
27 // cdb-command: dx nz_i128
28 // cdb-check:    [<Raw View>]     [Type: core::num::nonzero::NonZeroI128]
29
30 // cdb-command: dx nz_isize
31 // cdb-check:nz_isize         : 66 [Type: core::num::nonzero::NonZeroIsize]
32 // cdb-check:    [<Raw View>]     [Type: core::num::nonzero::NonZeroIsize]
33
34 // cdb-command: dx nz_u8
35 // cdb-check:nz_u8            : 0x4d [Type: core::num::nonzero::NonZeroU8]
36 // cdb-check:    [<Raw View>]     [Type: core::num::nonzero::NonZeroU8]
37
38 // cdb-command: dx nz_u16
39 // cdb-check:nz_u16           : 0x58 [Type: core::num::nonzero::NonZeroU16]
40 // cdb-check:    [<Raw View>]     [Type: core::num::nonzero::NonZeroU16]
41
42 // cdb-command: dx nz_u32
43 // cdb-check:nz_u32           : 0x63 [Type: core::num::nonzero::NonZeroU32]
44 // cdb-check:    [<Raw View>]     [Type: core::num::nonzero::NonZeroU32]
45
46 // cdb-command: dx nz_u64
47 // cdb-check:nz_u64           : 0x64 [Type: core::num::nonzero::NonZeroU64]
48 // cdb-check:    [<Raw View>]     [Type: core::num::nonzero::NonZeroU64]
49
50 // 128-bit integers don't seem to work in CDB
51 // cdb-command: dx nz_u128
52 // cdb-check:    [<Raw View>]     [Type: core::num::nonzero::NonZeroU128]
53
54 // cdb-command: dx nz_usize
55 // cdb-check:nz_usize         : 0x7a [Type: core::num::nonzero::NonZeroUsize]
56 // cdb-check:    [<Raw View>]     [Type: core::num::nonzero::NonZeroUsize]
57
58 // cdb-command: dx w_i8
59 // cdb-check:w_i8             : 10 [Type: core::num::wrapping::Wrapping<i8>]
60 // cdb-check:    [<Raw View>]     [Type: core::num::wrapping::Wrapping<i8>]
61
62 // cdb-command: dx w_i16
63 // cdb-check:w_i16            : 20 [Type: core::num::wrapping::Wrapping<i16>]
64 // cdb-check:    [<Raw View>]     [Type: core::num::wrapping::Wrapping<i16>]
65
66 // cdb-command: dx w_i32
67 // cdb-check:w_i32            : 30 [Type: core::num::wrapping::Wrapping<i32>]
68 // cdb-check:    [<Raw View>]     [Type: core::num::wrapping::Wrapping<i32>]
69
70 // cdb-command: dx w_i64
71 // cdb-check:w_i64            : 40 [Type: core::num::wrapping::Wrapping<i64>]
72 // cdb-check:    [<Raw View>]     [Type: core::num::wrapping::Wrapping<i64>]
73
74 // 128-bit integers don't seem to work in CDB
75 // cdb-command: dx w_i128
76 // cdb-check:w_i128           [Type: core::num::wrapping::Wrapping<i128>]
77 // cdb-check:    [<Raw View>]     [Type: core::num::wrapping::Wrapping<i128>]
78
79 // cdb-command: dx w_isize
80 // cdb-check:w_isize          : 60 [Type: core::num::wrapping::Wrapping<isize>]
81 // cdb-check:    [<Raw View>]     [Type: core::num::wrapping::Wrapping<isize>]
82
83 // cdb-command: dx w_u8
84 // cdb-check:w_u8             : 0x46 [Type: core::num::wrapping::Wrapping<u8>]
85 // cdb-check:    [<Raw View>]     [Type: core::num::wrapping::Wrapping<u8>]
86
87 // cdb-command: dx w_u16
88 // cdb-check:w_u16            : 0x50 [Type: core::num::wrapping::Wrapping<u16>]
89 // cdb-check:    [<Raw View>]     [Type: core::num::wrapping::Wrapping<u16>]
90
91 // cdb-command: dx w_u32
92 // cdb-check:w_u32            : 0x5a [Type: core::num::wrapping::Wrapping<u32>]
93 // cdb-check:    [<Raw View>]     [Type: core::num::wrapping::Wrapping<u32>]
94
95 // cdb-command: dx w_u64
96 // cdb-check:w_u64            : 0x64 [Type: core::num::wrapping::Wrapping<u64>]
97 // cdb-check:    [<Raw View>]     [Type: core::num::wrapping::Wrapping<u64>]
98
99 // 128-bit integers don't seem to work in CDB
100 // cdb-command: dx w_u128
101 // cdb-check:w_u128           [Type: core::num::wrapping::Wrapping<u128>]
102 // cdb-check:    [<Raw View>]     [Type: core::num::wrapping::Wrapping<u128>]
103
104 // cdb-command: dx w_usize
105 // cdb-check:w_usize          : 0x78 [Type: core::num::wrapping::Wrapping<usize>]
106 // cdb-check:    [<Raw View>]     [Type: core::num::wrapping::Wrapping<usize>]
107
108 // cdb-command: dx a_bool_t
109 // cdb-check:a_bool_t         : true [Type: core::sync::atomic::AtomicBool]
110 // cdb-check:    [<Raw View>]     [Type: core::sync::atomic::AtomicBool]
111
112 // cdb-command: dx a_bool_f
113 // cdb-check:a_bool_f         : false [Type: core::sync::atomic::AtomicBool]
114 // cdb-check:    [<Raw View>]     [Type: core::sync::atomic::AtomicBool]
115
116 // cdb-command: dx a_i8
117 // cdb-check:a_i8             : 2 [Type: core::sync::atomic::AtomicI8]
118 // cdb-check:    [<Raw View>]     [Type: core::sync::atomic::AtomicI8]
119
120 // cdb-command: dx a_i16
121 // cdb-check:a_i16            : 4 [Type: core::sync::atomic::AtomicI16]
122 // cdb-check:    [<Raw View>]     [Type: core::sync::atomic::AtomicI16]
123
124 // cdb-command: dx a_i32
125 // cdb-check:a_i32            : 8 [Type: core::sync::atomic::AtomicI32]
126 // cdb-check:    [<Raw View>]     [Type: core::sync::atomic::AtomicI32]
127
128 // cdb-command: dx a_i64
129 // cdb-check:a_i64            : 16 [Type: core::sync::atomic::AtomicI64]
130 // cdb-check:    [<Raw View>]     [Type: core::sync::atomic::AtomicI64]
131
132 // cdb-command: dx a_isize
133 // cdb-check:a_isize          : 32 [Type: core::sync::atomic::AtomicIsize]
134 // cdb-check:    [<Raw View>]     [Type: core::sync::atomic::AtomicIsize]
135
136 // cdb-command: dx a_u8
137 // cdb-check:a_u8             : 0x40 [Type: core::sync::atomic::AtomicU8]
138 // cdb-check:    [<Raw View>]     [Type: core::sync::atomic::AtomicU8]
139
140 // cdb-command: dx a_u16
141 // cdb-check:a_u16            : 0x80 [Type: core::sync::atomic::AtomicU16]
142 // cdb-check:    [<Raw View>]     [Type: core::sync::atomic::AtomicU16]
143
144 // cdb-command: dx a_u32
145 // cdb-check:a_u32            : 0x100 [Type: core::sync::atomic::AtomicU32]
146 // cdb-check:    [<Raw View>]     [Type: core::sync::atomic::AtomicU32]
147
148 // cdb-command: dx a_u64
149 // cdb-check:a_u64            : 0x200 [Type: core::sync::atomic::AtomicU64]
150 // cdb-check:    [<Raw View>]     [Type: core::sync::atomic::AtomicU64]
151
152 // cdb-command: dx a_usize
153 // cdb-check:a_usize          : 0x400 [Type: core::sync::atomic::AtomicUsize]
154 // cdb-check:    [<Raw View>]     [Type: core::sync::atomic::AtomicUsize]
155
156 use std::num::*;
157 use std::sync::atomic::*;
158
159 fn main() {
160     let nz_i8 = NonZeroI8::new(11).unwrap();
161     let nz_i16 = NonZeroI16::new(22).unwrap();
162     let nz_i32 = NonZeroI32::new(33).unwrap();
163     let nz_i64 = NonZeroI64::new(44).unwrap();
164     let nz_i128 = NonZeroI128::new(55).unwrap();
165     let nz_isize = NonZeroIsize::new(66).unwrap();
166
167     let nz_u8 = NonZeroU8::new(77).unwrap();
168     let nz_u16 = NonZeroU16::new(88).unwrap();
169     let nz_u32 = NonZeroU32::new(99).unwrap();
170     let nz_u64 = NonZeroU64::new(100).unwrap();
171     let nz_u128 = NonZeroU128::new(111).unwrap();
172     let nz_usize = NonZeroUsize::new(122).unwrap();
173
174     let w_i8 = Wrapping(10i8);
175     let w_i16 = Wrapping(20i16);
176     let w_i32 = Wrapping(30i32);
177     let w_i64 = Wrapping(40i64);
178     let w_i128 = Wrapping(50i128);
179     let w_isize = Wrapping(60isize);
180
181     let w_u8 = Wrapping(70u8);
182     let w_u16 = Wrapping(80u16);
183     let w_u32 = Wrapping(90u32);
184     let w_u64 = Wrapping(100u64);
185     let w_u128 = Wrapping(110u128);
186     let w_usize = Wrapping(120usize);
187
188     let a_bool_t = AtomicBool::new(true);
189     let a_bool_f = AtomicBool::new(false);
190
191     let a_i8 = AtomicI8::new(2);
192     let a_i16 = AtomicI16::new(4);
193     let a_i32 = AtomicI32::new(8);
194     let a_i64 = AtomicI64::new(16);
195     let a_isize = AtomicIsize::new(32);
196
197     let a_u8 = AtomicU8::new(64);
198     let a_u16 = AtomicU16::new(128);
199     let a_u32 = AtomicU32::new(256);
200     let a_u64 = AtomicU64::new(512);
201     let a_usize = AtomicUsize::new(1024);
202
203     zzz(); // #break
204 }
205
206 fn zzz() { }