Task: | Monistus |
Sender: | Roopekt |
Submission time: | 2023-11-07 20:21:46 +0200 |
Language: | Rust |
Status: | COMPILE ERROR |
Compiler report
error[E0599]: no method named `try_into` found for type `u32` in the current scope --> input/code.rs:16:33 | 16 | .take(digit.try_into().unwrap()) | ^^^^^^^^ method not found in `u32` | = help: items from traits can only be used if the trait is in scope = note: 'std::convert::TryInto' is included in the prelude starting in Edition 2021 help: the following trait is implemented but not in scope; perhaps add a `use` for it: | 1 | use std::convert::TryInto; | error: aborting due to previous error For more information about this error, try `rustc --explain E0599`.
Code
use std::io::stdin; fn main() { let mut input = stdin().lines(); let text = input.next().unwrap().unwrap(); let mut char_stack: Vec<char> = text.chars().rev().collect(); let mut output = String::new(); while let Some(character) = char_stack.pop() { match character.to_digit(10) { Some(digit) => { let to_duplicate: Vec<char> = char_stack .iter() .rev() .take(digit.try_into().unwrap()) .copied() .collect(); char_stack.extend(to_duplicate.iter().rev()); }, None => { output.push(character); } } } println!("{output}"); }