Merge pull request #85990 from xymus/serial-conf-diag

Serialization: Minor improvements to the error on conformance mismatch
This commit is contained in:
Alexis Laferrière
2025-12-12 15:05:53 -08:00
committed by GitHub
3 changed files with 7 additions and 7 deletions

View File

@@ -1092,8 +1092,8 @@ NOTE(modularization_issue_conformance_xref_note,none,
"Breaks conformances of '%0' to %1",
(StringRef, DeclName))
ERROR(modularization_issue_conformance_error,none,
"Conformances of '%0' "
"do not match requirement signature of %1; "
"Listed conformances of '%0' "
"do not match current requirement signature of %1; "
"%2 conformances for %3 requirements",
(StringRef, DeclName, unsigned int, unsigned int))

View File

@@ -9119,13 +9119,13 @@ void ModuleFile::finishNormalConformance(NormalProtocolConformance *conformance,
// Print context to stderr.
PrintOptions Opts;
llvm::errs() << "Requirements:\n";
llvm::errs() << "Requirements seen by this invocation:\n";
for (auto req: requirements) {
req.print(llvm::errs(), Opts);
llvm::errs() << "\n";
}
llvm::errs() << "Conformances:\n";
llvm::errs() << "\nConformances written in the swiftmodule:\n";
for (auto req: reqConformances) {
req.print(llvm::errs());
llvm::errs() << "\n";

View File

@@ -62,10 +62,10 @@ extension Counter: SimpleProto {}
public protocol ProtoUser {
associatedtype Element
#if DROP_REQUIREMENT
// CHECK-REMARK-REQUIREMENT: MiddleLib.swiftmodule:1:1: error: Conformances of 'OneToAThousand' do not match requirement signature of 'ProtoUser'; 5 conformances for 6 requirements
// CHECK-REMARK-REQUIREMENT: Requirements:
// CHECK-REMARK-REQUIREMENT: MiddleLib.swiftmodule:1:1: error: Listed conformances of 'OneToAThousand' do not match current requirement signature of 'ProtoUser'; 5 conformances for 6 requirements
// CHECK-REMARK-REQUIREMENT: Requirements seen by this invocation:
// Skipping implicits.
// CHECK-REMARK-REQUIREMENT: Conformances:
// CHECK-REMARK-REQUIREMENT: Conformances written in the swiftmodule:
// Skipping implicits.
// CHECK-REMARK-REQUIREMENT: (specialized_conformance type="OneToAThousand.Impl" protocol="SimpleProto"
// CHECK-REMARK-REQUIREMENT: (normal_conformance type="Counter<T>" protocol="SimpleProto"{{.*}} lazy))