{}
fn b(s: impl AsRef<str>>) {}
Из документации я понял что первый вариант это нужно для описания параметров типа что бы использовать его несколько раз, а второй вариант анонимное описание если тип только в одном месте используется. Но я так понял что первый вариант генерится на этапе компиляции а второй это динамическая генерация?
нет
а все что связано с динамикой это dyn
Например вот это не сделать с дженериком: fn thing_returning_closure() -> impl Fn(i32) -> bool { println!("here's a closure for you!"); |x: i32| x % 3 == 0 }
конечно не сделать, варианты верхние ожидают тип извне, а вы гените анон тип уже на выходе
Только хотел за такой пример спросить
Ну во входных разницы нет, а ч написал когда проявляется разница))
помню была задача вернуть тип с вложенным замыканием, решил это только через impl
Обсуждают сегодня