summaryrefslogtreecommitdiff
path: root/libbindgen/src/ir/layout.rs
AgeCommit message (Collapse)Author
2017-01-23Unify under the `bindgen` name.Emilio Cobos Álvarez
2017-01-21codegen: Avoid generating invalid Rust code when a struct is not properly ↵Emilio Cobos Álvarez
aligned.
2016-12-30Relax opaque layout trait deriving and take alignment into accountNick Fitzgerald
2016-12-29Do not derive Copy/Debug for some opaque typesNick Fitzgerald
When we treat a type as opaque, either because it is explicitly annotated as such or because it is a template that has a non-type parameter, we need to check if the size is larger than RUST_DERIVE_IN_ARRAY_LIMIT. Performing this check requires information that is up the stack, in the `Item` rather than in the `CompInfo` or `Type`. Therefore, I introduced two traits to encapsulate whether a thing can derive `Debug` and `Copy` (the `CanDeriveDebug` and `CanDeriveCopy` traits, respectively) and implemented them for ALL THE THINGS. This allowes us to perform our various checks at the level where we have access to the necessary info, and to let sub-levels do their own checks with their sub-info. Fixes #372.
2016-11-16Transition to libbindgen sub-crateJeff Waugh
- The root crate is the `bindgen` binary - Rust-ify the test suite, no more subprocesses! - Update Travis config to test both crates