Skip to content

Commit 339aef4

Browse files
committed
---
yaml --- r: 12879 b: refs/heads/master c: 81caf92 h: refs/heads/master i: 12877: 8172fe8 12875: 797d29d 12871: 0cc2636 12863: 8bda0cc v: v3
1 parent 11c1ed2 commit 339aef4

File tree

4 files changed

+37
-1
lines changed

4 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: 44c100c28df866041633a8338b7935d061afd9bb
2+
refs/heads/master: 81caf926b4ecf9a6c48f2f7ade2102e8876e6677
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: 4a81779abd786ff22d71434c6d9a5917ea4cdfff
55
refs/heads/try: 2898dcc5d97da9427ac367542382b6239d9c0bbf
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
enum maybe<T> { just(T), nothing }
2+
3+
impl methods<T:copy> for maybe<T> {
4+
fn [](idx: uint) -> T {
5+
alt self {
6+
just(t) { t }
7+
nothing { fail; }
8+
}
9+
}
10+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
use issue2378a;
2+
3+
import issue2378a::maybe;
4+
import issue2378a::methods;
5+
6+
type two_maybes<T> = {a: maybe<T>, b: maybe<T>};
7+
8+
impl methods<T:copy> for two_maybes<T> {
9+
fn [](idx: uint) -> (T, T) {
10+
(self.a[idx], self.b[idx])
11+
}
12+
}

trunk/src/test/run-pass/issue2378c.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// xfail-test -- #2378 unfixed
2+
// aux-build:issue2378a.rs
3+
// aux-build:issue2378b.rs
4+
5+
use issue2378a;
6+
use issue2378b;
7+
8+
import issue2378a::{just, methods};
9+
import issue2378b::{methods};
10+
11+
fn main() {
12+
let x = {a: just(3), b: just(5)};
13+
assert x[0u] == (3, 5);
14+
}

0 commit comments

Comments
 (0)