commit | d6ca28d7f4d5e72f06e2bf62336f0913fcd0a760 | [log] [tgz] |
---|---|---|
author | bors-servo <lbergstrom+bors@mozilla.com> | Tue Nov 13 17:40:36 2018 -0500 |
committer | GitHub <noreply@github.com> | Tue Nov 13 17:40:36 2018 -0500 |
tree | d774d2db11d15f4663a537ad4eb5e66fc8f7cf55 | |
parent | d5dac094954b017468866129ed502655476d92ef [diff] | |
parent | d5883c677d0ffc57ec38e8483428d9ab8b516623 [diff] |
Auto merge of #1441 - scoopr:fix_namespace_macro, r=emilio Fix namespaces with macro names This fixes 1. When the name of the namespace is actually a `#define` macro, which previosly got the name of the macro 2. When the namespace is started from a included file (the header is wrapped in a `nsbegin.h`/`nsend.h` includes), which previously got generated name for the namespace The change is small, but I feel it is a bit of a hack. It wasn't obvious to me what is a better path though.
bindgen
impl period
has been started! Join us at Gitter.im.
bindgen
automatically generates Rust FFI bindings to C (and some C++) libraries.
For example, given the C header doggo.h
:
typedef struct Doggo { int many; char wow; } Doggo; void eleven_out_of_ten_majestic_af(Doggo* pupper);
bindgen
produces Rust FFI code allowing you to call into the doggo
library's functions and use its types:
/* automatically generated by rust-bindgen */ #[repr(C)] pub struct Doggo { pub many: ::std::os::raw::c_int, pub wow: ::std::os::raw::c_char, } extern "C" { pub fn eleven_out_of_ten_majestic_af(pupper: *mut Doggo); }
📚 Read the bindgen
users guide here! 📚
API reference documentation is on docs.rs