Fix missed i128 feature gates

This commit is contained in:
Mark Mansi 2018-03-17 11:46:31 -05:00
parent ea89b507b3
commit 07104692d5
8 changed files with 19 additions and 66 deletions

View File

@ -1,4 +1,4 @@
# `repri128` # `repr128`
The tracking issue for this feature is: [#35118] The tracking issue for this feature is: [#35118]

View File

@ -4046,39 +4046,39 @@ macro_rules! impl_from {
impl_from! { u8, u16, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { u8, u16, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { u8, u32, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { u8, u32, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { u8, u64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { u8, u64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { u8, u128, #[unstable(feature = "i128", issue = "35118")] } impl_from! { u8, u128, #[stable(feature = "i128", since = "1.26.0")] }
impl_from! { u8, usize, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { u8, usize, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { u16, u32, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { u16, u32, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { u16, u64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { u16, u64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { u16, u128, #[unstable(feature = "i128", issue = "35118")] } impl_from! { u16, u128, #[stable(feature = "i128", since = "1.26.0")] }
impl_from! { u32, u64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { u32, u64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { u32, u128, #[unstable(feature = "i128", issue = "35118")] } impl_from! { u32, u128, #[stable(feature = "i128", since = "1.26.0")] }
impl_from! { u64, u128, #[unstable(feature = "i128", issue = "35118")] } impl_from! { u64, u128, #[stable(feature = "i128", since = "1.26.0")] }
// Signed -> Signed // Signed -> Signed
impl_from! { i8, i16, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { i8, i16, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { i8, i32, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { i8, i32, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { i8, i64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { i8, i64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { i8, i128, #[unstable(feature = "i128", issue = "35118")] } impl_from! { i8, i128, #[stable(feature = "i128", since = "1.26.0")] }
impl_from! { i8, isize, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { i8, isize, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { i16, i32, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { i16, i32, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { i16, i64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { i16, i64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { i16, i128, #[unstable(feature = "i128", issue = "35118")] } impl_from! { i16, i128, #[stable(feature = "i128", since = "1.26.0")] }
impl_from! { i32, i64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { i32, i64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { i32, i128, #[unstable(feature = "i128", issue = "35118")] } impl_from! { i32, i128, #[stable(feature = "i128", since = "1.26.0")] }
impl_from! { i64, i128, #[unstable(feature = "i128", issue = "35118")] } impl_from! { i64, i128, #[stable(feature = "i128", since = "1.26.0")] }
// Unsigned -> Signed // Unsigned -> Signed
impl_from! { u8, i16, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { u8, i16, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { u8, i32, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { u8, i32, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { u8, i64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { u8, i64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { u8, i128, #[unstable(feature = "i128", issue = "35118")] } impl_from! { u8, i128, #[stable(feature = "i128", since = "1.26.0")] }
impl_from! { u16, i32, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { u16, i32, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { u16, i64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { u16, i64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { u16, i128, #[unstable(feature = "i128", issue = "35118")] } impl_from! { u16, i128, #[stable(feature = "i128", since = "1.26.0")] }
impl_from! { u32, i64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] } impl_from! { u32, i64, #[stable(feature = "lossless_int_conv", since = "1.5.0")] }
impl_from! { u32, i128, #[unstable(feature = "i128", issue = "35118")] } impl_from! { u32, i128, #[stable(feature = "i128", since = "1.26.0")] }
impl_from! { u64, i128, #[unstable(feature = "i128", issue = "35118")] } impl_from! { u64, i128, #[stable(feature = "i128", since = "1.26.0")] }
// Note: integers can only be represented with full precision in a float if // Note: integers can only be represented with full precision in a float if
// they fit in the significand, which is 24 bits in f32 and 53 bits in f64. // they fit in the significand, which is 24 bits in f32 and 53 bits in f64.

View File

@ -751,7 +751,7 @@ mod prim_i64 { }
/// The 128-bit signed integer type. /// The 128-bit signed integer type.
/// ///
/// *[See also the `std::i128` module](i128/index.html).* /// *[See also the `std::i128` module](i128/index.html).*
#[unstable(feature = "i128", issue="35118")] #[stable(feature = "i128", since="1.26.0")]
mod prim_i128 { } mod prim_i128 { }
#[doc(primitive = "u8")] #[doc(primitive = "u8")]
@ -791,7 +791,7 @@ mod prim_u64 { }
/// The 128-bit unsigned integer type. /// The 128-bit unsigned integer type.
/// ///
/// *[See also the `std::u128` module](u128/index.html).* /// *[See also the `std::u128` module](u128/index.html).*
#[unstable(feature = "i128", issue="35118")] #[stable(feature = "i128", since="1.26.0")]
mod prim_u128 { } mod prim_u128 { }
#[doc(primitive = "isize")] #[doc(primitive = "isize")]

View File

@ -250,7 +250,7 @@ An unstable feature was used.
Erroneous code example: Erroneous code example:
```compile_fail,E658 ```compile_fail,E658
#[repr(u128)] // error: use of unstable library feature 'i128' #[repr(u128)] // error: use of unstable library feature 'repr128'
enum Foo { enum Foo {
Bar(u64), Bar(u64),
} }
@ -264,7 +264,7 @@ If you're using a nightly version of rustc, just add the corresponding feature
to be able to use it: to be able to use it:
``` ```
#![feature(repri128)] #![feature(repr128)]
#[repr(u128)] // ok! #[repr(u128)] // ok!
enum Foo { enum Foo {

View File

@ -11,7 +11,7 @@
// Tests saturating float->int casts. See u128-as-f32.rs for the opposite direction. // Tests saturating float->int casts. See u128-as-f32.rs for the opposite direction.
// compile-flags: -Z saturating-float-casts // compile-flags: -Z saturating-float-casts
#![feature(test, i128, stmt_expr_attributes)] #![feature(test, stmt_expr_attributes)]
#![deny(overflowing_literals)] #![deny(overflowing_literals)]
extern crate test; extern crate test;

View File

@ -10,7 +10,7 @@
// ignore-emscripten u128 not supported // ignore-emscripten u128 not supported
#![feature(test, i128)] #![feature(test)]
#![deny(overflowing_literals)] #![deny(overflowing_literals)]
extern crate test; extern crate test;

View File

@ -1,34 +0,0 @@
// Copyright 2016 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.
// gate-test-i128_type
fn test1() -> i128 {
0
}
fn test1_2() -> u128 {
0
}
fn test3() {
let x: i128 = 0;
}
fn test3_2() {
let x: u128 = 0;
}
#[repr(u128)]
enum A { //~ ERROR 128-bit type is unstable
A(u64)
}
fn main() {}

View File

@ -1,13 +0,0 @@
error[E0658]: repr with 128-bit type is unstable (see issue #35118)
--> $DIR/feature-gate-i128_type2.rs:30:1
|
LL | / enum A { //~ ERROR 128-bit type is unstable
LL | | A(u64)
LL | | }
| |_^
|
= help: add #![feature(repr128)] to the crate attributes to enable
error: aborting due to 5 previous errors
For more information about this error, try `rustc --explain E0658`.