This error indicates that a FIDL method does not have a strict
or flexible
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-0191.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}
To fix this, add either strict
or flexible
to the method. If this is an existing method, you must use strict
and should see the compatibility guide for guidance on changing it to flexible
. 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-0191.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 allows the modifiers strict
and flexible
to apply to FIDL methods and events. Historically, all methods behaved as though they were strict
, however at the end of this migration, the default value will be flexible
. To avoid confusion and possible issues arising from changing the method default modifier from strict
to flexible
, the method 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.