fi-0156: Cannot be optional {:#fi-0156}

This error occurs when you try to mark a type as optional that cannot be optional.

{% include “docs/reference/fidl/language/error-catalog/label/_bad.md” %}

{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/bad/fi-0156.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}

To fix this error, remove the optional constraint:

{% include “docs/reference/fidl/language/error-catalog/label/_good.md” %}

{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/good/fi-0156.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}

Only FIDL types that can be made optional with no change to the wire shape are allowed to use the optional constraint. See the optionality guide, or the expandable below, for more information.

<<../../../../development/languages/fidl/widgets/_optionality.md>>