https://users.rust-lang.org/t/giving-names-to-callback-parameters/12877で報告されてい
pub fn f(callback: fn(len: usize)) {}
Rustdocはこれを次のように示しています。
pub fn f(callback: fn(_: usize))
これはrustc1.22.0-nightly(539f2083d 2017-09-13)です。
最初にこれを報告したので、私は本当に修正を突き刺したいと思います。 週末に調査を開始します。
編集:私はこれを見る時間がなかったので、他の誰かが気軽に引き継ぐことができます。
@ rust-lang / compiler @petrochenkovああ、なぜこの構文を許可するのですか?!
ただし、これが必要な場合は、 extern {...}
関数(本体なし)のように実行する必要があります。これは、本体付きの関数の引数パターンとは異なり、 Vec
の名前を保持します。
@eddyb
なぜこの構文を許可するのですか?!
コールバックタイプで自己文書化引数をサポートするために、名前が外部関数でサポートされるのとほぼ同じ理由。
_
とIDENT
以外のパターンは、外部関数でそれらを禁止するのと同じチェックによって禁止されているため、正当なパターンは「名前のVec
」に下げることができます。
最も参考になるコメント
最初にこれを報告したので、私は本当に修正を突き刺したいと思います。 週末に調査を開始します。
編集:私はこれを見る時間がなかったので、他の誰かが気軽に引き継ぐことができます。