diff options
| author | Yuki Okushi <jtitor@2k36.org> | 2022-09-07 07:43:51 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-09-07 07:43:51 +0900 |
| commit | 631aed82bcd27fc130d41d466bdfd536f8e02d45 (patch) | |
| tree | 0d0acde2a62c6a7dd2d895fea78c0b211f4ef95c /src | |
| parent | 78a891d364a7358ed9eb9c93099ba2f3e6817ca6 (diff) | |
| parent | fdf56cfc7c4101e31eaf969eaceda78a51f84fa7 (diff) | |
| download | rust-631aed82bcd27fc130d41d466bdfd536f8e02d45.tar.gz rust-631aed82bcd27fc130d41d466bdfd536f8e02d45.zip | |
Rollup merge of #101451 - cjgillot:test-100521, r=TaKO8Ki
Add incremental test for changing struct name in assoc type. The ICE appears on beta and is fixed on nightly. Fixes #100521
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/incremental/issue-100521-change-struct-name-assocty.rs | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/src/test/incremental/issue-100521-change-struct-name-assocty.rs b/src/test/incremental/issue-100521-change-struct-name-assocty.rs new file mode 100644 index 00000000000..7f8d1e60881 --- /dev/null +++ b/src/test/incremental/issue-100521-change-struct-name-assocty.rs @@ -0,0 +1,65 @@ +// revisions: rpass1 rpass2 + +pub fn foo() { + bar(); + baz::<()>(); +} + +fn bar() +where + <() as Table>::AllColumns:, +{ +} + +fn baz<W>() +where + W: AsQuery, + <W as AsQuery>::Query:, +{ +} + +trait AsQuery { + type Query; +} + +trait UnimplementedTrait {} + +impl<T> AsQuery for T +where + T: UnimplementedTrait, +{ + type Query = (); +} + +struct Wrapper<Expr>(Expr); + +impl<Ret> AsQuery for Wrapper<Ret> { + type Query = (); +} + +impl AsQuery for () +where + Wrapper<<() as Table>::AllColumns>: AsQuery, +{ + type Query = (); +} + +trait Table { + type AllColumns; +} + +#[cfg(rpass1)] +impl Table for () { + type AllColumns = Checksum1; +} +#[cfg(rpass1)] +struct Checksum1; + +#[cfg(rpass2)] +impl Table for () { + type AllColumns = Checksum2; +} +#[cfg(rpass2)] +struct Checksum2; + +fn main() {} |
