Guillaume E
Guillaume E
**Problem** [Tock](https://github.com/tock/tock) is an operating system written in Rust for embedded platforms (e.g. `thumbv7em-none-eabi` target). We've been trying to make builds reproducible, with good progress (https://github.com/tock/tock/issues/1666). In particular: - pinning...
For now, dependents of `lzma-rs` import all of LZMA, LZMA2 and XZ, even if they only need LZMA for example. This could lead to unnecessary dependencies if for example SHA-256...
In principle, `lzma-rs` doesn't have a long list of dependencies, and implements the core LZMA algorithm purely in Rust. Therefore, it could be made compatible with `no_std` build targets (at...
For now, the `DecoderState` and `BitTree` structs use memory allocations (in `Vec`) to store their state, despite having sizes known at compile time. This is in the most part to...
To check that the implementation is correct, there should be tests against reference libraries such as https://crates.io/crates/lzma-sys, for example: - compressing with one implementation and decompressing with the other, -...
As mentioned in https://github.com/gendx/lzma-rs/pull/22#issuecomment-595374615, there is a trade-off between memory usage and speed. I suggest adding an option to control the original size of the LZ buffer: - `DictSize` would...
Bors timed out in the last two pull-requests (#22 and #26). The `continuous-integration/travis-ci/pr` doesn't show up on the relevant commits. However, some jobs appear in [Travis build history](https://travis-ci.org/gendx/lzma-rs/builds) (`staging` branch)....
The current [dumb encoder](https://github.com/gendx/lzma-rs/blob/master/src/encode/dumbencoder.rs) only generates a sequence of byte literals to be encoded one by one. This makes it hard to unit test decoding of LZ matches (distance +...
Use various enums instead of the current `LZMAError(String)`.
Encoders for LZMA, LZMA2 and `.xz` files are quite basic for the moment. Encoders that compress well are welcome!