# `RustQ.Rust.AST.Function`
[🔗](https://github.com/elixir-crab/rustq/blob/v1.0.0-rc.19/lib/rustq/rust/ast.ex#L358)

Structural RustQ AST node. Prefer the focused builder modules for construction.

# `t`

```elixir
@type t() :: %RustQ.Rust.AST.Function{
  args: [RustQ.Rust.AST.FunctionArg.t()],
  attrs: [RustQ.Rust.AST.Attribute.t()],
  body: [RustQ.Rust.AST.stmt()],
  lifetimes: [atom()],
  name: atom(),
  returns: RustQ.Rust.AST.type(),
  vis: RustQ.Rust.AST.vis()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
