Michael Goulet
Michael Goulet
See https://github.com/rust-lang/rust/pull/100046#issuecomment-1214446815 This lifetime bound `S: 'a` should've been required the whole time, but the compiler was not smart enough and had unsoundness :sweat_smile:
Both use `:` in Rust, but the colon is always parsed as outlives in formality. This was confusing when @jackh726 wrote his projection PR, since it looked like trait goals...
Normalize the type outlives assumptions and obligations in MIR borrowck. This should fix any of the lazy-norm-related MIR borrowck problems. Also some cleanups from last PR: 1. Normalize obligations in...
This PR implements a new lowering for async closures via `TyKind::CoroutineClosure` which handles the curious relationship between the closure and the coroutine that it returns. I wrote up a bunch...
Given a deeply nested rigid projection like `::Assoc3`, this PR adjusts both trait solvers to look at the item bounds for all of `Assoc3`, `Assoc2`, and `Assoc1` in order to...
Pending try builds have their checkboxes unchecked, even though the code suggests they should be disabled: https://github.com/rust-lang/homu/blob/c8f51b8e261541c13747e50097cd8899aae9537b/homu/html/queue.html#L180-L184  I can see someone accidentally rolling up a try build because of...
Self-explanatory. cc rust-lang/rust#114901 This implementation is probably super busted. I have no idea what most of these options in rustfmt mean, lol.
https://rustc-dev-guide.rust-lang.org/stability.html probably could live in https://std-dev-guide.rust-lang.org/, since it's not that relevant to the compiler. Just a thought.
This PR reworks method probing to use fulfillment instead of a `for`-loop of `evaluate_predicate` calls, and moves normalization from method candidate assembly into the `consider_probe`, where it's applied to *all*...
During `predicates_of`, we install outlives obligations which link the bivariant lifetimes of an opaque to their invariant (captured) copies. During NLL, we don't enforce well-formedness of an opaque that we...