summaryrefslogtreecommitdiff
path: root/test/files/run/macro-def-path-dependent/Test_1.scala
blob: 06c15e16c9ea9c8f0e4fd6356760e4c813913afd (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package test1

import scala.reflect.macros.{Context => Ctx}

trait Exprs {
  self: Universe =>

  class Expr[T]
}

trait Reifiers {
  self: Universe =>

  type Expr[T]

  def reify[T](expr: T) = macro Impls.reify[T]
}

trait Universe extends Exprs with Reifiers

object Impls {
  def reify[T](cc: Ctx{ type PrefixType = Reifiers })(expr: cc.Expr[T]): cc.Expr[cc.prefix.value.Expr[T]] = ???
}