[][src]Function dependent_ghost::named::name

pub fn name<A>(x: A) -> impl Named<A>

Annotate a value with a type-level name.

This function returns an existential impl Named<A> to ensure that names are fresh per invocation. This prevents consumers from providing their own names, which would violate the invariant that named values represent a property of that value.

Note that the above does not quite work correctly in Rust, as the existential names are not necessarily unique between identical invocations.