2019-05-24 21:10:00 -05:00
|
|
|
pub struct LipogramCorpora {
|
|
|
|
selections: Vec<(char, Option<String>)>,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl LipogramCorpora {
|
|
|
|
pub fn validate_all(&mut self) -> Result<(), char> {
|
|
|
|
for selection in &self.selections {
|
|
|
|
if selection.1.is_some() {
|
|
|
|
if selection.1.unwrap().contains(selection.0) {
|
2019-05-05 06:02:32 -05:00
|
|
|
//~^ ERROR cannot move out of `selection.1`
|
2019-05-24 21:10:00 -05:00
|
|
|
return Err(selection.0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Ok(())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-05-24 21:30:25 -05:00
|
|
|
pub struct LipogramCorpora2 {
|
|
|
|
selections: Vec<(char, Result<String, String>)>,
|
|
|
|
}
|
|
|
|
|
|
|
|
impl LipogramCorpora2 {
|
|
|
|
pub fn validate_all(&mut self) -> Result<(), char> {
|
|
|
|
for selection in &self.selections {
|
|
|
|
if selection.1.is_ok() {
|
|
|
|
if selection.1.unwrap().contains(selection.0) {
|
2019-05-05 06:02:32 -05:00
|
|
|
//~^ ERROR cannot move out of `selection.1`
|
2019-05-24 21:30:25 -05:00
|
|
|
return Err(selection.0);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
Ok(())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-05-24 21:10:00 -05:00
|
|
|
fn main() {}
|