Expand description
Code which is used by built-in goals that match “structurally”, such a auto
traits, Copy
/Clone
.
Structs§
- Async
Callable 🔒Relevant Types - Relevant types for an async callable, including its inputs, output, and the return type you get from awaiting the output.
- Replace
Projection 🔒With
Functions§
- const_
conditions_ 🔒for_ destruct - coroutine_
closure_ 🔒to_ ambiguous_ coroutine - Given a coroutine-closure, project to its returned coroutine when we are not certain that the closure’s kind is compatible with the goal, and therefore also don’t know yet what the closure’s upvars are.
- coroutine_
closure_ 🔒to_ certain_ coroutine - Given a coroutine-closure, project to its returned coroutine when we are certain that the closure’s kind is compatible with the goal.
- extract_
fn_ 🔒def_ from_ const_ callable - This duplicates
extract_tupled_inputs_and_output_from_callable
but needs to return different information (namely, the def id and args) so that we can create const conditions. - extract_
tupled_ 🔒inputs_ and_ output_ from_ async_ callable - extract_
tupled_ 🔒inputs_ and_ output_ from_ callable - fn_
item_ 🔒to_ async_ callable - instantiate_
constituent_ 🔒tys_ for_ auto_ trait - instantiate_
constituent_ 🔒tys_ for_ copy_ clone_ trait - instantiate_
constituent_ 🔒tys_ for_ sized_ trait - predicates_
for_ 🔒object_ candidate - Assemble a list of predicates that would be present on a theoretical user impl for an object type. These predicates must be checked any time we assemble a built-in object candidate for an object type, since they are not implied by the well-formedness of the type.