Skip to content

Commit 7a1f493

Browse files
committed
---
yaml --- r: 75759 b: refs/heads/master c: 5796e9e h: refs/heads/master i: 75757: aef6233 75755: a34c2da 75751: 6fa913a 75743: 5ba28a0 v: v3
1 parent 1177f50 commit 7a1f493

File tree

3 files changed

+53
-1
lines changed

3 files changed

+53
-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: cdbdfe88a5e95428055f0c630bd3346a78436486
2+
refs/heads/master: 5796e9e49ccf155772b8f829f458c304da1742fb
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 67c954e365970e4c2cd06f0c50724656d7010f45
55
refs/heads/try: 10089455287dcc3652b984ab4bfd6971e1b5f302
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Copyright 2013 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+
// Tests (negatively) the ability for the Self type in default methods
12+
// to use capabilities granted by builtin kinds as supertraits.
13+
14+
trait Foo : Freeze {
15+
fn foo(self, chan: std::comm::Chan<Self>) {
16+
chan.send(self); //~ ERROR does not fulfill `Send`
17+
}
18+
}
19+
20+
impl <T: Freeze> Foo for T { }
21+
22+
fn main() {
23+
let (p,c) = std::comm::stream();
24+
1193182.foo(c);
25+
assert!(p.recv() == 1193182);
26+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
// Copyright 2013 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+
// Tests the ability for the Self type in default methods to use
12+
// capabilities granted by builtin kinds as supertraits.
13+
14+
trait Foo : Send {
15+
fn foo(self, chan: std::comm::Chan<Self>) {
16+
chan.send(self);
17+
}
18+
}
19+
20+
impl <T: Send> Foo for T { }
21+
22+
fn main() {
23+
let (p,c) = std::comm::stream();
24+
1193182.foo(c);
25+
assert!(p.recv() == 1193182);
26+
}

0 commit comments

Comments
 (0)