Можно ли деструктурировать кортеж с неопровержимым шаблоном в объявлении функции? - PullRequest
0 голосов
/ 13 октября 2019

В ржавчине я могу сейчас сделать,

// this function accepts k,v
fn foo(
    k: &str, v: u8
) -> bool {
    true
}

Но я не могу деструктурировать аргументы в сигнатуре,

// this function accepts (k,v) tuple
fn bar(
    (k: &str, v: u8) // notice the parens
) -> bool {
    true
}

Можно ли деструктурировать кортеж с неопровержимым образцом

1 Ответ

3 голосов
/ 13 октября 2019

Что вам нужно сделать, это набрать весь кортеж, а не компоненты внутри него,

// this function accepts (k,v) tuple
fn baz(
    (k, v): (&str, u8) // notice the parens
) -> bool {
    true
}
...