mirror of
https://github.com/tinygo-org/tinygo.git
synced 2026-08-05 19:43:44 +00:00
revise defer to use heap allocations when running a variable number of times
This commit is contained in:
Vendored
+9
@@ -41,6 +41,9 @@ func main() {
|
||||
// deferred functions
|
||||
testDefer()
|
||||
|
||||
// defers in loop
|
||||
testDeferLoop()
|
||||
|
||||
// Take a bound method and use it as a function pointer.
|
||||
// This function pointer needs a context pointer.
|
||||
testBound(thing.String)
|
||||
@@ -85,6 +88,12 @@ func testDefer() {
|
||||
println("deferring...")
|
||||
}
|
||||
|
||||
func testDeferLoop() {
|
||||
for j := 0; j < 4; j++ {
|
||||
defer deferred("loop", j)
|
||||
}
|
||||
}
|
||||
|
||||
func deferred(msg string, i int) {
|
||||
println(msg, i)
|
||||
}
|
||||
|
||||
Vendored
+4
@@ -4,6 +4,10 @@ Thing.Print: foo arg: bar
|
||||
...run as defer 3
|
||||
...run closure deferred: 4
|
||||
...run as defer 1
|
||||
loop 3
|
||||
loop 2
|
||||
loop 1
|
||||
loop 0
|
||||
bound method: foo
|
||||
thing inside closure: foo
|
||||
inside fp closure: foo 3
|
||||
|
||||
Reference in New Issue
Block a user