summaryrefslogtreecommitdiff
path: root/tests/headers/class_1_0.hpp
diff options
context:
space:
mode:
authorTravis Finkenauer <tmfinken@gmail.com>2017-08-04 09:51:42 -0700
committerTravis Finkenauer <tmfinken@gmail.com>2017-08-04 09:51:42 -0700
commit0bb7b9f1c4652f63f41eba4064b79c044fd3d955 (patch)
treeca47cc6347b7d41e7ccc27d828d817ec0e9252d3 /tests/headers/class_1_0.hpp
parent04fdb10212e729f77343f8548db2f8fdf83a5af9 (diff)
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 release and stable 1.0.
Diffstat (limited to 'tests/headers/class_1_0.hpp')
-rw-r--r--tests/headers/class_1_0.hpp58
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..f73487d1
--- /dev/null
+++ b/tests/headers/class_1_0.hpp
@@ -0,0 +1,58 @@
+// bindgen-flags: --rust-target 1.0
+
+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();
+};