diff options
author | Travis Finkenauer <tmfinken@gmail.com> | 2017-08-13 13:12:21 -0700 |
---|---|---|
committer | Travis Finkenauer <tmfinken@gmail.com> | 2017-08-13 13:12:21 -0700 |
commit | e7fa2895582435b59dfb1ac960167b0876f8da55 (patch) | |
tree | 321361d58ee698eea089eed18fbd62341345cf13 /tests/headers/class_1_0.hpp | |
parent | fdee9f1c83f8bf7cc554a59c2f66d9cbbb09eda4 (diff) |
Re-add --rust-target to replace --unstable-rust
Instead of specifying whether or not to use stable, specify the Rust
release to support (one of several stable/beta releases or nightly).
The `--unstable-rust` option is still accepted and implies nightly.
The definitions of `RustTarget` and `RustFeatures` are created with
macros.
For each test that uses unions, there is a version that uses the latest
stable and 1.0.
This also fixes the bug where unions were generated with non-Copy
fields.
Diffstat (limited to 'tests/headers/class_1_0.hpp')
-rw-r--r-- | tests/headers/class_1_0.hpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/tests/headers/class_1_0.hpp b/tests/headers/class_1_0.hpp new file mode 100644 index 00000000..9f4795b6 --- /dev/null +++ b/tests/headers/class_1_0.hpp @@ -0,0 +1,58 @@ +// bindgen-flags: --rust-target 1.0 --with-derive-hash + +class C { + int a; + // More than rust limits (32) + char big_array[33]; +}; + +class C_with_zero_length_array { + int a; + // More than rust limits (32) + char big_array[33]; + char zero_length_array[0]; +}; + +class C_with_incomplete_array { + int a; + // More than rust limits (32) + char big_array[33]; + char incomplete_array[]; +}; + +class C_with_zero_length_array_and_incomplete_array { + int a; + // More than rust limits (32) + char big_array[33]; + char zero_length_array[0]; + char incomplete_array[]; +}; + +class WithDtor { + int b; + + ~WithDtor() {} +}; + +class IncompleteArrayNonCopiable { + void* whatever; + C incomplete_array[]; +}; + +union Union { + float d; + int i; +}; + +class WithUnion { + Union data; +}; + +class RealAbstractionWithTonsOfMethods { + void foo(); +public: + void bar() const; + void bar(); + void bar(int foo); + static void sta(); +}; |