Nadrieril
fc0be3c921
Keep reference to the original Pat in DeconstructedPat
2023-12-26 23:14:23 +01:00
Michael Goulet
e1be642b41
Rollup merge of #119307 - compiler-errors:pat-lifetimes, r=Nadrieril
...
Clean up some lifetimes in `rustc_pattern_analysis`
This PR removes some redundant lifetimes. I figured out that we were shortening the lifetime of an arena-allocated `&'p DeconstructedPat<'p>` to `'a DeconstructedPat<'p>`, which forced us to carry both lifetimes when we could otherwise carry just one.
This PR also removes and elides some unnecessary lifetimes.
I also cherry-picked 0292eb9bb9b897f5c0926c6a8530877f67e7cc9b, and then simplified more lifetimes in `MatchVisitor`, which should make #119233 a very simple PR!
r? Nadrieril
2023-12-26 13:29:14 -05:00
Michael Goulet
4ae024c754
Elide more lifetimes
2023-12-26 02:12:33 +00:00
Michael Goulet
eebb2abe0b
Yeet some lifetimes
2023-12-26 01:59:18 +00:00
Nicholas Nethercote
99472c7049
Remove Session methods that duplicate DiagCtxt methods.
...
Also add some `dcx` methods to types that wrap `TyCtxt`, for easier
access.
2023-12-24 08:05:28 +11:00
Nadrieril
5fccaee59c
Clarify the situation with dummy patterns and PatData
...
Use an explicit `Option` instead of requiring a `Default` bound
2023-12-23 00:08:38 +01:00
Nadrieril
2a87bae48d
Reveal opaque types in exhaustiveness checking
2023-12-20 14:43:00 +01:00
Nadrieril
3016c29628
s/MatchCx/TypeCx/
2023-12-15 17:26:19 +01:00
Nadrieril
4bcf66f875
Introduce MatchCtxt
2023-12-15 16:58:38 +01:00
Nadrieril
60ea14bfaa
s/PatCtxt/PlaceCtxt/
2023-12-15 16:58:38 +01:00
Nadrieril
1e89a38423
pattern_analysis doesn't need to know what spans are
2023-12-15 16:58:38 +01:00
Nadrieril
8c5e89907c
Address review comments
2023-12-15 16:58:38 +01:00
Nadrieril
e10b165775
s/RustcCtxt/RustcMatchCheckCtxt/
2023-12-15 16:58:38 +01:00
Nadrieril
42f4393824
Iron out last rustc-specific details
2023-12-15 16:58:37 +01:00
Nadrieril
cb622f3994
Name rustc-specific things "rustc"
2023-12-15 16:58:37 +01:00
Nadrieril
3d7c4df326
Abstract MatchCheckCtxt into a trait
2023-12-15 16:58:36 +01:00
Nadrieril
3ad76f9325
Disentangle the arena from MatchCheckCtxt
2023-12-15 16:57:36 +01:00
Nadrieril
081c3dcf43
Remove all matching on ty.kind() outside cx
2023-12-15 16:57:36 +01:00
Nadrieril
43714edb6f
Fix doc links
2023-12-11 12:53:01 +01:00
Nadrieril
24adca0a26
Move lints to their own module
2023-12-11 11:20:55 +01:00