use crate::collector::InliningMap;
use crate::collector::{self, MonoItemCollectionMode};
-use crate::errors::{FatalError, SpanFatalError};
+use crate::errors::{SymbolAlreadyDefined, UnknownPartitionStrategy};
pub struct PartitioningCx<'a, 'tcx> {
tcx: TyCtxt<'tcx>,
match strategy {
"default" => Box::new(default::DefaultPartitioning),
_ => {
- let error_message = "unknown partitioning strategy".to_string();
- tcx.sess.emit_fatal(FatalError { error_message: error_message.clone() });
+ tcx.sess.emit_fatal(UnknownPartitionStrategy);
}
}
}
(span1, span2) => span1.or(span2),
};
- let error_message = format!("symbol `{}` is already defined", sym1);
-
- if let Some(span) = span {
- tcx.sess.emit_fatal(SpanFatalError { span, error_message: error_message.clone() });
- } else {
- tcx.sess.emit_fatal(FatalError { error_message: error_message.clone() });
- }
+ tcx.sess.emit_fatal(SymbolAlreadyDefined { span, symbol: sym1.to_string() });
}
}
}
continue;
}
let body = tcx.instance_mir(instance.def);
- for block in body.basic_blocks() {
+ for block in body.basic_blocks.iter() {
for statement in &block.statements {
let mir::StatementKind::Coverage(_) = statement.kind else { continue };
let scope = statement.source_info.scope;