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
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 204c58809e5e402d5fe7f4165cedf1bba22ac1b66866bd4ab7bdbd93109c5aaa
4
- data.tar.gz: e9dabe4143e341129b2b08205fdd1cb47c70efdd4f6bf9848d3e4b82f7067b0e
3
+ metadata.gz: d52853c9ba91a063e69a508c1d75d9207d1bf1e86b1f1b116380ab016aa8c61a
4
+ data.tar.gz: 88b88a8730f8b775fc40fd3be833a26928caeefc48aaf7e90749b2b1942f3a65
5
5
  SHA512:
6
- metadata.gz: 60e6c52864495463518ed6171b83b8efa734d1ce826462c81cc939112a67ea1ef6d03813e96ebd142cb4aeff1639f3b9072f9dfd07c81425c8861885ac6f7a95
7
- data.tar.gz: '080bc5e1a9c0c83bcd5df465f836414edd52738861d13f9e749bc377189ff6cc8ddb4bdd8dc12209a303b679451bddbaed002c35b1c6212628e3627fd0c91d96'
6
+ metadata.gz: 15522f5476b3b204131bb0484a97f29d4aca42b433cafef79a89a4925c7e584c456900836188909086c94b0a4d2bd2716100703e7ebd04612307899d00c23cf6
7
+ data.tar.gz: f551468be46e15b4f173b58baeed51e6c039e6387a16a34654e9f6ce638bf213c3e79cfe80ea082445d7843e652c9fdc5f093fd96884198b8c75b6b94b626c7d
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- html-to-markdown (2.23.4)
4
+ html-to-markdown (2.24.1)
5
5
  rb_sys (>= 0.9, < 1.0)
6
6
 
7
7
  GEM
@@ -51,7 +51,7 @@ GEM
51
51
  parser (3.3.10.1)
52
52
  ast (~> 2.4.1)
53
53
  racc
54
- prism (1.8.0)
54
+ prism (1.9.0)
55
55
  racc (1.8.1)
56
56
  rainbow (3.1.1)
57
57
  rake (13.3.1)
@@ -79,7 +79,7 @@ GEM
79
79
  diff-lcs (>= 1.2.0, < 2.0)
80
80
  rspec-support (~> 3.13.0)
81
81
  rspec-support (3.13.6)
82
- rubocop (1.82.1)
82
+ rubocop (1.84.0)
83
83
  json (~> 2.3)
84
84
  language_server-protocol (~> 3.17.0.2)
85
85
  lint_roller (~> 1.1.0)
@@ -87,7 +87,7 @@ GEM
87
87
  parser (>= 3.3.0.2)
88
88
  rainbow (>= 2.2.2, < 4.0)
89
89
  regexp_parser (>= 2.9.3, < 3.0)
90
- rubocop-ast (>= 1.48.0, < 2.0)
90
+ rubocop-ast (>= 1.49.0, < 2.0)
91
91
  ruby-progressbar (~> 1.7)
92
92
  unicode-display_width (>= 2.4.0, < 4.0)
93
93
  rubocop-ast (1.49.0)
@@ -159,7 +159,7 @@ CHECKSUMS
159
159
  ffi (1.17.3-x86_64-darwin) sha256=1f211811eb5cfaa25998322cdd92ab104bfbd26d1c4c08471599c511f2c00bb5
160
160
  ffi (1.17.3-x86_64-linux-gnu) sha256=3746b01f677aae7b16dc1acb7cb3cc17b3e35bdae7676a3f568153fb0e2c887f
161
161
  fileutils (1.8.0) sha256=8c6b1df54e2540bdb2f39258f08af78853aa70bad52b4d394bbc6424593c6e02
162
- html-to-markdown (2.23.4)
162
+ html-to-markdown (2.24.1)
163
163
  i18n (1.14.8) sha256=285778639134865c5e0f6269e0b818256017e8cde89993fdfcbfb64d088824a5
164
164
  json (2.18.0) sha256=b10506aee4183f5cf49e0efc48073d7b75843ce3782c68dbeb763351c08fd505
165
165
  language_server-protocol (3.17.0.5) sha256=fd1e39a51a28bf3eec959379985a72e296e9f9acfce46f6a79d31ca8760803cc
@@ -170,7 +170,7 @@ CHECKSUMS
170
170
  mutex_m (0.3.0) sha256=cfcb04ac16b69c4813777022fdceda24e9f798e48092a2b817eb4c0a782b0751
171
171
  parallel (1.27.0) sha256=4ac151e1806b755fb4e2dc2332cbf0e54f2e24ba821ff2d3dcf86bf6dc4ae130
172
172
  parser (3.3.10.1) sha256=06f6a725d2cd91e5e7f2b7c32ba143631e1f7c8ae2fb918fc4cebec187e6a688
173
- prism (1.8.0) sha256=84453a16ef5530ea62c5f03ec16b52a459575ad4e7b9c2b360fd8ce2c39c1254
173
+ prism (1.9.0) sha256=7b530c6a9f92c24300014919c9dcbc055bf4cdf51ec30aed099b06cd6674ef85
174
174
  racc (1.8.1) sha256=4a7f6929691dbec8b5209a0b373bc2614882b55fc5d2e447a21aaa691303d62f
175
175
  rainbow (3.1.1) sha256=039491aa3a89f42efa1d6dec2fc4e62ede96eb6acd95e52f1ad581182b79bc6a
176
176
  rake (13.3.1) sha256=8c9e89d09f66a26a01264e7e3480ec0607f0c497a861ef16063604b1b08eb19c
@@ -186,7 +186,7 @@ CHECKSUMS
186
186
  rspec-expectations (3.13.5) sha256=33a4d3a1d95060aea4c94e9f237030a8f9eae5615e9bd85718fe3a09e4b58836
187
187
  rspec-mocks (3.13.7) sha256=0979034e64b1d7a838aaaddf12bf065ea4dc40ef3d4c39f01f93ae2c66c62b1c
188
188
  rspec-support (3.13.6) sha256=2e8de3702427eab064c9352fe74488cc12a1bfae887ad8b91cba480ec9f8afb2
189
- rubocop (1.82.1) sha256=09f1a6a654a960eda767aebea33e47603080f8e9c9a3f019bf9b94c9cab5e273
189
+ rubocop (1.84.0) sha256=88dec310153bb685a879f5a7cdb601f6287b8f0ee675d9dc63a17c7204c4190a
190
190
  rubocop-ast (1.49.0) sha256=49c3676d3123a0923d333e20c6c2dbaaae2d2287b475273fddee0c61da9f71fd
191
191
  rubocop-rspec (3.9.0) sha256=8fa70a3619408237d789aeecfb9beef40576acc855173e60939d63332fdb55e2
192
192
  ruby-progressbar (1.13.0) sha256=80fc9c47a9b640d6834e0dc7b3c94c9df37f08cb072b7761e4a71e22cff29b33
data/README.md CHANGED
@@ -18,13 +18,13 @@
18
18
  <img src="https://img.shields.io/maven-central/v/dev.kreuzberg/html-to-markdown?label=Java&color=007ec6" alt="Java">
19
19
  </a>
20
20
  <a href="https://pkg.go.dev/github.com/kreuzberg-dev/html-to-markdown/packages/go/v2/htmltomarkdown">
21
- <img src="https://img.shields.io/badge/Go-v2.19.0-007ec6" alt="Go">
21
+ <img src="https://img.shields.io/badge/Go-v2.24.1-007ec6" alt="Go">
22
22
  </a>
23
23
  <a href="https://www.nuget.org/packages/KreuzbergDev.HtmlToMarkdown/">
24
24
  <img src="https://img.shields.io/nuget/v/KreuzbergDev.HtmlToMarkdown?label=C%23&color=007ec6" alt="C#">
25
25
  </a>
26
- <a href="https://packagist.org/packages/goldziher/html-to-markdown">
27
- <img src="https://img.shields.io/packagist/v/goldziher/html-to-markdown?label=PHP&color=007ec6" alt="PHP">
26
+ <a href="https://packagist.org/packages/kreuzberg-dev/html-to-markdown">
27
+ <img src="https://img.shields.io/packagist/v/kreuzberg-dev/html-to-markdown?label=PHP&color=007ec6" alt="PHP">
28
28
  </a>
29
29
  <a href="https://rubygems.org/gems/html-to-markdown">
30
30
  <img src="https://img.shields.io/gem/v/html-to-markdown?label=Ruby&color=007ec6" alt="Ruby">
@@ -169,20 +169,22 @@ The library supports converting HTML to [Djot](https://djot.net/), a lightweight
169
169
 
170
170
  ### Example Usage
171
171
 
172
- ```python
173
- from html_to_markdown import convert, ConversionOptions
172
+
173
+ ```ruby
174
+ require 'html_to_markdown'
174
175
 
175
176
  html = "<p>This is <strong>bold</strong> and <em>italic</em> text.</p>"
176
177
 
177
178
  # Default Markdown output
178
- markdown = convert(html)
179
+ markdown = HtmlToMarkdown.convert(html)
179
180
  # Result: "This is **bold** and *italic* text."
180
181
 
181
182
  # Djot output
182
- djot = convert(html, ConversionOptions(output_format="djot"))
183
+ djot = HtmlToMarkdown.convert(html, output_format: 'djot')
183
184
  # Result: "This is *bold* and _italic_ text."
184
185
  ```
185
186
 
187
+
186
188
  Djot's extended syntax allows you to express more semantic meaning in lightweight text, making it useful for documents that require strikethrough, insertion tracking, or mathematical notation.
187
189
 
188
190
 
@@ -148,9 +148,9 @@ checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495"
148
148
 
149
149
  [[package]]
150
150
  name = "cc"
151
- version = "1.2.53"
151
+ version = "1.2.54"
152
152
  source = "registry+https://github.com/rust-lang/crates.io-index"
153
- checksum = "755d2fce177175ffca841e9a06afdb2c4ab0f593d53b4dee48147dfaade85932"
153
+ checksum = "6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583"
154
154
  dependencies = [
155
155
  "find-msvc-tools",
156
156
  "shlex",
@@ -384,7 +384,7 @@ dependencies = [
384
384
 
385
385
  [[package]]
386
386
  name = "html-to-markdown-rb"
387
- version = "2.23.4"
387
+ version = "2.24.1"
388
388
  dependencies = [
389
389
  "html-to-markdown-rs",
390
390
  "magnus",
@@ -837,9 +837,9 @@ dependencies = [
837
837
 
838
838
  [[package]]
839
839
  name = "proc-macro2"
840
- version = "1.0.105"
840
+ version = "1.0.106"
841
841
  source = "registry+https://github.com/rust-lang/crates.io-index"
842
- checksum = "535d180e0ecab6268a3e718bb9fd44db66bbbc256257165fc699dadf70d16fe7"
842
+ checksum = "8fd00f0bb2e90d81d1044c2b32617f68fcb9fa3bb7640c23e9c748e53fb30934"
843
843
  dependencies = [
844
844
  "unicode-ident",
845
845
  ]
@@ -870,9 +870,9 @@ dependencies = [
870
870
 
871
871
  [[package]]
872
872
  name = "quote"
873
- version = "1.0.43"
873
+ version = "1.0.44"
874
874
  source = "registry+https://github.com/rust-lang/crates.io-index"
875
- checksum = "dc74d9a594b72ae6656596548f56f667211f8a97b3d4c3d467150794690dc40a"
875
+ checksum = "21b2ebcf727b7760c461f091f9f0f539b77b8e87f2fd88131e7f1b433b3cece4"
876
876
  dependencies = [
877
877
  "proc-macro2",
878
878
  ]
@@ -1066,9 +1066,9 @@ checksum = "e320a6c5ad31d271ad523dcf3ad13e2767ad8b1cb8f047f75a8aeaf8da139da2"
1066
1066
 
1067
1067
  [[package]]
1068
1068
  name = "siphasher"
1069
- version = "1.0.1"
1069
+ version = "1.0.2"
1070
1070
  source = "registry+https://github.com/rust-lang/crates.io-index"
1071
- checksum = "56199f7ddabf13fe5074ce809e7d3f42b42ae711800501b5b16ea82ad029c39d"
1071
+ checksum = "b2aa850e253778c88a04c3d7323b043aeda9d3e30d5971937c1855769763678e"
1072
1072
 
1073
1073
  [[package]]
1074
1074
  name = "smallvec"
@@ -1219,9 +1219,9 @@ checksum = "1292c0d970b54115d14f2492fe0170adf21d68a1de108eebc51c1df4f346a091"
1219
1219
 
1220
1220
  [[package]]
1221
1221
  name = "uuid"
1222
- version = "1.19.0"
1222
+ version = "1.20.0"
1223
1223
  source = "registry+https://github.com/rust-lang/crates.io-index"
1224
- checksum = "e2e054861b4bd027cd373e18e8d8d8e6548085000e41290d95ce0c373a654b4a"
1224
+ checksum = "ee48d38b119b0cd71fe4141b30f5ba9c7c5d9f4e7a3a8b4a674e4b6ef789976f"
1225
1225
  dependencies = [
1226
1226
  "js-sys",
1227
1227
  "wasm-bindgen",
@@ -1289,9 +1289,9 @@ dependencies = [
1289
1289
 
1290
1290
  [[package]]
1291
1291
  name = "web_atoms"
1292
- version = "0.2.1"
1292
+ version = "0.2.3"
1293
1293
  source = "registry+https://github.com/rust-lang/crates.io-index"
1294
- checksum = "30e588f10c7bc3465f5fc1ab087fc97877ec1064a7ec89fb685ac4ee998dac4a"
1294
+ checksum = "57a9779e9f04d2ac1ce317aee707aa2f6b773afba7b931222bff6983843b1576"
1295
1295
  dependencies = [
1296
1296
  "phf",
1297
1297
  "phf_codegen",
@@ -1366,18 +1366,18 @@ checksum = "cfe53a6657fd280eaa890a3bc59152892ffa3e30101319d168b781ed6529b049"
1366
1366
 
1367
1367
  [[package]]
1368
1368
  name = "zerocopy"
1369
- version = "0.8.33"
1369
+ version = "0.8.35"
1370
1370
  source = "registry+https://github.com/rust-lang/crates.io-index"
1371
- checksum = "668f5168d10b9ee831de31933dc111a459c97ec93225beb307aed970d1372dfd"
1371
+ checksum = "fdea86ddd5568519879b8187e1cf04e24fce28f7fe046ceecbce472ff19a2572"
1372
1372
  dependencies = [
1373
1373
  "zerocopy-derive",
1374
1374
  ]
1375
1375
 
1376
1376
  [[package]]
1377
1377
  name = "zerocopy-derive"
1378
- version = "0.8.33"
1378
+ version = "0.8.35"
1379
1379
  source = "registry+https://github.com/rust-lang/crates.io-index"
1380
- checksum = "2c7962b26b0a8685668b671ee4b54d007a67d4eaf05fda79ac0ecf41e32270f1"
1380
+ checksum = "0c15e1b46eff7c6c91195752e0eeed8ef040e391cdece7c25376957d5f15df22"
1381
1381
  dependencies = [
1382
1382
  "proc-macro2",
1383
1383
  "quote",
@@ -1386,9 +1386,9 @@ dependencies = [
1386
1386
 
1387
1387
  [[package]]
1388
1388
  name = "zmij"
1389
- version = "1.0.16"
1389
+ version = "1.0.17"
1390
1390
  source = "registry+https://github.com/rust-lang/crates.io-index"
1391
- checksum = "dfcd145825aace48cff44a8844de64bf75feec3080e0aa5cdbde72961ae51a65"
1391
+ checksum = "02aae0f83f69aafc94776e879363e9771d7ecbffe2c7fbb6c14c5e00dfe88439"
1392
1392
 
1393
1393
  [[package]]
1394
1394
  name = "zune-core"
@@ -1398,9 +1398,9 @@ checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9"
1398
1398
 
1399
1399
  [[package]]
1400
1400
  name = "zune-jpeg"
1401
- version = "0.5.11"
1401
+ version = "0.5.12"
1402
1402
  source = "registry+https://github.com/rust-lang/crates.io-index"
1403
- checksum = "2959ca473aae96a14ecedf501d20b3608d2825ba280d5adb57d651721885b0c2"
1403
+ checksum = "410e9ecef634c709e3831c2cfdb8d9c32164fae1c67496d5b68fff728eec37fe"
1404
1404
  dependencies = [
1405
1405
  "zune-core",
1406
1406
  ]
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "html-to-markdown-rb"
3
- version ="2.23.4"
3
+ version ="2.24.1"
4
4
  edition = "2024"
5
5
  authors = ["Na'aman Hirschfeld <naaman@kreuzberg.dev>"]
6
6
  license = "MIT"
@@ -20,8 +20,6 @@ crate-type = ["cdylib", "rlib"]
20
20
  [dependencies]
21
21
  html-to-markdown-rs = { path = "../../../rust-vendor/html-to-markdown-rs", features = ["inline-images", "visitor", "metadata"] }
22
22
  magnus = { git = "https://github.com/matsadler/magnus", rev = "f6db11769efb517427bf7f121f9c32e18b059b38", features = ["rb-sys"] }
23
-
24
- [target.'cfg(not(target_os = "windows"))'.dependencies]
25
23
  pprof = { version = "0.15", features = ["flamegraph"], optional = true }
26
24
 
27
25
  [dev-dependencies]
@@ -5,8 +5,11 @@ require 'pathname'
5
5
 
6
6
  module HtmlToMarkdown
7
7
  module CLIProxy
8
- Error = Class.new(StandardError)
9
- MissingBinaryError = Class.new(Error)
8
+ class Error < StandardError
9
+ end
10
+
11
+ class MissingBinaryError < Error
12
+ end
10
13
 
11
14
  class CLIExecutionError < Error
12
15
  attr_reader :stderr, :status
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module HtmlToMarkdown
4
- VERSION = '2.23.4'
4
+ VERSION = '2.24.1'
5
5
  end
@@ -1 +1 @@
1
- {"files":{".cargo_vcs_info.json":"180fb62a60d18d0593b0fc92d2d5cce9cb1a0d648839a317c2cf3bba57c744a6","CHANGELOG.md":"f7c860164ad789e1c4e35aafaff755530d873d35036a819e841ee20b9cb4a817","Cargo.lock":"497c499e308a7b0473bfd575197740bb1fd72483a7926953793abe18e4aa6fbb","Cargo.toml":"ea7867647b43346615f986e1952d00b2fae84f660e6ddf1a921d12fe66f9842d","Cargo.toml.orig":"83f378d0731eee4f911ae9e4a177263bb0471198475c7f907ae706a73c616c7a","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"cc952a506dc726eed3e128d47d62defbac4470bbb0e465f6a043ae8bf0c96d19","clippy.toml":"aa7850db4350883c8f373bd0d6b4d19bf3b75f13c1c238e24368c109cb52fb1d","src/command_helpers.rs":"2e53ac6e632845157829c3cb8845c3301eb00d57567e3607884a624715024dab","src/detect_compiler_family.c":"97ca4b021495611e828becea6187add37414186a16dfedd26c2947cbce6e8b2f","src/flags.rs":"11f22aa9741b0d445b19ab29ea1076cc32a4143316a74855b6bd682004217543","src/lib.rs":"a8fa06bbb9573f5a657433e437c3f9e1470d2447d8723ddc719f16dd55073dcc","src/parallel/async_executor.rs":"4ce24435fff6b6555b43fee042c16bd65d4150d0346567f246b9190d85b45983","src/parallel/command_runner.rs":"1d17d9a037de93b31cc7ee6a914a1e1f6c1ac156cf8619f0014dcbaca6a0b215","src/parallel/job_token.rs":"6cceffcf0f7e7d82d775287e88a4f9a62dc690c321933204f9b531cf40072bf1","src/parallel/mod.rs":"bf156170790d40a76015a8c78cc2a391cbe1b60bb96c1fac1d047d26e342386a","src/parallel/stderr.rs":"840fe8d0ba613c98fa92cbebc374a028a3212ba7dcea58285483223a31acc7eb","src/target.rs":"a9d2d347a3a08015531f00b32bc8a7478f5636822cc8e0237ea9efa3f07d4cd4","src/target/apple.rs":"da9411b2c4db419e0fa39f765ee53b8665b3837fb39827679a53238734a4a1c1","src/target/generated.rs":"7eb87ba6f8c60901cfd09221afed60bb2fe639ac2471d7ad6b92ce85b3b556b0","src/target/llvm.rs":"190fe8d2b204cd4a6e68f2a1aada17ecd6390799564ed25792fcc08ab34710ba","src/target/parser.rs":"fb18f00f92c6a5160b208317d8739bacab687da18716fa8a50cea0d4271add2e","src/tempfile.rs":"3d9a4bd894862a345aa230a61ec266f0c68f4ef9713d1d9c727482e61f1ea7c3","src/tool.rs":"1d279a6f0738f9164ca794c85bd55951aa95e2adc788e75a6bb8133393d6cce8","src/utilities.rs":"52b30b24a1c31cdefb105309ee5220cfc9fca76eaf4e6d6509c3e19f431448fe"},"package":"755d2fce177175ffca841e9a06afdb2c4ab0f593d53b4dee48147dfaade85932"}
1
+ {"files":{".cargo_vcs_info.json":"1076e91b3aa51afd96889c343752acf6d3bed25dced0d88b0e2ad265e4f2aa3a","CHANGELOG.md":"ed73228f983d352b0c567120f9d200c82bbf096e1ba08fb8ef7ffd2b0761bb2b","Cargo.lock":"8b0dfc5676cb4ce8af8c9f55c352949131c165bf1430a89b73076384fabc6924","Cargo.toml":"e6ffb9cb188f8b83e937bb0d9773b36749624a68aae8d4e176ea84e1c3a0a5bd","Cargo.toml.orig":"a9e316d9ea93dc4931fd29b641a37d0395645f579361d0de5cd36c8de90c00fa","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"cc952a506dc726eed3e128d47d62defbac4470bbb0e465f6a043ae8bf0c96d19","clippy.toml":"aa7850db4350883c8f373bd0d6b4d19bf3b75f13c1c238e24368c109cb52fb1d","src/command_helpers.rs":"2e53ac6e632845157829c3cb8845c3301eb00d57567e3607884a624715024dab","src/detect_compiler_family.c":"97ca4b021495611e828becea6187add37414186a16dfedd26c2947cbce6e8b2f","src/flags.rs":"11f22aa9741b0d445b19ab29ea1076cc32a4143316a74855b6bd682004217543","src/lib.rs":"a8fa06bbb9573f5a657433e437c3f9e1470d2447d8723ddc719f16dd55073dcc","src/parallel/async_executor.rs":"4ce24435fff6b6555b43fee042c16bd65d4150d0346567f246b9190d85b45983","src/parallel/command_runner.rs":"1d17d9a037de93b31cc7ee6a914a1e1f6c1ac156cf8619f0014dcbaca6a0b215","src/parallel/job_token.rs":"6cceffcf0f7e7d82d775287e88a4f9a62dc690c321933204f9b531cf40072bf1","src/parallel/mod.rs":"bf156170790d40a76015a8c78cc2a391cbe1b60bb96c1fac1d047d26e342386a","src/parallel/stderr.rs":"840fe8d0ba613c98fa92cbebc374a028a3212ba7dcea58285483223a31acc7eb","src/target.rs":"a9d2d347a3a08015531f00b32bc8a7478f5636822cc8e0237ea9efa3f07d4cd4","src/target/apple.rs":"da9411b2c4db419e0fa39f765ee53b8665b3837fb39827679a53238734a4a1c1","src/target/generated.rs":"1098456df6be02eea133785236080efc04bc4318e8581cf4199b8f1ab2a3fab9","src/target/llvm.rs":"190fe8d2b204cd4a6e68f2a1aada17ecd6390799564ed25792fcc08ab34710ba","src/target/parser.rs":"0b901fbc3d18f663cb00741fcac6dc390b28c5286c99c1c8ec1727b44563e529","src/tempfile.rs":"3d9a4bd894862a345aa230a61ec266f0c68f4ef9713d1d9c727482e61f1ea7c3","src/tool.rs":"1d279a6f0738f9164ca794c85bd55951aa95e2adc788e75a6bb8133393d6cce8","src/utilities.rs":"52b30b24a1c31cdefb105309ee5220cfc9fca76eaf4e6d6509c3e19f431448fe"},"package":"6354c81bbfd62d9cfa9cb3c773c2b7b2a3a482d569de977fd0e961f6e7c00583"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "git": {
3
- "sha1": "5be292b6bbaddda74e2196b5679d9e7ba5834604"
3
+ "sha1": "85466d853fbdb288e1e2c627539bcfc035fa2ed3"
4
4
  },
5
5
  "path_in_vcs": ""
6
6
  }
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [1.2.54](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.53...cc-v1.2.54) - 2026-01-23
11
+
12
+ ### Other
13
+
14
+ - Fix x86_64-unknown-linux-gnuasan parsing ([#1661](https://github.com/rust-lang/cc-rs/pull/1661))
15
+ - Regenerate target info ([#1660](https://github.com/rust-lang/cc-rs/pull/1660))
16
+
10
17
  ## [1.2.53](https://github.com/rust-lang/cc-rs/compare/cc-v1.2.52...cc-v1.2.53) - 2026-01-16
11
18
 
12
19
  ### Other
@@ -10,7 +10,7 @@ checksum = "812e12b5285cc515a9c72a5c1d3b6d46a19dac5acfef5265968c166106e31dd3"
10
10
 
11
11
  [[package]]
12
12
  name = "cc"
13
- version = "1.2.53"
13
+ version = "1.2.54"
14
14
  dependencies = [
15
15
  "find-msvc-tools",
16
16
  "jobserver",
@@ -13,7 +13,7 @@
13
13
  edition = "2018"
14
14
  rust-version = "1.63"
15
15
  name = "cc"
16
- version = "1.2.53"
16
+ version = "1.2.54"
17
17
  authors = ["Alex Crichton <alex@alexcrichton.com>"]
18
18
  build = false
19
19
  exclude = [
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "cc"
3
- version = "1.2.53"
3
+ version = "1.2.54"
4
4
  authors = ["Alex Crichton <alex@alexcrichton.com>"]
5
5
  license = "MIT OR Apache-2.0"
6
6
  repository = "https://github.com/rust-lang/cc-rs"
@@ -296,6 +296,7 @@ pub(crate) const LLVM_TARGETS: &[(&str, &str)] = &[
296
296
  ("x86_64-unknown-illumos", "x86_64-pc-solaris"),
297
297
  ("x86_64-unknown-l4re-uclibc", "x86_64-unknown-l4re-gnu"),
298
298
  ("x86_64-unknown-linux-gnu", "x86_64-unknown-linux-gnu"),
299
+ ("x86_64-unknown-linux-gnuasan", "x86_64-unknown-linux-gnu"),
299
300
  ("x86_64-unknown-linux-gnux32", "x86_64-unknown-linux-gnux32"),
300
301
  ("x86_64-unknown-linux-musl", "x86_64-unknown-linux-musl"),
301
302
  ("x86_64-unknown-linux-none", "x86_64-unknown-linux-none"),
@@ -445,6 +445,10 @@ impl<'a> TargetInfo<'a> {
445
445
  abi = "elfv2";
446
446
  }
447
447
 
448
+ if abi == "asan" {
449
+ abi = "";
450
+ }
451
+
448
452
  Ok(Self {
449
453
  full_arch,
450
454
  arch,
@@ -8,7 +8,7 @@ This crate is the core engine compiled into the Python wheels, Ruby gem, Node.js
8
8
  [![npm version](https://img.shields.io/npm/v/html-to-markdown-node.svg?logo=npm)](https://www.npmjs.com/package/html-to-markdown-node)
9
9
  [![PyPI version](https://img.shields.io/pypi/v/html-to-markdown.svg?logo=pypi)](https://pypi.org/project/html-to-markdown/)
10
10
  [![Gem Version](https://badge.fury.io/rb/html-to-markdown.svg)](https://rubygems.org/gems/html-to-markdown)
11
- [![Packagist](https://img.shields.io/packagist/v/goldziher/html-to-markdown.svg)](https://packagist.org/packages/goldziher/html-to-markdown)
11
+ [![Packagist](https://img.shields.io/packagist/v/kreuzberg-dev/html-to-markdown.svg)](https://packagist.org/packages/kreuzberg-dev/html-to-markdown)
12
12
  [![docs.rs](https://docs.rs/html-to-markdown-rs/badge.svg)](https://docs.rs/html-to-markdown-rs)
13
13
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/kreuzberg-dev/html-to-markdown/blob/main/LICENSE)
14
14
 
@@ -8,7 +8,7 @@ use std::borrow::Cow;
8
8
  use crate::error::Result;
9
9
  use crate::options::{ConversionOptions, WhitespaceMode};
10
10
  use crate::text;
11
- use crate::validation::validate_input;
11
+ use crate::validation::{Utf16Encoding, detect_utf16_encoding, validate_input};
12
12
  use crate::{ConversionError, ConversionOptionsUpdate};
13
13
 
14
14
  #[cfg(feature = "visitor")]
@@ -40,10 +40,9 @@ use crate::{HtmlExtraction, InlineImageConfig};
40
40
  ///
41
41
  /// Returns an error if HTML parsing fails or if the input contains invalid UTF-8.
42
42
  pub fn convert(html: &str, options: Option<ConversionOptions>) -> Result<String> {
43
- validate_input(html)?;
44
43
  let options = options.unwrap_or_default();
45
44
 
46
- let normalized_html = normalize_line_endings(html);
45
+ let normalized_html = normalize_input(html)?;
47
46
 
48
47
  if !options.wrap {
49
48
  if let Some(markdown) = fast_text_only(normalized_html.as_ref(), &options) {
@@ -84,10 +83,9 @@ pub fn convert_with_inline_images(
84
83
  use std::cell::RefCell;
85
84
  use std::rc::Rc;
86
85
 
87
- validate_input(html)?;
88
86
  let options = options.unwrap_or_default();
89
87
 
90
- let normalized_html = normalize_line_endings(html);
88
+ let normalized_html = normalize_input(html)?;
91
89
 
92
90
  let collector = Rc::new(RefCell::new(crate::inline_images::InlineImageCollector::new(
93
91
  image_cfg,
@@ -257,10 +255,9 @@ pub fn convert_with_metadata(
257
255
  use std::cell::RefCell;
258
256
  use std::rc::Rc;
259
257
 
260
- validate_input(html)?;
261
258
  let options = options.unwrap_or_default();
259
+ let normalized_html = normalize_input(html)?;
262
260
  if !metadata_cfg.any_enabled() {
263
- let normalized_html = normalize_line_endings(html);
264
261
  #[cfg(feature = "visitor")]
265
262
  let markdown = crate::converter::convert_html_impl(normalized_html.as_ref(), &options, None, None, visitor)?;
266
263
  #[cfg(not(feature = "visitor"))]
@@ -273,8 +270,6 @@ pub fn convert_with_metadata(
273
270
  return Ok((markdown, ExtendedMetadata::default()));
274
271
  }
275
272
 
276
- let normalized_html = normalize_line_endings(html);
277
-
278
273
  let metadata_collector = Rc::new(RefCell::new(crate::metadata::MetadataCollector::new(metadata_cfg)));
279
274
 
280
275
  #[cfg(feature = "visitor")]
@@ -332,8 +327,8 @@ pub fn convert_with_metadata(
332
327
  /// fn visit_code_block(
333
328
  /// &mut self,
334
329
  /// _ctx: &NodeContext,
335
- /// code: &str,
336
330
  /// language: Option<&str>,
331
+ /// code: &str,
337
332
  /// ) -> VisitResult {
338
333
  /// VisitResult::Custom(format!("```{}\n{}\n```", language.unwrap_or(""), code))
339
334
  /// }
@@ -352,10 +347,9 @@ pub fn convert_with_visitor(
352
347
  options: Option<ConversionOptions>,
353
348
  visitor: Option<visitor::VisitorHandle>,
354
349
  ) -> Result<String> {
355
- validate_input(html)?;
356
350
  let options = options.unwrap_or_default();
357
351
 
358
- let normalized_html = normalize_line_endings(html);
352
+ let normalized_html = normalize_input(html)?;
359
353
 
360
354
  let markdown = crate::converter::convert_html_with_visitor(normalized_html.as_ref(), &options, visitor)?;
361
355
 
@@ -412,8 +406,8 @@ pub fn convert_with_visitor(
412
406
  /// async fn visit_code_block(
413
407
  /// &mut self,
414
408
  /// _ctx: &NodeContext,
415
- /// code: &str,
416
409
  /// language: Option<&str>,
410
+ /// code: &str,
417
411
  /// ) -> VisitResult {
418
412
  /// // Can perform async operations here (e.g., syntax highlighting via service)
419
413
  /// VisitResult::Custom(format!("```{}\n{}\n```", language.unwrap_or(""), code))
@@ -433,10 +427,9 @@ pub async fn convert_with_async_visitor(
433
427
  options: Option<ConversionOptions>,
434
428
  visitor: Option<visitor_helpers::AsyncVisitorHandle>,
435
429
  ) -> Result<String> {
436
- validate_input(html)?;
437
430
  let options = options.unwrap_or_default();
438
431
 
439
- let normalized_html = normalize_line_endings(html);
432
+ let normalized_html = normalize_input(html)?;
440
433
 
441
434
  // Use the async implementation that properly awaits visitor callbacks
442
435
  let markdown =
@@ -449,6 +442,88 @@ pub async fn convert_with_async_visitor(
449
442
  }
450
443
  }
451
444
 
445
+ /// Validate and normalize HTML input for conversion.
446
+ fn normalize_input(html: &str) -> Result<Cow<'_, str>> {
447
+ let decoded = decode_utf16_if_needed(html);
448
+ match decoded {
449
+ Cow::Borrowed(borrowed) => {
450
+ validate_input(borrowed)?;
451
+ let sanitized = strip_nul_bytes(borrowed);
452
+ match sanitized {
453
+ Cow::Borrowed(b) => Ok(normalize_line_endings(b)),
454
+ Cow::Owned(o) => Ok(Cow::Owned(normalize_line_endings(&o).into_owned())),
455
+ }
456
+ }
457
+ Cow::Owned(mut owned) => {
458
+ validate_input(&owned)?;
459
+ if owned.contains('\0') {
460
+ owned = owned.replace('\0', "");
461
+ }
462
+ if owned.contains('\r') {
463
+ owned = owned.replace("\r\n", "\n").replace('\r', "\n");
464
+ }
465
+ Ok(Cow::Owned(owned))
466
+ }
467
+ }
468
+ }
469
+
470
+ /// Attempt to decode UTF-16 HTML that was provided as a lossy UTF-8 string.
471
+ ///
472
+ /// Some callers read raw bytes and convert with `from_utf8_lossy`, which preserves
473
+ /// the NUL-byte pattern of UTF-16 input. When we detect that pattern, we can
474
+ /// recover the original HTML instead of rejecting it as binary data.
475
+ fn decode_utf16_if_needed(html: &str) -> Cow<'_, str> {
476
+ let bytes = html.as_bytes();
477
+ if !bytes.contains(&0) {
478
+ return Cow::Borrowed(html);
479
+ }
480
+
481
+ let Some(encoding) = detect_utf16_encoding(bytes) else {
482
+ return Cow::Borrowed(html);
483
+ };
484
+
485
+ let decoded = decode_utf16_bytes(bytes, encoding);
486
+ if decoded.is_empty() {
487
+ Cow::Borrowed(html)
488
+ } else {
489
+ Cow::Owned(decoded)
490
+ }
491
+ }
492
+
493
+ fn decode_utf16_bytes(bytes: &[u8], encoding: Utf16Encoding) -> String {
494
+ let (is_little_endian, skip_bom) = match encoding {
495
+ Utf16Encoding::BomLe => (true, true),
496
+ Utf16Encoding::BomBe => (false, true),
497
+ Utf16Encoding::NoBomLe => (true, false),
498
+ Utf16Encoding::NoBomBe => (false, false),
499
+ };
500
+
501
+ let mut units = Vec::with_capacity(bytes.len() / 2);
502
+ for chunk in bytes.chunks_exact(2) {
503
+ let unit = if is_little_endian {
504
+ u16::from_le_bytes([chunk[0], chunk[1]])
505
+ } else {
506
+ u16::from_be_bytes([chunk[0], chunk[1]])
507
+ };
508
+ units.push(unit);
509
+ }
510
+
511
+ let mut decoded = String::from_utf16_lossy(&units);
512
+ if skip_bom {
513
+ decoded = decoded.trim_start_matches('\u{FEFF}').to_string();
514
+ }
515
+ decoded
516
+ }
517
+
518
+ /// Strip NUL bytes that can appear in malformed HTML inputs.
519
+ fn strip_nul_bytes(html: &str) -> Cow<'_, str> {
520
+ if html.contains('\0') {
521
+ Cow::Owned(html.replace('\0', ""))
522
+ } else {
523
+ Cow::Borrowed(html)
524
+ }
525
+ }
526
+
452
527
  /// Normalize line endings in HTML input.
453
528
  ///
454
529
  /// Converts CRLF and CR line endings to LF for consistent processing.
@@ -268,7 +268,7 @@ fn dedent_code_block(content: &str) -> String {
268
268
  let min_indent = lines
269
269
  .iter()
270
270
  .filter(|line| !line.trim().is_empty())
271
- .map(|line| line.len() - line.trim_start().len())
271
+ .map(|line| line.chars().take_while(|c| c.is_whitespace()).count())
272
272
  .min()
273
273
  .unwrap_or(0);
274
274
 
@@ -277,10 +277,21 @@ fn dedent_code_block(content: &str) -> String {
277
277
  .map(|line| {
278
278
  if line.trim().is_empty() {
279
279
  String::new()
280
- } else if line.len() >= min_indent {
281
- line[min_indent..].to_string()
282
280
  } else {
283
- line.to_string()
281
+ let mut remaining = min_indent;
282
+ let mut cut = 0;
283
+ for (idx, ch) in line.char_indices() {
284
+ if remaining == 0 {
285
+ break;
286
+ }
287
+ if ch.is_whitespace() {
288
+ remaining -= 1;
289
+ cut = idx + ch.len_utf8();
290
+ } else {
291
+ break;
292
+ }
293
+ }
294
+ line[cut..].to_string()
284
295
  }
285
296
  })
286
297
  .collect();
@@ -35,7 +35,7 @@ pub fn handle_graphic(
35
35
  tag: &tl::HTMLTag,
36
36
  parser: &tl::Parser,
37
37
  output: &mut String,
38
- _options: &ConversionOptions,
38
+ options: &ConversionOptions,
39
39
  ctx: &Context,
40
40
  depth: usize,
41
41
  dom_ctx: &DomContext,
@@ -158,8 +158,10 @@ pub fn handle_graphic(
158
158
  should_use_alt_text,
159
159
  ));
160
160
 
161
- if let Some(graphic_text) = graphic_output {
162
- output.push_str(&graphic_text);
161
+ if !options.skip_images {
162
+ if let Some(graphic_text) = graphic_output {
163
+ output.push_str(&graphic_text);
164
+ }
163
165
  }
164
166
 
165
167
  // Add graphic to metadata collector
@@ -174,7 +174,7 @@ pub(crate) fn handle_svg(
174
174
  tag: &tl::HTMLTag,
175
175
  parser: &Parser,
176
176
  output: &mut String,
177
- _options: &crate::options::ConversionOptions,
177
+ options: &crate::options::ConversionOptions,
178
178
  ctx: &super::Context,
179
179
  _depth: usize,
180
180
  dom_ctx: &super::DomContext,
@@ -216,6 +216,10 @@ pub(crate) fn handle_svg(
216
216
  handle_inline_svg(collector_ref, node_handle, parser, title_opt, attributes_map);
217
217
  }
218
218
 
219
+ if options.skip_images {
220
+ return;
221
+ }
222
+
219
223
  if ctx.convert_as_inline {
220
224
  output.push_str(&title);
221
225
  } else {