diff options
| author | bors <bors@rust-lang.org> | 2022-04-02 18:34:26 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2022-04-02 18:34:26 +0000 |
| commit | 8f96ef4bb56f5d905ed89ed569ef97f50731c977 (patch) | |
| tree | 2046913b71036b757cbe6b6aa30651e561e07aa8 /compiler/rustc_interface/src/lib.rs | |
| parent | b6a34f35e5d10e69640bce74f613af4aeb2f9ede (diff) | |
| parent | 52b00db2351ca8a6902bcd99bac20408eb09a6c6 (diff) | |
| download | rust-8f96ef4bb56f5d905ed89ed569ef97f50731c977.tar.gz rust-8f96ef4bb56f5d905ed89ed569ef97f50731c977.zip | |
Auto merge of #94911 - jackh726:gats_extended_2, r=compiler-errors
Make GATs object safe under generic_associated_types_extended feature
Based on #94869
Let's say we have
```rust
trait StreamingIterator {
type Item<'a> where Self: 'a;
}
```
And `dyn for<'a> StreamingIterator<Item<'a> = &'a i32>`.
If we ask `(dyn for<'a> StreamingIterator<Item<'a> = &'a i32>): StreamingIterator`, then we have to prove that `for<'x> (&'x i32): Sized`. So, we generate *new* bound vars to subst for the GAT generics.
Importantly, this doesn't fully verify that these are usable and sound.
r? `@nikomatsakis`
Diffstat (limited to 'compiler/rustc_interface/src/lib.rs')
0 files changed, 0 insertions, 0 deletions
