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