2015-08-30 22:15:37 -07:00
|
|
|
var a = Fiber.new {
|
2015-09-15 07:46:09 -07:00
|
|
|
System.print("a")
|
2015-08-30 22:15:37 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var b = Fiber.new {
|
2015-09-15 07:46:09 -07:00
|
|
|
System.print("b before")
|
2015-08-30 22:15:37 -07:00
|
|
|
a.transfer("ignored")
|
2015-09-15 07:46:09 -07:00
|
|
|
System.print("b after")
|
2015-08-30 22:15:37 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
var c = Fiber.new {
|
2015-09-15 07:46:09 -07:00
|
|
|
System.print("c before")
|
2015-08-30 22:15:37 -07:00
|
|
|
b.transfer("ignored")
|
2015-09-15 07:46:09 -07:00
|
|
|
System.print("c after")
|
2015-08-30 22:15:37 -07:00
|
|
|
}
|
|
|
|
|
|
2015-09-15 07:46:09 -07:00
|
|
|
System.print("start") // expect: start
|
2015-08-30 22:15:37 -07:00
|
|
|
|
|
|
|
|
c.transfer("ignored")
|
|
|
|
|
// expect: c before
|
|
|
|
|
// expect: b before
|
|
|
|
|
// expect: a
|
|
|
|
|
|
|
|
|
|
// Nothing else gets run since the interpreter stops after a completes.
|