Cargo Features

[dependencies]
yaxpeax-x86 = { version = "2.0.0", default-features = false, features = ["std", "alloc", "fmt", "use-serde", "colors", "capstone_bench", "profiling", "serde_json"] }
default = colors, fmt, std, use-serde

These default features are set whenever yaxpeax-x86 is added without default-features = false somewhere in the dependency tree.

std default = alloc

opt-in for some apis that are really much nicer with String

Enables std of yaxpeax-arch

alloc std

opt-in for some formatting-related helpers that require performing allocation

this should only be useful with fmt currently, but in the future there could be other fmt-independent code gated on alloc.

Enables alloc of yaxpeax-arch

fmt default

feature for formatting instructions and their components

use-serde default = serde, serde_derive

Enables use-serde of yaxpeax-arch

yaxpeax-arch:

enables the (optional) use of Serde for bounds on
Arch and Arch::Address

colors default

Enables colors of yaxpeax-arch

yaxpeax-arch:

feature flag for the existing but misfeature'd initial support for output coloring. the module this gates will be removed in 0.4.0, which includes removing trait Colorize, and requires a major version bump for any dependency that moves forward.

capstone_bench

This enables some capstone benchmarks over the same instruction bytes used to bench this code.

profiling

this disables a lot of inlining to make it easier for me to measure likelihood of codepaths for typical instruction sequences

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features. These features may have been created by mistake, and this functionality may be removed in the future.

serde use-serde
serde_json implicit feature

Enables serde_json

serde_json:

A JSON serialization file format

serde_derive use-serde