You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Aug 22, 2024. It is now read-only.
It's somehow refining (old(param_1): F64).StdIntrinsicsLog2f64() (which corresponds to value.log2()) into (&(param_2)).StdIntrinsicsLog2f64() (which probably corresponds to log2.log2()), and this doesn't seem right...
Issue
MIRAI panics when
std::f64::<impl f64>::log2
is met.I encountered this issue while analyzing Artichoke, more specifically its spinoso-math module.
However, it can be reproduced by the following simple code:
I suspect this is due to the fact that log functions are wrapped (https://github.com/rust-lang/rust/blob/10a98e8bff0b1335e7f0f1ea0453ee0765ae96fe/library/std/src/sys/mod.rs#L95):
because MIRAI tries to run a log function on the function itself, believing that it is a type error.
Steps to Reproduce
Create a new project with
main.rs
:and run
Expected Behavior
Analyze it without panicking.
Actual Results
It panics:
Environment
OS: macOS Sonoma 14.0
CPU: Apple M1 Pro
Rust version (rustc 1.74.0-nightly (8ed4537d7 2023-09-09))
MIRAI: a94a8c7 (the most recent version)
The MWE can be as simple as
The text was updated successfully, but these errors were encountered: