diff options
| -rw-r--r-- | src/librustc_metadata/encoder.rs | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/librustc_metadata/encoder.rs b/src/librustc_metadata/encoder.rs index efc39805a74..a42c8be9c20 100644 --- a/src/librustc_metadata/encoder.rs +++ b/src/librustc_metadata/encoder.rs @@ -151,9 +151,8 @@ impl<'a, 'tcx> SpecializedEncoder<Span> for EncodeContext<'a, 'tcx> { let span = span.data(); - if span.lo > span.hi { - return TAG_INVALID_SPAN.encode(self) - } + // The Span infrastructure should make sure that this invariant holds: + debug_assert!(span.lo <= span.hi); if !self.filemap_cache.contains(span.lo) { let codemap = self.tcx.sess.codemap(); @@ -162,6 +161,8 @@ impl<'a, 'tcx> SpecializedEncoder<Span> for EncodeContext<'a, 'tcx> { } if !self.filemap_cache.contains(span.hi) { + // Unfortunately, macro expansion still sometimes generates Spans + // that malformed in this way. return TAG_INVALID_SPAN.encode(self) } |
