Читаю несколько книжек по Scala и там введены новые сущности — трейты (traits) и "новый тип наследования" — линеаризация.
Но что-то не очень понимаю все это.
А кто нибудь может объяснить на пальцах, в частности как оно устроено на низком уровне, ну и вообще.
С обычным наследованием все вполне понятно, и в общем можно сказать что это достаточно низкоуровневый механизм (если там нет виртуальности) — базовый класс просто включается в производный как его часть. А как устроены трейты?