Skip to content

Commit 38add50

Browse files
committed
---
yaml --- r: 341819 b: refs/heads/rxwei-patch-1 c: 5279f20 h: refs/heads/master i: 341817: 8b1f136 341815: 7db2dda
1 parent 325ea49 commit 38add50

File tree

4 files changed

+8
-7
lines changed

4 files changed

+8
-7
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1015,7 +1015,7 @@ refs/tags/swift-DEVELOPMENT-SNAPSHOT-2018-08-18-a: b10b1fce14385faa6d44f6b933e95
10151015
refs/heads/rdar-43033749-fix-batch-mode-no-diags-swift-5.0-branch: a14e64eaad30de89f0f5f0b2a782eed7ecdcb255
10161016
refs/heads/revert-19006-error-bridging-integer-type: 8a9065a3696535305ea53fe9b71f91cbe6702019
10171017
refs/heads/revert-19050-revert-19006-error-bridging-integer-type: ecf752d54b05dd0a20f510f0bfa54a3fec3bcaca
1018-
refs/heads/rxwei-patch-1: f5213d0d3fc3693807f5f18df7a362c2255a6d17
1018+
refs/heads/rxwei-patch-1: 5279f2038edfbdd8865d4058777332cce684bde6
10191019
refs/heads/shahmishal-patch-1: e58ec0f7488258d42bef51bc3e6d7b3dc74d7b2a
10201020
refs/heads/typelist-existential: 4046359efd541fb5c72d69a92eefc0a784df8f5e
10211021
refs/tags/swift-4.2-DEVELOPMENT-SNAPSHOT-2018-08-20-a: 4319ba09e4fb8650ee86061075c74a016b6baab9

branches/rxwei-patch-1/include/swift/AST/DiagnosticsSema.def

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2342,8 +2342,8 @@ WARNING(override_swift3_objc_inference,none,
23422342
(DescriptiveDeclKind, DeclName, Identifier))
23432343
ERROR(override_method_different_generic_sig,none,
23442344
"overridden method %0 has generic signature %1 which is incompatible with "
2345-
"base method's generic signature %2",
2346-
(DeclBaseName, StringRef, StringRef))
2345+
"base method's generic signature %2; expected generic signature to be %3",
2346+
(DeclBaseName, StringRef, StringRef, StringRef))
23472347

23482348
// Inheritance
23492349
ERROR(duplicate_inheritance,none,

branches/rxwei-patch-1/lib/Sema/TypeCheckDeclOverride.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1055,7 +1055,8 @@ bool OverrideMatcher::checkOverride(ValueDecl *baseDecl,
10551055
decl, diag::override_method_different_generic_sig,
10561056
decl->getBaseName(),
10571057
derivedGenericCtx->getGenericSignature()->getAsString(),
1058-
baseGenericCtx->getGenericSignature()->getAsString());
1058+
baseGenericCtx->getGenericSignature()->getAsString(),
1059+
newSig->getAsString());
10591060
diags.diagnose(baseDecl, diag::overridden_here);
10601061
emittedMatchError = true;
10611062
}

branches/rxwei-patch-1/test/attr/attr_override.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,7 @@ class SR_4206_BaseGeneric_3<T> {
548548
}
549549

550550
class SR_4206_DerivedGeneric_3<T>: SR_4206_BaseGeneric_3<T> {
551-
override func foo<T: SR_4206_Protocol_1>(arg: T) {} // expected-error {{overridden method 'foo' has generic signature <T, T where T : SR_4206_Protocol_1> which is incompatible with base method's generic signature <T, T>}}
551+
override func foo<T: SR_4206_Protocol_1>(arg: T) {} // expected-error {{overridden method 'foo' has generic signature <T, T where T : SR_4206_Protocol_1> which is incompatible with base method's generic signature <T, T>; expected generic signature to be <T, T>}}
552552
}
553553

554554
// Base class not generic w/ method generic, derived class not generic w/ method generic but different requirement
@@ -558,7 +558,7 @@ class SR_4206_BaseConcrete_4 {
558558
}
559559

560560
class SR_4206_DerivedConcrete_4: SR_4206_BaseConcrete_4 {
561-
override func foo<T: SR_4206_Protocol_1>(arg: T) {} // expected-error {{overridden method 'foo' has generic signature <T where T : SR_4206_Protocol_1> which is incompatible with base method's generic signature <T>}}
561+
override func foo<T: SR_4206_Protocol_1>(arg: T) {} // expected-error {{overridden method 'foo' has generic signature <T where T : SR_4206_Protocol_1> which is incompatible with base method's generic signature <T>; expected generic signature to be <T>}}
562562
}
563563

564564
// Base class not generic w/ method generic, derived class not generic w/ method generic but removed requirement
@@ -578,7 +578,7 @@ class SR_4206_BaseConcrete_6 {
578578
}
579579

580580
class SR_4206_DerivedGeneric_6<T>: SR_4206_BaseConcrete_6 {
581-
override func foo<T: SR_4206_Protocol_1>(arg: T) {} // expected-error {{overridden method 'foo' has generic signature <T, T where T : SR_4206_Protocol_1> which is incompatible with base method's generic signature <T where T : SR_4206_Protocol_2>}}
581+
override func foo<T: SR_4206_Protocol_1>(arg: T) {} // expected-error {{overridden method 'foo' has generic signature <T, T where T : SR_4206_Protocol_1> which is incompatible with base method's generic signature <T where T : SR_4206_Protocol_2>; expected generic signature to be <T, T where T : SR_4206_Protocol_2>}}
582582
}
583583

584584
// Misc //

0 commit comments

Comments
 (0)