@@ -983,6 +983,82 @@ class NoImplicitSelfInInnerClass {
983983 }
984984
985985 }
986+
987+ func foo( condition: Bool ) {
988+ doVoidStuff { [ weak self] in
989+ guard condition, let self else { return }
990+ method ( )
991+ }
992+
993+ doVoidStuff { [ weak self] in
994+ guard let self, condition else { return }
995+ method ( )
996+ }
997+
998+ doVoidStuffNonEscaping { [ weak self] in
999+ guard condition, let self else { return }
1000+ method ( )
1001+ }
1002+
1003+ doVoidStuffNonEscaping { [ weak self] in
1004+ guard let self, condition else { return }
1005+ method ( )
1006+ }
1007+ }
1008+
1009+ func foo( optionalCondition: Bool ? ) {
1010+ doVoidStuff { [ weak self] in
1011+ guard let optionalCondition, optionalCondition, let self else { return }
1012+ method ( )
1013+ }
1014+
1015+ doVoidStuff { [ weak self] in
1016+ guard let self, let optionalCondition, optionalCondition else { return }
1017+ method ( )
1018+ }
1019+
1020+ doVoidStuff { [ weak self] in
1021+ guard let optionalCondition, let self, optionalCondition else { return }
1022+ method ( )
1023+ }
1024+
1025+ doVoidStuffNonEscaping { [ weak self] in
1026+ guard let optionalCondition, optionalCondition, let self else { return }
1027+ method ( )
1028+ }
1029+
1030+ doVoidStuffNonEscaping { [ weak self] in
1031+ guard let self, let optionalCondition, optionalCondition else { return }
1032+ method ( )
1033+ }
1034+
1035+ doVoidStuffNonEscaping { [ weak self] in
1036+ guard let optionalCondition, let self, optionalCondition else { return }
1037+ method ( )
1038+ }
1039+ }
1040+
1041+ func foo( ) {
1042+ doVoidStuff { [ weak self] in
1043+ guard #available( SwiftStdlib 5 . 8 , * ) , let self else { return }
1044+ method ( )
1045+ }
1046+
1047+ doVoidStuff { [ weak self] in
1048+ guard let self, #available( SwiftStdlib 5 . 8 , * ) else { return }
1049+ method ( )
1050+ }
1051+
1052+ doVoidStuffNonEscaping { [ weak self] in
1053+ guard #available( SwiftStdlib 5 . 8 , * ) , let self else { return }
1054+ method ( )
1055+ }
1056+
1057+ doVoidStuffNonEscaping { [ weak self] in
1058+ guard let self, #available( SwiftStdlib 5 . 8 , * ) else { return }
1059+ method ( )
1060+ }
1061+ }
9861062}
9871063
9881064public class TestRebindingSelfIsDisallowed {
0 commit comments