31 Commits

Author SHA1 Message Date
Geoffroy Couprie
2cec1b3e4c v8.0.0 (#1797) 2025-01-26 17:02:42 +01:00
DavidKorczynski
c3291b1eef ci: add CIFuzz GitHub action (#1574) 2024-05-05 18:11:49 +02:00
Geoffroy Couprie
4262fd81b8 exclude benchmarks from code coverage (#1745)
* exclude benchmarks from code coverage

* fix

* test codecov
2024-05-05 13:53:30 +02:00
Arthur Pastel
f1cb334d34 fix cargo-codspeed in with workspaces in CI (#1741) 2024-04-25 13:32:53 +02:00
Geoffroy Couprie
90af84b234 codspeed integration (#1738) 2024-04-21 19:27:51 +02:00
Geoffroy Couprie
90d78d65a1 Add an OutputMode type parameter to drive parser results (#1631)
* add initial traits for GAT integration

The Mode trait will be used to adapt the production of output or error
values depending on the call site. If we do not care about the actual
value or error, and just want to know if a parser was succssful or not,
then the Mode trait allows us to signal it without producng the actual
type.

in Err, the Error and Failure variants get different types, because
usually want to get the failure variant, while the error variant might
change independently.

The OutputMode trait also carries information about the streaming or
complete status, and in the same way define which type of parser we
want, directly at the call site

* convert the Parser trait

a new `process` method is used to handle the new OutputMode trait.
The `OutputM` supporting structure is used to carry which modes we want
to use, and depending on the case, we can call an inner parser using
directly the mode we're in (example: Map), or we can convert it to Emit
for Output (ex: MapRes because we have to apply the mapping function on
the parser output and check for errors).

We keep the `parse` method with `Emit` for both output and error, which
allows us to convert combinators gradually: the ones using `parse` will
work but won't benefit directly from these traits also parent and child
combinators in a serie of parsers may support it

* various optimizations

it turns out that rustc is generating separate functions for each
process() implementation, which tends to slow things down

* raise minimal version to 1.65
2023-06-10 23:16:09 +02:00
Alex Touchet
5a39314a59 Update links (#1648) 2023-03-14 21:46:21 +01:00
Geoffroy Couprie
f08b5e2bc5 switch to edition 2021 and raise MSRV to 1.56.0 (#1607)
* switch to edition 2021 and raise MSRV to 1.56.0

1.56 supports the rust-version option in Cargo.toml
2023-01-02 12:27:41 +01:00
C. K. Young
be57ddb966 Fix clippy warnings for lib, examples, and tests. 2023-01-01 23:46:31 +01:00
Geoffroy Couprie
f16efaf5fb add a CODEOWNERS file 2022-12-28 21:50:55 +01:00
pxeger
2c82abdfd3 update links in PULL_REQUEST_TEMPLATE.md (master -> main) 2022-03-14 22:12:15 +01:00
Ed Page
074fd29705 Fail CI on bad intradoc links
I'm looking at extending the docs and want to make sure I don't
introduce a bad link.

It looks like
- CI won't fail on bad intradoc links
- We can't get it to with the `cargo` action

So dropping down to the shell to make sure bad links error, instead of
warn.
2021-10-23 22:22:52 +02:00
Guillaume
0d373222b9 CI: Update tarpaulin and use Coveralls' action 2021-10-23 09:39:37 +02:00
Constantin Nickel
b5735d2e8b ci: tune build jobs with caching and disable incremental compilation 2021-10-10 22:05:09 +02:00
Geoffroy Couprie
195d398520 update github actions 2021-08-21 12:17:41 +02:00
Geoffroy Couprie
baf5e015b9 replace lexical-core with minimal-lexical
minimal-lexical is a smaller library (compile faster), has no
dependencies, and is faster than lexical-core 0.7 (0.8 will have the
same algorithm).

It requires a separate tokenization phase, done manually, but this will
give more flexibility in supporting different syntaxes

This commit removes the "lexical" feature, as there is no need now
tosupport a separate version without the crate
2021-08-18 00:05:47 +02:00
Geoffroy Couprie
ef5e0bbc9b raise MSRV to 1.46
bitflags in lexical will not compile below 1.46
2021-08-13 14:47:03 +02:00
Geoffroy Couprie
43c62fd0be compile on 1.41.1 without lexical
lexical is now integrating a version of bitflags that is incompatible
with Rust 1.41.1
2021-08-13 12:57:17 +02:00
Constantin Nickel
ebab6ca7f0 ci: build docs with docsrs feature 2021-08-13 11:03:55 +02:00
Geoffroy Couprie
214f623a9f do not run the tests on MSRV
criterion 0.3.5 does not build on Rust 1.41.1 and dev-dependencies
cannot be made optional
2021-08-05 18:54:17 +02:00
Geoffroy Couprie
11cf286290 remove regexp feature from CI builds 2021-07-25 19:13:36 +02:00
Geoffroy Couprie
eb4c4b8497 raise the memchr version
breaking change: this raises the MSRV to Rust 1.41.1
2021-06-24 16:17:07 +02:00
Guillaume
2754c464f1 coverage: fix issue with skip and tarpaulin 2021-06-23 22:21:20 +02:00
Geoffroy Couprie
04f0974b4f Revert "workaround for tarpaulin failures caused by nom and bitvec"
This reverts commit 0ade67d426.
2021-06-19 15:57:26 +02:00
Geoffroy Couprie
0ade67d426 workaround for tarpaulin failures caused by nom and bitvec 2021-06-19 15:50:30 +02:00
Geoffroy Couprie
38bb94e7bc wrong level for the env map 2021-04-14 10:58:13 +02:00
Geoffroy Couprie
8643b4230b send coverage to coveralls 2021-04-14 10:46:15 +02:00
Constantin Nickel
90100d9317 Add GitHub Actions workflow for CI 2020-10-31 15:28:27 +01:00
Hanif Ariffin
da6d9a1368 Update PR template to be a comment.
Removes the need to delete them.
2020-10-26 10:47:57 +01:00
Bruce Mitchener
da2ba9a70c Fix typos. 2019-06-28 13:27:50 +02:00
Geoffroy Couprie
d63f958831 add issue and PR templates 2018-02-25 18:09:01 +01:00