[nem-bug] [Nemerle 0000652]: Generic parameter names can't be used inside quoted declaration

feedback at nemerle.org feedback at nemerle.org
Mon Apr 10 08:39:13 CEST 2006


A NOTE has been added to this issue.
======================================================================
<http://nemerle.org/bugs/view.php?id=652> 
======================================================================
Reported By:                OysterDva
Assigned To:                
======================================================================
Project:                    Nemerle
Issue ID:                   652
Category:                   Compiler (parser/macros engine)
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     new
======================================================================
Date Submitted:             04-08-2006 11:49 CEST
Last Modified:              04-10-2006 08:39 CEST
======================================================================
Summary:                    Generic parameter names can't be used inside quoted
declaration
Description: 
Here is the macro which defines new generic type:

macro TestMacro()
{
  def t = Nemerle.Macros.ImplicitCTX().Env.Define(<[ decl:
    public class TestClass['a]
    {
      public this(value : 'a) {}
    }
  ]>);
  t.Compile();
  <[ TestClass() ]>
}

If I'm trying to use ths macro then compilation fails. Error message is
the following: "error : unbound type name `'a'".

Without constructor (which has parameter of type 'a - generic parameter
name) everything works like a charm.
======================================================================

----------------------------------------------------------------------
 OysterDva - 04-10-06 06:55 
----------------------------------------------------------------------
Guys, can you provide at least some workaround for this problem?

----------------------------------------------------------------------
 nazgul - 04-10-06 08:39 
----------------------------------------------------------------------
It is probably some bug in hygienic names creation - you can try to
workaround it by using $("a" : dyn) for declaration and/or uses of
parameter.

I will look into it in a few days.

Issue History
Date Modified  Username       Field                    Change              
======================================================================
04-08-06 11:49 OysterDva      New Issue                                    
04-10-06 06:55 OysterDva      Note Added: 0001183                          
04-10-06 08:39 nazgul         Note Added: 0001184                          
======================================================================




More information about the bugs mailing list