feat: graph-ir (continueing #6) #10

Merged
schrottkatze merged 37 commits from schrottkatze/iowo:graph-ir into main 2024-01-23 12:55:01 +00:00
3 changed files with 8 additions and 8 deletions
Showing only changes of commit bbde1c84ca - Show all commits

View file

@ -10,18 +10,16 @@ mod error_reporting;
mod welcome_msg;
fn main() {
// TODO: proper error handling
// TODO: proper error handling across the whole function
// don't forget to also look inside `Config`
let cfg = Config::read();
if cfg.startup_msg {
print_startup_msg();
}
let source =
fs::read_to_string(cfg.source).expect("can't find source file lol handle me better please");
let ir =
ir::from_ron(&source).expect("aww failed to parse source to graph ir handle me better");
let source = fs::read_to_string(cfg.source).expect("can't find source file");
let ir = ir::from_ron(&source).expect("failed to parse source to graph ir");
let mut machine = cfg.evaluator.pick();
machine.feed(ir);

View file

@ -18,6 +18,7 @@ pub mod write {
use ir::instruction::write::{TargetFormat, TargetType, Write};
pub fn write(Write { target, format }: Write, input_data: &DynamicImage) {
// TODO: actual error handling
input_data
.save_with_format(
match target {
@ -28,7 +29,7 @@ pub mod write {
TargetFormat::Png => ImageFormat::Png,
},
)
.expect("couldn't save file — come back later and handle me properly please uwu");
.expect("couldn't save file");
}
}

View file

@ -77,7 +77,8 @@ fn reverse_and_type_edges(edges: Map<Socket, Set<Socket>>) -> Map<id::Input, id:
let input = id::Input(input.into());
let previous = rev_edges.insert(input, output.clone());
if let Some(previous) = previous {
panic!("two or more outputs referred to the same input {previous:#?} — handle me better later with a TryFrom impl");
// TODO: handle this with a TryFrom impl
panic!("two or more outputs referred to the same input {previous:#?}");
}
}