Unclaimed project
Are you a maintainer of c2rust? Claim this project to take control of your public changelog and roadmap.
Claim this projectChangelog
c2rust
Migrate C code to Rust
memory-safetymigrationrustsecurity-hardeningtranslationtranspiler
Last updated 4 months ago
Back to changelogNew
v0.20.0
Significant Changes
- (#1128, #1163) Fix
fn compare_src_locs to use a valid total, transitive ordering
What's Changed
c2rust-transpile
- transpile: don't assume macro invocations are whitespace-free by @fw-immunant in #1120
- transpile: Make cast from
bool to pointer compile through size_t by @GPHemsley in #1134
- Fix segfault due to failing Expr classification by @thedataking in #1145
transpile: Rewrite fn compare_src_locs implementation to have a total order by @Kriskras99 in #1128
- transpile: fix
curl transpile breakage while maintaining a total SrcLoc order by @kkysen in #1163
transpile: emit zeroed array expressions as [0; N] by @folkertdev in #1170
transpile: fix previously ignored enum usage in compound literals by @Yeaseen in #1185
transpile: allow expressions in compound literals for structs by @Yeaseen in #1188
Fix proc macro punctuation panic by @fw-immunant in #1197correctly construct _ as Ident rather than Punctuation by @chrysn in #1202transpile: parenthesize subexpression of reference expressions if necessary by @fw-immunant in #1121c2rust-analyze
- Import null pointer information from PDG into static analysis by @ahomescu in #1086
- analyze: implement Box rewrites by @spernsteiner in #1106
- analyze: static/dynamic comparison mode for NON_NULL by @spernsteiner in #1151
- analyze: add HEAP and STACK permissions by @spernsteiner in #1147
- analyze: misc fixes for simple_buffer by @spernsteiner in #1148
- Use log crate for debugging output in c2rust-analyze by @ahomescu in #1102
- analyze: use a common namespace for all local and global PointerIds by @spernsteiner in #1164
- analyze: allow pointee analysis to work interprocedurally by @spernsteiner in #1172
- analyze: run equiv pass before pointee by @spernsteiner in #1173
- analyze: script for automatically fixing some compile errors by @spernsteiner in #1174
- analyze: more def list options by @spernsteiner in #1175
- analyze: memcpy rewrite improvements by @spernsteiner in #1176
- analyze: discard rewrites on bounds checking code by @spernsteiner in #1177
- analyze: misc fixes for lighttpd buffer (part 1/2) by @spernsteiner in #1178
- analyze: move
Option<&mut T> on last use instead of reborrowing by @spernsteiner in #1179
- analyze: misc fixes for lighttpd buffer (part 2/2) by @spernsteiner in #1180
- analyze: add option to skip borrowck by @spernsteiner in #1181
- analyze: add test based on lighttpd buffer by @spernsteiner in #1182
- analyze: use println! instead of info! to print rewritten code by @spernsteiner in #1190
- fix: clippy::not_unsafe_ptr_arg_deref by @Nugine in #1187
Build Systems, CI, docs, etc.
- Update CI workflow to use upload-artifacts@v4 action by @fw-immunant in #1130
- Fix Nix by @DieracDelta in #1094
rust-analyzer: add rust-analyzer component to rust-toolchain.toml so that it is in sync with our pinned nightly by @kkysen in #1137
- Fix Darwin CI by @fw-immunant in #1146
- Update
analysis/ownership/README.md to add syntax highlighting to code snippets. by @elliottyoon in #1156
- fix typos by @jayvdb in #1192
New Contributors
- @GPHemsley made his first contribution in #1134
- @DieracDelta made their first contribution in #1094
- @Kriskras99 made their first contribution in #1128
- @elliottyoon made their first contribution in #1156
- @folkertdev made their first contribution in #1170
- @Yeaseen made his first contribution in #1185
- @jayvdb made his first contribution in #1192
- @Nugine made his first contribution in #1187
Full Changelog: https://github.com/immunant/c2rust/compare/v0.19.0...v0.20.0