// option. This file may not be copied, modified, or distributed
// except according to those terms.
+// ignore-pretty : (#23623) problems when ending with // comments
+
// error-pattern:thread '<main>' panicked at 'shift operation overflowed'
// compile-flags: -C debug-assertions
-// (Work around constant-evaluation)
-fn id<T>(x: T) -> T { x }
+#![warn(exceeding_bitshifts)]
+#![feature(rustc_attrs)]
+#[rustc_no_mir] // FIXME #29769 MIR overflow checking is TBD.
fn main() {
- let _x = 1 << id(-1);
+ let _x = 1 << -1;
}