Dilaporkan di https://users.rust-lang.org/t/giving-names-to-callback-parameters/12877.
pub fn f(callback: fn(len: usize)) {}
Rustdoc menunjukkan ini sebagai:
pub fn f(callback: fn(_: usize))
Ini dengan rustc 1.22.0-nightly (539f2083d 2017-09-13).
Setelah awalnya melaporkan ini, saya benar-benar ingin mencoba memperbaikinya. Saya akan mulai menyelidiki selama akhir pekan.
Sunting: karena saya tidak punya waktu untuk melihat ini, orang lain dapat merasa bebas untuk mengambil alih.
@ rust-lang / compiler @petrochenkov Oh wow mengapa kita bahkan mengizinkan sintaks ini ?!
Tetapi jika kita menginginkan ini harus dilakukan seperti extern {...}
fungsi (tanpa badan), yang menyimpan nama Vec
, berbeda dari pola argumen dalam fungsi dengan badan.
@deddyb
Oh wow kenapa kita bahkan mengizinkan sintaks ini ?!
Untuk mendukung argumen yang mendokumentasikan sendiri dalam jenis callback, kira-kira alasan yang sama mengapa nama didukung dalam fungsi asing.
Semua pola kecuali _
dan IDENT
dilarang di sana oleh pemeriksaan yang sama yang melarangnya dalam fungsi asing, sehingga yang legal dapat diturunkan menjadi " Vec
nama".
Komentar yang paling membantu
Setelah awalnya melaporkan ini, saya benar-benar ingin mencoba memperbaikinya. Saya akan mulai menyelidiki selama akhir pekan.
Sunting: karena saya tidak punya waktu untuk melihat ini, orang lain dapat merasa bebas untuk mengambil alih.