Skip to content

Commit a142d2f

Browse files
ICH: Fix bug in hash_discriminant() and visit_vis().
1 parent 0310e34 commit a142d2f

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/librustc_incremental/calculate_svh/svh_visitor.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,9 @@ impl<'a, 'hash, 'tcx> StrictVersionHashVisitor<'a, 'hash, 'tcx> {
174174

175175
fn hash_discriminant<T>(&mut self, v: &T) {
176176
unsafe {
177-
::std::intrinsics::discriminant_value(&v).hash(self.st);
177+
let disr = ::std::intrinsics::discriminant_value(v);
178+
debug!("hash_discriminant: disr={}, st={:?}", disr, self.st);
179+
disr.hash(self.st);
178180
}
179181
}
180182
}
@@ -536,7 +538,7 @@ impl<'a, 'hash, 'tcx> visit::Visitor<'tcx> for StrictVersionHashVisitor<'a, 'has
536538
fn visit_vis(&mut self, v: &'tcx Visibility) {
537539
debug!("visit_vis: st={:?}", self.st);
538540
SawVis.hash(self.st);
539-
self.hash_discriminant(&v);
541+
self.hash_discriminant(v);
540542
visit::walk_vis(self, v)
541543
}
542544

0 commit comments

Comments
 (0)