# `RustQ.Meta.Lower.Map`
[🔗](https://github.com/elixir-crab/rustq/blob/v1.0.0-rc.19/lib/rustq/meta/lower/map.ex#L1)

Lowers `Map` functions for `RustQ.Meta.Lower.Stdlib`, and types such calls.

On a `HashMap` or `BTreeMap`, `get`, `fetch!`, `has_key?`, `put`, `delete`, `merge`,
`update/4`, `keys`, `values`, `to_list`, and `new` keep Elixir's meaning: values read out
are copies, and an update takes the map only at its last use; see
`RustQ.Meta.Lower.Collection`. On a struct or a map with declared atom keys, `get`,
`fetch!`, `has_key?`, `put`, and `replace!` read and write its fields.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
