Skip to content

ProtocolMember ​

Generated from the engine's own definition: compute-engine's symbol, which we neither extend nor document by hand. No examples yet — the crosswalk is the reason it has a page.

Invoke a protocol member on a value — the lowering of a QUALIFIED protocol call (Comparable.compare(x, y) in Epsil, whose parse, a MemberCall on the protocol name, canonicalizes to Apply(Field(Comparable, "compare"), x, y)). The first two operands name the protocol and the member; the rest are the call arguments. Dispatch is dynamic and restricted to the named protocol: the most specific conformance implementation for the runtime type of the first argument is invoked. Several equally specific implementations are protocol-call-ambiguous; none is protocol-implementation-missing; an argument whose type cannot decide the question leaves the call symbolic.

ProtocolMember(protocol: string, member: string, arguments: any*) -> unknownas compute-engine declares it
Typed signatures
TypePackageApplies
(protocol: string, member: string, arguments: any*) -> unknowncompute-enginealways

Domain: Compute engine

About