HomePhabricator

rust: Add type annotation to fix inference on Rust Nightly

Authored by SimonSapin.

Description

rust: Add type annotation to fix inference on Rust Nightly

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.

Differential Revision: https://phab.mercurial-scm.org/D10742