Skip to content

Commit d9f6732

Browse files
committed
fix errors after rebase
1 parent 9deb3e4 commit d9f6732

File tree

5 files changed

+13
-14
lines changed

5 files changed

+13
-14
lines changed

crates/hir-def/src/signatures.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,7 @@ bitflags::bitflags! {
402402
const SKIP_BOXED_SLICE_DURING_METHOD_DISPATCH = 1 << 6;
403403
const RUSTC_PAREN_SUGAR = 1 << 7;
404404
const COINDUCTIVE = 1 << 8;
405+
const ALIAS = 1 << 9;
405406
}
406407
}
407408

@@ -426,6 +427,9 @@ impl TraitSignature {
426427
if source.value.unsafe_token().is_some() {
427428
flags.insert(TraitFlags::UNSAFE);
428429
}
430+
if source.value.eq_token().is_some() {
431+
flags.insert(TraitFlags::ALIAS);
432+
}
429433
if attrs.by_key(sym::fundamental).exists() {
430434
flags |= TraitFlags::FUNDAMENTAL;
431435
}

crates/hir-ty/src/lower_nextsolver/path.rs

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -260,10 +260,6 @@ impl<'a, 'b, 'db> PathLoweringContext<'a, 'b, 'db> {
260260
};
261261
return (ty, None);
262262
}
263-
TypeNs::TraitAliasId(_) => {
264-
// FIXME(trait_alias): Implement trait alias.
265-
return (Ty::new_error(self.ctx.interner, ErrorGuaranteed), None);
266-
}
267263
TypeNs::GenericParam(param_id) => {
268264
let generics = self.ctx.generics();
269265
let idx = generics.type_or_const_param_idx(param_id.into());
@@ -343,8 +339,7 @@ impl<'a, 'b, 'db> PathLoweringContext<'a, 'b, 'db> {
343339
TypeNs::AdtId(_)
344340
| TypeNs::EnumVariantId(_)
345341
| TypeNs::TypeAliasId(_)
346-
| TypeNs::TraitId(_)
347-
| TypeNs::TraitAliasId(_) => {}
342+
| TypeNs::TraitId(_) => {}
348343
}
349344
}
350345

crates/hir-ty/src/next_solver/def_id.rs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
33
use hir_def::{
44
AdtId, ConstId, EnumId, EnumVariantId, FunctionId, GenericDefId, ImplId, StaticId, StructId,
5-
TraitAliasId, TraitId, TypeAliasId, UnionId,
5+
TraitId, TypeAliasId, UnionId,
66
};
77
use rustc_type_ir::inherent;
88
use stdx::impl_from;
@@ -24,7 +24,6 @@ pub enum SolverDefId {
2424
FunctionId(FunctionId),
2525
ImplId(ImplId),
2626
StaticId(StaticId),
27-
TraitAliasId(TraitAliasId),
2827
TraitId(TraitId),
2928
TypeAliasId(TypeAliasId),
3029
ForeignId(TypeAliasId),
@@ -40,7 +39,6 @@ impl_from!(
4039
FunctionId,
4140
ImplId,
4241
StaticId,
43-
TraitAliasId,
4442
TraitId,
4543
TypeAliasId,
4644
InternedClosureId,
@@ -57,7 +55,6 @@ impl From<GenericDefId> for SolverDefId {
5755
GenericDefId::FunctionId(function_id) => SolverDefId::FunctionId(function_id),
5856
GenericDefId::ImplId(impl_id) => SolverDefId::ImplId(impl_id),
5957
GenericDefId::StaticId(static_id) => SolverDefId::StaticId(static_id),
60-
GenericDefId::TraitAliasId(trait_alias_id) => SolverDefId::TraitAliasId(trait_alias_id),
6158
GenericDefId::TraitId(trait_id) => SolverDefId::TraitId(trait_id),
6259
GenericDefId::TypeAliasId(type_alias_id) => SolverDefId::TypeAliasId(type_alias_id),
6360
}
@@ -74,7 +71,6 @@ impl TryFrom<SolverDefId> for GenericDefId {
7471
SolverDefId::FunctionId(function_id) => GenericDefId::FunctionId(function_id),
7572
SolverDefId::ImplId(impl_id) => GenericDefId::ImplId(impl_id),
7673
SolverDefId::StaticId(static_id) => GenericDefId::StaticId(static_id),
77-
SolverDefId::TraitAliasId(trait_alias_id) => GenericDefId::TraitAliasId(trait_alias_id),
7874
SolverDefId::TraitId(trait_id) => GenericDefId::TraitId(trait_id),
7975
SolverDefId::TypeAliasId(type_alias_id) => GenericDefId::TypeAliasId(type_alias_id),
8076
SolverDefId::ForeignId(_) => return Err(value),

crates/hir-ty/src/next_solver/interner.rs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1172,7 +1172,6 @@ impl<'db> rustc_type_ir::Interner for DbInterner<'db> {
11721172
| SolverDefId::AdtId(_)
11731173
| SolverDefId::TraitId(_)
11741174
| SolverDefId::ImplId(_)
1175-
| SolverDefId::TraitAliasId(_)
11761175
| SolverDefId::Ctor(..)
11771176
| SolverDefId::InternedOpaqueTyId(..) => panic!(),
11781177
};
@@ -1790,7 +1789,12 @@ impl<'db> rustc_type_ir::Interner for DbInterner<'db> {
17901789
}
17911790

17921791
fn trait_is_alias(self, trait_def_id: Self::DefId) -> bool {
1793-
matches!(trait_def_id, SolverDefId::TraitAliasId(_))
1792+
let trait_ = match trait_def_id {
1793+
SolverDefId::TraitId(id) => id,
1794+
_ => panic!("Unexpected SolverDefId in trait_is_alias"),
1795+
};
1796+
let trait_data = self.db().trait_signature(trait_);
1797+
trait_data.flags.contains(TraitFlags::ALIAS)
17941798
}
17951799

17961800
fn trait_is_dyn_compatible(self, trait_def_id: Self::DefId) -> bool {

crates/ide/src/file_structure.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -943,7 +943,7 @@ fn let_statements() {
943943
navigation_range: 251..256,
944944
node_range: 245..262,
945945
kind: SymbolKind(
946-
TraitAlias,
946+
Trait,
947947
),
948948
detail: None,
949949
deprecated: false,

0 commit comments

Comments
 (0)