error: cannot find macro `panic!` in this scope
  --> $DIR/no_implicit_prelude.rs:16:9
   |
LL |         assert_eq!(0, 0);
   |         ^^^^^^^^^^^^^^^^^
   |
   = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info)

error[E0433]: failed to resolve: use of undeclared type or module `Vec`
  --> $DIR/no_implicit_prelude.rs:11:9
   |
LL |     fn f() { ::bar::m!(); }
   |              ------------ in this macro invocation
...
LL |         Vec::new();
   |         ^^^ use of undeclared type or module `Vec`

error[E0599]: no method named `clone` found for type `()` in the current scope
  --> $DIR/no_implicit_prelude.rs:12:12
   |
LL |     fn f() { ::bar::m!(); }
   |              ------------ in this macro invocation
...
LL |         ().clone()
   |            ^^^^^ method not found in `()`
   |
   = help: items from traits can only be used if the trait is in scope
   = note: the following trait is implemented but not in scope, perhaps add a `use` for it:
           `use std::clone::Clone;`

error: aborting due to 3 previous errors

Some errors have detailed explanations: E0433, E0599.
For more information about an error, try `rustc --explain E0433`.
