1
Fork 0

Add comparison operators to boolean const eval.

This commit is contained in:
Mark-Simulacrum 2016-10-09 08:43:23 -06:00
parent 9d4d0da7af
commit f9c73adce8
2 changed files with 8 additions and 0 deletions

View file

@ -732,6 +732,10 @@ pub fn eval_const_expr_partial<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>,
hir::BiBitOr => a | b, hir::BiBitOr => a | b,
hir::BiEq => a == b, hir::BiEq => a == b,
hir::BiNe => a != b, hir::BiNe => a != b,
hir::BiLt => a < b,
hir::BiLe => a <= b,
hir::BiGe => a >= b,
hir::BiGt => a > b,
_ => signal!(e, InvalidOpForBools(op.node)), _ => signal!(e, InvalidOpForBools(op.node)),
}) })
} }

View file

@ -17,4 +17,8 @@ const X: *const u8 = b"" as _;
fn main() { fn main() {
let _ = ((-1 as i8) << 8 - 1) as f32; let _ = ((-1 as i8) << 8 - 1) as f32;
let _ = 0u8 as char; let _ = 0u8 as char;
let _ = true > false;
let _ = true >= false;
let _ = true < false;
let _ = true >= false;
} }