This code works:

///////////////
proc q[T] (x:T) { println x; }
q 33;
var g = q[int];
g 44;
////////////////

But this code doesn't:

///////////////////
proc p[T] (x:T) { println x; }
p 33;
var g = p[int];
g 44;
///////////////////

/Users/johnskaller/.felix/cache/text/Users/johnskaller/felix/./absug.rtti:9:1: 
fatal error: expected expression
FLX_FINALISER(p)
^
build/release/lib/rtl/flx_compiler_support_bodies.hpp:89:7: note: expanded from 
macro 'FLX_FINALISER'
  ((x*)p)->~x();\
      ^

Here's the macro:

#define FLX_FINALISER(x) \
static void x##_finaliser(::flx::gc::generic::collector_t *, void *p){\
  ((x*)p)->~x();\
}

:-)

--
john skaller
skal...@users.sourceforge.net
http://felix-lang.org




------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Felix-language mailing list
Felix-language@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/felix-language

Reply via email to