Skip to content

Commit f4b8268

Browse files
committed
turn off extension block symbols in the standard library, due to upsteam Swift compiler crashes
1 parent 50613df commit f4b8268

File tree

4 files changed

+10
-21
lines changed

4 files changed

+10
-21
lines changed

Sources/SymbolGraphBuilder/Builds/SSGC.PackageBuild.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -302,7 +302,7 @@ extension SSGC.PackageBuild
302302
{
303303
try toolchain.build(package: self.root,
304304
using: self.scratch,
305-
flags: self.flags.dumping(symbols: .default, to: artifacts))
305+
flags: self.flags.dumping(symbols: .init(), to: artifacts))
306306
}
307307
catch SystemProcessError.exit(let code, let invocation)
308308
{
@@ -331,14 +331,13 @@ extension SSGC.PackageBuild
331331
// Dump the standard library’s symbols, unless they’re already cached.
332332
let artifactsCached:FilePath.Directory = try toolchain.dump(
333333
standardLibrary: .init(platform: platform),
334-
options: .default,
335334
cache: cache)
336335
for (module, include):(Symbol.Module, [FilePath.Directory]) in try self.modulesToDump(
337336
among: modules)
338337
{
339338
try toolchain.dump(module: module,
340339
to: artifacts,
341-
options: .default,
340+
options: .init(),
342341
include: include)
343342
}
344343

Sources/SymbolGraphBuilder/Standard library/SSGC.StandardLibraryBuild.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ extension SSGC.StandardLibraryBuild:SSGC.DocumentationBuild
2727
let standardLibrary:SSGC.StandardLibrary = .init(platform: try toolchain.platform())
2828

2929
let artifacts:FilePath.Directory = try toolchain.dump(standardLibrary: standardLibrary,
30-
options: .default,
3130
cache: cache)
3231

3332
let metadata:SymbolGraphMetadata = .swift(toolchain.splash.swift,

Sources/SymbolGraphBuilder/Toolchains/SSGC.Toolchain.SymbolDumpOptions.swift

Lines changed: 4 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,10 @@ extension SSGC.Toolchain
99
var includeInterfaceSymbols:Bool
1010
var skipInheritedDocs:Bool
1111

12-
init(minimumACL:Symbol.ACL,
13-
emitExtensionBlockSymbols:Bool,
14-
includeInterfaceSymbols:Bool,
15-
skipInheritedDocs:Bool)
12+
init(minimumACL:Symbol.ACL = .internal,
13+
emitExtensionBlockSymbols:Bool = true,
14+
includeInterfaceSymbols:Bool = true,
15+
skipInheritedDocs:Bool = true)
1616
{
1717
self.minimumACL = minimumACL
1818
self.emitExtensionBlockSymbols = emitExtensionBlockSymbols
@@ -21,14 +21,3 @@ extension SSGC.Toolchain
2121
}
2222
}
2323
}
24-
extension SSGC.Toolchain.SymbolDumpOptions
25-
{
26-
static
27-
var `default`:Self
28-
{
29-
.init(minimumACL: .internal,
30-
emitExtensionBlockSymbols: true,
31-
includeInterfaceSymbols: true,
32-
skipInheritedDocs: true)
33-
}
34-
}

Sources/SymbolGraphBuilder/Toolchains/SSGC.Toolchain.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,8 +208,10 @@ extension SSGC.Toolchain
208208
}
209209
extension SSGC.Toolchain
210210
{
211+
/// Dumps the symbols for the standard library. Due to upstream bugs in the Swift compiler,
212+
/// this methods disables extension block symbols by default.
211213
func dump(standardLibrary:SSGC.StandardLibrary,
212-
options:SymbolDumpOptions = .default,
214+
options:SymbolDumpOptions = .init(emitExtensionBlockSymbols: false),
213215
cache:FilePath.Directory) throws -> FilePath.Directory
214216
{
215217
let cached:FilePath.Directory = cache / "swift@\(self.splash.swift.version)"
@@ -234,7 +236,7 @@ extension SSGC.Toolchain
234236
/// output directory.
235237
func dump(module id:Symbol.Module,
236238
to output:FilePath.Directory,
237-
options:SymbolDumpOptions = .default,
239+
options:SymbolDumpOptions,
238240
include:[FilePath.Directory] = []) throws
239241
{
240242
print("Dumping symbols for module '\(id)'")

0 commit comments

Comments
 (0)