Untitled

Run Settings
LanguageNim
Language Version
Run Command
{.experimental.} type K = enum ka,kb type A = object case kind: K of ka: innerAdata:int of kb: innerBdata:string proc a():A = A(kind:ka) var an = a() proc `.=`[T](m:var A, field:string, val:T) = echo "Dot operator assignment overload called!", field if field == "adata": if m.kind != ka: m.reset m.kind = ka m.innerAdata = val #elif bdata ... proc `.`(m:var A, field:string):int = echo "Dot operator access overload called!", field if field == "adata": result = m.innerAdata an.adata = 5 echo an.kind, an.adata an.adata = 6 echo an.kind, an.adata #an.bdata = "hello" #echo an.kind, an.bdata
Editor Settings
Theme
Key bindings
Full width
Lines