diff --git a/src/test/run-pass/tag-align-dyn-variants.rs b/src/test/run-pass/tag-align-dyn-variants.rs
index 4fc6410f8f3d..96921f2a065c 100644
--- a/src/test/run-pass/tag-align-dyn-variants.rs
+++ b/src/test/run-pass/tag-align-dyn-variants.rs
@@ -8,64 +8,62 @@
// option. This file may not be copied, modified, or distributed
// except according to those terms.
-// xfail-test
-
-tag a_tag {
- varA(A);
- varB(B);
+enum a_tag {
+ varA(A),
+ varB(B)
}
-type t_rec = {
+struct t_rec {
chA: u8,
tA: a_tag,
chB: u8,
tB: a_tag
-};
-
-fn mk_rec(a: A, b: B) -> t_rec {
- return { chA:0u8, tA:varA(a), chB:1u8, tB:varB(b) };
}
-fn is_aligned(amnt: uint, &&u: A) -> bool {
+fn mk_rec(a: A, b: B) -> t_rec {
+ return t_rec{ chA:0u8, tA:varA(a), chB:1u8, tB:varB(b) };
+}
+
+fn is_aligned(amnt: uint, u: &A) -> bool {
let p = ptr::to_unsafe_ptr(u) as uint;
return (p & (amnt-1u)) == 0u;
}
-fn variant_data_is_aligned(amnt: uint, &&u: a_tag) -> bool {
+fn variant_data_is_aligned(amnt: uint, u: &a_tag) -> bool {
match u {
- varA(a) { is_aligned(amnt, a) }
- varB(b) { is_aligned(amnt, b) }
+ &varA(ref a) => is_aligned(amnt, a),
+ &varB(ref b) => is_aligned(amnt, b)
}
}
pub fn main() {
let x = mk_rec(22u64, 23u64);
- assert!(is_aligned(8u, x.tA));
- assert!(variant_data_is_aligned(8u, x.tA));
- assert!(is_aligned(8u, x.tB));
- assert!(variant_data_is_aligned(8u, x.tB));
+ assert!(is_aligned(8u, &x.tA));
+ assert!(variant_data_is_aligned(8u, &x.tA));
+ assert!(is_aligned(8u, &x.tB));
+ assert!(variant_data_is_aligned(8u, &x.tB));
let x = mk_rec(22u64, 23u32);
- assert!(is_aligned(8u, x.tA));
- assert!(variant_data_is_aligned(8u, x.tA));
- assert!(is_aligned(8u, x.tB));
- assert!(variant_data_is_aligned(4u, x.tB));
+ assert!(is_aligned(8u, &x.tA));
+ assert!(variant_data_is_aligned(8u, &x.tA));
+ assert!(is_aligned(8u, &x.tB));
+ assert!(variant_data_is_aligned(4u, &x.tB));
let x = mk_rec(22u32, 23u64);
- assert!(is_aligned(8u, x.tA));
- assert!(variant_data_is_aligned(4u, x.tA));
- assert!(is_aligned(8u, x.tB));
- assert!(variant_data_is_aligned(8u, x.tB));
+ assert!(is_aligned(8u, &x.tA));
+ assert!(variant_data_is_aligned(4u, &x.tA));
+ assert!(is_aligned(8u, &x.tB));
+ assert!(variant_data_is_aligned(8u, &x.tB));
let x = mk_rec(22u32, 23u32);
- assert!(is_aligned(4u, x.tA));
- assert!(variant_data_is_aligned(4u, x.tA));
- assert!(is_aligned(4u, x.tB));
- assert!(variant_data_is_aligned(4u, x.tB));
+ assert!(is_aligned(4u, &x.tA));
+ assert!(variant_data_is_aligned(4u, &x.tA));
+ assert!(is_aligned(4u, &x.tB));
+ assert!(variant_data_is_aligned(4u, &x.tB));
let x = mk_rec(22f64, 23f64);
- assert!(is_aligned(8u, x.tA));
- assert!(variant_data_is_aligned(8u, x.tA));
- assert!(is_aligned(8u, x.tB));
- assert!(variant_data_is_aligned(8u, x.tB));
+ assert!(is_aligned(8u, &x.tA));
+ assert!(variant_data_is_aligned(8u, &x.tA));
+ assert!(is_aligned(8u, &x.tB));
+ assert!(variant_data_is_aligned(8u, &x.tB));
}