Cargo Features

[dependencies]
flate2 = { version = "1.0.35", default-features = false, features = ["any_zlib", "any_impl", "zlib", "zlib-default", "zlib-ng-compat", "zlib-ng", "zlib-rs", "cloudflare_zlib", "rust_backend", "miniz-sys"] }
default = rust_backend

The rust_backend feature is set by default whenever flate2 is added without default-features = false somewhere in the dependency tree.

any_zlib cloudflare_zlib? zlib? zlib-default? zlib-ng? zlib-rs? = any_impl

note: this is not a real user-facing feature

any_impl any_zlib? rust_backend

note: this is not a real user-facing feature

zlib zlib-ng-compat? = any_zlib, libz-sys
zlib-default = any_zlib

Enables libz-sys

zlib-ng-compat = zlib

Enables zlib-ng of libz-sys

libz-sys:

(Omit the libc feature if you don't require the corresponding functions.)

This allows higher-level crates depending on your library to opt into zlib-ng if desired.

zlib-ng = any_zlib, libz-ng-sys
zlib-rs = any_zlib, libz-rs-sys
cloudflare_zlib = any_zlib, cloudflare-zlib-sys
rust_backend default miniz-sys? = any_impl, miniz_oxide
miniz-sys = rust_backend

For backwards compatibility

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.

libz-sys zlib? zlib-default? zlib-ng-compat?
libz-ng-sys zlib-ng?
libz-rs-sys zlib-rs?

Enables libz-rs-sys

this matches the default features, but we don't want to depend on the default features staying the same

cloudflare-zlib-sys cloudflare_zlib?
miniz_oxide rust_backend