Skip to content

Port engine_xetex to Rust - #1317

Draft
CraftSpider wants to merge 116 commits into
tectonic-typesetting:masterfrom
CraftSpider:engine-port
Draft

Port engine_xetex to Rust#1317
CraftSpider wants to merge 116 commits into
tectonic-typesetting:masterfrom
CraftSpider:engine-port

Conversation

@CraftSpider

@CraftSpider CraftSpider commented Aug 8, 2025

Copy link
Copy Markdown
Contributor

This is the big one - begin converting the engine into Rust.

CI clippy and Windows vcpkg are consistently failing. I'm leaving off fixing those till the end, as long as every other check is passing. vcpkg is a weird one in particular, it's related to a library on Windows not getting linked but that apparently works without these (non-build) changes. So I'm hoping removing most of the C code will just make it fix itself eventually.

@CraftSpider CraftSpider added the port-to-rust Replacing old code with Rust label Aug 8, 2025
@codecov

codecov Bot commented Aug 8, 2025

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 55.24580% with 2986 lines in your changes missing coverage. Please review.
✅ Project coverage is 33.66%. Comparing base (d2224d9) to head (6c9b417).

Files with missing lines Patch % Lines
crates/engine_xetex/xetex/xetex_bindings.h 5.96% 0 Missing and 1150 partials ⚠️
crates/engine_xetex/src/c_api/output.rs 74.10% 353 Missing and 46 partials ⚠️
crates/engine_xetex/src/c_api/scaled_math.rs 29.57% 229 Missing and 2 partials ⚠️
crates/engine_xetex/src/c_api/engine/memory.rs 47.77% 129 Missing ⚠️
crates/engine_xetex/src/c_api/dvi.rs 58.42% 73 Missing and 43 partials ⚠️
crates/engine_xetex/xetex/xetex-xetexd.h 1.70% 0 Missing and 115 partials ⚠️
crates/engine_xetex/src/c_api/errors.rs 53.84% 101 Missing and 7 partials ⚠️
crates/engine_xetex/src/c_api/engine.rs 88.67% 77 Missing and 17 partials ⚠️
crates/engine_xetex/xetex/xetex-linebreak.c 57.00% 33 Missing and 59 partials ⚠️
crates/engine_xetex/xetex/xetex-ext.c 15.15% 60 Missing and 24 partials ⚠️
... and 21 more
Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1317      +/-   ##
==========================================
+ Coverage   31.51%   33.66%   +2.14%     
==========================================
  Files         275      285      +10     
  Lines      180823   186497    +5674     
  Branches   180823   186497    +5674     
==========================================
+ Hits        56994    62790    +5796     
- Misses      44722    45950    +1228     
+ Partials    79107    77757    -1350     
Components Coverage Δ
tectonic 51.35% <ø> (ø)
bridge_core 37.22% <89.28%> (+0.31%) ⬆️
bridge_flate 38.82% <ø> (ø)
bridge_fontconfig 95.67% <ø> (ø)
bridge_freetype2 92.70% <ø> (ø)
bridge_graphite2 42.47% <ø> (ø)
bridge_harfbuzz 82.83% <ø> (ø)
bridge_icu ∅ <ø> (∅)
bridge_png 100.00% <ø> (ø)
bundles 40.84% <ø> (ø)
cfg_support 94.84% <ø> (ø)
dep_support 0.00% <ø> (ø)
docmodel 84.87% <ø> (ø)
engine_bibtex 67.46% <ø> (ø)
engine_spx2html 0.00% <ø> (ø)
engine_xdvipdfmx 64.30% <ø> (ø)
engine_xetex 39.67% <55.10%> (+3.93%) ⬆️
errors 47.61% <ø> (ø)
geturl 28.20% <ø> (ø)
io_base 76.11% <ø> (ø)
pdf_io 18.50% <ø> (ø)
status_base 81.92% <ø> (ø)
xdv 55.28% <ø> (ø)
xetex_format 23.31% <ø> (ø)
xetex_layout 58.44% <50.00%> (-1.13%) ⬇️

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@CraftSpider
CraftSpider force-pushed the engine-port branch 6 times, most recently from 84de890 to 4290774 Compare August 21, 2025 21:41
@CraftSpider
CraftSpider force-pushed the engine-port branch 2 times, most recently from 11d0754 to 270cc6a Compare September 10, 2025 20:02
@CraftSpider
CraftSpider force-pushed the engine-port branch 6 times, most recently from ca5f6b8 to 34363b0 Compare April 19, 2026 03:17
@CraftSpider
CraftSpider force-pushed the engine-port branch 2 times, most recently from 42730f0 to 9b349c4 Compare August 2, 2026 17:47
@CraftSpider
CraftSpider force-pushed the engine-port branch 3 times, most recently from 8f72715 to 8c6441e Compare August 3, 2026 03:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

port-to-rust Replacing old code with Rust

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant