diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2024-03-05 22:10:00 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-05 22:10:00 +0100 |
| commit | 0783a63d34c1b1a9959be7b8a4f585fbc5d783cb (patch) | |
| tree | c3e898d3882214d4579ea0fbe1f938749f8a6e83 | |
| parent | e2e84053455f8ed4b717ab745242d132c9c53cc4 (diff) | |
| parent | a9dff2d931ad6844344c1b81f343ccdd1f4abdd9 (diff) | |
| download | rust-0783a63d34c1b1a9959be7b8a4f585fbc5d783cb.tar.gz rust-0783a63d34c1b1a9959be7b8a4f585fbc5d783cb.zip | |
Rollup merge of #121829 - nnethercote:dummy-tweaks-2, r=petrochenkov
Dummy tweaks (attempt 2) r? `````@petrochenkov`````
| -rw-r--r-- | compiler/rustc_ast/src/mut_visit.rs | 18 | ||||
| -rw-r--r-- | compiler/rustc_expand/src/base.rs | 14 |
2 files changed, 16 insertions, 16 deletions
diff --git a/compiler/rustc_ast/src/mut_visit.rs b/compiler/rustc_ast/src/mut_visit.rs index bbbb34f7f2f..c517c6138ce 100644 --- a/compiler/rustc_ast/src/mut_visit.rs +++ b/compiler/rustc_ast/src/mut_visit.rs @@ -1604,7 +1604,10 @@ pub fn noop_visit_capture_by<T: MutVisitor>(capture_by: &mut CaptureBy, vis: &mu } } -/// Some value for the AST node that is valid but possibly meaningless. +/// Some value for the AST node that is valid but possibly meaningless. Similar +/// to `Default` but not intended for wide use. The value will never be used +/// meaningfully, it exists just to support unwinding in `visit_clobber` in the +/// case where its closure panics. pub trait DummyAstNode { fn dummy() -> Self; } @@ -1679,19 +1682,6 @@ impl DummyAstNode for Stmt { } } -impl DummyAstNode for Block { - fn dummy() -> Self { - Block { - stmts: Default::default(), - id: DUMMY_NODE_ID, - rules: BlockCheckMode::Default, - span: Default::default(), - tokens: Default::default(), - could_be_bare_literal: Default::default(), - } - } -} - impl DummyAstNode for Crate { fn dummy() -> Self { Crate { diff --git a/compiler/rustc_expand/src/base.rs b/compiler/rustc_expand/src/base.rs index 550ed078549..0beba2a5504 100644 --- a/compiler/rustc_expand/src/base.rs +++ b/compiler/rustc_expand/src/base.rs @@ -4,7 +4,6 @@ use crate::expand::{self, AstFragment, Invocation}; use crate::module::DirOwnership; use rustc_ast::attr::MarkedAttrs; -use rustc_ast::mut_visit::DummyAstNode; use rustc_ast::ptr::P; use rustc_ast::token::{self, Nonterminal}; use rustc_ast::tokenstream::TokenStream; @@ -582,6 +581,17 @@ impl DummyResult { tokens: None, }) } + + /// A plain dummy crate. + pub fn raw_crate() -> ast::Crate { + ast::Crate { + attrs: Default::default(), + items: Default::default(), + spans: Default::default(), + id: ast::DUMMY_NODE_ID, + is_placeholder: Default::default(), + } + } } impl MacResult for DummyResult { @@ -650,7 +660,7 @@ impl MacResult for DummyResult { } fn make_crate(self: Box<DummyResult>) -> Option<ast::Crate> { - Some(DummyAstNode::dummy()) + Some(DummyResult::raw_crate()) } } |
