Commit 6e0ce7a
Remove seen from TypeSizeAccumulator
This fixes #15692 and does not seem to break an existing compilation
tests. The problem with seen when it comes #15692 is that seen means
that type that has repeated types will get a lower size and this
incorrectly triggers the divergence check since some of the steps
involved less repeated types.
The seen logic was introduced in #6329 and the motivation was to deal
with F-bounds. Since not tests fail it not clear if this logic is still
needed to deal with F-bounds? If it is still needed we can add a test
and instead of removing the seen logic we can make it track only types
the appear as a bound and could cause infinite recursion instead of
tracking all.
[Cherry-picked c2ef180]1 parent 07c0e16 commit 6e0ce7a
File tree
2 files changed
+37
-18
lines changed- compiler/src/dotty/tools/dotc/core
- tests/pos
2 files changed
+37
-18
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7022 | 7022 | | |
7023 | 7023 | | |
7024 | 7024 | | |
7025 | | - | |
7026 | 7025 | | |
7027 | | - | |
7028 | | - | |
7029 | | - | |
7030 | | - | |
7031 | | - | |
7032 | | - | |
7033 | | - | |
7034 | | - | |
7035 | | - | |
7036 | | - | |
7037 | | - | |
7038 | | - | |
7039 | | - | |
7040 | | - | |
7041 | | - | |
7042 | | - | |
7043 | | - | |
| 7026 | + | |
| 7027 | + | |
| 7028 | + | |
| 7029 | + | |
| 7030 | + | |
| 7031 | + | |
| 7032 | + | |
| 7033 | + | |
| 7034 | + | |
| 7035 | + | |
| 7036 | + | |
| 7037 | + | |
| 7038 | + | |
7044 | 7039 | | |
7045 | 7040 | | |
7046 | 7041 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
0 commit comments