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 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
//@ compile-flags: -Z deduplicate-diagnostics=yes
#![warn(unused_imports)]
use std::str::*;
//~^ NOTE `from_utf8` is imported here, but it is a function
//~| NOTE `from_utf8_mut` is imported here, but it is a function
//~| NOTE `from_utf8_unchecked` is imported here, but it is a function
mod hey {
pub trait Serialize {}
pub trait Deserialize {}
pub struct X(i32);
}
use hey::{Serialize, Deserialize, X};
//~^ NOTE `Serialize` is imported here, but it is only a trait, without a derive macro
//~| NOTE `Deserialize` is imported here, but it is a trait
//~| NOTE `X` is imported here, but it is a struct
#[derive(Serialize)]
//~^ ERROR cannot find derive macro `Serialize`
struct A;
#[derive(from_utf8_mut)]
//~^ ERROR cannot find derive macro `from_utf8_mut`
struct B;
#[derive(println)]
//~^ ERROR cannot find derive macro `println`
//~| NOTE `println` is in scope, but it is a function-like macro
struct C;
#[Deserialize]
//~^ ERROR cannot find attribute `Deserialize`
struct D;
#[from_utf8_unchecked]
//~^ ERROR cannot find attribute `from_utf8_unchecked`
struct E;
#[println]
//~^ ERROR cannot find attribute `println`
//~| NOTE `println` is in scope, but it is a function-like macro
struct F;
fn main() {
from_utf8!();
//~^ ERROR cannot find macro `from_utf8`
Box!();
//~^ ERROR cannot find macro `Box`
//~| NOTE `Box` is in scope, but it is a struct
Copy!();
//~^ ERROR cannot find macro `Copy`
//~| NOTE `Copy` is in scope, but it is a derive macro
test!();
//~^ ERROR cannot find macro `test`
//~| NOTE `test` is in scope, but it is an attribute
X!();
//~^ ERROR cannot find macro `X`
}
|