Commit 09a5b99
committed
[ConstraintSystem] Run
There are some situations where the solver is able to find a valid
solution only during `salvage` (mostly but not limited to unavailable
declarations), which means that we need to keep running `salvage`
even if the diagnostics are suppressed until the underlying issues
in the normal solving mode are fixed.
One of the issues:
```swift
extension Unmanaged {
@inline(__always)
internal static func passRetained(_ instance: __owned Instance?) -> Self? {
guard let instance = instance else { return nil }
return .passRetained(instance)
}
}
```
`.passRetained(instance)` is ambiguous during normal solving but
is able to find a solution during `salvage` because it attemtps
more type bindings.
Resolves: rdar://119001449salvage even if diagnostics are suppressed1 parent d270dad commit 09a5b99
2 files changed
+5
-9
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1515 | 1515 | | |
1516 | 1516 | | |
1517 | 1517 | | |
1518 | | - | |
1519 | | - | |
1520 | | - | |
1521 | | - | |
1522 | | - | |
1523 | | - | |
1524 | | - | |
1525 | | - | |
1526 | 1518 | | |
1527 | 1519 | | |
1528 | 1520 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4389 | 4389 | | |
4390 | 4390 | | |
4391 | 4391 | | |
| 4392 | + | |
| 4393 | + | |
| 4394 | + | |
| 4395 | + | |
4392 | 4396 | | |
4393 | 4397 | | |
4394 | 4398 | | |
| |||
5228 | 5232 | | |
5229 | 5233 | | |
5230 | 5234 | | |
5231 | | - | |
| 5235 | + | |
5232 | 5236 | | |
5233 | 5237 | | |
5234 | 5238 | | |
| |||
0 commit comments