[][src]Module chalk_ir::cast

Upcasts, to avoid writing out wrapper types.

Structs

Casted

An iterator that casts each element to some other type.

Traits

Cast

The Cast trait is used to make annoying upcasts between logically equivalent types that imply wrappers. For example, one could convert a DomainGoal into a Goal by doing:

CastTo

The "helper" trait for cast that actually implements the transformations. You can also use this if you want to have functions that take (e.g.) an impl CastTo<Goal<_>> or something like that.

Caster

An iterator adapter that casts each element we are iterating over to some other type.