Skip to content

Commit 74f8337

Browse files
committed
Merge remote-tracking branch 'origin/master' into master-next
2 parents 4ccdfa2 + 89b8163 commit 74f8337

File tree

6 files changed

+10
-14
lines changed

6 files changed

+10
-14
lines changed

lib/Sema/TypeCheckProtocol.cpp

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3795,10 +3795,7 @@ static void recordConformanceDependency(DeclContext *DC,
37953795
Conformance->getDeclContext()->getParentModule())
37963796
return;
37973797

3798-
// FIXME: 'deinit' is being used as a dummy identifier here. Really we
3799-
// don't care about /any/ of the type's members, only that it conforms to
3800-
// the protocol.
3801-
tracker->addUsedMember({Adoptee, DeclBaseName::createDestructor()},
3798+
tracker->addUsedMember({Adoptee, Identifier()},
38023799
DC->isCascadingContextForLookup(InExpression));
38033800
}
38043801

test/Incremental/single-file/AnyObject.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import Foundation
1515
// expected-private-conformance {{Swift.CustomDebugStringConvertible}}
1616
// expected-private-conformance {{Swift.CVarArg}}
1717
// expected-private-conformance {{Swift.CustomStringConvertible}}
18+
// expected-cascading-superclass {{main.LookupFactory}}
1819
@objc private class LookupFactory: NSObject {
1920
// expected-provides {{AssignmentPrecedence}}
2021
// expected-provides {{IntegerLiteralType}}
@@ -29,7 +30,7 @@ import Foundation
2930

3031
// expected-cascading-member {{__C.NSObject.init}}
3132
// expected-cascading-member {{main.LookupFactory.init}}
32-
// expected-cascading-member {{main.LookupFactory.deinit}}
33+
// expected-private-member {{main.LookupFactory.deinit}}
3334
// expected-cascading-member {{main.LookupFactory.someMember}}
3435
// expected-cascading-member {{main.LookupFactory.someMethod}}
3536
}

test/Incremental/single-file/Conformances.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ private protocol PrivateProtocol { } // expected-provides {{PrivateProtocol}}
1010
public struct PublicConformance { } // expected-provides {{PublicConformance}}
1111
// expected-cascading-member {{main.PublicConformance.init}}
1212

13-
// expected-cascading-member {{main.PublicConformance.deinit}}
13+
// expected-cascading-conformance {{main.PublicConformance}}
1414
extension PublicConformance: PublicProtocol { }
1515
extension PublicConformance: InternalProtocol { }
1616
extension PublicConformance: FilePrivateProtocol { }
@@ -20,8 +20,7 @@ extension PublicConformance: PrivateProtocol { }
2020
private struct PrivateConformance { } // expected-provides {{PrivateConformance}}
2121
// expected-cascading-member {{main.PrivateConformance.init}}
2222

23-
// FIXME: This could be a private dependency...
24-
// expected-cascading-member {{main.PrivateConformance.deinit}}
23+
// expected-cascading-conformance {{main.PrivateConformance}}
2524
extension PrivateConformance: PublicProtocol { } // expected-cascading-conformance {{main.PublicProtocol}}
2625
extension PrivateConformance: InternalProtocol { } // expected-cascading-conformance {{main.InternalProtocol}}
2726
extension PrivateConformance: FilePrivateProtocol { } // expected-cascading-conformance {{main.FilePrivateProtocol}}

test/NameBinding/reference-dependencies-fine.swift

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -464,21 +464,20 @@ struct Sentinel2 {}
464464

465465

466466
// CHECK-MEMBER-DAG: member interface 4main10IntWrapperV Int false
467-
// CHECK-MEMBER-DAG: member interface 4main10IntWrapperV deinit false
468467
// CHECK-POTENTIALMEMBER-DAG: potentialMember interface SL '' false
469468
// CHECK-POTENTIALMEMBER-DAG: potentialMember interface 4main18ClassFromOtherFileC '' false
470469
// CHECK-MEMBER-DAG: member interface Si max false
471470
// CHECK-POTENTIALMEMBER-DAG: potentialMember interface s25ExpressibleByFloatLiteralP '' false
472471
// CHECK-POTENTIALMEMBER-DAG: potentialMember interface s33ExpressibleByUnicodeScalarLiteralP '' false
473472
// CHECK-MEMBER-DAG: member interface Sx Stride false
474473
// CHECK-MEMBER-DAG: member interface Sa reduce false
475-
// CHECK-MEMBER-DAG: member interface 4main17OtherFileIntArrayV deinit false
474+
// CHECK-POTENTIALMEMBER-DAG: potentialMember interface 4main17OtherFileIntArrayV '' false
476475
// CHECK-MEMBER-DAG: member interface 4main18OtherFileOuterTypeV InnerType false
477476
// CHECK-MEMBER-DAG: member interface 4main18OtherFileOuterTypeV05InnerE0V init false
478477
// CHECK-MEMBER-DAG: member interface 4main18OtherFileOuterTypeV05InnerE0V sharedConstant false
479478
// CHECK-MEMBER-DAG: member interface 4main26OtherFileSecretTypeWrapperV0dE0V constant false
480-
// CHECK-MEMBER-DAG: member interface 4main25OtherFileProtoImplementorV deinit false
481-
// CHECK-MEMBER-DAG: member interface 4main26OtherFileProtoImplementor2V deinit false
479+
// CHECK-POTENTIALMEMBER-DAG: potentialMember interface 4main25OtherFileProtoImplementorV '' false
480+
// CHECK-POTENTIALMEMBER-DAG: potentialMember interface 4main26OtherFileProtoImplementor2V '' false
482481
// CHECK-MEMBER-DAG: member interface s15EmptyCollectionV8IteratorV init false
483482
// CHECK-MEMBER-DAG: member interface 4main13OtherFileEnumO Value false
484483
// CHECK-MEMBER-DAG: member interface 4main20OtherFileEnumWrapperV Enum false

test/NameBinding/reference-dependencies-members-fine.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ protocol SomeProto {}
5252
// PROVIDES-NOMINAL-DAG: nominal implementation 4main10OtherClassC '' true
5353
// PROVIDES-NOMINAL-2-DAG: nominal interface 4main10OtherClassC '' true
5454
// PROVIDES-MEMBER-DAG: potentialMember interface 4main10OtherClassC '' true
55-
// DEPENDS-MEMBER-DAG: member interface 4main10OtherClassC deinit false
55+
// DEPENDS-MEMBER-DAG: potentialMember interface 4main10OtherClassC '' true
5656
extension OtherClass : SomeProto {}
5757

5858
// PROVIDES-NOMINAL-DAG: nominal implementation 4main11OtherStructV '' true

test/NameBinding/reference-dependencies-members.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ protocol SomeProto {}
5252
// DEPENDS-NOMINAL-DAG: 10OtherClassC"
5353
// DEPENDS-NOMINAL-DAG: 9SomeProtoP"
5454
// DEPENDS-MEMBER-DAG: - ["{{.+}}9SomeProtoP", ""]
55-
// DEPENDS-MEMBER-DAG: - ["{{.+}}10OtherClassC", "deinit"]
55+
// DEPENDS-MEMBER-DAG: - ["{{.+}}10OtherClassC", ""]
5656
extension OtherClass : SomeProto {}
5757

5858
// PROVIDES-NOMINAL-NEGATIVE-NOT: 11OtherStructV"{{$}}

0 commit comments

Comments
 (0)