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.
Files changed (231) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +2 -2
  3. data/README.md +1 -1
  4. data/ext/html-to-markdown-rb/native/Cargo.lock +9 -32
  5. data/ext/html-to-markdown-rb/native/Cargo.toml +1 -1
  6. data/lib/html_to_markdown/version.rb +1 -1
  7. data/rust-vendor/html-to-markdown-rs/Cargo.toml +0 -1
  8. data/rust-vendor/html-to-markdown-rs/src/converter/main_helpers.rs +1 -1
  9. data/rust-vendor/html-to-markdown-rs/src/hocr/converter/hierarchy.rs +20 -5
  10. data/rust-vendor/html-to-markdown-rs/src/lib.rs +1 -0
  11. data/rust-vendor/{markup5ever_rcdom/lib.rs → html-to-markdown-rs/src/rcdom.rs} +56 -91
  12. data/rust-vendor/html-to-markdown-rs/tests/hocr_compliance_test.rs +157 -0
  13. data/rust-vendor/memmap2/.cargo-checksum.json +1 -1
  14. data/rust-vendor/memmap2/.cargo_vcs_info.json +1 -1
  15. data/rust-vendor/memmap2/CHANGELOG.md +8 -0
  16. data/rust-vendor/memmap2/Cargo.lock +1 -1
  17. data/rust-vendor/memmap2/Cargo.toml +2 -1
  18. data/rust-vendor/memmap2/Cargo.toml.orig +2 -1
  19. data/rust-vendor/memmap2/src/lib.rs +25 -1
  20. data/rust-vendor/memmap2/src/stub.rs +1 -4
  21. data/rust-vendor/memmap2/src/unix.rs +14 -1
  22. data/rust-vendor/png/.cargo-checksum.json +1 -1
  23. data/rust-vendor/png/.cargo_vcs_info.json +1 -1
  24. data/rust-vendor/png/CHANGES.md +44 -0
  25. data/rust-vendor/png/Cargo.lock +124 -171
  26. data/rust-vendor/png/Cargo.toml +1 -1
  27. data/rust-vendor/png/Cargo.toml.orig +1 -1
  28. data/rust-vendor/png/benches/expand_paletted.rs +5 -5
  29. data/rust-vendor/png/benches/unfilter.rs +3 -3
  30. data/rust-vendor/png/src/adam7.rs +17 -10
  31. data/rust-vendor/png/src/common.rs +8 -8
  32. data/rust-vendor/png/src/decoder/mod.rs +53 -20
  33. data/rust-vendor/png/src/decoder/stream.rs +263 -78
  34. data/rust-vendor/png/src/decoder/unfiltering_buffer.rs +210 -53
  35. data/rust-vendor/png/src/decoder/zlib.rs +130 -90
  36. data/rust-vendor/png/src/encoder.rs +4 -2
  37. data/rust-vendor/png/src/{filter.rs → filter/mod.rs} +100 -367
  38. data/rust-vendor/png/src/filter/optimization-notes.md +104 -0
  39. data/rust-vendor/png/src/filter/paeth.rs +398 -0
  40. data/rust-vendor/png/src/filter/simd.rs +308 -0
  41. data/rust-vendor/png/src/lib.rs +1 -0
  42. data/rust-vendor/syn/.cargo-checksum.json +1 -1
  43. data/rust-vendor/syn/.cargo_vcs_info.json +1 -1
  44. data/rust-vendor/syn/Cargo.lock +40 -41
  45. data/rust-vendor/syn/Cargo.toml +1 -1
  46. data/rust-vendor/syn/Cargo.toml.orig +1 -1
  47. data/rust-vendor/syn/src/item.rs +61 -40
  48. data/rust-vendor/syn/src/lib.rs +2 -1
  49. data/rust-vendor/syn/tests/test_item.rs +54 -0
  50. data/rust-vendor/unicode-ident/.cargo-checksum.json +1 -1
  51. data/rust-vendor/unicode-ident/.cargo_vcs_info.json +1 -1
  52. data/rust-vendor/unicode-ident/Cargo.lock +21 -21
  53. data/rust-vendor/unicode-ident/Cargo.toml +1 -1
  54. data/rust-vendor/unicode-ident/Cargo.toml.orig +1 -1
  55. data/rust-vendor/unicode-ident/src/lib.rs +1 -1
  56. data/rust-vendor/unicode-ident/src/tables.rs +87 -97
  57. data/rust-vendor/unicode-ident/tests/static_size.rs +1 -1
  58. metadata +7 -177
  59. data/rust-vendor/markup5ever_rcdom/.cargo-checksum.json +0 -1
  60. data/rust-vendor/markup5ever_rcdom/.cargo_vcs_info.json +0 -7
  61. data/rust-vendor/markup5ever_rcdom/Cargo.lock +0 -658
  62. data/rust-vendor/markup5ever_rcdom/Cargo.toml +0 -109
  63. data/rust-vendor/markup5ever_rcdom/Cargo.toml.orig +0 -42
  64. data/rust-vendor/markup5ever_rcdom/LICENSE-APACHE +0 -201
  65. data/rust-vendor/markup5ever_rcdom/LICENSE-MIT +0 -25
  66. data/rust-vendor/markup5ever_rcdom/README.md +0 -7
  67. data/rust-vendor/markup5ever_rcdom/custom-html5lib-tokenizer-tests/regression.test +0 -69
  68. data/rust-vendor/markup5ever_rcdom/data/test/ignore +0 -1
  69. data/rust-vendor/markup5ever_rcdom/examples/hello_xml.rs +0 -39
  70. data/rust-vendor/markup5ever_rcdom/examples/html2html.rs +0 -51
  71. data/rust-vendor/markup5ever_rcdom/examples/print-rcdom.rs +0 -78
  72. data/rust-vendor/markup5ever_rcdom/examples/xml_tree_printer.rs +0 -67
  73. data/rust-vendor/markup5ever_rcdom/html5lib-tests/.gitattributes +0 -2
  74. data/rust-vendor/markup5ever_rcdom/html5lib-tests/.github/workflows/downstream.yml +0 -76
  75. data/rust-vendor/markup5ever_rcdom/html5lib-tests/.github/workflows/lint.yml +0 -25
  76. data/rust-vendor/markup5ever_rcdom/html5lib-tests/.gitignore +0 -79
  77. data/rust-vendor/markup5ever_rcdom/html5lib-tests/AUTHORS.rst +0 -34
  78. data/rust-vendor/markup5ever_rcdom/html5lib-tests/LICENSE +0 -21
  79. data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/chardet/test_big5.txt +0 -51
  80. data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/scripted/tests1.dat +0 -5
  81. data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/test-yahoo-jp.dat +0 -10
  82. data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/tests1.dat +0 -388
  83. data/rust-vendor/markup5ever_rcdom/html5lib-tests/encoding/tests2.dat +0 -115
  84. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint +0 -6
  85. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/__init__.py +0 -0
  86. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/__init__.py +0 -0
  87. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/LICENSE +0 -18
  88. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/__init__.py +0 -0
  89. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/lexer.py +0 -211
  90. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/lexer.pyi +0 -34
  91. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/parser.py +0 -872
  92. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/parser.pyi +0 -83
  93. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/py.typed +0 -0
  94. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/util.py +0 -72
  95. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/funcparserlib/util.pyi +0 -7
  96. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor/vendor.txt +0 -1
  97. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/_vendor-patches/funcparserlib.patch +0 -24
  98. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/lint.py +0 -280
  99. data/rust-vendor/markup5ever_rcdom/html5lib-tests/lint_lib/parser.py +0 -177
  100. data/rust-vendor/markup5ever_rcdom/html5lib-tests/pyproject.toml +0 -7
  101. data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/core.test +0 -125
  102. data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/injectmeta.test +0 -66
  103. data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/optionaltags.test +0 -965
  104. data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/options.test +0 -60
  105. data/rust-vendor/markup5ever_rcdom/html5lib-tests/serializer/whitespace.test +0 -51
  106. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/README.md +0 -107
  107. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/contentModelFlags.test +0 -93
  108. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/domjs.test +0 -335
  109. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/entities.test +0 -542
  110. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/escapeFlag.test +0 -36
  111. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/namedEntities.test +0 -42422
  112. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/numericEntities.test +0 -1677
  113. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/pendingSpecChanges.test +0 -9
  114. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/test1.test +0 -353
  115. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/test2.test +0 -275
  116. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/test3.test +0 -11233
  117. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/test4.test +0 -532
  118. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/unicodeChars.test +0 -1577
  119. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/unicodeCharsProblematic.test +0 -41
  120. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tokenizer/xmlViolation.test +0 -20
  121. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/README.md +0 -108
  122. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/adoption01.dat +0 -354
  123. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/adoption02.dat +0 -39
  124. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/blocks.dat +0 -695
  125. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/comments01.dat +0 -217
  126. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/doctype01.dat +0 -474
  127. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/domjs-unsafe.dat +0 -0
  128. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/entities01.dat +0 -943
  129. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/entities02.dat +0 -309
  130. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/foreign-fragment.dat +0 -645
  131. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/html5test-com.dat +0 -301
  132. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/inbody01.dat +0 -54
  133. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/isindex.dat +0 -49
  134. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/main-element.dat +0 -46
  135. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/math.dat +0 -104
  136. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/menuitem-element.dat +0 -240
  137. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/namespace-sensitivity.dat +0 -22
  138. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/noscript01.dat +0 -237
  139. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/pending-spec-changes-plain-text-unsafe.dat +0 -0
  140. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/pending-spec-changes.dat +0 -46
  141. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/plain-text-unsafe.dat +0 -0
  142. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/quirks01.dat +0 -53
  143. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/ruby.dat +0 -302
  144. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/scriptdata01.dat +0 -372
  145. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/scripted/adoption01.dat +0 -16
  146. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/scripted/ark.dat +0 -27
  147. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/scripted/webkit01.dat +0 -30
  148. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/search-element.dat +0 -46
  149. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/svg.dat +0 -104
  150. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tables01.dat +0 -322
  151. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/template.dat +0 -1673
  152. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests1.dat +0 -1956
  153. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests10.dat +0 -849
  154. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests11.dat +0 -523
  155. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests12.dat +0 -62
  156. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests14.dat +0 -75
  157. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests15.dat +0 -216
  158. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests16.dat +0 -2602
  159. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests17.dat +0 -179
  160. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests18.dat +0 -558
  161. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests19.dat +0 -1398
  162. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests2.dat +0 -831
  163. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests20.dat +0 -842
  164. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests21.dat +0 -306
  165. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests22.dat +0 -190
  166. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests23.dat +0 -168
  167. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests24.dat +0 -79
  168. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests25.dat +0 -288
  169. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests26.dat +0 -453
  170. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests3.dat +0 -305
  171. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests4.dat +0 -74
  172. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests5.dat +0 -210
  173. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests6.dat +0 -663
  174. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests7.dat +0 -453
  175. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests8.dat +0 -165
  176. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests9.dat +0 -472
  177. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tests_innerHTML_1.dat +0 -843
  178. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/tricky01.dat +0 -336
  179. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/webkit01.dat +0 -785
  180. data/rust-vendor/markup5ever_rcdom/html5lib-tests/tree-construction/webkit02.dat +0 -554
  181. data/rust-vendor/markup5ever_rcdom/tests/foreach_html5lib_test/mod.rs +0 -41
  182. data/rust-vendor/markup5ever_rcdom/tests/html-driver.rs +0 -29
  183. data/rust-vendor/markup5ever_rcdom/tests/html-serializer.rs +0 -265
  184. data/rust-vendor/markup5ever_rcdom/tests/html-tokenizer.rs +0 -487
  185. data/rust-vendor/markup5ever_rcdom/tests/html-tree-builder.rs +0 -298
  186. data/rust-vendor/markup5ever_rcdom/tests/html-tree-sink.rs +0 -141
  187. data/rust-vendor/markup5ever_rcdom/tests/util/find_tests.rs +0 -34
  188. data/rust-vendor/markup5ever_rcdom/tests/util/runner.rs +0 -48
  189. data/rust-vendor/markup5ever_rcdom/tests/xml-driver.rs +0 -101
  190. data/rust-vendor/markup5ever_rcdom/tests/xml-tokenizer.rs +0 -374
  191. data/rust-vendor/markup5ever_rcdom/tests/xml-tree-builder.rs +0 -237
  192. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/AUTHORS.rst +0 -9
  193. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/LICENSE +0 -21
  194. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/README.md +0 -92
  195. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/comments.test +0 -274
  196. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/doctype.test +0 -3232
  197. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/entities.test +0 -283
  198. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/eof.test +0 -113
  199. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/namedEntities.test +0 -42210
  200. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/numericEntities.test +0 -1349
  201. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/test1.test +0 -162
  202. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/test2.test +0 -64
  203. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tokenizer/unicodeChars.test +0 -1295
  204. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tree-construction/README.md +0 -104
  205. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tree-construction/namespace.dat +0 -119
  206. data/rust-vendor/markup5ever_rcdom/xml5lib-tests/tree-construction/test1.dat +0 -124
  207. data/rust-vendor/xml5ever/.cargo-checksum.json +0 -1
  208. data/rust-vendor/xml5ever/.cargo_vcs_info.json +0 -6
  209. data/rust-vendor/xml5ever/Cargo.lock +0 -752
  210. data/rust-vendor/xml5ever/Cargo.toml +0 -69
  211. data/rust-vendor/xml5ever/Cargo.toml.orig +0 -29
  212. data/rust-vendor/xml5ever/LICENSE-APACHE +0 -201
  213. data/rust-vendor/xml5ever/LICENSE-MIT +0 -25
  214. data/rust-vendor/xml5ever/README.md +0 -72
  215. data/rust-vendor/xml5ever/benches/xml5ever.rs +0 -77
  216. data/rust-vendor/xml5ever/data/bench/strong.xml +0 -1
  217. data/rust-vendor/xml5ever/examples/README.md +0 -223
  218. data/rust-vendor/xml5ever/examples/example.xml +0 -3
  219. data/rust-vendor/xml5ever/examples/simple_xml_tokenizer.rs +0 -81
  220. data/rust-vendor/xml5ever/examples/xml_tokenizer.rs +0 -115
  221. data/rust-vendor/xml5ever/src/driver.rs +0 -90
  222. data/rust-vendor/xml5ever/src/lib.rs +0 -47
  223. data/rust-vendor/xml5ever/src/macros.rs +0 -18
  224. data/rust-vendor/xml5ever/src/serialize/mod.rs +0 -216
  225. data/rust-vendor/xml5ever/src/tokenizer/char_ref/mod.rs +0 -456
  226. data/rust-vendor/xml5ever/src/tokenizer/interface.rs +0 -116
  227. data/rust-vendor/xml5ever/src/tokenizer/mod.rs +0 -1344
  228. data/rust-vendor/xml5ever/src/tokenizer/qname.rs +0 -84
  229. data/rust-vendor/xml5ever/src/tokenizer/states.rs +0 -167
  230. data/rust-vendor/xml5ever/src/tree_builder/mod.rs +0 -774
  231. 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
+ }
@@ -66,6 +66,7 @@
66
66
  #![allow(clippy::derivable_impls)]
67
67
  // IIUC format args capture was stabilized in Rust 1.58.1.
68
68
  #![allow(clippy::uninlined_format_args)]
69
+ #![cfg_attr(feature = "unstable", feature(portable_simd))]
69
70
 
70
71
  mod adam7;
71
72
  pub mod chunk;
@@ -1 +1 @@
1
- {"files":{".cargo_vcs_info.json":"3b911446eca8dfa22b24c0599f428b5ec8b3a856359f75e571844376252d057c","Cargo.lock":"7b753ea893f95ffd4a30ebee4652aa3bc2edcdb8f97e2bf1c6b63b2de4a5616e","Cargo.toml":"674795aa8f719ac40de9154a39f1230ba1bbce7ab47913abae2fb4226b7f1674","Cargo.toml.orig":"c3c68a69c78c7ce1ec5782d873c10b8f2516a19e20471966f164eee955f90590","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":"f31cfa95cf4ba983acc740fd7673115f58de5c9e969fa371248b30825e828e39","src/lib.rs":"c6c573f6d215be6681b963a8765767961a4670bcf74bc69d28ce97f5c63a52b8","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":"f4119000784af2d65d5fd097830368a391c05b249f3df8c60613a98b16a322ca","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":"6e614ed320ac28113fa64972c4262d5dbc89deacdfd00c34a3e4cea073243c12"}
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"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "git": {
3
- "sha1": "3610c34ebd3f7c6c473d286294cd8e211ec3ebcd"
3
+ "sha1": "a62e54a48b3b05add5df0e80fe93906509ad72ae"
4
4
  },
5
5
  "path_in_vcs": ""
6
6
  }
@@ -28,7 +28,7 @@ checksum = "e8b5778837666541195063243828c5b6139221b47dc4ec3ba81738e532469ab1"
28
28
  dependencies = [
29
29
  "proc-macro2",
30
30
  "quote",
31
- "syn 2.0.114",
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.10.0"
64
+ version = "2.11.0"
65
65
  source = "registry+https://github.com/rust-lang/crates.io-index"
66
- checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
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.55"
82
+ version = "1.2.56"
83
83
  source = "registry+https://github.com/rust-lang/crates.io-index"
84
- checksum = "47b26a0954ae34af09b50f0de26458fa95369a0d478d8236d3f93082b219bd29"
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.114",
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.31"
317
+ version = "0.3.32"
318
318
  source = "registry+https://github.com/rust-lang/crates.io-index"
319
- checksum = "2dff15bf788c671c1934e366d07e30c1814a8ef514e1af724a602e8a2fbe1b10"
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.31"
327
+ version = "0.3.32"
328
328
  source = "registry+https://github.com/rust-lang/crates.io-index"
329
- checksum = "05f29059c0c2090612e8d742178b0580d2dc940c837851ad723096f87af6663e"
329
+ checksum = "7e3450815272ef58cec6d564423f6e755e25379b217b0bc688e295ba24df6b1d"
330
330
 
331
331
  [[package]]
332
332
  name = "futures-io"
333
- version = "0.3.31"
333
+ version = "0.3.32"
334
334
  source = "registry+https://github.com/rust-lang/crates.io-index"
335
- checksum = "9e5c1b78ca4aae1ac06c48a526a655760685149f0d465d21f37abfe57ce075c6"
335
+ checksum = "cecba35d7ad927e23624b22ad55235f2239cfa44fd10428eecbeba6d6a717718"
336
336
 
337
337
  [[package]]
338
338
  name = "futures-sink"
339
- version = "0.3.31"
339
+ version = "0.3.32"
340
340
  source = "registry+https://github.com/rust-lang/crates.io-index"
341
- checksum = "e575fab7d1e0dcb8d0c7bcf9a63ee213816ab51902e6d244a95819acacf1d4f7"
341
+ checksum = "c39754e157331b013978ec91992bde1ac089843443c49cbc7f46150b0fad0893"
342
342
 
343
343
  [[package]]
344
344
  name = "futures-task"
345
- version = "0.3.31"
345
+ version = "0.3.32"
346
346
  source = "registry+https://github.com/rust-lang/crates.io-index"
347
- checksum = "f90f7dce0722e95104fcb095585910c0977252f286e354b5e3bd38902cd99988"
347
+ checksum = "037711b3d59c33004d3856fbdc83b99d4ff37a24768fa1be9ce3538a1cde4393"
348
348
 
349
349
  [[package]]
350
350
  name = "futures-util"
351
- version = "0.3.31"
351
+ version = "0.3.32"
352
352
  source = "registry+https://github.com/rust-lang/crates.io-index"
353
- checksum = "9fa08315bb612088cc391249efdc3bc77536f16c91f6cf495e6fbe85b20a4a81"
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.181"
750
+ version = "0.2.182"
752
751
  source = "registry+https://github.com/rust-lang/crates.io-index"
753
- checksum = "459427e2af2b9c839b132acb702a1c654d95e10f8c326bfc2ad11310e458b1c5"
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.114",
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.114",
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.5.1"
1212
+ version = "3.6.0"
1214
1213
  source = "registry+https://github.com/rust-lang/crates.io-index"
1215
- checksum = "b3297343eaf830f66ede390ea39da1d462b6b0c1b000f420d0a83f898bbbe6ef"
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.15.0"
1225
+ version = "2.16.0"
1227
1226
  source = "registry+https://github.com/rust-lang/crates.io-index"
1228
- checksum = "cc1f0cbffaac4852523ce30d8bd3c5cdc873501d96ff467ca09b6767bb8cd5c0"
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.114",
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.114"
1336
+ version = "2.0.115"
1338
1337
  source = "registry+https://github.com/rust-lang/crates.io-index"
1339
- checksum = "d4d107df263a3013ef9b1879b0df87d706ff80f65a86ea879bd9c31f9b307c2a"
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.115"
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.114",
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.114",
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.114",
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.114",
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.114",
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.114",
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.114",
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.114",
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.114",
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.114",
2298
+ "syn 2.0.115",
2300
2299
  ]
2301
2300
 
2302
2301
  [[package]]
@@ -13,7 +13,7 @@
13
13
  edition = "2021"
14
14
  rust-version = "1.71"
15
15
  name = "syn"
16
- version = "2.0.115"
16
+ version = "2.0.116"
17
17
  authors = ["David Tolnay <dtolnay@gmail.com>"]
18
18
  build = false
19
19
  include = [
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "syn"
3
- version = "2.0.115"
3
+ version = "2.0.116"
4
4
  authors = ["David Tolnay <dtolnay@gmail.com>"]
5
5
  categories = ["development-tools::procedural-macro-helpers", "parser-implementations"]
6
6
  description = "Parser for Rust source code"