html-to-markdown 2.23.4 → 2.24.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 (585) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +7 -7
  3. data/README.md +9 -7
  4. data/ext/html-to-markdown-rb/native/Cargo.lock +21 -21
  5. data/ext/html-to-markdown-rb/native/Cargo.toml +1 -3
  6. data/lib/html_to_markdown/cli_proxy.rb +5 -2
  7. data/lib/html_to_markdown/version.rb +1 -1
  8. data/rust-vendor/cc/.cargo-checksum.json +1 -1
  9. data/rust-vendor/cc/.cargo_vcs_info.json +1 -1
  10. data/rust-vendor/cc/CHANGELOG.md +7 -0
  11. data/rust-vendor/cc/Cargo.lock +1 -1
  12. data/rust-vendor/cc/Cargo.toml +1 -1
  13. data/rust-vendor/cc/Cargo.toml.orig +1 -1
  14. data/rust-vendor/cc/src/target/generated.rs +1 -0
  15. data/rust-vendor/cc/src/target/parser.rs +4 -0
  16. data/rust-vendor/html-to-markdown-rs/README.md +1 -1
  17. data/rust-vendor/html-to-markdown-rs/src/convert_api.rs +90 -15
  18. data/rust-vendor/html-to-markdown-rs/src/converter/block/preformatted.rs +15 -4
  19. data/rust-vendor/html-to-markdown-rs/src/converter/handlers/graphic.rs +5 -3
  20. data/rust-vendor/html-to-markdown-rs/src/converter/media/svg.rs +5 -1
  21. data/rust-vendor/html-to-markdown-rs/src/converter/text/processing.rs +15 -8
  22. data/rust-vendor/html-to-markdown-rs/src/converter/utility/preprocessing.rs +43 -18
  23. data/rust-vendor/html-to-markdown-rs/src/lib.rs +6 -6
  24. data/rust-vendor/html-to-markdown-rs/src/validation.rs +68 -29
  25. data/rust-vendor/html-to-markdown-rs/tests/issue_190_regressions.rs +121 -0
  26. data/rust-vendor/html-to-markdown-rs/tests/skip_images_test.rs +21 -0
  27. data/rust-vendor/proc-macro2/.cargo-checksum.json +1 -1
  28. data/rust-vendor/proc-macro2/.cargo_vcs_info.json +1 -1
  29. data/rust-vendor/proc-macro2/Cargo.lock +14 -89
  30. data/rust-vendor/proc-macro2/Cargo.toml +1 -1
  31. data/rust-vendor/proc-macro2/Cargo.toml.orig +1 -1
  32. data/rust-vendor/proc-macro2/src/fallback.rs +37 -23
  33. data/rust-vendor/proc-macro2/src/lib.rs +1 -1
  34. data/rust-vendor/quote/.cargo-checksum.json +1 -1
  35. data/rust-vendor/quote/.cargo_vcs_info.json +1 -1
  36. data/rust-vendor/quote/.github/workflows/ci.yml +1 -1
  37. data/rust-vendor/quote/Cargo.lock +17 -17
  38. data/rust-vendor/quote/Cargo.toml +1 -1
  39. data/rust-vendor/quote/Cargo.toml.orig +1 -1
  40. data/rust-vendor/quote/src/format.rs +2 -2
  41. data/rust-vendor/quote/src/lib.rs +1 -1
  42. data/rust-vendor/quote/src/runtime.rs +2 -2
  43. data/rust-vendor/quote/tests/test.rs +6 -0
  44. data/rust-vendor/quote/tests/ui/does-not-have-iter-interpolated-dup.stderr +2 -2
  45. data/rust-vendor/quote/tests/ui/does-not-have-iter-interpolated.stderr +2 -2
  46. data/rust-vendor/quote/tests/ui/does-not-have-iter-separated.stderr +2 -2
  47. data/rust-vendor/quote/tests/ui/does-not-have-iter.stderr +2 -2
  48. data/rust-vendor/quote/tests/ui/not-repeatable.stderr +8 -8
  49. data/rust-vendor/siphasher/.cargo-checksum.json +1 -1
  50. data/rust-vendor/siphasher/.cargo_vcs_info.json +1 -1
  51. data/rust-vendor/siphasher/.github/workflows/issues.yml +17 -0
  52. data/rust-vendor/siphasher/COPYING +1 -1
  53. data/rust-vendor/siphasher/Cargo.lock +89 -0
  54. data/rust-vendor/siphasher/Cargo.toml +23 -13
  55. data/rust-vendor/siphasher/Cargo.toml.orig +1 -1
  56. data/rust-vendor/siphasher/src/common.rs +65 -0
  57. data/rust-vendor/siphasher/src/lib.rs +1 -1
  58. data/rust-vendor/siphasher/src/sip.rs +2 -68
  59. data/rust-vendor/siphasher/src/sip128.rs +15 -74
  60. data/rust-vendor/siphasher/src/tests.rs +1 -1
  61. data/rust-vendor/siphasher/src/tests128.rs +1 -1
  62. data/rust-vendor/uuid/.cargo-checksum.json +1 -1
  63. data/rust-vendor/uuid/.cargo_vcs_info.json +1 -1
  64. data/rust-vendor/uuid/Cargo.lock +125 -96
  65. data/rust-vendor/uuid/Cargo.toml +4 -11
  66. data/rust-vendor/uuid/Cargo.toml.orig +5 -14
  67. data/rust-vendor/uuid/README.md +3 -3
  68. data/rust-vendor/uuid/src/builder.rs +2 -1
  69. data/rust-vendor/uuid/src/external/serde_support.rs +209 -142
  70. data/rust-vendor/uuid/src/lib.rs +9 -11
  71. data/rust-vendor/uuid/src/macros.rs +9 -54
  72. data/rust-vendor/uuid/src/non_nil.rs +49 -2
  73. data/rust-vendor/web_atoms/.cargo-checksum.json +1 -1
  74. data/rust-vendor/web_atoms/.cargo_vcs_info.json +1 -1
  75. data/rust-vendor/web_atoms/Cargo.lock +1 -1
  76. data/rust-vendor/web_atoms/Cargo.toml +1 -1
  77. data/rust-vendor/web_atoms/Cargo.toml.orig +1 -1
  78. data/rust-vendor/web_atoms/local_names.txt +3 -0
  79. data/rust-vendor/zerocopy/.cargo-checksum.json +1 -1
  80. data/rust-vendor/zerocopy/.cargo_vcs_info.json +1 -1
  81. data/rust-vendor/zerocopy/Cargo.lock +5 -9
  82. data/rust-vendor/zerocopy/Cargo.toml +10 -18
  83. data/rust-vendor/zerocopy/Cargo.toml.orig +6 -14
  84. data/rust-vendor/zerocopy/Cargo.toml.std +58 -0
  85. data/rust-vendor/zerocopy/agent_docs/ui_tests.md +5 -5
  86. data/rust-vendor/zerocopy/cargo.sh +1 -1
  87. data/rust-vendor/zerocopy/ci/check_fmt.sh +1 -1
  88. data/rust-vendor/zerocopy/ci/check_readme.sh +1 -1
  89. data/rust-vendor/zerocopy/ci/check_stale_stderr.sh +44 -0
  90. data/rust-vendor/zerocopy/githooks/pre-push +2 -0
  91. data/rust-vendor/zerocopy/src/byte_slice.rs +1 -1
  92. data/rust-vendor/zerocopy/src/byteorder.rs +0 -1
  93. data/rust-vendor/zerocopy/src/impls.rs +334 -118
  94. data/rust-vendor/zerocopy/src/layout.rs +9 -0
  95. data/rust-vendor/zerocopy/src/lib.rs +163 -74
  96. data/rust-vendor/zerocopy/src/macros.rs +4 -8
  97. data/rust-vendor/zerocopy/src/pointer/inner.rs +4 -4
  98. data/rust-vendor/zerocopy/src/pointer/invariant.rs +22 -5
  99. data/rust-vendor/zerocopy/src/pointer/mod.rs +155 -18
  100. data/rust-vendor/zerocopy/src/pointer/ptr.rs +133 -182
  101. data/rust-vendor/zerocopy/src/pointer/transmute.rs +99 -106
  102. data/rust-vendor/zerocopy/src/ref.rs +4 -4
  103. data/rust-vendor/zerocopy/src/util/macro_util.rs +73 -127
  104. data/rust-vendor/zerocopy/src/util/macros.rs +61 -150
  105. data/rust-vendor/zerocopy/src/wrappers.rs +249 -3
  106. data/rust-vendor/zerocopy/tests/include.rs +67 -0
  107. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-from-bytes.rs +1 -3
  108. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-from-bytes.stderr +6 -6
  109. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-from-zeros.rs +1 -3
  110. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-from-zeros.stderr +4 -4
  111. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-immutable.rs +1 -3
  112. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-immutable.stderr +6 -6
  113. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-into-bytes.rs +1 -3
  114. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-into-bytes.stderr +6 -6
  115. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-issue-1296.rs +1 -3
  116. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-issue-1296.stderr +8 -8
  117. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-known-layout.rs +1 -3
  118. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-known-layout.stderr +6 -6
  119. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-try-from-bytes.rs +1 -3
  120. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-try-from-bytes.stderr +6 -6
  121. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-unaligned.rs +1 -3
  122. data/rust-vendor/zerocopy/tests/ui-msrv/diagnostic-not-implemented-unaligned.stderr +4 -4
  123. data/rust-vendor/zerocopy/tests/ui-msrv/include_value_not_from_bytes.rs +3 -5
  124. data/rust-vendor/zerocopy/tests/ui-msrv/include_value_not_from_bytes.stderr +10 -10
  125. data/rust-vendor/zerocopy/tests/ui-msrv/include_value_wrong_size.rs +1 -4
  126. data/rust-vendor/zerocopy/tests/ui-msrv/include_value_wrong_size.stderr +3 -3
  127. data/rust-vendor/zerocopy/tests/ui-msrv/invalid-impls/invalid-impls.rs +0 -1
  128. data/rust-vendor/zerocopy/tests/ui-msrv/invalid-impls/invalid-impls.stderr +35 -35
  129. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-dst-not-frombytes.rs +1 -3
  130. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-dst-not-frombytes.stderr +6 -6
  131. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-const.rs +1 -3
  132. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-const.stderr +10 -10
  133. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-a-reference.rs +0 -2
  134. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-a-reference.stderr +2 -2
  135. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-frombytes.rs +0 -2
  136. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-frombytes.stderr +2 -2
  137. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-intobytes.rs +0 -2
  138. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-not-intobytes.stderr +2 -2
  139. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-unsized.rs +0 -2
  140. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-dst-unsized.stderr +2 -2
  141. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-dst-not-references.rs +0 -2
  142. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-dst-not-references.stderr +2 -2
  143. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-immutable.rs +0 -2
  144. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-immutable.stderr +2 -2
  145. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-a-reference.rs +0 -2
  146. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-a-reference.stderr +2 -2
  147. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-frombytes.rs +0 -2
  148. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-frombytes.stderr +2 -2
  149. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-intobytes.rs +0 -2
  150. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-not-intobytes.stderr +2 -2
  151. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-unsized.rs +0 -2
  152. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-mut-src-unsized.stderr +2 -2
  153. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ptr-to-usize.rs +0 -2
  154. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ptr-to-usize.stderr +4 -4
  155. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-mutable.rs +0 -2
  156. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-mutable.stderr +6 -6
  157. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-a-reference.rs +0 -2
  158. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-a-reference.stderr +6 -6
  159. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-frombytes.rs +1 -3
  160. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-frombytes.stderr +6 -6
  161. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-nocell.rs +1 -3
  162. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-not-nocell.stderr +6 -6
  163. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-unsized.rs +0 -2
  164. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-dst-unsized.stderr +2 -2
  165. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-dst-not-references.rs +0 -2
  166. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-dst-not-references.stderr +8 -8
  167. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-a-reference.rs +0 -2
  168. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-a-reference.stderr +2 -2
  169. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-intobytes.rs +1 -3
  170. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-intobytes.stderr +12 -12
  171. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-nocell.rs +1 -3
  172. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-not-nocell.stderr +12 -12
  173. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-unsized.rs +0 -2
  174. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-ref-src-unsized.stderr +2 -2
  175. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-decrease.rs +1 -3
  176. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-decrease.stderr +2 -2
  177. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-increase-allow-shrink.rs +1 -3
  178. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-increase-allow-shrink.stderr +2 -2
  179. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-increase.rs +1 -3
  180. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-size-increase.stderr +2 -2
  181. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-src-not-intobytes.rs +1 -3
  182. data/rust-vendor/zerocopy/tests/ui-msrv/transmute-src-not-intobytes.stderr +6 -6
  183. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-dst-not-tryfrombytes.rs +1 -3
  184. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-dst-not-tryfrombytes.stderr +12 -12
  185. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-size-decrease.rs +1 -3
  186. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-size-decrease.stderr +2 -2
  187. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-size-increase.rs +1 -3
  188. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-size-increase.stderr +2 -2
  189. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-src-not-intobytes.rs +1 -3
  190. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute-src-not-intobytes.stderr +4 -4
  191. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-alignment-increase.rs +1 -3
  192. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-alignment-increase.stderr +2 -2
  193. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-dst-not-tryfrombytes.rs +1 -3
  194. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-dst-not-tryfrombytes.stderr +16 -16
  195. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-size-decrease.rs +1 -3
  196. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-size-decrease.stderr +2 -2
  197. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-size-increase.rs +1 -3
  198. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-size-increase.stderr +4 -4
  199. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-src-not-frombytes.rs +0 -2
  200. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-src-not-frombytes.stderr +6 -6
  201. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-src-not-intobytes.rs +0 -2
  202. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_mut-src-not-intobytes.stderr +6 -6
  203. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-alignment-increase.rs +1 -3
  204. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-alignment-increase.stderr +2 -2
  205. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-dst-mutable.rs +0 -2
  206. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-dst-mutable.stderr +4 -4
  207. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-dst-not-immutable-tryfrombytes.rs +1 -3
  208. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr +16 -16
  209. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-size-decrease.rs +1 -3
  210. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-size-decrease.stderr +2 -2
  211. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-size-increase.rs +1 -3
  212. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-size-increase.stderr +2 -2
  213. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-src-not-immutable-intobytes.rs +1 -3
  214. data/rust-vendor/zerocopy/tests/ui-msrv/try_transmute_ref-src-not-immutable-intobytes.stderr +8 -8
  215. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-from-bytes.rs +1 -3
  216. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-from-bytes.stderr +15 -15
  217. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-from-zeros.rs +1 -3
  218. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-from-zeros.stderr +12 -12
  219. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-immutable.rs +1 -3
  220. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-immutable.stderr +13 -13
  221. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-into-bytes.rs +1 -3
  222. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-into-bytes.stderr +8 -8
  223. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-issue-1296.rs +1 -3
  224. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-issue-1296.stderr +16 -16
  225. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-known-layout.rs +1 -3
  226. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-known-layout.stderr +8 -8
  227. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-try-from-bytes.rs +1 -3
  228. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-try-from-bytes.stderr +15 -15
  229. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-unaligned.rs +1 -3
  230. data/rust-vendor/zerocopy/tests/ui-nightly/diagnostic-not-implemented-unaligned.stderr +5 -5
  231. data/rust-vendor/zerocopy/tests/ui-nightly/include_value_not_from_bytes.rs +3 -5
  232. data/rust-vendor/zerocopy/tests/ui-nightly/include_value_not_from_bytes.stderr +21 -21
  233. data/rust-vendor/zerocopy/tests/ui-nightly/include_value_wrong_size.rs +1 -4
  234. data/rust-vendor/zerocopy/tests/ui-nightly/include_value_wrong_size.stderr +8 -8
  235. data/rust-vendor/zerocopy/tests/ui-nightly/invalid-impls/invalid-impls.rs +0 -1
  236. data/rust-vendor/zerocopy/tests/ui-nightly/invalid-impls/invalid-impls.stderr +35 -51
  237. data/rust-vendor/zerocopy/tests/ui-nightly/ptr-is-invariant-over-v.stderr +2 -2
  238. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-dst-not-frombytes.rs +1 -3
  239. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-dst-not-frombytes.stderr +15 -15
  240. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-const.rs +1 -3
  241. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-const.stderr +7 -7
  242. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-a-reference.rs +0 -2
  243. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-a-reference.stderr +2 -2
  244. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-frombytes.rs +0 -2
  245. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-frombytes.stderr +12 -12
  246. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-intobytes.rs +0 -2
  247. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-not-intobytes.stderr +5 -5
  248. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-unsized.rs +0 -2
  249. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-dst-unsized.stderr +3 -3
  250. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-dst-not-references.rs +0 -2
  251. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-dst-not-references.stderr +3 -3
  252. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-immutable.rs +0 -2
  253. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-immutable.stderr +2 -2
  254. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-a-reference.rs +0 -2
  255. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-a-reference.stderr +3 -3
  256. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-frombytes.rs +0 -2
  257. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-frombytes.stderr +12 -12
  258. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-intobytes.rs +0 -2
  259. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-not-intobytes.stderr +5 -5
  260. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-unsized.rs +0 -2
  261. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-mut-src-unsized.stderr +3 -3
  262. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ptr-to-usize.rs +0 -2
  263. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ptr-to-usize.stderr +4 -4
  264. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-mutable.rs +0 -2
  265. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-mutable.stderr +6 -6
  266. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-a-reference.rs +0 -2
  267. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-a-reference.stderr +6 -6
  268. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-frombytes.rs +1 -3
  269. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-frombytes.stderr +16 -16
  270. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-nocell.rs +1 -3
  271. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-not-nocell.stderr +14 -14
  272. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-unsized.rs +0 -2
  273. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-dst-unsized.stderr +3 -3
  274. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-dst-not-references.rs +0 -2
  275. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-dst-not-references.stderr +9 -9
  276. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-a-reference.rs +0 -2
  277. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-a-reference.stderr +3 -3
  278. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-intobytes.rs +1 -3
  279. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-intobytes.stderr +18 -18
  280. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-nocell.rs +1 -3
  281. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-not-nocell.stderr +28 -28
  282. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-unsized.rs +0 -2
  283. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-ref-src-unsized.stderr +3 -3
  284. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-decrease.rs +1 -3
  285. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-decrease.stderr +4 -4
  286. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-increase-allow-shrink.rs +1 -3
  287. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-increase-allow-shrink.stderr +4 -4
  288. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-increase.rs +1 -3
  289. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-size-increase.stderr +4 -4
  290. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-src-not-intobytes.rs +1 -3
  291. data/rust-vendor/zerocopy/tests/ui-nightly/transmute-src-not-intobytes.stderr +8 -8
  292. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-dst-not-tryfrombytes.rs +1 -3
  293. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-dst-not-tryfrombytes.stderr +43 -43
  294. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-size-decrease.rs +1 -3
  295. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-size-decrease.stderr +2 -2
  296. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-size-increase.rs +1 -3
  297. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-size-increase.stderr +2 -2
  298. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-src-not-intobytes.rs +1 -3
  299. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute-src-not-intobytes.stderr +8 -8
  300. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-alignment-increase.rs +1 -3
  301. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-alignment-increase.stderr +4 -4
  302. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-dst-not-tryfrombytes.rs +1 -3
  303. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-dst-not-tryfrombytes.stderr +51 -51
  304. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-size-decrease.rs +1 -3
  305. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-size-decrease.stderr +2 -2
  306. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-size-increase.rs +1 -3
  307. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-size-increase.stderr +4 -4
  308. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-src-not-frombytes.rs +0 -2
  309. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-src-not-frombytes.stderr +29 -29
  310. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-src-not-intobytes.rs +0 -2
  311. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_mut-src-not-intobytes.stderr +22 -22
  312. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-alignment-increase.rs +1 -3
  313. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-alignment-increase.stderr +4 -4
  314. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-dst-mutable.rs +0 -2
  315. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-dst-mutable.stderr +6 -6
  316. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-dst-not-immutable-tryfrombytes.rs +1 -3
  317. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr +56 -56
  318. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-size-decrease.rs +1 -3
  319. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-size-decrease.stderr +2 -2
  320. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-size-increase.rs +1 -3
  321. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-size-increase.stderr +4 -4
  322. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-src-not-immutable-intobytes.rs +1 -3
  323. data/rust-vendor/zerocopy/tests/ui-nightly/try_transmute_ref-src-not-immutable-intobytes.stderr +21 -21
  324. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-from-bytes.rs +1 -3
  325. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-from-bytes.stderr +15 -15
  326. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-from-zeros.rs +1 -3
  327. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-from-zeros.stderr +12 -12
  328. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-immutable.rs +1 -3
  329. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-immutable.stderr +13 -13
  330. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-into-bytes.rs +1 -3
  331. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-into-bytes.stderr +8 -8
  332. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-issue-1296.rs +1 -3
  333. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-issue-1296.stderr +16 -16
  334. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-known-layout.rs +1 -3
  335. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-known-layout.stderr +8 -8
  336. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-try-from-bytes.rs +1 -3
  337. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-try-from-bytes.stderr +15 -15
  338. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-unaligned.rs +1 -3
  339. data/rust-vendor/zerocopy/tests/ui-stable/diagnostic-not-implemented-unaligned.stderr +5 -5
  340. data/rust-vendor/zerocopy/tests/ui-stable/include_value_not_from_bytes.rs +3 -5
  341. data/rust-vendor/zerocopy/tests/ui-stable/include_value_not_from_bytes.stderr +21 -21
  342. data/rust-vendor/zerocopy/tests/ui-stable/include_value_wrong_size.rs +1 -4
  343. data/rust-vendor/zerocopy/tests/ui-stable/include_value_wrong_size.stderr +8 -8
  344. data/rust-vendor/zerocopy/tests/ui-stable/invalid-impls/invalid-impls.rs +0 -1
  345. data/rust-vendor/zerocopy/tests/ui-stable/invalid-impls/invalid-impls.stderr +37 -37
  346. data/rust-vendor/zerocopy/tests/ui-stable/ptr-is-invariant-over-v.stderr +2 -2
  347. data/rust-vendor/zerocopy/tests/ui-stable/transmute-dst-not-frombytes.rs +1 -3
  348. data/rust-vendor/zerocopy/tests/ui-stable/transmute-dst-not-frombytes.stderr +15 -15
  349. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-const.rs +1 -3
  350. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-const.stderr +6 -6
  351. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-a-reference.rs +0 -2
  352. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-a-reference.stderr +2 -2
  353. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-frombytes.rs +0 -2
  354. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-frombytes.stderr +11 -11
  355. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-intobytes.rs +0 -2
  356. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-not-intobytes.stderr +4 -4
  357. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-unsized.rs +0 -2
  358. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-dst-unsized.stderr +2 -2
  359. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-dst-not-references.rs +0 -2
  360. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-dst-not-references.stderr +3 -3
  361. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-immutable.rs +0 -2
  362. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-immutable.stderr +2 -2
  363. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-a-reference.rs +0 -2
  364. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-a-reference.stderr +3 -3
  365. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-frombytes.rs +0 -2
  366. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-frombytes.stderr +11 -11
  367. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-intobytes.rs +0 -2
  368. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-not-intobytes.stderr +4 -4
  369. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-unsized.rs +0 -2
  370. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-unsized.stderr +2 -2
  371. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ptr-to-usize.rs +0 -2
  372. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ptr-to-usize.stderr +9 -5
  373. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-mutable.rs +0 -2
  374. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-mutable.stderr +6 -6
  375. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-a-reference.rs +0 -2
  376. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-a-reference.stderr +6 -6
  377. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-frombytes.rs +1 -3
  378. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-frombytes.stderr +16 -16
  379. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-nocell.rs +1 -3
  380. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-not-nocell.stderr +14 -14
  381. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-unsized.rs +0 -2
  382. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-dst-unsized.stderr +2 -2
  383. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-dst-not-references.rs +0 -2
  384. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-dst-not-references.stderr +9 -9
  385. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-a-reference.rs +0 -2
  386. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-a-reference.stderr +3 -3
  387. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-intobytes.rs +1 -3
  388. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-intobytes.stderr +18 -18
  389. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-nocell.rs +1 -3
  390. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-not-nocell.stderr +28 -28
  391. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-unsized.rs +0 -2
  392. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-unsized.stderr +2 -2
  393. data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-decrease.rs +1 -3
  394. data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-decrease.stderr +4 -4
  395. data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-increase-allow-shrink.rs +1 -3
  396. data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-increase-allow-shrink.stderr +4 -4
  397. data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-increase.rs +1 -3
  398. data/rust-vendor/zerocopy/tests/ui-stable/transmute-size-increase.stderr +4 -4
  399. data/rust-vendor/zerocopy/tests/ui-stable/transmute-src-not-intobytes.rs +1 -3
  400. data/rust-vendor/zerocopy/tests/ui-stable/transmute-src-not-intobytes.stderr +8 -8
  401. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-dst-not-tryfrombytes.rs +1 -3
  402. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-dst-not-tryfrombytes.stderr +42 -42
  403. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-size-decrease.rs +1 -3
  404. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-size-decrease.stderr +2 -2
  405. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-size-increase.rs +1 -3
  406. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-size-increase.stderr +2 -2
  407. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-src-not-intobytes.rs +1 -3
  408. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute-src-not-intobytes.stderr +7 -7
  409. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-alignment-increase.rs +1 -3
  410. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-alignment-increase.stderr +2 -2
  411. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-dst-not-tryfrombytes.rs +1 -3
  412. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-dst-not-tryfrombytes.stderr +49 -49
  413. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-size-decrease.rs +1 -3
  414. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-size-decrease.stderr +2 -2
  415. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-size-increase.rs +1 -3
  416. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-size-increase.stderr +4 -4
  417. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-src-not-frombytes.rs +0 -2
  418. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-src-not-frombytes.stderr +26 -26
  419. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-src-not-intobytes.rs +0 -2
  420. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_mut-src-not-intobytes.stderr +19 -19
  421. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-alignment-increase.rs +1 -3
  422. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-alignment-increase.stderr +2 -2
  423. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-dst-mutable.rs +0 -2
  424. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-dst-mutable.stderr +6 -6
  425. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-dst-not-immutable-tryfrombytes.rs +1 -3
  426. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-dst-not-immutable-tryfrombytes.stderr +54 -54
  427. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-size-decrease.rs +1 -3
  428. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-size-decrease.stderr +2 -2
  429. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-size-increase.rs +1 -3
  430. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-size-increase.stderr +2 -2
  431. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-src-not-immutable-intobytes.rs +1 -3
  432. data/rust-vendor/zerocopy/tests/ui-stable/try_transmute_ref-src-not-immutable-intobytes.stderr +19 -19
  433. data/rust-vendor/zerocopy-derive/.cargo-checksum.json +1 -1
  434. data/rust-vendor/zerocopy-derive/.cargo_vcs_info.json +1 -1
  435. data/rust-vendor/zerocopy-derive/Cargo.lock +3 -11
  436. data/rust-vendor/zerocopy-derive/Cargo.toml +13 -11
  437. data/rust-vendor/zerocopy-derive/Cargo.toml.orig +7 -10
  438. data/rust-vendor/zerocopy-derive/src/derive/from_bytes.rs +188 -0
  439. data/rust-vendor/zerocopy-derive/src/derive/into_bytes.rs +158 -0
  440. data/rust-vendor/zerocopy-derive/src/derive/known_layout.rs +348 -0
  441. data/rust-vendor/zerocopy-derive/src/derive/mod.rs +130 -0
  442. data/rust-vendor/zerocopy-derive/src/derive/try_from_bytes.rs +729 -0
  443. data/rust-vendor/zerocopy-derive/src/derive/unaligned.rs +78 -0
  444. data/rust-vendor/zerocopy-derive/src/lib.rs +31 -1893
  445. data/rust-vendor/zerocopy-derive/src/output_tests/expected/eq.expected.rs +17 -0
  446. data/rust-vendor/zerocopy-derive/src/output_tests/expected/from_bytes_enum.expected.rs +64 -0
  447. data/rust-vendor/zerocopy-derive/src/output_tests/expected/from_bytes_struct.expected.rs +64 -0
  448. data/rust-vendor/zerocopy-derive/src/output_tests/expected/from_bytes_union.expected.rs +144 -0
  449. data/rust-vendor/zerocopy-derive/src/output_tests/expected/from_zeros.expected.rs +39 -0
  450. data/rust-vendor/zerocopy-derive/src/output_tests/expected/hash.expected.rs +24 -0
  451. data/rust-vendor/zerocopy-derive/src/output_tests/expected/immutable.expected.rs +17 -0
  452. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_enum.expected.rs +17 -0
  453. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_struct_basic.expected.rs +25 -0
  454. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_struct_empty.expected.rs +17 -0
  455. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_struct_trailing.expected.rs +25 -0
  456. data/rust-vendor/zerocopy-derive/src/output_tests/expected/into_bytes_struct_trailing_generic.expected.rs +21 -0
  457. data/rust-vendor/zerocopy-derive/src/output_tests/expected/known_layout_repr_c_struct.expected.rs +135 -0
  458. data/rust-vendor/zerocopy-derive/src/output_tests/expected/known_layout_struct.expected.rs +34 -0
  459. data/rust-vendor/zerocopy-derive/src/output_tests/expected/split_at_repr_c.expected.rs +22 -0
  460. data/rust-vendor/zerocopy-derive/src/output_tests/expected/split_at_repr_transparent.expected.rs +22 -0
  461. data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes.expected.rs +22 -0
  462. data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes_enum_1.expected.rs +2802 -0
  463. data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes_enum_2.expected.rs +2802 -0
  464. data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes_enum_3.expected.rs +2802 -0
  465. data/rust-vendor/zerocopy-derive/src/output_tests/expected/try_from_bytes_trivial_is_bit_valid_enum.expected.rs +22 -0
  466. data/rust-vendor/zerocopy-derive/src/output_tests/expected/unaligned.expected.rs +17 -0
  467. data/rust-vendor/zerocopy-derive/src/output_tests/mod.rs +960 -0
  468. data/rust-vendor/zerocopy-derive/src/util.rs +757 -0
  469. data/rust-vendor/zerocopy-derive/tests/deprecated.rs +6 -0
  470. data/rust-vendor/zerocopy-derive/tests/enum_from_zeros.rs +9 -0
  471. data/rust-vendor/zerocopy-derive/tests/enum_known_layout.rs +4 -0
  472. data/rust-vendor/zerocopy-derive/tests/enum_no_cell.rs +4 -0
  473. data/rust-vendor/zerocopy-derive/tests/enum_to_bytes.rs +14 -0
  474. data/rust-vendor/zerocopy-derive/tests/enum_try_from_bytes.rs +37 -15
  475. data/rust-vendor/zerocopy-derive/tests/enum_unaligned.rs +4 -0
  476. data/rust-vendor/zerocopy-derive/tests/eq.rs +1 -0
  477. data/rust-vendor/zerocopy-derive/tests/hash.rs +1 -0
  478. data/rust-vendor/zerocopy-derive/tests/hygiene.rs +3 -1
  479. data/rust-vendor/zerocopy-derive/tests/include.rs +26 -4
  480. data/rust-vendor/zerocopy-derive/tests/issue_2117.rs +1 -0
  481. data/rust-vendor/zerocopy-derive/tests/issue_2835.rs +2 -1
  482. data/rust-vendor/zerocopy-derive/tests/issue_2880.rs +292 -0
  483. data/rust-vendor/zerocopy-derive/tests/issue_2915.rs +78 -0
  484. data/rust-vendor/zerocopy-derive/tests/paths_and_modules.rs +3 -0
  485. data/rust-vendor/zerocopy-derive/tests/priv_in_pub.rs +2 -0
  486. data/rust-vendor/zerocopy-derive/tests/struct_from_bytes.rs +6 -0
  487. data/rust-vendor/zerocopy-derive/tests/struct_from_zeros.rs +6 -0
  488. data/rust-vendor/zerocopy-derive/tests/struct_known_layout.rs +9 -0
  489. data/rust-vendor/zerocopy-derive/tests/struct_no_cell.rs +8 -0
  490. data/rust-vendor/zerocopy-derive/tests/struct_to_bytes.rs +17 -0
  491. data/rust-vendor/zerocopy-derive/tests/struct_try_from_bytes.rs +29 -65
  492. data/rust-vendor/zerocopy-derive/tests/struct_unaligned.rs +7 -0
  493. data/rust-vendor/zerocopy-derive/tests/ui-msrv/derive_transparent.rs +3 -2
  494. data/rust-vendor/zerocopy-derive/tests/ui-msrv/derive_transparent.stderr +32 -32
  495. data/rust-vendor/zerocopy-derive/tests/ui-msrv/enum.rs +48 -1
  496. data/rust-vendor/zerocopy-derive/tests/ui-msrv/enum.stderr +129 -126
  497. data/rust-vendor/zerocopy-derive/tests/ui-msrv/enum_from_bytes_u8_too_few.rs +2 -1
  498. data/rust-vendor/zerocopy-derive/tests/ui-msrv/enum_from_bytes_u8_too_few.stderr +6 -6
  499. data/rust-vendor/zerocopy-derive/tests/ui-msrv/late_compile_pass.rs +9 -2
  500. data/rust-vendor/zerocopy-derive/tests/ui-msrv/late_compile_pass.stderr +37 -37
  501. data/rust-vendor/zerocopy-derive/tests/ui-msrv/mid_compile_pass.rs +6 -2
  502. data/rust-vendor/zerocopy-derive/tests/ui-msrv/mid_compile_pass.stderr +26 -26
  503. data/rust-vendor/zerocopy-derive/tests/ui-msrv/msrv_specific.rs +3 -2
  504. data/rust-vendor/zerocopy-derive/tests/ui-msrv/msrv_specific.stderr +7 -7
  505. data/rust-vendor/zerocopy-derive/tests/ui-msrv/privacy.rs +66 -29
  506. data/rust-vendor/zerocopy-derive/tests/ui-msrv/privacy.stderr +78 -78
  507. data/rust-vendor/zerocopy-derive/tests/ui-msrv/struct.rs +34 -2
  508. data/rust-vendor/zerocopy-derive/tests/ui-msrv/struct.stderr +79 -79
  509. data/rust-vendor/zerocopy-derive/tests/ui-msrv/union.rs +12 -1
  510. data/rust-vendor/zerocopy-derive/tests/ui-msrv/union.stderr +29 -29
  511. data/rust-vendor/zerocopy-derive/tests/ui-msrv/union_into_bytes_cfg/union_into_bytes_cfg.rs +3 -2
  512. data/rust-vendor/zerocopy-derive/tests/ui-nightly/absence_of_deprecated_warning.rs +3 -2
  513. data/rust-vendor/zerocopy-derive/tests/ui-nightly/absence_of_deprecated_warning.stderr +2 -2
  514. data/rust-vendor/zerocopy-derive/tests/ui-nightly/derive_transparent.rs +3 -2
  515. data/rust-vendor/zerocopy-derive/tests/ui-nightly/derive_transparent.stderr +57 -57
  516. data/rust-vendor/zerocopy-derive/tests/ui-nightly/enum.rs +48 -1
  517. data/rust-vendor/zerocopy-derive/tests/ui-nightly/enum.stderr +200 -192
  518. data/rust-vendor/zerocopy-derive/tests/ui-nightly/enum_from_bytes_u8_too_few.rs +2 -1
  519. data/rust-vendor/zerocopy-derive/tests/ui-nightly/enum_from_bytes_u8_too_few.stderr +6 -6
  520. data/rust-vendor/zerocopy-derive/tests/ui-nightly/late_compile_pass.rs +9 -2
  521. data/rust-vendor/zerocopy-derive/tests/ui-nightly/late_compile_pass.stderr +105 -105
  522. data/rust-vendor/zerocopy-derive/tests/ui-nightly/mid_compile_pass.rs +6 -2
  523. data/rust-vendor/zerocopy-derive/tests/ui-nightly/mid_compile_pass.stderr +29 -29
  524. data/rust-vendor/zerocopy-derive/tests/ui-nightly/privacy.rs +66 -29
  525. data/rust-vendor/zerocopy-derive/tests/ui-nightly/privacy.stderr +15 -15
  526. data/rust-vendor/zerocopy-derive/tests/ui-nightly/struct.rs +34 -2
  527. data/rust-vendor/zerocopy-derive/tests/ui-nightly/struct.stderr +130 -129
  528. data/rust-vendor/zerocopy-derive/tests/ui-nightly/union.rs +12 -1
  529. data/rust-vendor/zerocopy-derive/tests/ui-nightly/union.stderr +42 -42
  530. data/rust-vendor/zerocopy-derive/tests/ui-nightly/union_into_bytes_cfg/union_into_bytes_cfg.rs +3 -2
  531. data/rust-vendor/zerocopy-derive/tests/ui-stable/derive_transparent.rs +3 -2
  532. data/rust-vendor/zerocopy-derive/tests/ui-stable/derive_transparent.stderr +57 -57
  533. data/rust-vendor/zerocopy-derive/tests/ui-stable/enum.rs +48 -1
  534. data/rust-vendor/zerocopy-derive/tests/ui-stable/enum.stderr +201 -186
  535. data/rust-vendor/zerocopy-derive/tests/ui-stable/enum_from_bytes_u8_too_few.rs +2 -1
  536. data/rust-vendor/zerocopy-derive/tests/ui-stable/enum_from_bytes_u8_too_few.stderr +6 -6
  537. data/rust-vendor/zerocopy-derive/tests/ui-stable/late_compile_pass.rs +9 -2
  538. data/rust-vendor/zerocopy-derive/tests/ui-stable/late_compile_pass.stderr +105 -105
  539. data/rust-vendor/zerocopy-derive/tests/ui-stable/mid_compile_pass.rs +6 -2
  540. data/rust-vendor/zerocopy-derive/tests/ui-stable/mid_compile_pass.stderr +29 -29
  541. data/rust-vendor/zerocopy-derive/tests/ui-stable/privacy.rs +66 -29
  542. data/rust-vendor/zerocopy-derive/tests/ui-stable/privacy.stderr +15 -15
  543. data/rust-vendor/zerocopy-derive/tests/ui-stable/struct.rs +34 -2
  544. data/rust-vendor/zerocopy-derive/tests/ui-stable/struct.stderr +158 -129
  545. data/rust-vendor/zerocopy-derive/tests/ui-stable/union.rs +12 -1
  546. data/rust-vendor/zerocopy-derive/tests/ui-stable/union.stderr +48 -44
  547. data/rust-vendor/zerocopy-derive/tests/ui-stable/union_into_bytes_cfg/union_into_bytes_cfg.rs +3 -2
  548. data/rust-vendor/zerocopy-derive/tests/union_from_bytes.rs +15 -0
  549. data/rust-vendor/zerocopy-derive/tests/union_from_zeros.rs +14 -0
  550. data/rust-vendor/zerocopy-derive/tests/union_known_layout.rs +5 -0
  551. data/rust-vendor/zerocopy-derive/tests/union_no_cell.rs +5 -0
  552. data/rust-vendor/zerocopy-derive/tests/union_to_bytes.rs +5 -0
  553. data/rust-vendor/zerocopy-derive/tests/union_try_from_bytes.rs +34 -74
  554. data/rust-vendor/zerocopy-derive/tests/union_unaligned.rs +4 -1
  555. data/rust-vendor/zerocopy-derive/tests/unsafe_cell.rs +3 -0
  556. data/rust-vendor/zmij/.cargo-checksum.json +1 -1
  557. data/rust-vendor/zmij/.cargo_vcs_info.json +1 -1
  558. data/rust-vendor/zmij/Cargo.lock +10 -10
  559. data/rust-vendor/zmij/Cargo.toml +1 -1
  560. data/rust-vendor/zmij/Cargo.toml.orig +1 -1
  561. data/rust-vendor/zmij/README.md +1 -1
  562. data/rust-vendor/zmij/src/lib.rs +132 -158
  563. data/rust-vendor/zune-jpeg/.cargo-checksum.json +1 -1
  564. data/rust-vendor/zune-jpeg/.cargo_vcs_info.json +1 -1
  565. data/rust-vendor/zune-jpeg/Cargo.lock +1 -1
  566. data/rust-vendor/zune-jpeg/Cargo.toml +1 -1
  567. data/rust-vendor/zune-jpeg/Cargo.toml.orig +1 -1
  568. data/rust-vendor/zune-jpeg/src/bitstream.rs +1 -1
  569. data/rust-vendor/zune-jpeg/src/components.rs +2 -1
  570. data/rust-vendor/zune-jpeg/src/decoder.rs +3 -23
  571. data/rust-vendor/zune-jpeg/src/headers.rs +19 -1
  572. data/rust-vendor/zune-jpeg/src/lib.rs +1 -0
  573. data/rust-vendor/zune-jpeg/src/mcu.rs +6 -6
  574. data/rust-vendor/zune-jpeg/src/mcu_prog.rs +22 -34
  575. data/rust-vendor/zune-jpeg/src/upsampler/avx2.rs +3 -1
  576. data/rust-vendor/zune-jpeg/src/upsampler/neon.rs +13 -23
  577. data/rust-vendor/zune-jpeg/src/upsampler/portable_simd.rs +4 -1
  578. data/rust-vendor/zune-jpeg/src/upsampler/scalar.rs +4 -1
  579. metadata +41 -8
  580. data/rust-vendor/zerocopy/tests/ui-stable/transmute-mut-src-dst-unsized.stderr +0 -183
  581. data/rust-vendor/zerocopy/tests/ui-stable/transmute-ref-src-dst-unsized.stderr +0 -183
  582. data/rust-vendor/zerocopy-derive/src/enum.rs +0 -456
  583. data/rust-vendor/zerocopy-derive/src/ext.rs +0 -123
  584. data/rust-vendor/zerocopy-derive/src/output_tests.rs +0 -5608
  585. data/rust-vendor/zerocopy-derive/tests/crate_path.rs +0 -189
@@ -46,9 +46,9 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5"
46
46
 
47
47
  [[package]]
48
48
  name = "cc"
49
- version = "1.2.53"
49
+ version = "1.2.54"
50
50
  source = "registry+https://github.com/rust-lang/crates.io-index"
51
- checksum = "755d2fce177175ffca841e9a06afdb2c4ab0f593d53b4dee48147dfaade85932"
51
+ checksum = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583"
52
52
  dependencies = [
53
53
  "find-msvc-tools",
54
54
  "shlex",
@@ -301,18 +301,18 @@ dependencies = [
301
301
 
302
302
  [[package]]
303
303
  name = "proc-macro2"
304
- version = "1.0.105"
304
+ version = "1.0.106"
305
305
  source = "registry+https://github.com/rust-lang/crates.io-index"
306
- checksum = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7"
306
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
307
307
  dependencies = [
308
308
  "unicode-ident",
309
309
  ]
310
310
 
311
311
  [[package]]
312
312
  name = "quote"
313
- version = "1.0.43"
313
+ version = "1.0.44"
314
314
  source = "registry+https://github.com/rust-lang/crates.io-index"
315
- checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a"
315
+ checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
316
316
  dependencies = [
317
317
  "proc-macro2",
318
318
  ]
@@ -436,7 +436,7 @@ dependencies = [
436
436
  "memchr",
437
437
  "serde",
438
438
  "serde_core",
439
- "zmij 1.0.15",
439
+ "zmij 1.0.16",
440
440
  ]
441
441
 
442
442
  [[package]]
@@ -565,13 +565,13 @@ dependencies = [
565
565
 
566
566
  [[package]]
567
567
  name = "zmij"
568
- version = "1.0.15"
568
+ version = "1.0.16"
569
569
  source = "registry+https://github.com/rust-lang/crates.io-index"
570
- checksum = "94f63c051f4fe3c1509da62131a678643c5b6fbdc9273b2b79d4378ebda003d2"
570
+ checksum = "dfcd145825aace48cff44a8844de64bf75feec3080e0aa5cdbde72961ae51a65"
571
571
 
572
572
  [[package]]
573
573
  name = "zmij"
574
- version = "1.0.16"
574
+ version = "1.0.17"
575
575
  dependencies = [
576
576
  "criterion",
577
577
  "no-panic",
@@ -13,7 +13,7 @@
13
13
  edition = "2021"
14
14
  rust-version = "1.68"
15
15
  name = "zmij"
16
- version = "1.0.16"
16
+ version = "1.0.17"
17
17
  authors = ["David Tolnay <dtolnay@gmail.com>"]
18
18
  build = "build.rs"
19
19
  exclude = ["*.png"]
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "zmij"
3
- version = "1.0.16"
3
+ version = "1.0.17"
4
4
  authors = ["David Tolnay <dtolnay@gmail.com>"]
5
5
  categories = ["value-formatting", "no-std", "no-std::no-alloc"]
6
6
  description = "A double-to-string conversion algorithm based on Schubfach and yy"
@@ -11,7 +11,7 @@ numbers to decimal strings.
11
11
  This Rust implementation is a line-by-line port of Victor Zverovich's
12
12
  implementation in C++, [https://github.com/vitaut/zmij][upstream].
13
13
 
14
- [upstream]: https://github.com/vitaut/zmij/tree/964a4ad5597a4b67a45e92cca0e61521caeb511c
14
+ [upstream]: https://github.com/vitaut/zmij/tree/25bd96ee970eadf94f08fbd6ff39b712c4f55e7e
15
15
 
16
16
  ## Example
17
17
 
@@ -41,7 +41,7 @@
41
41
  //! ![performance](https://raw.githubusercontent.com/dtolnay/zmij/master/dtoa-benchmark.png)
42
42
 
43
43
  #![no_std]
44
- #![doc(html_root_url = "https://docs.rs/zmij/1.0.16")]
44
+ #![doc(html_root_url = "https://docs.rs/zmij/1.0.17")]
45
45
  #![deny(unsafe_op_in_unsafe_fn)]
46
46
  #![allow(non_camel_case_types, non_snake_case)]
47
47
  #![allow(
@@ -77,8 +77,6 @@ mod traits;
77
77
 
78
78
  #[cfg(all(any(target_arch = "aarch64", target_arch = "x86_64"), not(miri)))]
79
79
  use core::arch::asm;
80
- #[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
81
- use core::arch::x86_64::__m128i;
82
80
  #[cfg(not(zmij_no_select_unpredictable))]
83
81
  use core::hint;
84
82
  use core::mem::{self, MaybeUninit};
@@ -320,7 +318,7 @@ const fn do_compute_exp_shift(bin_exp: i32, dec_exp: i32) -> u8 {
320
318
 
321
319
  struct ExpShiftTable {
322
320
  data: [u8; if Self::ENABLE {
323
- Self::NUM_EXPS as usize
321
+ f64::EXP_MASK as usize + 1
324
322
  } else {
325
323
  1
326
324
  }],
@@ -328,27 +326,24 @@ struct ExpShiftTable {
328
326
 
329
327
  impl ExpShiftTable {
330
328
  const ENABLE: bool = true;
331
- const NUM_EXPS: i32 = f64::EXP_MASK + 1;
332
329
  }
333
330
 
334
331
  static EXP_SHIFTS: ExpShiftTable = {
335
332
  let mut data = [0u8; if ExpShiftTable::ENABLE {
336
- ExpShiftTable::NUM_EXPS as usize
333
+ f64::EXP_MASK as usize + 1
337
334
  } else {
338
335
  1
339
336
  }];
340
337
 
341
- if ExpShiftTable::ENABLE {
342
- let mut raw_exp = 0;
343
- while raw_exp < ExpShiftTable::NUM_EXPS {
344
- let mut bin_exp = raw_exp - f64::EXP_OFFSET;
345
- if raw_exp == 0 {
346
- bin_exp += 1;
347
- }
348
- let dec_exp = compute_dec_exp(bin_exp, true);
349
- data[raw_exp as usize] = do_compute_exp_shift(bin_exp, dec_exp) as u8;
350
- raw_exp += 1;
338
+ let mut raw_exp = 0;
339
+ while raw_exp < data.len() && ExpShiftTable::ENABLE {
340
+ let mut bin_exp = raw_exp as i32 - f64::EXP_OFFSET;
341
+ if raw_exp == 0 {
342
+ bin_exp += 1;
351
343
  }
344
+ let dec_exp = compute_dec_exp(bin_exp, true);
345
+ data[raw_exp] = do_compute_exp_shift(bin_exp, dec_exp) as u8;
346
+ raw_exp += 1;
352
347
  }
353
348
 
354
349
  ExpShiftTable { data }
@@ -426,9 +421,11 @@ unsafe fn digits2(value: usize) -> &'static u16 {
426
421
  const DIV10K_EXP: i32 = 40;
427
422
  const DIV10K_SIG: u32 = ((1u64 << DIV10K_EXP) / 10000 + 1) as u32;
428
423
  const NEG10K: u32 = ((1u64 << 32) - 10000) as u32;
424
+
429
425
  const DIV100_EXP: i32 = 19;
430
426
  const DIV100_SIG: u32 = (1 << DIV100_EXP) / 100 + 1;
431
427
  const NEG100: u32 = (1 << 16) - 100;
428
+
432
429
  const DIV10_EXP: i32 = 10;
433
430
  const DIV10_SIG: u32 = (1 << DIV10_EXP) / 10 + 1;
434
431
  const NEG10: u32 = (1 << 8) - 10;
@@ -467,31 +464,16 @@ unsafe fn write8(buffer: *mut u8, value: u64) {
467
464
  }
468
465
  }
469
466
 
470
- #[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
471
- const fn splat64(x: u64) -> __m128i {
472
- unsafe { mem::transmute::<[u64; 2], __m128i>([x, x]) }
473
- }
474
-
475
- #[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
476
- const fn splat32(x: u32) -> __m128i {
477
- splat64(((x as u64) << 32) | x as u64)
478
- }
479
-
480
- #[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
481
- const fn splat16(x: u16) -> __m128i {
482
- splat32(((x as u32) << 16) | x as u32)
483
- }
484
-
485
- #[cfg(all(target_arch = "x86_64", target_feature = "sse4.1", not(miri)))]
486
- const fn pack8(a: u8, b: u8, c: u8, d: u8, e: u8, f: u8, g: u8, h: u8) -> u64 {
487
- ((h as u64) << 56)
488
- | ((g as u64) << 48)
489
- | ((f as u64) << 40)
490
- | ((e as u64) << 32)
491
- | ((d as u64) << 24)
492
- | ((c as u64) << 16)
493
- | ((b as u64) << 8)
494
- | a as u64
467
+ // Writes a significand consisting of up to 9 decimal digits (8-9 for normals)
468
+ // and removes trailing zeros.
469
+ #[cfg_attr(feature = "no-panic", no_panic)]
470
+ unsafe fn write_significand9(mut buffer: *mut u8, value: u32, has9digits: bool) -> *mut u8 {
471
+ buffer = unsafe { write_if(buffer, value / 100_000_000, has9digits) };
472
+ let bcd = to_bcd8(u64::from(value % 100_000_000));
473
+ unsafe {
474
+ write8(buffer, bcd | ZEROS);
475
+ buffer.add(count_trailing_nonzeros(bcd))
476
+ }
495
477
  }
496
478
 
497
479
  // Writes a significand consisting of up to 17 decimal digits (16-17 for
@@ -510,11 +492,10 @@ unsafe fn write_significand17(
510
492
  all(target_arch = "x86_64", target_feature = "sse2", not(miri)),
511
493
  )))]
512
494
  {
513
- let start = unsafe { buffer.add(1) };
514
- // Each digits is denoted by a letter so value is abbccddeeffgghhii.
495
+ // Digits/pairs of digits are denoted by letters: value = abbccddeeffgghhii.
515
496
  let abbccddee = (value / 100_000_000) as u32;
516
497
  let ffgghhii = (value % 100_000_000) as u32;
517
- buffer = unsafe { write_if(start, abbccddee / 100_000_000, has17digits) };
498
+ buffer = unsafe { write_if(buffer, abbccddee / 100_000_000, has17digits) };
518
499
  let bcd = to_bcd8(u64::from(abbccddee % 100_000_000));
519
500
  unsafe {
520
501
  write8(buffer, bcd | ZEROS);
@@ -563,7 +544,7 @@ unsafe fn write_significand17(
563
544
  let mut c = ptr::addr_of!(CONSTANTS);
564
545
 
565
546
  // Compiler barrier, or clang doesn't load from memory and generates 15
566
- // more instructions
547
+ // more instructions.
567
548
  let c = unsafe {
568
549
  asm!("/*{0}*/", inout(reg) c);
569
550
  &*c
@@ -585,8 +566,7 @@ unsafe fn write_significand17(
585
566
  let a = (umul128(abbccddee, c.mul_const) >> 90) as u64;
586
567
  let bbccddee = abbccddee - a * hundred_million;
587
568
 
588
- let start = unsafe { buffer.add(1) };
589
- buffer = unsafe { write_if(start, a as u32, has17digits) };
569
+ buffer = unsafe { write_if(buffer, a as u32, has17digits) };
590
570
 
591
571
  unsafe {
592
572
  let ffgghhii_bbccddee_64: uint64x1_t =
@@ -639,7 +619,7 @@ unsafe fn write_significand17(
639
619
  buffer.cast::<uint16x8_t>().write_unaligned(str);
640
620
 
641
621
  let is_not_zero: uint16x8_t =
642
- vreinterpretq_u16_u8(vcgtzq_s8(mem::transmute::<uint8x16_t, int8x16_t>(digits)));
622
+ vreinterpretq_u16_u8(vcgtzq_s8(vreinterpretq_s8_u8(digits)));
643
623
  let zeros: u64 = vget_lane_u64(vreinterpret_u64_u8(vshrn_n_u16(is_not_zero, 4)), 0);
644
624
 
645
625
  buffer.add(16 - (zeros.leading_zeros() as usize >> 2))
@@ -656,7 +636,7 @@ unsafe fn write_significand17(
656
636
  // zero. buffer points to the second place in the output buffer to allow
657
637
  // for the insertion of the decimal point, so we can use the first place
658
638
  // as scratch.
659
- buffer = unsafe { buffer.add(usize::from(has17digits)) };
639
+ buffer = unsafe { buffer.offset(isize::from(has17digits) - 1) };
660
640
  unsafe {
661
641
  *buffer.add(16) = last_digit as u8 + b'0';
662
642
  }
@@ -665,64 +645,93 @@ unsafe fn write_significand17(
665
645
  let ijklmnop = (value_div10 % 100_000_000) as u32;
666
646
 
667
647
  #[repr(C, align(64))]
668
- struct Consts {
669
- div10k: __m128i,
670
- neg10k: __m128i,
671
- div100: __m128i,
672
- div10: __m128i,
648
+ struct Constants {
649
+ div10k: u128,
650
+ neg10k: u128,
651
+ div100: u128,
652
+ div10: u128,
673
653
  #[cfg(target_feature = "sse4.1")]
674
- neg100: __m128i,
654
+ neg100: u128,
675
655
  #[cfg(target_feature = "sse4.1")]
676
- neg10: __m128i,
656
+ neg10: u128,
677
657
  #[cfg(target_feature = "sse4.1")]
678
- bswap: __m128i,
658
+ bswap: u128,
679
659
  #[cfg(not(target_feature = "sse4.1"))]
680
- hundred: __m128i,
660
+ hundred: u128,
681
661
  #[cfg(not(target_feature = "sse4.1"))]
682
- moddiv10: __m128i,
683
- zeros: __m128i,
662
+ moddiv10: u128,
663
+ zeros: u128,
664
+ }
665
+
666
+ impl Constants {
667
+ const fn splat64(x: u64) -> u128 {
668
+ ((x as u128) << 64) | x as u128
669
+ }
670
+
671
+ const fn splat32(x: u32) -> u128 {
672
+ Self::splat64(((x as u64) << 32) | x as u64)
673
+ }
674
+
675
+ const fn splat16(x: u16) -> u128 {
676
+ Self::splat32(((x as u32) << 16) | x as u32)
677
+ }
678
+
679
+ #[cfg(target_feature = "sse4.1")]
680
+ const fn pack8(a: u8, b: u8, c: u8, d: u8, e: u8, f: u8, g: u8, h: u8) -> u64 {
681
+ ((h as u64) << 56)
682
+ | ((g as u64) << 48)
683
+ | ((f as u64) << 40)
684
+ | ((e as u64) << 32)
685
+ | ((d as u64) << 24)
686
+ | ((c as u64) << 16)
687
+ | ((b as u64) << 8)
688
+ | a as u64
689
+ }
684
690
  }
685
691
 
686
- static CONSTS: Consts = Consts {
687
- div10k: splat64(DIV10K_SIG as u64),
688
- neg10k: splat64(NEG10K as u64),
689
- div100: splat32(DIV100_SIG),
690
- div10: splat16(((1u32 << 16) / 10 + 1) as u16),
692
+ static CONSTS: Constants = Constants {
693
+ div10k: Constants::splat64(DIV10K_SIG as u64),
694
+ neg10k: Constants::splat64(NEG10K as u64),
695
+ div100: Constants::splat32(DIV100_SIG),
696
+ div10: Constants::splat16(((1u32 << 16) / 10 + 1) as u16),
691
697
  #[cfg(target_feature = "sse4.1")]
692
- neg100: splat32(NEG100),
698
+ neg100: Constants::splat32(NEG100),
693
699
  #[cfg(target_feature = "sse4.1")]
694
- neg10: splat16((1 << 8) - 10),
700
+ neg10: Constants::splat16((1 << 8) - 10),
695
701
  #[cfg(target_feature = "sse4.1")]
696
- bswap: unsafe {
697
- mem::transmute::<[u64; 2], __m128i>([
698
- pack8(15, 14, 13, 12, 11, 10, 9, 8),
699
- pack8(7, 6, 5, 4, 3, 2, 1, 0),
700
- ])
701
- },
702
+ bswap: Constants::pack8(15, 14, 13, 12, 11, 10, 9, 8) as u128
703
+ | (Constants::pack8(7, 6, 5, 4, 3, 2, 1, 0) as u128) << 64,
702
704
  #[cfg(not(target_feature = "sse4.1"))]
703
- hundred: splat32(100),
705
+ hundred: Constants::splat32(100),
704
706
  #[cfg(not(target_feature = "sse4.1"))]
705
- moddiv10: splat16(10 * (1 << 8) - 1),
706
- zeros: splat64(ZEROS),
707
+ moddiv10: Constants::splat16(10 * (1 << 8) - 1),
708
+ zeros: Constants::splat64(ZEROS),
707
709
  };
708
710
 
709
- let div10k = unsafe { _mm_load_si128(&CONSTS.div10k) };
710
- let neg10k = unsafe { _mm_load_si128(&CONSTS.neg10k) };
711
- let div100 = unsafe { _mm_load_si128(&CONSTS.div100) };
712
- let div10 = unsafe { _mm_load_si128(&CONSTS.div10) };
711
+ let mut c = ptr::addr_of!(CONSTS);
712
+ // Make the compiler forget where the constants came from to ensure they
713
+ // are loaded from memory.
714
+ unsafe {
715
+ asm!("/*{0}*/", inout(reg) c);
716
+ }
717
+
718
+ let div10k = unsafe { _mm_load_si128(ptr::addr_of!((*c).div10k).cast::<__m128i>()) };
719
+ let neg10k = unsafe { _mm_load_si128(ptr::addr_of!((*c).neg10k).cast::<__m128i>()) };
720
+ let div100 = unsafe { _mm_load_si128(ptr::addr_of!((*c).div100).cast::<__m128i>()) };
721
+ let div10 = unsafe { _mm_load_si128(ptr::addr_of!((*c).div10).cast::<__m128i>()) };
713
722
  #[cfg(target_feature = "sse4.1")]
714
- let neg100 = unsafe { _mm_load_si128(&CONSTS.neg100) };
723
+ let neg100 = unsafe { _mm_load_si128(ptr::addr_of!((*c).neg100).cast::<__m128i>()) };
715
724
  #[cfg(target_feature = "sse4.1")]
716
- let neg10 = unsafe { _mm_load_si128(&CONSTS.neg10) };
725
+ let neg10 = unsafe { _mm_load_si128(ptr::addr_of!((*c).neg10).cast::<__m128i>()) };
717
726
  #[cfg(target_feature = "sse4.1")]
718
- let bswap = unsafe { _mm_load_si128(&CONSTS.bswap) };
727
+ let bswap = unsafe { _mm_load_si128(ptr::addr_of!((*c).bswap).cast::<__m128i>()) };
719
728
  #[cfg(not(target_feature = "sse4.1"))]
720
- let hundred = unsafe { _mm_load_si128(&CONSTS.hundred) };
729
+ let hundred = unsafe { _mm_load_si128(ptr::addr_of!((*c).hundred).cast::<__m128i>()) };
721
730
  #[cfg(not(target_feature = "sse4.1"))]
722
- let moddiv10 = unsafe { _mm_load_si128(&CONSTS.moddiv10) };
723
- let zeros = unsafe { _mm_load_si128(&CONSTS.zeros) };
731
+ let moddiv10 = unsafe { _mm_load_si128(ptr::addr_of!((*c).moddiv10).cast::<__m128i>()) };
732
+ let zeros = unsafe { _mm_load_si128(ptr::addr_of!((*c).zeros).cast::<__m128i>()) };
724
733
 
725
- // The BCD sequences are based on ones provided by Xiang JunBo.
734
+ // The BCD sequences are based on the ones provided by Xiang JunBo.
726
735
  unsafe {
727
736
  let x: __m128i = _mm_set_epi64x(i64::from(abcdefgh), i64::from(ijklmnop));
728
737
  let y: __m128i = _mm_add_epi64(
@@ -757,7 +766,7 @@ unsafe fn write_significand17(
757
766
 
758
767
  let digits = _mm_or_si128(bcd, zeros);
759
768
 
760
- // determine number of leading zeros
769
+ // Count leading zeros.
761
770
  let mask128: __m128i = _mm_cmpgt_epi8(bcd, _mm_setzero_si128());
762
771
  let mask = _mm_movemask_epi8(mask128) as u32;
763
772
  // We don't need a zero-check here: if the mask were zero, either
@@ -773,18 +782,6 @@ unsafe fn write_significand17(
773
782
  }
774
783
  }
775
784
 
776
- // Writes a significand consisting of up to 9 decimal digits (8-9 for normals)
777
- // and removes trailing zeros.
778
- #[cfg_attr(feature = "no-panic", no_panic)]
779
- unsafe fn write_significand9(mut buffer: *mut u8, value: u32, has9digits: bool) -> *mut u8 {
780
- buffer = unsafe { write_if(buffer, value / 100_000_000, has9digits) };
781
- let bcd = to_bcd8(u64::from(value % 100_000_000));
782
- unsafe {
783
- write8(buffer, bcd | ZEROS);
784
- buffer.add(count_trailing_nonzeros(bcd))
785
- }
786
- }
787
-
788
785
  struct ToDecimalResult {
789
786
  sig: i64,
790
787
  exp: i32,
@@ -792,37 +789,8 @@ struct ToDecimalResult {
792
789
  sig_div10: i64,
793
790
  }
794
791
 
795
- fn normalize<UInt>(mut dec: ToDecimalResult, subnormal: bool) -> ToDecimalResult
796
- where
797
- UInt: traits::UInt,
798
- {
799
- if !subnormal {
800
- return dec;
801
- }
802
- let num_bits = mem::size_of::<UInt>() * 8;
803
- while dec.sig
804
- < if num_bits == 64 {
805
- 10_000_000_000_000_000
806
- } else {
807
- 100_000_000
808
- }
809
- {
810
- dec.sig *= 10;
811
- dec.exp -= 1;
812
- }
813
- #[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
814
- {
815
- dec.sig_div10 = dec.sig / 10;
816
- }
817
- dec
818
- }
819
-
820
792
  #[cfg_attr(feature = "no-panic", no_panic)]
821
- fn to_decimal_schubfach<const SUBNORMAL: bool, UInt>(
822
- bin_sig: UInt,
823
- bin_exp: i64,
824
- regular: bool,
825
- ) -> ToDecimalResult
793
+ fn to_decimal_schubfach<UInt>(bin_sig: UInt, bin_exp: i64, regular: bool) -> ToDecimalResult
826
794
  where
827
795
  UInt: traits::UInt,
828
796
  {
@@ -862,7 +830,7 @@ where
862
830
  #[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
863
831
  sig_div10: div10.into() as i64,
864
832
  };
865
- return normalize::<UInt>(result, SUBNORMAL);
833
+ return result;
866
834
  }
867
835
 
868
836
  let scaled_sig = umulhi_inexact_to_odd(pow10.hi, pow10.lo, bin_sig_shifted << exp_shift);
@@ -882,20 +850,19 @@ where
882
850
  } else {
883
851
  longer_above
884
852
  };
885
- let result = ToDecimalResult {
853
+ ToDecimalResult {
886
854
  sig: dec_sig.into() as i64,
887
855
  exp: dec_exp,
888
856
  #[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
889
857
  sig_div10: (dec_sig / UInt::from(10)).into() as i64,
890
- };
891
- normalize::<UInt>(result, SUBNORMAL)
858
+ }
892
859
  }
893
860
 
894
861
  // Here be 🐉s.
895
862
  // Converts a binary FP number bin_sig * 2**bin_exp to the shortest decimal
896
863
  // representation, where bin_exp = raw_exp - exp_offset.
897
864
  #[cfg_attr(feature = "no-panic", no_panic)]
898
- fn to_decimal_normal<Float, UInt>(bin_sig: UInt, raw_exp: i64, regular: bool) -> ToDecimalResult
865
+ fn to_decimal_fast<Float, UInt>(bin_sig: UInt, raw_exp: i64, regular: bool) -> ToDecimalResult
899
866
  where
900
867
  Float: FloatTraits,
901
868
  UInt: traits::UInt,
@@ -1012,7 +979,7 @@ where
1012
979
  sig_div10: div10 as i64 + i64::from(use_shorter) * i64::from(round_up),
1013
980
  };
1014
981
  }
1015
- to_decimal_schubfach::<false, UInt>(bin_sig, bin_exp, regular)
982
+ to_decimal_schubfach(bin_sig, bin_exp, regular)
1016
983
  }
1017
984
 
1018
985
  /// Writes the shortest correctly rounded decimal representation of `value` to
@@ -1032,7 +999,13 @@ where
1032
999
  }
1033
1000
  buffer = unsafe { buffer.add(usize::from(Float::is_negative(bits))) };
1034
1001
 
1035
- let mut dec = if bin_exp == 0 {
1002
+ let mut dec;
1003
+ let threshold = if Float::NUM_BITS == 64 {
1004
+ 10_000_000_000_000_000
1005
+ } else {
1006
+ 100_000_000
1007
+ };
1008
+ if bin_exp == 0 {
1036
1009
  if bin_sig == Float::SigType::from(0) {
1037
1010
  return unsafe {
1038
1011
  *buffer = b'0';
@@ -1041,41 +1014,43 @@ where
1041
1014
  buffer.add(3)
1042
1015
  };
1043
1016
  }
1044
- to_decimal_schubfach::<true, Float::SigType>(
1045
- bin_sig,
1046
- i64::from(1 - Float::EXP_OFFSET),
1047
- true,
1048
- )
1017
+ dec = to_decimal_schubfach(bin_sig, i64::from(1 - Float::EXP_OFFSET), true);
1018
+ while dec.sig < threshold {
1019
+ dec.sig *= 10;
1020
+ dec.exp -= 1;
1021
+ }
1022
+ #[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
1023
+ {
1024
+ dec.sig_div10 = dec.sig / 10;
1025
+ }
1049
1026
  } else {
1050
- to_decimal_normal::<Float, Float::SigType>(
1027
+ dec = to_decimal_fast::<Float, Float::SigType>(
1051
1028
  bin_sig | Float::IMPLICIT_BIT,
1052
1029
  bin_exp,
1053
1030
  bin_sig != Float::SigType::from(0),
1054
- )
1055
- };
1031
+ );
1032
+ }
1056
1033
  let mut dec_exp = dec.exp;
1034
+ let extra_digit = dec.sig >= threshold;
1035
+ dec_exp += Float::MAX_DIGITS10 as i32 - 2 + i32::from(extra_digit);
1036
+ if Float::NUM_BITS == 32 && dec.sig < 10_000_000 {
1037
+ dec.sig *= 10;
1038
+ dec_exp -= 1;
1039
+ }
1057
1040
 
1058
1041
  // Write significand.
1059
1042
  let end = if Float::NUM_BITS == 64 {
1060
- let has17digits = dec.sig >= 10_000_000_000_000_000;
1061
- dec_exp += Float::MAX_DIGITS10 as i32 - 2 + i32::from(has17digits);
1062
1043
  unsafe {
1063
1044
  write_significand17(
1064
- buffer,
1045
+ buffer.add(1),
1065
1046
  dec.sig as u64,
1066
- has17digits,
1047
+ extra_digit,
1067
1048
  #[cfg(all(target_arch = "x86_64", target_feature = "sse2", not(miri)))]
1068
1049
  dec.sig_div10,
1069
1050
  )
1070
1051
  }
1071
1052
  } else {
1072
- if dec.sig < 10_000_000 {
1073
- dec.sig *= 10;
1074
- dec_exp -= 1;
1075
- }
1076
- let has9digits = dec.sig >= 100_000_000;
1077
- dec_exp += Float::MAX_DIGITS10 as i32 - 2 + i32::from(has9digits);
1078
- unsafe { write_significand9(buffer.add(1), dec.sig as u32, has9digits) }
1053
+ unsafe { write_significand9(buffer.add(1), dec.sig as u32, extra_digit) }
1079
1054
  };
1080
1055
 
1081
1056
  let length = unsafe { end.offset_from(buffer.add(1)) } as usize;
@@ -1126,7 +1101,7 @@ where
1126
1101
  buffer = unsafe { buffer.add(1) };
1127
1102
  dec_exp = if dec_exp >= 0 { dec_exp } else { -dec_exp };
1128
1103
  buffer = unsafe { buffer.add(usize::from(dec_exp >= 10)) };
1129
- if Float::MIN_10_EXP >= -99 && Float::MAX_10_EXP <= 99 {
1104
+ if Float::MIN_10_EXP > -100 && Float::MAX_10_EXP < 100 {
1130
1105
  unsafe {
1131
1106
  buffer
1132
1107
  .cast::<u16>()
@@ -1135,7 +1110,6 @@ where
1135
1110
  return buffer.add(2);
1136
1111
  }
1137
1112
  }
1138
-
1139
1113
  // digit = dec_exp / 100
1140
1114
  let digit = if USE_UMUL128_HI64 {
1141
1115
  umul128_hi64(dec_exp as u64, 0x290000000000000) as u32
@@ -1 +1 @@
1
- {"files":{".cargo_vcs_info.json":"1b9cda44e931e26617eac75a137e709c2e0d6c7022205471560fd29c6dcb5206","Benches.md":"5e0a2292e9a2b6d5d7923f4b847a9aead7ab656326ef58018d30dfa46c53cf20","Cargo.lock":"66519b5c561ced64444623ca2057c9d271090b388406d70d6920e53a8cbe76de","Cargo.toml":"6c9d50ada0d4bba88775aee6137513881843638671b42b9632aef498ecce9a80","Cargo.toml.orig":"8427e11b9c26d0f4e172b138e0f5d845678aaa8ff4c347c4ed2a1c1f314c5ae9","Changelog.md":"296a9f6db2fbc8813357d0cafb9c041efce7177d1f7b6026a7af81031defb879","LICENSE-APACHE":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","LICENSE-MIT":"d30047bca3b516639339a3c279bb84c3483124fb5a9dafe3c75056a85090e745","LICENSE-ZLIB":"d201d14804d3bcd3b944147173175e4abfbd838b7c8069b6bd3452496bf13e6c","README.md":"d58a4403ff2b9f7eba16f1284a9b4a4c7125bc92dacd8f0fac1ee112e3a8b8ee","src/bitstream.rs":"652cf824ee8b15249b026d7d27e1e08fad494ce3a3560abfe95beedde20eb6db","src/color_convert.rs":"e401a9c71beffd50a0b17330a5f64de82ad944e7f7cfe42a8a8bbf6b24ac245a","src/color_convert/avx.rs":"7be52b218a32ca06d8727dbd5d9ff18f0e09ee05c2147e2469e1b78f25e4f1f5","src/color_convert/neon64.rs":"d4b4b2ae87b57e857db6ade0b6c0a664182ebbad89aa5934e2959d06bf734d1d","src/color_convert/scalar.rs":"daf7a7595775ce00bec28997330bc72f0fd3cd113d764cf742a7b502ca93c108","src/components.rs":"4553c0bfad38aaf53af82db22a0f0fb5ab2b93125ab361f9b69485c5edd8f71d","src/decoder.rs":"73bacb4a8dbc42bda5319baf072920d722a29a138b646e5b2f0c9b72b816b02f","src/errors.rs":"106e9bca458efccd9b290ff5cf9365ad195d7afc3e414108111cc88b9c344e8f","src/headers.rs":"ffb94b9535259c37e8dff965949a0fe2e303e72ccc1c00292df915561c71fdbe","src/huffman.rs":"921649bd61aeeecb11bf91d7e76afad583e54717255824bf0c2d4bb6160d6b10","src/idct.rs":"be856aec47d17f28dfaa98072f2317eb78be0f6b9dc9535f5d309e97da5cf8e8","src/idct/avx2.rs":"126185cc71e1b72e0f37632633d3d0fee5c974fde203f332bb36e30487fd3c66","src/idct/neon.rs":"919aad93765a5f025974798e9068c3a5b4497d3da4fe9ae63c901cb52c9c123e","src/idct/scalar.rs":"c2a682081ef33dabe957b46075136119b28fef44cdfff4cffb044b38a6cabbf1","src/lib.rs":"3b35d5daf358b00997c36f173ef056b7c44c62233af1a035b2ec80d02e61cbe7","src/marker.rs":"10014f879004c0b1ca4bca66155eb2385820cce02ae6e48a9e9b37ca60ecd294","src/mcu.rs":"ac068a22c2509186d6b014804a81031da620479d9fe51b36053e4df9d81531b1","src/mcu_prog.rs":"1439d45fb116a1a0e377f764a0d6212e607e141c32f56c1a0325e98ac28b3c1e","src/misc.rs":"1ba8300b38095fc0cb2e91f615d401d7a6b45d20115f314df66153add7b776da","src/unsafe_utils.rs":"8fa830ca67b7f701461fe2382f8843faa33c98b5f83f1845f60c8ef788143c75","src/unsafe_utils_avx2.rs":"2e2a8294a8c8c6ca3e92356b47a088090c2c62853b37cfcadeba4ab55f545721","src/unsafe_utils_neon.rs":"b7087a9897c9e3c66a1bf7a910e7dab30e2a92ca3483c1b01101f69e07d05e87","src/upsampler.rs":"81ca309c31baf578b293abc6dbeb4d37b69f14b0e2811d15fe3bb9aa637cc01a","src/upsampler/avx2.rs":"75d0efea4ab67b482a9e8f0fb4ee64252d09bdbf6d184543a33c083a47c59ada","src/upsampler/neon.rs":"b8aefe165154227402282e66c9450d6d81c5e60c63b0626f979dc2b36dab71cb","src/upsampler/portable_simd.rs":"84b4f9756f00bcea68c4c7897a9cef6335bc3b96973f2328690d64f8f8e0011f","src/upsampler/scalar.rs":"c3a57d943b8df501feed9a4a59f3a2401d836383ce4dae2344ad518b002e201e","src/worker.rs":"6f939fa614844d11b826c196ea56ea13846ba7725025da0e2418b2d453fecc6d"},"package":"2959ca473aae96a14ecedf501d20b3608d2825ba280d5adb57d651721885b0c2"}
1
+ {"files":{".cargo_vcs_info.json":"abe310693236ee14ba7f562a185c3bd9adce036e1b4105487feef7344fe14d8e","Benches.md":"5e0a2292e9a2b6d5d7923f4b847a9aead7ab656326ef58018d30dfa46c53cf20","Cargo.lock":"ffa6e3075058811ec19160e3a579c9d7bbf1f6f6f4edddfd86460c6ceefbeac7","Cargo.toml":"cb6d85ffc32137d211768c2103c39dd1e09a0884c5cb69d6d12befb4175090d7","Cargo.toml.orig":"0237e36d0108b88419949fd1d4021d92a7bb5229ca2c4da59a2c8f1d965bad90","Changelog.md":"296a9f6db2fbc8813357d0cafb9c041efce7177d1f7b6026a7af81031defb879","LICENSE-APACHE":"c71d239df91726fc519c6eb72d318ec65820627232b2f796219e87dcf35d0ab4","LICENSE-MIT":"d30047bca3b516639339a3c279bb84c3483124fb5a9dafe3c75056a85090e745","LICENSE-ZLIB":"d201d14804d3bcd3b944147173175e4abfbd838b7c8069b6bd3452496bf13e6c","README.md":"d58a4403ff2b9f7eba16f1284a9b4a4c7125bc92dacd8f0fac1ee112e3a8b8ee","src/bitstream.rs":"8150ccf37714ecd21d64201683d14a9d92e7e21acfe57e9bc502953a7537287a","src/color_convert.rs":"e401a9c71beffd50a0b17330a5f64de82ad944e7f7cfe42a8a8bbf6b24ac245a","src/color_convert/avx.rs":"7be52b218a32ca06d8727dbd5d9ff18f0e09ee05c2147e2469e1b78f25e4f1f5","src/color_convert/neon64.rs":"d4b4b2ae87b57e857db6ade0b6c0a664182ebbad89aa5934e2959d06bf734d1d","src/color_convert/scalar.rs":"daf7a7595775ce00bec28997330bc72f0fd3cd113d764cf742a7b502ca93c108","src/components.rs":"1699aab5b99818e51bdbfc43afb9567e4ac0ac67e68fbda9bfb3ac86b62489ea","src/decoder.rs":"a41695b5d8da610a446b08a4360f16d1b3d7f356ddf65a388aed73f0de0ec2f8","src/errors.rs":"106e9bca458efccd9b290ff5cf9365ad195d7afc3e414108111cc88b9c344e8f","src/headers.rs":"fb5df67412697435cad6d0ce32f259b8011dc658861dd426aa56401cf635d722","src/huffman.rs":"921649bd61aeeecb11bf91d7e76afad583e54717255824bf0c2d4bb6160d6b10","src/idct.rs":"be856aec47d17f28dfaa98072f2317eb78be0f6b9dc9535f5d309e97da5cf8e8","src/idct/avx2.rs":"126185cc71e1b72e0f37632633d3d0fee5c974fde203f332bb36e30487fd3c66","src/idct/neon.rs":"919aad93765a5f025974798e9068c3a5b4497d3da4fe9ae63c901cb52c9c123e","src/idct/scalar.rs":"c2a682081ef33dabe957b46075136119b28fef44cdfff4cffb044b38a6cabbf1","src/lib.rs":"31cfd2c21b47b86595dde3b39e93e2754031541f35deb35a43ee8a56488de68d","src/marker.rs":"10014f879004c0b1ca4bca66155eb2385820cce02ae6e48a9e9b37ca60ecd294","src/mcu.rs":"1a29ff009dbe731315f4a2868a1e9f0c4c2636b7cae3e000d80d09b3558dd526","src/mcu_prog.rs":"579d821e54b44f5429b1aded01672d23a7cfb7c8a66c32af2be3613a360a2df1","src/misc.rs":"1ba8300b38095fc0cb2e91f615d401d7a6b45d20115f314df66153add7b776da","src/unsafe_utils.rs":"8fa830ca67b7f701461fe2382f8843faa33c98b5f83f1845f60c8ef788143c75","src/unsafe_utils_avx2.rs":"2e2a8294a8c8c6ca3e92356b47a088090c2c62853b37cfcadeba4ab55f545721","src/unsafe_utils_neon.rs":"b7087a9897c9e3c66a1bf7a910e7dab30e2a92ca3483c1b01101f69e07d05e87","src/upsampler.rs":"81ca309c31baf578b293abc6dbeb4d37b69f14b0e2811d15fe3bb9aa637cc01a","src/upsampler/avx2.rs":"3416787605115cee9f7eb918b3dd05f6596c8ed15e4942d18a12d301f5d843bc","src/upsampler/neon.rs":"91cb03cd357c4308a14d5fe9a517e4efc6c338fd3e07b37d910f6d1ab65bdd70","src/upsampler/portable_simd.rs":"36bfef56cc9c36c796cfccca77c13c7e394042c9ebf53bb18ffaaeba2311913d","src/upsampler/scalar.rs":"cc86288e29db2d6cbb25f5238f3064e3ad30179d0c1cfdab35d51fd54b074710","src/worker.rs":"6f939fa614844d11b826c196ea56ea13846ba7725025da0e2418b2d453fecc6d"},"package":"410e9ecef634c709e3831c2cfdb8d9c32164fae1c67496d5b68fff728eec37fe"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "git": {
3
- "sha1": "3cdedbe15b78a0aeb1da003d533eeeb767b6d381"
3
+ "sha1": "7cb6c7d950c040b2198da553140e1b5e8b6ac682"
4
4
  },
5
5
  "path_in_vcs": "crates/zune-jpeg"
6
6
  }
@@ -19,7 +19,7 @@ dependencies = [
19
19
 
20
20
  [[package]]
21
21
  name = "zune-jpeg"
22
- version = "0.5.11"
22
+ version = "0.5.12"
23
23
  dependencies = [
24
24
  "zune-core",
25
25
  ]
@@ -13,7 +13,7 @@
13
13
  edition = "2021"
14
14
  rust-version = "1.75.0"
15
15
  name = "zune-jpeg"
16
- version = "0.5.11"
16
+ version = "0.5.12"
17
17
  authors = ["caleb <etemesicaleb@gmail.com>"]
18
18
  build = false
19
19
  exclude = [
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "zune-jpeg"
3
- version = "0.5.11"
3
+ version = "0.5.12"
4
4
  rust-version = "1.75.0"
5
5
  authors = ["caleb <etemesicaleb@gmail.com>"]
6
6
  edition = "2021"
@@ -684,7 +684,7 @@ impl BitStream {
684
684
  }
685
685
  }
686
686
  if self.get_bit() == 1 && (*coefficient & bit) == 0 {
687
- if *coefficient >= 0 {
687
+ if *coefficient > 0 {
688
688
  *coefficient += bit;
689
689
  } else {
690
690
  *coefficient -= bit;