Right now we generate all of a compound type's fields and methods eagerly, and then throw away the result of that computation for opaque types here:
https://github.com/rust-lang-nursery/rust-bindgen/blob/8aa41d195b278d36b9cde9d17c01f5651d9b79b3/src/codegen/mod.rs#L1657-L1675
Instead, we should only codegen the fields and methods if the type isn't opaque in the first place.