File tree Expand file tree Collapse file tree 1 file changed +37
-0
lines changed
validation-test/SILOptimizer Expand file tree Collapse file tree 1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change
1
+ // RUN: %target-run-simple-swift | %FileCheck %s
2
+
3
+ // REQUIRES: executable_test
4
+
5
+ class Object {
6
+ deinit { print ( " deinit object " ) }
7
+ }
8
+
9
+ struct Noncopyable : ~ Copyable {
10
+ deinit { print ( " deinit noncopyable " ) }
11
+ }
12
+
13
+ func testDeinitAfterConsume( ) {
14
+ do {
15
+ let object = Object ( )
16
+ // CHECK: before consume
17
+ print ( " before consume " )
18
+ // CHECK: deinit object
19
+ _ = consume object
20
+ // CHECK: after consume
21
+ print ( " after consume " )
22
+ }
23
+
24
+ print ( )
25
+
26
+ do {
27
+ let noncopyable = Noncopyable ( )
28
+ // CHECK: before consume
29
+ print ( " before consume " )
30
+ // CHECK: deinit noncopyable
31
+ _ = consume noncopyable
32
+ // CHECK: after consume
33
+ print ( " after consume " )
34
+ }
35
+ }
36
+
37
+ testDeinitAfterConsume ( )
You can’t perform that action at this time.
0 commit comments