_ExpressibleByDictionaryLiteral

public protocol _ExpressibleByDictionaryLiteral

Compiler-internal protocol for dictionary-literal lowering.

The compiler lowers [k1: v1, k2: v2] into a call with a raw pointer to a (Key, Value) buffer. As with array literals, user types should prefer ExpressibleByDictionaryLiteral.

Associated Types

type Key
type Value

Initializers

init(consuming lang.ptr[(Key, Value)], consuming lang.i64)

Compiler-emitted init taking a raw (Key, Value) pointer and count.

Both params are consuming for the same reason as the array bridge: the compiler hands ownership of the stack buffer to the implementation. MIR lowering matches on the unwrapped param shape, so an impl that deviates from this convention will be skipped during literal lowering.

Defined in lang/std/core/literals.ks