Print formatted reports for roc glue errors

This commit is contained in:
Richard Feldman 2022-07-24 11:23:03 -04:00
parent 946b44cfd0
commit fcd9819118
No known key found for this signature in database
GPG key ID: 7E4127D1E4241798

View file

@ -1,7 +1,7 @@
use crate::rust_glue; use crate::rust_glue;
use crate::types::{Env, Types}; use crate::types::{Env, Types};
use bumpalo::Bump; use bumpalo::Bump;
use roc_load::{LoadedModule, Threading}; use roc_load::{LoadedModule, LoadingProblem, Threading};
use roc_reporting::report::RenderTarget; use roc_reporting::report::RenderTarget;
use roc_target::{Architecture, TargetInfo}; use roc_target::{Architecture, TargetInfo};
use std::fs::File; use std::fs::File;
@ -87,7 +87,16 @@ pub fn load_types(
RenderTarget::Generic, RenderTarget::Generic,
threading, threading,
) )
.expect("Problem loading platform module"); .unwrap_or_else(|problem| match problem {
LoadingProblem::FormattedReport(report) => {
eprintln!("{}", report);
process::exit(1);
}
problem => {
todo!("{:?}", problem);
}
});
let decls = declarations_by_id.remove(&home).unwrap(); let decls = declarations_by_id.remove(&home).unwrap();
let subs = solved.inner_mut(); let subs = solved.inner_mut();