2018-04-20 18:30:14 -05:00
|
|
|
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
|
|
|
|
// file at the top-level directory of this distribution and at
|
|
|
|
// http://rust-lang.org/COPYRIGHT.
|
|
|
|
//
|
|
|
|
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
|
|
|
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
|
|
|
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
|
|
|
// option. This file may not be copied, modified, or distributed
|
|
|
|
// except according to those terms.
|
|
|
|
|
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;
|
2018-04-20 18:30:14 -05:00
|
|
|
use ::bar::Bar;
|
2018-05-11 12:02:17 -05:00
|
|
|
//~^ ERROR absolute
|
2018-04-20 18:30:14 -05:00
|
|
|
//~| WARN this was previously accepted
|
|
|
|
use super::bar::Bar2;
|
|
|
|
use crate::bar::Bar3;
|
|
|
|
|
2018-05-11 12:02:17 -05:00
|
|
|
use bar;
|
|
|
|
//~^ ERROR absolute
|
|
|
|
//~| WARN this was previously accepted
|
|
|
|
use crate::{bar as something_else};
|
|
|
|
|
|
|
|
use {Bar as SomethingElse, main};
|
|
|
|
//~^ ERROR absolute
|
|
|
|
//~| WARN this was previously accepted
|
|
|
|
|
|
|
|
use crate::{Bar as SomethingElse2, main as another_main};
|
|
|
|
|
|
|
|
pub fn test() {
|
|
|
|
}
|
2018-05-22 10:45: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
|
2018-04-20 18:30:14 -05:00
|
|
|
//~| WARN this was previously accepted
|
|
|
|
|
|
|
|
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
|
|
|
|
//~| WARN this was previously accepted
|
|
|
|
}
|
|
|
|
|
2018-05-22 10:45:44 -05:00
|
|
|
impl ::foo::SomeTrait for u32 { }
|
|
|
|
//~^ ERROR absolute
|
|
|
|
//~| WARN this was previously accepted
|
|
|
|
|
2018-04-20 18:30:14 -05:00
|
|
|
fn main() {
|
|
|
|
let x = ::bar::Bar;
|
2018-05-11 12:02:17 -05:00
|
|
|
//~^ ERROR absolute
|
2018-04-20 18:30:14 -05:00
|
|
|
//~| WARN this was previously accepted
|
|
|
|
let x = bar::Bar;
|
|
|
|
let x = ::crate::bar::Bar;
|
|
|
|
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
|
|
|
}
|