The @available
attribute supports the arguments removed
and replaced
, but they can't be used together:
{% include “docs/reference/fidl/language/error-catalog/label/_bad.md” %}
{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/bad/fi-0203.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}
To fix the error, delete one of the arguments. If you intend to remove the element without replacing it, keep removed
and delete replaced
:
{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/good/fi-0203-a.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}
Alternatively, if you are swapping the element with a new definition, keep replaced
and delete removed
:
{% include “docs/reference/fidl/language/error-catalog/label/_good.md” %}
{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/good/fi-0203-b.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}
It doesn't make sense to use removed
and replaced
together because they have opposite meanings. When an element is marked removed
, fidlc validates that there IS NOT a replacement element added at the same version. When an element is marked replaced
, fidlc validates that there IS a replacement element added at the same version.
See FIDL versioning to learn more about versioning.