Namespace
Every UDL file must have a namespace
block:
namespace math {
double exp(double a);
};
It serves multiple purposes:
- It identifies the name of the generated Rust scaffolding file
<namespace>.uniffi.rs
. - It identifies the package name of the generated foreign-language bindings (e.g.
uniffi.<namespace>
in Kotlin) - It also contains all top-level functions that get exposed to foreign-language bindings.