Typehint callable not supported #582

Closed
lstrojny opened this Issue Sep 11, 2012 · 4 comments

Projects

None yet

5 participants

@lstrojny

PHP 5.4 introduces the callable typehint to allow closures, string $function and array($obj, 'method'). See http://php.net/manual/de/language.types.callable.php for details. HipHop analyzes callable as UnknownClass.

@paroski
Contributor
paroski commented Oct 12, 2012

HipHop does not currently support all PHP 5.4 features. We plan to add support for the "callable" typehint some time in the coming months.

@ptarjan
Contributor
ptarjan commented May 13, 2013

It's there now: cc37fe6

@ptarjan ptarjan closed this May 13, 2013
@evert
Contributor
evert commented Dec 2, 2013

This is still failing for me:

<?php

function callMe(callable $b) {

    $b();

}

callMe(function() {

    echo "hello\n";

});

Throws:

HipHop Fatal error: Argument 1 passed to callMe() must be an instance of callable, Closure$callMe$47daeefeedcd4b135f362b25e98454cc$ given in /Users/evert/code/sabre/event/tests/foo3.php on line 7

Version:

$ hhvm --version
HipHop VM v2.3.0-dev (rel)
Compiler: heads/master-0-gf6413a9d4ca5a0646290bf180702e967ff1daf61
Repo schema: 536d56f98b940f0920eafa10249dca34d2e855de
@scannell
Contributor
scannell commented Dec 2, 2013

@paroski, this seems to work only when EnableHipHopSyntax=1. Any idea why?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment