On Wed, 2016-03-16 at 15:29 -0400, Phil Sturgeon wrote:
> > What's expected here:
> >
> > class A {
> > public int $i;
> > }
> >
> > $a = new A();
> > $r = &$a->i;
> > $r = "foobar";> I put your code into 3v4l so you could see what would happen: > > https://3v4l.org/taC8D > > Fatal error: Uncaught TypeError: Typed property A::$i must not be referenced > > Is that what you expect? If not, what would you expect? Well, I think a naïve user would expect to get an error about "foobar" not being an integer and would expect $r = 42; to work. Maybe the other example from the discussion with Bob might be more clear about the issue: class A { private array $data = [42, 23]; public function sort() { sort($this->data); print_r($this->data); } } $a = new A(); $a->sort(); An "Uncaught TypeError" is completely unexpected there. btw. while testing this it seems the patch is broken: https://3v4l.org/sOBca/rfc#tabs - this gives a strange error ("A::$data must be array, unknown used") in the print_r call!? https://3v4l.org/kl5e2/rfc#tabs - this changes the type johannes
signature.asc
Description: This is a digitally signed message part
