| [package] | |
| description = "An experimental interpreter for Rust MIR (core driver)." | |
| license = "MIT OR Apache-2.0" | |
| name = "miri" | |
| repository = "https://github.com/rust-lang/miri" | |
| version = "0.1.0" | |
| default-run = "miri" | |
| edition = "2024" | |
| [lib] | |
| test = true # we have unit tests | |
| doctest = false # but no doc tests | |
| [[bin]] | |
| name = "miri" | |
| test = false # we have no unit tests | |
| doctest = false # and no doc tests | |
| [dependencies] | |
| getrandom = { version = "0.4", features = ["std"] } | |
| rand = "0.10" | |
| smallvec = { version = "1.7", features = ["drain_filter"] } | |
| aes = { version = "0.9", features = ["hazmat"] } | |
| measureme = "12" | |
| chrono = { version = "0.4.38", default-features = false } | |
| chrono-tz = "0.10" | |
| directories = "6" | |
| bitflags = "2.6" | |
| serde_json = { version = "1.0", optional = true } | |
| mio = { version = "1.1.1", features = ["os-poll", "net"] } | |
| [target.'cfg(unix)'.dependencies] | |
| libc = "0.2" | |
| # native-lib dependencies | |
| libffi = { version = "5.1.0", optional = true } | |
| libloading = { version = "0.9", optional = true } | |
| serde = { version = "1.0.219", features = ["derive"], optional = true } | |
| [target.'cfg(target_os = "linux")'.dependencies] | |
| nix = { version = "0.30.1", features = ["mman", "ptrace", "signal"], optional = true } | |
| ipc-channel = { version = "0.22.0", optional = true } | |
| capstone = { version = "0.14", features = ["arch_x86", "full"], default-features = false, optional = true} | |
| [target.'cfg(all(target_os = "linux", target_pointer_width = "64", target_endian = "little"))'.dependencies] | |
| genmc-sys = { path = "./genmc-sys/", version = "0.1.0", optional = true } | |
| [dev-dependencies] | |
| ui_test = "0.30.2" | |
| colored = "3" | |
| rustc_version = "0.4" | |
| regex = "1.5.5" | |
| tempfile = "3" | |
| [package.metadata.rust-analyzer] | |
| # This crate uses #[feature(rustc_private)]. | |
| # See https://github.com/rust-analyzer/rust-analyzer/pull/7891 | |
| rustc_private = true | |
| [[test]] | |
| name = "ui" | |
| harness = false | |
| [features] | |
| default = ["stack-cache", "native-lib"] | |
| genmc = ["dep:genmc-sys"] | |
| stack-cache = [] | |
| expensive-consistency-checks = ["stack-cache"] | |
| tracing = ["serde_json"] | |
| native-lib = ["dep:libffi", "dep:libloading", "dep:capstone", "dep:ipc-channel", "dep:nix", "dep:serde"] | |
| check_only = ["libffi?/check_only", "capstone?/check_only", "genmc-sys?/check_only"] | |
| [lints.rust.unexpected_cfgs] | |
| level = "warn" | |
| check-cfg = ['cfg(bootstrap)', 'cfg(target_has_reliable_f16_math)'] | |
| # Be aware that this file is inside a workspace when used via the | |
| # submodule in the rustc repo. That means there are many cargo features | |
| # we cannot use, such as profiles. |