Revision ac4b68fbf45853ba4b9e327cb42f93f42a8fa252 authored by Ellie Shin on 17 March 2023, 04:14:20 UTC, committed by Ellie Shin on 17 March 2023, 04:14:20 UTC
1 parent f2c68fb
Raw File
deinit_escape.swift
// RUN: %target-run-simple-swift

// REQUIRES: executable_test
// UNSUPPORTED: use_os_stdlib
// UNSUPPORTED: back_deployment_runtime

import StdlibUnittest

var DeinitEscapeTestSuite = TestSuite("DeinitEscape")

var globalObjects1: [AnyObject] = []
var globalObjects2: [AnyObject] = []

DeinitEscapeTestSuite.test("deinit escapes self") {
  expectCrashLater()

  class C {
    deinit {
      globalObjects2.append(self)
    }
  }
  globalObjects1.append(C())
  globalObjects1 = []

  expectUnreachable()
}

runAllTests()
back to top