mirror of
https://github.com/rust-lang/rust.git
synced 2025-10-06 12:16:22 +00:00

delegation: Support renaming, and async, const, extern "ABI" and C-variadic functions Also allow delegating to functions with opaque types (`impl Trait`). The delegation item will refer to the original opaque type from the callee, fresh opaque type won't be created, which seems like a reasonable behavior. (Such delegation items will cause query cycles when used in trait impls, but it can be fixed later.) Part of https://github.com/rust-lang/rust/issues/118212.
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.