in Sources/LLBBuildSystem/Rules/Provider.swift [22:35]
init(providers: [LLBProvider]) throws {
// Sort providers to create a deterministic output.
var validProviders = [LLBAnySerializable]()
try providers.sorted {
type(of: $0).polymorphicIdentifier < type(of: $1).polymorphicIdentifier
}.forEach { provider in
if let lastCodable = validProviders.last,
lastCodable.typeIdentifier == type(of: provider).polymorphicIdentifier {
throw LLBProviderMapError.multipleProviders(String(describing: type(of: provider).polymorphicIdentifier))
}
validProviders.append(try LLBAnySerializable(from: provider))
}
self.providers = validProviders
}