]> git.lizzy.rs Git - rust.git/commitdiff
Rollup merge of #82676 - dtolnay:powers, r=Mark-Simulacrum
authorGuillaume Gomez <guillaume1.gomez@gmail.com>
Mon, 1 Mar 2021 23:50:11 +0000 (00:50 +0100)
committerGitHub <noreply@github.com>
Mon, 1 Mar 2021 23:50:11 +0000 (00:50 +0100)
Change twice used large const table to static

This table is used twice in core::num::dec2flt::algorithm::power_of_ten. According to the semantics of const, a separate huge definition of the table is inlined at both places.

https://github.com/rust-lang/rust/blob/5233edcf1c7ee70ac25e4ec1115c3546f53d8a2d/library/core/src/num/dec2flt/algorithm.rs#L16-L22

Theoretically this gets cleaned up by optimization passes, but in practice I am experiencing a miscompile from LTO on this code. Making the table a static, which would only be defined a single time and not require attention from LTO, eliminates the miscompile and seems semantically more appropriate anyway. A separate bug report on the LTO bug is forthcoming.

Original addition of `const` is from #27307.


Trivial merge