| # C++ bindings for Rust `use` declarations |
| |
| Crubit supports `use` declarations for functions and types, mapping them to |
| equivalent `using` declarations in C++. |
| |
| **Limitations:** |
| |
| * The `use` declaration must refer to a function or type. |
| * If it refers to a function, it must not rename the function. |
| * The `use` declaration must import exactly one entity per name. For example, |
| `pub use m::x;` is supported if `x` refers to a function, or to a type, but |
| not if it refers to *both* a function *and* a type. |
| |
| ## Example |
| |
| Given the following Rust crate: |
| |
| ```live-snippet |
| cs/file:examples/rust/use_declaration/example.rs content:\bpub\ use\b |
| ``` |
| |
| Crubit will generate the following bindings: |
| |
| ```live-snippet |
| cs/file:examples/rust/use_declaration/example_generated.h content:\busing\b |
| ``` |