rollup merge of #20179: eddyb/blind-items
Conflicts: src/librustc/diagnostics.rs src/librustdoc/clean/mod.rs src/librustdoc/html/format.rs src/libsyntax/parse/parser.rs
This commit is contained in:
commit
df1cddf20a
60 changed files with 1098 additions and 1520 deletions
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
|
||||
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
|
|
@ -8,8 +8,6 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
pub extern crate core; //~ ERROR: `pub` visibility is not allowed
|
||||
#![crate_type="lib"]
|
||||
|
||||
fn main() {
|
||||
pub use std::usize; //~ ERROR: imports in functions are never reachable
|
||||
}
|
||||
pub const X: () = ();
|
||||
13
src/test/auxiliary/blind-item-mixed-crate-use-item-foo2.rs
Normal file
13
src/test/auxiliary/blind-item-mixed-crate-use-item-foo2.rs
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
// Copyright 2015 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.
|
||||
|
||||
#![crate_type="lib"]
|
||||
|
||||
pub const Y: () = ();
|
||||
|
|
@ -11,8 +11,7 @@
|
|||
// aux-build:macro_crate_test.rs
|
||||
// ignore-stage1
|
||||
|
||||
#[plugin] #[no_link]
|
||||
#[plugin] #[no_link] extern crate macro_crate_test;
|
||||
//~^ ERROR compiler plugins are experimental and possibly buggy
|
||||
extern crate macro_crate_test;
|
||||
|
||||
fn main() {}
|
||||
|
|
|
|||
20
src/test/compile-fail/blind-item-block-item-shadow.rs
Normal file
20
src/test/compile-fail/blind-item-block-item-shadow.rs
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright 2015 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.
|
||||
|
||||
mod foo { pub struct Bar; }
|
||||
|
||||
fn main() {
|
||||
{
|
||||
struct Bar;
|
||||
use foo::Bar;
|
||||
//~^ ERROR import `Bar` conflicts with type in this module
|
||||
//~^^ ERROR import `Bar` conflicts with value in this module
|
||||
}
|
||||
}
|
||||
18
src/test/compile-fail/blind-item-block-middle.rs
Normal file
18
src/test/compile-fail/blind-item-block-middle.rs
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright 2015 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.
|
||||
|
||||
mod foo { struct bar; }
|
||||
|
||||
fn main() {
|
||||
let bar = 5;
|
||||
//~^ ERROR declaration of `bar` shadows an enum variant or unit-like struct in scope
|
||||
use foo::bar;
|
||||
//~^ ERROR imports are not allowed after non-item statements
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
|
||||
// Copyright 2015 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
|
|
@ -8,12 +8,8 @@
|
|||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
extern crate test;
|
||||
mod foo { pub mod foo { } }
|
||||
|
||||
fn f() {
|
||||
}
|
||||
use foo::foo; //~ ERROR import `foo` conflicts with existing submodule
|
||||
|
||||
use test::net; //~ ERROR `use` and `extern crate` declarations must precede items
|
||||
|
||||
fn main() {
|
||||
}
|
||||
fn main() {}
|
||||
20
src/test/compile-fail/blind-item-local-shadow.rs
Normal file
20
src/test/compile-fail/blind-item-local-shadow.rs
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright 2015 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.
|
||||
|
||||
mod bar {
|
||||
pub fn foo() -> bool { true }
|
||||
}
|
||||
|
||||
fn main() {
|
||||
let foo = |&:| false;
|
||||
use bar::foo;
|
||||
//~^ ERROR imports are not allowed after non-item statements
|
||||
assert_eq!(foo(), false);
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright 2013 The Rust Project Developers. See the COPYRIGHT
|
||||
// Copyright 2013-2014 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
|
|
@ -9,6 +9,7 @@
|
|||
// except according to those terms.
|
||||
|
||||
fn main() {
|
||||
pub use std::uint; //~ ERROR: visibility has no effect
|
||||
pub struct A; //~ ERROR: visibility has no effect
|
||||
pub enum B {} //~ ERROR: visibility has no effect
|
||||
pub trait C { //~ ERROR: visibility has no effect
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
#![no_std]
|
||||
#[macro_use]
|
||||
extern crate "std" as std;
|
||||
#[prelude_import]
|
||||
use std::prelude::v1::*;
|
||||
#[macro_use]
|
||||
extern crate "std" as std;
|
||||
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
|
|
|
|||
33
src/test/run-pass/blind-item-mixed-crate-use-item.rs
Normal file
33
src/test/run-pass/blind-item-mixed-crate-use-item.rs
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
// Copyright 2015 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.
|
||||
|
||||
// aux-build:blind-item-mixed-crate-use-item-foo.rs
|
||||
// aux-build:blind-item-mixed-crate-use-item-foo2.rs
|
||||
|
||||
mod m {
|
||||
pub fn f<T>(_: T, _: (), _: ()) { }
|
||||
pub fn g<T>(_: T, _: (), _: ()) { }
|
||||
}
|
||||
|
||||
const BAR: () = ();
|
||||
struct Data;
|
||||
use m::f;
|
||||
extern crate "blind-item-mixed-crate-use-item-foo" as foo;
|
||||
|
||||
fn main() {
|
||||
const BAR2: () = ();
|
||||
struct Data2;
|
||||
use m::g;
|
||||
|
||||
extern crate "blind-item-mixed-crate-use-item-foo2" as foo2;
|
||||
|
||||
f(Data, BAR, foo::X);
|
||||
g(Data2, BAR2, foo2::Y);
|
||||
}
|
||||
27
src/test/run-pass/blind-item-mixed-use-item.rs
Normal file
27
src/test/run-pass/blind-item-mixed-use-item.rs
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
// Copyright 2015 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.
|
||||
|
||||
mod m {
|
||||
pub fn f<T>(_: T, _: ()) { }
|
||||
pub fn g<T>(_: T, _: ()) { }
|
||||
}
|
||||
|
||||
const BAR: () = ();
|
||||
struct Data;
|
||||
use m::f;
|
||||
|
||||
fn main() {
|
||||
const BAR2: () = ();
|
||||
struct Data2;
|
||||
use m::g;
|
||||
|
||||
f(Data, BAR);
|
||||
g(Data2, BAR2);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue