From d68d3a52b927756775ee1a8f89ee95fa51e918b5 Mon Sep 17 00:00:00 2001 From: Aditya Naik Date: Wed, 27 May 2026 20:05:54 -0700 Subject: [PATCH 1/2] [Scala3] Move OpaqueTypeSpec and DirectionSpec --- src/test/{scala-2 => scala}/chiselTests/Direction.scala | 0 .../chiselTests/experimental/OpaqueTypeSpec.scala | 6 +++--- 2 files changed, 3 insertions(+), 3 deletions(-) rename src/test/{scala-2 => scala}/chiselTests/Direction.scala (100%) rename src/test/{scala-2 => scala}/chiselTests/experimental/OpaqueTypeSpec.scala (98%) diff --git a/src/test/scala-2/chiselTests/Direction.scala b/src/test/scala/chiselTests/Direction.scala similarity index 100% rename from src/test/scala-2/chiselTests/Direction.scala rename to src/test/scala/chiselTests/Direction.scala diff --git a/src/test/scala-2/chiselTests/experimental/OpaqueTypeSpec.scala b/src/test/scala/chiselTests/experimental/OpaqueTypeSpec.scala similarity index 98% rename from src/test/scala-2/chiselTests/experimental/OpaqueTypeSpec.scala rename to src/test/scala/chiselTests/experimental/OpaqueTypeSpec.scala index d1279f2260e..6bf84470efa 100644 --- a/src/test/scala-2/chiselTests/experimental/OpaqueTypeSpec.scala +++ b/src/test/scala/chiselTests/experimental/OpaqueTypeSpec.scala @@ -103,7 +103,7 @@ object OpaqueTypeSpec { } // Illustrate how to dyanmically decide between OpaqueType or not - sealed trait MaybeBoxed[T <: Data] extends Record { + sealed abstract class MaybeBoxed[T <: Data] extends Record { def underlying: T def boxed: Boolean } @@ -115,12 +115,12 @@ object OpaqueTypeSpec { class Boxed[T <: Data](gen: T) extends MaybeBoxed[T] { def boxed = true lazy val elements = SeqMap("underlying" -> gen) - def underlying = elements.head._2 + def underlying = elements.head._2.asInstanceOf[T] } class Unboxed[T <: Data](gen: T) extends MaybeBoxed[T] with OpaqueType { def boxed = false lazy val elements = SeqMap("" -> gen) - def underlying = elements.head._2 + def underlying = elements.head._2.asInstanceOf[T] } class MaybeNoAsUInt(noAsUInt: Boolean) extends Record with OpaqueType { From d5b013525ce2d710f70946dcfc3c014f64439bcc Mon Sep 17 00:00:00 2001 From: Aditya Naik Date: Wed, 1 Jul 2026 22:30:47 -0700 Subject: [PATCH 2/2] Code review updates --- src/test/scala/chiselTests/experimental/OpaqueTypeSpec.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/test/scala/chiselTests/experimental/OpaqueTypeSpec.scala b/src/test/scala/chiselTests/experimental/OpaqueTypeSpec.scala index 6bf84470efa..f64bbb06fb0 100644 --- a/src/test/scala/chiselTests/experimental/OpaqueTypeSpec.scala +++ b/src/test/scala/chiselTests/experimental/OpaqueTypeSpec.scala @@ -114,8 +114,8 @@ object OpaqueTypeSpec { } class Boxed[T <: Data](gen: T) extends MaybeBoxed[T] { def boxed = true - lazy val elements = SeqMap("underlying" -> gen) - def underlying = elements.head._2.asInstanceOf[T] + val underlying = gen + lazy val elements = SeqMap("underlying" -> underlying) } class Unboxed[T <: Data](gen: T) extends MaybeBoxed[T] with OpaqueType { def boxed = false