This error indicates that a FIDL protocol does not have an open
, ajar
, or closed
modifier.
{% include “docs/reference/fidl/language/error-catalog/label/_bad.md” %}
{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/bad/fi-0192.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}
To fix this, add open
, ajar
, or closed
to the protocol. If this is an existing protocol, you must use closed
and should see the compatibility guide for guidance on changing it to open
or ajar
. If this is a new method, you should see the API rubric for guidance on which to choose.
{% include “docs/reference/fidl/language/error-catalog/label/_good.md” %}
{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/good/fi-0192.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}
FIDL is currently undergoing a migration in order to support handling unknown interactions, defined in RFC-0138. This new feature adds three new modifiers, open
, ajar
, and closed
, which apply to FIDL protocols. Historically, all protocols behaved as though they were closed
, however at the end of this migration, the default value will be open
. To avoid confusion and possible issues arising from changing the protocol default modifier from closed
to open
, the protocol modifier is required during this transitional period. When the migration is complete, this will be changed from an error to a linter suggestion.
For more information about unknown interactions, see the FIDL language reference.