start-arguments.phpt 630 B

1234567891011121314151617181920212223242526272829
  1. --TEST--
  2. Arguments to fiber callback
  3. --FILE--
  4. <?php
  5. $fiber = new Fiber(function (int $x): int {
  6. return $x + Fiber::suspend($x);
  7. });
  8. $x = $fiber->start(1);
  9. $fiber->resume(0);
  10. var_dump($fiber->getReturn());
  11. $fiber = new Fiber(function (int $x): int {
  12. return $x + Fiber::suspend($x);
  13. });
  14. $fiber->start('test');
  15. ?>
  16. --EXPECTF--
  17. int(1)
  18. Fatal error: Uncaught TypeError: {closure}(): Argument #1 ($x) must be of type int, string given in %sstart-arguments.php:%d
  19. Stack trace:
  20. #0 [internal function]: {closure}('test')
  21. #1 %sstart-arguments.php(%d): Fiber->start('test')
  22. #2 {main}
  23. thrown in %sstart-arguments.php on line %d