Cargo Features
wiwi has no features set by default.
[dependencies]
wiwi = { version = "0.7.0-testonly.2", features = ["all", "all-unstable", "auth-unstable", "bigint-unstable", "bitstream-unstable", "chainer-unstable", "clock-timer", "debounce", "h", "hex", "id-unstable", "iter-unstable", "lazy-wrap", "lsl-unstable", "path-unstable", "serialiser-unstable", "string-pool-unstable", "sudoku-unstable", "to-maybeuninit", "z85", "hashbrown", "image", "serde-json", "debounce-dyn-fn", "httparse", "url"] }
- all all-unstable? = clock-timer, debounce, h, hex, lazy-wrap, to-maybeuninit, z85
-
Adding new unstable feature:
- append
-unstable
to its name - document it in README (note it is unstable by putting parens after name)
- make sure to add to
all-unstable
feature - check doc cfg_attrs at top of lib.rs
- make sure to add it to "No features enabled!" thing
- also check the top of the prelude module
- make sure the
pub mod
declaration in lib.rs has the right feature attr on it pub mod
declaration should also have the docsrs cfg attr on it In total: the module addition should have 1 change in README, 2 changes in Cargo.toml, 3 changes in lib.rs, 1 change in prelude.rs, and of course the module file itself TODO: write something similar for below graduating feats out of unstable
Graduating feature out of unstable:
- remove
-unstable
from feature name below - update its entry in README
- move it from
all-unstable
toall
- rename it in cfg_attrs at top of lib.rs
- rename it in "No features enabled!" thing
- also check the top of the prelude module
- update its name in the feature gate / doc attr of its
pub mod
declaration in lib.rs - check/add/update its prelude entries
No longer necessary (but good to do anyways I guess):
- check workflow files
- check below docs.rs config
- NOTE: this is good for the docs deploy workflow
It would be good to occasionally check the dependencies too, update them, remove ones that aren't part of any feature anymore, etc
- append
- all-unstable = all, auth-unstable, bigint-unstable, bitstream-unstable, chainer-unstable, id-unstable, iter-unstable, lsl-unstable, path-unstable, serialiser-unstable, string-pool-unstable, sudoku-unstable
- auth-unstable all-unstable? = z85
-
Enables argon2, chacha20poly1305, chrono, p384, rand, thiserror, and zeroize
Affects
wiwi::auth
… - bigint-unstable all-unstable?
-
Affects
wiwi::bigint
… - bitstream-unstable all-unstable?
-
base16 = [
"dep:thiserror",
"hex"
]
base32 = [
"dep:thiserror"
]
base64 = [
"dep:thiserror"
]Affects
wiwi::bitstream
… - chainer-unstable all-unstable? sudoku-unstable? = iter-unstable, to-maybeuninit
-
Affects
wiwi::chainer
… - clock-timer all?
-
Affects
wiwi::clock_timer
… - debounce all?
-
Affects
wiwi::debounce
… - h all?
-
Enables thiserror
Affects
wiwi::h
… - hex all? lsl-unstable?
-
Enables thiserror
Affects
wiwi::hex
… - id-unstable all-unstable? lsl-unstable?
-
Enables rand
Affects
wiwi::id
… - iter-unstable all-unstable? chainer-unstable? sudoku-unstable?
-
Affects
wiwi::iter
… - lazy-wrap all? string-pool-unstable?
-
Enables parking_lot
Affects
wiwi::lazy_wrap
… - lsl-unstable all-unstable? = hex, id-unstable
-
Enables hashbrown, spin_sleep, and uuid
Affects
wiwi::lsl
… - path-unstable all-unstable?
-
Affects
wiwi::path
… - serialiser-unstable all-unstable?
-
Enables ordered-float
Affects
wiwi::serialiser
… - string-pool-unstable all-unstable? = lazy-wrap
-
Enables hashbrown
Affects
wiwi::string_pool
… - sudoku-unstable all-unstable? = chainer-unstable, iter-unstable
-
Affects
wiwi::sudoku
… - to-maybeuninit all? chainer-unstable?
-
Affects
wiwi::to_maybeuninit
… - z85 all? auth-unstable?
-
ws = [
"dep:httparse",
"dep:thiserror",
"dep:url"
]Enables thiserror
Affects
wiwi::z85
… - hashbrown
-
addon features
Enables hashbrown
- image
-
Enables image
- serde-json
-
Enables serde_json
- debounce-dyn-fn
-
config options for certain features
compiler errors if the feature its for isn't enabled