Skip to content

Commit 1d4db7f

Browse files
committed
Regression tests
1 parent 12f75a9 commit 1d4db7f

File tree

4 files changed

+68
-3
lines changed

4 files changed

+68
-3
lines changed

tests/pos/i17631.scala

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,17 @@ def `i18388`: Unit =
3838
val _ = pred
3939
()
4040
val _ = func
41+
42+
trait L[T]:
43+
type E
44+
45+
def `i19748` =
46+
type Warn1 = [T] => (l: L[T]) => T => l.E
47+
type Warn2 = [T] => L[T] => T
48+
type Warn3 = [T] => T => T
49+
def use(x: (Warn1, Warn2, Warn3)) = x
50+
use
51+
52+
type NoWarning1 = [T] => (l: L[T]) => T => l.E
53+
type NoWarning2 = [T] => L[T] => T
54+
type NoWarning3 = [T] => T => T

tests/pos/i18366.scala

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,19 @@
1-
//> using options -Xfatal-warnings -Wunused:all
1+
//> using options -Werror -Wunused:all
22

33
trait Builder {
44
def foo(): Unit
55
}
66

7-
def repro =
7+
def `i18366` =
88
val builder: Builder = ???
99
import builder.{foo => bar}
10-
bar()
10+
bar()
11+
12+
import java.io.DataOutputStream
13+
14+
val buffer: DataOutputStream = ???
15+
16+
import buffer.{write => put}
17+
18+
def `i17315` =
19+
put(0: Byte)

tests/warn/i17371.scala

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
//> using options -Wunused:all
2+
3+
class A
4+
class B
5+
6+
def Test() =
7+
val ordA: Ordering[A] = ???
8+
val ordB: Ordering[B] = ???
9+
val a: A = ???
10+
val b: B = ???
11+
12+
import ordA.given
13+
val _ = a > a
14+
15+
import ordB.given
16+
val _ = b < b
17+
18+
// unminimized OP
19+
trait Circular[T] extends Ordering[T]
20+
trait Turns[C: Circular, T] extends Ordering[T]:
21+
extension (turns: T) def extract: C
22+
23+
def f[K, T](start: T, end: T)(using circular: Circular[K], turns: Turns[K, T]): Boolean =
24+
import turns.given
25+
if start > end then throw new IllegalArgumentException("start must be <= end")
26+
27+
import circular.given
28+
start.extract < end.extract

tests/warn/i18313.scala

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
//> using options -Wunused:imports
2+
3+
import scala.deriving.Mirror
4+
5+
case class Test(i: Int, d: Double)
6+
case class Decoder(d: Product => Test)
7+
8+
// OK, no warning returned
9+
//val ok = Decoder(summon[Mirror.Of[Test]].fromProduct)
10+
//
11+
// returns warning:
12+
// [warn] unused import
13+
// [warn] import scala.deriving.Mirror
14+
val d = Decoder(d = summon[Mirror.Of[Test]].fromProduct) // no warn

0 commit comments

Comments
 (0)