Luca Barbato
Luca Barbato
The less than elegant solution is to rely on [flume](https://crates.io/crates/flume) or another crate supporting both sync and async at the same time. If you think it is acceptable I can...
There isn't a common trait across all the channel implementation so there isn't a way even to support alternative implementations of sync channels like flume vs crossbeam vs std or...
Storing `Fn` requires a generic and tends to be annoying in my experience though...
`Fn`/`FnMut` are traits and closures are always unique.
It is easier to write down the signature of your pseudocode I guess :) ```rust // `clo` is generic over anything implementing `FnMut` fn watch(&mut self, clo: impl FnMut(EventTy)) {...
I do not need it myself, but since it is just few minutes to implement it using flume, it could solve the use-case of keeping the same API across features.
thinlto should be even nicer. this is something that I'd leave to the packagers or user caring about it since 3x time for a ~20% size reduction is a tradeoff...
Did you check the result of thinlto? at least in some situation it seems to surpass fatlto.
Thank you, adding `opt-level = "s"` in the mix seems to lead to the most gains. this evening I'll update release-strip.
https://github.com/lu-zero/cargo-c/commit/96a0b5642740d1be5e2882ecd9aa560940cfbfed this should address most of the needs.