Rust: Имена параметров обратного вызова отсутствуют в rustdoc

Созданный на 14 сент. 2017  ·  3Комментарии  ·  Источник: rust-lang/rust

Об этом сообщается в https://users.rust-lang.org/t/giving-names-to-callback-parameters/12877.

pub fn f(callback: fn(len: usize)) {}

Растдок показывает это как:

pub fn f(callback: fn(_: usize))

Это с rustc 1.22.0-nightly (539f2083d 13.09.2017).

C-bug T-dev-tools T-rustdoc

Самый полезный комментарий

Изначально сообщив об этом, я действительно хотел бы попытаться исправить это. Я начну расследование на выходных.

Изменить: поскольку у меня не было времени взглянуть на это, кто-то другой может смело взять на себя ответственность.

Все 3 Комментарий

Изначально сообщив об этом, я действительно хотел бы попытаться исправить это. Я начну расследование на выходных.

Изменить: поскольку у меня не было времени взглянуть на это, кто-то другой может смело взять на себя ответственность.

@ rust-lang / compiler @petrochenkov Ого, почему мы вообще разрешаем этот синтаксис ?!
Но если мы этого хотим, это должно выполняться как extern {...} функции (без тел), которые сохраняют Vec имен, отличных от шаблонов аргументов в функциях с телами.

@eddyb

Ого, почему мы вообще разрешаем этот синтаксис ?!

Для поддержки самодокументируемых аргументов в типах обратного вызова примерно по той же причине, по которой имена поддерживаются во внешних функциях.
Любые шаблоны, кроме _ и IDENT здесь запрещены той же проверкой, которая запрещает их во внешних функциях, поэтому допустимые шаблоны могут быть понижены до « Vec имен».

Была ли эта страница полезной?
0 / 5 - 0 рейтинги