You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This assert validates that look through parameters only have a single operand
(the one we are going to lookthrough). It did not take into account though that
some of these lookthrough instructions /do/ have type dependent operands (which
we should ignore for the assert). I changed the assert to ignore those.
Copy file name to clipboardExpand all lines: test/Concurrency/transfernonsendable_instruction_matching.sil
+24-1Lines changed: 24 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -73,6 +73,12 @@ case none
73
73
case some(T)
74
74
}
75
75
76
+
open class ParentClass {
77
+
}
78
+
class ChildClass : ParentClass {}
79
+
80
+
sil @copyParentClass : $@convention(thin) (@guaranteed ParentClass) -> @owned ParentClass
81
+
76
82
/////////////////
77
83
// MARK: Tests //
78
84
/////////////////
@@ -1485,7 +1491,7 @@ bb0:
1485
1491
// Now transfer %addr and use it.
1486
1492
apply [caller_isolation=nonisolated] [callee_isolation=global_actor] %f<NonSendableKlass>(%addr) : $@convention(thin) @async <τ_0_0> (@in_guaranteed τ_0_0) -> () // expected-warning {{transferring value of non-Sendable type 'NonSendableKlass' from nonisolated context to global actor '<null>'-isolated context; later accesses could race}}
0 commit comments