scope test_unstructureMissingClassToBaseClass. concept #Blu { Blu ref; } concept #Bla > Blu {} concept #Blo > Bla {} // twice derived // make sure best base class is used svoid test_unstructureMissingClassToBaseClass() { IF1 classFinder = name -> { if (eqOneOf(name, className(Bla), className(Blo))) null; ret (Class) callF(_defaultClassFinder(), name); }; for (Class c : ll(Bla, Blo)) { new structure_Data data; data.storeBaseClasses = true; Bla b = unlisted(c); b.ref = b; S struct = structure(b, data); print(+struct); O o = unstructure(struct, classFinder); assertEqualsVerbose(Blu.class, _getClass(o)); assertSameVerbose(o, o/Blu.ref); } } end scope