Skip to content

Commit b50409f

Browse files
committed
Use overload instead of override to implement Assertions.{assert, assume}
scala/scala3#8601 (review)
1 parent 01f97bd commit b50409f

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

scalatest.dotty/src/main/scala/org/scalatest/Assertions.scala

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,8 @@ import ArrayHelper.deep
419419
* @author Bill Venners
420420
*/
421421
trait Assertions extends TripleEquals {
422+
// https://github.com/lampepfl/dotty/pull/8601#pullrequestreview-380646858
423+
implicit object UseDefaultAssertions
422424

423425
//implicit val prettifier = Prettifier.default
424426

@@ -467,7 +469,7 @@ trait Assertions extends TripleEquals {
467469
* @param condition the boolean condition to assert
468470
* @throws TestFailedException if the condition is <code>false</code>.
469471
*/
470-
inline def assert(inline condition: Boolean)(implicit prettifier: Prettifier, pos: source.Position): Assertion =
472+
inline def assert(inline condition: Boolean)(implicit prettifier: Prettifier, pos: source.Position, use: UseDefaultAssertions.type): Assertion =
471473
${ AssertionsMacro.assert('{condition}, '{prettifier}, '{pos}, '{""}) }
472474

473475
private[scalatest] def newAssertionFailedException(optionalMessage: Option[String], optionalCause: Option[Throwable], pos: source.Position, analysis: scala.collection.immutable.IndexedSeq[String]): Throwable =
@@ -526,7 +528,7 @@ trait Assertions extends TripleEquals {
526528
* @throws TestFailedException if the condition is <code>false</code>.
527529
* @throws NullArgumentException if <code>message</code> is <code>null</code>.
528530
*/
529-
inline def assert(inline condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: source.Position): Assertion =
531+
inline def assert(inline condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: source.Position, use: UseDefaultAssertions.type): Assertion =
530532
${ AssertionsMacro.assert('{condition}, '{prettifier}, '{pos}, '{clue}) }
531533

532534
/**
@@ -574,7 +576,7 @@ trait Assertions extends TripleEquals {
574576
* @param condition the boolean condition to assume
575577
* @throws TestCanceledException if the condition is <code>false</code>.
576578
*/
577-
inline def assume(inline condition: Boolean)(implicit prettifier: Prettifier, pos: source.Position): Assertion =
579+
inline def assume(inline condition: Boolean)(implicit prettifier: Prettifier, pos: source.Position, use: UseDefaultAssertions.type): Assertion =
578580
${ AssertionsMacro.assume('{condition}, '{prettifier}, '{pos}, '{""}) }
579581

580582
/**
@@ -627,7 +629,7 @@ trait Assertions extends TripleEquals {
627629
* @throws TestCanceledException if the condition is <code>false</code>.
628630
* @throws NullArgumentException if <code>message</code> is <code>null</code>.
629631
*/
630-
inline def assume(inline condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: source.Position): Assertion =
632+
inline def assume(inline condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: source.Position, use: UseDefaultAssertions.type): Assertion =
631633
${ AssertionsMacro.assume('{condition}, '{prettifier}, '{pos}, '{clue}) }
632634

633635
/**

scalatest.dotty/src/main/scala/org/scalatest/diagrams/Diagrams.scala

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,8 @@ import org.scalatest.compatible.Assertion
155155
* <p>Trait <code>DiagrammedAssertions</code> was inspired by Peter Niederwieser's work in <a href="http://code.google.com/p/spock/">Spock</a> and <a href="https://github.com/pniederw/expecty">Expecty</a>.
156156
*/
157157
trait Diagrams extends Assertions {
158+
// https://github.com/lampepfl/dotty/pull/8601#pullrequestreview-380646858
159+
implicit object UseDiagram
158160

159161
import scala.tasty._
160162
import scala.quoted._
@@ -177,7 +179,7 @@ trait Diagrams extends Assertions {
177179
* @param condition the boolean condition to assert
178180
* @throws TestFailedException if the condition is <code>false</code>.
179181
*/
180-
inline override def assert(inline condition: Boolean)(implicit prettifier: Prettifier, pos: source.Position): Assertion =
182+
inline def assert(inline condition: Boolean)(implicit prettifier: Prettifier, pos: source.Position, use: UseDiagram.type): Assertion =
181183
${ DiagrammedAssertionsMacro.assert('{condition}, '{prettifier}, '{pos}, '{""}) }
182184

183185
/**
@@ -199,7 +201,7 @@ trait Diagrams extends Assertions {
199201
* @throws TestFailedException if the condition is <code>false</code>.
200202
* @throws NullArgumentException if <code>message</code> is <code>null</code>.
201203
*/
202-
inline override def assert(inline condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: source.Position): Assertion =
204+
inline def assert(inline condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: source.Position, use: UseDiagram.type): Assertion =
203205
${ DiagrammedAssertionsMacro.assert('condition, 'prettifier, 'pos, 'clue) }
204206

205207
/**
@@ -220,7 +222,7 @@ trait Diagrams extends Assertions {
220222
* @param condition the boolean condition to assume
221223
* @throws TestCanceledException if the condition is <code>false</code>.
222224
*/
223-
inline override def assume(inline condition: Boolean)(implicit prettifier: Prettifier, pos: source.Position): Assertion =
225+
inline def assume(inline condition: Boolean)(implicit prettifier: Prettifier, pos: source.Position, use: UseDiagram.type): Assertion =
224226
${ DiagrammedAssertionsMacro.assume('condition, 'prettifier, 'pos, '{""}) }
225227

226228
/**
@@ -242,7 +244,7 @@ trait Diagrams extends Assertions {
242244
* @throws TestCanceledException if the condition is <code>false</code>.
243245
* @throws NullArgumentException if <code>message</code> is <code>null</code>.
244246
*/
245-
inline override def assume(inline condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: source.Position): Assertion =
247+
inline def assume(inline condition: Boolean, clue: Any)(implicit prettifier: Prettifier, pos: source.Position, use: UseDiagram.type): Assertion =
246248
${ DiagrammedAssertionsMacro.assume('condition, 'prettifier, 'pos, 'clue) }
247249
}
248250

0 commit comments

Comments
 (0)