This is an archive of the discontinued Mercurial Phabricator instance.

rust: Add type annotation to fix inference on Rust Nightly
ClosedPublic

Authored by SimonSapin on May 19 2021, 9:22 AM.

Details

Summary

When compiling with Rust Nightly, the im-rs crate silently makes use of the
experimental language feature for trait impl specialization. This apperently
changes public its APIs in subtle ways such that type inference of some user
code can fail where it succeeds when specialization is disabled.

This made Mercurial’s Rust unit tests have compilation errors on Nightly.

I have not managed to find the exactl root cause, but I wrote down my findings
so far at https://github.com/bodil/im-rs/issues/188

This adds type annotation to make unit tests rely less on type inference
and work around the issue.

Diff Detail

Repository
rHG Mercurial
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.