From dd226b84f42ad44b73685b29b3a66c09b7d5de00 Mon Sep 17 00:00:00 2001 From: V0ldek Date: Wed, 4 Oct 2023 19:09:26 +0100 Subject: [PATCH] release v0.8.3 --- .github/ISSUE_TEMPLATE/bug_report.yml | 3 +- CHANGELOG.md | 22 ++++++ Cargo.lock | 72 +++++++++---------- README.md | 66 ++++++++--------- book/src/user/installation.md | 2 +- book/src/user/installation/manual.md | 2 +- crates/rsonpath-benchmarks | 2 +- crates/rsonpath-lib/Cargo.toml | 2 +- crates/rsonpath-lib/README.md | 6 +- .../rsonpath-lib/src/classification/memmem.rs | 8 +-- .../src/classification/memmem/avx2_32.rs | 8 +-- .../src/classification/memmem/avx2_64.rs | 8 +-- .../src/classification/memmem/nosimd.rs | 8 +-- .../src/classification/memmem/sse2_32.rs | 8 +-- .../src/classification/memmem/sse2_64.rs | 8 +-- .../rsonpath-lib/src/classification/simd.rs | 16 ++--- crates/rsonpath-lib/src/lib.rs | 1 + crates/rsonpath-test-codegen/Cargo.lock | 2 +- crates/rsonpath-test-codegen/Cargo.toml | 2 +- crates/rsonpath-test/Cargo.toml | 4 +- crates/rsonpath/Cargo.toml | 4 +- fuzz/Cargo.lock | 6 +- img/rsonquery-full-logo.svg | 3 + img/rsonquery-logo.svg | 3 + 24 files changed, 148 insertions(+), 118 deletions(-) create mode 100644 img/rsonquery-full-logo.svg create mode 100644 img/rsonquery-logo.svg diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index 92bc9b6a..28eeca92 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -71,7 +71,8 @@ body: attributes: label: Version of the release options: - # + # + - v0.8.3 - v0.8.2 - v0.8.1 - v0.8.0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 2db71808..57df1447 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,28 @@ All notable changes to this project will be documented in this file. +## [0.8.3] - 2023-10-04 + +### Bug Fixes + +- Missing openings from node results. ([#297](https://github.com/V0ldek/rsonpath/issues/297)) + - Fixed an issue where the opening + characters of matched nodes would not be + included in the result when head-skipping + and the opening happened on a block boundary. + +- Lib MSRV. + - In v0.8.0 we inadvertently broke the MSRV, + and the project only built with 1.71.1 + It was restored to 1.70.0 for the binary + and 1.67.1 for the lib. + +### Dependencies + +- Bump clap from 4.4.4 to 4.4.6. +- Bump memmap2 from 0.7.1 to 0.9.0. +- Bump thiserror from 1.0.48 to 1.0.49. + ## [0.8.2] - 2023-09-23 ### Performance diff --git a/Cargo.lock b/Cargo.lock index 38653da1..b475b0c2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -19,9 +19,9 @@ checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe" [[package]] name = "anstream" -version = "0.6.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff2cf94a3dbe2d57cbd56485e1bd7436455058034d6c2d47be51d4e5e4bc6ab" +checksum = "2ab91ebe16eb252986481c5b62f6098f3b698a45e34b5b98200cf20dd2484a44" dependencies = [ "anstyle", "anstyle-parse", @@ -33,15 +33,15 @@ dependencies = [ [[package]] name = "anstyle" -version = "1.0.3" +version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b84bf0a05bbb2a83e5eb6fa36bb6e87baa08193c35ff52bbf6b38d8af2890e46" +checksum = "7079075b41f533b8c61d2a4d073c4676e1f8b249ff94a393b0595db304e0dd87" [[package]] name = "anstyle-parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "938874ff5980b03a87c5524b3ae5b59cf99b1d6bc836848df7bc5ada9643c333" +checksum = "317b9a89c1868f5ea6ff1d9539a69f45dffc21ce321ac1fd1160dfa48c8e2140" dependencies = [ "utf8parse", ] @@ -57,9 +57,9 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "3.0.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0238ca56c96dfa37bdf7c373c8886dd591322500aceeeccdb2216fe06dc2f796" +checksum = "f0699d10d2f4d628a98ee7b57b289abbc98ff3bad977cb3152709d4bf2330628" dependencies = [ "anstyle", "windows-sys 0.48.0", @@ -310,9 +310,9 @@ checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" [[package]] name = "errno" -version = "0.3.3" +version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "136526188508e25c6fef639d7927dfb3e0e3084488bf202267829cf7fc23dbdd" +checksum = "add4f07d43996f76ef320709726a556a9d4f965d9410d8d0271132d2f8293480" dependencies = [ "errno-dragonfly", "libc", @@ -341,9 +341,9 @@ dependencies = [ [[package]] name = "fastrand" -version = "2.0.0" +version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6999dc1837253364c2ebb0704ba97994bd874e8f195d665c50b7548f6ea92764" +checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5" [[package]] name = "filetime" @@ -399,9 +399,9 @@ checksum = "d2fabcfbdc87f4758337ca535fb41a6d701b65693ce38287d856d1674551ec9b" [[package]] name = "hashbrown" -version = "0.14.0" +version = "0.14.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c6201b9ff9fd90a5a3bac2e56a830d0caa509576f0e503818ee82c181b3437a" +checksum = "7dfda62a12f55daeae5015f81b0baea145391cb4520f86c248fc615d72640d12" [[package]] name = "heck" @@ -442,9 +442,9 @@ checksum = "ce23b50ad8242c51a442f3ff322d56b02f08852c77e4c0b4d3fd684abc89c683" [[package]] name = "indexmap" -version = "2.0.0" +version = "2.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d5477fe2230a79769d8dc68e0eabf5437907c0457a5614a9e8dddb67f65eb65d" +checksum = "8adf3ddd720272c6ea8bf59463c04e0f93d0bbf7c5439b691bca2987e0270897" dependencies = [ "equivalent", "hashbrown", @@ -496,9 +496,9 @@ checksum = "f7012b1bbb0719e1097c47611d3898568c546d597c2e74d66f6087edd5233ff4" [[package]] name = "linux-raw-sys" -version = "0.4.7" +version = "0.4.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a9bad9f94746442c783ca431b22403b519cd7fbeed0533fdd6328b2f2212128" +checksum = "3852614a3bd9ca9804678ba6be5e3b8ce76dfc902cae004e3e0c44051b6e88db" [[package]] name = "log" @@ -514,9 +514,9 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" [[package]] name = "memchr" -version = "2.6.3" +version = "2.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" +checksum = "f665ee40bc4a3c5590afb1e9677db74a508659dfd71e126420da8274909a0167" [[package]] name = "memmap2" @@ -818,7 +818,7 @@ checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] name = "rsonpath" -version = "0.8.2" +version = "0.8.3" dependencies = [ "clap", "color-eyre", @@ -833,7 +833,7 @@ dependencies = [ [[package]] name = "rsonpath-lib" -version = "0.8.2" +version = "0.8.3" dependencies = [ "arbitrary", "cfg-if", @@ -852,7 +852,7 @@ dependencies = [ [[package]] name = "rsonpath-test" -version = "0.8.2" +version = "0.8.3" dependencies = [ "eyre", "md5", @@ -861,7 +861,7 @@ dependencies = [ [[package]] name = "rsonpath-test-codegen" -version = "0.8.2" +version = "0.8.3" dependencies = [ "heck", "proc-macro2", @@ -894,9 +894,9 @@ checksum = "e74f1ec0cda1aea3a3a6c0df066cd67acac62e24064532b871e8eafb0ec6c126" [[package]] name = "rustix" -version = "0.38.14" +version = "0.38.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "747c788e9ce8e92b12cd485c49ddf90723550b654b32508f979b71a7b1ecda4f" +checksum = "d2f9da0cbd88f9f09e7814e388301c8414c51c62aa6ce1e4b5c551d49d96e531" dependencies = [ "bitflags 2.4.0", "errno", @@ -1148,9 +1148,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.28" +version = "0.3.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" +checksum = "426f806f4089c493dcac0d24c29c01e2c38baf8e30f1b716ee37e83d200b18fe" dependencies = [ "deranged", "itoa", @@ -1163,24 +1163,24 @@ dependencies = [ [[package]] name = "time-core" -version = "0.1.1" +version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" +checksum = "ef927ca75afb808a4d64dd374f00a2adf8d0fcff8e7b184af886c3c87ec4a3f3" [[package]] name = "time-macros" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" +checksum = "4ad70d68dba9e1f8aceda7aa6711965dfec1cac869f311a51bd08b3a2ccbce20" dependencies = [ "time-core", ] [[package]] name = "toml" -version = "0.8.0" +version = "0.8.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c226a7bba6d859b63c92c4b4fe69c5b6b72d0cb897dbc8e6012298e6154cb56e" +checksum = "185d8ab0dfbb35cf1399a6344d8484209c088f75f8f68230da55d48d95d43e3d" dependencies = [ "serde", "serde_spanned", @@ -1199,9 +1199,9 @@ dependencies = [ [[package]] name = "toml_edit" -version = "0.20.0" +version = "0.20.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ff63e60a958cefbb518ae1fd6566af80d9d4be430a33f3723dfc47d1d411d95" +checksum = "396e4d48bbb2b7554c944bde63101b5ae446cff6ec4a24227428f15eb72ef338" dependencies = [ "indexmap", "serde", diff --git a/README.md b/README.md index f10b65d7..02d3f502 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# `rsonpath` – SIMD-powered JSONPath 🚀 +#
rsonpath – SIMD-powered JSONPath 🚀
[![Rust](https://github.com/V0ldek/rsonpath/actions/workflows/rust.yml/badge.svg)](https://github.com/V0ldek/rsonpath/actions/workflows/rust.yml) [![docs.rs](https://img.shields.io/docsrs/rsonpath-lib?logo=docs.rs)](https://docs.rs/crate/rsonpath-lib/latest) @@ -136,7 +136,7 @@ with `rq --version` – check the `SIMD support` field: ```console,ignore $ rq --version -rq 0.8.1 +rq 0.8.3 Commit SHA: be6abb7fc8a3a9342876d01cad2388c10f5751e3 Features: default,simd @@ -216,12 +216,12 @@ cargo tree --package rsonpath --edges normal --depth 1 ```ini -rsonpath v0.8.2 (/home/mat/rsonpath/crates/rsonpath) -├── clap v4.4.4 +rsonpath v0.8.3 (/home/mat/rsonpath/crates/rsonpath) +├── clap v4.4.6 ├── color-eyre v0.6.2 ├── eyre v0.6.8 ├── log v0.4.20 -├── rsonpath-lib v0.8.2 (/home/mat/rsonpath/crates/rsonpath-lib) +├── rsonpath-lib v0.8.3 (/home/mat/rsonpath/crates/rsonpath-lib) └── simple_logger v4.2.0 [build-dependencies] ├── rustflags v0.1.4 @@ -236,14 +236,14 @@ cargo tree --package rsonpath-lib --edges normal --depth 1 ```ini -rsonpath-lib v0.8.2 (/home/mat/rsonpath/crates/rsonpath-lib) +rsonpath-lib v0.8.3 (/home/mat/rsonpath/crates/rsonpath-lib) ├── cfg-if v1.0.0 ├── log v0.4.20 -├── memmap2 v0.7.1 +├── memmap2 v0.9.0 ├── nom v7.1.3 ├── smallvec v1.11.1 ├── static_assertions v1.1.0 -├── thiserror v1.0.48 +├── thiserror v1.0.49 └── vector-map v1.0.1 ``` @@ -269,12 +269,12 @@ cargo tree --package rsonpath --edges normal ```ini -rsonpath v0.8.2 (/home/mat/rsonpath/crates/rsonpath) -├── clap v4.4.4 -│ ├── clap_builder v4.4.4 -│ │ ├── anstream v0.5.0 -│ │ │ ├── anstyle v1.0.3 -│ │ │ ├── anstyle-parse v0.2.1 +rsonpath v0.8.3 (/home/mat/rsonpath/crates/rsonpath) +├── clap v4.4.6 +│ ├── clap_builder v4.4.6 +│ │ ├── anstream v0.6.4 +│ │ │ ├── anstyle v1.0.4 +│ │ │ ├── anstyle-parse v0.2.2 │ │ │ │ └── utf8parse v0.2.1 │ │ │ ├── anstyle-query v1.0.0 │ │ │ │ └── windows-sys v0.48.0 @@ -286,18 +286,18 @@ rsonpath v0.8.2 (/home/mat/rsonpath/crates/rsonpath) │ │ │ │ ├── windows_x86_64_gnu v0.48.0 │ │ │ │ ├── windows_x86_64_gnullvm v0.48.0 │ │ │ │ └── windows_x86_64_msvc v0.48.0 -│ │ │ ├── anstyle-wincon v2.1.0 -│ │ │ │ ├── anstyle v1.0.3 +│ │ │ ├── anstyle-wincon v3.0.1 +│ │ │ │ ├── anstyle v1.0.4 │ │ │ │ └── windows-sys v0.48.0 (*) │ │ │ ├── colorchoice v1.0.0 │ │ │ └── utf8parse v0.2.1 -│ │ ├── anstyle v1.0.3 +│ │ ├── anstyle v1.0.4 │ │ ├── clap_lex v0.5.1 │ │ ├── strsim v0.10.0 │ │ └── terminal_size v0.3.0 -│ │ ├── rustix v0.38.14 +│ │ ├── rustix v0.38.15 │ │ │ ├── bitflags v2.4.0 -│ │ │ ├── errno v0.3.3 +│ │ │ ├── errno v0.3.4 │ │ │ │ ├── errno-dragonfly v0.1.2 │ │ │ │ │ └── libc v0.2.148 │ │ │ │ │ [build-dependencies] @@ -306,7 +306,7 @@ rsonpath v0.8.2 (/home/mat/rsonpath/crates/rsonpath) │ │ │ │ ├── libc v0.2.148 │ │ │ │ └── windows-sys v0.48.0 (*) │ │ │ ├── libc v0.2.148 -│ │ │ ├── linux-raw-sys v0.4.7 +│ │ │ ├── linux-raw-sys v0.4.8 │ │ │ └── windows-sys v0.48.0 (*) │ │ └── windows-sys v0.48.0 (*) │ └── clap_derive v4.4.2 (proc-macro) @@ -328,7 +328,7 @@ rsonpath v0.8.2 (/home/mat/rsonpath/crates/rsonpath) │ │ ├── miniz_oxide v0.7.1 │ │ │ └── adler v1.0.2 │ │ ├── object v0.32.1 -│ │ │ └── memchr v2.6.3 +│ │ │ └── memchr v2.6.4 │ │ └── rustc-demangle v0.1.23 │ │ [build-dependencies] │ │ └── cc v1.0.83 (*) @@ -340,18 +340,18 @@ rsonpath v0.8.2 (/home/mat/rsonpath/crates/rsonpath) │ └── owo-colors v3.5.0 ├── eyre v0.6.8 (*) ├── log v0.4.20 -├── rsonpath-lib v0.8.2 (/home/mat/rsonpath/crates/rsonpath-lib) +├── rsonpath-lib v0.8.3 (/home/mat/rsonpath/crates/rsonpath-lib) │ ├── cfg-if v1.0.0 │ ├── log v0.4.20 -│ ├── memmap2 v0.7.1 +│ ├── memmap2 v0.9.0 │ │ └── libc v0.2.148 │ ├── nom v7.1.3 -│ │ ├── memchr v2.6.3 +│ │ ├── memchr v2.6.4 │ │ └── minimal-lexical v0.2.1 │ ├── smallvec v1.11.1 │ ├── static_assertions v1.1.0 -│ ├── thiserror v1.0.48 -│ │ └── thiserror-impl v1.0.48 (proc-macro) +│ ├── thiserror v1.0.49 +│ │ └── thiserror-impl v1.0.49 (proc-macro) │ │ ├── proc-macro2 v1.0.67 (*) │ │ ├── quote v1.0.33 (*) │ │ └── syn v2.0.37 (*) @@ -380,20 +380,20 @@ rsonpath v0.8.2 (/home/mat/rsonpath/crates/rsonpath) ├── colored v2.0.4 │ ├── is-terminal v0.4.9 │ │ ├── hermit-abi v0.3.3 - │ │ ├── rustix v0.38.14 (*) + │ │ ├── rustix v0.38.15 (*) │ │ └── windows-sys v0.48.0 (*) │ ├── lazy_static v1.4.0 │ └── windows-sys v0.48.0 (*) ├── log v0.4.20 - ├── time v0.3.28 + ├── time v0.3.29 │ ├── deranged v0.3.8 │ ├── itoa v1.0.9 │ ├── libc v0.2.148 │ ├── num_threads v0.1.6 │ │ └── libc v0.2.148 - │ ├── time-core v0.1.1 - │ └── time-macros v0.2.14 (proc-macro) - │ └── time-core v0.1.1 + │ ├── time-core v0.1.2 + │ └── time-macros v0.2.15 (proc-macro) + │ └── time-core v0.1.2 └── windows-sys v0.42.0 ├── windows_aarch64_gnullvm v0.42.2 ├── windows_aarch64_msvc v0.42.2 @@ -408,12 +408,12 @@ rsonpath v0.8.2 (/home/mat/rsonpath/crates/rsonpath) ├── anyhow v1.0.75 ├── rustc_version v0.4.0 │ └── semver v1.0.19 - └── time v0.3.28 + └── time v0.3.29 ├── deranged v0.3.8 ├── itoa v1.0.9 ├── libc v0.2.148 ├── num_threads v0.1.6 (*) - └── time-core v0.1.1 + └── time-core v0.1.2 [build-dependencies] └── rustversion v1.0.14 (proc-macro) ``` diff --git a/book/src/user/installation.md b/book/src/user/installation.md index cfae184a..d5c65fc8 100644 --- a/book/src/user/installation.md +++ b/book/src/user/installation.md @@ -35,7 +35,7 @@ To verify it works, check if `rq` is available from your command line: ```console $ rq -V -rq 0.8.2 +rq 0.8.3 ``` diff --git a/book/src/user/installation/manual.md b/book/src/user/installation/manual.md index a9f5041f..09c6a297 100644 --- a/book/src/user/installation/manual.md +++ b/book/src/user/installation/manual.md @@ -49,7 +49,7 @@ field. ```console,ignore $ rq --version -rq 0.8.1 +rq 0.8.3 Commit SHA: 05ced6146b2dcc4e474f2dbc17c2e6d0986a7181 Features: default,simd diff --git a/crates/rsonpath-benchmarks b/crates/rsonpath-benchmarks index 3ac5ea9e..9d7735b0 160000 --- a/crates/rsonpath-benchmarks +++ b/crates/rsonpath-benchmarks @@ -1 +1 @@ -Subproject commit 3ac5ea9ea87054cc7c39798aadc4ce8885e67f00 +Subproject commit 9d7735b017444e885d188d942b87443655397e8b diff --git a/crates/rsonpath-lib/Cargo.toml b/crates/rsonpath-lib/Cargo.toml index 671d2441..611f9fe2 100644 --- a/crates/rsonpath-lib/Cargo.toml +++ b/crates/rsonpath-lib/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rsonpath-lib" -version = "0.8.2" +version = "0.8.3" authors = ["Mateusz Gienieczko "] edition = "2021" description = "Blazing fast JSONPath query engine powered by SIMD. Core library of `rsonpath`." diff --git a/crates/rsonpath-lib/README.md b/crates/rsonpath-lib/README.md index 01e4933b..181e78ee 100644 --- a/crates/rsonpath-lib/README.md +++ b/crates/rsonpath-lib/README.md @@ -60,14 +60,14 @@ cargo tree --package rsonpath-lib --edges normal --depth 1 ```ini -rsonpath-lib v0.8.2 (/home/mat/rsonpath/crates/rsonpath-lib) +rsonpath-lib v0.8.3 (/home/mat/rsonpath/crates/rsonpath-lib) ├── cfg-if v1.0.0 ├── log v0.4.20 -├── memmap2 v0.7.1 +├── memmap2 v0.9.0 ├── nom v7.1.3 ├── smallvec v1.11.1 ├── static_assertions v1.1.0 -├── thiserror v1.0.48 +├── thiserror v1.0.49 └── vector-map v1.0.1 ``` diff --git a/crates/rsonpath-lib/src/classification/memmem.rs b/crates/rsonpath-lib/src/classification/memmem.rs index 8db4adce..b8e4ac98 100644 --- a/crates/rsonpath-lib/src/classification/memmem.rs +++ b/crates/rsonpath-lib/src/classification/memmem.rs @@ -42,16 +42,16 @@ pub(crate) trait MemmemImpl { type Classifier<'i, 'b, 'r, I, R>: Memmem<'i, 'b, 'r, I, BLOCK_SIZE> where I: Input + 'i, - I::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, - R: InputRecorder> + 'r, + ::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, + R: InputRecorder<::Block<'i, BLOCK_SIZE>> + 'r, 'i: 'r; fn memmem<'i, 'b, 'r, I, R>( input: &'i I, - iter: &'b mut I::BlockIterator<'i, 'r, BLOCK_SIZE, R>, + iter: &'b mut ::BlockIterator<'i, 'r, BLOCK_SIZE, R>, ) -> Self::Classifier<'i, 'b, 'r, I, R> where I: Input, - R: InputRecorder>, + R: InputRecorder<::Block<'i, BLOCK_SIZE>>, 'i: 'r; } diff --git a/crates/rsonpath-lib/src/classification/memmem/avx2_32.rs b/crates/rsonpath-lib/src/classification/memmem/avx2_32.rs index a191e700..e4609408 100644 --- a/crates/rsonpath-lib/src/classification/memmem/avx2_32.rs +++ b/crates/rsonpath-lib/src/classification/memmem/avx2_32.rs @@ -14,17 +14,17 @@ impl MemmemImpl for Constructor { type Classifier<'i, 'b, 'r, I, R> = Avx2MemmemClassifier32<'i, 'b, 'r, I, R> where I: Input + 'i, - I::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, - R: InputRecorder> + 'r, + ::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, + R: InputRecorder<::Block<'i, BLOCK_SIZE>> + 'r, 'i: 'r; fn memmem<'i, 'b, 'r, I, R>( input: &'i I, - iter: &'b mut I::BlockIterator<'i, 'r, BLOCK_SIZE, R>, + iter: &'b mut ::BlockIterator<'i, 'r, BLOCK_SIZE, R>, ) -> Self::Classifier<'i, 'b, 'r, I, R> where I: Input, - R: InputRecorder>, + R: InputRecorder<::Block<'i, BLOCK_SIZE>>, 'i: 'r, { Self::Classifier { input, iter } diff --git a/crates/rsonpath-lib/src/classification/memmem/avx2_64.rs b/crates/rsonpath-lib/src/classification/memmem/avx2_64.rs index 9a10dd7a..e64b5761 100644 --- a/crates/rsonpath-lib/src/classification/memmem/avx2_64.rs +++ b/crates/rsonpath-lib/src/classification/memmem/avx2_64.rs @@ -15,17 +15,17 @@ impl MemmemImpl for Constructor { type Classifier<'i, 'b, 'r, I, R> = Avx2MemmemClassifier64<'i, 'b, 'r, I, R> where I: Input + 'i, - I::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, - R: InputRecorder> + 'r, + ::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, + R: InputRecorder<::Block<'i, BLOCK_SIZE>> + 'r, 'i: 'r; fn memmem<'i, 'b, 'r, I, R>( input: &'i I, - iter: &'b mut I::BlockIterator<'i, 'r, BLOCK_SIZE, R>, + iter: &'b mut ::BlockIterator<'i, 'r, BLOCK_SIZE, R>, ) -> Self::Classifier<'i, 'b, 'r, I, R> where I: Input, - R: InputRecorder>, + R: InputRecorder<::Block<'i, BLOCK_SIZE>>, 'i: 'r, { Self::Classifier { input, iter } diff --git a/crates/rsonpath-lib/src/classification/memmem/nosimd.rs b/crates/rsonpath-lib/src/classification/memmem/nosimd.rs index d3753506..ca30b602 100644 --- a/crates/rsonpath-lib/src/classification/memmem/nosimd.rs +++ b/crates/rsonpath-lib/src/classification/memmem/nosimd.rs @@ -11,17 +11,17 @@ impl MemmemImpl for Constructor { type Classifier<'i, 'b, 'r, I, R> = SequentialMemmemClassifier<'i, 'b, 'r, I, R, BLOCK_SIZE> where I: Input + 'i, - I::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, - R: InputRecorder> + 'r, + ::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, + R: InputRecorder<::Block<'i, BLOCK_SIZE>> + 'r, 'i: 'r; fn memmem<'i, 'b, 'r, I, R>( input: &'i I, - iter: &'b mut I::BlockIterator<'i, 'r, BLOCK_SIZE, R>, + iter: &'b mut ::BlockIterator<'i, 'r, BLOCK_SIZE, R>, ) -> Self::Classifier<'i, 'b, 'r, I, R> where I: Input, - R: InputRecorder>, + R: InputRecorder<::Block<'i, BLOCK_SIZE>>, 'i: 'r, { Self::Classifier { input, iter } diff --git a/crates/rsonpath-lib/src/classification/memmem/sse2_32.rs b/crates/rsonpath-lib/src/classification/memmem/sse2_32.rs index 65430f8f..b45e1191 100644 --- a/crates/rsonpath-lib/src/classification/memmem/sse2_32.rs +++ b/crates/rsonpath-lib/src/classification/memmem/sse2_32.rs @@ -15,17 +15,17 @@ impl MemmemImpl for Constructor { type Classifier<'i, 'b, 'r, I, R> = Ssse3MemmemClassifier32<'i, 'b, 'r, I, R> where I: Input + 'i, - I::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, - R: InputRecorder> + 'r, + ::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, + R: InputRecorder<::Block<'i, BLOCK_SIZE>> + 'r, 'i: 'r; fn memmem<'i, 'b, 'r, I, R>( input: &'i I, - iter: &'b mut I::BlockIterator<'i, 'r, BLOCK_SIZE, R>, + iter: &'b mut ::BlockIterator<'i, 'r, BLOCK_SIZE, R>, ) -> Self::Classifier<'i, 'b, 'r, I, R> where I: Input, - R: InputRecorder>, + R: InputRecorder<::Block<'i, BLOCK_SIZE>>, 'i: 'r, { Self::Classifier { input, iter } diff --git a/crates/rsonpath-lib/src/classification/memmem/sse2_64.rs b/crates/rsonpath-lib/src/classification/memmem/sse2_64.rs index e1e27a5a..387207f5 100644 --- a/crates/rsonpath-lib/src/classification/memmem/sse2_64.rs +++ b/crates/rsonpath-lib/src/classification/memmem/sse2_64.rs @@ -15,17 +15,17 @@ impl MemmemImpl for Constructor { type Classifier<'i, 'b, 'r, I, R> = Ssse3MemmemClassifier64<'i, 'b, 'r, I, R> where I: Input + 'i, - I::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, - R: InputRecorder> + 'r, + ::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, + R: InputRecorder<::Block<'i, BLOCK_SIZE>> + 'r, 'i: 'r; fn memmem<'i, 'b, 'r, I, R>( input: &'i I, - iter: &'b mut I::BlockIterator<'i, 'r, BLOCK_SIZE, R>, + iter: &'b mut ::BlockIterator<'i, 'r, BLOCK_SIZE, R>, ) -> Self::Classifier<'i, 'b, 'r, I, R> where I: Input, - R: InputRecorder>, + R: InputRecorder<::Block<'i, BLOCK_SIZE>>, 'i: 'r, { Self::Classifier { input, iter } diff --git a/crates/rsonpath-lib/src/classification/simd.rs b/crates/rsonpath-lib/src/classification/simd.rs index fad3f6e6..88bd9b00 100644 --- a/crates/rsonpath-lib/src/classification/simd.rs +++ b/crates/rsonpath-lib/src/classification/simd.rs @@ -35,8 +35,8 @@ pub trait Simd: Copy { type MemmemClassifier<'i, 'b, 'r, I, R>: Memmem<'i, 'b, 'r, I, BLOCK_SIZE> where I: Input + 'i, - I::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, - R: InputRecorder> + 'r, + ::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, + R: InputRecorder<::Block<'i, BLOCK_SIZE>> + 'r, 'i: 'r; /// Walk through the JSON document given by the `iter` and classify quoted sequences. @@ -109,11 +109,11 @@ pub trait Simd: Copy { fn memmem<'i, 'b, 'r, I, R>( self, input: &'i I, - iter: &'b mut I::BlockIterator<'i, 'r, BLOCK_SIZE, R>, + iter: &'b mut ::BlockIterator<'i, 'r, BLOCK_SIZE, R>, ) -> Self::MemmemClassifier<'i, 'b, 'r, I, R> where I: Input, - R: InputRecorder>, + R: InputRecorder<::Block<'i, BLOCK_SIZE>>, 'i: 'r; } @@ -157,8 +157,8 @@ where type MemmemClassifier<'i, 'b, 'r, I, R> = M::Classifier<'i, 'b, 'r, I, R> where I: Input + 'i, - I::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, - R: InputRecorder> + 'r, + ::BlockIterator<'i, 'r, BLOCK_SIZE, R>: 'b, + R: InputRecorder<::Block<'i, BLOCK_SIZE>> + 'r, 'i: 'r; #[inline(always)] @@ -238,11 +238,11 @@ where fn memmem<'i, 'b, 'r, I, R>( self, input: &'i I, - iter: &'b mut I::BlockIterator<'i, 'r, BLOCK_SIZE, R>, + iter: &'b mut ::BlockIterator<'i, 'r, BLOCK_SIZE, R>, ) -> Self::MemmemClassifier<'i, 'b, 'r, I, R> where I: Input, - R: InputRecorder>, + R: InputRecorder<::Block<'i, BLOCK_SIZE>>, 'i: 'r, { M::memmem(input, iter) diff --git a/crates/rsonpath-lib/src/lib.rs b/crates/rsonpath-lib/src/lib.rs index ddb3b137..5c34faff 100644 --- a/crates/rsonpath-lib/src/lib.rs +++ b/crates/rsonpath-lib/src/lib.rs @@ -126,6 +126,7 @@ //! Only the aforementioned selectors are supported at this moment. //! This library is under active development. +#![doc(html_logo_url = "https://raw.githubusercontent.com/V0ldek/rsonpath/main/img/rsonquery-logo.svg")] // Documentation lints, enabled only on --release. #![cfg_attr( not(debug_assertions), diff --git a/crates/rsonpath-test-codegen/Cargo.lock b/crates/rsonpath-test-codegen/Cargo.lock index 2226fe8a..c5f85dd4 100644 --- a/crates/rsonpath-test-codegen/Cargo.lock +++ b/crates/rsonpath-test-codegen/Cargo.lock @@ -75,7 +75,7 @@ dependencies = [ [[package]] name = "rsonpath-test-codegen" -version = "0.8.2" +version = "0.8.3" dependencies = [ "heck", "pretty_assertions", diff --git a/crates/rsonpath-test-codegen/Cargo.toml b/crates/rsonpath-test-codegen/Cargo.toml index ca2becf6..6cb01294 100644 --- a/crates/rsonpath-test-codegen/Cargo.toml +++ b/crates/rsonpath-test-codegen/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rsonpath-test-codegen" -version = "0.8.2" +version = "0.8.3" authors = ["Mateusz Gienieczko "] edition = "2021" description = "TOML-based test codegen for rsonpath-lib." diff --git a/crates/rsonpath-test/Cargo.toml b/crates/rsonpath-test/Cargo.toml index 6a0a60c9..0920bf61 100644 --- a/crates/rsonpath-test/Cargo.toml +++ b/crates/rsonpath-test/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rsonpath-test" -version = "0.8.2" +version = "0.8.3" authors = ["Mateusz Gienieczko "] edition = "2021" description = "Just a build script for the auto test generation." @@ -17,4 +17,4 @@ publish = false [build-dependencies] eyre = "0.6.8" md5 = "0.7.0" -rsonpath-test-codegen = { version = "0.8.2", path = "../rsonpath-test-codegen" } \ No newline at end of file +rsonpath-test-codegen = { version = "0.8.3", path = "../rsonpath-test-codegen" } \ No newline at end of file diff --git a/crates/rsonpath/Cargo.toml b/crates/rsonpath/Cargo.toml index 987a8caa..964538f4 100644 --- a/crates/rsonpath/Cargo.toml +++ b/crates/rsonpath/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "rsonpath" -version = "0.8.2" +version = "0.8.3" authors = ["Mateusz Gienieczko "] edition = "2021" description = "Blazing fast JSONPath CLI tool powered by SIMD" @@ -29,7 +29,7 @@ clap = { version = "4.4.6", features = ["derive", "wrap_help"] } color-eyre = { version = "0.6.2", default-features = false } eyre = "0.6.8" log = "0.4.20" -rsonpath-lib = { version = "0.8.2", package = "rsonpath-lib", default-features = false } +rsonpath-lib = { version = "0.8.3", package = "rsonpath-lib", default-features = false } simple_logger = "4.2.0" [build-dependencies] diff --git a/fuzz/Cargo.lock b/fuzz/Cargo.lock index f0616994..db838865 100644 --- a/fuzz/Cargo.lock +++ b/fuzz/Cargo.lock @@ -106,9 +106,9 @@ checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" [[package]] name = "memmap2" -version = "0.8.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "43a5a03cefb0d953ec0be133036f14e109412fa594edc2f77227249db66cc3ed" +checksum = "deaba38d7abf1d4cca21cc89e932e542ba2b9258664d2a9ef0e61512039c9375" dependencies = [ "libc", ] @@ -202,7 +202,7 @@ dependencies = [ [[package]] name = "rsonpath-lib" -version = "0.8.2" +version = "0.8.3" dependencies = [ "arbitrary", "cfg-if", diff --git a/img/rsonquery-full-logo.svg b/img/rsonquery-full-logo.svg new file mode 100644 index 00000000..27b037e3 --- /dev/null +++ b/img/rsonquery-full-logo.svg @@ -0,0 +1,3 @@ + + +
🔥
🔥
}
}
{
{
rson
r...
query
q...
Text is not SVG - cannot display
\ No newline at end of file diff --git a/img/rsonquery-logo.svg b/img/rsonquery-logo.svg new file mode 100644 index 00000000..1827d4e8 --- /dev/null +++ b/img/rsonquery-logo.svg @@ -0,0 +1,3 @@ + + +
🔥
🔥
}
}
{
{
Text is not SVG - cannot display
\ No newline at end of file