check_bare_fn(ccx, &sig.decl, body, id, span, fty, param_env);
}
-fn report_forbidden_specialization(tcx: &ty::ctxt,
+fn report_forbidden_specialization(tcx: &TyCtxt,
impl_item: &hir::ImplItem,
parent_impl: DefId)
{
let mut err = struct_span_err!(
tcx.sess, impl_item.span, E0520,
- "item `{}` is provided by an implementation that specializes \
- another, but the item in the parent implementations is not \
+ "item `{}` is provided by an `impl` that specializes \
+ another, but the item in the parent `impl` is not \
marked `default` and so it cannot be specialized.",
impl_item.name);
err.emit();
}
-fn check_specialization_validity<'tcx>(tcx: &ty::ctxt<'tcx>, trait_def: &ty::TraitDef<'tcx>,
+fn check_specialization_validity<'tcx>(tcx: &TyCtxt<'tcx>, trait_def: &ty::TraitDef<'tcx>,
impl_id: DefId, impl_item: &hir::ImplItem)
{
let ancestors = trait_def.ancestors(impl_id);
fcx.add_wf_bounds(&item_substs.substs, expr);
});
}
- hir::ExprInlineAsm(ref ia) => {
- for &(_, ref input) in &ia.inputs {
- check_expr(fcx, &input);
+ hir::ExprInlineAsm(_, ref outputs, ref inputs) => {
+ for output in outputs {
+ check_expr(fcx, output);
}
- for out in &ia.outputs {
- check_expr(fcx, &out.expr);
+ for input in inputs {
+ check_expr(fcx, input);
}
fcx.write_nil(id);
}