== T == trait T --------------------- L0: 1 L1: NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == A == class A(a: Int, b: Int): T --------------------- L0: 1 v(a: Int) magic[FAKE_INITIALIZER](a: Int) -> w(a|) v(b: Int) magic[FAKE_INITIALIZER](b: Int) -> w(b|) L1: NEXT:[] error: PREV:[] sink: PREV:[, ] ===================== == B == class B(a: Int, b: Int): T by A(a + b, a - b) --------------------- L0: 1 v(a: Int) magic[FAKE_INITIALIZER](a: Int) -> w(a|) v(b: Int) magic[FAKE_INITIALIZER](b: Int) -> w(b|) r(a) -> r(b) -> mark(a + b) call(a + b, plus|, ) -> r(a) -> r(b) -> mark(a - b) call(a - b, minus|, ) -> mark(A(a + b, a - b)) call(A(a + b, a - b), |, ) -> magic[VALUE_CONSUMER](T by A(a + b, a - b)|) -> L1: NEXT:[] error: PREV:[] sink: PREV:[, ] =====================