Move /src/test to /tests
This commit is contained in:
parent
ca855e6e42
commit
cf2dff2b1e
27592 changed files with 0 additions and 0 deletions
25
tests/ui/impl-trait/auto-trait.rs
Normal file
25
tests/ui/impl-trait/auto-trait.rs
Normal file
|
@ -0,0 +1,25 @@
|
|||
// Tests that type alias impls traits do not leak auto-traits for
|
||||
// the purposes of coherence checking
|
||||
#![feature(type_alias_impl_trait)]
|
||||
|
||||
trait OpaqueTrait {}
|
||||
impl<T> OpaqueTrait for T {}
|
||||
type OpaqueType = impl OpaqueTrait;
|
||||
fn mk_opaque() -> OpaqueType {
|
||||
()
|
||||
}
|
||||
|
||||
#[derive(Debug)]
|
||||
struct D<T>(T);
|
||||
|
||||
trait AnotherTrait {}
|
||||
impl<T: Send> AnotherTrait for T {}
|
||||
|
||||
// This is in error, because we cannot assume that `OpaqueType: !Send`.
|
||||
// (We treat opaque types as "foreign types" that could grow more impls
|
||||
// in the future.)
|
||||
impl AnotherTrait for D<OpaqueType> {
|
||||
//~^ ERROR conflicting implementations of trait `AnotherTrait` for type `D<OpaqueType>`
|
||||
}
|
||||
|
||||
fn main() {}
|
Loading…
Add table
Add a link
Reference in a new issue