Skip to content

Commit 408d35b

Browse files
committed
Slightly delay erroring & adjust tests
1 parent 8b8177e commit 408d35b

File tree

8 files changed

+34
-36
lines changed

8 files changed

+34
-36
lines changed

compiler/src/dotty/tools/dotc/typer/Applications.scala

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -779,9 +779,7 @@ trait Applications extends Compatibility {
779779
init()
780780

781781
def addArg(arg: Tree, formal: Type): Unit =
782-
val arg1 = adapt(arg, formal.widenExpr)
783-
typedArgBuf += arg1
784-
ok = ok && !arg1.tpe.isError
782+
typedArgBuf += adapt(arg, formal.widenExpr)
785783

786784
def makeVarArg(n: Int, elemFormal: Type): Unit = {
787785
val args = typedArgBuf.takeRight(n).toList
@@ -846,7 +844,7 @@ trait Applications extends Compatibility {
846844
var typedArgs = typedArgBuf.toList
847845
def app0 = cpy.Apply(app)(normalizedFun, typedArgs) // needs to be a `def` because typedArgs can change later
848846
val app1 =
849-
if (!success) app0.withType(UnspecifiedErrorType)
847+
if (!success || typedArgs.exists(_.tpe.isError)) app0.withType(UnspecifiedErrorType)
850848
else {
851849
if !sameSeq(args, orderedArgs)
852850
&& !isJavaAnnotConstr(methRef.symbol)

language-server/test/dotty/tools/languageserver/SignatureHelpTest.scala

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -929,12 +929,12 @@ class SignatureHelpTest {
929929
| def boo(x: Int, y: Int): Int = ???
930930
| boo(${m1}, fo${m2}o1(fo${m3}o2(fo${m4}o3(fo${m5}o4(fo${m6}o5(${m7}))))))"""
931931
.signatureHelp(m1, List(booSignature), None, 0)
932-
.signatureHelp(m2, List(booSignature), None, 1)
933-
.signatureHelp(m3, List(signatures(0)), None, 0)
934-
.signatureHelp(m4, List(signatures(1)), None, 0)
935-
.signatureHelp(m5, List(signatures(2)), None, 0)
936-
.signatureHelp(m6, List(signatures(3)), None, 0)
937-
.signatureHelp(m7, List(signatures(4)), None, 0)
932+
.signatureHelp(m2, List(booSignature), None, 0)
933+
.signatureHelp(m3, List(booSignature), None, 0)
934+
.signatureHelp(m4, List(booSignature), None, 0)
935+
.signatureHelp(m5, List(booSignature), None, 0)
936+
.signatureHelp(m6, List(booSignature), None, 0)
937+
.signatureHelp(m7, List(booSignature), None, 0)
938938
}
939939

940940
@Test def multipleNestedApplySignatures: Unit = {
@@ -956,12 +956,12 @@ class SignatureHelpTest {
956956
.signatureHelp(m1, List(simpleSignature), None, 0)
957957
.signatureHelp(m2, List(complicatedSignature), None, 0)
958958
.signatureHelp(m3, List(simpleSignature), None, 0)
959-
.signatureHelp(m4, List(complicatedSignature), None, 1)
960-
.signatureHelp(m5, List(complicatedSignature), None, 1)
961-
.signatureHelp(m6, List(complicatedSignature), None, 2)
962-
.signatureHelp(m7, List(simpleSignature), None, 0)
963-
.signatureHelp(m8, List(complicatedSignature), None, 2)
964-
.signatureHelp(m9, List(complicatedSignature), None, 1)
959+
.signatureHelp(m4, List(complicatedSignature), None, 0)
960+
.signatureHelp(m5, List(complicatedSignature), None, 0)
961+
.signatureHelp(m6, List(complicatedSignature), None, 0)
962+
.signatureHelp(m7, List(complicatedSignature), None, 0)
963+
.signatureHelp(m8, List(complicatedSignature), None, 0)
964+
.signatureHelp(m9, List(complicatedSignature), None, 0)
965965
}
966966

967967
@Test def noHelpSignatureWithPositionedOnName: Unit = {

presentation-compiler/test/dotty/tools/pc/tests/hover/HoverTypeSuite.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ class HoverTypeSuite extends BaseHoverSuite:
142142
| "".<<doub@@le(1)>>
143143
|end Foo
144144
|""".stripMargin,
145-
"extension [T](using A)(s: T) def double(using B)[G](using C)(times: G): String".hover
145+
""
146146
)
147147

148148
@Test def `extension-methods-complex-binary` =

tests/neg-macros/i6762.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@ import scala.quoted.*
22

33
type G[X]
44
case class Foo[T](x: T)
5-
def f(word: String)(using Quotes): Expr[Foo[G[String]]] = '{Foo(${Expr(word)})} // error // error
5+
def f(word: String)(using Quotes): Expr[Foo[G[String]]] = '{Foo(${Expr(word)})} // error

tests/neg/i1430.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ object Test {
55

66
val y: List[List[String]] = List(List(1)) // error: found Int(1), expected: String
77

8-
val z: (List[String], List[Int]) = (List(1), List("a")) // error: found Int(1), expected: String
8+
val z: (List[String], List[Int]) = (List(1), List("a")) // error: found Int(1), expected: String // error: found String(a), expected: Int
99

1010
val a: Inv[String] = new Inv(new Inv(1)) // error: found Inv[T], expected: String ... where T ...
1111

tests/neg/i15525.scala

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40,14 +40,14 @@ def element22(
4040
def test22 =
4141
Resolution(
4242
element22(
43-
Resolution(element0), Resolution(element0), // error
44-
Resolution(element0), Resolution(element0),
45-
Resolution(element0), Resolution(element0),
46-
Resolution(element0), Resolution(element0),
47-
Resolution(element0), Resolution(element0),
48-
Resolution(element0), Resolution(element0),
49-
Resolution(element0), Resolution(element0),
50-
Resolution(element0), Resolution(element0),
51-
Resolution(element0), Resolution(element0),
52-
Resolution(element0), Resolution(element0),
53-
Resolution(element0), Resolution(element0)))
43+
Resolution(element0), Resolution(element0), // error // error
44+
Resolution(element0), Resolution(element0), // error // error
45+
Resolution(element0), Resolution(element0), // error // error
46+
Resolution(element0), Resolution(element0), // error // error
47+
Resolution(element0), Resolution(element0), // error // error
48+
Resolution(element0), Resolution(element0), // error // error
49+
Resolution(element0), Resolution(element0), // error // error
50+
Resolution(element0), Resolution(element0), // error // error
51+
Resolution(element0), Resolution(element0), // error // error
52+
Resolution(element0), Resolution(element0), // error // error
53+
Resolution(element0), Resolution(element0)))// error // error

tests/neg/i3083.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
def expression(adder: Addition) = {
1313
import adder.*
14-
add(num(1), num(2)) // error (not found: num)
14+
add(num(1), num(2)) // error // error (not found: num)
1515
}
1616
}
1717

tests/neg/i9160.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ object Test {
1111
e10: F[T], e11: F[T], e12: F[T],
1212
) = ???
1313
f("foo")(
14-
F, F, F, // error
15-
F, F, F,
16-
F, F, F,
17-
F, F, F,
14+
F, F, F, // error // error // error
15+
F, F, F, // error // error // error
16+
F, F, F, // error // error // error
17+
F, F, F, // error // error // error
1818
)
1919
}
2020

@@ -128,4 +128,4 @@ trait Implicits {
128128
given g98 [T1: F, T2: F, T3: F, T4: F, T5: F, T6: F, T7: F, T8: F, T9: F, T10: F, T11: F, T12: F, T13: F, T14: F, T15: F, T16: F, T17: F, T18: F, T19: F, T20: F, T21: F, T22: F]: G[Int] = ???
129129
given g99 [T1: F, T2: F, T3: F, T4: F, T5: F, T6: F, T7: F, T8: F, T9: F, T10: F, T11: F, T12: F, T13: F, T14: F, T15: F, T16: F, T17: F, T18: F, T19: F, T20: F, T21: F, T22: F]: G[Int] = ???
130130
given g100 [T1: F, T2: F, T3: F, T4: F, T5: F, T6: F, T7: F, T8: F, T9: F, T10: F, T11: F, T12: F, T13: F, T14: F, T15: F, T16: F, T17: F, T18: F, T19: F, T20: F, T21: F, T22: F]: G[Int] = ???
131-
}
131+
}

0 commit comments

Comments
 (0)