| //@ 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` |
| } |