Add `non_unpin_ctor` to the list of `:supported` features

PiperOrigin-RevId: 825156271
Change-Id: I30c49488e4ff593d27e8149a3e31d98ee751d37b
diff --git a/cc_bindings_from_rs/test/aliasing_references/aliasing_references_cc_api.h b/cc_bindings_from_rs/test/aliasing_references/aliasing_references_cc_api.h
index c151e6d..fc916cd 100644
--- a/cc_bindings_from_rs/test/aliasing_references/aliasing_references_cc_api.h
+++ b/cc_bindings_from_rs/test/aliasing_references/aliasing_references_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // aliasing_references_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_ALIASING_REFERENCES_ALIASING_REFERENCES_GOLDEN
diff --git a/cc_bindings_from_rs/test/aliasing_references/aliasing_references_cc_api_impl.rs b/cc_bindings_from_rs/test/aliasing_references/aliasing_references_cc_api_impl.rs
index 5294467..9b445f3 100644
--- a/cc_bindings_from_rs/test/aliasing_references/aliasing_references_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/aliasing_references/aliasing_references_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // aliasing_references_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/arrays/arrays_cc_api.h b/cc_bindings_from_rs/test/arrays/arrays_cc_api.h
index edca271..51aa23c 100644
--- a/cc_bindings_from_rs/test/arrays/arrays_cc_api.h
+++ b/cc_bindings_from_rs/test/arrays/arrays_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // arrays_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_ARRAYS_ARRAYS_GOLDEN
diff --git a/cc_bindings_from_rs/test/arrays/arrays_cc_api_impl.rs b/cc_bindings_from_rs/test/arrays/arrays_cc_api_impl.rs
index c077eaf..01861c7 100644
--- a/cc_bindings_from_rs/test/arrays/arrays_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/arrays/arrays_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // arrays_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/attribute/cpp_name_cc_api.h b/cc_bindings_from_rs/test/attribute/cpp_name_cc_api.h
index c698310..f9af5b7 100644
--- a/cc_bindings_from_rs/test/attribute/cpp_name_cc_api.h
+++ b/cc_bindings_from_rs/test/attribute/cpp_name_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // cpp_name_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_ATTRIBUTE_CPP_NAME_GOLDEN
diff --git a/cc_bindings_from_rs/test/attribute/cpp_name_cc_api_impl.rs b/cc_bindings_from_rs/test/attribute/cpp_name_cc_api_impl.rs
index 899b32a..e355f4e 100644
--- a/cc_bindings_from_rs/test/attribute/cpp_name_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/attribute/cpp_name_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // cpp_name_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/attribute/must_bind_cc_api.h b/cc_bindings_from_rs/test/attribute/must_bind_cc_api.h
index 20ae3d0..ba09801 100644
--- a/cc_bindings_from_rs/test/attribute/must_bind_cc_api.h
+++ b/cc_bindings_from_rs/test/attribute/must_bind_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // must_bind_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_ATTRIBUTE_MUST_BIND_GOLDEN
diff --git a/cc_bindings_from_rs/test/attribute/must_bind_cc_api_impl.rs b/cc_bindings_from_rs/test/attribute/must_bind_cc_api_impl.rs
index c189f93..7f6907c 100644
--- a/cc_bindings_from_rs/test/attribute/must_bind_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/attribute/must_bind_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // must_bind_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/bridging/protobuf/rust_lib_cc_api.h b/cc_bindings_from_rs/test/bridging/protobuf/rust_lib_cc_api.h
index 10f0957..529d55f 100644
--- a/cc_bindings_from_rs/test/bridging/protobuf/rust_lib_cc_api.h
+++ b/cc_bindings_from_rs/test/bridging/protobuf/rust_lib_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // rust_lib_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_BRIDGING_PROTOBUF_RUST_LIB_GOLDEN
diff --git a/cc_bindings_from_rs/test/bridging/protobuf/rust_lib_cc_api_impl.rs b/cc_bindings_from_rs/test/bridging/protobuf/rust_lib_cc_api_impl.rs
index c34ae2f..efeed52 100644
--- a/cc_bindings_from_rs/test/bridging/protobuf/rust_lib_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/bridging/protobuf/rust_lib_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // rust_lib_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/enums/cpp_enums_cc_api.h b/cc_bindings_from_rs/test/enums/cpp_enums_cc_api.h
index c2ef80e..0f13e65 100644
--- a/cc_bindings_from_rs/test/enums/cpp_enums_cc_api.h
+++ b/cc_bindings_from_rs/test/enums/cpp_enums_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // cpp_enums_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_ENUMS_CPP_ENUMS_GOLDEN
diff --git a/cc_bindings_from_rs/test/known_traits/from/from_cc_api.h b/cc_bindings_from_rs/test/known_traits/from/from_cc_api.h
index 04db24f..b9f214b 100644
--- a/cc_bindings_from_rs/test/known_traits/from/from_cc_api.h
+++ b/cc_bindings_from_rs/test/known_traits/from/from_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // from_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_KNOWN_TRAITS_FROM_FROM_GOLDEN
diff --git a/cc_bindings_from_rs/test/known_traits/from/from_cc_api_impl.rs b/cc_bindings_from_rs/test/known_traits/from/from_cc_api_impl.rs
index 0edf621..ec3efb1 100644
--- a/cc_bindings_from_rs/test/known_traits/from/from_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/known_traits/from/from_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // from_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/known_traits/into/into_cc_api.h b/cc_bindings_from_rs/test/known_traits/into/into_cc_api.h
index a6b2059..bda922a 100644
--- a/cc_bindings_from_rs/test/known_traits/into/into_cc_api.h
+++ b/cc_bindings_from_rs/test/known_traits/into/into_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // into_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_KNOWN_TRAITS_INTO_INTO_GOLDEN
diff --git a/cc_bindings_from_rs/test/known_traits/into/into_cc_api_impl.rs b/cc_bindings_from_rs/test/known_traits/into/into_cc_api_impl.rs
index 8947592..2470009 100644
--- a/cc_bindings_from_rs/test/known_traits/into/into_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/known_traits/into/into_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // into_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/lifetimes/lifetimes_cc_api.h b/cc_bindings_from_rs/test/lifetimes/lifetimes_cc_api.h
index cc2ff70..7dd3ddf 100644
--- a/cc_bindings_from_rs/test/lifetimes/lifetimes_cc_api.h
+++ b/cc_bindings_from_rs/test/lifetimes/lifetimes_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // lifetimes_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_LIFETIMES_LIFETIMES_GOLDEN
diff --git a/cc_bindings_from_rs/test/lifetimes/lifetimes_cc_api_impl.rs b/cc_bindings_from_rs/test/lifetimes/lifetimes_cc_api_impl.rs
index 46fbc1f..70c0d84 100644
--- a/cc_bindings_from_rs/test/lifetimes/lifetimes_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/lifetimes/lifetimes_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // lifetimes_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/modules/modules_cc_api.h b/cc_bindings_from_rs/test/modules/modules_cc_api.h
index 0e3019e..307d0e2 100644
--- a/cc_bindings_from_rs/test/modules/modules_cc_api.h
+++ b/cc_bindings_from_rs/test/modules/modules_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // modules_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_MODULES_MODULES_GOLDEN
diff --git a/cc_bindings_from_rs/test/modules/modules_cc_api_impl.rs b/cc_bindings_from_rs/test/modules/modules_cc_api_impl.rs
index bf3b627..097d660 100644
--- a/cc_bindings_from_rs/test/modules/modules_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/modules/modules_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // modules_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/move_semantics/move_cc_api.h b/cc_bindings_from_rs/test/move_semantics/move_cc_api.h
index 0788e8c..31181b1 100644
--- a/cc_bindings_from_rs/test/move_semantics/move_cc_api.h
+++ b/cc_bindings_from_rs/test/move_semantics/move_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // move_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_MOVE_SEMANTICS_MOVE_GOLDEN
diff --git a/cc_bindings_from_rs/test/move_semantics/move_cc_api_impl.rs b/cc_bindings_from_rs/test/move_semantics/move_cc_api_impl.rs
index 8838215..e105ae1 100644
--- a/cc_bindings_from_rs/test/move_semantics/move_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/move_semantics/move_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // move_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/never/never_cc_api.h b/cc_bindings_from_rs/test/never/never_cc_api.h
index 7130d5d..6685164 100644
--- a/cc_bindings_from_rs/test/never/never_cc_api.h
+++ b/cc_bindings_from_rs/test/never/never_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // never_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_NEVER_NEVER_GOLDEN
diff --git a/cc_bindings_from_rs/test/never/never_cc_api_impl.rs b/cc_bindings_from_rs/test/never/never_cc_api_impl.rs
index bd3bba7..a79b99b 100644
--- a/cc_bindings_from_rs/test/never/never_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/never/never_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // never_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/str/str_cc_api.h b/cc_bindings_from_rs/test/str/str_cc_api.h
index 24e5bb7..b9f5958 100644
--- a/cc_bindings_from_rs/test/str/str_cc_api.h
+++ b/cc_bindings_from_rs/test/str/str_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // str_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_STR_STR_GOLDEN
diff --git a/cc_bindings_from_rs/test/str/str_cc_api_impl.rs b/cc_bindings_from_rs/test/str/str_cc_api_impl.rs
index bf97b96..e4ef18d 100644
--- a/cc_bindings_from_rs/test/str/str_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/str/str_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // str_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/structs/structs_cc_api.h b/cc_bindings_from_rs/test/structs/structs_cc_api.h
index 179b5e1..d8f10d4 100644
--- a/cc_bindings_from_rs/test/structs/structs_cc_api.h
+++ b/cc_bindings_from_rs/test/structs/structs_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // structs_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_STRUCTS_STRUCTS_GOLDEN
diff --git a/cc_bindings_from_rs/test/structs/structs_cc_api_impl.rs b/cc_bindings_from_rs/test/structs/structs_cc_api_impl.rs
index a516556..c6bd294 100644
--- a/cc_bindings_from_rs/test/structs/structs_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/structs/structs_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // structs_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/structs/tuple_structs/tuple_structs_cc_api.h b/cc_bindings_from_rs/test/structs/tuple_structs/tuple_structs_cc_api.h
index 389426e..8d5f77c 100644
--- a/cc_bindings_from_rs/test/structs/tuple_structs/tuple_structs_cc_api.h
+++ b/cc_bindings_from_rs/test/structs/tuple_structs/tuple_structs_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // tuple_structs_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_STRUCTS_TUPLE_STRUCTS_TUPLE_STRUCTS_GOLDEN
diff --git a/cc_bindings_from_rs/test/structs/tuple_structs/tuple_structs_cc_api_impl.rs b/cc_bindings_from_rs/test/structs/tuple_structs/tuple_structs_cc_api_impl.rs
index c0519d2..68f7680 100644
--- a/cc_bindings_from_rs/test/structs/tuple_structs/tuple_structs_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/structs/tuple_structs/tuple_structs_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // tuple_structs_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/structs/unit_structs/unit_structs_cc_api.h b/cc_bindings_from_rs/test/structs/unit_structs/unit_structs_cc_api.h
index 70f5184..c65b9ca 100644
--- a/cc_bindings_from_rs/test/structs/unit_structs/unit_structs_cc_api.h
+++ b/cc_bindings_from_rs/test/structs/unit_structs/unit_structs_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // unit_structs_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_STRUCTS_UNIT_STRUCTS_UNIT_STRUCTS_GOLDEN
diff --git a/cc_bindings_from_rs/test/structs/unit_structs/unit_structs_cc_api_impl.rs b/cc_bindings_from_rs/test/structs/unit_structs/unit_structs_cc_api_impl.rs
index 5f9d75d..a566332 100644
--- a/cc_bindings_from_rs/test/structs/unit_structs/unit_structs_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/structs/unit_structs/unit_structs_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // unit_structs_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/unions/unions_cc_api.h b/cc_bindings_from_rs/test/unions/unions_cc_api.h
index 4c992cc..0337fd3 100644
--- a/cc_bindings_from_rs/test/unions/unions_cc_api.h
+++ b/cc_bindings_from_rs/test/unions/unions_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // unions_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_UNIONS_UNIONS_GOLDEN
diff --git a/cc_bindings_from_rs/test/unions/unions_cc_api_impl.rs b/cc_bindings_from_rs/test/unions/unions_cc_api_impl.rs
index 693f6c5..72c3414 100644
--- a/cc_bindings_from_rs/test/unions/unions_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/unions/unions_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // unions_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/cc_bindings_from_rs/test/uses/uses_cc_api.h b/cc_bindings_from_rs/test/uses/uses_cc_api.h
index bb66d72..9ae9f1a 100644
--- a/cc_bindings_from_rs/test/uses/uses_cc_api.h
+++ b/cc_bindings_from_rs/test/uses/uses_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // uses_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_CC_BINDINGS_FROM_RS_TEST_USES_USES_GOLDEN
diff --git a/cc_bindings_from_rs/test/uses/uses_cc_api_impl.rs b/cc_bindings_from_rs/test/uses/uses_cc_api_impl.rs
index 70fecdf..f28f425 100644
--- a/cc_bindings_from_rs/test/uses/uses_cc_api_impl.rs
+++ b/cc_bindings_from_rs/test/uses/uses_cc_api_impl.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // uses_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![allow(unused_unsafe, deprecated, non_snake_case, unreachable_code)]
 #![allow(improper_ctypes_definitions)]
diff --git a/common/test/bidirectional_deps/leaf_rs_lib_cc_api.h b/common/test/bidirectional_deps/leaf_rs_lib_cc_api.h
index ad0f721..d667bf6 100644
--- a/common/test/bidirectional_deps/leaf_rs_lib_cc_api.h
+++ b/common/test/bidirectional_deps/leaf_rs_lib_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // leaf_rs_lib_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_COMMON_TEST_BIDIRECTIONAL_DEPS_LEAF_RS_LIB_GOLDEN
diff --git a/examples/cpp/enum/example_generated.rs b/examples/cpp/enum/example_generated.rs
index 994fbfa..4a9c3d4 100644
--- a/examples/cpp/enum/example_generated.rs
+++ b/examples/cpp/enum/example_generated.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //examples/cpp/enum:example_lib
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![rustfmt::skip]
 #![feature(allocator_api, cfg_sanitize, custom_inner_attributes, register_tool)]
diff --git a/examples/cpp/function/example_generated.rs b/examples/cpp/function/example_generated.rs
index 7bd1e4a..99ad344 100644
--- a/examples/cpp/function/example_generated.rs
+++ b/examples/cpp/function/example_generated.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //examples/cpp/function:example_lib
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![rustfmt::skip]
 #![feature(allocator_api, cfg_sanitize, custom_inner_attributes)]
diff --git a/examples/cpp/method/example_generated.rs b/examples/cpp/method/example_generated.rs
index 108c723..177d956 100644
--- a/examples/cpp/method/example_generated.rs
+++ b/examples/cpp/method/example_generated.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //examples/cpp/method:example_lib
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![rustfmt::skip]
 #![feature(allocator_api, cfg_sanitize, custom_inner_attributes, negative_impls)]
diff --git a/examples/cpp/trivial_abi_struct/example_generated.rs b/examples/cpp/trivial_abi_struct/example_generated.rs
index 0e00d90..4b19516 100644
--- a/examples/cpp/trivial_abi_struct/example_generated.rs
+++ b/examples/cpp/trivial_abi_struct/example_generated.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //examples/cpp/trivial_abi_struct:example_lib
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![rustfmt::skip]
 #![feature(allocator_api, cfg_sanitize, custom_inner_attributes, negative_impls)]
diff --git a/examples/cpp/trivial_struct/example_generated.rs b/examples/cpp/trivial_struct/example_generated.rs
index 42e34d2..e0c0592 100644
--- a/examples/cpp/trivial_struct/example_generated.rs
+++ b/examples/cpp/trivial_struct/example_generated.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //examples/cpp/trivial_struct:example_lib
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![rustfmt::skip]
 #![feature(allocator_api, cfg_sanitize, custom_inner_attributes, negative_impls)]
diff --git a/examples/cpp/unsafe_attributes/example_generated.rs b/examples/cpp/unsafe_attributes/example_generated.rs
index d24f909..310bd40 100644
--- a/examples/cpp/unsafe_attributes/example_generated.rs
+++ b/examples/cpp/unsafe_attributes/example_generated.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //examples/cpp/unsafe_attributes:example_lib
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![rustfmt::skip]
 #![feature(allocator_api, cfg_sanitize, custom_inner_attributes)]
diff --git a/examples/rust/cpp_enum/example_generated.h b/examples/rust/cpp_enum/example_generated.h
index 5ae878b..76e2e13 100644
--- a/examples/rust/cpp_enum/example_generated.h
+++ b/examples/rust/cpp_enum/example_generated.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // example_crate_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_EXAMPLES_RUST_CPP_ENUM_EXAMPLE_CRATE_GOLDEN
diff --git a/examples/rust/enum/example_generated.h b/examples/rust/enum/example_generated.h
index 488c006..97afedc 100644
--- a/examples/rust/enum/example_generated.h
+++ b/examples/rust/enum/example_generated.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // example_crate_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_EXAMPLES_RUST_ENUM_EXAMPLE_CRATE_GOLDEN
diff --git a/examples/rust/function/example_generated.h b/examples/rust/function/example_generated.h
index cfc87ad..93fa938 100644
--- a/examples/rust/function/example_generated.h
+++ b/examples/rust/function/example_generated.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // example_crate_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_EXAMPLES_RUST_FUNCTION_EXAMPLE_CRATE_GOLDEN
diff --git a/examples/rust/library_config/example_generated.h b/examples/rust/library_config/example_generated.h
index 5536c4d..28ee8b2 100644
--- a/examples/rust/library_config/example_generated.h
+++ b/examples/rust/library_config/example_generated.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // example_crate_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_EXAMPLES_RUST_LIBRARY_CONFIG_EXAMPLE_CRATE_GOLDEN
diff --git a/examples/rust/non_trivial_struct/example_generated.h b/examples/rust/non_trivial_struct/example_generated.h
index a880b34..d7eba6f 100644
--- a/examples/rust/non_trivial_struct/example_generated.h
+++ b/examples/rust/non_trivial_struct/example_generated.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // example_crate_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_EXAMPLES_RUST_NON_TRIVIAL_STRUCT_EXAMPLE_CRATE_GOLDEN
diff --git a/examples/rust/rust_union/example_generated.h b/examples/rust/rust_union/example_generated.h
index e1841b3..3d5417b 100644
--- a/examples/rust/rust_union/example_generated.h
+++ b/examples/rust/rust_union/example_generated.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // example_crate_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_EXAMPLES_RUST_RUST_UNION_EXAMPLE_CRATE_GOLDEN
diff --git a/examples/rust/struct/example_generated.h b/examples/rust/struct/example_generated.h
index db3d9b4..986d3eb 100644
--- a/examples/rust/struct/example_generated.h
+++ b/examples/rust/struct/example_generated.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // example_crate_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_EXAMPLES_RUST_STRUCT_EXAMPLE_CRATE_GOLDEN
diff --git a/examples/rust/type_alias/example_generated.h b/examples/rust/type_alias/example_generated.h
index 1b5318c..56d207f 100644
--- a/examples/rust/type_alias/example_generated.h
+++ b/examples/rust/type_alias/example_generated.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // example_crate_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_EXAMPLES_RUST_TYPE_ALIAS_EXAMPLE_CRATE_GOLDEN
diff --git a/examples/rust/union/example_generated.h b/examples/rust/union/example_generated.h
index ee2f182..6123d46 100644
--- a/examples/rust/union/example_generated.h
+++ b/examples/rust/union/example_generated.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // example_crate_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_EXAMPLES_RUST_UNION_EXAMPLE_CRATE_GOLDEN
diff --git a/examples/rust/use_declaration/example_generated.h b/examples/rust/use_declaration/example_generated.h
index 54d47ab..f77e1d4 100644
--- a/examples/rust/use_declaration/example_generated.h
+++ b/examples/rust/use_declaration/example_generated.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // example_crate_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_EXAMPLES_RUST_USE_DECLARATION_EXAMPLE_CRATE_GOLDEN
diff --git a/features/global_features.bzl b/features/global_features.bzl
index 77aee12..d34be37 100644
--- a/features/global_features.bzl
+++ b/features/global_features.bzl
@@ -8,6 +8,7 @@
 
 SUPPORTED_FEATURES = [
     "supported",
+    "non_unpin_ctor",
     "std_vector",
     "std_unique_ptr",
     "do_not_hardcode_status_bridge",
diff --git a/rs_bindings_from_cc/test/annotations/do_not_bind_api_impl.cc b/rs_bindings_from_cc/test/annotations/do_not_bind_api_impl.cc
index d39e415..a80c9b1 100644
--- a/rs_bindings_from_cc/test/annotations/do_not_bind_api_impl.cc
+++ b/rs_bindings_from_cc/test/annotations/do_not_bind_api_impl.cc
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/annotations:do_not_bind
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #include "support/internal/cxx20_backports.h"
 #include "support/internal/offsetof.h"
diff --git a/rs_bindings_from_cc/test/annotations/do_not_bind_rs_api.rs b/rs_bindings_from_cc/test/annotations/do_not_bind_rs_api.rs
index b7feaf1..366c163 100644
--- a/rs_bindings_from_cc/test/annotations/do_not_bind_rs_api.rs
+++ b/rs_bindings_from_cc/test/annotations/do_not_bind_rs_api.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/annotations:do_not_bind
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![rustfmt::skip]
 #![feature(allocator_api, cfg_sanitize, custom_inner_attributes, negative_impls)]
diff --git a/rs_bindings_from_cc/test/annotations/rust_name_api_impl.cc b/rs_bindings_from_cc/test/annotations/rust_name_api_impl.cc
index 16d7af6..bf10e7b 100644
--- a/rs_bindings_from_cc/test/annotations/rust_name_api_impl.cc
+++ b/rs_bindings_from_cc/test/annotations/rust_name_api_impl.cc
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/annotations:rust_name
-// Features: do_not_hardcode_status_bridge, infer_operator_lifetimes, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, infer_operator_lifetimes, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #include "support/internal/cxx20_backports.h"
 #include "support/internal/offsetof.h"
diff --git a/rs_bindings_from_cc/test/annotations/rust_name_rs_api.rs b/rs_bindings_from_cc/test/annotations/rust_name_rs_api.rs
index 09c2df5..1d0097e 100644
--- a/rs_bindings_from_cc/test/annotations/rust_name_rs_api.rs
+++ b/rs_bindings_from_cc/test/annotations/rust_name_rs_api.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/annotations:rust_name
-// Features: do_not_hardcode_status_bridge, infer_operator_lifetimes, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, infer_operator_lifetimes, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![rustfmt::skip]
 #![feature(allocator_api, cfg_sanitize, custom_inner_attributes, negative_impls)]
diff --git a/rs_bindings_from_cc/test/function/inline/inline_api_impl.cc b/rs_bindings_from_cc/test/function/inline/inline_api_impl.cc
index 4640828..41c83a9 100644
--- a/rs_bindings_from_cc/test/function/inline/inline_api_impl.cc
+++ b/rs_bindings_from_cc/test/function/inline/inline_api_impl.cc
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/function/inline:inline
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #include "support/internal/cxx20_backports.h"
 #include "support/internal/offsetof.h"
diff --git a/rs_bindings_from_cc/test/function/inline/inline_rs_api.rs b/rs_bindings_from_cc/test/function/inline/inline_rs_api.rs
index bb39301..12bf4ce 100644
--- a/rs_bindings_from_cc/test/function/inline/inline_rs_api.rs
+++ b/rs_bindings_from_cc/test/function/inline/inline_rs_api.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/function/inline:inline
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![rustfmt::skip]
 #![feature(allocator_api, cfg_sanitize, custom_inner_attributes, negative_impls)]
diff --git a/rs_bindings_from_cc/test/function/simple/simple_api_impl.cc b/rs_bindings_from_cc/test/function/simple/simple_api_impl.cc
index cf31385..fb9d616 100644
--- a/rs_bindings_from_cc/test/function/simple/simple_api_impl.cc
+++ b/rs_bindings_from_cc/test/function/simple/simple_api_impl.cc
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/function/simple:simple
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #include "support/internal/cxx20_backports.h"
 #include "support/internal/offsetof.h"
diff --git a/rs_bindings_from_cc/test/function/simple/simple_rs_api.rs b/rs_bindings_from_cc/test/function/simple/simple_rs_api.rs
index af618ba..16800c9 100644
--- a/rs_bindings_from_cc/test/function/simple/simple_rs_api.rs
+++ b/rs_bindings_from_cc/test/function/simple/simple_rs_api.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/function/simple:simple
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![rustfmt::skip]
 #![feature(allocator_api, cfg_sanitize, custom_inner_attributes)]
diff --git a/rs_bindings_from_cc/test/golden/BUILD b/rs_bindings_from_cc/test/golden/BUILD
index c4c9cff..89222b7 100644
--- a/rs_bindings_from_cc/test/golden/BUILD
+++ b/rs_bindings_from_cc/test/golden/BUILD
@@ -51,12 +51,6 @@
     "depends_on_nested_types": ["nested_types"],
 }
 
-# Maps a test to the list of additional aspect hints it needs.
-ASPECT_HINTS = {
-    "nontrivial_type": ["//features:non_unpin_ctor"],
-    "user_of_unsupported": ["//features:non_unpin_ctor"],
-}
-
 TAGS = {}
 
 rust_bindings_from_cc_cli_flag(
@@ -70,7 +64,7 @@
     aspect_hints = [
         "//features:infer_operator_lifetimes",
         ":disable_source_location_in_doc_comment",
-    ] + (ASPECT_HINTS[name] if name in ASPECT_HINTS else []),
+    ],
     deps = [
         ((d + "_cc") if d in TESTS else d)
         for d in (DEPS[name] if name in DEPS else [])
diff --git a/rs_bindings_from_cc/test/namespace/inline/inline_api_impl.cc b/rs_bindings_from_cc/test/namespace/inline/inline_api_impl.cc
index 9e07fd3..68d9b56 100644
--- a/rs_bindings_from_cc/test/namespace/inline/inline_api_impl.cc
+++ b/rs_bindings_from_cc/test/namespace/inline/inline_api_impl.cc
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/namespace/inline:inline
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #include "support/internal/cxx20_backports.h"
 #include "support/internal/offsetof.h"
diff --git a/rs_bindings_from_cc/test/namespace/inline/inline_rs_api.rs b/rs_bindings_from_cc/test/namespace/inline/inline_rs_api.rs
index 6e97dc0..53fdf0a 100644
--- a/rs_bindings_from_cc/test/namespace/inline/inline_rs_api.rs
+++ b/rs_bindings_from_cc/test/namespace/inline/inline_rs_api.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/namespace/inline:inline
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![rustfmt::skip]
 #![feature(allocator_api, cfg_sanitize, custom_inner_attributes, negative_impls)]
diff --git a/rs_bindings_from_cc/test/references/references_api_impl.cc b/rs_bindings_from_cc/test/references/references_api_impl.cc
index 5631cb6..2ba412b 100644
--- a/rs_bindings_from_cc/test/references/references_api_impl.cc
+++ b/rs_bindings_from_cc/test/references/references_api_impl.cc
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/references:references
-// Features: do_not_hardcode_status_bridge, infer_operator_lifetimes, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, infer_operator_lifetimes, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #include "support/internal/cxx20_backports.h"
 #include "support/internal/offsetof.h"
diff --git a/rs_bindings_from_cc/test/references/references_rs_api.rs b/rs_bindings_from_cc/test/references/references_rs_api.rs
index 4252e97..68b340a 100644
--- a/rs_bindings_from_cc/test/references/references_rs_api.rs
+++ b/rs_bindings_from_cc/test/references/references_rs_api.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/references:references
-// Features: do_not_hardcode_status_bridge, infer_operator_lifetimes, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, infer_operator_lifetimes, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![rustfmt::skip]
 #![feature(allocator_api, cfg_sanitize, custom_inner_attributes, negative_impls)]
diff --git a/rs_bindings_from_cc/test/struct/destructors/destructors_api_impl.cc b/rs_bindings_from_cc/test/struct/destructors/destructors_api_impl.cc
index 25b3ae0..cb4facb 100644
--- a/rs_bindings_from_cc/test/struct/destructors/destructors_api_impl.cc
+++ b/rs_bindings_from_cc/test/struct/destructors/destructors_api_impl.cc
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/struct/destructors:destructors
-// Features: do_not_hardcode_status_bridge, infer_operator_lifetimes, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, infer_operator_lifetimes, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #include "support/internal/cxx20_backports.h"
 #include "support/internal/offsetof.h"
diff --git a/rs_bindings_from_cc/test/struct/destructors/destructors_rs_api.rs b/rs_bindings_from_cc/test/struct/destructors/destructors_rs_api.rs
index 28ff665..adfcdb9 100644
--- a/rs_bindings_from_cc/test/struct/destructors/destructors_rs_api.rs
+++ b/rs_bindings_from_cc/test/struct/destructors/destructors_rs_api.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/struct/destructors:destructors
-// Features: do_not_hardcode_status_bridge, infer_operator_lifetimes, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, infer_operator_lifetimes, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![rustfmt::skip]
 #![feature(allocator_api, cfg_sanitize, custom_inner_attributes, negative_impls)]
diff --git a/rs_bindings_from_cc/test/struct/nonunpin/BUILD b/rs_bindings_from_cc/test/struct/nonunpin/BUILD
index 9784ee2..ceeae15 100644
--- a/rs_bindings_from_cc/test/struct/nonunpin/BUILD
+++ b/rs_bindings_from_cc/test/struct/nonunpin/BUILD
@@ -8,7 +8,6 @@
 crubit_test_cc_library(
     name = "nonunpin",
     hdrs = ["nonunpin.h"],
-    aspect_hints = ["//features:non_unpin_ctor"],
     deps = ["@abseil-cpp//absl/log:check"],
 )
 
diff --git a/rs_bindings_from_cc/test/struct/operator_and/operator_and.golden.cc b/rs_bindings_from_cc/test/struct/operator_and/operator_and.golden.cc
index 924223a..666347a 100644
--- a/rs_bindings_from_cc/test/struct/operator_and/operator_and.golden.cc
+++ b/rs_bindings_from_cc/test/struct/operator_and/operator_and.golden.cc
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/struct/operator_and:operator_and
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #include "support/internal/cxx20_backports.h"
 #include "support/internal/offsetof.h"
diff --git a/rs_bindings_from_cc/test/supported_feature_set/BUILD b/rs_bindings_from_cc/test/supported_feature_set/BUILD
index 6b0b921..3de0d2e 100644
--- a/rs_bindings_from_cc/test/supported_feature_set/BUILD
+++ b/rs_bindings_from_cc/test/supported_feature_set/BUILD
@@ -15,10 +15,7 @@
 crubit_test_cc_library(
     name = "no_bindings",
     hdrs = ["no_bindings.h"],
-    aspect_hints = [
-        "//features:supported",
-        "//features:non_unpin_ctor",
-    ],
+    aspect_hints = ["//features:supported"],
 )
 
 crubit_rust_test(
diff --git a/rs_bindings_from_cc/test/templates/regression_401857961/repro_rs_api.rs b/rs_bindings_from_cc/test/templates/regression_401857961/repro_rs_api.rs
index 2e45ce6..0592728 100644
--- a/rs_bindings_from_cc/test/templates/regression_401857961/repro_rs_api.rs
+++ b/rs_bindings_from_cc/test/templates/regression_401857961/repro_rs_api.rs
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/templates/regression_401857961:repro
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #![rustfmt::skip]
 #![feature(allocator_api, cfg_sanitize, custom_inner_attributes, negative_impls)]
diff --git a/rs_bindings_from_cc/test/templates/regression_401857961/repro_rs_api_impl.cc b/rs_bindings_from_cc/test/templates/regression_401857961/repro_rs_api_impl.cc
index 5476106..7a66b1b 100644
--- a/rs_bindings_from_cc/test/templates/regression_401857961/repro_rs_api_impl.cc
+++ b/rs_bindings_from_cc/test/templates/regression_401857961/repro_rs_api_impl.cc
@@ -4,7 +4,7 @@
 
 // Automatically @generated Rust bindings for the following C++ target:
 // //rs_bindings_from_cc/test/templates/regression_401857961:repro
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector, supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr, std_vector, supported
 
 #include "support/internal/cxx20_backports.h"
 #include "support/internal/offsetof.h"
diff --git a/support/ffi_11/tests/type_identity/rust_api_cc_api.h b/support/ffi_11/tests/type_identity/rust_api_cc_api.h
index b276a5d..f691ca8 100644
--- a/support/ffi_11/tests/type_identity/rust_api_cc_api.h
+++ b/support/ffi_11/tests/type_identity/rust_api_cc_api.h
@@ -4,8 +4,8 @@
 
 // Automatically @generated C++ bindings for the following Rust crate:
 // rust_api_golden
-// Features: do_not_hardcode_status_bridge, std_unique_ptr, std_vector,
-// supported
+// Features: do_not_hardcode_status_bridge, non_unpin_ctor, std_unique_ptr,
+// std_vector, supported
 
 // clang-format off
 #ifndef THIRD_PARTY_CRUBIT_SUPPORT_FFI_11_TESTS_TYPE_IDENTITY_RUST_API_GOLDEN