У меня есть следующий код:
#[derive(Debug, PartialEq, Eq, Copy, Clone)]
pub struct Trip<'a> {
pub cod: &'a str,
}
#[derive(Debug, Clone, Copy)]
pub struct ami<'a> {
pub tlc: &'a str,
}
impl<'a> Trip<'a> {
fn new(road: &'a str) -> Trip {
assert_eq!(
3,
road.trim().len(),
"Triplet doesn't have three Nucleotides"
);
let trip = road[0..].iter().flat_map(|s| s.chars()).collect();
Triplet { cod: trip }
}
}
Я столкнулся со следующей ошибкой:
error[E0599]: no method named `iter` found for type `str` in the current scope
--> src/gcode/gcode.rs:20:30
|
20 | let trip = [0..].iter()
| ^^^^
Насколько я понимаю, связанная с new
функция получает ссылку на время жизниstr
в качестве входного параметра и выводит структуру Trip
с полем cod
.В этом процессе ввод потребляется итератором.
Я должен получать ошибки об аннулировании времени жизни, но я не получаю метод для str
в текущей области?
Почему это?