MISRA-C (2012) lists the following exception for that rule: > A non-negative integer constant expression of essentially signed type may be used as the right hand operand to a shift operator. However, this is exactly what this repository lists as a non compiant example. ```rs #[allow(unused_variables)] fn main() { let x: i32 = 0xFF; let y = x << 2; //~^ ERROR Non-compliant - inappropriate essential type } ```