Treat #[path] files as mod.rs files
This commit is contained in:
parent
8e7a609e63
commit
7b420cf3da
7 changed files with 9 additions and 30 deletions
|
@ -5876,10 +5876,14 @@ impl<'a> Parser<'a> {
|
|||
if let Some(path) = Parser::submod_path_from_attr(outer_attrs, &self.directory.path) {
|
||||
return Ok(ModulePathSuccess {
|
||||
directory_ownership: match path.file_name().and_then(|s| s.to_str()) {
|
||||
Some("mod.rs") => DirectoryOwnership::Owned { relative: None },
|
||||
Some(_) => {
|
||||
DirectoryOwnership::Owned { relative: Some(id) }
|
||||
}
|
||||
// All `#[path]` files are treated as though they are a `mod.rs` file.
|
||||
// This means that `mod foo;` declarations inside `#[path]`-included
|
||||
// files are siblings,
|
||||
//
|
||||
// Note that this will produce weirdness when a file named `foo.rs` is
|
||||
// `#[path]` included and contains a `mod foo;` declaration.
|
||||
// If you encounter this, it's your own darn fault :P
|
||||
Some(_) => DirectoryOwnership::Owned { relative: None },
|
||||
_ => DirectoryOwnership::UnownedViaMod(true),
|
||||
},
|
||||
path,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue