Errors
When Crubit can’t generate bindings for an item, it usually leaves a comment in the generated bindings explaining why, often with a link to one of the pages below. To find the comment, look at the generated bindings for C++ libraries or Rust libraries.
- Unsupported types: a type that Crubit can’t bind, which also prevents bindings for every function that uses it.
- Nested types: C++ types nested inside other types, when the snake_case module Crubit generates for them collides with another name.
- Visibility: types whose bindings are
pub(crate)and so aren’t available outside their own library. - Unknown attributes: C++ or Rust attributes that Crubit doesn’t understand, which cause it to skip the item.
- Bridge types as struct fields: struct or union fields whose type is a bridge type.
- Compound types containing bridge types: bridge
types behind a pointer or inside a type like
std::vector. - The
Deletetrait: usingvirtual_unique_ptr<T>with a type that has neither a virtual destructor nor a customoperator delete.