]> git.lizzy.rs Git - rust.git/blob - tests/ui/invalid_ref.rs
Adapt the *.stderr files of the ui-tests to the tool_lints
[rust.git] / tests / ui / invalid_ref.rs
1
2
3
4 #![allow(unused)]
5 #![feature(core_intrinsics)]
6
7 extern crate core;
8 use std::intrinsics::{init, uninit};
9
10 fn main() {
11     let x = 1; 
12     unsafe { 
13         ref_to_zeroed_std(&x);
14         ref_to_zeroed_core(&x);
15         ref_to_zeroed_intr(&x);
16         ref_to_uninit_std(&x);
17         ref_to_uninit_core(&x);
18         ref_to_uninit_intr(&x);
19         some_ref();
20         std_zeroed_no_ref();
21         core_zeroed_no_ref();
22         intr_init_no_ref();
23     }
24 }
25
26 unsafe fn ref_to_zeroed_std<T: ?Sized>(t: &T) {
27     let ref_zero: &T = std::mem::zeroed();     // warning
28 }
29
30 unsafe fn ref_to_zeroed_core<T: ?Sized>(t: &T) {
31     let ref_zero: &T = core::mem::zeroed();   // warning
32 }
33
34 unsafe fn ref_to_zeroed_intr<T: ?Sized>(t: &T) {
35     let ref_zero: &T = std::intrinsics::init();   // warning
36 }
37
38 unsafe fn ref_to_uninit_std<T: ?Sized>(t: &T) {
39     let ref_uninit: &T = std::mem::uninitialized();   // warning
40 }
41
42 unsafe fn ref_to_uninit_core<T: ?Sized>(t: &T) {
43     let ref_uninit: &T = core::mem::uninitialized();   // warning
44 }
45
46 unsafe fn ref_to_uninit_intr<T: ?Sized>(t: &T) {
47     let ref_uninit: &T = std::intrinsics::uninit();   // warning
48 }
49
50 fn some_ref() {
51     let some_ref = &1; 
52 }
53
54 unsafe fn std_zeroed_no_ref() {
55     let mem_zero: usize = std::mem::zeroed();  // no warning
56 }
57
58 unsafe fn core_zeroed_no_ref() {
59     let mem_zero: usize = core::mem::zeroed();  // no warning
60 }
61
62 unsafe fn intr_init_no_ref() {
63     let mem_zero: usize = std::intrinsics::init(); // no warning
64 }
65
66