aboutsummaryrefslogtreecommitdiff
path: root/absl/debugging/internal/demangle_rust_test.cc
diff options
context:
space:
mode:
authorChris Mihelich <cmihelic@google.com>2024-05-21 15:54:34 -0700
committerCopybara-Service <copybara-worker@google.com>2024-05-21 15:55:28 -0700
commita2625a648dc69c5b3d0330f25004454716cacfc8 (patch)
tree89e63a05d581fc93392a08e4759dcc1fcaeb690b /absl/debugging/internal/demangle_rust_test.cc
parent7a730c1b22702b931431c84fe8e42b9c4b0051a0 (diff)
downloadabseil-a2625a648dc69c5b3d0330f25004454716cacfc8.tar.gz
abseil-a2625a648dc69c5b3d0330f25004454716cacfc8.tar.bz2
abseil-a2625a648dc69c5b3d0330f25004454716cacfc8.zip
Recognize inherent-impl and trait-impl in Rust demangling.
PiperOrigin-RevId: 635955480 Change-Id: I9322b4e7732e252007f6ca6c9b0cefc25974c9f8
Diffstat (limited to 'absl/debugging/internal/demangle_rust_test.cc')
-rw-r--r--absl/debugging/internal/demangle_rust_test.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/absl/debugging/internal/demangle_rust_test.cc b/absl/debugging/internal/demangle_rust_test.cc
index 5e53eae3..453d725b 100644
--- a/absl/debugging/internal/demangle_rust_test.cc
+++ b/absl/debugging/internal/demangle_rust_test.cc
@@ -453,6 +453,31 @@ TEST(DemangleRust, NumberPlaceholder) {
"c::f::<>::g");
}
+TEST(DemangleRust, InherentImplWithoutDisambiguator) {
+ EXPECT_DEMANGLING("_RNvMNtC8my_crate6my_modNtB2_9my_struct7my_func",
+ "<my_crate::my_mod::my_struct>::my_func");
+}
+
+TEST(DemangleRust, InherentImplWithDisambiguator) {
+ EXPECT_DEMANGLING("_RNvMs_NtC8my_crate6my_modNtB4_9my_struct7my_func",
+ "<my_crate::my_mod::my_struct>::my_func");
+}
+
+TEST(DemangleRust, TraitImplWithoutDisambiguator) {
+ EXPECT_DEMANGLING("_RNvXC8my_crateNtB2_9my_structNtB2_8my_trait7my_func",
+ "<my_crate::my_struct as my_crate::my_trait>::my_func");
+}
+
+TEST(DemangleRust, TraitImplWithDisambiguator) {
+ EXPECT_DEMANGLING("_RNvXs_C8my_crateNtB4_9my_structNtB4_8my_trait7my_func",
+ "<my_crate::my_struct as my_crate::my_trait>::my_func");
+}
+
+TEST(DemangleRust, TraitImplWithNonpathSelfType) {
+ EXPECT_DEMANGLING("_RNvXC8my_crateRlNtB2_8my_trait7my_func",
+ "<&i32 as my_crate::my_trait>::my_func");
+}
+
} // namespace
} // namespace debugging_internal
ABSL_NAMESPACE_END