about summary refs log tree commit diff
path: root/src/rustllvm/ExecutionEngineWrapper.cpp
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2014-03-24 07:11:59 -0700
committerbors <bors@rust-lang.org>2014-03-24 07:11:59 -0700
commitf8f60d80bf573cd8b4b5680b44c9cabe2b862f78 (patch)
tree6273a9a825d6622409c5766c5d70e452c2dd5c58 /src/rustllvm/ExecutionEngineWrapper.cpp
parent11d9483d5881e5ab6963e5ddab2f2e9b91f045c8 (diff)
parentcda33346d0e9e4d1ff26163583831f96d42a4bc0 (diff)
downloadrust-f8f60d80bf573cd8b4b5680b44c9cabe2b862f78.tar.gz
rust-f8f60d80bf573cd8b4b5680b44c9cabe2b862f78.zip
auto merge of #12998 : huonw/rust/log_syntax, r=alexcrichton
syntax: allow `trace_macros!` and `log_syntax!` in item position.

Previously

    trace_macros!(true)
    fn main() {}

would complain about `trace_macros` being an expression macro in item
position. This is a pointless limitation, because the macro is purely
compile-time, with no runtime effect. (And similarly for log_syntax.)

This also changes the behaviour of `trace_macros!` very slightly, it
used to be equivalent to

    macro_rules! trace_macros {
        (true $($_x: tt)*) => { true };
        (false $($_x: tt)*) => { false }
    }

I.e. you could invoke it with arbitrary trailing arguments, which were
ignored. It is changed to accept only exactly `true` or `false` (with no
trailing arguments) and expands to `()`.
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions