diff options
| author | Matthias Krüger <matthias.krueger@famsik.de> | 2023-11-20 20:56:40 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-11-20 20:56:40 +0100 |
| commit | 87540879f451bd402bba072b4c5144db2031bc2f (patch) | |
| tree | 768767608f267a7510a222245ac1ba981f82a757 /compiler/rustc_middle/src | |
| parent | da5eebf9422cc0590257236d920452beaa4d6586 (diff) | |
| parent | e5c330ac48b9524e42d872c5ca0e231622d42bee (diff) | |
Rollup merge of #117835 - Nilstrieb:note-object-lifetime-defaults, r=compiler-errors
Note about object lifetime defaults in does not live long enough error This is a aspect of Rust that frequently trips up people who are not aware of it yet. This diagnostic attempts to explain what's happening and why the lifetime constraint, that was never mentioned in the source, arose. The implementation feels a bit questionable, I'm not sure whether there are better ways to do this. There probably are. fixes #117835 r? types
Diffstat (limited to 'compiler/rustc_middle/src')
| -rw-r--r-- | compiler/rustc_middle/src/mir/query.rs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/compiler/rustc_middle/src/mir/query.rs b/compiler/rustc_middle/src/mir/query.rs index d609965f36f..b5dd3010d3a 100644 --- a/compiler/rustc_middle/src/mir/query.rs +++ b/compiler/rustc_middle/src/mir/query.rs @@ -341,7 +341,11 @@ pub enum ConstraintCategory<'tcx> { UseAsConst, UseAsStatic, TypeAnnotation, - Cast, + Cast { + /// Whether this is an unsizing cast and if yes, this contains the target type. + /// Region variables are erased to ReErased. + unsize_to: Option<Ty<'tcx>>, + }, /// A constraint that came from checking the body of a closure. /// |
