blob: 514f5745eaac91fc15c2148cd4a97b53d451832e [file] [log] [blame] [view]
An `alias` is a FIDL declaration that assigns a new name to an existing type.
This has several benefits:
- Using `alias` ensures that there is a single source of truth for the concept
the aliased type represents.
- It provides a way to name things, especially constrained types.
- Disparate uses of the now-aliased type may be linked as being instances of the
same concept.
It is important to note that aliases do not carry through to the generated
bindings code at the moment. In other words, the name assigned to an `alias`
declaration will never appear as a declaration name in the generated FIDL code.
In this example, adding an `alias` for `Key` allows us to avoid repetition with
a bespoke name, while also making clear to the reader that both the `key` value
on the `Item` type and the `key` used in the `ReadItem` request struct are
purposefully, and not merely coincidentally, the same thing.
<<../examples/key_value_store/_callout.md>>
<<../examples/key_value_store/_add_read_item_tutorial.md>>