Ist es ein Compiler Bug?
Ja . Es ist in Rust 1.25.0-nächtlich (2018-01-09 61452e506f0c88861cccaeea4ced3419bdb3cbe0) von PR 47167
fixiert / p>Die kurze Version besteht darin, dass es zwei Arten der Indizierung gibt, die als "eingebaute Indexierung" und "überladene Indexierung" bezeichnet werden. Wie Sie vielleicht aus den Namen erraten können, ist einer für den Compiler intrinsischer und der andere ist benutzerdefinierbarer.
In diesem Fall führt die überladene Indexierung ein unnötiges Ausleihen des Arrays aus und löst die Warnung aus. Sie können das Problem umgehen, indem Sie den Compiler-Job vom Typ Inferenz vereinfachen:
%Vor% Wenn Sie explizit den Index als usize
angeben, verwendet der Code jetzt die integrierte Indizierung.
Tags und Links rust