The below works fine in 0.3 but I get ERROR: error compiling anonymous: type definition not allowed inside a local scope
In 0.4. How am I suppose to define types inside a Macro? As far as I can tell, the esc() should cause everything to run in the current scope which isn't local. macro calculus_operator(Op,AbstOp,WrappOp) return esc(quote abstract $AbstOp{T} <: BandedOperator{T} immutable $Op{S<:FunctionSpace,T<:Number} <: $AbstOp{T} space::S # the domain space order::Int end immutable $WrappOp{S<:BandedOperator} <: $AbstOp{Float64} op::S order::Int end ## More code end) end @calculus_operator(Derivative,AbstractDerivative,DerivativeWrapper)