Skip to content

Commit

Permalink
Rollup merge of #73122 - doctorn:issue-73116, r=varkor
Browse files Browse the repository at this point in the history
Resolve E0584 conflict

Adds a new error code (`E0761`) to indicate ambiguity in module file names and an accompanying expanded description to resolve a conflict over `E0584`.

Resolves #73116
  • Loading branch information
Dylan-DPC authored Jun 9, 2020
2 parents cbfdff7 + 039da0b commit 95479d4
Show file tree
Hide file tree
Showing 5 changed files with 30 additions and 4 deletions.
1 change: 1 addition & 0 deletions src/librustc_error_codes/error_codes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -439,6 +439,7 @@ E0753: include_str!("./error_codes/E0753.md"),
E0754: include_str!("./error_codes/E0754.md"),
E0758: include_str!("./error_codes/E0758.md"),
E0760: include_str!("./error_codes/E0760.md"),
E0761: include_str!("./error_codes/E0761.md"),
;
// E0006, // merged with E0005
// E0008, // cannot bind by-move into a pattern guard
Expand Down
2 changes: 1 addition & 1 deletion src/librustc_error_codes/error_codes/E0583.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ A file wasn't found for an out-of-line module.

Erroneous code example:

```ignore (compile_fail not working here; see Issue #43707)
```compile_fail,E0583
mod file_that_doesnt_exist; // error: file not found for module
fn main() {}
Expand Down
25 changes: 25 additions & 0 deletions src/librustc_error_codes/error_codes/E0761.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
Multiple candidate files were found for an out-of-line module.

Erroneous code example:

```rust
// file: ambiguous_module/mod.rs

fn foo() {}
```

```rust
// file: ambiguous_module.rs

fn foo() {}
```

```ignore (multiple source files required for compile_fail)
mod ambiguous_module; // error: file for module `ambiguous_module`
// found at both ambiguous_module.rs and
// ambiguous_module.rs/mod.rs
fn main() {}
```

Please remove this ambiguity by deleting/renaming one of the candidate files.
2 changes: 1 addition & 1 deletion src/librustc_expand/module.rs
Original file line number Diff line number Diff line change
Expand Up @@ -291,7 +291,7 @@ pub fn default_submod_path<'a>(
let mut err = struct_span_err!(
sess.span_diagnostic,
span,
E0584,
E0761,
"file for module `{}` found at both {} and {}",
mod_name,
default_path_str,
Expand Down
4 changes: 2 additions & 2 deletions src/test/ui/mod/mod_file_disambig.stderr
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
error[E0584]: file for module `mod_file_disambig_aux` found at both mod_file_disambig_aux.rs and mod_file_disambig_aux/mod.rs
error[E0761]: file for module `mod_file_disambig_aux` found at both mod_file_disambig_aux.rs and mod_file_disambig_aux/mod.rs
--> $DIR/mod_file_disambig.rs:1:1
|
LL | mod mod_file_disambig_aux;
Expand All @@ -14,5 +14,5 @@ LL | assert_eq!(mod_file_aux::bar(), 10);

error: aborting due to 2 previous errors

Some errors have detailed explanations: E0433, E0584.
Some errors have detailed explanations: E0433, E0761.
For more information about an error, try `rustc --explain E0433`.

0 comments on commit 95479d4

Please sign in to comment.