std/multiply
Import with import std/multiply.
Exports
Section titled “Exports”Interfaces
interface Multiply
Section titled “interface Multiply”interface Multiply<'Rhs, 'Out> { fn multiply(lhs: self, rhs: 'Rhs): 'Out }
Protocol for the * operator.
Multiply.multiply(lhs, rhs) returns the result of lhs * rhs. The
left-hand type is the implementor (self); the interface type parameters
describe the right-hand operand and the output type. That lets an impl
choose a result that is not necessarily the same type as the left-hand
operand.
pub type Quantity Int pub type Scale Int impl Multiply<Scale, Quantity> for Quantity { fn multiply(lhs: Quantity, rhs: Scale): Quantity { ... } }