// ĠOriginal Ġbug : ĠK T - 3 5 6 8 7 ĊĊ Ċ interface ĠCommon Ġ// ĠRemoving Ġthis Ġinterface Ġfrom ĠA / B Ġfixes Ġproblem Ċ Ċ open Ġclass ĠBase Ċ class ĠA Ġ: ĠBase (), ĠCommon Ġ{ ĊĠĠĠ Ġfun Ġon A () Ġ{} Ċ } Ċ class ĠB Ġ: ĠBase (), ĠCommon Ċ Ċ fun Ġf ( bool : ĠBoolean ) Ġ{ ĊĊĠĠĠ Ġval Ġx Ġ= Ġif Ġ( bool ) Ġ{ ĊĠĠĠĠĠĠĠ ĠA () ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠ ĠB () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġif Ġ( bool ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Ġtype Ġof Ġx Ġis Ġintersection Ġ[ Base Ġ& ĠCommon ] ĊĠĠĠĠĠĠĠ Ġ// Ġcast Ġcan Ġnever Ġsucceed ĠĊĠĠĠĠĠĠĠ Ġ( x Ġas ĠA ). on A () ĊĠĠĠ Ġ} Ċ } Ċ