diff --git a/src/test/compile-fail/arc-cant-nest-rw-arc-3177.rs b/src/test/compile-fail/arc-cant-nest-rw-arc-3177.rs index 3dafb076afe..49412b3aafd 100644 --- a/src/test/compile-fail/arc-cant-nest-rw-arc-3177.rs +++ b/src/test/compile-fail/arc-cant-nest-rw-arc-3177.rs @@ -8,12 +8,10 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test -// error-pattern: instantiating a type parameter with an incompatible type extern mod extra; -use extra::arc::rw_arc; +use extra::arc::RWArc; fn main() { - let arc1 = ~rw_arc(true); - let _arc2 = ~rw_arc(arc1); + let arc1 = RWArc::new(true); + let _arc2 = RWArc::new(arc1); //~ ERROR instantiating a type parameter with an incompatible type } diff --git a/src/test/compile-fail/bind-by-move-no-lvalues-1.rs b/src/test/compile-fail/bind-by-move-no-lvalues-1.rs deleted file mode 100644 index 3f96d568a55..00000000000 --- a/src/test/compile-fail/bind-by-move-no-lvalues-1.rs +++ /dev/null @@ -1,27 +0,0 @@ -// Copyright 2012 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// xfail-test - -struct X { x: (), } - -impl Drop for X { - fn drop(&self) { - error!("destructor runs"); - } -} - -fn main() { - let x = Some(X { x: () }); - match x { - Some(_z) => { }, //~ ERROR cannot bind by-move when matching an lvalue - None => fail!() - } -} diff --git a/src/test/compile-fail/bind-by-move-no-lvalues-2.rs b/src/test/compile-fail/bind-by-move-no-lvalues-2.rs deleted file mode 100644 index c17a444ce6e..00000000000 --- a/src/test/compile-fail/bind-by-move-no-lvalues-2.rs +++ /dev/null @@ -1,29 +0,0 @@ -// Copyright 2012 The Rust Project Developers. See the COPYRIGHT -// file at the top-level directory of this distribution and at -// http://rust-lang.org/COPYRIGHT. -// -// Licensed under the Apache License, Version 2.0 or the MIT license -// , at your -// option. This file may not be copied, modified, or distributed -// except according to those terms. - -// xfail-test - -struct X { x: (), } - -impl Drop for X { - fn drop(&self) { - error!("destructor runs"); - } -} - -struct Y { y: Option } - -fn main() { - let x = Y { y: Some(X { x: () }) }; - match x.y { - Some(_z) => { }, //~ ERROR cannot bind by-move when matching an lvalue - None => fail!() - } -} diff --git a/src/test/compile-fail/disallowed-deconstructing-destructing-struct-let.rs b/src/test/compile-fail/disallowed-deconstructing-destructing-struct-let.rs index e550475d64f..4652aa0d3f1 100644 --- a/src/test/compile-fail/disallowed-deconstructing-destructing-struct-let.rs +++ b/src/test/compile-fail/disallowed-deconstructing-destructing-struct-let.rs @@ -1,4 +1,3 @@ -// xfail-test #3024 // Copyright 2012 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. @@ -20,7 +19,7 @@ impl Drop for X { } fn unwrap(x: X) -> ~str { - let X { x: y } = x; //~ ERROR cannot bind by-move within struct + let X { x: y } = x; //~ ERROR cannot move out of type y } diff --git a/src/test/compile-fail/issue-2951.rs b/src/test/compile-fail/issue-2951.rs index e57d4f09175..d979afbc55c 100644 --- a/src/test/compile-fail/issue-2951.rs +++ b/src/test/compile-fail/issue-2951.rs @@ -8,10 +8,9 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test fn foo(x: T, y: U) { let mut xx = x; - xx = y; // error message should mention T and U, not 'a and 'b + xx = y; //~ ERROR expected `T` but found `U` } fn main() { diff --git a/src/test/compile-fail/issue-3080.rs b/src/test/compile-fail/issue-3080.rs index 02ccf14138a..fb16dad3960 100644 --- a/src/test/compile-fail/issue-3080.rs +++ b/src/test/compile-fail/issue-3080.rs @@ -8,12 +8,11 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test struct x(()); impl x { - pub unsafe fn with() { } // This should fail + pub unsafe fn with(&self) { } } fn main() { - x(()).with(); + x(()).with(); //~ ERROR requires unsafe function or block } diff --git a/src/test/compile-fail/issue-3973.rs b/src/test/compile-fail/issue-3973.rs index a5eaf25aa9f..f029921dd1c 100644 --- a/src/test/compile-fail/issue-3973.rs +++ b/src/test/compile-fail/issue-3973.rs @@ -9,6 +9,8 @@ // except according to those terms. // xfail-test +use std::io; + struct Point { x: float, y: float, diff --git a/src/test/compile-fail/issue-5062.rs b/src/test/compile-fail/issue-5062.rs index a05463f31d3..26fb69f2cd0 100644 --- a/src/test/compile-fail/issue-5062.rs +++ b/src/test/compile-fail/issue-5062.rs @@ -8,5 +8,4 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test -fn main() { fmt!("%?", None); } //~ ERROR can't resolve type variable +fn main() { fmt!("%?", None); } //~ ERROR unconstrained type diff --git a/src/test/compile-fail/issue-6977.rs b/src/test/compile-fail/issue-6977.rs index bfaa148ea6c..6c062b0f3f7 100644 --- a/src/test/compile-fail/issue-6977.rs +++ b/src/test/compile-fail/issue-6977.rs @@ -1,7 +1,5 @@ -//xfail-test - // Trying to create a fixed-length vector with a negative size fn main() { - let _x = [0,..-1]; + let _x = [0,..-1]; //~ ERROR found negative integer } diff --git a/src/test/compile-fail/view-items-at-top.rs b/src/test/compile-fail/view-items-at-top.rs index fa03e0d5199..ab597b707a9 100644 --- a/src/test/compile-fail/view-items-at-top.rs +++ b/src/test/compile-fail/view-items-at-top.rs @@ -15,7 +15,7 @@ extern mod extra; fn f() { } -use extra::net; //~ ERROR view items must be declared at the top +use extra::net; //~ ERROR `use` and `extern mod` declarations must precede items fn main() { } diff --git a/src/test/run-pass/autoderef-method-priority.rs b/src/test/run-pass/autoderef-method-priority.rs index 0fe30059ef6..f9f78aa4882 100644 --- a/src/test/run-pass/autoderef-method-priority.rs +++ b/src/test/run-pass/autoderef-method-priority.rs @@ -1,4 +1,3 @@ -// xfail-test #5321 // Copyright 2012 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. diff --git a/src/test/run-pass/deriving-cmp-generic-struct-enum.rs b/src/test/run-pass/deriving-cmp-generic-struct-enum.rs index 6f6e8d79d8b..fe92684e8e1 100644 --- a/src/test/run-pass/deriving-cmp-generic-struct-enum.rs +++ b/src/test/run-pass/deriving-cmp-generic-struct-enum.rs @@ -1,5 +1,3 @@ -// xfail-test #5530 - // Copyright 2013 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. @@ -18,18 +16,18 @@ enum ES { pub fn main() { - let es11 = ES1 {x: 1}, es12 = ES1 {x: 2}, es21 = ES2 {x: 1, y: 1}, es22 = ES2 {x: 1, y: 2}; + let (es11, es12, es21, es22) = (ES1 {x: 1}, ES1 {x: 2}, ES2 {x: 1, y: 1}, ES2 {x: 1, y: 2}); // in order for both Ord and TotalOrd let ess = [es11, es12, es21, es22]; - for ess.eachi |i, es1| { - for ess.eachi |j, es2| { + for (i, es1) in ess.iter().enumerate() { + for (j, es2) in ess.iter().enumerate() { let ord = i.cmp(&j); let eq = i == j; - let lt = i < j, le = i <= j; - let gt = i > j, ge = i >= j; + let (lt, le) = (i < j, i <= j); + let (gt, ge) = (i > j, i >= j); // Eq assert_eq!(*es1 == *es2, eq); @@ -49,4 +47,4 @@ pub fn main() { assert_eq!(es1.cmp(es2), ord); } } -} \ No newline at end of file +} diff --git a/src/test/run-pass/estr-shared.rs b/src/test/run-pass/estr-shared.rs index 5668c18e95b..20698a379e1 100644 --- a/src/test/run-pass/estr-shared.rs +++ b/src/test/run-pass/estr-shared.rs @@ -8,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test pub fn main() { - let x : @str = @"hello"; + let _x : @str = @"hello"; } diff --git a/src/test/run-pass/extern-pass-TwoU16s.rs b/src/test/run-pass/extern-pass-TwoU16s.rs index a899488f873..d64c5bb01af 100644 --- a/src/test/run-pass/extern-pass-TwoU16s.rs +++ b/src/test/run-pass/extern-pass-TwoU16s.rs @@ -11,8 +11,6 @@ // Test a foreign function that accepts and returns a struct // by value. -// xfail-test #5744 - #[deriving(Eq)] struct TwoU16s { one: u16, two: u16 @@ -22,6 +20,7 @@ extern { pub fn rust_dbg_extern_identity_TwoU16s(v: TwoU16s) -> TwoU16s; } +#[fixed_stack_segment] #[inline(never)] pub fn main() { unsafe { let x = TwoU16s {one: 22, two: 23}; diff --git a/src/test/run-pass/extern-pass-TwoU8s.rs b/src/test/run-pass/extern-pass-TwoU8s.rs index fa8ea8d1f2a..8e13c25d697 100644 --- a/src/test/run-pass/extern-pass-TwoU8s.rs +++ b/src/test/run-pass/extern-pass-TwoU8s.rs @@ -11,8 +11,6 @@ // Test a foreign function that accepts and returns a struct // by value. -// xfail-test #5744 - #[deriving(Eq)] struct TwoU8s { one: u8, two: u8 @@ -22,6 +20,7 @@ extern { pub fn rust_dbg_extern_identity_TwoU8s(v: TwoU8s) -> TwoU8s; } +#[fixed_stack_segment] #[inline(never)] pub fn main() { unsafe { let x = TwoU8s {one: 22, two: 23}; diff --git a/src/test/run-pass/issue-1516.rs b/src/test/run-pass/issue-1516.rs index fe3feeb3dbf..2767ac6d69f 100644 --- a/src/test/run-pass/issue-1516.rs +++ b/src/test/run-pass/issue-1516.rs @@ -8,5 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test -pub fn main() { let early_error: @fn(str) -> ! = {|msg| fail!() }; } +pub fn main() { + let early_error: @fn(&str) -> ! = |_msg| { fail!() }; +} diff --git a/src/test/run-pass/issue-3874.rs b/src/test/run-pass/issue-3874.rs index e293e40ac69..ea1242ae216 100644 --- a/src/test/run-pass/issue-3874.rs +++ b/src/test/run-pass/issue-3874.rs @@ -8,11 +8,10 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test FIXME #3874 enum PureCounter { PureCounter(uint) } -fn each(self: PureCounter, blk: &fn(v: &uint)) { - let PureCounter(ref x) = self; +fn each(thing: PureCounter, blk: &fn(v: &uint)) { + let PureCounter(ref x) = thing; blk(x); } diff --git a/src/test/run-pass/issue-3895.rs b/src/test/run-pass/issue-3895.rs index 388e09ddb3e..efe0cb8d491 100644 --- a/src/test/run-pass/issue-3895.rs +++ b/src/test/run-pass/issue-3895.rs @@ -8,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test pub fn main() { enum State { BadChar, BadSyntax } diff --git a/src/test/compile-fail/issue-3991.rs b/src/test/run-pass/issue-3991.rs similarity index 88% rename from src/test/compile-fail/issue-3991.rs rename to src/test/run-pass/issue-3991.rs index d3016f893b4..842605b5929 100644 --- a/src/test/compile-fail/issue-3991.rs +++ b/src/test/run-pass/issue-3991.rs @@ -8,13 +8,12 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test struct HasNested { - mut nest: ~[~[int]], + nest: ~[~[int]], } impl HasNested { - fn method_push_local(&self) { + fn method_push_local(&mut self) { self.nest[0].push(0); } } diff --git a/src/test/run-pass/issue-5280.rs b/src/test/run-pass/issue-5280.rs index 72bf0cee05d..77df670ffb1 100644 --- a/src/test/run-pass/issue-5280.rs +++ b/src/test/run-pass/issue-5280.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test - type FontTableTag = u32; trait FontTableTagConversions { diff --git a/src/test/run-pass/issue-5315.rs b/src/test/run-pass/issue-5315.rs index 326b3fb1246..dde226ad9d8 100644 --- a/src/test/run-pass/issue-5315.rs +++ b/src/test/run-pass/issue-5315.rs @@ -8,7 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test struct A(bool); fn main() { diff --git a/src/test/run-pass/issue-6128.rs b/src/test/run-pass/issue-6128.rs index 552a4615bb7..54df0523dbb 100644 --- a/src/test/run-pass/issue-6128.rs +++ b/src/test/run-pass/issue-6128.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test - use std::hashmap::HashMap; trait Graph { diff --git a/src/test/run-pass/issue-6344-let.rs b/src/test/run-pass/issue-6344-let.rs index ef1349c2344..5cda0690029 100644 --- a/src/test/run-pass/issue-6344-let.rs +++ b/src/test/run-pass/issue-6344-let.rs @@ -1,4 +1,3 @@ -// xfail-test #3874 // Copyright 2013 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. diff --git a/src/test/run-pass/issue-6898.rs b/src/test/run-pass/issue-6898.rs index 8e9502d6d49..48a02063c6d 100644 --- a/src/test/run-pass/issue-6898.rs +++ b/src/test/run-pass/issue-6898.rs @@ -1,5 +1,3 @@ -// xfail-test - // Copyright 2013 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. @@ -14,7 +12,7 @@ use std::unstable::intrinsics; /// Returns the size of a type pub fn size_of() -> uint { - TypeInfo::size_of::() + TypeInfo::size_of(None::) } /// Returns the size of the type that `val` points to @@ -23,19 +21,19 @@ pub fn size_of_val(val: &T) -> uint { } pub trait TypeInfo { - fn size_of() -> uint; + fn size_of(_lame_type_hint: Option) -> uint; fn size_of_val(&self) -> uint; } impl TypeInfo for T { /// The size of the type in bytes. - fn size_of() -> uint { + fn size_of(_lame_type_hint: Option) -> uint { unsafe { intrinsics::size_of::() } } /// Returns the size of the type of `self` in bytes. fn size_of_val(&self) -> uint { - TypeInfo::size_of::() + TypeInfo::size_of(None::) } } diff --git a/src/test/run-pass/regions-borrow-evec-fixed.rs b/src/test/run-pass/regions-borrow-evec-fixed.rs index 129a299bcd4..9022ff92c8f 100644 --- a/src/test/run-pass/regions-borrow-evec-fixed.rs +++ b/src/test/run-pass/regions-borrow-evec-fixed.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test - fn foo(x: &[int]) -> int { x[0] } diff --git a/src/test/run-pass/tag-align-dyn-u64.rs b/src/test/run-pass/tag-align-dyn-u64.rs index a09ee23f147..946c29373d5 100644 --- a/src/test/run-pass/tag-align-dyn-u64.rs +++ b/src/test/run-pass/tag-align-dyn-u64.rs @@ -8,7 +8,8 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test +// xfail-test #7340 fails on 32-bit linux +use std::ptr; enum a_tag { a_tag(A) diff --git a/src/test/run-pass/tag-align-dyn-variants.rs b/src/test/run-pass/tag-align-dyn-variants.rs index fa3b0a4ea33..748aa037b07 100644 --- a/src/test/run-pass/tag-align-dyn-variants.rs +++ b/src/test/run-pass/tag-align-dyn-variants.rs @@ -8,8 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test - +// xfail-test #7340 fails on 32-bit linux use std::ptr; enum a_tag { diff --git a/src/test/run-pass/tag-align-u64.rs b/src/test/run-pass/tag-align-u64.rs index 28088aa571e..df9e85347c5 100644 --- a/src/test/run-pass/tag-align-u64.rs +++ b/src/test/run-pass/tag-align-u64.rs @@ -8,8 +8,7 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test - +// xfail-test #7340 fails on 32-bit linux use std::ptr; enum a_tag { diff --git a/src/test/run-pass/trait-cast.rs b/src/test/run-pass/trait-cast.rs index 637fc7a70f5..dbda29fc227 100644 --- a/src/test/run-pass/trait-cast.rs +++ b/src/test/run-pass/trait-cast.rs @@ -1,6 +1,3 @@ -// xfail-test FIXME #5882 -// Weird borrow check bug - // Copyright 2012 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. diff --git a/src/test/run-pass/tuple-struct-trivial.rs b/src/test/run-pass/tuple-struct-trivial.rs index c6c32cf49c6..c22c812760c 100644 --- a/src/test/run-pass/tuple-struct-trivial.rs +++ b/src/test/run-pass/tuple-struct-trivial.rs @@ -8,8 +8,6 @@ // option. This file may not be copied, modified, or distributed // except according to those terms. -// xfail-test - struct Foo(int, int, int); pub fn main() {