]> git.proxmox.com Git - rustc.git/blame - src/test/ui/lint/lint-strict-provenance-lossy-casts.rs
New upstream version 1.66.0+dfsg1
[rustc.git] / src / test / ui / lint / lint-strict-provenance-lossy-casts.rs
CommitLineData
04454e1e
FG
1#![feature(strict_provenance)]
2#![deny(lossy_provenance_casts)]
3
4fn main() {
5 let x: u8 = 37;
6 let addr: usize = &x as *const u8 as usize;
7 //~^ ERROR under strict provenance it is considered bad style to cast pointer `*const u8` to integer `usize`
8
9 let addr_32bit = &x as *const u8 as u32;
10 //~^ ERROR under strict provenance it is considered bad style to cast pointer `*const u8` to integer `u32`
11
12 // don't add unnecessary parens in the suggestion
13 let ptr = &x as *const u8;
14 let ptr_addr = ptr as usize;
15 //~^ ERROR under strict provenance it is considered bad style to cast pointer `*const u8` to integer `usize`
16 let ptr_addr_32bit = ptr as u32;
17 //~^ ERROR under strict provenance it is considered bad style to cast pointer `*const u8` to integer `u32`
18}