QuineDot

Results 16 comments of QuineDot
trafficstars

See [this PR](https://github.com/rust-lang/rust/pull/125380) -- it's not just `Self: Sized` that makes a method non-dispatchable, it's `TypeInvolvingSelf: NonAutoTrait`... plus some others. [See also.](https://github.com/rust-lang/rust/issues/50781#issuecomment-400997165) I haven't experimented enough to feel :100: confident...

Note that this isn't just an issue with transitive coercions; [consider this example where two direct coercions are possible.](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=b1b8073f33a109fdab5fc670fb248171) ```rust fn foo(value: &Arc) { // Unsized coercion and deref coercion...

CC @matthewjasper @Havvy: The issue to be accurate about which unsizing coercions apply that you requested in PR #190 was never created, but this issue could serve as that. [It...

Another workaround is to not partially move out of `b` and unconditionally drop `b` in every match arm. ```rust match b { Either::Left(AW(&mut ref mut a)) => { // or...

[As requested.](https://users.rust-lang.org/t/opting-out-of-gat-associated-type-dyn-usability/111983/8) These examples don't change object safety but are still breaking changes. [Example 1: Removing `Self: Sized` from an associated type is a breaking change.](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=574360f052a74f9b86bba3dfb1a89dde) ```rust // Now that...

- If you add the bound, the associated type is no longer defined for unsized implementors, and [that is a breaking change.](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=cb91f996b60cf78a54e42675aaa12bcc) ```rust // Uncomment the two `Self: Sized` lines...