---
source: varnish-macros/src/tests.rs
---
<!--
!!!!!! WARNING: DO NOT EDIT THIS FILE!
This file was generated from the Varnish VMOD source code.
It will be automatically updated on each build.
-->
# Varnish Module (VMOD) `types`
main docs
## Big header
### sub header
foo bar
Multiline
* comment per https://github.com/rust-lang/rust/issues/32088
*
* The end
```vcl
// Place import statement at the top of your VCL file
// This loads vmod from a standard location
import types;
// Or load vmod from a specific file
import types from "path/to/libtypes.so";
```
### Function `VOID types.with_docs()`
doctest on a function
with multiple lines
#### Big header
##### sub header
* foo
* bar
### Function `VOID types.no_docs()`
### Function `VOID types.doctest(INT _no_docs, INT _v)`
doctest on a function
* `INT _no_docs`:
* `INT _v`:
doc comment on *function arguments* are invalid in Rust,
but they are parsed by macros.
we can generate documentation for param `_v` here.
##### Example
This comment is multi-lined to ensure multiple `#[doc]` are parsed correctly.
### Function `VOID types.arg_only(INT _v)`
* `INT _v`:
doc comment for `arg_only`
### Constructor `types.DocStruct([INT cap])`
doctest for `DocStruct` implementation
doctest for `new`
* `[INT cap]`:
doc comment for `cap`
#### Method `VOID <object>.function(STRING key)`
doctest for the object function
* `STRING key`:
param docs