Michael Goulet

Results 47 issues of Michael Goulet

rustc wants to use derivative to simplify `PartialEq` derives, but encounters a pretty [significant perf hit](https://github.com/rust-lang/rust/pull/117408#issuecomment-1786120320) because the `derivative(PartialEq)` impl will add a discriminant comparison first, unlike our hand-rolled implementations....

Implement `trailing_semicolon = "Preserve"` to preserve existing semicolons but also don't add new ones even if, e.g., we break a block. I discovered some bugs in the formatting of `return...

p-high
pr-waiting-on-author

Currently in method probing, if we fail to pick a method, then we reset and try to collect relevant candidates for method errors: https://github.com/rust-lang/rust/blob/34582118afaf00b0eb2d209a90b181c7156b501c/compiler/rustc_hir_typeck/src/method/probe.rs#L953-L993 However, we do method lookups via...

T-compiler
S-waiting-on-review

Follow-up from #125076. r? lcnr

T-rustdoc
T-compiler
S-waiting-on-review
WG-trait-system-refactor

Formatting asssociated const equality bounds was broken in #125076. This is because rustdoc uses: https://github.com/rust-lang/rust/blob/030a12ce2b1ee42f2d8837b1b500fd9cf12ea191/src/librustdoc/clean/types.rs#L1307 Where the LHS is `Type` even though it definitely cannot be `Type`. It should likely...

T-rustdoc
C-bug
F-associated_const_equality

r? lcnr

T-compiler
S-waiting-on-author
WG-trait-system-refactor

This crate may break in https://github.com/rust-lang/rust/pull/123531. The `K: ?Sized` bound is unused by any of the code in the library, and also isn't even theoretically *able* to be used either...

This RFC adds an `async` bound modifier to the `Fn` family of trait bounds. The combination desugars to a set of perma-unstable `AsyncFn{,Mut,Once}` traits that parallel the current `Fn{,Mut,Once}` traits....

T-lang
proposed-final-comment-period
disposition-merge
A-async-await
A-closures
I-lang-nominated
WG-async

This is the uncontroversial part of #129532. This simply inlines the `predicates_defined_on` into into `predicates_of`. Nothing should change here logically.

T-compiler
S-waiting-on-bors

#129059 uncovered an interesting issue in argument checking. When we check arguments, we create three sets of types: * Formals * Expected * Actuals The **actuals** are the types of...

T-compiler
S-waiting-on-author