diff --git a/src/rustdoc/rustdoc.rs b/src/rustdoc/rustdoc.rs index 2afd944ad3e..ef1e96eaefc 100755 --- a/src/rustdoc/rustdoc.rs +++ b/src/rustdoc/rustdoc.rs @@ -159,7 +159,6 @@ fn doc_item(rd: rustdoc, item: @ast::item) { ast::item_mod(_mod) { } ast::item_ty(ty, typarams) { } ast::item_tag(variant, typarams) { } - ast::item_obj(_obj, typarams, node_id) { } ast::item_res(_, _, _, _, _) { } }; } diff --git a/src/test/bench/shootout-fasta.rs b/src/test/bench/shootout-fasta.rs index a47c0548a27..7145c0fc105 100644 --- a/src/test/bench/shootout-fasta.rs +++ b/src/test/bench/shootout-fasta.rs @@ -13,12 +13,11 @@ import str; fn LINE_LENGTH() -> uint { ret 60u; } -obj myrandom(mutable last: u32) { - fn next(mx: u32) -> u32 { - last = (last * 3877u32 + 29573u32) % 139968u32; - let ans = mx * last / 139968u32; - ret ans; - } +type myrandom = @{mutable last: u32}; + +fn myrandom_next(r: myrandom, mx: u32) -> u32 { + r.last = (r.last * 3877u32 + 29573u32) % 139968u32; + mx * r.last / 139968u32 } type aminoacids = {ch: char, prob: u32}; @@ -45,10 +44,11 @@ fn select_random(r: u32, genelist: [aminoacids]) -> char { fn make_random_fasta(id: str, desc: str, genelist: [aminoacids], n: int) { log(debug, ">" + id + " " + desc); - let rng = myrandom(std::rand::mk_rng().next()); + let rng = @{mutable last: std::rand::mk_rng().next()}; let op: str = ""; - uint::range(0u, n as uint) {|i| - str::push_byte(op, select_random(rng.next(100u32), genelist) as u8); + uint::range(0u, n as uint) {|_i| + str::push_byte(op, select_random(myrandom_next(rng, 100u32), + genelist) as u8); if str::byte_len(op) >= LINE_LENGTH() { log(debug, op); op = ""; @@ -73,7 +73,7 @@ fn make_repeat_fasta(id: str, desc: str, s: str, n: int) { fn acid(ch: char, prob: u32) -> aminoacids { ret {ch: ch, prob: prob}; } -fn main(args: [str]) { +fn main() { let iub: [aminoacids] = make_cumulative([acid('a', 27u32), acid('c', 12u32), acid('g', 12u32), acid('t', 27u32), acid('B', 2u32), acid('D', 2u32), diff --git a/src/test/compile-fail/anon-obj-overriding-wrong-type.rs b/src/test/compile-fail/anon-obj-overriding-wrong-type.rs deleted file mode 100644 index 764cb7bdb41..00000000000 --- a/src/test/compile-fail/anon-obj-overriding-wrong-type.rs +++ /dev/null @@ -1,22 +0,0 @@ -//error-pattern: with one of a different type -use std; - -fn main() { - - obj a() { - fn foo() -> int { ret 2; } - fn bar() -> int { ret self.foo(); } - } - - let my_a = a(); - - // Attempting to override a method with one of a different type. - let my_b = - obj () { - fn foo() -> str { ret "hello"; } - with - my_a - }; - - log(error, my_b.foo()); -} diff --git a/src/test/compile-fail/bad-env-capture3.rs b/src/test/compile-fail/bad-env-capture3.rs index 673a22ce11a..67a6221df01 100644 --- a/src/test/compile-fail/bad-env-capture3.rs +++ b/src/test/compile-fail/bad-env-capture3.rs @@ -1,5 +1,5 @@ // error-pattern: attempted dynamic environment-capture -obj foo(x: int) { +fn foo(x: int) { fn mth() { fn bar() { log(debug, x); } } diff --git a/src/test/compile-fail/bad-type-env-capture.rs b/src/test/compile-fail/bad-type-env-capture.rs index 712d1466230..2a59af3fe80 100644 --- a/src/test/compile-fail/bad-type-env-capture.rs +++ b/src/test/compile-fail/bad-type-env-capture.rs @@ -1,6 +1,6 @@ // xfail-test // error-pattern: attempted dynamic environment-capture fn foo() { - obj bar(b: T) { } + fn bar(b: T) { } } fn main() { } diff --git a/src/test/compile-fail/binop-sub-obj.rs b/src/test/compile-fail/binop-sub-obj.rs deleted file mode 100644 index 630cd288a49..00000000000 --- a/src/test/compile-fail/binop-sub-obj.rs +++ /dev/null @@ -1,3 +0,0 @@ -// error-pattern:- cannot be applied to type `obj - -fn main() { let x = obj () { } - obj () { }; } diff --git a/src/test/compile-fail/constructor-as-cast.rs b/src/test/compile-fail/constructor-as-cast.rs deleted file mode 100644 index 85d8c7850cf..00000000000 --- a/src/test/compile-fail/constructor-as-cast.rs +++ /dev/null @@ -1,10 +0,0 @@ -// error-pattern: unresolved name: base -type base = - obj { - fn foo(); - }; -obj derived() { - fn foo() { } - fn bar() { } -} -fn main() { let d: derived = derived(); let b: base = base(d); } diff --git a/src/test/compile-fail/direct-obj-fn-call.rs b/src/test/compile-fail/direct-obj-fn-call.rs deleted file mode 100644 index fc893dea438..00000000000 --- a/src/test/compile-fail/direct-obj-fn-call.rs +++ /dev/null @@ -1,7 +0,0 @@ -// error-pattern: attempted access of field hello - -obj x() { - fn hello() { #debug("hello"); } -} - -fn main() { x.hello(); } diff --git a/src/test/compile-fail/extend-non-object.rs b/src/test/compile-fail/extend-non-object.rs deleted file mode 100644 index 0857ac990c0..00000000000 --- a/src/test/compile-fail/extend-non-object.rs +++ /dev/null @@ -1,13 +0,0 @@ -//error-pattern:x does not have object type -use std; - -fn main() { - let x = 3; - - let anon_obj = - obj () { - fn foo() -> int { ret 3; } - with - x - }; -} diff --git a/src/test/compile-fail/no-self-dispatch.rs b/src/test/compile-fail/no-self-dispatch.rs deleted file mode 100644 index 876c668e8c6..00000000000 --- a/src/test/compile-fail/no-self-dispatch.rs +++ /dev/null @@ -1,6 +0,0 @@ -// error-pattern: unresolved name -obj oT() { - fn get() -> int { ret 3; } - fn foo() { let c = get(); } -} -fn main() { } diff --git a/src/test/compile-fail/not-a-pred-3.rs b/src/test/compile-fail/not-a-pred-3.rs deleted file mode 100644 index 3ca98a5c1ce..00000000000 --- a/src/test/compile-fail/not-a-pred-3.rs +++ /dev/null @@ -1,13 +0,0 @@ -// -*- rust -*- - -// error-pattern: expected the constraint name - -obj f() { - fn g(q: int) -> bool { ret true; } -} - -fn main() { - let z = f(); - // should fail to typecheck, as z.g isn't an explicit name - check (z.g(42)); -} diff --git a/src/test/compile-fail/not-a-pred.rs b/src/test/compile-fail/not-a-pred.rs index 80e227ffb16..a7ccb475114 100644 --- a/src/test/compile-fail/not-a-pred.rs +++ b/src/test/compile-fail/not-a-pred.rs @@ -3,6 +3,6 @@ fn f(a: int, b: int) : lt(a, b) { } -obj lt(a: int, b: int) { } +fn lt(a: int, b: int) { } fn main() { let a: int = 10; let b: int = 23; check (lt(a, b)); f(a, b); } diff --git a/src/test/compile-fail/self-call-non-obj.rs b/src/test/compile-fail/self-call-non-obj.rs deleted file mode 100644 index 8de59268482..00000000000 --- a/src/test/compile-fail/self-call-non-obj.rs +++ /dev/null @@ -1,10 +0,0 @@ -// error-pattern:unresolved name: self - -// Fix for issue #707. -fn main() { - - fn foo() -> int { ret 3(); } - - self.foo(); - -} diff --git a/src/test/compile-fail/self-missing-method.rs b/src/test/compile-fail/self-missing-method.rs deleted file mode 100644 index 21069a4832e..00000000000 --- a/src/test/compile-fail/self-missing-method.rs +++ /dev/null @@ -1,12 +0,0 @@ -// error-pattern:attempted access of field m on type fn -fn main() { - - obj foo() { - fn m() { - self(); - } - } - - let a = foo; - a.m(); -} diff --git a/src/test/compile-fail/writing-to-immutable-obj.rs b/src/test/compile-fail/writing-to-immutable-obj.rs deleted file mode 100644 index 559e69275c7..00000000000 --- a/src/test/compile-fail/writing-to-immutable-obj.rs +++ /dev/null @@ -1,5 +0,0 @@ -// error-pattern:assigning to immutable object field -obj objy(x: int) { - fn foo() { x = 5; } -} -fn main() { } diff --git a/src/test/pretty/anon-obj.rs b/src/test/pretty/anon-obj.rs deleted file mode 100644 index d6454759ad5..00000000000 --- a/src/test/pretty/anon-obj.rs +++ /dev/null @@ -1,14 +0,0 @@ -// pp-exact - -fn main() { - let my_obj = - obj () { - fn foo() { } - }; - let my_ext_obj = - obj () { - fn foo() { } - with - my_obj - }; -} diff --git a/src/test/run-pass/anon-obj-backwarding-2.rs b/src/test/run-pass/anon-obj-backwarding-2.rs deleted file mode 100644 index 039d25be381..00000000000 --- a/src/test/run-pass/anon-obj-backwarding-2.rs +++ /dev/null @@ -1,25 +0,0 @@ -use std; - -fn main() { - - obj a() { - fn foo() -> int { ret 2; } - fn bar() -> int { ret self.foo(); } - } - - let my_a = a(); - - let my_b = - obj () { - fn baz() -> int { ret self.foo(); } - with - my_a - }; - - assert (my_a.foo() == 2); - assert (my_a.bar() == 2); - assert (my_b.foo() == 2); - assert (my_b.baz() == 2); - assert (my_b.bar() == 2); - -} diff --git a/src/test/run-pass/anon-obj-backwarding.rs b/src/test/run-pass/anon-obj-backwarding.rs deleted file mode 100644 index 4b8664eed93..00000000000 --- a/src/test/run-pass/anon-obj-backwarding.rs +++ /dev/null @@ -1,23 +0,0 @@ -use std; - -fn main() { - - obj inner() { - fn a() -> int { ret 2; } - fn m() -> uint { ret 3u; } - fn z() -> uint { ret self.m(); } - } - - let my_inner = inner(); - - let my_outer = - obj () { - fn b() -> uint { ret 5u; } - fn n() -> str { ret "world!"; } - with - my_inner - }; - - assert (my_inner.z() == 3u); - assert (my_outer.z() == 3u); -} diff --git a/src/test/run-pass/anon-obj-cats.rs b/src/test/run-pass/anon-obj-cats.rs deleted file mode 100644 index c1024afc6ec..00000000000 --- a/src/test/run-pass/anon-obj-cats.rs +++ /dev/null @@ -1,46 +0,0 @@ -fn main() { - - // The Internet made me do it. - - obj cat() { - fn ack() -> str { ret "ack"; } - fn meow() -> str { ret "meow"; } - fn zzz() -> str { ret self.meow(); } - } - - let shortcat = cat(); - - let longcat = - obj () { - fn lol() -> str { ret "lol"; } - fn nyan() -> str { ret "nyan"; } - with - shortcat - }; - - let longercat = - obj () { - fn meow() -> str { ret "zzz"; } - with - shortcat - }; - - let evenlongercat = - obj () { - fn meow() -> str { ret "zzzzzz"; } - with - longercat - }; - - // Tests self-call. - assert (shortcat.zzz() == "meow"); - - // Tests forwarding/backwarding + self-call. - assert (longcat.zzz() == "meow"); - - // Tests forwarding/backwarding + self-call + override. - assert (longercat.zzz() == "zzz"); - - // Tests two-level forwarding/backwarding + self-call + override. - assert (evenlongercat.zzz() == "zzzzzz"); -} diff --git a/src/test/run-pass/anon-obj-degenerate.rs b/src/test/run-pass/anon-obj-degenerate.rs deleted file mode 100644 index c9c47e29008..00000000000 --- a/src/test/run-pass/anon-obj-degenerate.rs +++ /dev/null @@ -1,20 +0,0 @@ -use std; - -fn main() { - - obj a() { - fn foo() -> int { ret 2; } - fn bar() -> int { ret self.foo(); } - } - - let my_a = a(); - - // Degenerate anonymous object: one that doesn't add any new - // methods or fields. - - let my_d = obj () { with my_a }; - - assert (my_d.foo() == 2); - assert (my_d.bar() == 2); - -} diff --git a/src/test/run-pass/anon-obj-no-inner-obj-simple.rs b/src/test/run-pass/anon-obj-no-inner-obj-simple.rs deleted file mode 100644 index 3e782ce56de..00000000000 --- a/src/test/run-pass/anon-obj-no-inner-obj-simple.rs +++ /dev/null @@ -1,43 +0,0 @@ -use std; - -fn main() { - - // Anonymous object that doesn't extend an existing one. - let my_obj = - obj () { - fn foo() -> int { ret 2; } - fn bar() -> int { ret 3; } - fn baz() -> str { "hello!" } - }; - - assert (my_obj.foo() == 2); - assert (my_obj.bar() == 3); - assert (my_obj.baz() == "hello!"); - - // Make sure the result is extendable. - let my_ext_obj = - obj () { - fn foo() -> int { ret 3; } - fn quux() -> str { ret self.baz(); } - with - my_obj - }; - - assert (my_ext_obj.foo() == 3); - assert (my_ext_obj.bar() == 3); - assert (my_ext_obj.baz() == "hello!"); - assert (my_ext_obj.quux() == "hello!"); - - // And again. - let my_ext_ext_obj = - obj () { - fn baz() -> str { "world!" } - with - my_ext_obj - }; - - assert (my_ext_ext_obj.foo() == 3); - assert (my_ext_ext_obj.bar() == 3); - assert (my_ext_ext_obj.baz() == "world!"); - assert (my_ext_ext_obj.quux() == "world!"); -} diff --git a/src/test/run-pass/anon-obj-no-inner-obj.rs b/src/test/run-pass/anon-obj-no-inner-obj.rs deleted file mode 100644 index 7326144d18a..00000000000 --- a/src/test/run-pass/anon-obj-no-inner-obj.rs +++ /dev/null @@ -1,20 +0,0 @@ -//xfail-test -use std; - -// This is failing not because it's an anonymous object from nothing -// -- that park seems to work fine -- but, rather, because methods -// that are added to an object at the same time can't refer to each -// other (issue #822). - -fn main() { - - // Anonymous object that doesn't extend an existing one. - let my_obj = obj () { - fn foo() -> int { ret 2; } - fn bar() -> int { ret self.foo(); } - }; - - assert (my_obj.foo() == 2); - assert (my_obj.bar() == 2); - -} diff --git a/src/test/run-pass/anon-obj-overriding-reduced.rs b/src/test/run-pass/anon-obj-overriding-reduced.rs deleted file mode 100644 index 3eb7c72d864..00000000000 --- a/src/test/run-pass/anon-obj-overriding-reduced.rs +++ /dev/null @@ -1,18 +0,0 @@ -// Reduced test case for issue #543. -fn main() { - - obj a() { - fn foo() -> int { ret 2; } - } - - let my_a = a(); - - let my_b = - obj () { - fn foo() -> int { ret 3; } - with - my_a - }; - - assert (my_b.foo() == 3); -} diff --git a/src/test/run-pass/anon-obj-overriding.rs b/src/test/run-pass/anon-obj-overriding.rs deleted file mode 100644 index e9551900b26..00000000000 --- a/src/test/run-pass/anon-obj-overriding.rs +++ /dev/null @@ -1,39 +0,0 @@ -use std; - -fn main() { - - obj a() { - fn foo() -> int { ret 2; } - fn bar() -> int { ret self.foo(); } - } - - let my_a = a(); - - // An anonymous object that overloads the 'foo' method. - let my_b = - obj () { - fn foo() -> int { ret 3; } - with - my_a - }; - - assert (my_b.foo() == 3); - assert (my_b.bar() == 3); - - let my_c = - obj () { - fn baz(x: int, y: int) -> int { ret x + y + self.foo(); } - with - my_b - }; - - let my_d = - obj () { - fn baz(x: int, y: int) -> int { ret x + y + self.foo(); } - with - my_a - }; - - assert (my_c.baz(1, 2) == 6); - assert (my_d.baz(1, 2) == 5); -} diff --git a/src/test/run-pass/anon-obj-refer-to-parallel-method.rs b/src/test/run-pass/anon-obj-refer-to-parallel-method.rs deleted file mode 100644 index 6340b128554..00000000000 --- a/src/test/run-pass/anon-obj-refer-to-parallel-method.rs +++ /dev/null @@ -1,22 +0,0 @@ -//xfail-test - -// Test case for issue #822. -fn main() { - obj a() { - fn foo() -> int { - ret 2; - } - } - - let my_a = a(); - - let my_b = obj() { - fn bar() -> int { - ret self.baz(); - } - fn baz() -> int { - ret 3; - } - with my_a - }; -} diff --git a/src/test/run-pass/anon-obj-with-self-call-2.rs b/src/test/run-pass/anon-obj-with-self-call-2.rs deleted file mode 100644 index 807f1275d8a..00000000000 --- a/src/test/run-pass/anon-obj-with-self-call-2.rs +++ /dev/null @@ -1,16 +0,0 @@ -// Reduced test case for issue #540. -fn main() { - obj a() { - fn foo() -> int { ret 2; } - } - - let my_a = a(); - let my_b = - obj () { - fn baz() -> int { ret self.foo(); } - with - my_a - }; - - assert (my_b.baz() == 2); -} diff --git a/src/test/run-pass/anon-obj-with-self-call.rs b/src/test/run-pass/anon-obj-with-self-call.rs deleted file mode 100644 index 76faa9decc4..00000000000 --- a/src/test/run-pass/anon-obj-with-self-call.rs +++ /dev/null @@ -1,31 +0,0 @@ -use std; - -fn main() { - - obj a() { - fn foo() -> int { ret 2; } - fn bar() -> int { ret self.foo(); } - } - - let my_a = a(); - - let my_b = - obj () { - fn baz() -> int { ret self.foo(); } - with - my_a - }; - - assert (my_b.baz() == 2); - - let my_c = - obj () { - fn foo() -> int { ret 3; } - fn baz() -> int { ret self.foo(); } - with - my_a - }; - - assert (my_c.baz() == 3); - assert (my_c.bar() == 3); -} diff --git a/src/test/run-pass/anon-objs-with-fields.rs b/src/test/run-pass/anon-objs-with-fields.rs deleted file mode 100644 index 226c2b9fd21..00000000000 --- a/src/test/run-pass/anon-objs-with-fields.rs +++ /dev/null @@ -1,26 +0,0 @@ -//xfail-test -use std; - -fn main() { - - obj a() { - fn foo() -> int { ret 2; } - fn bar() -> int { ret self.foo(); } - } - - let my_a = a(); - - // Extending an object with a new field. Adding support for this - // is issue #538. - - // Right now, this fails with "unresolved name: quux". - let my_c = - obj (quux: int = 3) { - fn baz() -> int { ret quux + 4; } - with - my_a - }; - - assert (my_c.baz() == 7); - -} \ No newline at end of file diff --git a/src/test/run-pass/autoderef-objfn.rs b/src/test/run-pass/autoderef-objfn.rs deleted file mode 100644 index 930fbe545b5..00000000000 --- a/src/test/run-pass/autoderef-objfn.rs +++ /dev/null @@ -1,11 +0,0 @@ - - - -// -*- rust -*- -obj clam() { - fn chowder() { #debug("in clam chowder"); } -} - -fn foo(c: @clam) { c.chowder(); } - -fn main() { let c: clam = clam(); foo(@c); } diff --git a/src/test/run-pass/bind-obj-ctor.rs b/src/test/run-pass/bind-obj-ctor.rs deleted file mode 100644 index a76b17cc10a..00000000000 --- a/src/test/run-pass/bind-obj-ctor.rs +++ /dev/null @@ -1,17 +0,0 @@ - - -fn main() { - // Testcase for issue #59. - - obj simple(x: int, y: int) { - fn sum() -> int { ret x + y; } - } - let obj0 = simple(1, 2); - let ctor0 = bind simple(1, _); - let ctor1 = bind simple(_, 2); - let obj1 = ctor0(2); - let obj2 = ctor1(1); - assert (obj0.sum() == 3); - assert (obj1.sum() == 3); - assert (obj2.sum() == 3); -} diff --git a/src/test/run-pass/binops.rs b/src/test/run-pass/binops.rs index e5345f8a79e..2f0430cda57 100644 --- a/src/test/run-pass/binops.rs +++ b/src/test/run-pass/binops.rs @@ -132,29 +132,6 @@ fn test_native_fn() { */ } -fn test_obj() { - let o1 = obj () { }; - let o2 = obj () { }; - - assert (o1 == o1); - - // FIXME (#815): This doesn't work on linux only. Wierd. - //assert (o1 != o2); - //assert (!(o1 == o2)); - - obj constr1(i: int) { } - obj constr2(i: int) { } - - let o5 = constr1(10); - let o6 = constr1(10); - let o7 = constr1(11); - let o8 = constr2(11); - - assert (o5 != o6); - assert (o6 != o7); - assert (o7 != o8); -} - fn main() { test_nil(); test_bool(); @@ -166,5 +143,4 @@ fn main() { test_task(); test_fn(); test_native_fn(); - test_obj(); } diff --git a/src/test/run-pass/conditional-compile.rs b/src/test/run-pass/conditional-compile.rs index 921f7a2fae7..46187c3b53b 100644 --- a/src/test/run-pass/conditional-compile.rs +++ b/src/test/run-pass/conditional-compile.rs @@ -24,13 +24,6 @@ tag tg { foo; } tag tg { bar; } -#[cfg(bogus)] -obj o() { - fn f() { ret bogus; } -} - -obj o() { } - #[cfg(bogus)] resource r(i: int) { } diff --git a/src/test/run-pass/cycle-collection5.rs b/src/test/run-pass/cycle-collection5.rs index b7bd635c220..af01d9a35e7 100644 --- a/src/test/run-pass/cycle-collection5.rs +++ b/src/test/run-pass/cycle-collection5.rs @@ -1,10 +1,9 @@ type foo = { mutable z : fn@() }; fn nop() { } -fn nop_foo(_y: o, _x : @foo) { } +fn nop_foo(_y: @int, _x : @foo) { } -obj o() { -} +fn o() -> @int { @10 } fn main() { let w = @{ mutable z: bind nop() }; diff --git a/src/test/run-pass/first-class-method.rs b/src/test/run-pass/first-class-method.rs deleted file mode 100644 index e327c7a6cf0..00000000000 --- a/src/test/run-pass/first-class-method.rs +++ /dev/null @@ -1,9 +0,0 @@ -// xfail-test - -// Test case for issue #758. -obj foo() { fn f() { } } - -fn main() { - let my_foo = foo(); - let f = my_foo.f; -} diff --git a/src/test/run-pass/foreach-unique-drop.rs b/src/test/run-pass/foreach-unique-drop.rs deleted file mode 100644 index 1c8f900b2e0..00000000000 --- a/src/test/run-pass/foreach-unique-drop.rs +++ /dev/null @@ -1,8 +0,0 @@ - -obj ob(k: K) { - fn foo(it: block(~{a: K})) { it(~{a: k}); } -} - -fn x(o: ob) { o.foo() {|_i|}; } - -fn main() { let o = ob::("hi" + "there"); x(o); } diff --git a/src/test/run-pass/generic-obj-with-derived-type.rs b/src/test/run-pass/generic-obj-with-derived-type.rs deleted file mode 100644 index 2c4e1804af5..00000000000 --- a/src/test/run-pass/generic-obj-with-derived-type.rs +++ /dev/null @@ -1,18 +0,0 @@ - - -obj handle(data: T) { - fn get() -> T { ret data; } -} - -fn main() { - type rgb = {x: u8, y: u8, z: u8}; - - let h: handle = handle::({x: 1 as u8, y: 2 as u8, z: 3 as u8}); - #debug("constructed object"); - log(debug, h.get().x); - log(debug, h.get().y); - log(debug, h.get().z); - assert (h.get().x == 1 as u8); - assert (h.get().y == 2 as u8); - assert (h.get().z == 3 as u8); -} diff --git a/src/test/run-pass/generic-obj.rs b/src/test/run-pass/generic-obj.rs deleted file mode 100644 index 5eedeecb5bc..00000000000 --- a/src/test/run-pass/generic-obj.rs +++ /dev/null @@ -1,23 +0,0 @@ - - -obj buf(data: {_0: T, _1: T, _2: T}) { - fn get(i: int) -> T { - if i == 0 { - ret data._0; - } else { if i == 1 { ret data._1; } else { ret data._2; } } - } - fn take(t: T) { } - fn take2(t: T) { } -} - -fn main() { - let b: buf = buf::({_0: 1, _1: 2, _2: 3}); - #debug("constructed object"); - log(debug, b.get(0)); - log(debug, b.get(1)); - log(debug, b.get(2)); - assert (b.get(0) == 1); - assert (b.get(1) == 2); - assert (b.get(2) == 3); - b.take2(0); -} diff --git a/src/test/run-pass/init-res-into-things.rs b/src/test/run-pass/init-res-into-things.rs index 3ac3ad50a3c..71b5a7e9e42 100644 --- a/src/test/run-pass/init-res-into-things.rs +++ b/src/test/run-pass/init-res-into-things.rs @@ -59,14 +59,6 @@ fn test_box_rec() { assert *i == 1; } -fn test_obj() { - obj o(_f: r) {} - let i = @mutable 0; - let rr = r(i); - { let _oo = o(rr); } - assert *i == 1; -} - fn main() { test_box(); test_rec(); @@ -75,5 +67,4 @@ fn main() { test_tup(); test_unique(); test_box_rec(); - test_obj(); } diff --git a/src/test/run-pass/interface-narrowing.rs b/src/test/run-pass/interface-narrowing.rs deleted file mode 100644 index d5f07efc086..00000000000 --- a/src/test/run-pass/interface-narrowing.rs +++ /dev/null @@ -1,17 +0,0 @@ -//xfail-test - -// Test case for issue #115. -type base = - obj { - fn foo(); - }; - -obj derived() { - fn foo() {} - fn bar() {} -} - -fn main() { - let d = derived(); - let b:base = d as base; -} diff --git a/src/test/run-pass/issue-718.rs b/src/test/run-pass/issue-718.rs deleted file mode 100644 index 31316f3d1ef..00000000000 --- a/src/test/run-pass/issue-718.rs +++ /dev/null @@ -1,22 +0,0 @@ -fn main() { - - obj a() { - fn foo() -> int { ret 2; } - } - - let my_a = a(); - - let my_b = obj () { with my_a }; - - assert (my_b.foo() == 2); - - let my_c = obj () { with my_b }; - - assert (my_c.foo() == 2); - - // ...One more for good measure. - let my_d = obj () { with my_b }; - - assert (my_d.foo() == 2); -} - diff --git a/src/test/run-pass/item-attributes.rs b/src/test/run-pass/item-attributes.rs index 87d583a2ce9..eba33e5e67f 100644 --- a/src/test/run-pass/item-attributes.rs +++ b/src/test/run-pass/item-attributes.rs @@ -31,13 +31,6 @@ mod test_single_attr_outer { #[attr = "val"] #[abi = "cdecl"] native mod rustrt { } - - #[attr = "val"] - type t = obj { }; - - - #[attr = "val"] - obj o() { } } mod test_multi_attr_outer { @@ -61,12 +54,7 @@ mod test_multi_attr_outer { #[attr1 = "val"] #[attr2 = "val"] - type t = obj { }; - - - #[attr1 = "val"] - #[attr2 = "val"] - obj o() { } + type t = {x: int}; } mod test_stmt_single_attr_outer { @@ -89,13 +77,6 @@ mod test_stmt_single_attr_outer { native mod rustrt { } */ - - #[attr = "val"] - type t = obj { }; - - #[attr = "val"] - obj o() { } - } } @@ -123,15 +104,6 @@ mod test_stmt_multi_attr_outer { native mod rustrt { } */ - - #[attr1 = "val"] - #[attr2 = "val"] - type t = obj { }; - - #[attr1 = "val"] - #[attr2 = "val"] - obj o() { } - } } diff --git a/src/test/run-pass/nested-obj-self.rs b/src/test/run-pass/nested-obj-self.rs deleted file mode 100644 index f664ef50ee2..00000000000 --- a/src/test/run-pass/nested-obj-self.rs +++ /dev/null @@ -1,28 +0,0 @@ - - -fn main() { - obj foo() { - fn m1() -> str { ret "foo.m1"; } - fn m2() -> str { ret self.m1(); } - fn m3() -> str { - let s1: str = self.m2(); - assert (s1 == "foo.m1"); - obj bar() { - fn m1() -> str { ret "bar.m1"; } - fn m2() -> str { ret self.m1(); } - } - let b = bar(); - let s3: str = b.m2(); - let s4: str = self.m2(); - assert (s4 == "foo.m1"); - ret s3; - } - } - let a = foo(); - let s1: str = a.m1(); - assert (s1 == "foo.m1"); - let s2: str = a.m2(); - assert (s2 == "foo.m1"); - let s3: str = a.m3(); - assert (s3 == "bar.m1"); -} diff --git a/src/test/run-pass/obj-as.rs b/src/test/run-pass/obj-as.rs deleted file mode 100644 index 26c27435ce1..00000000000 --- a/src/test/run-pass/obj-as.rs +++ /dev/null @@ -1,20 +0,0 @@ -// xfail-test -obj big() { - fn one() -> int { ret 1; } - fn two() -> int { ret 2; } - fn three() -> int { ret 3; } -} - -type small = - obj { - fn one() -> int ; - }; - -fn main() { - let b: big = big(); - assert (b.one() == 1); - assert (b.two() == 2); - assert (b.three() == 3); - let s: small = b as small; - assert (s.one() == 1); -} \ No newline at end of file diff --git a/src/test/run-pass/obj-docs.rs b/src/test/run-pass/obj-docs.rs deleted file mode 100644 index 3da7f5a29fa..00000000000 --- a/src/test/run-pass/obj-docs.rs +++ /dev/null @@ -1,57 +0,0 @@ -// Sanity-check the code examples that appear in the object system -// documentation. -use std; -import comm::chan; -import comm::send; -import comm::port; - -fn main() { - - // Ref.Item.Obj - obj counter(state: @mutable int) { - fn incr() { *state += 1; } - fn get() -> int { ret *state; } - } - - let c: counter = counter(@mutable 1); - - c.incr(); - c.incr(); - assert (c.get() == 3); - - obj my_obj() { - fn get() -> int { ret 3; } - fn foo() -> int { - let c = self.get(); - ret c + 2; // returns 5 - } - } - - let o = my_obj(); - assert (o.foo() == 5); - - // Ref.Type.Obj - type taker = - obj { - fn take(int); - }; - - obj adder(x: @mutable int) { - fn take(y: int) { *x += y; } - } - - obj sender(c: chan) { - fn take(z: int) { send(c, copy z); } - } - - fn give_ints(t: taker) { t.take(1); t.take(2); t.take(3); } - - let p = port(); - - let t1: taker = adder(@mutable 0); - let t2: taker = sender(chan(p)); - - give_ints(t1); - give_ints(t2); -} - diff --git a/src/test/run-pass/obj-drop.rs b/src/test/run-pass/obj-drop.rs deleted file mode 100644 index a823784e1b0..00000000000 --- a/src/test/run-pass/obj-drop.rs +++ /dev/null @@ -1,8 +0,0 @@ - - -fn main() { - obj handle(i: @int) { } - // This just tests whether the obj leaks its box state members. - - let ob = handle(@0xf00f00); -} diff --git a/src/test/run-pass/obj-recursion.rs b/src/test/run-pass/obj-recursion.rs deleted file mode 100644 index f1f998b376f..00000000000 --- a/src/test/run-pass/obj-recursion.rs +++ /dev/null @@ -1,19 +0,0 @@ - - -type adder = - obj { - fn add(); - }; - -obj leaf_adder(x: int) { - fn add() { #debug("leaf"); log(debug, x); } -} - -obj delegate_adder(a: adder) { - fn add() { a.add(); } -} - -fn main() { - let x = delegate_adder(delegate_adder(delegate_adder(leaf_adder(10)))); - x.add(); -} diff --git a/src/test/run-pass/obj-return-polytypes.rs b/src/test/run-pass/obj-return-polytypes.rs deleted file mode 100644 index 4c1f8d54ced..00000000000 --- a/src/test/run-pass/obj-return-polytypes.rs +++ /dev/null @@ -1,13 +0,0 @@ - - - -// -*- rust -*- -tag clam { signed(int); unsigned(uint); } - -fn getclam() -> clam { ret signed::(42); } - -obj impatience() { - fn moreclam() -> clam { be getclam::(); } -} - -fn main() { } diff --git a/src/test/run-pass/obj-self-2.rs b/src/test/run-pass/obj-self-2.rs deleted file mode 100644 index cf321594586..00000000000 --- a/src/test/run-pass/obj-self-2.rs +++ /dev/null @@ -1,12 +0,0 @@ - - -fn main() { - obj foo() { - fn m1(i: int) { let i = i + 1; #debug("hi!"); } - fn m2(i: int) { let i = i + 1; self.m1(i); } - } - let a = foo(); - let i: int = 0; - a.m1(i); - a.m2(i); -} diff --git a/src/test/run-pass/obj-self-3.rs b/src/test/run-pass/obj-self-3.rs deleted file mode 100644 index 16aa3a60971..00000000000 --- a/src/test/run-pass/obj-self-3.rs +++ /dev/null @@ -1,17 +0,0 @@ - - -fn main() { - obj foo() { - fn m1(i: int) -> int { let i = i + 1; ret i; } - fn m2(i: int) -> int { ret self.m1(i); } - fn m3(i: int) -> int { let i = i + 1; ret self.m1(i); } - } - let a = foo(); - let i: int = 0; - i = a.m1(i); - assert (i == 1); - i = a.m2(i); - assert (i == 2); - i = a.m3(i); - assert (i == 4); -} diff --git a/src/test/run-pass/obj-self-4.rs b/src/test/run-pass/obj-self-4.rs deleted file mode 100644 index e13a39f0998..00000000000 --- a/src/test/run-pass/obj-self-4.rs +++ /dev/null @@ -1,22 +0,0 @@ -fn main() { - obj foo(mutable i: int) { - fn inc_by(incr: int) -> int { i += incr; ret i; } - fn inc_by_5() -> int { ret self.inc_by(5); } - - // A test case showing that issue #324 is resolved. (It used to - // be that commenting out this (unused!) function produced a - // type error.) - // fn wrapper(int incr) -> int { - // ret self.inc_by(incr); - // } - fn get() -> int { ret i; } - } - let rs: int; - let o = foo(5); - rs = o.get(); - assert (rs == 5); - rs = o.inc_by(3); - assert (rs == 8); - rs = o.get(); - assert (rs == 8); -} diff --git a/src/test/run-pass/obj-self.rs b/src/test/run-pass/obj-self.rs deleted file mode 100644 index 588135c9121..00000000000 --- a/src/test/run-pass/obj-self.rs +++ /dev/null @@ -1,11 +0,0 @@ - - -fn main() { - obj foo() { - fn m1() { #debug("hi!"); } - fn m2() { self.m1(); } - } - let a = foo(); - a.m1(); - a.m2(); -} diff --git a/src/test/run-pass/obj-with-vec.rs b/src/test/run-pass/obj-with-vec.rs deleted file mode 100644 index 5ceab392c2e..00000000000 --- a/src/test/run-pass/obj-with-vec.rs +++ /dev/null @@ -1,10 +0,0 @@ - - -fn main() { - obj buf(data: [u8]) { - fn get(i: int) -> u8 { ret data[i]; } - } - let b = buf([1 as u8, 2 as u8, 3 as u8]); - log(debug, b.get(1)); - assert (b.get(1) == 2 as u8); -} diff --git a/src/test/run-pass/simple-anon-objs.rs b/src/test/run-pass/simple-anon-objs.rs deleted file mode 100644 index 5c2315d67d0..00000000000 --- a/src/test/run-pass/simple-anon-objs.rs +++ /dev/null @@ -1,29 +0,0 @@ -use std; - -fn main() { - obj normal() { - fn foo() -> int { ret 2; } - } - let my_normal_obj = normal(); - - // Extending an object with a new method - let my_anon_obj = - obj () { - fn bar() -> int { ret 3; } - with - my_normal_obj - }; - - assert (my_normal_obj.foo() == 2); - assert (my_anon_obj.bar() == 3); - - let another_anon_obj = - obj () { - fn baz() -> int { ret 4; } - with - my_anon_obj - }; - - assert (another_anon_obj.baz() == 4); - -} diff --git a/src/test/run-pass/simple-obj.rs b/src/test/run-pass/simple-obj.rs deleted file mode 100644 index fe85e2852ba..00000000000 --- a/src/test/run-pass/simple-obj.rs +++ /dev/null @@ -1,9 +0,0 @@ - - - -// -*- rust -*- -obj x() { - fn hello() { #debug("hello, object world"); } -} - -fn main() { let mx = x(); mx.hello(); } diff --git a/src/test/run-pass/standalone-method.rs b/src/test/run-pass/standalone-method.rs deleted file mode 100644 index a9d93917c4b..00000000000 --- a/src/test/run-pass/standalone-method.rs +++ /dev/null @@ -1,20 +0,0 @@ -// xfail-test - -// Test case for issue #435. -obj foo(x: int) { - fn add5(n: int) -> int { ret n + x; } -} - -fn add5(n: int) -> int { ret n + 5; } - -fn main() { - let fiveplusseven = bind add5(7); - assert (add5(7) == 12); - assert (fiveplusseven() == 12); - - let my_foo = foo(5); - let fiveplusseven_too = bind my_foo.add5(7); - assert (my_foo.add5(7) == 12); - assert (fiveplusseven_too() == 12); -} - diff --git a/src/test/run-pass/stateful-obj.rs b/src/test/run-pass/stateful-obj.rs deleted file mode 100644 index 102a226e298..00000000000 --- a/src/test/run-pass/stateful-obj.rs +++ /dev/null @@ -1,19 +0,0 @@ - - - -// -*- rust -*- -obj counter(mutable x: int) { - fn hello() -> int { ret 12345; } - fn incr() { x = x + 1; } - fn get() -> int { ret x; } -} - -fn main() { - let y = counter(0); - assert (y.hello() == 12345); - log(debug, y.get()); - y.incr(); - y.incr(); - log(debug, y.get()); - assert (y.get() == 2); -} diff --git a/src/test/run-pass/tag-and-generic-obj.rs b/src/test/run-pass/tag-and-generic-obj.rs deleted file mode 100644 index 529bb14a9b6..00000000000 --- a/src/test/run-pass/tag-and-generic-obj.rs +++ /dev/null @@ -1,9 +0,0 @@ - - -tag colour { red; green; } - -obj foo() { - fn meth(x: T) { } -} - -fn main() { foo::().meth(red); } diff --git a/src/test/run-pass/task-comm.rs b/src/test/run-pass/task-comm.rs index bd9d359383c..f029dcd61a2 100644 --- a/src/test/run-pass/task-comm.rs +++ b/src/test/run-pass/task-comm.rs @@ -12,7 +12,6 @@ fn main() { test00(); // test01(); test02(); - test03(); test04(); test05(); test06(); @@ -78,18 +77,6 @@ fn test02() { log(debug, value); } -obj vector(mutable x: int, y: int) { - fn length() -> int { x = x + 2; ret x + y; } -} - -fn test03() { - #debug("Creating object ..."); - let v: vector = vector(1, 2); - #debug("created object ..."); - let t: vector = v; - log(debug, v.length()); -} - fn test04_start() { #debug("Started task"); let i: int = 1024 * 1024;