(c2rust-analyze) Relax the transmutable checks from two-way to one-way, now allowing for arrays and slices to decay by @kkysen in https://github.com/immunant/c2rust/pull/841
c2rust-analyze: initial implementation of error recovery by @spernsteiner in https://github.com/immunant/c2rust/pull/876
analyze: preserve refs by @spernsteiner in https://github.com/immunant/c2rust/pull/923
(c2rust-analyze/tests) Specify --edition 2021 for the tests, fixing issues with imports and core (#912) by @kkysen in https://github.com/immunant/c2rust/pull/935
analyze: fix panic on addr_of!(...) as ... by @spernsteiner in https://github.com/immunant/c2rust/pull/945
analyze: add function attrs for testing by @spernsteiner in https://github.com/immunant/c2rust/pull/942
analyze: add support for some unsupported casts by @spernsteiner in https://github.com/immunant/c2rust/pull/929
(c2rust-analyze) Support ptr-to-ptr casts between safely transmutable types, for now limited to same-sized integers by @kkysen in https://github.com/immunant/c2rust/pull/839
analyze: refactor by @spernsteiner in https://github.com/immunant/c2rust/pull/937
rewrite::apply
analyze: new implementation of MIR-to-HIR rewrite lifting by @spernsteiner in https://github.com/immunant/c2rust/pull/934
analyze: generate casts around call arguments and results by @spernsteiner in https://github.com/immunant/c2rust/pull/936
(c2rust-analyze/tests) Enable transpiled string literals in tests by @kkysen in https://github.com/immunant/c2rust/pull/955
Add hypothetical lifetime to structure rewrites with empty generic type parameter lists by @aneksteind in https://github.com/immunant/c2rust/pull/956
rewrite: add #[derive(Clone)] test case by @aneksteind in https://github.com/immunant/c2rust/pull/958
Update README.md to add compile_commands.json setup for meson by @orowith2os in https://github.com/immunant/c2rust/pull/954
Fix the permissions of some scripts by @mjgarton in https://github.com/immunant/c2rust/pull/962
Do not rewrite ADTs mentioned in extern blocks by @aneksteind in https://github.com/immunant/c2rust/pull/960
Improve Fedora detection by @mjgarton in https://github.com/immunant/c2rust/pull/963
mark extern block function signatures as FIXED by @aneksteind in https://github.com/immunant/c2rust/pull/966
[c2rust-analyze] Run analysis on pdg input by @fw-immunant in https://github.com/immunant/c2rust/pull/894
analyze: account for Spans indexing into aggregated sources, not individual files by @fw-immunant in https://github.com/immunant/c2rust/pull/967
add test case showing #905 is resolved by @aneksteind in https://github.com/immunant/c2rust/pull/970
analyze: README: fix invocation by @fw-immunant in https://github.com/immunant/c2rust/pull/972
analyze: generate shims for calls from non-rewritten to rewritten code by @spernsteiner in https://github.com/immunant/c2rust/pull/939
add support for emitting casts to and from *mut T and Cell by @aneksteind in https://github.com/immunant/c2rust/pull/968
analyze: recover from failures in shim generation by @spernsteiner in https://github.com/immunant/c2rust/pull/979
fix mismatch in number of origin parameters for cast result by @aneksteind in https://github.com/immunant/c2rust/pull/976
(c2rust-analyze) Add known_fns! for declaring the permissions on ptrs in known (i.e. libc) UnknownDeffns by @kkysen in https://github.com/immunant/c2rust/pull/978
(c2rust-analyze) Allow calls to UnknownDefKnownFns with known ptr perms by @kkysen in https://github.com/immunant/c2rust/pull/980
(c2rust-analyze) Remove UNIQUE from initial ptr perms before asserting it's empty by @kkysen in https://github.com/immunant/c2rust/pull/981
instrument: README: fix invocation by @fw-immunant in https://github.com/immunant/c2rust/pull/973
(c2rust-analyze/tests) Add a generic extern "rust-intrinsic" foreign fn` test (currently disabled as we crash on it) by @kkysen in https://github.com/immunant/c2rust/pull/1001
provide statics with hypothetical origins by @aneksteind in https://github.com/immunant/c2rust/pull/975
fix subset relation comment between fn argument nested lifetimes by @aneksteind in https://github.com/immunant/c2rust/pull/1003
analyze: don't add fields to adt_metadata_table by @spernsteiner in https://github.com/immunant/c2rust/pull/1004
(c2rust-analyze) Add almost all libcKnownFns used in lighttpd_rust_amalgamated by @kkysen in https://github.com/immunant/c2rust/pull/998
analyze: refactor struct and static rewrites by @spernsteiner in https://github.com/immunant/c2rust/pull/1005
analyze: add extern statics to gacx.static_tys by @spernsteiner in https://github.com/immunant/c2rust/pull/1008
Add hypothetical lifetime parameters and arguments to function signatures by @aneksteind in https://github.com/immunant/c2rust/pull/1000
replace allow_unused with leading underscore for TyGenericParams by @aneksteind in https://github.com/immunant/c2rust/pull/1011
add test for unions by @aneksteind in https://github.com/immunant/c2rust/pull/1012
analyze: add DefId filter by @spernsteiner in https://github.com/immunant/c2rust/pull/1014
analyze: omit unused hypothetical lifetimes during rewriting by @spernsteiner in https://github.com/immunant/c2rust/pull/1015
handle deconstruct_hir_ty for function pointers by @aneksteind in https://github.com/immunant/c2rust/pull/1019
Test.lighttpd.md5 by @aneksteind in https://github.com/immunant/c2rust/pull/1020
analyze: fix deconstruct_hir_ty adt/path case by @spernsteiner in https://github.com/immunant/c2rust/pull/1023
Support intermediate casts in calls. by @aneksteind in https://github.com/immunant/c2rust/pull/1022
analyze: assign fresh PointerIds to Ref and AddressOf rvalues by @spernsteiner in https://github.com/immunant/c2rust/pull/1028
analyze: add pointee_type analysis by @spernsteiner in https://github.com/immunant/c2rust/pull/1029
dataflow: avoid propagating offset permissions upward from field access by @aneksteind in https://github.com/immunant/c2rust/pull/1031
build(deps): bump rustix from 0.37.19 to 0.37.25 by @dependabot in https://github.com/immunant/c2rust/pull/1032
fix typos by @not-my-profile in https://github.com/immunant/c2rust/pull/1016
c2rust-analyze: Move all of main.rs to analyze.rs except for fn main by @kkysen in https://github.com/immunant/c2rust/pull/1035
c2rust-analyze: Add a cargo wrapper by @kkysen in https://github.com/immunant/c2rust/pull/1036
Support llvm 17.0.0 by @thedataking in https://github.com/immunant/c2rust/pull/1041
analyze: memcpy/memset, void* rewrites, and other fixes for algo_md5 by @spernsteiner in https://github.com/immunant/c2rust/pull/1043
LLVM17: Fix preprocessor expression in AstExporter.cpp by @thedataking in https://github.com/immunant/c2rust/pull/1044
c2rust transpile: When casting bools to floats, go through the integral type u8 by @dgherzka in https://github.com/immunant/c2rust/pull/1030
support c2rust <path/to/*.c> in lieu of compile_commands.json by @aneksteind in https://github.com/immunant/c2rust/pull/1037
Fix nix build by @HKalbasi in https://github.com/immunant/c2rust/pull/1047
analyze: borrowck: cache results of polonius runs on disk by @spernsteiner in https://github.com/immunant/c2rust/pull/1056
build(deps): bump shlex from 1.1.0 to 1.3.0 by @dependabot in https://github.com/immunant/c2rust/pull/1062
Add support for LLVM18 by @thedataking in https://github.com/immunant/c2rust/pull/1067
analyze: CLI options by @spernsteiner in https://github.com/immunant/c2rust/pull/1057
ast-exporter: use major, not full, version for clang resource dir by @fw-immunant in https://github.com/immunant/c2rust/pull/1075
Demonstrate use of PDG from dynamic analysis in static analysis by @fw-immunant in https://github.com/immunant/c2rust/pull/1069
c2rust transpile: Allow any integral types in init lists, not just char and int by @kkysen in https://github.com/immunant/c2rust/pull/1076
analyze: add C2RUST_ANALYZE_NO_CARGO env var to disable cargo integration by @spernsteiner in https://github.com/immunant/c2rust/pull/1070
analyze: emit inline annotations for debugging by @spernsteiner in https://github.com/immunant/c2rust/pull/1071
analyze: track reasons why functions are not rewritten by @spernsteiner in https://github.com/immunant/c2rust/pull/1072
analyze: add --rewrite-mode pointwise by @spernsteiner in https://github.com/immunant/c2rust/pull/1073
Fix noop deref warning by @LegNeato in https://github.com/immunant/c2rust/pull/1082
analyze: initial implementation of NON_NULL static analysis by @spernsteiner in https://github.com/immunant/c2rust/pull/1081
analyze: add scripts for computing pointwise metrics by @spernsteiner in https://github.com/immunant/c2rust/pull/1074
c2rust-transpile: only delete compile_commands.json if it was a temp file by @fw-immunant in https://github.com/immunant/c2rust/pull/1079
analyze: uncomment line in scripts/run_pointwise_metrics.sh by @spernsteiner in https://github.com/immunant/c2rust/pull/1087
analyze: allow overriding dataflow for specific permissions by @spernsteiner in https://github.com/immunant/c2rust/pull/1088
Switch to crossbeam-queue for events by @ahomescu in https://github.com/immunant/c2rust/pull/1091
analyze: add NON_NULL rewrites by @spernsteiner in https://github.com/immunant/c2rust/pull/1095
Fix ordering of clang libs for static linking by @thedataking in https://github.com/immunant/c2rust/pull/1100
analyze: support rewriting field projections on nullable pointers by @spernsteiner in https://github.com/immunant/c2rust/pull/1096
Fix c2rust-analyze panic for variadic functions by @ahomescu in https://github.com/immunant/c2rust/pull/1105
analyze: borrowck performance improvements by @spernsteiner in https://github.com/immunant/c2rust/pull/1111
transpile: remove git-testament dependency (for now) to remove time dependency to build on 1.80.0 by @kkysen in https://github.com/immunant/c2rust/pull/1115
Release 0.19.0 by @kkysen in https://github.com/immunant/c2rust/pull/1116
New Contributors
@orowith2os made their first contribution in https://github.com/immunant/c2rust/pull/954
@not-my-profile made their first contribution in https://github.com/immunant/c2rust/pull/1016
@dgherzka made their first contribution in https://github.com/immunant/c2rust/pull/1030
@HKalbasi made their first contribution in https://github.com/immunant/c2rust/pull/1047
Full Changelog: https://github.com/immunant/c2rust/compare/v0.18.0...v0.19.0