LINUX.ORG.RU

История изменений

Исправление intelfx, (текущая версия) :

Наверное, какие-то приколы оптимизатора.

https://users.rust-lang.org/t/rust-arithmetic-overflow/85999/18

println раскрывается во взятие адреса, и видимо этого становится достаточно, чтобы перестать анализировать происходящее как compile-time constant expression.

Если нужно гарантировать compile-time вычисления, к твоим услугам const { ... }. В противном случае «как пойдёт» — наличие или отсутствие каких-то оптимизаций языком не гарантируется, они best-effort.

Исправление intelfx, :

Наверное, какие-то приколы оптимизатора.

https://users.rust-lang.org/t/rust-arithmetic-overflow/85999/18

println раскрывается во взятие адреса, и видимо этого становится достаточно, чтобы перестать анализировать происходящее как compile-time constant expression.

Если нужно гарантировать compile-time вычисления, к твоим услугам const { ... }. В противном случае «как пойдёт» — наличие или отсутствие каких-то оптимизаций языком не гарантируется.

Исходная версия intelfx, :

Наверное, какие-то приколы оптимизатора.

https://users.rust-lang.org/t/rust-arithmetic-overflow/85999/18

println раскрывается во взятие адреса, и видимо этого становится достаточно, чтобы перестать анализировать происходящее как compile-time constant expression. Если нужно гарантировать compile-time вычисления, к твоим услугам const { ... }. В противном случае «как пойдёт».