blob: 5dc5fbcf0019cf5a4653306f88f529cc5f6c32c8 [file] [log] [blame] [view]
## fi-0042: Duplicate library import {:#fi-0042}
Dependencies cannot be imported multiple times:
{% include "docs/reference/fidl/language/error-catalog/label/_bad.md" %}
```fidl
{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/bad/fi-0042-a.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}
```
```fidl
{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/bad/fi-0042-b.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}
```
Ensure that each dependency is only imported once:
{% include "docs/reference/fidl/language/error-catalog/label/_good.md" %}
```fidl
{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/good/fi-0042-a.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}
```
```fidl
{% includecode gerrit_repo="fuchsia/fuchsia" gerrit_path="tools/fidl/fidlc/tests/fidl/good/fi-0042-b.test.fidl" exclude_regexp="\/\/ (Copyright 20|Use of|found in).*" %}
```
It is worth noting that FIDL does not support importing different versions of
the same library. The `@available` version is resolved for the entire `fidlc`
compilation via the `--available` flag, meaning that both the library being
compiled and all of its dependencies must share the same version for any given
compilation run.