use rustc::ty::{self, Ty, TyCtxt};
use rustc::ty::maps::Providers;
use rustc::traits::{FulfillmentContext, ObligationCause, ObligationCauseCode, Reveal};
-use session::config;
+use session::{CompileIncomplete, config};
use util::common::time;
use syntax::ast;
}
pub fn check_crate<'a, 'tcx>(tcx: TyCtxt<'a, 'tcx, 'tcx>)
- -> Result<(), usize> {
+ -> Result<(), CompileIncomplete>
+{
let time_passes = tcx.sess.time_passes();
// this ensures that later parts of type checking can assume that items
check_unused::check_crate(tcx);
check_for_entry_fn(tcx);
- let err_count = tcx.sess.err_count();
- if err_count == 0 {
- Ok(())
- } else {
- Err(err_count)
- }
+ tcx.sess.compile_status()
}
/// A quasi-deprecated helper used in rustdoc and save-analysis to get