//@ run-pass
#![feature(decl_macro)]
trait Tr {
fn f(&self) -> &'static str {
"This shouldn't happen"
}
pub macro m($t:ty) {
impl Tr for $t {
"Run me"
struct S;
m!(S);
fn main() {
assert_eq!(S.f(), "Run me");