Significant Changes
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 throughsize_t
by @GPHemsley in #1134 - Fix segfault due to failing Expr classification by @thedataking in #1145
transpile
: Rewritefn compare_src_locs
implementation to have a total order by @Kriskras99 in #1128- transpile: fix
curl
transpile breakage while maintaining a totalSrcLoc
order by @kkysen in #1163 transpile
: emit zeroed array expressions as[0; N]
by @folkertdev in #1170transpile
: fix previously ignoredenum
usage in compound literals by @Yeaseen in #1185transpile
: allow expressions in compound literals for structs by @Yeaseen in #1188- Fix proc macro punctuation panic by @fw-immunant in #1197
- correctly construct _ as Ident rather than Punctuation by @chrysn in #1202
- transpile: parenthesize subexpression of reference expressions if necessary by @fw-immunant in #1121
c2rust-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
: addrust-analyzer
component torust-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: v0.19.0...v0.20.0