Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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 Delete trait: using virtual_unique_ptr<T> with a type that has neither a virtual destructor nor a custom operator delete.