html-to-markdown 2.24.6 → 2.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +2 -2
- data/README.md +1 -1
- data/ext/html-to-markdown-rb/native/Cargo.lock +9 -32
- data/ext/html-to-markdown-rb/native/Cargo.toml +1 -1
- data/lib/html_to_markdown/version.rb +1 -1
- data/rust-vendor/html-to-markdown-rs/Cargo.toml +0 -1
- data/rust-vendor/html-to-markdown-rs/src/converter/main_helpers.rs +1 -1
- data/rust-vendor/html-to-markdown-rs/src/hocr/converter/hierarchy.rs +20 -5
- data/rust-vendor/html-to-markdown-rs/src/lib.rs +1 -0
- data/rust-vendor/{markup5ever_rcdom/lib.rs → html-to-markdown-rs/src/rcdom.rs} +56 -91
- data/rust-vendor/html-to-markdown-rs/tests/hocr_compliance_test.rs +157 -0
- data/rust-vendor/memmap2/.cargo-checksum.json +1 -1
- data/rust-vendor/memmap2/.cargo_vcs_info.json +1 -1
- data/rust-vendor/memmap2/CHANGELOG.md +8 -0
- data/rust-vendor/memmap2/Cargo.lock +1 -1
- data/rust-vendor/memmap2/Cargo.toml +2 -1
- data/rust-vendor/memmap2/Cargo.toml.orig +2 -1
- data/rust-vendor/memmap2/src/lib.rs +25 -1
- data/rust-vendor/memmap2/src/stub.rs +1 -4
- data/rust-vendor/memmap2/src/unix.rs +14 -1
- data/rust-vendor/png/.cargo-checksum.json +1 -1
- data/rust-vendor/png/.cargo_vcs_info.json +1 -1
- data/rust-vendor/png/CHANGES.md +44 -0
- data/rust-vendor/png/Cargo.lock +124 -171
- data/rust-vendor/png/Cargo.toml +1 -1
- data/rust-vendor/png/Cargo.toml.orig +1 -1
- data/rust-vendor/png/benches/expand_paletted.rs +5 -5
- data/rust-vendor/png/benches/unfilter.rs +3 -3
- data/rust-vendor/png/src/adam7.rs +17 -10
- data/rust-vendor/png/src/common.rs +8 -8
- data/rust-vendor/png/src/decoder/mod.rs +53 -20
- data/rust-vendor/png/src/decoder/stream.rs +263 -78
- data/rust-vendor/png/src/decoder/unfiltering_buffer.rs +210 -53
- data/rust-vendor/png/src/decoder/zlib.rs +130 -90
- data/rust-vendor/png/src/encoder.rs +4 -2
- data/rust-vendor/png/src/{filter.rs → filter/mod.rs} +100 -367
- data/rust-vendor/png/src/filter/optimization-notes.md +104 -0
- data/rust-vendor/png/src/filter/paeth.rs +398 -0
- data/rust-vendor/png/src/filter/simd.rs +308 -0
- data/rust-vendor/png/src/lib.rs +1 -0
- data/rust-vendor/syn/.cargo-checksum.json +1 -1
- data/rust-vendor/syn/.cargo_vcs_info.json +1 -1
- data/rust-vendor/syn/Cargo.lock +40 -41
- data/rust-vendor/syn/Cargo.toml +1 -1
- data/rust-vendor/syn/Cargo.toml.orig +1 -1
- data/rust-vendor/syn/src/item.rs +61 -40
- data/rust-vendor/syn/src/lib.rs +2 -1
- data/rust-vendor/syn/tests/test_item.rs +54 -0
- data/rust-vendor/unicode-ident/.cargo-checksum.json +1 -1
- data/rust-vendor/unicode-ident/.cargo_vcs_info.json +1 -1
- data/rust-vendor/unicode-ident/Cargo.lock +21 -21
- data/rust-vendor/unicode-ident/Cargo.toml +1 -1
- data/rust-vendor/unicode-ident/Cargo.toml.orig +1 -1
- data/rust-vendor/unicode-ident/src/lib.rs +1 -1
- data/rust-vendor/unicode-ident/src/tables.rs +87 -97
- data/rust-vendor/unicode-ident/tests/static_size.rs +1 -1
- metadata +7 -177
- data/rust-vendor/markup5ever_rcdom/.cargo-checksum.json +0 -1
- data/rust-vendor/markup5ever_rcdom/.cargo_vcs_info.json +0 -7
- data/rust-vendor/markup5ever_rcdom/Cargo.lock +0 -658
- data/rust-vendor/markup5ever_rcdom/Cargo.toml +0 -109
- data/rust-vendor/markup5ever_rcdom/Cargo.toml.orig +0 -42
- data/rust-vendor/markup5ever_rcdom/LICENSE-APACHE +0 -201
- data/rust-vendor/markup5ever_rcdom/LICENSE-MIT +0 -25
- data/rust-vendor/markup5ever_rcdom/README.md +0 -7
- data/rust-vendor/markup5ever_rcdom/custom-html5lib-tokenizer-tests/regression.test +0 -69
- data/rust-vendor/markup5ever_rcdom/data/test/ignore +0 -1
- data/rust-vendor/markup5ever_rcdom/examples/hello_xml.rs +0 -39
- data/rust-vendor/markup5ever_rcdom/examples/html2html.rs +0 -51
- data/rust-vendor/markup5ever_rcdom/examples/print-rcdom.rs +0 -78
- data/rust-vendor/markup5ever_rcdom/examples/xml_tree_printer.rs +0 -67
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/.gitattributes +0 -2
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/.github/workflows/downstream.yml +0 -76
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/.github/workflows/lint.yml +0 -25
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/.gitignore +0 -79
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/AUTHORS.rst +0 -34
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/LICENSE +0 -21
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/chardet/test_big5.txt +0 -51
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/scripted/tests1.dat +0 -5
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/test-yahoo-jp.dat +0 -10
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/tests1.dat +0 -388
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/tests2.dat +0 -115
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint +0 -6
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/__init__.py +0 -0
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/__init__.py +0 -0
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/LICENSE +0 -18
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/__init__.py +0 -0
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/lexer.py +0 -211
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/lexer.pyi +0 -34
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/parser.py +0 -872
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/parser.pyi +0 -83
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/py.typed +0 -0
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/util.py +0 -72
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/util.pyi +0 -7
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/vendor.txt +0 -1
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor-patches/funcparserlib.patch +0 -24
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/lint.py +0 -280
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/parser.py +0 -177
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/pyproject.toml +0 -7
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/core.test +0 -125
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/injectmeta.test +0 -66
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/optionaltags.test +0 -965
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/options.test +0 -60
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/whitespace.test +0 -51
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/README.md +0 -107
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/contentModelFlags.test +0 -93
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/domjs.test +0 -335
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/entities.test +0 -542
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/escapeFlag.test +0 -36
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/namedEntities.test +0 -42422
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/numericEntities.test +0 -1677
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/pendingSpecChanges.test +0 -9
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/test1.test +0 -353
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/test2.test +0 -275
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/test3.test +0 -11233
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/test4.test +0 -532
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/unicodeChars.test +0 -1577
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/unicodeCharsProblematic.test +0 -41
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/xmlViolation.test +0 -20
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/README.md +0 -108
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/adoption01.dat +0 -354
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/adoption02.dat +0 -39
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/blocks.dat +0 -695
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/comments01.dat +0 -217
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/doctype01.dat +0 -474
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/domjs-unsafe.dat +0 -0
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/entities01.dat +0 -943
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/entities02.dat +0 -309
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/foreign-fragment.dat +0 -645
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/html5test-com.dat +0 -301
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/inbody01.dat +0 -54
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/isindex.dat +0 -49
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/main-element.dat +0 -46
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/math.dat +0 -104
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/menuitem-element.dat +0 -240
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/namespace-sensitivity.dat +0 -22
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/noscript01.dat +0 -237
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/pending-spec-changes-plain-text-unsafe.dat +0 -0
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/pending-spec-changes.dat +0 -46
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/plain-text-unsafe.dat +0 -0
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/quirks01.dat +0 -53
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/ruby.dat +0 -302
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/scriptdata01.dat +0 -372
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/scripted/adoption01.dat +0 -16
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/scripted/ark.dat +0 -27
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/scripted/webkit01.dat +0 -30
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/search-element.dat +0 -46
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/svg.dat +0 -104
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tables01.dat +0 -322
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/template.dat +0 -1673
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests1.dat +0 -1956
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests10.dat +0 -849
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests11.dat +0 -523
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests12.dat +0 -62
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests14.dat +0 -75
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests15.dat +0 -216
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests16.dat +0 -2602
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests17.dat +0 -179
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests18.dat +0 -558
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests19.dat +0 -1398
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests2.dat +0 -831
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests20.dat +0 -842
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests21.dat +0 -306
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests22.dat +0 -190
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests23.dat +0 -168
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests24.dat +0 -79
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests25.dat +0 -288
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests26.dat +0 -453
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests3.dat +0 -305
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests4.dat +0 -74
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests5.dat +0 -210
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests6.dat +0 -663
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests7.dat +0 -453
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests8.dat +0 -165
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests9.dat +0 -472
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests_innerHTML_1.dat +0 -843
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tricky01.dat +0 -336
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/webkit01.dat +0 -785
- data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/webkit02.dat +0 -554
- data/rust-vendor/markup5ever_rcdom/tests/foreach_html5lib_test/mod.rs +0 -41
- data/rust-vendor/markup5ever_rcdom/tests/html-driver.rs +0 -29
- data/rust-vendor/markup5ever_rcdom/tests/html-serializer.rs +0 -265
- data/rust-vendor/markup5ever_rcdom/tests/html-tokenizer.rs +0 -487
- data/rust-vendor/markup5ever_rcdom/tests/html-tree-builder.rs +0 -298
- data/rust-vendor/markup5ever_rcdom/tests/html-tree-sink.rs +0 -141
- data/rust-vendor/markup5ever_rcdom/tests/util/find_tests.rs +0 -34
- data/rust-vendor/markup5ever_rcdom/tests/util/runner.rs +0 -48
- data/rust-vendor/markup5ever_rcdom/tests/xml-driver.rs +0 -101
- data/rust-vendor/markup5ever_rcdom/tests/xml-tokenizer.rs +0 -374
- data/rust-vendor/markup5ever_rcdom/tests/xml-tree-builder.rs +0 -237
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/AUTHORS.rst +0 -9
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/LICENSE +0 -21
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/README.md +0 -92
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/comments.test +0 -274
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/doctype.test +0 -3232
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/entities.test +0 -283
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/eof.test +0 -113
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/namedEntities.test +0 -42210
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/numericEntities.test +0 -1349
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/test1.test +0 -162
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/test2.test +0 -64
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/unicodeChars.test +0 -1295
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tree-construction/README.md +0 -104
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tree-construction/namespace.dat +0 -119
- data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tree-construction/test1.dat +0 -124
- data/rust-vendor/xml5ever/.cargo-checksum.json +0 -1
- data/rust-vendor/xml5ever/.cargo_vcs_info.json +0 -6
- data/rust-vendor/xml5ever/Cargo.lock +0 -752
- data/rust-vendor/xml5ever/Cargo.toml +0 -69
- data/rust-vendor/xml5ever/Cargo.toml.orig +0 -29
- data/rust-vendor/xml5ever/LICENSE-APACHE +0 -201
- data/rust-vendor/xml5ever/LICENSE-MIT +0 -25
- data/rust-vendor/xml5ever/README.md +0 -72
- data/rust-vendor/xml5ever/benches/xml5ever.rs +0 -77
- data/rust-vendor/xml5ever/data/bench/strong.xml +0 -1
- data/rust-vendor/xml5ever/examples/README.md +0 -223
- data/rust-vendor/xml5ever/examples/example.xml +0 -3
- data/rust-vendor/xml5ever/examples/simple_xml_tokenizer.rs +0 -81
- data/rust-vendor/xml5ever/examples/xml_tokenizer.rs +0 -115
- data/rust-vendor/xml5ever/src/driver.rs +0 -90
- data/rust-vendor/xml5ever/src/lib.rs +0 -47
- data/rust-vendor/xml5ever/src/macros.rs +0 -18
- data/rust-vendor/xml5ever/src/serialize/mod.rs +0 -216
- data/rust-vendor/xml5ever/src/tokenizer/char_ref/mod.rs +0 -456
- data/rust-vendor/xml5ever/src/tokenizer/interface.rs +0 -116
- data/rust-vendor/xml5ever/src/tokenizer/mod.rs +0 -1344
- data/rust-vendor/xml5ever/src/tokenizer/qname.rs +0 -84
- data/rust-vendor/xml5ever/src/tokenizer/states.rs +0 -167
- data/rust-vendor/xml5ever/src/tree_builder/mod.rs +0 -774
- data/rust-vendor/xml5ever/src/tree_builder/types.rs +0 -37
|
@@ -0,0 +1,308 @@
|
|
|
1
|
+
///! Optional module containing `portable_simd` versions of the most
|
|
2
|
+
///! important unfiltering algorithms. Enable using the `unstable` feature.
|
|
3
|
+
use core::convert::TryInto;
|
|
4
|
+
use core::simd::prelude::*;
|
|
5
|
+
use core::simd::Select;
|
|
6
|
+
// Import the fastest arch-specific scalar implementations from the outer crate.
|
|
7
|
+
#[cfg(not(target_arch = "x86_64"))]
|
|
8
|
+
use super::paeth::filter_paeth as filter_paeth_chosen;
|
|
9
|
+
#[cfg(target_arch = "x86_64")]
|
|
10
|
+
use super::paeth::filter_paeth_stbi as filter_paeth_chosen;
|
|
11
|
+
|
|
12
|
+
/// Paeth predictor specialized for AArch64 systems. Ported from the libpng
|
|
13
|
+
/// implementation at
|
|
14
|
+
/// https://github.com/pnggroup/libpng/blob/master/arm/filter_neon_intrinsics.c
|
|
15
|
+
#[cfg(target_arch = "aarch64")]
|
|
16
|
+
#[inline(always)]
|
|
17
|
+
fn paeth_predictor_simd<const SIZE: usize>(
|
|
18
|
+
a_i16: Simd<i16, SIZE>,
|
|
19
|
+
b_i16: Simd<i16, SIZE>,
|
|
20
|
+
c_i16: Simd<i16, SIZE>,
|
|
21
|
+
) -> Simd<u8, SIZE> {
|
|
22
|
+
let pa = (b_i16 - c_i16).abs();
|
|
23
|
+
let pb = (a_i16 - c_i16).abs();
|
|
24
|
+
let pc = (a_i16 + b_i16 - c_i16 - c_i16).abs();
|
|
25
|
+
|
|
26
|
+
let mut nearest = a_i16;
|
|
27
|
+
let mut min_dist = pa;
|
|
28
|
+
|
|
29
|
+
// Tie-breaking: left, then above, then upper-left.
|
|
30
|
+
let pb_lt_min = pb.simd_lt(min_dist);
|
|
31
|
+
nearest = pb_lt_min.select(b_i16, nearest);
|
|
32
|
+
min_dist = pb_lt_min.select(pb, min_dist);
|
|
33
|
+
|
|
34
|
+
let pc_lt_min = pc.simd_lt(min_dist);
|
|
35
|
+
nearest = pc_lt_min.select(c_i16, nearest);
|
|
36
|
+
|
|
37
|
+
nearest.cast::<u8>()
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/// Paeth predictor based on the `filter_paeth_stbi` formulation, which
|
|
41
|
+
/// performs better on x86_64 systems.
|
|
42
|
+
#[cfg(not(target_arch = "aarch64"))]
|
|
43
|
+
#[inline(always)]
|
|
44
|
+
fn paeth_predictor_simd<const SIZE: usize>(
|
|
45
|
+
a_i16: Simd<i16, SIZE>,
|
|
46
|
+
b_i16: Simd<i16, SIZE>,
|
|
47
|
+
c_i16: Simd<i16, SIZE>,
|
|
48
|
+
) -> Simd<u8, SIZE> {
|
|
49
|
+
let thresh = c_i16 * Simd::splat(3) - (a_i16 + b_i16);
|
|
50
|
+
let lo = a_i16.simd_min(b_i16);
|
|
51
|
+
let hi = a_i16.simd_max(b_i16);
|
|
52
|
+
let t0 = hi.simd_le(thresh).select(lo, c_i16);
|
|
53
|
+
thresh.simd_le(lo).select(hi, t0).cast::<u8>()
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/// Core kernel for 3bpp Paeth unfiltering. Takes a `b_vec` consisting of
|
|
57
|
+
/// 16 RGB above the starting offset, a `c_vec_initial` which is the
|
|
58
|
+
/// previous pixel from before the starting offset, and a `current_a`
|
|
59
|
+
/// which is the previous pixel to the left of `x_out`, which is the 16
|
|
60
|
+
/// pixels we're unfiltering. Returns the next `a` pixel and also updates
|
|
61
|
+
/// `x_out`.
|
|
62
|
+
#[inline(always)]
|
|
63
|
+
fn process_paeth_chunk_bpp3_s48(
|
|
64
|
+
// Previous `a` pixel from the last pump, or zero if this is the first.
|
|
65
|
+
mut current_a: Simd<u8, 3>,
|
|
66
|
+
// 48 bytes from the row above.
|
|
67
|
+
b_vec: &Simd<u8, 48>,
|
|
68
|
+
// The last three bytes of the previous `b_vec`, or zero if this if the first.
|
|
69
|
+
c_vec_initial: Simd<u8, 3>,
|
|
70
|
+
// 48 bytes from the current row (filtered) also re-used as the output.
|
|
71
|
+
x_out: &mut Simd<u8, 48>,
|
|
72
|
+
) -> Simd<u8, 3> {
|
|
73
|
+
let x_in = *x_out;
|
|
74
|
+
|
|
75
|
+
// Store the outputs of the caluation as we go along, then we can do a
|
|
76
|
+
// a wide vectorized add at the end of the loop.
|
|
77
|
+
let mut preds = [0u8; 48];
|
|
78
|
+
|
|
79
|
+
// Shift b and sift in the lowest 3 elements from the previous pump
|
|
80
|
+
// to form c.
|
|
81
|
+
let mut c_vec = b_vec.shift_elements_right::<3>(0u8);
|
|
82
|
+
c_vec.as_mut_array()[0..3].copy_from_slice(c_vec_initial.as_array());
|
|
83
|
+
|
|
84
|
+
// For each RGB pixel in the 48-byte window, we a) extract the relevant
|
|
85
|
+
// parts of a, b, c and input x, then b) apply the paeth predictor to
|
|
86
|
+
// what's extracted, then c) merge them to form the 'a' pixel for the
|
|
87
|
+
// next part of the calculation, and update the predictpr buffer.
|
|
88
|
+
macro_rules! process_pixel {
|
|
89
|
+
($shift:expr) => {
|
|
90
|
+
let a_i16 = current_a.cast::<i16>();
|
|
91
|
+
let b_i16 = b_vec.extract::<$shift, 3>().cast::<i16>();
|
|
92
|
+
let c_i16 = c_vec.extract::<$shift, 3>().cast::<i16>();
|
|
93
|
+
let pred = paeth_predictor_simd(a_i16, b_i16, c_i16);
|
|
94
|
+
current_a = x_in.extract::<$shift, 3>() + pred;
|
|
95
|
+
// This is necessary to break the data dependency between the
|
|
96
|
+
// output and the next pixel as much as possible.
|
|
97
|
+
preds[$shift..$shift + 3].copy_from_slice(pred.as_array());
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
process_pixel!(0);
|
|
102
|
+
process_pixel!(3);
|
|
103
|
+
process_pixel!(6);
|
|
104
|
+
process_pixel!(9);
|
|
105
|
+
process_pixel!(12);
|
|
106
|
+
process_pixel!(15);
|
|
107
|
+
process_pixel!(18);
|
|
108
|
+
process_pixel!(21);
|
|
109
|
+
process_pixel!(24);
|
|
110
|
+
process_pixel!(27);
|
|
111
|
+
process_pixel!(30);
|
|
112
|
+
process_pixel!(33);
|
|
113
|
+
process_pixel!(36);
|
|
114
|
+
process_pixel!(39);
|
|
115
|
+
process_pixel!(42);
|
|
116
|
+
process_pixel!(45);
|
|
117
|
+
|
|
118
|
+
// Commit the unfiltered result and return the next 'a' pixel.
|
|
119
|
+
*x_out += Simd::from_array(preds);
|
|
120
|
+
current_a
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/// Applies Paeth unfiltering on the `current` pixel row using `prev` row,
|
|
124
|
+
/// interpreting the input data as RGB.
|
|
125
|
+
pub fn paeth_unfilter_3bpp(current: &mut [u8], prev: &[u8]) {
|
|
126
|
+
const BPP: usize = 3;
|
|
127
|
+
const STRIDE_BYTES: usize = 48; // 16 pixels * 3 bytes/pixel.
|
|
128
|
+
|
|
129
|
+
// Use the standard convention of [c] [b]
|
|
130
|
+
// [a] [x]
|
|
131
|
+
// We load 48 bytes of each and use a sliding window approach to minimize loads/stores.
|
|
132
|
+
// Whilst we cannot break the strict data dependency on [a], we can agressively unroll
|
|
133
|
+
// the calculation and allow independent computation of the `pa` prediction variables.
|
|
134
|
+
// Initially set these to zero.
|
|
135
|
+
let mut a: Simd<u8, BPP> = Default::default(); // Left pixel (unfiltered)
|
|
136
|
+
let mut c: Simd<u8, BPP> = Default::default(); // Upper-left pixel (unfiltered)
|
|
137
|
+
|
|
138
|
+
// Decide the number of chunks and setup iterators for the SIMD body and scalar fallback.
|
|
139
|
+
let mut current_iter = current.chunks_exact_mut(STRIDE_BYTES);
|
|
140
|
+
let mut previous_iter = prev.chunks_exact(STRIDE_BYTES);
|
|
141
|
+
let combined_iter = (&mut current_iter).zip(&mut previous_iter);
|
|
142
|
+
|
|
143
|
+
for (chunk, prev_chunk) in combined_iter {
|
|
144
|
+
let mut x: Simd<u8, STRIDE_BYTES> = Simd::<u8, STRIDE_BYTES>::from_slice(chunk);
|
|
145
|
+
let b: Simd<u8, STRIDE_BYTES> = Simd::<u8, STRIDE_BYTES>::from_slice(prev_chunk);
|
|
146
|
+
|
|
147
|
+
// Process the chunk using the SIMD helper, passing the initial `c`.
|
|
148
|
+
a = process_paeth_chunk_bpp3_s48(a, &b, c, &mut x);
|
|
149
|
+
|
|
150
|
+
// Update `c` for the next chunk: it's the upper-left of the next chunk,
|
|
151
|
+
// which corresponds to the upper-right of the current chunk's `b` vector.
|
|
152
|
+
c = b.extract::<{ STRIDE_BYTES - BPP }, BPP>();
|
|
153
|
+
|
|
154
|
+
// `TryInto` and `copy_to_slice` have similar performance here.
|
|
155
|
+
x.copy_to_slice(chunk);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// Scalar remainder.
|
|
159
|
+
let mut a_bpp = a.to_array();
|
|
160
|
+
let mut c_bpp = c.to_array();
|
|
161
|
+
for (chunk, b_bpp) in current_iter
|
|
162
|
+
.into_remainder()
|
|
163
|
+
.chunks_exact_mut(BPP)
|
|
164
|
+
.zip(previous_iter.remainder().chunks_exact(BPP))
|
|
165
|
+
{
|
|
166
|
+
let new_chunk = [
|
|
167
|
+
chunk[0].wrapping_add(filter_paeth_chosen(
|
|
168
|
+
a_bpp[0].into(),
|
|
169
|
+
b_bpp[0].into(),
|
|
170
|
+
c_bpp[0].into(),
|
|
171
|
+
)),
|
|
172
|
+
chunk[1].wrapping_add(filter_paeth_chosen(
|
|
173
|
+
a_bpp[1].into(),
|
|
174
|
+
b_bpp[1].into(),
|
|
175
|
+
c_bpp[1].into(),
|
|
176
|
+
)),
|
|
177
|
+
chunk[2].wrapping_add(filter_paeth_chosen(
|
|
178
|
+
a_bpp[2].into(),
|
|
179
|
+
b_bpp[2].into(),
|
|
180
|
+
c_bpp[2].into(),
|
|
181
|
+
)),
|
|
182
|
+
];
|
|
183
|
+
*TryInto::<&mut [u8; BPP]>::try_into(chunk).unwrap() = new_chunk;
|
|
184
|
+
a_bpp = new_chunk;
|
|
185
|
+
c_bpp = b_bpp.try_into().unwrap();
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
/// Core kernel for 4bpp Paeth unfiltering. Takes a `b_vec` consisting of
|
|
190
|
+
/// 16 RGB above the starting offset, a `c_vec_initial` which is the
|
|
191
|
+
/// previous pixel from before the starting offset, and a `current_a`
|
|
192
|
+
/// which is the previous pixel to the left of `x_out`, which is the 16
|
|
193
|
+
/// pixels we're unfiltering. Returns the next `a` pixel and also updates
|
|
194
|
+
/// `x_out`.
|
|
195
|
+
#[inline(always)]
|
|
196
|
+
fn process_paeth_chunk_bpp4_s64(
|
|
197
|
+
mut current_a: Simd<u8, 4>,
|
|
198
|
+
b_vec: &Simd<u8, 64>,
|
|
199
|
+
c_vec_initial: Simd<u8, 4>,
|
|
200
|
+
x_out: &mut Simd<u8, 64>,
|
|
201
|
+
) -> Simd<u8, 4> {
|
|
202
|
+
let x_in = *x_out;
|
|
203
|
+
let mut preds = [0u8; 64];
|
|
204
|
+
|
|
205
|
+
// Mix and shift the previous pixel into b to form c
|
|
206
|
+
let mut c_vec = b_vec.shift_elements_right::<4>(0u8);
|
|
207
|
+
c_vec.as_mut_array()[0..4].copy_from_slice(c_vec_initial.as_array());
|
|
208
|
+
|
|
209
|
+
// For each RGB pixel in the 48-byte window, we a) extract the relevant
|
|
210
|
+
// parts of a, b, c and input x, then b) apply the paeth predictor to
|
|
211
|
+
// what's extracted, then c) merge them to form the 'a' pixel for the
|
|
212
|
+
// next part of the calculation, and update the predictor buffer.
|
|
213
|
+
macro_rules! process_pixel {
|
|
214
|
+
($shift:expr) => {
|
|
215
|
+
let a_i16 = current_a.cast::<i16>();
|
|
216
|
+
let b_i16 = b_vec.extract::<$shift, 4>().cast::<i16>();
|
|
217
|
+
let c_i16 = c_vec.extract::<$shift, 4>().cast::<i16>();
|
|
218
|
+
let pred = paeth_predictor_simd(a_i16, b_i16, c_i16);
|
|
219
|
+
current_a = x_in.extract::<$shift, 4>() + pred;
|
|
220
|
+
preds[$shift..$shift + 4].copy_from_slice(pred.as_array());
|
|
221
|
+
};
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
process_pixel!(0);
|
|
225
|
+
process_pixel!(4);
|
|
226
|
+
process_pixel!(8);
|
|
227
|
+
process_pixel!(12);
|
|
228
|
+
process_pixel!(16);
|
|
229
|
+
process_pixel!(20);
|
|
230
|
+
process_pixel!(24);
|
|
231
|
+
process_pixel!(28);
|
|
232
|
+
process_pixel!(32);
|
|
233
|
+
process_pixel!(36);
|
|
234
|
+
process_pixel!(40);
|
|
235
|
+
process_pixel!(44);
|
|
236
|
+
process_pixel!(48);
|
|
237
|
+
process_pixel!(52);
|
|
238
|
+
process_pixel!(56);
|
|
239
|
+
process_pixel!(60);
|
|
240
|
+
|
|
241
|
+
// Do a wide vectorized add to commit the predictions and return the next `a` pixel.
|
|
242
|
+
*x_out += Simd::from_array(preds);
|
|
243
|
+
current_a
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
/// Applies Paeth unfiltering on the `current` pixel row using `prev` row,
|
|
247
|
+
/// interpreting the input data as RGBA.
|
|
248
|
+
pub fn paeth_unfilter_4bpp(row: &mut [u8], prev_row: &[u8]) {
|
|
249
|
+
const BPP: usize = 4;
|
|
250
|
+
const STRIDE_BYTES: usize = 64; // 16 pixels * 4 bytes/pixel
|
|
251
|
+
|
|
252
|
+
let mut a: Simd<u8, BPP> = Default::default(); // Left pixel (unfiltered)
|
|
253
|
+
let mut c: Simd<u8, BPP> = Default::default(); // Upper-left pixel (unfiltered)
|
|
254
|
+
|
|
255
|
+
// Set up iterators for SIMD body and scalar remainder.
|
|
256
|
+
let chunks = row.len() / STRIDE_BYTES;
|
|
257
|
+
let (simd_row, remainder_row) = row.split_at_mut(chunks * STRIDE_BYTES);
|
|
258
|
+
let (simd_prev_row, remainder_prev_row) = prev_row.split_at(chunks * STRIDE_BYTES);
|
|
259
|
+
let row_iter = simd_row.chunks_exact_mut(STRIDE_BYTES);
|
|
260
|
+
let prev_iter = simd_prev_row.chunks_exact(STRIDE_BYTES);
|
|
261
|
+
let combined_iter = row_iter.zip(prev_iter);
|
|
262
|
+
|
|
263
|
+
for (chunk, prev_chunk) in combined_iter {
|
|
264
|
+
let mut x: Simd<u8, STRIDE_BYTES> = Simd::<u8, STRIDE_BYTES>::from_slice(chunk);
|
|
265
|
+
let b: Simd<u8, STRIDE_BYTES> = Simd::<u8, STRIDE_BYTES>::from_slice(prev_chunk);
|
|
266
|
+
|
|
267
|
+
a = process_paeth_chunk_bpp4_s64(a, &b, c, &mut x);
|
|
268
|
+
|
|
269
|
+
// Update `vlast` for the next chunk: last BPP bytes of `b`
|
|
270
|
+
c = b.extract::<{ STRIDE_BYTES - BPP }, BPP>();
|
|
271
|
+
|
|
272
|
+
x.copy_to_slice(chunk);
|
|
273
|
+
}
|
|
274
|
+
|
|
275
|
+
// Scalar remainder.
|
|
276
|
+
let mut a_bpp = a.to_array();
|
|
277
|
+
let mut c_bpp = c.to_array();
|
|
278
|
+
for (chunk, b_bpp) in remainder_row
|
|
279
|
+
.chunks_exact_mut(BPP)
|
|
280
|
+
.zip(remainder_prev_row.chunks_exact(BPP))
|
|
281
|
+
{
|
|
282
|
+
let new_chunk = [
|
|
283
|
+
chunk[0].wrapping_add(filter_paeth_chosen(
|
|
284
|
+
a_bpp[0].into(),
|
|
285
|
+
b_bpp[0].into(),
|
|
286
|
+
c_bpp[0].into(),
|
|
287
|
+
)),
|
|
288
|
+
chunk[1].wrapping_add(filter_paeth_chosen(
|
|
289
|
+
a_bpp[1].into(),
|
|
290
|
+
b_bpp[1].into(),
|
|
291
|
+
c_bpp[1].into(),
|
|
292
|
+
)),
|
|
293
|
+
chunk[2].wrapping_add(filter_paeth_chosen(
|
|
294
|
+
a_bpp[2].into(),
|
|
295
|
+
b_bpp[2].into(),
|
|
296
|
+
c_bpp[2].into(),
|
|
297
|
+
)),
|
|
298
|
+
chunk[3].wrapping_add(filter_paeth_chosen(
|
|
299
|
+
a_bpp[3].into(),
|
|
300
|
+
b_bpp[3].into(),
|
|
301
|
+
c_bpp[3].into(),
|
|
302
|
+
)),
|
|
303
|
+
];
|
|
304
|
+
*TryInto::<&mut [u8; BPP]>::try_into(chunk).unwrap() = new_chunk;
|
|
305
|
+
a_bpp = new_chunk;
|
|
306
|
+
c_bpp = b_bpp.try_into().unwrap();
|
|
307
|
+
}
|
|
308
|
+
}
|
data/rust-vendor/png/src/lib.rs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"files":{".cargo_vcs_info.json":"
|
|
1
|
+
{"files":{".cargo_vcs_info.json":"6402b2ff827b513eb74fc84160cb9c6477299014d33fef8392ee572a7bca8768","Cargo.lock":"6e1651679f9e799959a2b7e920bcb2912a83840ca2894575bff44d36e64d59e2","Cargo.toml":"9a07b798897556cdba0170b758e8ff096d5242a426c9232e3b9b3d233cf2fab3","Cargo.toml.orig":"051087ef93f16c496ce8b532a236ded9fb816d3aaadd01ed1d9167124f96ab6a","LICENSE-APACHE":"62c7a1e35f56406896d7aa7ca52d0cc0d272ac022b5d2796e7d6905db8a3636a","LICENSE-MIT":"23f18e03dc49df91622fe2a76176497404e46ced8a715d9d2b67a7446571cca3","README.md":"84d8f027ce3c19ae9cf91e68207b0bc737b71aa25706ba575bef7d4cba6fc937","benches/file.rs":"6f2ae7748d1576cff48e4ef55d4e87e2f5bb7898a36aa99ea6dd6ed0f72a4e3c","benches/rust.rs":"cc050157e925cf54e39575a8de7b3d58aede4afa582c21023bd4bf9f03e3a8ee","src/attr.rs":"2108cf48c98ed0a7833ec73b841fccc254c733453a7e69127b0255541bbc9572","src/bigint.rs":"21cf6cf0c8e175421a6579321878e140d6cd2c975e5bdac4eadde25907d7e879","src/buffer.rs":"5b4daf35958f18dd389bcd49be73087b2c6f1971412eac32c1b66968ec786912","src/classify.rs":"200e81f2245dc23621026849542d95d1e7c320c775362e080857673b51bc82b7","src/custom_keyword.rs":"322114e36ae43a2f8605506fb4568efdbc2986853e2fee74bd10a4ca0fb60c69","src/custom_punctuation.rs":"67134b7685ce89eddb7bf4ee3c9a48e5eb8ecbb1703cd49a01cbb115239fb814","src/data.rs":"7fa9741c5527b790d968430e69a5c0f34ab37360e0a8af2f273a70d8f702b29c","src/derive.rs":"4927cfd64d2c61bb9ee8462b83d5bbce77e3f85c3a03a5565ecf6f08d55367c3","src/discouraged.rs":"d5538b42691e418faf3a0b5fb2b16813efc6a80ffb59dab58a0f170c4a71cbfb","src/drops.rs":"c48e679507424c08716b48256a06d59fe55e877de336c40f0df56cfd80e23826","src/error.rs":"34a045645056452a76862f08084ae9a92aa24a38daa25586e9ab12f5fa9c3b23","src/export.rs":"d9039ba7f1455089139cf8a6871159f0ec57949cc730b42fe3c318a8397d3368","src/expr.rs":"9ab5bf8bd9d45647f6f23fbe3641b90f837226eec124dd0973b7332ae41b7f52","src/ext.rs":"8bc0d0ffab88c73d2305c9f588e6b5285501de8869308162f91019c83bc5bdf1","src/file.rs":"0cc23703e5c0478f14d8ec285ca5c925a0c556c686f4f5d0fc55e19fc03e33f6","src/fixup.rs":"7647cde30efdce96b1488ae805788c168d4499b464b7d421abc17ea8ffde66f2","src/gen/clone.rs":"7af00b0a240453d7aac178be1b6cdf9df3b33f1281da35e02f66ba7ba55d060c","src/gen/debug.rs":"7d249085b57e0f751f4e8b9b8fe38cd056a4d56b2f474d4b4f8ba3d489068322","src/gen/eq.rs":"fa2c783b0eb58af46d9a599cce0131379c616d396c8e1124970502673e9001a3","src/gen/fold.rs":"30a91e710427a15d197957d7471282f4a1231181736ed7a8686c9b0f27248e41","src/gen/hash.rs":"f4a58047eb829f16c9ce9db08b2e73c2cc2369275cc47ef32147365778de49ba","src/gen/token.css":"3a5882d0b3aefbf56ca5d08c28c117e25ac2327eadf7242202d906b2ddb2232e","src/gen/visit.rs":"fe1443aa7953eaca10d6bf982396e627e31ce6b8aea8eb7cf949e0adeea5badb","src/gen/visit_mut.rs":"a48310aa9580af2eff96ff872b3b5093656cf48ddc0c22c02ef33884e477d633","src/generics.rs":"4c9f5236b029ee7d95a52f607afdc06a6169bf02292b27b904928c0eb8726c67","src/group.rs":"61e067094aa930b6550dc3717a5aaeef7dabfdcf1a177f83fb636598fa7e4e72","src/ident.rs":"4e50859365382708c2c09abfb88eac4b0d35c9b3f884e58cc22392d91be2a0e1","src/item.rs":"278f0f7467169463b430476f10715d893ed2a3f8d9aab0260f8bc00d80ba5c73","src/lib.rs":"a1f43525e61c4c9365e09097dd3ba3dbc2a7b902f79f939db3d17439f748b2b4","src/lifetime.rs":"5bd6d716e46d489f52f4ac3075710328cae5a01a0b37818bfe26f4293f7984c7","src/lit.rs":"7c1007408070abe4c3bdc228c803777274ff842e48e1d1daad0442783c49bb46","src/lookahead.rs":"ea51bbf9a23d68238f8324a51675f5815fb3e5fc08c6bab93bc2648d3342c38f","src/mac.rs":"fdce8291f71adef3f69975f229156dca2309ca232ed943061afaf96220908ab8","src/macros.rs":"9809598f9d7e533c737c2a6df994b40b7c9ca4bbdf90bb2289da72a8065345dd","src/meta.rs":"d8703f8cbc5fd6465c367214eac38efca0f8388bdef8ac5e6f863835fbd3b30f","src/op.rs":"a61757370f802e44efa3c4a1057ae2cd26e64e273f7d76c06d5ffb49602319e2","src/parse.rs":"e692d6e895ac79a14680b89a7c29611995126953238176bdb50d2a3c2fb2d9e3","src/parse_macro_input.rs":"e4e22b63d0496d06a4ca17742a22467ed93f08a739081324773828bad63175ee","src/parse_quote.rs":"32fbdf959ee601cc2d184b6a358c542dbede0da5ad69d47588f7c405258a6dec","src/pat.rs":"861e3d8f86da16acf7440f9c0ed477a7c80bb0109b93aff0e3cd941198595b3e","src/path.rs":"8dc389f21f378c5f0dddda17543e59601b5b22cbabfbedf9a6ece499c519d81c","src/precedence.rs":"301f5cc51e1bbb35aeb64f6ed1b21d6f61d83f6c048aec9896976ee0011b948e","src/print.rs":"22910bf0521ab868ebd7c62601c55912d12cfb400c65723e08e5cfa3a2d111c0","src/punctuated.rs":"89b2666be8354215c63f8af7c92d6aed3a6d309cf384965ae360d351a5007afd","src/restriction.rs":"f5099d4cf5f9d61baace5b0e16f1631c72c15bba62529c7d4598565539d29f7d","src/scan_expr.rs":"e199c35e8bbf3e2c70901e1175df8dd446f4cb67b60100647f478f2dc31f6f12","src/sealed.rs":"6ece3b3dcb30f6bb98b93d83759ca7712ee8592bef9c0511141039c38765db0e","src/span.rs":"0a48e375e5c9768f6f64174a91ba6a255f4b021e2fb3548d8494e617f142601b","src/spanned.rs":"b53ce23f10935cf202da0f5a430e9feca9f4858bbd6efbe896acf17d3cfce540","src/stmt.rs":"46a6f36ec8780e69de73eb396021fd6faf609016cf204d7fea46d6aeccc2a42e","src/thread.rs":"b91e33c563c2ea584fcd7c5454998303173f4227bdb19504776e61d09b60675c","src/token.rs":"48da90e8fc2a0419f63f910cf7b043008b3abd5df2eb82a3609adde80a65dae0","src/tt.rs":"d5b9df076504b1506e0b05dafb9006fd0772fdb8d4b8b8dcc315dbca3277331a","src/ty.rs":"ca9f2155a0a39fc78af46fcbbb5189f0c4751642fcd53331a3a38d83dc22db2f","src/verbatim.rs":"aa1958887a7f4adedf824a59e175ffe83572d31ca278e5f95623068dff0a845b","src/whitespace.rs":"9cdcbfe9045b259046329a795bc1105ab5a871471a6d3f7318d275ee53f7a825","tests/common/eq.rs":"29015e3786750552493663396476f8c0347da991906153b20309ee90dc00e844","tests/common/mod.rs":"b752aa8f1faf8c6abf1286a12fb50b6c257ec1889d81bcdb3dc3257134695a89","tests/common/parse.rs":"b1685e9e0f0569f48d66ddd92d787a12933a1d2f95e7c9ae974a3648763f989b","tests/common/visit.rs":"a260ecd2ce7853cd3644e19aba08e8d358a656fd3fb0f1287cea40c59c9e62c9","tests/debug/gen.rs":"d7f27966ca645d6c099d5cfdac5d211f4ed3a9cb4996f6c754181936cd51edde","tests/debug/mod.rs":"1259df940bbcaa968a837e402d6853f2efa38d2260e306d42f17f9e8ef74fae5","tests/macros/mod.rs":"d2294a79e341c623ae671dd363e99965d78dda7f340b0cc038267207adfacae2","tests/regression.rs":"e9565ea0efecb4136f099164ffcfa26e1996b0a27fb9c6659e90ad9bdd42e7b6","tests/regression/issue1108.rs":"f32db35244a674e22ff824ca9e5bbec2184e287b59f022db68c418b5878a2edc","tests/regression/issue1235.rs":"a2266b10c3f7c7af5734817ab0a3e8b309b51e7d177b63f26e67e6b744d280b0","tests/repo/mod.rs":"4e2d370876192fc0514962e1eeb9e1e4a96e3805b1f87257ba4d1eeda8b1db73","tests/repo/progress.rs":"11219e4ae5e0175d5ddc743907a57b8c4e750e709687c3df53728d6af994a86f","tests/snapshot/mod.rs":"4a101272c5abe6ca9f3501e0cacacee9a0ccf7ca773348a239e5b046d0316a7e","tests/test_asyncness.rs":"971d560d927d5a8494eaa7fce8f0d062d6971c17c4c464fcfc31570572b7d3d7","tests/test_attribute.rs":"8a4429b7cfe2360bb73beae54a62ae3255ebbd5181467a8608d6f858c2711728","tests/test_derive_input.rs":"c8f5dbac6482dadd0fab30d0b1fe3254869256c48ea68ea484cad7f7406c8568","tests/test_expr.rs":"055cb9b33a5bb6ed5dc67491e6f1ae794a53a5a091245debd464ef57144f5edb","tests/test_generics.rs":"5c9b34813a442311fdca36b56736dd15760e7f6d6a668f82673c21711e1aacd8","tests/test_grouping.rs":"fe3de6e8824f0722ab6450c6dfc374f6e0f8fe75c87c4dd56b2cb00a2197ed58","tests/test_ident.rs":"d5850e817720e774cd397a46dbc5298c57933823c18e20805e84503fc9387e8f","tests/test_item.rs":"07cfe67e302d56dd2b2f89e1278d6ee6202c042f5c9e76fdcd88c60534d71a13","tests/test_lit.rs":"4130efa425d14ed3ad9a1c2a00ef4b29782c9d1cf9e29ff9dddd3b23b2e3ddee","tests/test_meta.rs":"5b0fdee0decbd07476c9673403a662de385901b4bf60600c26ac879893f5bf9c","tests/test_parse_buffer.rs":"1c8cbbf457603bd0a83348079591f843f7ef0533a6275a0c76533e2d07dd321a","tests/test_parse_quote.rs":"85d90d2d51b82aab7c30159dd884f26c592ddb28ed31ef2baf371ee31349694c","tests/test_parse_stream.rs":"b6b533432173123d6d01d8d2cb33714bc50b30b16ffbb6116f93937221ad4594","tests/test_pat.rs":"dafa3e1f51812e8c852dc5210640a4adf6fff7cd0a0790ee17d2c4c115321846","tests/test_path.rs":"7a6763a262c41a9522068887702fe7cd4ff72b07da5253ac47761d73315b021d","tests/test_precedence.rs":"f0654b7bf85e2852f7229b14aaba7fcae87d9691f6fa91ab315bc6b0249ffccf","tests/test_punctuated.rs":"efed2c281b6965d71b065c7606631ba1989af6e7b5f5d1ca1033f8b968dc076c","tests/test_receiver.rs":"2053028236f95f3cb508ebf2eb606df43cae4f9f4dd27823661459ff6c54a39c","tests/test_round_trip.rs":"aecd7b37cf937f005ee0858f38482782341d7fa037ec8f15b3e8b26bfd6f6104","tests/test_shebang.rs":"9bc24b1ee2947b06a279d2ed40039cb45bba6caf7cd40530d93f7e2355de53c6","tests/test_size.rs":"03efaf829b80b7db1f831474c1d3ce268914fc499d0e2a7eea03cad04a482974","tests/test_stmt.rs":"b3c120059d7b56388963b85234feb2e4d379e32a0bf7f29b6683eca000dd3919","tests/test_token_trees.rs":"c30b921a96739c9334ec2bdd06552729891e0251b9d8fbdf0b8f5cc897babee5","tests/test_ty.rs":"9bb5f632941451ca6b200100310b55e62a9956190df3efe28b80d42843e75362","tests/test_unparenthesize.rs":"e5c047819afd5f70fde1bdd095467b1291d0854641f21e8183e50919986d8ce7","tests/test_visibility.rs":"7d05f05b0782976369d21477ac9f4d35a7c7f36faa42127e3a9c12ada270baf8","tests/zzz_stable.rs":"2a862e59cb446235ed99aec0e6ada8e16d3ecc30229b29d825b7c0bbc2602989"},"package":"3df424c70518695237746f84cede799c9c58fcb37450d7b23716568cc8bc69cb"}
|
data/rust-vendor/syn/Cargo.lock
CHANGED
|
@@ -28,7 +28,7 @@ checksum = "e8b5778837666541195063243828c5b6139221b47dc4ec3ba81738e532469ab1"
|
|
|
28
28
|
dependencies = [
|
|
29
29
|
"proc-macro2",
|
|
30
30
|
"quote",
|
|
31
|
-
"syn 2.0.
|
|
31
|
+
"syn 2.0.115",
|
|
32
32
|
]
|
|
33
33
|
|
|
34
34
|
[[package]]
|
|
@@ -61,9 +61,9 @@ checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6"
|
|
|
61
61
|
|
|
62
62
|
[[package]]
|
|
63
63
|
name = "bitflags"
|
|
64
|
-
version = "2.
|
|
64
|
+
version = "2.11.0"
|
|
65
65
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
66
|
-
checksum = "
|
|
66
|
+
checksum = "843867be96c8daad0d758b57df9392b6d8d271134fce549de6ce169ff98a92af"
|
|
67
67
|
|
|
68
68
|
[[package]]
|
|
69
69
|
name = "bumpalo"
|
|
@@ -79,9 +79,9 @@ checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33"
|
|
|
79
79
|
|
|
80
80
|
[[package]]
|
|
81
81
|
name = "cc"
|
|
82
|
-
version = "1.2.
|
|
82
|
+
version = "1.2.56"
|
|
83
83
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
84
|
-
checksum = "
|
|
84
|
+
checksum = "aebf35691d1bfb0ac386a69bac2fde4dd276fb618cf8bf4f5318fe285e821bb2"
|
|
85
85
|
dependencies = [
|
|
86
86
|
"find-msvc-tools",
|
|
87
87
|
"jobserver",
|
|
@@ -206,7 +206,7 @@ checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0"
|
|
|
206
206
|
dependencies = [
|
|
207
207
|
"proc-macro2",
|
|
208
208
|
"quote",
|
|
209
|
-
"syn 2.0.
|
|
209
|
+
"syn 2.0.115",
|
|
210
210
|
]
|
|
211
211
|
|
|
212
212
|
[[package]]
|
|
@@ -314,9 +314,9 @@ checksum = "42703706b716c37f96a77aea830392ad231f44c9e9a67872fa5548707e11b11c"
|
|
|
314
314
|
|
|
315
315
|
[[package]]
|
|
316
316
|
name = "futures-channel"
|
|
317
|
-
version = "0.3.
|
|
317
|
+
version = "0.3.32"
|
|
318
318
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
319
|
-
checksum = "
|
|
319
|
+
checksum = "07bbe89c50d7a535e539b8c17bc0b49bdb77747034daa8087407d655f3f7cc1d"
|
|
320
320
|
dependencies = [
|
|
321
321
|
"futures-core",
|
|
322
322
|
"futures-sink",
|
|
@@ -324,33 +324,33 @@ dependencies = [
|
|
|
324
324
|
|
|
325
325
|
[[package]]
|
|
326
326
|
name = "futures-core"
|
|
327
|
-
version = "0.3.
|
|
327
|
+
version = "0.3.32"
|
|
328
328
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
329
|
-
checksum = "
|
|
329
|
+
checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
|
|
330
330
|
|
|
331
331
|
[[package]]
|
|
332
332
|
name = "futures-io"
|
|
333
|
-
version = "0.3.
|
|
333
|
+
version = "0.3.32"
|
|
334
334
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
335
|
-
checksum = "
|
|
335
|
+
checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718"
|
|
336
336
|
|
|
337
337
|
[[package]]
|
|
338
338
|
name = "futures-sink"
|
|
339
|
-
version = "0.3.
|
|
339
|
+
version = "0.3.32"
|
|
340
340
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
341
|
-
checksum = "
|
|
341
|
+
checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
|
|
342
342
|
|
|
343
343
|
[[package]]
|
|
344
344
|
name = "futures-task"
|
|
345
|
-
version = "0.3.
|
|
345
|
+
version = "0.3.32"
|
|
346
346
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
347
|
-
checksum = "
|
|
347
|
+
checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
|
|
348
348
|
|
|
349
349
|
[[package]]
|
|
350
350
|
name = "futures-util"
|
|
351
|
-
version = "0.3.
|
|
351
|
+
version = "0.3.32"
|
|
352
352
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
353
|
-
checksum = "
|
|
353
|
+
checksum = "389ca41296e6190b48053de0321d02a77f32f8a5d2461dd38762c0593805c6d6"
|
|
354
354
|
dependencies = [
|
|
355
355
|
"futures-core",
|
|
356
356
|
"futures-io",
|
|
@@ -358,7 +358,6 @@ dependencies = [
|
|
|
358
358
|
"futures-task",
|
|
359
359
|
"memchr",
|
|
360
360
|
"pin-project-lite",
|
|
361
|
-
"pin-utils",
|
|
362
361
|
"slab",
|
|
363
362
|
]
|
|
364
363
|
|
|
@@ -748,9 +747,9 @@ checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2"
|
|
|
748
747
|
|
|
749
748
|
[[package]]
|
|
750
749
|
name = "libc"
|
|
751
|
-
version = "0.2.
|
|
750
|
+
version = "0.2.182"
|
|
752
751
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
753
|
-
checksum = "
|
|
752
|
+
checksum = "6800badb6cb2082ffd7b6a67e6125bb39f18782f793520caee8cb8846be06112"
|
|
754
753
|
|
|
755
754
|
[[package]]
|
|
756
755
|
name = "libredox"
|
|
@@ -875,7 +874,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
|
875
874
|
checksum = "479ca8adacdd7ce8f1fb39ce9ecccbfe93a3f1344b3d0d97f20bc0196208f62b"
|
|
876
875
|
dependencies = [
|
|
877
876
|
"proc-macro2",
|
|
878
|
-
"syn 2.0.
|
|
877
|
+
"syn 2.0.115",
|
|
879
878
|
]
|
|
880
879
|
|
|
881
880
|
[[package]]
|
|
@@ -1033,7 +1032,7 @@ checksum = "b7186006dcb21920990093f30e3dea63b7d6e977bf1256be20c3563a5db070da"
|
|
|
1033
1032
|
dependencies = [
|
|
1034
1033
|
"proc-macro2",
|
|
1035
1034
|
"quote",
|
|
1036
|
-
"syn 2.0.
|
|
1035
|
+
"syn 2.0.115",
|
|
1037
1036
|
]
|
|
1038
1037
|
|
|
1039
1038
|
[[package]]
|
|
@@ -1210,9 +1209,9 @@ dependencies = [
|
|
|
1210
1209
|
|
|
1211
1210
|
[[package]]
|
|
1212
1211
|
name = "security-framework"
|
|
1213
|
-
version = "3.
|
|
1212
|
+
version = "3.6.0"
|
|
1214
1213
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1215
|
-
checksum = "
|
|
1214
|
+
checksum = "d17b898a6d6948c3a8ee4372c17cb384f90d2e6e912ef00895b14fd7ab54ec38"
|
|
1216
1215
|
dependencies = [
|
|
1217
1216
|
"bitflags",
|
|
1218
1217
|
"core-foundation 0.10.1",
|
|
@@ -1223,9 +1222,9 @@ dependencies = [
|
|
|
1223
1222
|
|
|
1224
1223
|
[[package]]
|
|
1225
1224
|
name = "security-framework-sys"
|
|
1226
|
-
version = "2.
|
|
1225
|
+
version = "2.16.0"
|
|
1227
1226
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1228
|
-
checksum = "
|
|
1227
|
+
checksum = "321c8673b092a9a42605034a9879d73cb79101ed5fd117bc9a597b89b4e9e61a"
|
|
1229
1228
|
dependencies = [
|
|
1230
1229
|
"core-foundation-sys",
|
|
1231
1230
|
"libc",
|
|
@@ -1264,7 +1263,7 @@ checksum = "d540f220d3187173da220f885ab66608367b6574e925011a9353e4badda91d79"
|
|
|
1264
1263
|
dependencies = [
|
|
1265
1264
|
"proc-macro2",
|
|
1266
1265
|
"quote",
|
|
1267
|
-
"syn 2.0.
|
|
1266
|
+
"syn 2.0.115",
|
|
1268
1267
|
]
|
|
1269
1268
|
|
|
1270
1269
|
[[package]]
|
|
@@ -1334,9 +1333,9 @@ checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292"
|
|
|
1334
1333
|
|
|
1335
1334
|
[[package]]
|
|
1336
1335
|
name = "syn"
|
|
1337
|
-
version = "2.0.
|
|
1336
|
+
version = "2.0.115"
|
|
1338
1337
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1339
|
-
checksum = "
|
|
1338
|
+
checksum = "6e614ed320ac28113fa64972c4262d5dbc89deacdfd00c34a3e4cea073243c12"
|
|
1340
1339
|
dependencies = [
|
|
1341
1340
|
"proc-macro2",
|
|
1342
1341
|
"quote",
|
|
@@ -1345,7 +1344,7 @@ dependencies = [
|
|
|
1345
1344
|
|
|
1346
1345
|
[[package]]
|
|
1347
1346
|
name = "syn"
|
|
1348
|
-
version = "2.0.
|
|
1347
|
+
version = "2.0.116"
|
|
1349
1348
|
dependencies = [
|
|
1350
1349
|
"anyhow",
|
|
1351
1350
|
"automod",
|
|
@@ -1387,7 +1386,7 @@ checksum = "728a70f3dbaf5bab7f0c4b1ac8d7ae5ea60a4b5549c8a5914361c99147a709d2"
|
|
|
1387
1386
|
dependencies = [
|
|
1388
1387
|
"proc-macro2",
|
|
1389
1388
|
"quote",
|
|
1390
|
-
"syn 2.0.
|
|
1389
|
+
"syn 2.0.115",
|
|
1391
1390
|
]
|
|
1392
1391
|
|
|
1393
1392
|
[[package]]
|
|
@@ -1470,7 +1469,7 @@ checksum = "4fee6c4efc90059e10f81e6d42c60a18f76588c3d74cb83a0b242a2b6c7504c1"
|
|
|
1470
1469
|
dependencies = [
|
|
1471
1470
|
"proc-macro2",
|
|
1472
1471
|
"quote",
|
|
1473
|
-
"syn 2.0.
|
|
1472
|
+
"syn 2.0.115",
|
|
1474
1473
|
]
|
|
1475
1474
|
|
|
1476
1475
|
[[package]]
|
|
@@ -1481,7 +1480,7 @@ checksum = "ebc4ee7f67670e9b64d05fa4253e753e016c6c95ff35b89b7941d6b856dec1d5"
|
|
|
1481
1480
|
dependencies = [
|
|
1482
1481
|
"proc-macro2",
|
|
1483
1482
|
"quote",
|
|
1484
|
-
"syn 2.0.
|
|
1483
|
+
"syn 2.0.115",
|
|
1485
1484
|
]
|
|
1486
1485
|
|
|
1487
1486
|
[[package]]
|
|
@@ -1741,7 +1740,7 @@ dependencies = [
|
|
|
1741
1740
|
"bumpalo",
|
|
1742
1741
|
"proc-macro2",
|
|
1743
1742
|
"quote",
|
|
1744
|
-
"syn 2.0.
|
|
1743
|
+
"syn 2.0.115",
|
|
1745
1744
|
"wasm-bindgen-shared",
|
|
1746
1745
|
]
|
|
1747
1746
|
|
|
@@ -2122,7 +2121,7 @@ dependencies = [
|
|
|
2122
2121
|
"heck",
|
|
2123
2122
|
"indexmap",
|
|
2124
2123
|
"prettyplease",
|
|
2125
|
-
"syn 2.0.
|
|
2124
|
+
"syn 2.0.115",
|
|
2126
2125
|
"wasm-metadata",
|
|
2127
2126
|
"wit-bindgen-core",
|
|
2128
2127
|
"wit-component",
|
|
@@ -2138,7 +2137,7 @@ dependencies = [
|
|
|
2138
2137
|
"prettyplease",
|
|
2139
2138
|
"proc-macro2",
|
|
2140
2139
|
"quote",
|
|
2141
|
-
"syn 2.0.
|
|
2140
|
+
"syn 2.0.115",
|
|
2142
2141
|
"wit-bindgen-core",
|
|
2143
2142
|
"wit-bindgen-rust",
|
|
2144
2143
|
]
|
|
@@ -2215,7 +2214,7 @@ checksum = "b659052874eb698efe5b9e8cf382204678a0086ebf46982b79d6ca3182927e5d"
|
|
|
2215
2214
|
dependencies = [
|
|
2216
2215
|
"proc-macro2",
|
|
2217
2216
|
"quote",
|
|
2218
|
-
"syn 2.0.
|
|
2217
|
+
"syn 2.0.115",
|
|
2219
2218
|
"synstructure",
|
|
2220
2219
|
]
|
|
2221
2220
|
|
|
@@ -2236,7 +2235,7 @@ checksum = "4122cd3169e94605190e77839c9a40d40ed048d305bfdc146e7df40ab0f3e517"
|
|
|
2236
2235
|
dependencies = [
|
|
2237
2236
|
"proc-macro2",
|
|
2238
2237
|
"quote",
|
|
2239
|
-
"syn 2.0.
|
|
2238
|
+
"syn 2.0.115",
|
|
2240
2239
|
]
|
|
2241
2240
|
|
|
2242
2241
|
[[package]]
|
|
@@ -2256,7 +2255,7 @@ checksum = "d71e5d6e06ab090c67b5e44993ec16b72dcbaabc526db883a360057678b48502"
|
|
|
2256
2255
|
dependencies = [
|
|
2257
2256
|
"proc-macro2",
|
|
2258
2257
|
"quote",
|
|
2259
|
-
"syn 2.0.
|
|
2258
|
+
"syn 2.0.115",
|
|
2260
2259
|
"synstructure",
|
|
2261
2260
|
]
|
|
2262
2261
|
|
|
@@ -2296,7 +2295,7 @@ checksum = "eadce39539ca5cb3985590102671f2567e659fca9666581ad3411d59207951f3"
|
|
|
2296
2295
|
dependencies = [
|
|
2297
2296
|
"proc-macro2",
|
|
2298
2297
|
"quote",
|
|
2299
|
-
"syn 2.0.
|
|
2298
|
+
"syn 2.0.115",
|
|
2300
2299
|
]
|
|
2301
2300
|
|
|
2302
2301
|
[[package]]
|
data/rust-vendor/syn/Cargo.toml
CHANGED