Помимо аспекта наследования, есть ли разница между следующими шаблонами классов:
1| trait TraitA extends TraitB
2| trait TraitA { self: TraitB => }
Я хотел бы разделить обязанности между TraitA и TraitB, но первый не может работать без второго.
Как бы вы выразили это намерение? Для меня решение [2] было бы более естественным подходом. Однако я не хочу возлагать бремя на разработчиков, смешивающих то, что нужно смешать в любом случае.