os-rust/tests/ui/lint/lint-qualification.rs

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

52 lines
1.3 KiB
Rust
Raw Normal View History

//@ run-rustfix
2014-10-27 15:37:07 -07:00
#![deny(unused_qualifications)]
2024-03-11 22:39:02 +08:00
#![deny(unused_imports)]
#![allow(deprecated, dead_code)]
mod foo {
pub fn bar() {}
}
fn main() {
use foo::bar;
foo::bar(); //~ ERROR: unnecessary qualification
crate::foo::bar(); //~ ERROR: unnecessary qualification
bar();
2016-10-22 22:08:08 +00:00
let _ = || -> Result<(), ()> { try!(Ok(())); Ok(()) }; // issue #37345
2016-10-22 22:08:08 +00:00
let _ = std::string::String::new(); //~ ERROR: unnecessary qualification
let _: std::vec::Vec<String> = std::vec::Vec::<String>::new();
//~^ ERROR: unnecessary qualification
//~| ERROR: unnecessary qualification
use std::fmt;
2024-03-11 22:39:02 +08:00
//~^ ERROR: unused import: `std::fmt`
let _: std::fmt::Result = Ok(());
// don't report unnecessary qualification because fix(#122373) for issue #121331
let _ = <bool as std::default::Default>::default(); // issue #121999 (modified)
//~^ ERROR: unnecessary qualification
macro_rules! m { ($a:ident, $b:ident) => {
$crate::foo::bar(); // issue #37357
::foo::bar(); // issue #38682
foo::bar();
foo::$b(); // issue #96698
$a::bar();
$a::$b();
} }
m!(foo, bar);
}
mod conflicting_names {
mod std {}
mod cell {}
fn f() {
let _ = ::std::env::current_dir();
let _ = core::cell::Cell::new(1);
}
}