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