diff options
author | Chris Mihelich <cmihelic@google.com> | 2024-05-21 15:54:34 -0700 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2024-05-21 15:55:28 -0700 |
commit | a2625a648dc69c5b3d0330f25004454716cacfc8 (patch) | |
tree | 89e63a05d581fc93392a08e4759dcc1fcaeb690b /absl/debugging/internal/demangle_rust_test.cc | |
parent | 7a730c1b22702b931431c84fe8e42b9c4b0051a0 (diff) | |
download | abseil-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.cc | 25 |
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 |