package main | |
import . "./director_finalizer" | |
type MyFoo struct{} // From Foo | |
func DeleteMyFoo(p Foo) { | |
p.OrStatus(2) | |
DeleteFoo(p) | |
} | |
func main() { | |
ResetStatus() | |
a := NewDirectorFoo(&MyFoo{}) | |
DeleteMyFoo(a) | |
if GetStatus() != 3 { | |
panic(0) | |
} | |
ResetStatus() | |
a = NewDirectorFoo(&MyFoo{}) | |
Launder(a) | |
if GetStatus() != 0 { | |
panic(0) | |
} | |
DeleteMyFoo(a) | |
if GetStatus() != 3 { | |
panic(0) | |
} | |
ResetStatus() | |
} |