diff options
| author | Camille GILLOT <gillot.camille@gmail.com> | 2023-05-07 15:39:47 +0000 |
|---|---|---|
| committer | Camille GILLOT <gillot.camille@gmail.com> | 2023-05-13 10:12:14 +0000 |
| commit | 2ec007191348ef7cc13eb55e44e007b02cf75cf3 (patch) | |
| tree | 0ab24c5018013f8e7423d644aa3987b775bbf77f /compiler/rustc_const_eval/src/transform | |
| parent | 1c36f50b3eca1581b23cd7c4b7d298be149665ec (diff) | |
| download | rust-2ec007191348ef7cc13eb55e44e007b02cf75cf3.tar.gz rust-2ec007191348ef7cc13eb55e44e007b02cf75cf3.zip | |
Implement references VarDebugInfo.
Diffstat (limited to 'compiler/rustc_const_eval/src/transform')
| -rw-r--r-- | compiler/rustc_const_eval/src/transform/validate.rs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/compiler/rustc_const_eval/src/transform/validate.rs b/compiler/rustc_const_eval/src/transform/validate.rs index f46c2d00fe4..c50e937d84f 100644 --- a/compiler/rustc_const_eval/src/transform/validate.rs +++ b/compiler/rustc_const_eval/src/transform/validate.rs @@ -448,7 +448,15 @@ impl<'a, 'tcx> Visitor<'tcx> for TypeChecker<'a, 'tcx> { }; match debuginfo.value { VarDebugInfoContents::Const(_) => {} - VarDebugInfoContents::Place(place) => check_place(place), + VarDebugInfoContents::Place(place) => { + check_place(place); + if debuginfo.references != 0 && place.projection.last() == Some(&PlaceElem::Deref) { + self.fail( + START_BLOCK.start_location(), + format!("debuginfo {:?}, has both ref and deref", debuginfo), + ); + } + } VarDebugInfoContents::Composite { ty, ref fragments } => { for f in fragments { check_place(f.contents); |
