Wynika to z faktu, że w momencie pierwszego wywołania is_base_of klasa "D" nie została jeszcze zdefiniowana. W takim przypadku poprawka nie używa takich cech typu, dopóki klasa nie zostanie zdefiniowana. Jeśli przeniesiesz definicje B i D na początek pliku kodu, ...