Skip to content

Commit 7e4f433

Browse files
committed
Actually migrate OpaqueHiddenType
1 parent 313d474 commit 7e4f433

File tree

1 file changed

+6
-16
lines changed

1 file changed

+6
-16
lines changed

compiler/rustc_infer/src/infer/opaque_types.rs

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
use crate::errors::OpaqueHiddenTypeDiag;
12
use crate::infer::{DefiningAnchor, InferCtxt, InferOk};
23
use crate::traits;
34
use hir::def_id::{DefId, LocalDefId};
@@ -153,22 +154,11 @@ impl<'a, 'tcx> InferCtxt<'a, 'tcx> {
153154
if let Some(OpaqueTyOrigin::TyAlias) =
154155
did2.as_local().and_then(|did2| self.opaque_type_origin(did2, cause.span))
155156
{
156-
self.tcx
157-
.sess
158-
.struct_span_err(
159-
cause.span,
160-
"opaque type's hidden type cannot be another opaque type from the same scope",
161-
)
162-
.span_label(cause.span, "one of the two opaque types used here has to be outside its defining scope")
163-
.span_note(
164-
self.tcx.def_span(def_id),
165-
"opaque type whose hidden type is being assigned",
166-
)
167-
.span_note(
168-
self.tcx.def_span(did2),
169-
"opaque type being used as hidden type",
170-
)
171-
.emit();
157+
self.tcx.sess.emit_err(OpaqueHiddenTypeDiag {
158+
span: cause.span,
159+
hidden_type: self.tcx.def_span(did2),
160+
opaque_type: self.tcx.def_span(def_id),
161+
});
172162
}
173163
}
174164
Some(self.register_hidden_type(

0 commit comments

Comments
 (0)