Skip to content

Commit e8ae027

Browse files
committed
Resolved issue of interpolating superclass name in caller's environment
1 parent f4981c5 commit e8ae027

File tree

1 file changed

+3
-1
lines changed

1 file changed

+3
-1
lines changed

src/Classes.jl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,7 +241,9 @@ macro class(elements...)
241241

242242
# The explicit eval forces supername to be eval'd in calling environment
243243
supername = (supername === nothing ? :Class : supername)
244-
expr = :(eval(Classes._defclass($(QuoteNode(cls)), $supername, $mutable, $wheres, $exprs)))
244+
245+
# __module__ is a "hidden" arg passed to macros with the caller's Module
246+
expr = _defclass(cls, __module__.eval(supername), mutable, wheres, exprs)
245247
return esc(expr)
246248
end
247249

0 commit comments

Comments
 (0)