summaryrefslogtreecommitdiff
path: root/src/tools/clippy/tests/ui/unsafe_removed_from_name.rs
blob: e0e0ded140fc09d4c25df7a552edc4252f048ecd (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
#![allow(unused_imports)]
#![allow(dead_code)]
#![warn(clippy::unsafe_removed_from_name)]

use std::cell::UnsafeCell as TotallySafeCell;
//~^ ERROR: removed `unsafe` from the name of `UnsafeCell` in use as `TotallySafeCell`
//~| NOTE: `-D clippy::unsafe-removed-from-name` implied by `-D warnings`

use std::cell::UnsafeCell as TotallySafeCellAgain;
//~^ ERROR: removed `unsafe` from the name of `UnsafeCell` in use as `TotallySafeCellAgain

// Shouldn't error
use std::cell::RefCell as ProbablyNotUnsafe;

use std::cell::RefCell as RefCellThatCantBeUnsafe;

use std::cell::UnsafeCell as SuperDangerousUnsafeCell;

use std::cell::UnsafeCell as Dangerunsafe;

use std::cell::UnsafeCell as Bombsawayunsafe;

mod mod_with_some_unsafe_things {
    pub struct Safe;
    pub struct Unsafe;
}

use mod_with_some_unsafe_things::Unsafe as LieAboutModSafety;
//~^ ERROR: removed `unsafe` from the name of `Unsafe` in use as `LieAboutModSafety`

// merged imports
use mod_with_some_unsafe_things::{Unsafe as A, Unsafe as B};
//~^ ERROR: removed `unsafe` from the name of `Unsafe` in use as `A`
//~| ERROR: removed `unsafe` from the name of `Unsafe` in use as `B`

// Shouldn't error
use mod_with_some_unsafe_things::Safe as IPromiseItsSafeThisTime;

use mod_with_some_unsafe_things::Unsafe as SuperUnsafeModThing;

#[allow(clippy::unsafe_removed_from_name)]
use mod_with_some_unsafe_things::Unsafe as SuperSafeThing;

fn main() {}