summaryrefslogtreecommitdiffstats
path: root/tests/ui/lint/lint-strict-provenance-lossy-casts.stderr
blob: aa151fe2d214eeffbe3ca685f8f2e90a1e5e7759 (plain)
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
error: under strict provenance it is considered bad style to cast pointer `*const u8` to integer `usize`
  --> $DIR/lint-strict-provenance-lossy-casts.rs:6:23
   |
LL |     let addr: usize = &x as *const u8 as usize;
   |                       ^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: if you can't comply with strict provenance and need to expose the pointer provenance you can use `.expose_addr()` instead
note: the lint level is defined here
  --> $DIR/lint-strict-provenance-lossy-casts.rs:2:9
   |
LL | #![deny(lossy_provenance_casts)]
   |         ^^^^^^^^^^^^^^^^^^^^^^
help: use `.addr()` to obtain the address of a pointer
   |
LL |     let addr: usize = (&x as *const u8).addr();
   |                       +               ~~~~~~~~

error: under strict provenance it is considered bad style to cast pointer `*const u8` to integer `u32`
  --> $DIR/lint-strict-provenance-lossy-casts.rs:9:22
   |
LL |     let addr_32bit = &x as *const u8 as u32;
   |                      ^^^^^^^^^^^^^^^^^^^^^^
   |
   = help: if you can't comply with strict provenance and need to expose the pointer provenance you can use `.expose_addr()` instead
help: use `.addr()` to obtain the address of a pointer
   |
LL |     let addr_32bit = (&x as *const u8).addr() as u32;
   |                      +               ~~~~~~~~~~~~~~~

error: under strict provenance it is considered bad style to cast pointer `*const u8` to integer `usize`
  --> $DIR/lint-strict-provenance-lossy-casts.rs:14:20
   |
LL |     let ptr_addr = ptr as usize;
   |                    ^^^---------
   |                       |
   |                       help: use `.addr()` to obtain the address of a pointer: `.addr()`
   |
   = help: if you can't comply with strict provenance and need to expose the pointer provenance you can use `.expose_addr()` instead

error: under strict provenance it is considered bad style to cast pointer `*const u8` to integer `u32`
  --> $DIR/lint-strict-provenance-lossy-casts.rs:16:26
   |
LL |     let ptr_addr_32bit = ptr as u32;
   |                          ^^^-------
   |                             |
   |                             help: use `.addr()` to obtain the address of a pointer: `.addr() as u32`
   |
   = help: if you can't comply with strict provenance and need to expose the pointer provenance you can use `.expose_addr()` instead

error: aborting due to 4 previous errors