File tree Expand file tree Collapse file tree 2 files changed +43
-0
lines changed
Expand file tree Collapse file tree 2 files changed +43
-0
lines changed Original file line number Diff line number Diff line change 1+ // Copyright 2017 The Rust Project Developers. See the COPYRIGHT
2+ // file at the top-level directory of this distribution and at
3+ // http://rust-lang.org/COPYRIGHT.
4+ //
5+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+ // option. This file may not be copied, modified, or distributed
9+ // except according to those terms.
10+
11+ pub trait Partial < X : ?Sized > : Copy {
12+ }
13+
14+ pub trait Complete {
15+ type Assoc : Partial < Self > ;
16+ }
17+
18+ impl < T > Partial < T > for T :: Assoc where
19+ T : Complete
20+ {
21+ }
22+
23+ impl < T > Complete for T { //~ ERROR the trait bound `T: std::marker::Copy` is not satisfied
24+ type Assoc = T ;
25+ }
Original file line number Diff line number Diff line change 1+ // Copyright 2017 The Rust Project Developers. See the COPYRIGHT
2+ // file at the top-level directory of this distribution and at
3+ // http://rust-lang.org/COPYRIGHT.
4+ //
5+ // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6+ // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7+ // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8+ // option. This file may not be copied, modified, or distributed
9+ // except according to those terms.
10+
11+ pub trait Partial : Copy {
12+ }
13+
14+ pub trait Complete : Partial {
15+ }
16+
17+ impl < T > Partial for T where T : Complete { }
18+ impl < T > Complete for T { } //~ ERROR the trait bound `T: std::marker::Copy` is not satisfied
You can’t perform that action at this time.
0 commit comments