pub enum Supplier {
Annotation,
AnnotationVariable,
Body,
}Expand description
What could supply the record type an ErrorKind::RecordTypeUnknown is missing —
which is what its note tells the reader to do about it. unifier::unknown decides it.
“Part of the declaration’s type” means a variable of the declaration’s solved type — a parameter’s, the result’s, or inside either — or the field type of another use whose record type is one: an annotation, unified with that type, would solve the variable, and reading the use would solve the next.
Variants§
Annotation
The declaration has no annotation, and the record type is part of its type: an annotation writing a record type there would supply it.
AnnotationVariable
The record type is part of the declaration’s type, and the declaration’s
annotation writes a type variable there — f : a -> Int with body r.x — or
around it.
Body
The record type is not part of the declaration’s type — .x passed where any
value is taken, as in first n .x — so no annotation on the declaration could
supply it, and only its body can.
Trait Implementations§
impl Copy for Supplier
impl Eq for Supplier
impl StructuralPartialEq for Supplier
Auto Trait Implementations§
impl Freeze for Supplier
impl RefUnwindSafe for Supplier
impl Send for Supplier
impl Sync for Supplier
impl Unpin for Supplier
impl UnsafeUnpin for Supplier
impl UnwindSafe for Supplier
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.