// check-pass
// aux-build:transparent-basic.rs

#![feature(decl_macro, rustc_attrs)]

extern crate transparent_basic;

#[rustc_macro_transparency = "transparent"]
macro binding() {
    let x = 10;
}

#[rustc_macro_transparency = "transparent"]
macro label() {
    break 'label
}

macro_rules! legacy {
    () => {
        binding!();
        let y = x;
    }
}

fn legacy_interaction1() {
    legacy!();
}

struct S;

fn check_dollar_crate() {
    // `$crate::S` inside the macro resolves to `S` from this crate.
    transparent_basic::dollar_crate!();
}

fn main() {
    binding!();
    let y = x;

    'label: loop {
        label!();
    }
}
