diff options
| author | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2019-08-12 18:15:45 +0300 |
|---|---|---|
| committer | Eduard-Mihai Burtescu <edy.burt@gmail.com> | 2019-08-16 15:20:27 +0300 |
| commit | 9107ec1acdf90c35c5388a708cc0cf76020c956d (patch) | |
| tree | 3ce74a16974ca79f2db5c9851c0397b08193254e | |
| parent | b565ece5d8cd461c0dcffe28de10750f636dc9c3 (diff) | |
| download | rust-9107ec1acdf90c35c5388a708cc0cf76020c956d.tar.gz rust-9107ec1acdf90c35c5388a708cc0cf76020c956d.zip | |
rustc_mir: add sanity asserts for the types of `ty::Const`s.
| -rw-r--r-- | src/librustc_mir/build/expr/as_constant.rs | 1 | ||||
| -rw-r--r-- | src/librustc_mir/build/matches/test.rs | 3 | ||||
| -rw-r--r-- | src/librustc_mir/hair/pattern/mod.rs | 2 |
3 files changed, 6 insertions, 0 deletions
diff --git a/src/librustc_mir/build/expr/as_constant.rs b/src/librustc_mir/build/expr/as_constant.rs index ec936f801c3..39bdc871d83 100644 --- a/src/librustc_mir/build/expr/as_constant.rs +++ b/src/librustc_mir/build/expr/as_constant.rs @@ -38,6 +38,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { inferred_ty: ty, }) }); + assert_eq!(literal.ty, ty); Constant { span, user_ty, diff --git a/src/librustc_mir/build/matches/test.rs b/src/librustc_mir/build/matches/test.rs index b8ca67663ae..65e92d422b0 100644 --- a/src/librustc_mir/build/matches/test.rs +++ b/src/librustc_mir/build/matches/test.rs @@ -63,6 +63,8 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { } PatternKind::Range(range) => { + assert_eq!(range.lo.ty, match_pair.pattern.ty); + assert_eq!(range.hi.ty, match_pair.pattern.ty); Test { span: match_pair.pattern.span, kind: TestKind::Range(range), @@ -269,6 +271,7 @@ impl<'a, 'tcx> Builder<'a, 'tcx> { ); } else { if let [success, fail] = *make_target_blocks(self) { + assert_eq!(value.ty, ty); let expect = self.literal_operand(test.span, value); let val = Operand::Copy(place.clone()); self.compare(block, success, fail, source_info, BinOp::Eq, expect, val); diff --git a/src/librustc_mir/hair/pattern/mod.rs b/src/librustc_mir/hair/pattern/mod.rs index 91f6e5734f4..bebb0719af8 100644 --- a/src/librustc_mir/hair/pattern/mod.rs +++ b/src/librustc_mir/hair/pattern/mod.rs @@ -441,6 +441,8 @@ impl<'a, 'tcx> PatternContext<'a, 'tcx> { let mut kind = match (lo, hi) { (PatternKind::Constant { value: lo }, PatternKind::Constant { value: hi }) => { + assert_eq!(lo.ty, ty); + assert_eq!(hi.ty, ty); let cmp = compare_const_vals( self.tcx, lo, |
