Meta Engineer?

This is available as Legacy_FIXME\cast_for_arithmetic in the www repository.

Does the PHP style behaviour for casting when doing a mathematical operation

namespace HH\Lib\Legacy_FIXME;

function cast_for_arithmetic(
  mixed $value,
): dynamic;

That happens under the following situations

  1. null converts to 0
  2. bool converts to 0/1
  3. numeric string converts to an int or double based on how the string looks.
  4. non-numeric string gets converted to 0
  5. resources get casted to int


  • mixed $value


  • dynamic