diff options
| author | bors <bors@rust-lang.org> | 2019-02-25 20:24:10 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2019-02-25 20:24:10 +0000 |
| commit | 00aae71f503b1ab592f48de47dd30912f3858748 (patch) | |
| tree | 6a467dcb6c86ff08496ce29b1da9eaabc92538ac /src/test | |
| parent | b57fe74a27590289fd657614b8ad1f3eac8a7ad2 (diff) | |
| parent | cf267540ebabdeac1f2045819cd6bac561017e29 (diff) | |
| download | rust-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.rs | 1 | ||||
| -rw-r--r-- | src/test/run-pass/try_from.rs | 6 | ||||
| -rw-r--r-- | src/test/ui/e0119/conflict-with-std.rs | 1 | ||||
| -rw-r--r-- | src/test/ui/e0119/conflict-with-std.stderr | 6 |
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 | ^^^^^^^^^^^^^^^^^^^^^ |
