Rename test struct to emphasize its Rust binding is Unpin
C++ types that translate to Unpin and !Unpin types are handled quite differently, especially when it comes to Rvalue and Lvalue references. Thus it's worth highlighting if the C++ type is Unpin (Trivial) or !Unpin (Nontrivial).
PiperOrigin-RevId: 518814724
diff --git a/rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.cc b/rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.cc
index 73d634a..3bef2ab 100644
--- a/rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.cc
+++ b/rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.cc
@@ -4,14 +4,22 @@
#include "rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.h"
-void ClassWithQualifiedMethods::increment_i() { i += 1; }
-int ClassWithQualifiedMethods::unqualified_get_i() { return i; }
-int ClassWithQualifiedMethods::const_qualified_get_i() const { return i; }
-int ClassWithQualifiedMethods::lvalue_ref_qualified_get_i() & { return i; }
-int ClassWithQualifiedMethods::const_lvalue_ref_qualified_get_i() const& {
+void UnpinStructWithRefQualifiedMethods::increment_i() { i += 1; }
+int UnpinStructWithRefQualifiedMethods::unqualified_get_i() { return i; }
+int UnpinStructWithRefQualifiedMethods::const_qualified_get_i() const {
return i;
}
-int ClassWithQualifiedMethods::rvalue_ref_qualified_get_i() && { return i; }
-int ClassWithQualifiedMethods::const_rvalue_ref_qualified_get_i() const&& {
+int UnpinStructWithRefQualifiedMethods::lvalue_ref_qualified_get_i() & {
return i;
}
+int UnpinStructWithRefQualifiedMethods::const_lvalue_ref_qualified_get_i()
+ const& {
+ return i;
+}
+int UnpinStructWithRefQualifiedMethods::rvalue_ref_qualified_get_i() && {
+ return i;
+}
+int UnpinStructWithRefQualifiedMethods::const_rvalue_ref_qualified_get_i()
+ const&& {
+ return i;
+}
\ No newline at end of file
diff --git a/rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.h b/rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.h
index cd97c60..e7f3d64 100644
--- a/rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.h
+++ b/rs_bindings_from_cc/test/struct/methods_qualifiers/methods_qualifiers.h
@@ -7,7 +7,7 @@
#pragma clang lifetime_elision
-struct ClassWithQualifiedMethods final {
+struct UnpinStructWithRefQualifiedMethods final {
int i;
void increment_i();
int unqualified_get_i();
diff --git a/rs_bindings_from_cc/test/struct/methods_qualifiers/test.rs b/rs_bindings_from_cc/test/struct/methods_qualifiers/test.rs
index 56e7455..f015864 100644
--- a/rs_bindings_from_cc/test/struct/methods_qualifiers/test.rs
+++ b/rs_bindings_from_cc/test/struct/methods_qualifiers/test.rs
@@ -7,15 +7,15 @@
use std::pin::Pin;
#[test]
-fn test_methods_on_mov_pinned_box_to_plain_struct() {
- let c = ClassWithQualifiedMethods { i: 0 };
+fn test_methods_on_mov_pinned_box_to_plain_unpin_struct() {
+ let c = UnpinStructWithRefQualifiedMethods { i: 0 };
assert_eq!(ctor::mov!(Box::pin(c)).0.const_qualified_get_i(), 0);
assert_eq!(ctor::mov!(Box::pin(c)).0.const_lvalue_ref_qualified_get_i(), 0);
assert_eq!(ctor::mov!(Box::pin(c)).0.const_rvalue_ref_qualified_get_i(), 0);
}
#[test]
-fn test_methods_on_mov_pinned_box_to_mut_struct() {
- let mut c_mut = ClassWithQualifiedMethods { i: 0 };
+fn test_methods_on_mov_pinned_box_to_mut_unpin_struct() {
+ let mut c_mut = UnpinStructWithRefQualifiedMethods { i: 0 };
c_mut.increment_i(); // Slience the warning on unused `mut`.
assert_eq!(ctor::mov!(Box::pin(c_mut)).0.unqualified_get_i(), 1);
assert_eq!(ctor::mov!(Box::pin(c_mut)).0.const_qualified_get_i(), 1);
@@ -24,18 +24,19 @@
assert_eq!(ctor::mov!(Box::pin(c_mut)).0.rvalue_ref_qualified_get_i(), 1);
assert_eq!(ctor::mov!(Box::pin(c_mut)).0.const_rvalue_ref_qualified_get_i(), 1);
}
+
#[test]
-fn test_methods_on_mov_pinned_mut_struct_ref() {
- emplace! {let c : Pin<&mut _> = ClassWithQualifiedMethods{i:0};}
+fn test_methods_on_mov_pinned_mut_unpin_struct_ref() {
+ emplace! {let c : Pin<&mut _> = UnpinStructWithRefQualifiedMethods{i:0};}
assert_eq!(ctor::mov!(c).0.unqualified_get_i(), 0);
- emplace! {let c : Pin<&mut _> = ClassWithQualifiedMethods{i:0};}
+ emplace! {let c : Pin<&mut _> = UnpinStructWithRefQualifiedMethods{i:0};}
assert_eq!(ctor::mov!(c).0.const_qualified_get_i(), 0);
- emplace! {let c : Pin<&mut _> = ClassWithQualifiedMethods{i:0};}
+ emplace! {let c : Pin<&mut _> = UnpinStructWithRefQualifiedMethods{i:0};}
assert_eq!(ctor::mov!(c).0.lvalue_ref_qualified_get_i(), 0);
- emplace! {let c : Pin<&mut _> = ClassWithQualifiedMethods{i:0};}
+ emplace! {let c : Pin<&mut _> = UnpinStructWithRefQualifiedMethods{i:0};}
assert_eq!(ctor::mov!(c).0.const_lvalue_ref_qualified_get_i(), 0);
- emplace! {let c : Pin<&mut _> = ClassWithQualifiedMethods{i:0};}
+ emplace! {let c : Pin<&mut _> = UnpinStructWithRefQualifiedMethods{i:0};}
assert_eq!(ctor::mov!(c).0.rvalue_ref_qualified_get_i(), 0);
- emplace! {let c : Pin<&mut _> = ClassWithQualifiedMethods{i:0};}
+ emplace! {let c : Pin<&mut _> = UnpinStructWithRefQualifiedMethods{i:0};}
assert_eq!(ctor::mov!(c).0.const_rvalue_ref_qualified_get_i(), 0);
}