error[E0412]: cannot find type `FromOutside` in this scope
  --> $DIR/generate-mod.rs:19:1
   |
LL | generate_mod::check!(); //~ ERROR cannot find type `FromOutside` in this scope
   | ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `Outer` in this scope
  --> $DIR/generate-mod.rs:19:1
   |
LL | generate_mod::check!(); //~ ERROR cannot find type `FromOutside` in this scope
   | ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `FromOutside` in this scope
  --> $DIR/generate-mod.rs:22:1
   |
LL | #[generate_mod::check_attr] //~ ERROR cannot find type `FromOutside` in this scope
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

error[E0412]: cannot find type `OuterAttr` in this scope
  --> $DIR/generate-mod.rs:22:1
   |
LL | #[generate_mod::check_attr] //~ ERROR cannot find type `FromOutside` in this scope
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope

warning: cannot find type `FromOutside` in this scope
  --> $DIR/generate-mod.rs:26:10
   |
LL | #[derive(generate_mod::CheckDerive)] //~ WARN cannot find type `FromOutside` in this scope
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^ names from parent modules are not accessible without an explicit import
   |
   = note: #[warn(proc_macro_derive_resolution_fallback)] on by default
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #50504 <https://github.com/rust-lang/rust/issues/50504>

warning: cannot find type `OuterDerive` in this scope
  --> $DIR/generate-mod.rs:26:10
   |
LL | #[derive(generate_mod::CheckDerive)] //~ WARN cannot find type `FromOutside` in this scope
   |          ^^^^^^^^^^^^^^^^^^^^^^^^^ names from parent modules are not accessible without an explicit import
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #50504 <https://github.com/rust-lang/rust/issues/50504>

warning: cannot find type `FromOutside` in this scope
  --> $DIR/generate-mod.rs:33:14
   |
LL |     #[derive(generate_mod::CheckDerive)] //~ WARN cannot find type `FromOutside` in this scope
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^ names from parent modules are not accessible without an explicit import
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #50504 <https://github.com/rust-lang/rust/issues/50504>

warning: cannot find type `OuterDerive` in this scope
  --> $DIR/generate-mod.rs:33:14
   |
LL |     #[derive(generate_mod::CheckDerive)] //~ WARN cannot find type `FromOutside` in this scope
   |              ^^^^^^^^^^^^^^^^^^^^^^^^^ names from parent modules are not accessible without an explicit import
   |
   = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
   = note: for more information, see issue #50504 <https://github.com/rust-lang/rust/issues/50504>

error: aborting due to 4 previous errors

For more information about this error, try `rustc --explain E0412`.
