Michael Goulet
Michael Goulet
This makes it significantly easier to debug a `must_produce_diag` ICE, since we have no other way to know where the heck the bug originates from. Backtrace rendering kinda sucks right...
When inlining a coroutine, we will substitute the MIR body with the args of the call. There is code in the MIR validator that attempts to prevent query cycles, and...
Make RPITs/TAITs/weak (type) aliases/projections all enforce: 1. their nominal predicates 2. their args are WF This possibly does extra work, but is also nice for consistency sake. r? lcnr
A useless change, but I like things to be clean.
Eagerly instantiate closure/coroutine-like bounds with placeholders to deal with binders correctly
A follow-up to #119849, however it aims to fix a different set of issues. Currently, we have trouble confirming goals where built-in closure/fnptr/coroutine signatures are compared against higher-ranked goals. Currently,...
Self-explanatory. See test for example when this can happen.
I tried this code: ```rust use std::future::Future; trait Trait {} impl Trait for () {} fn foo(_: impl Future) {} fn main() { foo(async { Box::new(()) }) } ``` I...
`to_opt_closure_kind` ICEs when it sees placeholders... so don't do that no test b/c I'm too lazy to write a no-core test for this, but I could be convinced otherwise r?...
Make it clear that we don't normalize param-envs in the new solver, since `normalize` is a noop. This also skips the `ConstNormalizer` hack in `normalize_param_env_or_error`, since we have deferred projection...
Would be very cool if we detected dead rustdoc links and stuff and filed issues for them, or at least failed CI for them. This would make sure we can...