rust/tests/ui/transmute_int_to_char_no_std.rs

29 lines
759 B
Rust

#![no_std]
#![feature(lang_items)]
#![warn(clippy::transmute_int_to_char)]
#![allow(clippy::missing_transmute_annotations)]
use core::panic::PanicInfo;
#[lang = "eh_personality"]
extern "C" fn eh_personality() {}
#[panic_handler]
fn panic(info: &PanicInfo) -> ! {
loop {}
}
fn int_to_char() {
let _: char = unsafe { core::mem::transmute(0_u32) };
//~^ ERROR: transmute from a `u32` to a `char`
//~| NOTE: `-D clippy::transmute-int-to-char` implied by `-D warnings`
let _: char = unsafe { core::mem::transmute(0_i32) };
//~^ ERROR: transmute from a `i32` to a `char`
// These shouldn't warn
const _: char = unsafe { core::mem::transmute(0_u32) };
const _: char = unsafe { core::mem::transmute(0_i32) };
}
fn main() {}