use Declarations
Generated Markdown for references/concept_use_declarations.md.
Open book page Back to the skill graph
# use Declarations
_use pulls qualified names from other namespaces into local scope so they can be written bare._
## use declarations
`use` brings qualified names into local scope so they can be written bare. It is top-level only; an unknown target or duplicate alias is an error when the document is opened.
```wcl
use company.utils.Point // bind the leaf: write `Point`
use company.utils.Point as P // leaf under another name: `P`
use company.utils // whole namespace: every member resolves bare
use company.utils as U // namespace alias: `U.Point`
use company.shapes.{Circle, Square as Sq} // pick several members at once
```
| Form | Effect |
| --- | --- |
| `use ns.Name` | Binds `Name` locally |
| `use ns.Name as Alias` | Binds the member under `Alias` |
| `use ns` | Adds the namespace to the bare-name search path |
| `use ns as Alias` | Namespace alias — members reachable as `Alias.Name` |
| `use ns.{A, B as C}` | Binds several members in one declaration |
## Related
- [Namespaces](../references/concept_namespaces.md)
- [Qualified Block Kinds](../references/concept_qualified_kinds.md)
- [Imports & Modules](../references/concept_imports.md)
[← Back to SKILL.md](../SKILL.md)