Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Potential regressions in quotes #17750

Open
adamgfraser opened this issue Jun 1, 2023 · 0 comments
Open

Potential regressions in quotes #17750

adamgfraser opened this issue Jun 1, 2023 · 0 comments
Labels
area:metaprogramming:quotes Issues related to quotes and splices itype:bug stat:needs minimization Needs a self contained minimization

Comments

@adamgfraser
Copy link
Contributor

We're seeing a couple of issues updating to Scala 3 in ZIO.

First, we had enabled -X-check-macros in our tests and this was succeeding on Scala 3.2.2 but fails on Scala 3.3.0 with the error below. This appears spurious because the compiler is complaining that it found a String and expected a Tracer.instance.Type, but a Tracer.instance.Type is a String.

Second, these changes at zio/zio#8124 appear to have worked on Scala 3.2.2 but be causing a regression in Scala 3.3.0. See zio/zio#8164 for additional details.

These changes were made since the last ZIO release which is why they weren't picked up in the community build.

[error] -- Error: /home/runner/work/zio/zio/core-tests/shared/src/test/scala-3/zio/ZLayerDerivationSpec.scala:22:11 
[error] 11 |  override def spec = suite("ZLayerDerivationSpec")(
[error] 12 |    test("ZLayer.derive[OneDependency]") {
[error] 13 |      for {
[error] 14 |        d1 <- ZIO.service[OneDependency]
[error] 15 |      } yield assertTrue(d1 == OneDependency("one"))
[error] 16 |    },
[error] 17 |    test("ZLayer.derive[TwoDependencies]") {
[error] 18 |      for {
[error] 19 |        d1 <- ZIO.service[TwoDependencies]
[error] 20 |      } yield assertTrue(d1 == TwoDependencies("one", 2))
[error] 21 |    }
[error] 22 |  ).provide(
[error]    |                      ^
[error]    |Malformed tree was found while expanding macro with -Xcheck-macros.
[error]    |               |The tree does not conform to the compiler's tree invariants.
[error]    |               |
[error]    |               |Macro was:
[error]    |               |scala.quoted.runtime.Expr.splice[zio.test.Spec[scala.Any, zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutError]](((evidence$1: scala.quoted.Quotes) ?=> zio.test.SpecLayerMacros.provideImpl[scala.Any, zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutEnvironment, zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutError](scala.quoted.runtime.Expr.quote[zio.test.Spec[zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutEnvironment, zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutError] & zio.test.SpecVersionSpecific[zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutEnvironment, zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutError]](SpecVersionSpecific_this).apply(using evidence$1), scala.quoted.runtime.Expr.quote[scala.collection.immutable.Seq[zio.ZLayer[_ >: scala.Nothing <: scala.Any, zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutError, _ >: scala.Nothing <: scala.Any]]](zio.ZLayerDerivationSpec.derivedOne, zio.ZLayerDerivationSpec.derivedTwo, zio.ZLayer.succeed[java.lang.String]("one")({
[error]    |  val tag0: izumi.reflect.Tag[java.lang.String] = zio.EnvironmentTag.apply[java.lang.String]((izumi.reflect.Tag.apply[java.lang.String](classOf[java.lang.String], (izumi.reflect.macrortti.LightTypeTag.parse[scala.Any](-128869172, "\u0004\u0000\u0001\u0010java.lang.String\u0001\u0001", "\u0000\u0001\u0004\u0000\u0001\u0010java.lang.String\u0001\u0001\u0005\u0001\u0001\u0001\u0014java.lang.Comparable\u0001\u0000\u0004\u0000\u0001\u0090\u0002\u0001\u0001\u0000\u0001\u0004\u0000\u0001\u0016java.lang.CharSequence\u0001\u0001\u0004\u0000\u0001\u0014java.io.Serializable\u0001\u0001\u0004\u0000\u0001\u001cjava.lang.constant.Constable\u0001\u0001\u0004\u0000\u0001\u001fjava.lang.constant.ConstantDesc\u0001\u0001\u0001\u0000\u0001\u0090\u0002\u0001\u0001\u0005\u0000\u0001\u0090\u0004\u0001\u0001\u0000\u0001\u0090\u0005\u0001\u0001\u0000\u0001\u0090\u0006\u0001\u0001\u0000\u0001\u0090\u0003\u0001\u0001\u0000\u0001\u0090\u0007\u0001\u0001", 30): izumi.reflect.macrortti.LightTypeTag)): izumi.reflect.Tag[java.lang.String]))
[error]    |  final class $anon() extends zio.Tag[java.lang.String] {
[error]    |    def tag: zio.LightTypeTag = tag0.tag
[error]    |    def closestClass: scala.Predef.Class[_ >: scala.Nothing <: scala.Any] = tag0.closestClass
[error]    |  }
[error]    |
[error]    |  (new $anon(): zio.Tag[java.lang.String])
[error]    |}, ("zio.ZLayerDerivationSpec.spec(ZLayerDerivationSpec.scala:25)": zio.internal.stacktracer.Tracer.instance.Type)), zio.ZLayer.succeed[scala.Int](2)({
[error]    |  val `tag0₂`: izumi.reflect.Tag[scala.Int] = zio.EnvironmentTag.apply[scala.Int]((izumi.reflect.Tag.apply[scala.Int](classOf[scala.Int], (izumi.reflect.macrortti.LightTypeTag.parse[scala.Any](1454689320, "\u0004\u0000\u0001\tscala.Int\u0001\u0001", "\u0000\u0001\u0004\u0000\u0001\tscala.Int\u0001\u0001\u0001\u0004\u0000\u0001\fscala.AnyVal\u0001\u0001\u0001\u0000\u0001\u0090\u0002\u0001\u0001\u0001\u0000\u0001\u0090\u0003\u0001\u0001", 30): izumi.reflect.macrortti.LightTypeTag)): izumi.reflect.Tag[scala.Int]))
[error]    |  final class $anon() extends zio.Tag[scala.Int] {
[error]    |    def tag: zio.LightTypeTag = `tag0₂`.tag
[error]    |    def closestClass: scala.Predef.Class[_ >: scala.Nothing <: scala.Any] = `tag0₂`.closestClass
[error]    |  }
[error]    |
[error]    |  (new $anon(): zio.Tag[scala.Int])
[error]    |}, ("zio.ZLayerDerivationSpec.spec(ZLayerDerivationSpec.scala:26)": zio.internal.stacktracer.Tracer.instance.Type))).apply(using evidence$1))(scala.quoted.Type.of[scala.Any](evidence$1), scala.quoted.Type.of[zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutEnvironment](evidence$1), scala.quoted.Type.of[zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutError](evidence$1), evidence$1)))
[error]    |               |
[error]    |               |The macro returned:
[error]    |               |SpecVersionSpecific_this.provideLayer[zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutError, scala.Any]({
[error]    |  val x: zio.ULayer[java.lang.String] = zio.ZLayer.succeed[java.lang.String]("one")({
[error]    |    val tag0: izumi.reflect.Tag[java.lang.String] = zio.EnvironmentTag.apply[java.lang.String]((izumi.reflect.Tag.apply[java.lang.String](classOf[java.lang.String], (izumi.reflect.macrortti.LightTypeTag.parse[scala.Any](-128869172, "\u0004\u0000\u0001\u0010java.lang.String\u0001\u0001", "\u0000\u0001\u0004\u0000\u0001\u0010java.lang.String\u0001\u0001\u0005\u0001\u0001\u0001\u0014java.lang.Comparable\u0001\u0000\u0004\u0000\u0001\u0090\u0002\u0001\u0001\u0000\u0001\u0004\u0000\u0001\u0016java.lang.CharSequence\u0001\u0001\u0004\u0000\u0001\u0014java.io.Serializable\u0001\u0001\u0004\u0000\u0001\u001cjava.lang.constant.Constable\u0001\u0001\u0004\u0000\u0001\u001fjava.lang.constant.ConstantDesc\u0001\u0001\u0001\u0000\u0001\u0090\u0002\u0001\u0001\u0005\u0000\u0001\u0090\u0004\u0001\u0001\u0000\u0001\u0090\u0005\u0001\u0001\u0000\u0001\u0090\u0006\u0001\u0001\u0000\u0001\u0090\u0003\u0001\u0001\u0000\u0001\u0090\u0007\u0001\u0001", 30): izumi.reflect.macrortti.LightTypeTag)): izumi.reflect.Tag[java.lang.String]))
[error]    |    final class $anon() extends zio.Tag[java.lang.String] {
[error]    |      def tag: zio.LightTypeTag = tag0.tag
[error]    |      def closestClass: scala.Predef.Class[_ >: scala.Nothing <: scala.Any] = tag0.closestClass
[error]    |    }
[error]    |
[error]    |    (new $anon(): zio.Tag[java.lang.String])
[error]    |  }, ("zio.ZLayerDerivationSpec.spec(ZLayerDerivationSpec.scala:25)": zio.internal.stacktracer.Tracer.instance.Type))
[error]    |  val `x₂`: zio.URLayer[java.lang.String, zio.ZLayerDerivationSpec.OneDependency] = zio.ZLayerDerivationSpec.derivedOne
[error]    |  val `x₃`: zio.ULayer[scala.Int] = zio.ZLayer.succeed[scala.Int](2)({
[error]    |    val `tag0₂`: izumi.reflect.Tag[scala.Int] = zio.EnvironmentTag.apply[scala.Int]((izumi.reflect.Tag.apply[scala.Int](classOf[scala.Int], (izumi.reflect.macrortti.LightTypeTag.parse[scala.Any](1454689320, "\u0004\u0000\u0001\tscala.Int\u0001\u0001", "\u0000\u0001\u0004\u0000\u0001\tscala.Int\u0001\u0001\u0001\u0004\u0000\u0001\fscala.AnyVal\u0001\u0001\u0001\u0000\u0001\u0090\u0002\u0001\u0001\u0001\u0000\u0001\u0090\u0003\u0001\u0001", 30): izumi.reflect.macrortti.LightTypeTag)): izumi.reflect.Tag[scala.Int]))
[error]    |    final class $anon() extends zio.Tag[scala.Int] {
[error]    |      def tag: zio.LightTypeTag = `tag0₂`.tag
[error]    |      def closestClass: scala.Predef.Class[_ >: scala.Nothing <: scala.Any] = `tag0₂`.closestClass
[error]    |    }
[error]    |
[error]    |    (new $anon(): zio.Tag[scala.Int])
[error]    |  }, ("zio.ZLayerDerivationSpec.spec(ZLayerDerivationSpec.scala:26)": zio.internal.stacktracer.Tracer.instance.Type))
[error]    |  val `x₄`: zio.URLayer[java.lang.String & scala.Int, zio.ZLayerDerivationSpec.TwoDependencies] = zio.ZLayerDerivationSpec.derivedTwo
[error]    |  x.to[zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutError, zio.ZLayerDerivationSpec.OneDependency](`x₂`)(zio.internal.stacktracer.Tracer.autoTrace).++[scala.Nothing & zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutError, scala.Any, zio.ZLayerDerivationSpec.OneDependency, zio.ZLayerDerivationSpec.TwoDependencies](x.++[scala.Nothing & zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutError, scala.Any, java.lang.String, scala.Int](`x₃`)(izumi.reflect.Tag.tagFromTagMacro[scala.Int]).to[zio.test.SuiteConstructor.WithOut[zio.test.Spec[zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing], zio.ZLayerDerivationSpec.OneDependency & zio.ZLayerDerivationSpec.TwoDependencies, scala.Nothing].OutError, zio.ZLayerDerivationSpec.TwoDependencies](`x₄`)(zio.internal.stacktracer.Tracer.autoTrace))(izumi.reflect.Tag.tagFromTagMacro[zio.ZLayerDerivationSpec.TwoDependencies])
[error]    |})(zio.internal.stacktracer.Tracer.autoTrace)
[error]    |               |
[error]    |               |Error:
[error]    |               |assertion failed: Found:    ("zio.ZLayerDerivationSpec.spec(ZLayerDerivationSpec.scala:25)" : String)
[error]    |Required: zio.internal.stacktracer.Tracer.instance.Type
[error]    |found: ??
[error]    |expected: type Type in trait Tracer with type Type, flags = <deferred> <touched>, underlying = zio.internal.stacktracer.Tracer.instance.Type,  <: AnyRef, AnyRef,  = Object, Object, Any with Matchable {...}
[error]    |tree = "zio.ZLayerDerivationSpec.spec(ZLayerDerivationSpec.scala:25)"
[error]    |               |
[error]    |               |
[error] 23 |    derivedOne,
[error] 24 |    derivedTwo,
[error] 25 |    ZLayer.succeed("one"),
[error] 26 |    ZLayer.succeed(2)
[error] 27 |  )
[error]    |----------------------------------------------------------------------------
[error]    |Inline stack trace
[error]    |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[error]    |This location contains code that was inlined from SpecVersionSpecific.scala:12
[error] 12 |    ${SpecLayerMacros.provideImpl[Any, R, E1]('self, 'layer)}
[error]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[error]     ----------------------------------------------------------------------------
[error] -- Error: /home/runner/work/zio/zio/core-tests/shared/src/test/scala/zio/TagCorrectnessSpec.scala:13:18 
[error] 11 |        ZIO
[error] 12 |          .serviceWithZIO[Ref[Int]](_.get)
[error] 13 |          .provide(ZLayer(Ref.make(10)))
[error]    |        ^
[error]    |Malformed tree was found while expanding macro with -Xcheck-macros.
[error]    |               |The tree does not conform to the compiler's tree invariants.
[error]    |               |
[error]    |               |Macro was:
[error]    |               |scala.quoted.runtime.Expr.splice[zio.ZIO[scala.Any, scala.Nothing, scala.Int]](((evidence$1: scala.quoted.Quotes) ?=> zio.internal.macros.LayerMacros.provideImpl[scala.Any, zio.Ref[scala.Int], scala.Nothing, scala.Int](scala.quoted.runtime.Expr.quote[zio.ZIO[zio.Ref[scala.Int], scala.Nothing, scala.Int] & zio.ZIOVersionSpecific[zio.Ref[scala.Int], scala.Nothing, scala.Int]](ZIOVersionSpecific_this).apply(using evidence$1), scala.quoted.runtime.Expr.quote[scala.collection.immutable.Seq[zio.ZLayer[_ >: scala.Nothing <: scala.Any, scala.Nothing, _ >: scala.Nothing <: scala.Any]]](zio.ZLayer.apply[scala.Any, scala.Nothing, zio.Ref[scala.Int]](zio.Ref.make[scala.Int](10)(("zio.TagCorrectnessSpec.spec(TagCorrectnessSpec.scala:13)": zio.internal.stacktracer.Tracer.instance.Type)))({
[error]    |  val tag0: izumi.reflect.Tag[zio.Ref[scala.Int]] = zio.EnvironmentTag.apply[zio.Ref[scala.Int]]((izumi.reflect.Tag.apply[zio.Ref[scala.Int]](classOf[zio.Ref], (izumi.reflect.macrortti.LightTypeTag.parse[scala.Any](-521015574, "\u0001\u0001\u0001\u0007zio.Ref\u0001\u0000\u0004\u0000\u0001\tscala.Int\u0001\u0001\u0000\u0001", "\u0000\u0002\u0001\u0001\u0001\u0007zio.Ref\u0001\u0000\u0004\u0000\u0001\tscala.Int\u0001\u0001\u0000\u0001\u0001\u0004\u0000\u0001\u0014java.io.Serializable\u0001\u0001\u0004\u0000\u0001\u0090\u0003\u0001\u0001\u0001\u0004\u0000\u0001\fscala.AnyVal\u0001\u0001\u0002\u0000\u0001\u0090\u0003\u0001\u0001\u0001\u0000\u0001\u0090\u0005\u0001\u0001\u0000\u0001\u0090\u0002\u0001\u0001\u0001\u0000\u0001\u0090\u0004\u0001\u0001", 30): izumi.reflect.macrortti.LightTypeTag)): izumi.reflect.Tag[zio.Ref[scala.Int]]))
[error]    |  final class $anon() extends zio.Tag[zio.Ref[scala.Int]] {
[error]    |    def tag: zio.LightTypeTag = tag0.tag
[error]    |    def closestClass: scala.Predef.Class[_ >: scala.Nothing <: scala.Any] = tag0.closestClass
[error]    |  }
[error]    |
[error]    |  (new $anon(): zio.Tag[zio.Ref[scala.Int]])
[error]    |}, ("zio.TagCorrectnessSpec.spec(TagCorrectnessSpec.scala:13)": zio.internal.stacktracer.Tracer.instance.Type))).apply(using evidence$1))(scala.quoted.Type.of[scala.Any](evidence$1), scala.quoted.Type.of[zio.Ref[scala.Int]](evidence$1), scala.quoted.Type.of[scala.Nothing](evidence$1), scala.quoted.Type.of[scala.Int](evidence$1), evidence$1)))
[error]    |               |
[error]    |               |The macro returned:
[error]    |               |ZIOVersionSpecific_this.provideLayer[scala.Nothing, scala.Any]({
[error]    |  val x: zio.ZLayer[scala.Any, scala.Nothing, zio.Ref[scala.Int]] = zio.ZLayer.apply[scala.Any, scala.Nothing, zio.Ref[scala.Int]](zio.Ref.make[scala.Int](10)(("zio.TagCorrectnessSpec.spec(TagCorrectnessSpec.scala:13)": zio.internal.stacktracer.Tracer.instance.Type)))({
[error]    |    val tag0: izumi.reflect.Tag[zio.Ref[scala.Int]] = zio.EnvironmentTag.apply[zio.Ref[scala.Int]]((izumi.reflect.Tag.apply[zio.Ref[scala.Int]](classOf[zio.Ref], (izumi.reflect.macrortti.LightTypeTag.parse[scala.Any](-521015574, "\u0001\u0001\u0001\u0007zio.Ref\u0001\u0000\u0004\u0000\u0001\tscala.Int\u0001\u0001\u0000\u0001", "\u0000\u0002\u0001\u0001\u0001\u0007zio.Ref\u0001\u0000\u0004\u0000\u0001\tscala.Int\u0001\u0001\u0000\u0001\u0001\u0004\u0000\u0001\u0014java.io.Serializable\u0001\u0001\u0004\u0000\u0001\u0090\u0003\u0001\u0001\u0001\u0004\u0000\u0001\fscala.AnyVal\u0001\u0001\u0002\u0000\u0001\u0090\u0003\u0001\u0001\u0001\u0000\u0001\u0090\u0005\u0001\u0001\u0000\u0001\u0090\u0002\u0001\u0001\u0001\u0000\u0001\u0090\u0004\u0001\u0001", 30): izumi.reflect.macrortti.LightTypeTag)): izumi.reflect.Tag[zio.Ref[scala.Int]]))
[error]    |    final class $anon() extends zio.Tag[zio.Ref[scala.Int]] {
[error]    |      def tag: zio.LightTypeTag = tag0.tag
[error]    |      def closestClass: scala.Predef.Class[_ >: scala.Nothing <: scala.Any] = tag0.closestClass
[error]    |    }
[error]    |
[error]    |    (new $anon(): zio.Tag[zio.Ref[scala.Int]])
[error]    |  }, ("zio.TagCorrectnessSpec.spec(TagCorrectnessSpec.scala:13)": zio.internal.stacktracer.Tracer.instance.Type))
[error]    |  x
[error]    |})(zio.internal.stacktracer.Tracer.autoTrace)
[error]    |               |
[error]    |               |Error:
[error]    |               |assertion failed: Found:    ("zio.TagCorrectnessSpec.spec(TagCorrectnessSpec.scala:13)" : String)
[error]    |Required: zio.internal.stacktracer.Tracer.instance.Type
[error]    |found: ??
[error]    |expected: type Type in trait Tracer with type Type, flags = <deferred> <touched>, underlying = zio.internal.stacktracer.Tracer.instance.Type,  <: AnyRef, AnyRef,  = Object, Object, Any with Matchable {...}
[error]    |tree = "zio.TagCorrectnessSpec.spec(TagCorrectnessSpec.scala:13)"
[error]    |               |
[error]    |               |
[error]    |----------------------------------------------------------------------------
[error]    |Inline stack trace
[error]    |- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
[error]    |This location contains code that was inlined from ZIOVersionSpecific.scala:27
[error] 27 |    ${LayerMacros.provideImpl[Any,R,E1, A]('self, 'layer)}
[error]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[error]
@adamgfraser adamgfraser added itype:bug stat:needs triage Every issue needs to have an "area" and "itype" label labels Jun 1, 2023
@TheElectronWill TheElectronWill added the area:metaprogramming:quotes Issues related to quotes and splices label Jun 1, 2023
@jchyb jchyb added the stat:needs minimization Needs a self contained minimization label Jun 2, 2023
@dwijnand dwijnand changed the title Potential Regressions In Scala 3 Potential regressions in quotes Jun 2, 2023
@dwijnand dwijnand removed the stat:needs triage Every issue needs to have an "area" and "itype" label label Jun 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area:metaprogramming:quotes Issues related to quotes and splices itype:bug stat:needs minimization Needs a self contained minimization
Projects
None yet
Development

No branches or pull requests

4 participants