about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2019-02-25 20:24:10 +0000
committerbors <bors@rust-lang.org>2019-02-25 20:24:10 +0000
commit00aae71f503b1ab592f48de47dd30912f3858748 (patch)
tree6a467dcb6c86ff08496ce29b1da9eaabc92538ac /src/test
parentb57fe74a27590289fd657614b8ad1f3eac8a7ad2 (diff)
parentcf267540ebabdeac1f2045819cd6bac561017e29 (diff)
downloadrust-00aae71f503b1ab592f48de47dd30912f3858748.tar.gz
rust-00aae71f503b1ab592f48de47dd30912f3858748.zip
Auto merge of #58302 - SimonSapin:tryfrom, r=alexcrichton
Stabilize TryFrom and TryInto with a convert::Infallible empty enum

This is the plan proposed in https://github.com/rust-lang/rust/issues/33417#issuecomment-423073898
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/try-from-int-error-partial-eq.rs1
-rw-r--r--src/test/run-pass/try_from.rs6
-rw-r--r--src/test/ui/e0119/conflict-with-std.rs1
-rw-r--r--src/test/ui/e0119/conflict-with-std.stderr6
4 files changed, 6 insertions, 8 deletions
diff --git a/src/test/run-pass/try-from-int-error-partial-eq.rs b/src/test/run-pass/try-from-int-error-partial-eq.rs
index 83ede675925..e9b53f2d1c8 100644
--- a/src/test/run-pass/try-from-int-error-partial-eq.rs
+++ b/src/test/run-pass/try-from-int-error-partial-eq.rs
@@ -1,4 +1,3 @@
-#![feature(try_from)]
 #![allow(unused_must_use)]
 
 use std::convert::TryFrom;
diff --git a/src/test/run-pass/try_from.rs b/src/test/run-pass/try_from.rs
index 4522ce3a8d6..e42f2c3e393 100644
--- a/src/test/run-pass/try_from.rs
+++ b/src/test/run-pass/try_from.rs
@@ -4,9 +4,9 @@
 // This test was added to show the motivation for doing this
 // over `TryFrom` being blanket impl for all `T: From`
 
-#![feature(try_from, never_type)]
+#![feature(never_type)]
 
-use std::convert::TryInto;
+use std::convert::{TryInto, Infallible};
 
 struct Foo<T> {
     t: T,
@@ -32,6 +32,6 @@ impl<T> Into<Vec<T>> for Foo<T> {
 }
 
 pub fn main() {
-    let _: Result<Vec<i32>, !> = Foo { t: 10 }.try_into();
+    let _: Result<Vec<i32>, Infallible> = Foo { t: 10 }.try_into();
 }
 
diff --git a/src/test/ui/e0119/conflict-with-std.rs b/src/test/ui/e0119/conflict-with-std.rs
index e639bc5db5e..6dc81f33dfc 100644
--- a/src/test/ui/e0119/conflict-with-std.rs
+++ b/src/test/ui/e0119/conflict-with-std.rs
@@ -1,4 +1,3 @@
-#![feature(try_from)]
 
 use std::marker::PhantomData;
 use std::convert::{TryFrom, AsRef};
diff --git a/src/test/ui/e0119/conflict-with-std.stderr b/src/test/ui/e0119/conflict-with-std.stderr
index c2ae321aa5e..1cfb3c1daba 100644
--- a/src/test/ui/e0119/conflict-with-std.stderr
+++ b/src/test/ui/e0119/conflict-with-std.stderr
@@ -1,5 +1,5 @@
 error[E0119]: conflicting implementations of trait `std::convert::AsRef<Q>` for type `std::boxed::Box<Q>`:
-  --> $DIR/conflict-with-std.rs:7:1
+  --> $DIR/conflict-with-std.rs:6:1
    |
 LL | impl AsRef<Q> for Box<Q> { //~ ERROR conflicting implementations
    | ^^^^^^^^^^^^^^^^^^^^^^^^
@@ -9,7 +9,7 @@ LL | impl AsRef<Q> for Box<Q> { //~ ERROR conflicting implementations
              where T: ?Sized;
 
 error[E0119]: conflicting implementations of trait `std::convert::From<S>` for type `S`:
-  --> $DIR/conflict-with-std.rs:14:1
+  --> $DIR/conflict-with-std.rs:13:1
    |
 LL | impl From<S> for S { //~ ERROR conflicting implementations
    | ^^^^^^^^^^^^^^^^^^
@@ -18,7 +18,7 @@ LL | impl From<S> for S { //~ ERROR conflicting implementations
            - impl<T> std::convert::From<T> for T;
 
 error[E0119]: conflicting implementations of trait `std::convert::TryFrom<X>` for type `X`:
-  --> $DIR/conflict-with-std.rs:21:1
+  --> $DIR/conflict-with-std.rs:20:1
    |
 LL | impl TryFrom<X> for X { //~ ERROR conflicting implementations
    | ^^^^^^^^^^^^^^^^^^^^^