Skip to content

Conversation

@kivikakk
Copy link
Owner

@kivikakk kivikakk commented Oct 24, 2025

  • Comrak FTBFS with GCC 15 with onig_sys 69.8.1.
  • We don't depend directly on onig_sys, but with Syntect support it's pulled in.
  • onig_sys 69.9.1 sets an MSRV of 1.70.
  • Rust 1.65 turns 3 years old in less than a fortnight; Rust 1.70 is about 2.5.

I'm happy to bump our MSRV to 1.70 to mitigate this unfortunate and kind of tangled issue. I note Debian stable (trixie) bundles 1.85, which seems to me to be a pretty good sign we're being pretty conservative.

Note that Syntect 5.3.0, which is the first version of Syntect to force onig_sys ^69.9.1 (via its onig ^6.5.1 requirement), does not build on 1.70:

   Compiling syntect v5.3.0
   Compiling comrak v0.45.0 (/Users/kivikakk/g/comrak)
error[E0716]: temporary value dropped while borrowed
   --> /Users/kivikakk/.cargo/registry/src/index.crates.io-6f17d22bba15001f/syntect-5.3.0/src/parsing/parser.rs:466:19
    |
463 |         let (regex, can_cache) = match (match_pat.has_captures, captures) {
    |              ----- borrow later used here
...
466 |                 (&match_pat.regex_with_refs(region, s), false)
    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ creates a temporary value which is freed while still in use
467 |             }
    |             - temporary value is freed at the end of this statement
    |
    = note: consider using a `let` binding to create a longer lived value

For more information about this error, try `rustc --explain E0716`.
error: could not compile `syntect` (lib) due to previous error

Unfortunate, but not a blocker, as earlier versions work fine (and work fine with the newer onig_sys).

Fixes #568. See also #648 (comment).

@kivikakk kivikakk mentioned this pull request Oct 24, 2025
@github-actions
Copy link
Contributor

Command Mean [ms] Min [ms] Max [ms] Relative
./bench.sh ./comrak-e9c68e7 105.8 ± 4.0 102.9 119.7 1.82 ± 0.08
./bench.sh ./comrak-main 104.8 ± 0.8 103.4 106.5 1.81 ± 0.05
./bench.sh ./pulldown-cmark 58.1 ± 1.4 56.8 66.7 1.00
./bench.sh ./cmark-gfm 89.8 ± 5.9 81.5 102.1 1.55 ± 0.11
./bench.sh ./markdown-it 257.4 ± 2.8 253.4 263.7 4.43 ± 0.12

Run on Fri Oct 24 02:03:44 UTC 2025

@kivikakk kivikakk merged commit 766e5a0 into main Oct 24, 2025
45 checks passed
@kivikakk kivikakk deleted the push-twkkypolmspz branch October 24, 2025 02:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Remove onig bindings

3 participants