Обобщенный аргумент в цитате
От: _NN_  
Дата: 16.09.13 07:34
Оценка:
Почему нельзя пользоваться usesite в данном примере ?
А если поставить dyn, то все работает.

using Nemerle;
using Nemerle.Compiler;
using Nemerle.Compiler.Parsetree;
using Nemerle.Compiler.Typedtree;
using Nemerle.Macros;

using System;

namespace MacroLibrary1
{
  [MacroUsage(MacroPhase.BeforeInheritance, MacroTargets.Assembly)]
  macro Macro2()
  {
    Macro2Impl.DoTransform(Macros.ImplicitCTX())
  }
  
  module Macro2Impl
  {
    public DoTransform(typer : Typer) : void
    {
      Macros.DefineCTX(typer);
     
      def a = <[ A[$("T" : usesite)] ]>; // dyn работает
      
      def x = typer.Env.Define(<[
         decl: public class A[T] { a : $a; } ]>); //  error : unbound type name `T'
      x.Compile();
    }
  }
}
http://rsdn.nemerleweb.com
http://nemerleweb.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.