>>>>> "D" == David A Black <dblack / wobblini.net> writes: D> aren't closures. I'm pretty sure that what's happening is that the D> constant references are being resolved at compile-time, so that by the time D> Y.a is run, the reference inside X.a has been permanently resolved to D> X::A. Well not really : ruby *want* that you think that the constants are resolved statically [ruby-talk:32774] "Those rules provide you the "illusion" of statically scoped constants." Guy Decoux