Chore: Rework crate features (#139)

All dependencies have been moved to the new "dep:x" and "x?/feature" syntax to remove the bloat from the docs.rs/crates.io/lib.rs feature panes.

Accordingly, this lets us break "rustls" and "native" out from annoying hybrids like "serenity-rustls" or "twilight-native" -- specify your library and your backend, and it should just work.

The complete list of features is now: driver, gateway, serenity, twilight, rustls, native, builtin-queue, simd-json, internals (plus "default" and "full-doc").
This commit is contained in:
Kyle Simpson
2022-07-27 14:29:50 +01:00
parent 76c9851034
commit d8061d5029
8 changed files with 103 additions and 201 deletions

View File

@@ -1,7 +1,4 @@
#[cfg(all(
feature = "driver",
not(any(feature = "rustls-marker", feature = "native-marker"))
))]
#[cfg(all(feature = "driver", not(any(feature = "rustls", feature = "native"))))]
compile_error!(
"You have the `driver` feature enabled: \
either the `rustls` or `native` feature must be
@@ -12,15 +9,4 @@ compile_error!(
If you are unsure, go with `rustls`."
);
#[cfg(all(
feature = "twilight",
not(any(feature = "zlib-simd", feature = "zlib-stock"))
))]
compile_error!(
"Twilight requires you to specify a zlib backend: \
either the `zlib-simd` or `zlib-stock` feature must be
selected.\n\
If you are unsure, go with `zlib-stock`."
);
fn main() {}