Skip to content

Commit 55b5284

Browse files
committed
Re-xfail two tests that I tried to resurrect (no time right now)
1 parent 2d116db commit 55b5284

File tree

2 files changed

+78
-37
lines changed

2 files changed

+78
-37
lines changed

src/test/run-pass/reflect-visit-type.rs

Lines changed: 31 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,35 @@
1-
use intrinsic::{tydesc, get_tydesc, visit_tydesc, ty_visitor};
1+
// xfail-test
2+
use intrinsic::{TyDesc, get_tydesc, visit_tydesc, TyVisitor};
23
enum my_visitor = @{ mut types: ~[str] };
34

4-
impl of ty_visitor for my_visitor {
5+
impl my_visitor: TyVisitor {
56
fn visit_bot() -> bool {
6-
self.types += ["bot"];
7+
self.types += ~["bot"];
78
error!("visited bot type");
89
true
910
}
1011
fn visit_nil() -> bool {
11-
self.types += ["nil"];
12+
self.types += ~["nil"];
1213
error!("visited nil type");
1314
true
1415
}
1516
fn visit_bool() -> bool {
16-
self.types += ["bool"];
17+
self.types += ~["bool"];
1718
error!("visited bool type");
1819
true
1920
}
2021
fn visit_int() -> bool {
21-
self.types += ["int"];
22+
self.types += ~["int"];
2223
error!("visited int type");
2324
true
2425
}
2526
fn visit_i8() -> bool {
26-
self.types += ["i8"];
27+
self.types += ~["i8"];
2728
error!("visited i8 type");
2829
true
2930
}
3031
fn visit_i16() -> bool {
31-
self.types += ["i16"];
32+
self.types += ~["i16"];
3233
error!("visited i16 type");
3334
true
3435
}
@@ -54,41 +55,41 @@ impl of ty_visitor for my_visitor {
5455
fn visit_estr_fixed(_sz: uint, _sz: uint,
5556
_align: uint) -> bool { true }
5657

57-
fn visit_box(_mtbl: uint, _inner: *tydesc) -> bool { true }
58-
fn visit_uniq(_mtbl: uint, _inner: *tydesc) -> bool { true }
59-
fn visit_ptr(_mtbl: uint, _inner: *tydesc) -> bool { true }
60-
fn visit_rptr(_mtbl: uint, _inner: *tydesc) -> bool { true }
58+
fn visit_box(_mtbl: uint, _inner: *TyDesc) -> bool { true }
59+
fn visit_uniq(_mtbl: uint, _inner: *TyDesc) -> bool { true }
60+
fn visit_ptr(_mtbl: uint, _inner: *TyDesc) -> bool { true }
61+
fn visit_rptr(_mtbl: uint, _inner: *TyDesc) -> bool { true }
6162

62-
fn visit_vec(_mtbl: uint, inner: *tydesc) -> bool {
63-
self.types += ["["];
64-
visit_tydesc(inner, my_visitor(*self) as ty_visitor);
65-
self.types += ["]"];
63+
fn visit_vec(_mtbl: uint, inner: *TyDesc) -> bool {
64+
self.types += ~["["];
65+
visit_tydesc(inner, my_visitor(*self) as TyVisitor);
66+
self.types += ~["]"];
6667
true
6768
}
68-
fn visit_unboxed_vec(_mtbl: uint, _inner: *tydesc) -> bool { true }
69-
fn visit_evec_box(_mtbl: uint, _inner: *tydesc) -> bool { true }
70-
fn visit_evec_uniq(_mtbl: uint, _inner: *tydesc) -> bool { true }
71-
fn visit_evec_slice(_mtbl: uint, _inner: *tydesc) -> bool { true }
69+
fn visit_unboxed_vec(_mtbl: uint, _inner: *TyDesc) -> bool { true }
70+
fn visit_evec_box(_mtbl: uint, _inner: *TyDesc) -> bool { true }
71+
fn visit_evec_uniq(_mtbl: uint, _inner: *TyDesc) -> bool { true }
72+
fn visit_evec_slice(_mtbl: uint, _inner: *TyDesc) -> bool { true }
7273
fn visit_evec_fixed(_n: uint, _sz: uint, _align: uint,
73-
_mtbl: uint, _inner: *tydesc) -> bool { true }
74+
_mtbl: uint, _inner: *TyDesc) -> bool { true }
7475

7576
fn visit_enter_rec(_n_fields: uint,
7677
_sz: uint, _align: uint) -> bool { true }
7778
fn visit_rec_field(_i: uint, _name: &str,
78-
_mtbl: uint, _inner: *tydesc) -> bool { true }
79+
_mtbl: uint, _inner: *TyDesc) -> bool { true }
7980
fn visit_leave_rec(_n_fields: uint,
8081
_sz: uint, _align: uint) -> bool { true }
8182

8283
fn visit_enter_class(_n_fields: uint,
8384
_sz: uint, _align: uint) -> bool { true }
8485
fn visit_class_field(_i: uint, _name: &str,
85-
_mtbl: uint, _inner: *tydesc) -> bool { true }
86+
_mtbl: uint, _inner: *TyDesc) -> bool { true }
8687
fn visit_leave_class(_n_fields: uint,
8788
_sz: uint, _align: uint) -> bool { true }
8889

8990
fn visit_enter_tup(_n_fields: uint,
9091
_sz: uint, _align: uint) -> bool { true }
91-
fn visit_tup_field(_i: uint, _inner: *tydesc) -> bool { true }
92+
fn visit_tup_field(_i: uint, _inner: *TyDesc) -> bool { true }
9293
fn visit_leave_tup(_n_fields: uint,
9394
_sz: uint, _align: uint) -> bool { true }
9495

@@ -98,7 +99,7 @@ impl of ty_visitor for my_visitor {
9899
_disr_val: int,
99100
_n_fields: uint,
100101
_name: &str) -> bool { true }
101-
fn visit_enum_variant_field(_i: uint, _inner: *tydesc) -> bool { true }
102+
fn visit_enum_variant_field(_i: uint, _inner: *TyDesc) -> bool { true }
102103
fn visit_leave_enum_variant(_variant: uint,
103104
_disr_val: int,
104105
_n_fields: uint,
@@ -108,8 +109,8 @@ impl of ty_visitor for my_visitor {
108109

109110
fn visit_enter_fn(_purity: uint, _proto: uint,
110111
_n_inputs: uint, _retstyle: uint) -> bool { true }
111-
fn visit_fn_input(_i: uint, _mode: uint, _inner: *tydesc) -> bool { true }
112-
fn visit_fn_output(_retstyle: uint, _inner: *tydesc) -> bool { true }
112+
fn visit_fn_input(_i: uint, _mode: uint, _inner: *TyDesc) -> bool { true }
113+
fn visit_fn_output(_retstyle: uint, _inner: *TyDesc) -> bool { true }
113114
fn visit_leave_fn(_purity: uint, _proto: uint,
114115
_n_inputs: uint, _retstyle: uint) -> bool { true }
115116

@@ -121,17 +122,17 @@ impl of ty_visitor for my_visitor {
121122
fn visit_self() -> bool { true }
122123
fn visit_type() -> bool { true }
123124
fn visit_opaque_box() -> bool { true }
124-
fn visit_constr(_inner: *tydesc) -> bool { true }
125+
fn visit_constr(_inner: *TyDesc) -> bool { true }
125126
fn visit_closure_ptr(_ck: uint) -> bool { true }
126127
}
127128

128-
fn visit_ty<T>(v: ty_visitor) {
129+
fn visit_ty<T>(v: TyVisitor) {
129130
visit_tydesc(get_tydesc::<T>(), v);
130131
}
131132

132133
fn main() {
133134
let v = my_visitor(@{mut types: ~[]});
134-
let vv = v as ty_visitor;
135+
let vv = v as TyVisitor;
135136

136137
visit_ty::<bool>(vv);
137138
visit_ty::<int>(vv);

src/test/run-pass/task-compare.rs

Lines changed: 47 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,60 @@
1+
// xfail-test
12
/**
23
A test case for issue #577, which also exposes #588
34
*/
45

56
extern mod std;
6-
use task::join;
77

88
fn child() { }
99

10+
struct notify {
11+
ch: comm::Chan<bool>, v: @mut bool,
12+
drop {
13+
error!("notify: task=%? v=%x unwinding=%b b=%b",
14+
task::get_task(),
15+
ptr::addr_of(&(*(self.v))) as uint,
16+
task::failing(),
17+
*(self.v));
18+
let b = *(self.v);
19+
comm::send(self.ch, b);
20+
}
21+
}
22+
23+
fn notify(ch: comm::Chan<bool>, v: @mut bool) -> notify {
24+
notify {
25+
ch: ch,
26+
v: v
27+
}
28+
}
29+
30+
fn joinable(+f: fn~()) -> comm::Port<bool> {
31+
fn wrapper(+c: comm::Chan<bool>, +f: fn()) {
32+
let b = @mut false;
33+
error!("wrapper: task=%? allocated v=%x",
34+
task::get_task(),
35+
ptr::addr_of(&(*b)) as uint);
36+
let _r = notify(c, b);
37+
f();
38+
*b = true;
39+
}
40+
let p = comm::Port();
41+
let c = comm::Chan(&p);
42+
do task::spawn_unlinked { wrapper(c, copy f) };
43+
p
44+
}
45+
46+
fn join(port: comm::Port<bool>) -> bool {
47+
comm::recv(port)
48+
}
49+
1050
fn main() {
1151
// tasks
1252
let t1;
1353
let t2;
1454

1555
let c1 = child, c2 = child;
16-
t1 = task::spawn_joinable(c1);
17-
t2 = task::spawn_joinable(c2);
56+
t1 = joinable(c1);
57+
t2 = joinable(c2);
1858

1959
assert (t1 == t1);
2060
assert (t1 != t2);
@@ -23,15 +63,15 @@ fn main() {
2363
let p1;
2464
let p2;
2565

26-
p1 = comm::port::<int>();
27-
p2 = comm::port::<int>();
66+
p1 = comm::Port::<int>();
67+
p2 = comm::Port::<int>();
2868

2969
assert (p1 == p1);
3070
assert (p1 != p2);
3171

3272
// channels
33-
let c1 = comm::chan(p1);
34-
let c2 = comm::chan(p2);
73+
let c1 = comm::Chan(p1);
74+
let c2 = comm::Chan(p2);
3575

3676
assert (c1 == c1);
3777
assert (c1 != c2);

0 commit comments

Comments
 (0)