diff options
| author | Vadim Petrochenkov <vadim.petrochenkov@gmail.com> | 2019-08-19 23:10:07 +0300 |
|---|---|---|
| committer | Pietro Albini <pietro@pietroalbini.org> | 2019-09-02 17:30:56 +0200 |
| commit | 29fe07641f67c78c0f305a8cd4dbe816e8dafd7b (patch) | |
| tree | 6a967e9f09f9715e836b2b2845eee5137f915917 | |
| parent | 57f845c5334171cc7c57d5f2aa9a66911b60bcfc (diff) | |
Add a test for an opaque macro eagerly expanding its arguments
| -rw-r--r-- | src/test/ui/hygiene/eager-from-opaque.rs | 18 | ||||
| -rw-r--r-- | src/test/ui/hygiene/eager-from-opaque.stderr | 8 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/test/ui/hygiene/eager-from-opaque.rs b/src/test/ui/hygiene/eager-from-opaque.rs new file mode 100644 index 00000000000..57925d626b9 --- /dev/null +++ b/src/test/ui/hygiene/eager-from-opaque.rs @@ -0,0 +1,18 @@ +// Opaque macro can eagerly expand its input without breaking its resolution. +// Regression test for issue #63685. + +macro_rules! foo { + () => { + "foo" + }; +} + +macro_rules! bar { + () => { + foo!() //~ ERROR cannot find macro `foo!` in this scope + }; +} + +fn main() { + format_args!(bar!()); +} diff --git a/src/test/ui/hygiene/eager-from-opaque.stderr b/src/test/ui/hygiene/eager-from-opaque.stderr new file mode 100644 index 00000000000..8db96e6ac95 --- /dev/null +++ b/src/test/ui/hygiene/eager-from-opaque.stderr @@ -0,0 +1,8 @@ +error: cannot find macro `foo!` in this scope + --> $DIR/eager-from-opaque.rs:12:9 + | +LL | foo!() + | ^^^ + +error: aborting due to previous error + |
