Module frunk::indices

source ·
Expand description

Types used for indexing into HLists and coproducts.

frunk frequently uses phantom index types as a technique to avoid overlapping impls for some traits.

Currently, Index type parameters in traits are not ever really intended to be selected by the user, and are instead simply solved for by type inference wherever the compiler can see that there is a unique solution. Therefore, you don’t really have much of a reason to use the things in this module.

…yet. ;)

Structs

Index for the case where we need to do work in order to transmogrify one type into another.
Used as an index into an HList.
Index type wrapper for transmogrifying a generic Source to a generic Target
Index type wrapper for transmogrifying through a (known) container (e.g. Vec).
Index type wrapper for transmogrifying a generic plucked Source to a generic Target
An index denoting that Suffix is just that.
Used as an index into an HList.

Enums

Index for the case where we don’t need to do any transmogrifying at all because the source type is the same as the target type.