Третий мутант того же покроя снова компилируется

`optimizer-micro-interval-cleanup-disabled` вставлял безусловный `return` в
начало функции. Остаток функции становился недостижимым, и там TypeScript терял
сужение `profile` — компиляция падала до теста. Возврат сделан под
рантайм-условием: смысл мутанта («очистка отключена») тот же, остаток кода для
проверки типов остаётся достижимым.

Issue: #566
User-Visible: no
This commit is contained in:
Codex
2026-09-14 01:56:25 +03:00
parent 7ecdafef94
commit f724cca61a
+4 -1
View File
@@ -4889,7 +4889,10 @@ const MUTANT_DEFINITIONS = [
file: 'src/plan-optimizer.ts',
find: ' if (!walls?.length) return [];\n const scale = coordScale > 0 ? coordScale : 1;\n'
+ ' const eps = Math.max(pitch * scale * 0.02, 1e-9);',
replace: ' if (!walls?.length) return [];\n return walls.slice();\n'
// Возврат под рантайм-условием, а не безусловный: после безусловного
// `return` остаток функции становится недостижимым, а в недостижимом коде
// TypeScript теряет сужение `profile` и мутант падает на компиляции (#568).
replace: ' if (!walls?.length) return [];\n if (walls.length >= 0) return walls.slice();\n'
+ ' const scale = coordScale > 0 ? coordScale : 1;\n'
+ ' const eps = Math.max(pitch * scale * 0.02, 1e-9);',
}],