use std::error::Error; use std::result; mod intcode; use intcode::{Intcode, read_intcode}; const INPUT: &str = "input/input.txt"; type Result = result::Result>; fn solve_part1() -> Result { let mut intcode = read_intcode(INPUT)?; let output = intcode.execute(&[1]).expect("Failed to execute intcode"); Ok(output[output.len() - 1]) } fn solve_part2() -> Result { let mut intcode = read_intcode(INPUT)?; let output = intcode.execute(&[2]).expect("Failed to execute intcode"); Ok(output[output.len() - 1]) } fn main() -> Result<()> { println!("Part 1: {}", solve_part1()?); println!("Part 2: {}", solve_part2()?); Ok(()) }