Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions symbolic-demangle/tests/test_swift.rs
Original file line number Diff line number Diff line change
Expand Up @@ -297,6 +297,7 @@ fn test_demangle_swift_no_args() {

// Swift 6.0.3
"$ss27withTaskCancellationHandler9operation8onCancel9isolationxxyYaKXE_yyYbXEScA_pSgYitYaKlFTwb" => "withTaskCancellationHandler<A>",
"$s11Supercharge2AXO7ElementPAAE8elements33_35EDDAA799FBB5B74D2F426690B0D99DLL3for2asSayqd__GSo28NSAccessibilityAttributeNamea_qd__mtSo7AXErrorVYKAcDRd__lFAC3AppC_AC6WindowCTgm5" => "specialized AX.Element.elements<A>",

// Swift 6.1.0
"$sTB" => "$sTB",
Expand Down
21 changes: 21 additions & 0 deletions symbolic-demangle/vendor/swift/2-metatype-compat.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
commit 444bc9275ef9876c9b8404e4c2e8982868376bb6
Author: David Herberth <david.herberth@sentry.io>
Date: Mon May 18 19:07:06 2026 +0200

apply patch

diff --git a/symbolic-demangle/vendor/swift/lib/Demangling/Demangler.cpp b/symbolic-demangle/vendor/swift/lib/Demangling/Demangler.cpp
index 4f7bbbcb..d88fda74 100644
--- a/symbolic-demangle/vendor/swift/lib/Demangling/Demangler.cpp
+++ b/symbolic-demangle/vendor/swift/lib/Demangling/Demangler.cpp
@@ -3619,6 +3619,10 @@ NodePointer Demangler::addFuncSpecParamNumber(NodePointer Param,
}

NodePointer Demangler::demangleSpecAttributes(Node::Kind SpecKind) {
+ // Swift used 'm' for `MetatypeParamsRemoved`, with the 6.3 update it was removed.
+ // To keep old mangled strings compatible with `symbolic` we skip `m` here.
+ (void) nextIf('m');
+
bool isSerialized = nextIf('q');
bool asyncRemoved = nextIf('a');
bool representationChanged = nextIf('r');
4 changes: 4 additions & 0 deletions symbolic-demangle/vendor/swift/lib/Demangling/Demangler.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -3619,6 +3619,10 @@ NodePointer Demangler::addFuncSpecParamNumber(NodePointer Param,
}

NodePointer Demangler::demangleSpecAttributes(Node::Kind SpecKind) {
// Swift used 'm' for `MetatypeParamsRemoved`, with the 6.3 update it was removed.
// To keep old mangled strings compatible with `symbolic` we skip `m` here.
(void) nextIf('m');

bool isSerialized = nextIf('q');
bool asyncRemoved = nextIf('a');
bool representationChanged = nextIf('r');
Expand Down
Loading