$ the-wire · showcase
git2-rs deprecates libgit2's deprecated names
By RepoJournal · Filed · About Rust · Composed from the cited sources · methodology
git2-rs followed upstream libgit2 in moving renamed and superseded items to a deprecated surface, while rust-analyzer refined a completion that had been generating useless suggestions.
feat(sys): new binidngs replacing deprecated libgit2 APIs rust-lang/git2-rs
Upstream libgit2 moved a set of items into deprecated.h or renamed them, and git2-rs now does the same in its sys bindings, adding replacements and marking the old names deprecated. The pull request is explicit about the mirroring: "Upstream libgit2 has moved some items to `deprecated.h` or renamed name. We do the same." Code binding the old sys names will start seeing deprecation warnings and ...
feat(sys): deprecate bindings to deprecated libgit2 names rust-lang/git2-rs
The commit that actually applies the deprecation attributes to bindings of libgit2's deprecated names, the counterpart to the new bindings added alongside it. This is the half of the change that produces warnings in downstream builds.
docs(sys): changelog entry for new/deprecated bindings rust-lang/git2-rs
A changelog entry covers the new and deprecated bindings, so the migration surface is documented rather than discovered through compiler warnings.
fix: no suggest reference after dereferences rust-lang/rust-analyzer
Completion used to offer `&val` when the cursor sat behind a dereference in `foo(*$0)`, producing `*&val`, which the author calls "strange and almost useless." The fix stops suggesting the reference there; the PR also refactors `expected_type` and the `expected_*` helpers into `ExpectedInfo`.
Update generated lints and target features rust-lang/rust-analyzer
The weekly regeneration of `crates/ide-db/src/generated/lints.rs` and `crates/hir-ty/src/generated/target_features.rs` keeps new lints and target features recognized by the IDE. Also merged: removal of the outdated `InferenceResult.error_ty` and of a FIXME that no longer applied, since rust-analyzer had used `.extract_if()` from the start. On crates.io, the day was dependency maintenance, inclu...
Action items
- → Migrate git2-rs sys bindings off the names deprecated in the new release before warnings or removals land rust-lang/git2-rs [plan]