doy, Sorry for the late reply; $work just kicking my ass a bit.
> I just released circular::require to CPAN to help diagnose these kinds > of issues: > http://search.cpan.org/~doy/circular-require-0.01/lib/circular/require.pm Wow ... you cranked that out super-fast! I did take a look at it and it looks *extremely* useful, so thank you so much for taking the time. What I think I'm going to try to do is integrate it somehow into our Moose policy module (that is, we have a "Company::Moose" that we include that brings in MXD, sets up type constraints, alises a few useful methods, etc). That way, every time you use Moose at our company, you'll get this protection. > Keep in mind that not all circular dependencies like this are > necessarily bad (there are a few within Moose, for instance), but if you > notice them in your own code, and you didn't put them there > intentionally, this can be a good indicator of possible problems. Yes, that'll be the tricky bit. I've already tried to expunge the circular references in our own code though (Class::MOP::load_class is particularly awesome for this purpose, and is the main method I alias into our Company::Moose namespace), so I think it should be possible to set it up so it only turns on circular reference checking after all the main Moose stuff is loaded, and then anything after that is theoretically our problem. Thanks again for your help. -- Buddy
