From 0aefc4f48d997948c27b5869184381cf3a82d126 Mon Sep 17 00:00:00 2001 From: Ondrej Lhotak Date: Fri, 24 Sep 2021 11:37:40 +0200 Subject: [PATCH] add tests for #11631 --- tests/pos/i11631.scala | 19 +++++++++++++++++++ tests/pos/i11631b.scala | 15 +++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 tests/pos/i11631.scala create mode 100644 tests/pos/i11631b.scala diff --git a/tests/pos/i11631.scala b/tests/pos/i11631.scala new file mode 100644 index 000000000000..96cd46578d76 --- /dev/null +++ b/tests/pos/i11631.scala @@ -0,0 +1,19 @@ +trait MyTrait: + def a(): String = "" + +class Nul + +extension [T](x: T | Nul) inline def nnn: x.type & T = ??? + +class MyClass: + var myTrait: MyTrait|Null = null + + def printA(): Unit = println(myTrait.nnn.a()) + +@main def runTest(): Unit = + val mt = new MyTrait: + override def a(): String = "hello world" + + val mc = MyClass() + mc.myTrait = mt + mc.printA() diff --git a/tests/pos/i11631b.scala b/tests/pos/i11631b.scala new file mode 100644 index 000000000000..6f91532158fe --- /dev/null +++ b/tests/pos/i11631b.scala @@ -0,0 +1,15 @@ +trait MyTrait: + def a(): String = "" + +class MyClass: + var myTrait: MyTrait|Null = null + + def printA(): Unit = println(myTrait.nn.a()) + +@main def runTest(): Unit = + val mt = new MyTrait: + override def a(): String = "hello world" + + val mc = MyClass() + mc.myTrait = mt + mc.printA()