You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This commit was created on GitHub.com and signed with GitHub鈥檚 verified signature.
0.23.0
Breaking
Local types are now named after the function or closure that declares them, such as Visitor #1 in Holder.countValues().
ABI snapshots now use format version 7; regenerate snapshots written by earlier versions.
Removed TypeDefinition.attributes.
SymbolicDemangler.isCacheEnabled can no longer be set.
Types conforming to OpaqueTypeResolving must implement opaqueType(forNode:index:usesModuleSelectors:).
Reading APIs that take a Mach-O or a raw pointer now stay deprecated until 0.24.0 instead of 0.23.0.
Requires swift-demangling 0.7.2, swift-semantic-string 0.5.0 and MachOObjCSection 0.8.200 or later.
New
GenericSpecializer and TypeDefinition.specialize(...) now work on a MachOFile, without loading the binary.
New interface --module-selectors and dump --enable-module-selectors options, and SwiftDeclarationPrintConfiguration.usesModuleSelectors, write qualified names as Swift::Int (SE-0491).
New Node.privateDeclarations lists the private declarations a name refers to, and the new SwiftPrivateDiscriminators product recovers their source file names.
New SwiftDeclarationPrintConfiguration.marksNestedDefinitions marks each nested definition in its parent's output, so a host can cut it out instead of printing it again.
Definitions read from a MachOImage can now be printed from several tasks at once.
New RuntimeFieldLayoutMemo.removeAll() forgets remembered in-process field layouts, for hosts that load more images.
Improved
Indexing and printing large images such as SwiftUI is much faster, especially when printing in parallel.
Printing expanded field offsets in process is faster.
GenericSpecializer now names each generic argument at its own level, such as Outer<Int>.Inner<String>.
Specialized generic enums now get an enum layout comment.
Expanded field offsets now resolve associated types of concrete types, such as Angle.AnimatableData.
Fixed
Fixed local types of the same name merging into one declaration and losing their members.
Fixed generic parameters of a type nested below a type without parameters printing as A2 instead of A1.
Fixed expanded field offsets naming the wrong generic argument for types declared in a constrained extension, such as Measurement<A> for Measurement<B>.
Fixed invalid Swift when a protocol declared in an extension of another module's type has default implementations.
Fixed swift-section objc losing the properties, protocols or methods of some classes in dyld shared caches.
Fixed slow GenericSpecializer.makeRequest and TypeDefinition.specialize(...) calls from an actor.
Fixed a possible crash when several inputs of diff or evolution first read the same dyld shared cache at once.