//! Syntax extensions in the Rust compiler.
-#![crate_name = "syntax_ext"]
-#![crate_type = "dylib"]
-#![crate_type = "rlib"]
#![doc(html_logo_url = "https://www.rust-lang.org/logos/rust-logo-128x128-blk-v2.png",
html_favicon_url = "https://doc.rust-lang.org/favicon.ico",
html_root_url = "https://doc.rust-lang.org/nightly/")]
#![feature(proc_macro_internals)]
extern crate fmt_macros;
-extern crate log;
#[macro_use]
extern crate syntax;
extern crate syntax_pos;
macro_rules! register {
($( $name:ident: $f:expr, )*) => { $(
register(Symbol::intern(stringify!($name)),
- NormalTT(Box::new($f as MacroExpanderFn), None, false));
+ NormalTT {
+ expander: Box::new($f as MacroExpanderFn),
+ def_info: None,
+ allow_internal_unstable: false,
+ allow_internal_unsafe: false,
+ });
)* }
}
use syntax::ext::source_util::*;
register! {
line: expand_line,
+ __rust_unstable_column: expand_column_gated,
column: expand_column,
file: expand_file,
stringify: expand_stringify,
// format_args uses `unstable` things internally.
register(Symbol::intern("format_args"),
- NormalTT(Box::new(format::expand_format_args), None, true));
+ NormalTT {
+ expander: Box::new(format::expand_format_args),
+ def_info: None,
+ allow_internal_unstable: true,
+ allow_internal_unsafe: false,
+ });
for (name, ext) in user_exts {
register(name, ext);