Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

de-orphan extended information #43709

Merged
merged 3 commits into from
Aug 7, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions src/librustc_driver/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1207,6 +1207,10 @@ pub fn diagnostics_registry() -> errors::registry::Registry {
all_errors.extend_from_slice(&rustc_trans::DIAGNOSTICS);
all_errors.extend_from_slice(&rustc_const_eval::DIAGNOSTICS);
all_errors.extend_from_slice(&rustc_metadata::DIAGNOSTICS);
all_errors.extend_from_slice(&rustc_passes::DIAGNOSTICS);
all_errors.extend_from_slice(&rustc_plugin::DIAGNOSTICS);
all_errors.extend_from_slice(&rustc_mir::DIAGNOSTICS);
all_errors.extend_from_slice(&syntax::DIAGNOSTICS);

Registry::new(&all_errors)
}
Expand Down
14 changes: 11 additions & 3 deletions src/librustc_mir/diagnostics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -122,10 +122,8 @@ On the other hand, static and constant pointers can point either to
a known numeric address or to the address of a symbol.

```
static MY_STATIC: u32 = 42;
static MY_STATIC_ADDR: &'static u32 = &MY_STATIC;
// ... and also
static MY_STATIC_ADDR2: *const u32 = &MY_STATIC;

const CONST_ADDR: *const u8 = 0x5f3759df as *const u8;
```

Expand Down Expand Up @@ -160,6 +158,16 @@ Remember: you can't use a function call inside a const's initialization
expression! However, you can totally use it anywhere else:

```
enum Test {
V1
}

impl Test {
fn func(&self) -> i32 {
12
}
}

fn main() {
const FOO: Test = Test::V1;

Expand Down
2 changes: 2 additions & 0 deletions src/librustc_mir/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,3 +57,5 @@ pub fn provide(providers: &mut Providers) {
shim::provide(providers);
transform::provide(providers);
}

__build_diagnostic_array! { librustc_mir, DIAGNOSTICS }
2 changes: 1 addition & 1 deletion src/librustc_passes/diagnostics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ while break {}

To fix this, add a label specifying which loop is being broken out of:
```
`foo: while break `foo {}
'foo: while break 'foo {}
```
"##
}
Expand Down
2 changes: 2 additions & 0 deletions src/librustc_passes/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,3 +45,5 @@ pub mod loops;
pub mod mir_stats;
pub mod no_asm;
pub mod static_recursion;

__build_diagnostic_array! { librustc_passes, DIAGNOSTICS }
2 changes: 2 additions & 0 deletions src/librustc_plugin/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -84,3 +84,5 @@ pub mod diagnostics;
pub mod registry;
pub mod load;
pub mod build;

__build_diagnostic_array! { librustc_plugin, DIAGNOSTICS }
2 changes: 1 addition & 1 deletion src/librustc_typeck/diagnostics.rs
Original file line number Diff line number Diff line change
Expand Up @@ -4709,7 +4709,7 @@ register_diagnostics! {
// between structures with the same definition
E0521, // redundant default implementations of trait
E0533, // `{}` does not name a unit variant, unit struct or a constant
E0563, // cannot determine a type for this `impl Trait`: {}
// E0563, // cannot determine a type for this `impl Trait`: {} // removed in 6383de15
E0564, // only named lifetimes are allowed in `impl Trait`,
// but `{}` was found in the type `{}`
E0567, // auto traits can not have type parameters
Expand Down
32 changes: 22 additions & 10 deletions src/libsyntax/diagnostic_list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ The `inline` attribute was malformed.

Erroneous code example:

```compile_fail,E0534
```ignore (compile_fail not working here; see Issue #43707)
#[inline()] // error: expected one argument
pub fn something() {}

Expand Down Expand Up @@ -80,7 +80,7 @@ An unknown argument was given to the `inline` attribute.

Erroneous code example:

```compile_fail,E0535
```ignore (compile_fail not working here; see Issue #43707)
#[inline(unknown)] // error: invalid argument
pub fn something() {}

Expand Down Expand Up @@ -190,7 +190,9 @@ A literal was used in an attribute that doesn't support literals.

Erroneous code example:

```compile_fail,E0565
```ignore (compile_fail not working here; see Issue #43707)
#![feature(attr_literals)]

#[inline("always")] // error: unsupported literal
pub fn something() {}
```
Expand All @@ -209,7 +211,7 @@ A file wasn't found for an out-of-line module.

Erroneous code example:

```compile_fail,E0583
```ignore (compile_fail not working here; see Issue #43707)
mod file_that_doesnt_exist; // error: file not found for module

fn main() {}
Expand Down Expand Up @@ -251,23 +253,33 @@ An inclusive range was used with no end.
Erroneous code example:

```compile_fail,E0586
let tmp = vec![0, 1, 2, 3, 4, 4, 3, 3, 2, 1];
let x = &tmp[1...]; // error: inclusive range was used with no end
#![feature(inclusive_range_syntax)]

fn main() {
let tmp = vec![0, 1, 2, 3, 4, 4, 3, 3, 2, 1];
let x = &tmp[1...]; // error: inclusive range was used with no end
}
```

An inclusive range needs an end in order to *include* it. If you just need a
start and no end, use a non-inclusive range (with `..`):

```
let tmp = vec![0, 1, 2, 3, 4, 4, 3, 3, 2, 1];
let x = &tmp[1..]; // ok!
fn main() {
let tmp = vec![0, 1, 2, 3, 4, 4, 3, 3, 2, 1];
let x = &tmp[1..]; // ok!
}
```

Or put an end to your inclusive range:

```
let tmp = vec![0, 1, 2, 3, 4, 4, 3, 3, 2, 1];
let x = &tmp[1...3]; // ok!
#![feature(inclusive_range_syntax)]

fn main() {
let tmp = vec![0, 1, 2, 3, 4, 4, 3, 3, 2, 1];
let x = &tmp[1...3]; // ok!
}
```
"##,

Expand Down
2 changes: 1 addition & 1 deletion src/libsyntax/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -148,4 +148,4 @@ pub mod ext {
#[cfg(test)]
mod test_snippet;

// __build_diagnostic_array! { libsyntax, DIAGNOSTICS }
__build_diagnostic_array! { libsyntax, DIAGNOSTICS }