Skip to content

Commit 0395f1e

Browse files
committed
---
yaml --- r: 232374 b: refs/heads/try c: 532fcb2 h: refs/heads/master v: v3
1 parent e6bbb5e commit 0395f1e

File tree

4 files changed

+66
-18
lines changed

4 files changed

+66
-18
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: edeb4f1c86cbf6af8ef9874d4b3af50f721ea1b8
33
refs/heads/snap-stage3: 1af31d4974e33027a68126fa5a5a3c2c6491824f
4-
refs/heads/try: 92d16d961d01dfa5f16218ddc630df31b099d2aa
4+
refs/heads/try: 532fcb250fb888431b0049f68dc619a1f77e70a7
55
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
66
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
77
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
// Copyright 2014 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+
trait Trait {}
12+
13+
struct Foo<T:Trait> {
14+
x: T,
15+
}
16+
17+
enum Bar<T:Trait> {
18+
ABar(isize),
19+
BBar(T),
20+
CBar(usize),
21+
}
22+
23+
fn explode(x: Foo<u32>) {}
24+
//~^ ERROR not implemented
25+
26+
fn kaboom(y: Bar<f32>) {}
27+
//~^ ERROR not implemented
28+
29+
fn main() {
30+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// Copyright 2014 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+
trait Trait {}
12+
13+
struct Foo<T:Trait> {
14+
x: T,
15+
}
16+
17+
enum Bar<T:Trait> {
18+
ABar(isize),
19+
BBar(T),
20+
CBar(usize),
21+
}
22+
23+
trait PolyTrait<T>
24+
{
25+
fn whatever(&self, t: T) {}
26+
}
27+
28+
struct Struct;
29+
30+
impl PolyTrait<Foo<u16>> for Struct {
31+
//~^ ERROR not implemented
32+
}
33+
34+
fn main() {
35+
}

branches/try/src/test/compile-fail/trait-bounds-on-structs-and-enums.rs

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,6 @@ enum Bar<T:Trait> {
2020
CBar(usize),
2121
}
2222

23-
fn explode(x: Foo<u32>) {}
24-
//~^ ERROR not implemented
25-
26-
fn kaboom(y: Bar<f32>) {}
27-
//~^ ERROR not implemented
28-
2923
impl<T> Foo<T> {
3024
//~^ ERROR the trait `Trait` is not implemented
3125
fn uhoh() {}
@@ -55,16 +49,5 @@ enum Enum {
5549
DictionaryLike { field: Bar<u8> }, //~ ERROR not implemented
5650
}
5751

58-
trait PolyTrait<T>
59-
{
60-
fn whatever(&self, t: T) {}
61-
}
62-
63-
struct Struct;
64-
65-
impl PolyTrait<Foo<u16>> for Struct {
66-
//~^ ERROR not implemented
67-
}
68-
6952
fn main() {
7053
}

0 commit comments

Comments
 (0)