Adding it in a stable form was an accident.
It thankfully only leaked to nightly.
Fixes #38860
#![unstable(feature = "i128", issue="35118")]
-int_module! { i128 }
+int_module! { i128, #[unstable(feature = "i128", issue="35118")] }
-// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
+// Copyright 2012-2017 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
#![doc(hidden)]
-macro_rules! int_module { ($T:ident) => (
-
-/// The smallest value that can be represented by this integer type.
-#[stable(feature = "rust1", since = "1.0.0")]
-pub const MIN: $T = $T::min_value();
-/// The largest value that can be represented by this integer type.
-#[stable(feature = "rust1", since = "1.0.0")]
-pub const MAX: $T = $T::max_value();
-
-) }
+macro_rules! int_module {
+ ($T:ident) => (int_module!($T, #[stable(feature = "rust1", since = "1.0.0")]););
+ ($T:ident, $($attr: tt)*) => (
+ /// The smallest value that can be represented by this integer type.
+ $($attr)*
+ pub const MIN: $T = $T::min_value();
+ /// The largest value that can be represented by this integer type.
+ $($attr)*
+ pub const MAX: $T = $T::max_value();
+ )
+}
//! *[See also the `u128` primitive type](../../std/primitive.u128.html).*
#![unstable(feature = "i128", issue="35118")]
-uint_module! { u128 }
+uint_module! { u128, #[unstable(feature = "i128", issue="35118")] }
-// Copyright 2012-2014 The Rust Project Developers. See the COPYRIGHT
+// Copyright 2012-2017 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
#![doc(hidden)]
-macro_rules! uint_module { ($T:ident) => (
-
-/// The smallest value that can be represented by this integer type.
-#[stable(feature = "rust1", since = "1.0.0")]
-pub const MIN: $T = $T::min_value();
-/// The largest value that can be represented by this integer type.
-#[stable(feature = "rust1", since = "1.0.0")]
-pub const MAX: $T = $T::max_value();
-
-) }
+macro_rules! uint_module {
+ ($T:ident) => (uint_module!($T, #[stable(feature = "rust1", since = "1.0.0")]););
+ ($T:ident, $($attr: tt)*) => (
+ /// The smallest value that can be represented by this integer type.
+ $($attr)*
+ pub const MIN: $T = $T::min_value();
+ /// The largest value that can be represented by this integer type.
+ $($attr)*
+ pub const MAX: $T = $T::max_value();
+ )
+}
#![feature(rustc_private)]
#![feature(staged_api)]
#![feature(const_fn)]
+#![cfg_attr(not(stage0), feature(i128))]
#[macro_use] extern crate log;
#[macro_use] extern crate syntax;
--- /dev/null
+// Copyright 2017 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 testl() {
+ ::std::u128::MAX; //~ ERROR use of unstable library feature 'i128'
+}
+
+fn testl2() {
+ ::std::i128::MAX; //~ ERROR use of unstable library feature 'i128'
+}