File tree Expand file tree Collapse file tree 3 files changed +18
-2
lines changed
compiler/src/dotty/tools/dotc/typer Expand file tree Collapse file tree 3 files changed +18
-2
lines changed Original file line number Diff line number Diff line change @@ -520,7 +520,7 @@ object ProtoTypes {
520
520
/** Create a new TypeVar that represents a dependent method parameter singleton */
521
521
def newDepTypeVar (tp : Type )(implicit ctx : Context ): TypeVar =
522
522
newTypeVar(TypeBounds .upper(AndType (tp.widenExpr, defn.SingletonClass .typeRef)))
523
-
523
+
524
524
/** The result type of `mt`, where all references to parameters of `mt` are
525
525
* replaced by either wildcards (if typevarsMissContext) or TypeParamRefs.
526
526
*/
Original file line number Diff line number Diff line change @@ -2575,7 +2575,14 @@ class Typer extends Namer
2575
2575
readaptSimplified(tpd.Apply (tree, args))
2576
2576
}
2577
2577
}
2578
- addImplicitArgs(argCtx(tree))
2578
+ pt.revealIgnored match {
2579
+ case pt : FunProto if pt.isGivenApply =>
2580
+ // We can end up here if extension methods are called with explicit given arguments.
2581
+ // See for instance #7119.
2582
+ tree
2583
+ case _ =>
2584
+ addImplicitArgs(argCtx(tree))
2585
+ }
2579
2586
}
2580
2587
2581
2588
/** A synthetic apply should be eta-expanded if it is the apply of an implicit function
Original file line number Diff line number Diff line change
1
+ class Impl
2
+
3
+ def (impl : Impl ) prop given Int = ???// the[Int ]
4
+
5
+
6
+ def main (args : Array [String ]): Unit = {
7
+ given as Int = 3
8
+ println(new Impl ().prop given 3 )
9
+ }
You can’t perform that action at this time.
0 commit comments