about summary refs log tree commit diff
path: root/compiler/rustc_expand/src/module.rs
diff options
context:
space:
mode:
authorJacob Pratt <jacob@jhpratt.dev>2025-08-21 01:12:19 -0400
committerGitHub <noreply@github.com>2025-08-21 01:12:19 -0400
commit25b81bf5ad3639ef2541386052fcdca7224d4c32 (patch)
tree8853d0c7d60a0b064fdde7eb8ffdcc1bb8c89800 /compiler/rustc_expand/src/module.rs
parentd54aaed392835baaad515d38aedc3b1d6350d4fc (diff)
parentbfd5d59f976f6c3b6dbe486724a0bb2054aad94b (diff)
downloadrust-25b81bf5ad3639ef2541386052fcdca7224d4c32.tar.gz
rust-25b81bf5ad3639ef2541386052fcdca7224d4c32.zip
Rollup merge of #145590 - nnethercote:ModKind-Inline, r=petrochenkov
Prevent impossible combinations in `ast::ModKind`.

`ModKind::Loaded` has an `inline` field and a `had_parse_error` field. If the `inline` field is `Inline::Yes` then `had_parse_error` must be `Ok(())`.

This commit moves the `had_parse_error` field into the `Inline::No` variant. This makes it impossible to create the nonsensical combination of `inline == Inline::Yes` and `had_parse_error = Err(_)`.

r? ```@Urgau```
Diffstat (limited to 'compiler/rustc_expand/src/module.rs')
-rw-r--r--compiler/rustc_expand/src/module.rs2
1 files changed, 1 insertions, 1 deletions
diff --git a/compiler/rustc_expand/src/module.rs b/compiler/rustc_expand/src/module.rs
index 662c67f2d3f..6666ea33cd3 100644
--- a/compiler/rustc_expand/src/module.rs
+++ b/compiler/rustc_expand/src/module.rs
@@ -120,7 +120,7 @@ pub(crate) fn mod_dir_path(
 
             (dir_path, dir_ownership)
         }
-        Inline::No => {
+        Inline::No { .. } => {
             // FIXME: This is a subset of `parse_external_mod` without actual parsing,
             // check whether the logic for unloaded, loaded and inline modules can be unified.
             let file_path = mod_file_path(sess, ident, attrs, &module.dir_path, dir_ownership)