@@ -611,17 +611,17 @@ class InlayHintsSuite extends BaseInlayHintsSuite {
611611        |class DemoSpec { 
612612        |  import ScalatestMock._ 
613613        | 
614-         |  /*StringTestOps<<(6:17)>>(*/"foo"/*)*/ should { 
615-         |    /*StringTestOps<<(6:17)>>(*/"checkThing1"/*)*/ in { 
614+         |  /*StringTestOps<<(6:17)>>(*/"foo"/*)*/ should {/*=> */  
615+         |    /*StringTestOps<<(6:17)>>(*/"checkThing1"/*)*/ in {/*=> */  
616616        |      checkThing1[String]/*(using instancesString<<(10:15)>>)*/ 
617617        |    }/*(using here<<(5:15)>>)*/ 
618-         |    /*StringTestOps<<(6:17)>>(*/"checkThing2"/*)*/ in { 
618+         |    /*StringTestOps<<(6:17)>>(*/"checkThing2"/*)*/ in {/*=> */  
619619        |      checkThing2[String]/*(using instancesString<<(10:15)>>, instancesString<<(10:15)>>)*/ 
620620        |    }/*(using here<<(5:15)>>)*/ 
621621        |  }/*(using subjectRegistrationFunction<<(3:15)>>)*/ 
622622        | 
623-         |  /*StringTestOps<<(6:17)>>(*/"bar"/*)*/ should { 
624-         |    /*StringTestOps<<(6:17)>>(*/"checkThing1"/*)*/ in { 
623+         |  /*StringTestOps<<(6:17)>>(*/"bar"/*)*/ should {/*=> */  
624+         |    /*StringTestOps<<(6:17)>>(*/"checkThing1"/*)*/ in {/*=> */  
625625        |      checkThing1[String]/*(using instancesString<<(10:15)>>)*/ 
626626        |    }/*(using here<<(5:15)>>)*/ 
627627        |  }/*(using subjectRegistrationFunction<<(3:15)>>)*/ 
@@ -1075,4 +1075,113 @@ class InlayHintsSuite extends BaseInlayHintsSuite {
10751075         |   val x: (path: String, num: Int, line: Int) = test 
10761076         |"""  .stripMargin
10771077    )
1078+ 
1079+   @ Test  def  `by-name-regular`  = 
1080+     check(
1081+       """ |object Main:
1082+          |  def foo(x: => Int, y: Int, z: => Int)(w: Int, v: => Int): Unit = () 
1083+          |  foo(1, 2, 3)(4, 5) 
1084+          |"""  .stripMargin,
1085+       """ |object Main:
1086+          |  def foo(x: => Int, y: Int, z: => Int)(w: Int, v: => Int): Unit = () 
1087+          |  foo(/*=> */1, 2, /*=> */3)(4, /*=> */5) 
1088+          |"""  .stripMargin
1089+     )
1090+ 
1091+   @ Test  def  `by-name-block`  = 
1092+     check(
1093+       """ |object Main:
1094+          |  def Future[A](arg: => A): A = arg 
1095+          | 
1096+          |  Future(1 + 2) 
1097+          |  Future { 
1098+          |    1 + 2 
1099+          |  } 
1100+          |  Future { 
1101+          |    val x = 1 
1102+          |    val y = 2 
1103+          |    x + y 
1104+          |  } 
1105+          |  Some(Option(2) 
1106+          |    .getOrElse { 
1107+          |      List(1,2) 
1108+          |        .headOption 
1109+          |    }) 
1110+          |"""  .stripMargin,
1111+       """ |object Main:
1112+          |  def Future[A](arg: => A): A = arg 
1113+          | 
1114+          |  Future/*[Int<<scala/Int#>>]*/(/*=> */1 + 2) 
1115+          |  Future/*[Int<<scala/Int#>>]*/ {/*=> */ 
1116+          |    1 + 2 
1117+          |  } 
1118+          |  Future/*[Int<<scala/Int#>>]*/ {/*=> */ 
1119+          |    val x/*: Int<<scala/Int#>>*/ = 1 
1120+          |    val y/*: Int<<scala/Int#>>*/ = 2 
1121+          |    x + y 
1122+          |  } 
1123+          |  Some/*[Int<<scala/Int#>> | Option<<scala/Option#>>[Int<<scala/Int#>>]]*/(Option/*[Int<<scala/Int#>>]*/(2) 
1124+          |    .getOrElse/*[Int<<scala/Int#>> | Option<<scala/Option#>>[Int<<scala/Int#>>]]*/ {/*=> */ 
1125+          |      List/*[Int<<scala/Int#>>]*/(1,2) 
1126+          |        .headOption 
1127+          |    }) 
1128+          |"""  .stripMargin
1129+     )
1130+ 
1131+   @ Test  def  `by-name-for-comprehension`  = 
1132+     check(
1133+       """ |object Main:
1134+          |  case class Test[A](v: A): 
1135+          |     def flatMap(f: => (A => Test[Int])): Test[Int] = f(v) 
1136+          |     def map(f: => (A => Int)): Test[Int] = Test(f(v)) 
1137+          | 
1138+          |  def main(args: Array[String]): Unit = 
1139+          |    val result: Test[Int] = for { 
1140+          |      a <- Test(10) 
1141+          |      b <- Test(20) 
1142+          |    } yield a + b 
1143+          | 
1144+          |"""  .stripMargin,
1145+       """ |object Main:
1146+          |  case class Test[A](v: A): 
1147+          |     def flatMap(f: => (A => Test[Int])): Test[Int] = f(v) 
1148+          |     def map(f: => (A => Int)): Test[Int] = Test/*[Int<<scala/Int#>>]*/(f(v)) 
1149+          | 
1150+          |  def main(args: Array[String]): Unit = 
1151+          |    val result: Test[Int] = for { 
1152+          |      a <- Test/*[Int<<scala/Int#>>]*/(10) 
1153+          |      b <- Test/*[Int<<scala/Int#>>]*/(20) 
1154+          |    } yield a + b 
1155+          | 
1156+          |"""  .stripMargin,
1157+     )
1158+ 
1159+   @ Test  def  `by-name-for-comprehension-generic`  = 
1160+     check(
1161+       """ |object Main:
1162+          |  case class Test[A](v: A): 
1163+          |     def flatMap[B](f: => (A => Test[B])): Test[B] = f(v) 
1164+          |     def map[B](f: => (A => B)): Test[B] = Test(f(v)) 
1165+          | 
1166+          |  def main(args: Array[String]): Unit = 
1167+          |    val result: Test[Int] = for { 
1168+          |      a <- Test(10) 
1169+          |      b <- Test(20) 
1170+          |    } yield a + b 
1171+          | 
1172+          |"""  .stripMargin,
1173+       """ |object Main:
1174+          |  case class Test[A](v: A): 
1175+          |     def flatMap[B](f: => (A => Test[B])): Test[B] = f(v) 
1176+          |     def map[B](f: => (A => B)): Test[B] = Test/*[B<<(4:13)>>]*/(f(v)) 
1177+          | 
1178+          |  def main(args: Array[String]): Unit = 
1179+          |    val result: Test[Int] = for { 
1180+          |      a <- Test/*[Int<<scala/Int#>>]*/(10) 
1181+          |      b <- Test/*[Int<<scala/Int#>>]*/(20) 
1182+          |    } yield a + b 
1183+          | 
1184+          |"""  .stripMargin,
1185+     )
1186+ 
10781187}
0 commit comments