Хороший язык, в котором для объявления глобальной переменной нужно подключать сторонний крейт. Игрушечный, я бы сказал.
Так!.
1. Константы такие же как и в C/C++, и никто вам не запрещал сделать также. Но вам надо безопасно инициализировать константу (исключить состояние гонок, к примеру) а Mutex просто так вы не сделаете так как Mutex также инициализировать надо:). 1.1 Вы можете использовать static mut, но это UNSAFE (гонки данных возможны), 1.2 Mutex не удобен)
2. Данные ящики не просто делают константы, они делают максимально прозрачные и удобные инициализации этих констант!! Lazy инициализирует константу при первом обращении к ней (последующие обращения делают просто доступ к данным), Once позволяет безопасно ОДИН раз инициализировать переменную ВРУЧНУЮ (кодом) (например из main fn)
2.1 Как итог, можно красиво любую runtime обработку безопасно запихнуть в константу
Не несите ерунды, лучше изучайте то что вам дали.