diff options
| author | Michael Woerister <michaelwoerister@posteo.net> | 2016-08-30 12:11:43 -0400 |
|---|---|---|
| committer | Michael Woerister <michaelwoerister@posteo.net> | 2016-09-01 09:43:44 -0400 |
| commit | a142d2ff025466a69662854255c959f60a31fd8c (patch) | |
| tree | 4f9398fa85f9506578464154e1b00d4bc0c64af2 | |
| parent | 0310e3444b6b24da1b542b7c6b2999a1220259c0 (diff) | |
| download | rust-a142d2ff025466a69662854255c959f60a31fd8c.tar.gz rust-a142d2ff025466a69662854255c959f60a31fd8c.zip | |
ICH: Fix bug in hash_discriminant() and visit_vis().
| -rw-r--r-- | src/librustc_incremental/calculate_svh/svh_visitor.rs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/librustc_incremental/calculate_svh/svh_visitor.rs b/src/librustc_incremental/calculate_svh/svh_visitor.rs index 23fb211d7c7..edfde33b3a1 100644 --- a/src/librustc_incremental/calculate_svh/svh_visitor.rs +++ b/src/librustc_incremental/calculate_svh/svh_visitor.rs @@ -174,7 +174,9 @@ impl<'a, 'hash, 'tcx> StrictVersionHashVisitor<'a, 'hash, 'tcx> { fn hash_discriminant<T>(&mut self, v: &T) { unsafe { - ::std::intrinsics::discriminant_value(&v).hash(self.st); + let disr = ::std::intrinsics::discriminant_value(v); + debug!("hash_discriminant: disr={}, st={:?}", disr, self.st); + disr.hash(self.st); } } } @@ -536,7 +538,7 @@ impl<'a, 'hash, 'tcx> visit::Visitor<'tcx> for StrictVersionHashVisitor<'a, 'has fn visit_vis(&mut self, v: &'tcx Visibility) { debug!("visit_vis: st={:?}", self.st); SawVis.hash(self.st); - self.hash_discriminant(&v); + self.hash_discriminant(v); visit::walk_vis(self, v) } |
