------- Comment #3 from pinskia at gcc dot gnu dot org 2006-07-12 17:09 ------- To better explain: test::MonitorHandle references a class in an anonymous namespace which causes that class to be different in each TU. Since ODR rules say the class needs to be the same across TUs so we declare test::MonitorHandle also a local class.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28360