Skip to content

Instantly share code, notes, and snippets.

@omochi
Created April 4, 2017 03:22
Show Gist options
  • Save omochi/2d6dc0d661958c9faef6e6b171369a8a to your computer and use it in GitHub Desktop.
Save omochi/2d6dc0d661958c9faef6e6b171369a8a to your computer and use it in GitHub Desktop.
class Cat {
init() {
print("init")
}
deinit {
print("deinit")
}
}
for _ in [1, 2] {
let e0 = Cat()
let e1 = Cat()
for e in [e0, e1] { }
}
@omochi
Copy link
Author

omochi commented Apr 4, 2017

[omochi@omochi-MB Sources]$ cat main.swift 
class Cat {
    init() {
        print("init")
    }
    deinit {
        print("deinit")
    }
}

for _ in [1, 2] {
    let e0 = Cat()
    let e1 = Cat()
    for e in [e0, e1] { }
}

[omochi@omochi-MB Sources]$ swift main.swift
init
init
deinit
deinit
init
init
deinit
deinit
[omochi@omochi-MB Sources]$ swift -O main.swift
init
init
init
init
[omochi@omochi-MB Sources]$ cat main.swift 
class Cat {
    init() {
        print("init")
    }
    deinit {
        print("deinit")
    }
}

for _ in [1, 2] {
    let e0 = Cat()
    let e1 = Cat()
    // for e in [e0, e1] { }
}

[omochi@omochi-MB Sources]$ swift main.swift
init
init
deinit
deinit
init
init
deinit
deinit
[omochi@omochi-MB Sources]$ swift -O main.swift
init
init
deinit
deinit
init
init
deinit
deinit

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment