Я был удивлен, обнаружив, что этот код компилируется:
pure string Foo = SomePureFunction(123);
pure упоминается только в контексте функций в онлайн-документации .
pure
Что такое переменные pure и чем они отличаются от переменных immutable и const?
immutable
const
Атрибут просто не действует в этом случае.Это известная проблема в DMD, есть много других подобных случаев, когда атрибуты не отклоняются, но также не оказывают никакого влияния.