diff --git a/src/test/compile-fail/shift-various-bad-types.rs b/src/test/compile-fail/shift-various-bad-types.rs index 6287d79e15d..41788584049 100644 --- a/src/test/compile-fail/shift-various-bad-types.rs +++ b/src/test/compile-fail/shift-various-bad-types.rs @@ -33,6 +33,10 @@ fn foo(p: &Panolpy) { 22 >> 1; // Integer literal types are OK + + // Type of the result follows the LHS, not the RHS: + let _: i32 = 22_i64 >> 1_i32; + //~^ ERROR mismatched types: expected `i32`, found `i64` } fn main() { diff --git a/src/test/run-pass/shift-various-types.rs b/src/test/run-pass/shift-various-types.rs index 3482dd4921b..2f56e09b2df 100644 --- a/src/test/run-pass/shift-various-types.rs +++ b/src/test/run-pass/shift-various-types.rs @@ -25,17 +25,17 @@ struct Panolpy { } fn foo(p: &Panolpy) { - assert_eq!(22 >> p.i8, 11_i8); - assert_eq!(22 >> p.i16, 11_i16); - assert_eq!(22 >> p.i32, 11_i32); - assert_eq!(22 >> p.i64, 11_i64); - assert_eq!(22 >> p.isize, 11_is); + assert_eq!(22_i32 >> p.i8, 11_i32); + assert_eq!(22_i32 >> p.i16, 11_i32); + assert_eq!(22_i32 >> p.i32, 11_i32); + assert_eq!(22_i32 >> p.i64, 11_i32); + assert_eq!(22_i32 >> p.isize, 11_i32); - assert_eq!(22 >> p.u8, 11_u8); - assert_eq!(22 >> p.u16, 11_u16); - assert_eq!(22 >> p.u32, 11_u32); - assert_eq!(22 >> p.u64, 11_u64); - assert_eq!(22 >> p.usize, 11_us); + assert_eq!(22_i32 >> p.u8, 11_i32); + assert_eq!(22_i32 >> p.u16, 11_i32); + assert_eq!(22_i32 >> p.u32, 11_i32); + assert_eq!(22_i32 >> p.u64, 11_i32); + assert_eq!(22_i32 >> p.usize, 11_i32); } fn main() {