Skip to content

Commit 3b75db7

Browse files
committed
Auto merge of #116163 - compiler-errors:lazyness, r=oli-obk
Don't store lazyness in `DefKind::TyAlias` 1. Don't store lazyness of a type alias in its `DefKind`, but instead via a query. 2. This allows us to treat type aliases as lazy if `#[feature(lazy_type_alias)]` *OR* if the alias contains a TAIT, rather than having checks for both in separate parts of the codebase. r? `@oli-obk` cc `@fmease`
2 parents 7f132e8 + 5507482 commit 3b75db7

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

clippy_lints/src/init_numbered_fields.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ impl<'tcx> LateLintPass<'tcx> for NumberedFields {
5050
&& fields
5151
.iter()
5252
.all(|f| f.ident.as_str().as_bytes().iter().all(u8::is_ascii_digit))
53-
&& !matches!(cx.qpath_res(path, e.hir_id), Res::Def(DefKind::TyAlias { .. }, ..))
53+
&& !matches!(cx.qpath_res(path, e.hir_id), Res::Def(DefKind::TyAlias, ..))
5454
{
5555
let expr_spans = fields
5656
.iter()

clippy_utils/src/lib.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@ pub fn is_wild(pat: &Pat<'_>) -> bool {
288288
/// Checks if the given `QPath` belongs to a type alias.
289289
pub fn is_ty_alias(qpath: &QPath<'_>) -> bool {
290290
match *qpath {
291-
QPath::Resolved(_, path) => matches!(path.res, Res::Def(DefKind::TyAlias { .. } | DefKind::AssocTy, ..)),
291+
QPath::Resolved(_, path) => matches!(path.res, Res::Def(DefKind::TyAlias | DefKind::AssocTy, ..)),
292292
QPath::TypeRelative(ty, _) if let TyKind::Path(qpath) = ty.kind => { is_ty_alias(&qpath) },
293293
_ => false,
294294
}

clippy_utils/src/ty/type_certainty/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ fn path_segment_certainty(
219219
// See the comment preceding `qpath_certainty`. `def_id` could refer to a type or a value.
220220
let certainty = lhs.join_clearing_def_ids(rhs);
221221
if resolves_to_type {
222-
if let DefKind::TyAlias { .. } = cx.tcx.def_kind(def_id) {
222+
if let DefKind::TyAlias = cx.tcx.def_kind(def_id) {
223223
adt_def_id(cx.tcx.type_of(def_id).instantiate_identity())
224224
.map_or(certainty, |def_id| certainty.with_def_id(def_id))
225225
} else {

0 commit comments

Comments
 (0)