1
0
mirror of https://github.com/danog/psalm.git synced 2024-12-11 16:59:45 +01:00
psalm/docs/running_psalm/issues/UnsupportedPropertyReferenceUsage.md

41 lines
624 B
Markdown
Raw Normal View History

2023-05-10 15:43:22 +02:00
# UnsupportedPropertyReferenceUsage
Psalm cannot guarantee the soundness of code that uses references to properties.
### Examples of Uncaught Errors
* Instance property assigned wrong type:
```php
<?php
class A {
public int $b = 0;
}
$a = new A();
$b = &$a->b;
$b = ''; // Fatal error
```
* Static property assigned wrong type:
```php
<?php
class A {
public static int $b = 0;
}
$b = &A::$b;
$b = ''; // Fatal error
```
* Readonly property reassigned:
```php
<?php
class A {
public function __construct(
public readonly int $b,
) {
}
}
$a = new A(0);
$b = &$a->b;
$b = 1; // Fatal error
```