Age | Commit message (Collapse) | Author |
|
This patch adds the (failing) test from #114 to validate that this issue
still exists on the latest version of the crate.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
Add AsyncSource with tests, docs and examples
|
|
With this simplification, we save a bit of code on one side, but also
showcase that errors from custom AsyncSource implementations are
possible because the ConfigError type provides a variant for it.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Tested-by: Matthias Beyer <mail@beyermatthias.de>
|
|
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
Because one of our dependencies (namingly `socket2`) uses match in a
const fn, which is stabilized in rust 1.46.0, we bump to this version as
MSRV for this crate.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Tested-by: Matthias Beyer <mail@beyermatthias.de>
|
|
This is required because the examples pull in the "reqwest" crate, which
depends on "socket2" and this crate fails to build if the "const fn"
feature is not present (which wasn't on 1.44.0).
Hence, we only run the tests in the 1.44.0 job, but do not compile the
examples.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Reviewed-by: Matthias Beyer <mail@beyermatthias.de>
|
|
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Reviewed-by: Matthias Beyer <mail@beyermatthias.de>
|
|
This patch rewrites the Config building mechanism using special objects
for tracking the config building state.
Transitions between states are done on the fly as required.
This is required so that the async sources can be stored inside the
configuration building objects, while keeping out the expenses in the
non-async case, so a user of the crate has only to pay for what they are
using (no async means no overhead for that).
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Reviewed-by: Matthias Beyer <mail@beyermatthias.de>
|
|
This patch adds the AsyncSource trait, the interface for providing async
source functionality for this crate.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Reviewed-by: Matthias Beyer <mail@beyermatthias.de>
|
|
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
refactor(env): optimize and reduce allocations
|
|
|
|
MSRV on CI
|
|
Because the old Rust version in the CI fails with this comma in the
macro call, we remove it here.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
On nightly, ignore errors
|
|
Because of a (transitive) dependency (bitvec 0.19.x) that needs at least
1.44.0, we also depend on that version as the MSRV.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
This change makes CI run with rust 1.40.0 as minimum supported Rust
version for the crate.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
This changes the CI setup so that failures on nightly do not break the
CI jobs. This way we can see that nightly changes things but our build
doesn't break immediately.
Because we do not depend on nightly features, I guess this is a good
idea.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
Fix clippy: Do not borrow reference
|
|
Reported from nightly clippy, this borrowing of a reference is
uneccessary.
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
ValueKind is now public to users of the crate
|
|
|
|
Json5 support
|
|
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
|
|
|
|
Create the ConfigBuilder
|
|
|
|
|
|
|
|
|
|
Adds 'try_parsing' option for Environment
|
|
Update dependencies
|
|
|
|
|
|
|
|
Update to rust 2018 edition
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|