("macro_registrar", Active),
("log_syntax", Active),
("trace_macros", Active),
+ ("concat_idents", Active),
+
("simd", Active),
("default_type_params", Active),
("quote", Active),
stable enough for use and is subject to change");
}
+ else if id == token::str_to_ident("concat_idents") {
+ self.gate_feature("concat_idents", path.span, "`concat_idents` is not \
+ stable enough for use and is subject to change");
+ }
+
else {
for "e in quotes.iter() {
if id == token::str_to_ident(quote) {
html_favicon_url = "http://www.rust-lang.org/favicon.ico",
html_root_url = "http://static.rust-lang.org/doc/master")]
#![feature(macro_rules, globs, asm, managed_boxes, thread_local, link_args,
- simd, linkage, default_type_params, phase)]
+ simd, linkage, default_type_params, phase, concat_idents)]
// Don't link to std. We are std.
#![no_std]
// #![deny(missing_doc)] // NOTE: uncomment after a stage0 snap
#![allow(missing_doc)] // NOTE: remove after a stage0 snap
#![allow(visible_private_types)] // NOTE: remove after a stage0 snap
+#![allow(unknown_features)] // NOTE: remove after a stage0 snap
// When testing libstd, bring in libuv as the I/O backend so tests can print
// things and all of the std::io tests have an I/O interface to run on top
--- /dev/null
+// Copyright 2014 The Rust Project Developers. See the COPYRIGHT
+// file at the top-level directory of this distribution and at
+// http://rust-lang.org/COPYRIGHT.
+//
+// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
+// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
+// option. This file may not be copied, modified, or distributed
+// except according to those terms.
+
+fn main() {
+ concat_idents!(a, b); //~ ERROR `concat_idents` is not stable enough
+}
// immediately, so that we get more errors listed at a time.
#![feature(asm)]
-#![feature(trace_macros)]
+#![feature(trace_macros, concat_idents)]
#[deriving(Default, //~ ERROR
Rand, //~ ERROR
// this now fails (correctly, I claim) because hygiene prevents
// the assembled identifier from being a reference to the binding.
+#![feature(concat_idents)]
pub fn main() {
let asdf_fdsa = ~"<.<";