Skip to content

Expr.summon[ValueOf[Unit]] returns None #12510

Closed
@japgolly

Description

@japgolly

Compiler version

3.0.0

Minimized code

object M {
  import scala.quoted.*

  inline def valueOfUnit: ValueOf[Unit] =
    ${ _valueOfUnit }

  def _valueOfUnit(using Quotes): Expr[ValueOf[Unit]] = {
    import quotes.reflect.*
    Expr.summon[ValueOf[Unit]] getOrElse sys.error("Not found")
  }
}
object T {
  val ok = summon[ValueOf[Unit]]
  val ko = M.valueOfUnit
}

Output

[error] 3 |  val ko = M.valueOfUnit
[error]   |           ^^^^^^^^^^^^^
[error]   |           Exception occurred while executing macro expansion.
[error]   |           java.lang.RuntimeException: Not found
[error]   |           	at scala.sys.package$.error(package.scala:27)
[error]   |           	at M$._valueOfUnit$$anonfun$1(b.scala:9)
[error]   |           	at scala.Option.getOrElse(Option.scala:201)
[error]   |           	at M$._valueOfUnit(b.scala:9)
[error]   |
[error]   | This location contains code that was inlined from a.scala:3
[error] one error found

Expectation

No error.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions