parse errors: new Foo()->bar(); (new Foo())->bar(); valid: id(new Foo())->bar(); definition: function id($foo) { return $foo; } parse error: foo()[$bar]; valid: fn_idx(foo(), $bar); definition: function fn_idx($foo, $bar) { $foo[$bar]; }