File tree Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Expand file tree Collapse file tree 1 file changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -56,6 +56,24 @@ public func basic_return3() -> Triangle {
56
56
return Triangle ( )
57
57
}
58
58
59
+ // FIXME: we need copy propagation in -Onone to eliminate all these copies
60
+ @_manualOwnership
61
+ func reassign_with_lets( ) -> Triangle {
62
+ let x = Triangle ( )
63
+ let y = x // expected-error {{explicit 'copy' required here}}
64
+ let z = y // expected-error {{explicit 'copy' required here}}
65
+ return z // expected-error {{explicit 'copy' required here}}
66
+ }
67
+
68
+ // FIXME: we need copy propagation in -Onone to eliminate all but the copies for returning
69
+ @_manualOwnership
70
+ func renamed_return( _ cond: Bool , _ a: Triangle ) -> Triangle {
71
+ let b = a // expected-error {{explicit 'copy' required here}}
72
+ let c = b // expected-error {{explicit 'copy' required here}}
73
+ if cond { return b } // expected-error {{explicit 'copy' required here}}
74
+ return c // expected-error {{explicit 'copy' required here}}
75
+ }
76
+
59
77
/// MARK: method calls
60
78
61
79
@_manualOwnership
You can’t perform that action at this time.
0 commit comments