Skip to content

Commit 0f66cb6

Browse files
committed
Sema: Use getLocalProtocols() instead of getAllProtocols() in move-only diagnostics
1 parent 8caeaa2 commit 0f66cb6

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

lib/Sema/TypeCheckDeclPrimary.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2645,7 +2645,7 @@ class DeclChecker : public DeclVisitor<DeclChecker> {
26452645
if (!nomDecl->isMoveOnly())
26462646
return;
26472647

2648-
for (auto *prot : nomDecl->getAllProtocols()) {
2648+
for (auto *prot : nomDecl->getLocalProtocols()) {
26492649
nomDecl->diagnose(diag::moveonly_cannot_conform_to_protocol_with_name,
26502650
nomDecl->getDescriptiveKind(),
26512651
nomDecl->getBaseName(), prot->getBaseName());

test/Sema/moveonly_restrictions.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -135,11 +135,11 @@ struct UnsafePointerWithOwner<T> {
135135
// Make sure we error whenever we attempt to conform a move only type to a
136136
// protocol.
137137
protocol P {}
138-
@_moveOnly class ProtocolCheckMoveOnlyKlass {} // expected-error {{move-only class 'ProtocolCheckMoveOnlyKlass' cannot conform to protocol 'P'}}
139-
@_moveOnly struct ProtocolCheckMoveOnlyStruct { // expected-error {{move-only struct 'ProtocolCheckMoveOnlyStruct' cannot conform to protocol 'P'}}
138+
@_moveOnly class ProtocolCheckMoveOnlyKlass {}
139+
@_moveOnly struct ProtocolCheckMoveOnlyStruct {
140140
var k: MoveOnlyKlass
141141
}
142-
@_moveOnly enum ProtocolCheckMoveOnlyEnum {} // expected-error {{move-only enum 'ProtocolCheckMoveOnlyEnum' cannot conform to protocol 'P'}}
142+
@_moveOnly enum ProtocolCheckMoveOnlyEnum {}
143143

144144
extension ProtocolCheckMoveOnlyKlass : P {} // expected-error {{move-only class 'ProtocolCheckMoveOnlyKlass' cannot conform yet to any protocols}}
145145
extension ProtocolCheckMoveOnlyStruct : P {} // expected-error {{move-only struct 'ProtocolCheckMoveOnlyStruct' cannot conform yet to any protocols}}

0 commit comments

Comments
 (0)