Matthias Krüger
240cc81768
Rollup merge of #106973 - oli-obk:tait_ice_closure_in_impl_header, r=lcnr
...
Don't treat closures from other crates as local
fixes #104817
r? `@lcnr`
Specialization can prefer an impl for an opaque type over a blanket impls that also matches. If the blanket impl only applies if an auto-trait applies, we look at the hidden type of the opaque type to see if that implements the auto trait. The hidden type can be a closure or generator, and thus we will end up seeing these types in coherence and have to handle them properly.
2023-01-20 07:16:09 +01:00
Ali MJ Al-Nasrawy
e40567b2cf
add test for ICE fix
2023-01-19 15:31:59 +03:00
Oli Scherer
42f1f54a5e
Don't treat closures from other crates as local
2023-01-19 11:29:40 +00:00
Matthias Krüger
4ee5e09e19
Rollup merge of #106784 - lyming2007:issue-106695-fix, r=WaffleLapkin
...
prevent E0512 from emitting [type error] by checking the references_error
but still emit E0512
this will fix #106695
2023-01-17 20:21:26 +01:00
Yiming Lei
d1478a5600
delay E0512 as a bug by checking the references_error
...
fix #106695
2023-01-17 09:20:15 -08:00
Oli Scherer
6b69b5e460
Improve a TAIT error and add an error code plus documentation
2023-01-16 16:54:14 +00:00
Matthias Krüger
d42d952afc
Rollup merge of #106676 - oli-obk:tait_test, r=dtolnay
...
Test that we cannot use trait impl methods arguments as defining uses
Addresses https://github.com/rust-lang/rust/issues/63063#issuecomment-1360053614
r? `@dtolnay`
2023-01-12 06:52:37 +01:00
Oli Scherer
44a5ce6f75
Test that we cannot use trait impl methods arguments as defining uses
2023-01-11 14:00:25 -08:00
Michael Goulet
9a39d7e441
Note predicate span on ImplDerivedObligation
2023-01-11 19:46:45 +00:00
Albert Larsan
cf2dff2b1e
Move /src/test to /tests
2023-01-11 09:32:08 +00:00