Commit 6c20b59
committed
Eta expansion uses local owner for binders
Before, they kept their original owner (the eta expanded class),
which caused an owner-structure mismatch in pickling.
This resulted in spurious recompilation and asSeenFrom crashes.
Changing the owner of the binders used for eta-expansion,
weirdly revealed a problem with typing annotations,
where, I assume, reuse of the class type params hid
the missing logic for dealing with polymorphic annotation
classes and the undetparams that arise of typing their
instantiation.1 parent 9d8f485 commit 6c20b59
File tree
6 files changed
+51
-20
lines changed- src
- compiler/scala/tools/nsc
- symtab/classfile
- typechecker
- reflect/scala/reflect/internal
- test/files
- neg
- pos/t10762
6 files changed
+51
-20
lines changedLines changed: 10 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
96 | 96 | | |
97 | 97 | | |
98 | 98 | | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
107 | | - | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
108 | 109 | | |
109 | 110 | | |
110 | 111 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3741 | 3741 | | |
3742 | 3742 | | |
3743 | 3743 | | |
3744 | | - | |
3745 | | - | |
| 3744 | + | |
| 3745 | + | |
| 3746 | + | |
3746 | 3747 | | |
3747 | 3748 | | |
3748 | 3749 | | |
3749 | 3750 | | |
3750 | | - | |
| 3751 | + | |
3751 | 3752 | | |
3752 | 3753 | | |
3753 | 3754 | | |
3754 | 3755 | | |
3755 | 3756 | | |
| 3757 | + | |
3756 | 3758 | | |
3757 | 3759 | | |
3758 | 3760 | | |
| |||
3801 | 3803 | | |
3802 | 3804 | | |
3803 | 3805 | | |
3804 | | - | |
| 3806 | + | |
3805 | 3807 | | |
3806 | 3808 | | |
3807 | 3809 | | |
3808 | | - | |
| 3810 | + | |
| 3811 | + | |
3809 | 3812 | | |
3810 | 3813 | | |
3811 | 3814 | | |
| |||
3823 | 3826 | | |
3824 | 3827 | | |
3825 | 3828 | | |
3826 | | - | |
| 3829 | + | |
3827 | 3830 | | |
3828 | 3831 | | |
3829 | 3832 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1943 | 1943 | | |
1944 | 1944 | | |
1945 | 1945 | | |
| 1946 | + | |
1946 | 1947 | | |
1947 | 1948 | | |
1948 | 1949 | | |
| |||
2496 | 2497 | | |
2497 | 2498 | | |
2498 | 2499 | | |
| 2500 | + | |
| 2501 | + | |
| 2502 | + | |
| 2503 | + | |
| 2504 | + | |
| 2505 | + | |
| 2506 | + | |
| 2507 | + | |
| 2508 | + | |
| 2509 | + | |
2499 | 2510 | | |
2500 | 2511 | | |
2501 | 2512 | | |
2502 | | - | |
| 2513 | + | |
2503 | 2514 | | |
2504 | 2515 | | |
2505 | | - | |
| 2516 | + | |
2506 | 2517 | | |
2507 | 2518 | | |
2508 | 2519 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
| 3 | + | |
4 | 4 | | |
5 | 5 | | |
6 | 6 | | |
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
| 13 | + | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
0 commit comments