The following code : public class Instrument { class IInstrument { } } produces the following error. [t.ck]:line(25): class/type 'IInstrument' is already defined in namespace 'Instrument' The fix: ChuckScan.cpp line 1225: < ret = type_engine_scan0_class_def( env, body->section->class_def ); > ret = type_engine_scan1_class_def( env, body->section->class_def ); Rationale: The nested class has already had scan0 peformed during scan0 of the parent class. This call is made during scan1 processing, and should perform scan1 processing. Note that the other two cases in this switch perform scan1 processing, not scan0 processing. Please review the fix for correctness. I'm 98% sure it's correct. Regards, Robin Davies.