bug69955.phpt 858 B

123456789101112131415161718192021222324252627282930313233343536
  1. --TEST--
  2. Bug #69955 (Segfault when trying to combine [] and assign-op on ArrayAccess object).
  3. --FILE--
  4. <?php
  5. class C10 implements ArrayAccess
  6. {
  7. function offsetExists($offset): bool
  8. {
  9. echo "\nInside " . __METHOD__ . "\n"; var_dump($offset);
  10. }
  11. function offsetGet($offset): mixed
  12. {
  13. echo "\nInside " . __METHOD__ . "\n"; var_dump($offset); return 100;
  14. }
  15. function offsetSet($offset, $value): void
  16. {
  17. echo "\nInside " . __METHOD__ . "\n"; var_dump($offset); var_dump($value);
  18. }
  19. function offsetUnset($offset): void
  20. {
  21. echo "\nInside " . __METHOD__ . "\n"; var_dump($offset);
  22. }
  23. }
  24. $c10 = new C10;
  25. var_dump($c10[] += 5);
  26. ?>
  27. --EXPECT--
  28. Inside C10::offsetGet
  29. NULL
  30. Inside C10::offsetSet
  31. NULL
  32. int(105)
  33. int(105)