diff --git a/config.xsd b/config.xsd
index 122f3e4b8..daeea2ddc 100644
--- a/config.xsd
+++ b/config.xsd
@@ -62,7 +62,7 @@
-
+
diff --git a/docs/running_psalm/configuration.md b/docs/running_psalm/configuration.md
index 244571b24..4288cc77c 100644
--- a/docs/running_psalm/configuration.md
+++ b/docs/running_psalm/configuration.md
@@ -47,6 +47,15 @@ Configuration file may be split into several files using [XInclude](https://www.
```
This corresponds to Psalm‘s [error-detection level](error_levels.md).
+#### reportMixedIssues
+
+```xml
+
+```
+Setting this to `"false"` hides all issues with `Mixed` types in Psalm’s output. If not given, this defaults to `"false"` when `errorLevel` is 3 or higher, and `"true"` when the error level is 1 or 2.
+
#### totallyTyped
```xml
@@ -54,7 +63,10 @@ This corresponds to Psalm‘s [error-detection level](error_levels.md).
totallyTyped="[bool]"
/>
```
-Enabling this will make Psalm very strict, such that it needs to be able to evaluate the type of every single statement, and emitting a bevy of `Mixed*` issues if the types cannot be determined. Defaults to `false`.
+
+\(Deprecated\) Setting `totallyTyped` to `"true"` is equivalent to setting `errorLevel` to `"1"`. Setting `totallyTyped` to `"false"` is equivalent to setting `errorLevel` to `"2"` and `reportMixedIssues` to `"false"`
+
+
#### resolveFromConfigFile
diff --git a/src/Psalm/Config.php b/src/Psalm/Config.php
index 7e6fa8609..f1db1b187 100644
--- a/src/Psalm/Config.php
+++ b/src/Psalm/Config.php
@@ -248,7 +248,7 @@ class Config
/**
* @var ?bool
*/
- public $suppress_mixed_issues = null;
+ public $show_mixed_issues = null;
/** @var bool */
public $strict_binary_operands = false;
@@ -764,7 +764,7 @@ class Config
'loadXdebugStub' => 'load_xdebug_stub',
'ensureArrayStringOffsetsExist' => 'ensure_array_string_offsets_exist',
'ensureArrayIntOffsetsExist' => 'ensure_array_int_offsets_exist',
- 'suppressMixedIssues' => 'suppress_mixed_issues',
+ 'reportMixedIssues' => 'show_mixed_issues',
];
foreach ($booleanAttributes as $xmlName => $internalName) {
@@ -849,8 +849,8 @@ class Config
} else {
$config->level = 2;
- if ($config->suppress_mixed_issues === null) {
- $config->suppress_mixed_issues = true;
+ if ($config->show_mixed_issues === null) {
+ $config->show_mixed_issues = false;
}
}
} else {
@@ -1264,7 +1264,9 @@ class Config
*/
public function reportIssueInFile($issue_type, $file_path)
{
- if (($this->suppress_mixed_issues || $this->level > 2) && in_array($issue_type, self::MIXED_ISSUES, true)) {
+ if (($this->show_mixed_issues === false || $this->level > 2)
+ && in_array($issue_type, self::MIXED_ISSUES, true)
+ ) {
return false;
}