forked from rust-lang/rust
-
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Auto merge of rust-lang#11456 - tom-anders:std_instead_of_core_sugges…
…tion, r=Manishearth Add suggestions for std_instead_of_core ``` changelog: [`std_instead_of_core`]: add suggestions ``` Fixes rust-lang#11446
- Loading branch information
Showing
4 changed files
with
101 additions
and
59 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
#![warn(clippy::std_instead_of_core)] | ||
#![allow(unused_imports)] | ||
|
||
extern crate alloc; | ||
|
||
#[warn(clippy::std_instead_of_core)] | ||
fn std_instead_of_core() { | ||
// Regular import | ||
use core::hash::Hasher; | ||
//~^ ERROR: used import from `std` instead of `core` | ||
// Absolute path | ||
use ::core::hash::Hash; | ||
//~^ ERROR: used import from `std` instead of `core` | ||
// Don't lint on `env` macro | ||
use std::env; | ||
|
||
// Multiple imports | ||
use core::fmt::{Debug, Result}; | ||
//~^ ERROR: used import from `std` instead of `core` | ||
|
||
// Function calls | ||
let ptr = core::ptr::null::<u32>(); | ||
//~^ ERROR: used import from `std` instead of `core` | ||
let ptr_mut = ::core::ptr::null_mut::<usize>(); | ||
//~^ ERROR: used import from `std` instead of `core` | ||
|
||
// Types | ||
let cell = core::cell::Cell::new(8u32); | ||
//~^ ERROR: used import from `std` instead of `core` | ||
let cell_absolute = ::core::cell::Cell::new(8u32); | ||
//~^ ERROR: used import from `std` instead of `core` | ||
|
||
let _ = std::env!("PATH"); | ||
|
||
// do not lint until `error_in_core` is stable | ||
use std::error::Error; | ||
|
||
// lint items re-exported from private modules, `core::iter::traits::iterator::Iterator` | ||
use core::iter::Iterator; | ||
//~^ ERROR: used import from `std` instead of `core` | ||
} | ||
|
||
#[warn(clippy::std_instead_of_alloc)] | ||
fn std_instead_of_alloc() { | ||
// Only lint once. | ||
use alloc::vec; | ||
//~^ ERROR: used import from `std` instead of `alloc` | ||
use alloc::vec::Vec; | ||
//~^ ERROR: used import from `std` instead of `alloc` | ||
} | ||
|
||
#[warn(clippy::alloc_instead_of_core)] | ||
fn alloc_instead_of_core() { | ||
use core::slice::from_ref; | ||
//~^ ERROR: used import from `alloc` instead of `core` | ||
} | ||
|
||
fn main() { | ||
std_instead_of_core(); | ||
std_instead_of_alloc(); | ||
alloc_instead_of_core(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters