mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
Третий мутант того же покроя снова компилируется
`optimizer-micro-interval-cleanup-disabled` вставлял безусловный `return` в начало функции. Остаток функции становился недостижимым, и там TypeScript терял сужение `profile` — компиляция падала до теста. Возврат сделан под рантайм-условием: смысл мутанта («очистка отключена») тот же, остаток кода для проверки типов остаётся достижимым. Issue: #566 User-Visible: no
This commit is contained in:
@@ -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);',
|
||||
}],
|
||||
|
||||
Reference in New Issue
Block a user