I have the following macro defining a class and returning an instance of that class (with Scala 2.10.2 and the macro plugin):
def test[T] = macro testImpl[T]
def testImpl[T : c.WeakTypeTag](c: Context): c.Expr[Any] = {
  import c.universe._
  val className = newTypeName("Test")
  c.Expr { q"""
    class $className  {
      def method = 1
    }
    new $className
  """}
}
When I call the macro:
case class Cat(name: String)
val t = test[Cat].method
I get the following error:
method method in class Test cannot be accessed in Test
val t = test[Cat].method
                   ^
My overall goal is to use vampire methods and to use quasi-quotes to describe the generated class. How can I solve this error?