либо, так в чем смысл?
function A
рые принимаютfunction B
в качестве параметра сноваfunction B
приниматьfunction C
в качестве параметра. Я пытаюсь синтаксис, как показано ниже, но это дает мне ошибку:
fn a(b: impl Fn(impl Fn() -> ()) -> ()) -> () {
// ...
}
error[E0666]: nested `impl Trait` is not allowed
--> src/main.rs:2:21
|
2 | fn a(b: impl Fn(impl Fn() -> ()) -> ()) -> () {
| --------^^^^^^^^^^^^^^^-------
| | |
| | nested `impl Trait` here
| outer `impl Trait`
По какой-то причине я не могу использовать&dyn
ключевое слово:
fn a(b: impl Fn(&dyn Fn() -> ()) -> ()) -> () {
// ...
}
Есть ли другие способы сделать это?
И я не знаю почемувложеннымиimpl Trait
вызвать ошибку.