File tree Expand file tree Collapse file tree 2 files changed +25
-1
lines changed
compiler/src/dotty/tools/dotc/transform Expand file tree Collapse file tree 2 files changed +25
-1
lines changed Original file line number Diff line number Diff line change @@ -60,7 +60,7 @@ class CollectNullableFields extends MiniPhase {
6060 val sym = tree.symbol
6161 val isNullablePrivateField =
6262 sym.isField &&
63- ! sym.is (Lazy ) &&
63+ ! sym.isOneOf (Lazy | Erased ) &&
6464 ! sym.owner.is(Trait ) &&
6565 sym.initial.isAllOf(PrivateLocal ) &&
6666 // We need `isNullableClassAfterErasure` and not `isNullable` because
Original file line number Diff line number Diff line change 1+ //> using options -language:experimental.erasedDefinitions
2+
3+ erased trait DBMeta [A ]
4+
5+ trait Table [A ]
6+
7+ case class Saved [A ]()
8+ object Saved {
9+ def table [A ](using dbm : DBMeta [A ]): Table [Saved [A ]] = new Table [Saved [A ]] {}
10+ }
11+
12+ case class deleteBulk [A ](as : List [Saved [A ]])(using dbm : DBMeta [A ], tbl : Table [A ]) {
13+ final given savedTable : Table [Saved [A ]] = Saved .table[A ]
14+ }
15+
16+ case class Foo ()
17+ object Foo {
18+ given dbMeta : DBMeta [Foo ] = new DBMeta [Foo ] {}
19+ given table : Table [Foo ] = new Table [Foo ] {}
20+ }
21+
22+ @ main def Test =
23+ val del = deleteBulk(List (Saved [Foo ]()))
24+ del.savedTable
You can’t perform that action at this time.
0 commit comments