@@ -539,7 +539,7 @@ impl<'p, 'thir, 'tcx> RustcMatchCheckCtxt<'p, 'thir, 'tcx> {
539539 // `Ref`), and has one field. That field has constructor `Str(value)` and no
540540 // subfields.
541541 // Note: `t` is `str`, not `&str`.
542- let subpattern = DeconstructedPat :: new ( Str ( * value) , & [ ] , * t, pat. span ) ;
542+ let subpattern = DeconstructedPat :: new ( Str ( * value) , & [ ] , * t, pat) ;
543543 ctor = Ref ;
544544 fields = singleton ( subpattern)
545545 }
@@ -623,7 +623,7 @@ impl<'p, 'thir, 'tcx> RustcMatchCheckCtxt<'p, 'thir, 'tcx> {
623623 fields = & [ ] ;
624624 }
625625 }
626- DeconstructedPat :: new ( ctor, fields, pat. ty , pat. span )
626+ DeconstructedPat :: new ( ctor, fields, pat. ty , pat)
627627 }
628628
629629 /// Convert back to a `thir::PatRangeBoundary` for diagnostic purposes.
@@ -893,7 +893,7 @@ impl<'p, 'thir, 'tcx> TypeCx for RustcMatchCheckCtxt<'p, 'thir, 'tcx> {
893893 type VariantIdx = VariantIdx ;
894894 type StrLit = Const < ' tcx > ;
895895 type ArmData = HirId ;
896- type PatData = Span ;
896+ type PatData = & ' thir Pat < ' tcx > ;
897897
898898 fn is_exhaustive_patterns_feature_on ( & self ) -> bool {
899899 self . tcx . features ( ) . exhaustive_patterns
0 commit comments