// Test that we can do shifts by any integral type. | |
struct Panolpy { | |
char: char, | |
str: &'static str, | |
} | |
fn foo(p: &Panolpy) { | |
22 >> p.char; | |
//~^ ERROR E0277 | |
22 >> p.str; | |
//~^ ERROR E0277 | |
22 >> p; | |
//~^ ERROR E0277 | |
let x; | |
22 >> x; // ambiguity error winds up being suppressed | |
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() { | |
} |