1--TEST--
2Repeated assign of a variable to mismatched property type must not succeed
3--FILE--
4<?php
5
6class A {
7        public int $foo;
8}
9
10class B {
11        public A $foo;
12}
13
14$objs = [new A, new A];
15$v = 1;
16
17foreach ($objs as $obj) {
18        $obj->foo = $v;
19        $v = new A;
20        $obj = new B;
21        $obj->foo = $v;
22}
23
24var_dump($objs);
25
26?>
27--EXPECTF--
28Fatal error: Uncaught TypeError: Typed property A::$foo must be int, A used in %s:%d
29Stack trace:
30#0 {main}
31  thrown in %s on line %d
32