Repository navigation
Conversation
| //! Tests for specific instances of <https://github.com/rust-lang/rust/issues/161621> that don't | ||
| //! pass yet. See `dispatchability-placeholder-satisfies-bounds.rs` for context. | ||
| // FIXME(@dianne): this should be gone soon | ||
| //@ known-bug: unknown |
There was a problem hiding this comment.
I've left this as unknown for now since the issue is currently marked as closed and this issue is significantly more specific than what was reported there. not sure if it should be reopened until the followup to this lands or a new issue is warranted
There was a problem hiding this comment.
since you're following up immediately, this is fine
There was a problem hiding this comment.
I've dumped all the passing tests in this file since they share a significant amount of context, especially when adding in the tests I've written for the followup to this, where many tests build on concepts that were set up in previous tests. maybe some of them should be split apart though?
There was a problem hiding this comment.
Seems fine this way. A little bit more annoying to debug when only one of them breaks, but they are all very related
…ke-2-partial, r=oli-obk only make `RustaceansAreAwesome` satisfy trait clauses Fixes rust-lang#163550 but unfortunately partially un-fixes a variant of rust-lang#161621 that hadn't been reported. I have a followup to re-fix that, but I ended up deciding that it would probably be easier to review separately; I'll open a PR for that later. The variant in question: ```rust trait HasAssoc { type Assoc; } trait Parent<T> {} trait Trait where (Self,): HasAssoc<Assoc = str>, Self: Parent<<<(Self,) as HasAssoc>::Assoc as ToOwned>::Owned>, { fn f(&self); //~^ ERROR: the trait bound `<(RustaceansAreAwesome,) as HasAssoc>::Assoc: Clone` is not satisfied //~| NOTE: required for `<(RustaceansAreAwesome,) as HasAssoc>::Assoc` to implement `ToOwned` } ``` This fails to prove `<(RustaceansAreAwesome,) as HasAssoc>::Assoc: Owned` because it can't normalize that alias to `str`. The followup will re-add projections as necessary for this in a hopefully-non-breaking way.
…ke-2-partial, r=oli-obk only make `RustaceansAreAwesome` satisfy trait clauses Fixes rust-lang#163550 but unfortunately partially un-fixes a variant of rust-lang#161621 that hadn't been reported. I have a followup to re-fix that, but I ended up deciding that it would probably be easier to review separately; I'll open a PR for that later. The variant in question: ```rust trait HasAssoc { type Assoc; } trait Parent<T> {} trait Trait where (Self,): HasAssoc<Assoc = str>, Self: Parent<<<(Self,) as HasAssoc>::Assoc as ToOwned>::Owned>, { fn f(&self); //~^ ERROR: the trait bound `<(RustaceansAreAwesome,) as HasAssoc>::Assoc: Clone` is not satisfied //~| NOTE: required for `<(RustaceansAreAwesome,) as HasAssoc>::Assoc` to implement `ToOwned` } ``` This fails to prove `<(RustaceansAreAwesome,) as HasAssoc>::Assoc: Owned` because it can't normalize that alias to `str`. The followup will re-add projections as necessary for this in a hopefully-non-breaking way.
…uwer Rollup of 9 pull requests Successful merges: - #163462 (Fix COFF renaming of decorated (stdcall/fastcall/vectorcall) exports) - #163855 (Include enclosing item's context on const errors) - #163861 (Run LLDB debuginfo tests on `x86_64-mingw`) - #163538 (Add `rustc::missing_generic_type_visitable` lint) - #163617 (mips: make `Complex<T>` ABI match GCC) - #163832 (reject non-async coroutine closures as async callables) - #163958 (only make `RustaceansAreAwesome` satisfy trait clauses) - #163974 (Condense AdtDef lang item checks into one match) - #163979 (Add `bf16` to arm features) Failed merges: - #163972 (const-eval: ICE when we hit a non-const fn)
…ke-2-partial, r=oli-obk only make `RustaceansAreAwesome` satisfy trait clauses Fixes rust-lang#163550 but unfortunately partially un-fixes a variant of rust-lang#161621 that hadn't been reported. I have a followup to re-fix that, but I ended up deciding that it would probably be easier to review separately; I'll open a PR for that later. The variant in question: ```rust trait HasAssoc { type Assoc; } trait Parent<T> {} trait Trait where (Self,): HasAssoc<Assoc = str>, Self: Parent<<<(Self,) as HasAssoc>::Assoc as ToOwned>::Owned>, { fn f(&self); //~^ ERROR: the trait bound `<(RustaceansAreAwesome,) as HasAssoc>::Assoc: Clone` is not satisfied //~| NOTE: required for `<(RustaceansAreAwesome,) as HasAssoc>::Assoc` to implement `ToOwned` } ``` This fails to prove `<(RustaceansAreAwesome,) as HasAssoc>::Assoc: Owned` because it can't normalize that alias to `str`. The followup will re-add projections as necessary for this in a hopefully-non-breaking way.
…uwer Rollup of 12 pull requests Successful merges: - #163462 (Fix COFF renaming of decorated (stdcall/fastcall/vectorcall) exports) - #163855 (Include enclosing item's context on const errors) - #163861 (Run LLDB debuginfo tests on `x86_64-mingw`) - #161201 (Speed up tidy again) - #163538 (Add `rustc::missing_generic_type_visitable` lint) - #163617 (mips: make `Complex<T>` ABI match GCC) - #163772 (comptime fn error: suggest wrapping in const block) - #163832 (reject non-async coroutine closures as async callables) - #163958 (only make `RustaceansAreAwesome` satisfy trait clauses) - #163974 (Condense AdtDef lang item checks into one match) - #163979 (Add `bf16` to arm features) - #163989 (Revert "compiletest: stream output of executor process when --no-capture is set") Failed merges: - #163972 (const-eval: ICE when we hit a non-const fn)
Fixes #163550 but unfortunately partially un-fixes a variant of #161621 that hadn't been reported. I have a followup to re-fix that, but I ended up deciding that it would probably be easier to review separately; I'll open a PR for that later.
The variant in question:
This fails to prove
<(RustaceansAreAwesome,) as HasAssoc>::Assoc: Ownedbecause it can't normalize that alias tostr. The followup will re-add projections as necessary for this in a hopefully-non-breaking way.