mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-09-30 13:05:01 +01:00
When we do member access `x.F` we attempt to look into the type of `x` for `F`. If `x` is a facet, we look at its FacetType to find `F`. We want `facet` and `facet as type` expressions to be generally treated as equivalent, so we need to get at the "canonical facet value" of `x` in order to look into its type. Add a new operation that allows us to preserve the non-canonical `base_id` in the member access for diagnostics if no conversion to a canonical facet value was needed.