Skip to content

Commit 75fd933

Browse files
committed
---
yaml --- r: 180222 b: refs/heads/master c: 21fb420 h: refs/heads/master v: v3
1 parent 70aa9e9 commit 75fd933

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
refs/heads/master: 14141aca80a78dc8ec67bce463c5677ec0280264
2+
refs/heads/master: 21fb420592bd4ee03e81efe7b2dbd7115e790e3a
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: e29f42025513374f1a88404491d1b40386acf994
55
refs/heads/try: ccf8fedf1cffcb8f6f3581d53d220039e192fe77
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
// Copyright 2015 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+
// Test that we are able to successfully compile a setup where a trait
12+
// (`Trait1`) references a struct (`SomeType<u32>`) which in turn
13+
// carries a predicate that references the trait (`u32 : Trait1`,
14+
// substituted).
15+
16+
#![allow(dead_code)]
17+
18+
trait Trait1 : Trait2<SomeType<u32>> {
19+
fn dumb(&self) { }
20+
}
21+
22+
trait Trait2<A> {
23+
fn dumber(&self, _: A) { }
24+
}
25+
26+
struct SomeType<A>
27+
where A : Trait1
28+
{
29+
a: A
30+
}
31+
32+
impl Trait1 for u32 { }
33+
34+
impl Trait2<SomeType<u32>> for u32 { }
35+
36+
fn main() { }

0 commit comments

Comments
 (0)