2018-05-11 17:02:17 +00:00
|
|
|
// aux-build:edition-lint-paths.rs
|
|
|
|
// run-rustfix
|
|
|
|
|
|
|
|
#![feature(rust_2018_preview)]
|
2018-05-18 22:13:53 +00:00
|
|
|
#![deny(absolute_paths_not_starting_with_crate)]
|
2018-04-20 23:30:14 +00:00
|
|
|
#![allow(unused)]
|
|
|
|
|
2018-05-11 17:02:17 +00:00
|
|
|
extern crate edition_lint_paths;
|
|
|
|
|
2018-04-20 23:30:14 +00:00
|
|
|
pub mod foo {
|
2018-05-11 17:02:17 +00:00
|
|
|
use edition_lint_paths;
|
2018-04-20 23:30:14 +00:00
|
|
|
use ::bar::Bar;
|
2018-05-11 17:02:17 +00:00
|
|
|
//~^ ERROR absolute
|
2021-06-15 15:16:21 +00:00
|
|
|
//~| WARN this is valid in the current edition
|
2018-04-20 23:30:14 +00:00
|
|
|
use super::bar::Bar2;
|
|
|
|
use crate::bar::Bar3;
|
|
|
|
|
2018-05-11 17:02:17 +00:00
|
|
|
use bar;
|
|
|
|
//~^ ERROR absolute
|
2021-06-15 15:16:21 +00:00
|
|
|
//~| WARN this is valid in the current edition
|
2018-05-11 17:02:17 +00:00
|
|
|
use crate::{bar as something_else};
|
|
|
|
|
|
|
|
use {Bar as SomethingElse, main};
|
|
|
|
//~^ ERROR absolute
|
2021-06-15 15:16:21 +00:00
|
|
|
//~| WARN this is valid in the current edition
|
2018-05-11 17:02:17 +00:00
|
|
|
|
|
|
|
use crate::{Bar as SomethingElse2, main as another_main};
|
|
|
|
|
|
|
|
pub fn test() {
|
|
|
|
}
|
2018-05-22 15:45:44 +00:00
|
|
|
|
|
|
|
pub trait SomeTrait { }
|
2018-05-11 17:02:17 +00:00
|
|
|
}
|
2018-04-20 23:30:14 +00:00
|
|
|
|
|
|
|
use bar::Bar;
|
2018-05-11 17:02:17 +00:00
|
|
|
//~^ ERROR absolute
|
2021-06-15 15:16:21 +00:00
|
|
|
//~| WARN this is valid in the current edition
|
2018-04-20 23:30:14 +00:00
|
|
|
|
|
|
|
pub mod bar {
|
2018-05-11 17:02:17 +00:00
|
|
|
use edition_lint_paths as foo;
|
2018-04-20 23:30:14 +00:00
|
|
|
pub struct Bar;
|
|
|
|
pub type Bar2 = Bar;
|
|
|
|
pub type Bar3 = Bar;
|
|
|
|
}
|
|
|
|
|
2018-05-11 17:02:17 +00:00
|
|
|
mod baz {
|
|
|
|
use *;
|
|
|
|
//~^ ERROR absolute
|
2021-06-15 15:16:21 +00:00
|
|
|
//~| WARN this is valid in the current edition
|
2018-05-11 17:02:17 +00:00
|
|
|
}
|
|
|
|
|
2018-05-22 15:45:44 +00:00
|
|
|
impl ::foo::SomeTrait for u32 { }
|
|
|
|
//~^ ERROR absolute
|
2021-06-15 15:16:21 +00:00
|
|
|
//~| WARN this is valid in the current edition
|
2018-05-22 15:45:44 +00:00
|
|
|
|
2018-04-20 23:30:14 +00:00
|
|
|
fn main() {
|
|
|
|
let x = ::bar::Bar;
|
2018-05-11 17:02:17 +00:00
|
|
|
//~^ ERROR absolute
|
2021-06-15 15:16:21 +00:00
|
|
|
//~| WARN this is valid in the current edition
|
2018-04-20 23:30:14 +00:00
|
|
|
let x = bar::Bar;
|
2018-08-14 09:54:43 +00:00
|
|
|
let x = crate::bar::Bar;
|
2018-04-20 23:30:14 +00:00
|
|
|
let x = self::bar::Bar;
|
2018-05-11 17:02:17 +00:00
|
|
|
foo::test();
|
|
|
|
|
|
|
|
{
|
|
|
|
use edition_lint_paths as bar;
|
|
|
|
edition_lint_paths::foo();
|
|
|
|
bar::foo();
|
|
|
|
::edition_lint_paths::foo();
|
|
|
|
}
|
2018-04-20 23:30:14 +00:00
|
|
|
}
|