@@ -540,7 +540,7 @@ impl<'p, 'tcx> RustcMatchCheckCtxt<'p, 'tcx> {
540540 // `Ref`), and has one field. That field has constructor `Str(value)` and no
541541 // subfields.
542542 // Note: `t` is `str`, not `&str`.
543- let subpattern = DeconstructedPat :: new ( Str ( * value) , & [ ] , * t, pat. span ) ;
543+ let subpattern = DeconstructedPat :: new ( Str ( * value) , & [ ] , * t, pat) ;
544544 ctor = Ref ;
545545 fields = singleton ( subpattern)
546546 }
@@ -624,7 +624,7 @@ impl<'p, 'tcx> RustcMatchCheckCtxt<'p, 'tcx> {
624624 fields = & [ ] ;
625625 }
626626 }
627- DeconstructedPat :: new ( ctor, fields, pat. ty , pat. span )
627+ DeconstructedPat :: new ( ctor, fields, pat. ty , pat)
628628 }
629629
630630 /// Convert back to a `thir::PatRangeBoundary` for diagnostic purposes.
@@ -894,7 +894,7 @@ impl<'p, 'tcx> TypeCx for RustcMatchCheckCtxt<'p, 'tcx> {
894894 type VariantIdx = VariantIdx ;
895895 type StrLit = Const < ' tcx > ;
896896 type ArmData = HirId ;
897- type PatData = Span ;
897+ type PatData = & ' p Pat < ' tcx > ;
898898
899899 fn is_exhaustive_patterns_feature_on ( & self ) -> bool {
900900 self . tcx . features ( ) . exhaustive_patterns
0 commit comments