diff options
| author | Patrik Kårlin <patrik.karlin@gmail.com> | 2023-02-06 11:33:10 +0100 |
|---|---|---|
| committer | Patrik Kårlin <patrik.karlin@gmail.com> | 2023-02-20 10:20:57 +0100 |
| commit | 0fd2a70b90081c9536b89c95ca7f03755c13e9b4 (patch) | |
| tree | bd31029ed8d48ed9c2a0e6a982abafcecb0bbe79 | |
| parent | 824f915cbc32c0942122389274a1b6fbe2ffc51e (diff) | |
| download | rust-0fd2a70b90081c9536b89c95ca7f03755c13e9b4.tar.gz rust-0fd2a70b90081c9536b89c95ca7f03755c13e9b4.zip | |
create dummy placeholder crate to prevent compiler
| -rw-r--r-- | compiler/rustc_expand/src/base.rs | 5 | ||||
| -rw-r--r-- | tests/ui/recursion_limit/issue_21102.rs | 9 | ||||
| -rw-r--r-- | tests/ui/recursion_limit/issue_21102.stderr | 10 |
3 files changed, 24 insertions, 0 deletions
diff --git a/compiler/rustc_expand/src/base.rs b/compiler/rustc_expand/src/base.rs index cf7cff739b3..00c5fe791f9 100644 --- a/compiler/rustc_expand/src/base.rs +++ b/compiler/rustc_expand/src/base.rs @@ -5,6 +5,7 @@ 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; @@ -640,6 +641,10 @@ impl MacResult for DummyResult { fn make_variants(self: Box<DummyResult>) -> Option<SmallVec<[ast::Variant; 1]>> { Some(SmallVec::new()) } + + fn make_crate(self: Box<DummyResult>) -> Option<ast::Crate> { + Some(DummyAstNode::dummy()) + } } /// A syntax extension kind. diff --git a/tests/ui/recursion_limit/issue_21102.rs b/tests/ui/recursion_limit/issue_21102.rs new file mode 100644 index 00000000000..e1fee46313d --- /dev/null +++ b/tests/ui/recursion_limit/issue_21102.rs @@ -0,0 +1,9 @@ +#![recursion_limit="4"] +#![invalid_attribute] +#![invalid_attribute] +#![invalid_attribute] +#![invalid_attribute] +#![invalid_attribute] +//~^ERROR recursion limit reached while expanding + +fn main() {} diff --git a/tests/ui/recursion_limit/issue_21102.stderr b/tests/ui/recursion_limit/issue_21102.stderr new file mode 100644 index 00000000000..1bd722c492b --- /dev/null +++ b/tests/ui/recursion_limit/issue_21102.stderr @@ -0,0 +1,10 @@ +error: recursion limit reached while expanding `#[invalid_attribute]` + --> $DIR/issue_21102.rs:6:1 + | +LL | #![invalid_attribute] + | ^^^^^^^^^^^^^^^^^^^^^ + | + = help: consider increasing the recursion limit by adding a `#![recursion_limit = "8"]` attribute to your crate (`issue_21102`) + +error: aborting due to previous error + |
