// *** before: ***
final class Point {
public function __construct(
public readonly float $x,
public readonly float $y,
) {}
// every property has to repeat "readonly" by hand
}
// *** in version 8.2: ***
final readonly class Point {
public function __construct(
public float $x,
public float $y,
) {}
// all properties of the class are readonly automatically
}