Skip to content

Commit

Permalink
Rollup merge of rust-lang#55968 - ehuss:non-mod-rs-tests, r=petrochenkov
Browse files Browse the repository at this point in the history
Clean up some non-mod-rs stuff.

This includes the following:
- Remove unused `non_modrs_mods` from `ParseSess` which as only used for feature gate diagnostics.
- Remove the vestiges of the feature gate tests in `test/ui`, they were only partially removed during stabilization.
- Fix the run-pass test, it was accidentally removed during stabilization.
- Add a ui test to verify error behavior for missing inline-nested mods.
- Add some tests for `#[path]` for inline-nested mods (both mod and non-mod-rs).
- Enable the diagnostic tests on windows, they should be fixed by rust-lang#49478.

cc @cramertj
  • Loading branch information
pietroalbini authored and kennytm committed Nov 19, 2018
2 parents 318a38e + 7f4bc22 commit 6ecbb05
Show file tree
Hide file tree
Showing 29 changed files with 45 additions and 165 deletions.
1 change: 0 additions & 1 deletion src/libsyntax/parse/lexer/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1890,7 +1890,6 @@ mod tests {
missing_fragment_specifiers: Lock::new(FxHashSet::default()),
raw_identifier_spans: Lock::new(Vec::new()),
registered_diagnostics: Lock::new(ErrorMap::new()),
non_modrs_mods: Lock::new(vec![]),
buffered_lints: Lock::new(vec![]),
}
}
Expand Down
4 changes: 0 additions & 4 deletions src/libsyntax/parse/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -52,9 +52,6 @@ pub struct ParseSess {
pub raw_identifier_spans: Lock<Vec<Span>>,
/// The registered diagnostics codes
crate registered_diagnostics: Lock<ErrorMap>,
// Spans where a `mod foo;` statement was included in a non-mod.rs file.
// These are used to issue errors if the non_modrs_mods feature is not enabled.
pub non_modrs_mods: Lock<Vec<(ast::Ident, Span)>>,
/// Used to determine and report recursive mod inclusions
included_mod_stack: Lock<Vec<PathBuf>>,
source_map: Lrc<SourceMap>,
Expand All @@ -81,7 +78,6 @@ impl ParseSess {
registered_diagnostics: Lock::new(ErrorMap::new()),
included_mod_stack: Lock::new(vec![]),
source_map,
non_modrs_mods: Lock::new(vec![]),
buffered_lints: Lock::new(vec![]),
}
}
Expand Down
11 changes: 1 addition & 10 deletions src/libsyntax/parse/parser.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6591,16 +6591,7 @@ impl<'a> Parser<'a> {
}

let relative = match self.directory.ownership {
DirectoryOwnership::Owned { relative } => {
// Push the usage onto the list of non-mod.rs mod uses.
// This is used later for feature-gate error reporting.
if let Some(cur_file_ident) = relative {
self.sess
.non_modrs_mods.borrow_mut()
.push((cur_file_ident, id_sp));
}
relative
},
DirectoryOwnership::Owned { relative } => relative,
DirectoryOwnership::UnownedViaBlock |
DirectoryOwnership::UnownedViaMod(_) => None,
};
Expand Down
4 changes: 4 additions & 0 deletions src/test/run-pass/non_modrs_mods/foors_mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,7 @@

pub mod inner_modrs_mod;
pub mod inner_foors_mod;
pub mod inline {
#[path="somename.rs"]
pub mod innie;
}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pub fn foo() {}
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
pub fn foo() {}
4 changes: 4 additions & 0 deletions src/test/run-pass/non_modrs_mods/modrs_mod/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,7 @@

pub mod inner_modrs_mod;
pub mod inner_foors_mod;
pub mod inline {
#[path="somename.rs"]
pub mod innie;
}
16 changes: 16 additions & 0 deletions src/test/run-pass/non_modrs_mods/non_modrs_mods.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// run-pass
//
// ignore-pretty issue #37195
pub mod modrs_mod;
pub mod foors_mod;
#[path = "some_crazy_attr_mod_dir/arbitrary_name.rs"]
pub mod attr_mod;
pub fn main() {
modrs_mod::inner_modrs_mod::innest::foo();
modrs_mod::inner_foors_mod::innest::foo();
modrs_mod::inline::innie::foo();
foors_mod::inner_modrs_mod::innest::foo();
foors_mod::inner_foors_mod::innest::foo();
foors_mod::inline::innie::foo();
attr_mod::inner_modrs_mod::innest::foo();
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@
// except according to those terms.

// ignore-tidy-linelength
// ignore-windows

mod auxiliary {
mod foo;
Expand Down
5 changes: 5 additions & 0 deletions src/test/ui/missing_non_modrs_mod/foo_inline.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
// ignore-test this is just a helper for the real test in this dir

mod inline {
mod missing;
}
2 changes: 0 additions & 2 deletions src/test/ui/missing_non_modrs_mod/missing_non_modrs_mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,5 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.

// ignore-windows

mod foo;
fn main() {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
mod foo_inline;
fn main() {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
error[E0583]: file not found for module `missing`
--> $DIR/foo_inline.rs:4:9
|
LL | mod missing;
| ^^^^^^^
|
= help: name the file either missing.rs or missing/mod.rs inside the directory "$DIR/foo_inline/inline"

error: aborting due to previous error

For more information about this error, try `rustc --explain E0583`.
14 changes: 0 additions & 14 deletions src/test/ui/non_modrs_mods/foors_mod.rs

This file was deleted.

Empty file.
11 changes: 0 additions & 11 deletions src/test/ui/non_modrs_mods/foors_mod/inner_foors_mod.rs

This file was deleted.

11 changes: 0 additions & 11 deletions src/test/ui/non_modrs_mods/foors_mod/inner_foors_mod/innest.rs

This file was deleted.

11 changes: 0 additions & 11 deletions src/test/ui/non_modrs_mods/foors_mod/inner_modrs_mod/innest.rs

This file was deleted.

11 changes: 0 additions & 11 deletions src/test/ui/non_modrs_mods/foors_mod/inner_modrs_mod/mod.rs

This file was deleted.

Empty file.
11 changes: 0 additions & 11 deletions src/test/ui/non_modrs_mods/modrs_mod/inner_foors_mod.rs

This file was deleted.

11 changes: 0 additions & 11 deletions src/test/ui/non_modrs_mods/modrs_mod/inner_foors_mod/innest.rs

This file was deleted.

11 changes: 0 additions & 11 deletions src/test/ui/non_modrs_mods/modrs_mod/inner_modrs_mod/innest.rs

This file was deleted.

11 changes: 0 additions & 11 deletions src/test/ui/non_modrs_mods/modrs_mod/inner_modrs_mod/mod.rs

This file was deleted.

12 changes: 0 additions & 12 deletions src/test/ui/non_modrs_mods/modrs_mod/mod.rs

This file was deleted.

This file was deleted.

Empty file.

This file was deleted.

This file was deleted.

0 comments on commit 6ecbb05

Please sign in to comment.