Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--lib/text-size/Cargo.toml1
-rw-r--r--lib/text-size/tests/auto_traits.rs18
2 files changed, 19 insertions, 0 deletions
diff --git a/lib/text-size/Cargo.toml b/lib/text-size/Cargo.toml
index 08f5d4f719..a0126f7d6d 100644
--- a/lib/text-size/Cargo.toml
+++ b/lib/text-size/Cargo.toml
@@ -17,6 +17,7 @@ serde = { version = "1.0", optional = true, default_features = false }
[dev-dependencies]
serde_test = "1.0"
+static_assertions = "1.1"
[[test]]
name = "serde"
diff --git a/lib/text-size/tests/auto_traits.rs b/lib/text-size/tests/auto_traits.rs
new file mode 100644
index 0000000000..6e62369533
--- /dev/null
+++ b/lib/text-size/tests/auto_traits.rs
@@ -0,0 +1,18 @@
+use {
+ static_assertions::*,
+ std::{
+ fmt::Debug,
+ hash::Hash,
+ marker::{Send, Sync},
+ panic::{RefUnwindSafe, UnwindSafe},
+ },
+ text_size::*,
+};
+
+// auto traits
+assert_impl_all!(TextSize: Send, Sync, Unpin, UnwindSafe, RefUnwindSafe);
+assert_impl_all!(TextRange: Send, Sync, Unpin, UnwindSafe, RefUnwindSafe);
+
+// common traits
+assert_impl_all!(TextSize: Copy, Debug, Default, Hash, Ord);
+assert_impl_all!(TextRange: Copy, Debug, Default, Hash, Eq);