rust/compiler/rustc_ast_lowering/src
bors da7d405357 Auto merge of #87244 - jackh726:issue-71883, r=estebank
Better diagnostics with mismatched types due to implicit static lifetime

Fixes #78113

I think this is my first diagnostics PR...definitely happy to hear thoughts on the direction/implementation here.

I was originally just trying to solve the error above, where the lifetime on a GAT was causing a cryptic "mismatched types" error. But as I was writing this, I realized that this (unintentionally) also applied to a different case: `wf-in-foreign-fn-decls-issue-80468.rs`. I'm not sure if this diagnostic should get a new error code, or even reuse an existing one. And, there might be some ways to make this even more generalized. Also, the error is a bit more lengthy and verbose than probably needed. So thoughts there are welcome too.

This PR essentially ended up adding a new nice region error pass that triggers if a type doesn't match the self type of an impl which is selected because of a predicate because of an implicit static bound on that self type.

r? `@estebank`
2021-07-20 10:56:08 +00:00
..
asm.rs Add clobber-only register classes for asm! 2021-07-10 17:29:00 +02:00
expr.rs Remove refs from pat slices 2021-07-15 16:09:57 -05:00
item.rs Remove origin field from TypeAliasesOpaqueTy 2021-07-18 09:30:10 -03:00
lib.rs Improve impl trait disallowed context error text 2021-07-19 10:19:58 -03:00
pat.rs Remove refs from pat slices 2021-07-15 16:09:57 -05:00
path.rs Better errors when we don't have implicit statics in trait objects 2021-07-19 23:46:11 -04:00