diff options
author | Nick Fitzgerald <fitzgen@gmail.com> | 2016-12-29 16:47:13 -0800 |
---|---|---|
committer | Nick Fitzgerald <fitzgen@gmail.com> | 2016-12-29 16:54:28 -0800 |
commit | bc08b355b2daf10565d368a87462c6d882460e55 (patch) | |
tree | d8b64c0ed54578a4fb5003a3eb8eea04884deeca /libbindgen/tests/headers/inline-function.h | |
parent | d49bae228ca346e0e1e8d49d223b1207caece543 (diff) |
Do not derive Copy/Debug for some opaque types
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.
Diffstat (limited to 'libbindgen/tests/headers/inline-function.h')
0 files changed, 0 insertions, 0 deletions