mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-23 07:14:28 +00:00
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
This commit is contained in:
commit
631aed82bc
@ -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() {}
|
Loading…
Reference in New Issue
Block a user