this:
let names: Vec<String> = names.unwrap_or_else(|| Vec::<Value>::new()).iter().map(|n| n.to_string()).collect();
But something wrong with the type of the empty vector
Update:
This way it worked. but I'm still cerious why it didn't worked in the first place and if there's another simpler way
let names: Vec<String> = match names {
Some(values) => {
values
.iter()
.map(|n| n.to_string())
.collect()
},
None => Vec::new(),
};
What is wrong with the empty vec type? the first example works just fine for me, you can also replace it with unwrap_or_default() to not get into typing at all
Обсуждают сегодня