Closed
Description
Today, this program is correctly rejected:
fn main() {
unsafe {
let x = asm!("");
println!("hi {:?}", x);
}
}
due to a missing #![feature(asm)]
Unfortunately, this variant program is accepted by the compiler:
fn main() {
unsafe {
println!("hi {:?}", asm!(""));
}
}
The reason (I think) is that the fn visit_mac
in feature_gate::MacroVisitor
needs to recursively invoke the visitor on the expression inputs to the macro.