Спасибо за поддержку такого замечательного языка! И спасибо его создателям!
Я ошибку нашёл в коде: https://tour.dlang.org/tour/ru/basics/interfaces
auto dog = new Animal; // "создание" экземпляра интерфейса Animal animal = dog; dog.makeNoise();
Причём в на английской версии тоже неправильно: https://tour.dlang.org/tour/en/basics/interfaces
auto dog = new Dog; Animal animal = dog; dog.makeNoise(); // про интерфейс забыли
А надо так:
auto dog = new Dog; Animal animal = dog; // неявное преобразование к интерфейсу animal.makeNoise();