diff options
| author | scalexm <martin.alex32@hotmail.fr> | 2017-08-10 15:13:34 +0200 |
|---|---|---|
| committer | scalexm <martin.alex32@hotmail.fr> | 2017-08-10 15:13:34 +0200 |
| commit | e3b28b4ae8092ca58f45053fc8f6be4f9b82c2e8 (patch) | |
| tree | 043aeb9d842c9ecbddcb49b64524c110f77ccc89 | |
| parent | 488dccbe877f82e9a665aa39aa521e142fcf6efb (diff) | |
| download | rust-e3b28b4ae8092ca58f45053fc8f6be4f9b82c2e8.tar.gz rust-e3b28b4ae8092ca58f45053fc8f6be4f9b82c2e8.zip | |
Add tests
| -rw-r--r-- | src/test/compile-fail/issue-43784-associated-type.rs | 25 | ||||
| -rw-r--r-- | src/test/compile-fail/issue-43784-supertrait.rs | 18 |
2 files changed, 43 insertions, 0 deletions
diff --git a/src/test/compile-fail/issue-43784-associated-type.rs b/src/test/compile-fail/issue-43784-associated-type.rs new file mode 100644 index 00000000000..94b5c0034a7 --- /dev/null +++ b/src/test/compile-fail/issue-43784-associated-type.rs @@ -0,0 +1,25 @@ +// 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. + +pub trait Partial<X: ?Sized>: Copy { +} + +pub trait Complete { + type Assoc: Partial<Self>; +} + +impl<T> Partial<T> for T::Assoc where + T: Complete +{ +} + +impl<T> Complete for T { //~ ERROR the trait bound `T: std::marker::Copy` is not satisfied + type Assoc = T; +} diff --git a/src/test/compile-fail/issue-43784-supertrait.rs b/src/test/compile-fail/issue-43784-supertrait.rs new file mode 100644 index 00000000000..e70df113da3 --- /dev/null +++ b/src/test/compile-fail/issue-43784-supertrait.rs @@ -0,0 +1,18 @@ +// 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. + +pub trait Partial: Copy { +} + +pub trait Complete: Partial { +} + +impl<T> Partial for T where T: Complete {} +impl<T> Complete for T {} //~ ERROR the trait bound `T: std::marker::Copy` is not satisfied |
