diff --git a/crates/ide/src/syntax_highlighting/test_data/highlighting.html b/crates/ide/src/syntax_highlighting/test_data/highlighting.html
index 33bc6b0f3b0a..0d325f3f3d88 100644
--- a/crates/ide/src/syntax_highlighting/test_data/highlighting.html
+++ b/crates/ide/src/syntax_highlighting/test_data/highlighting.html
@@ -66,11 +66,11 @@
pub y: i32,
}
-trait Bar {
+trait Bar where Self: {
fn bar(&self) -> i32;
}
-impl Bar for Foo {
+impl Bar for Foo where Self: {
fn bar(&self) -> i32 {
self.x
}
diff --git a/crates/ide/src/syntax_highlighting/tests.rs b/crates/ide/src/syntax_highlighting/tests.rs
index 32f2d9038ea3..e0597198308d 100644
--- a/crates/ide/src/syntax_highlighting/tests.rs
+++ b/crates/ide/src/syntax_highlighting/tests.rs
@@ -39,11 +39,11 @@ struct Foo {
pub y: i32,
}
-trait Bar {
+trait Bar where Self: {
fn bar(&self) -> i32;
}
-impl Bar for Foo {
+impl Bar for Foo where Self: {
fn bar(&self) -> i32 {
self.x
}
diff --git a/crates/rust-analyzer/src/to_proto.rs b/crates/rust-analyzer/src/to_proto.rs
index 8ce4aa24233a..73dcba6940ea 100644
--- a/crates/rust-analyzer/src/to_proto.rs
+++ b/crates/rust-analyzer/src/to_proto.rs
@@ -422,7 +422,7 @@ fn semantic_token_type_and_modifiers(
let type_ = match highlight.tag {
HlTag::Symbol(symbol) => match symbol {
SymbolKind::Module => lsp_types::SemanticTokenType::NAMESPACE,
- SymbolKind::Impl => lsp_types::SemanticTokenType::TYPE,
+ SymbolKind::Impl => semantic_tokens::TYPE_ALIAS,
SymbolKind::Field => lsp_types::SemanticTokenType::PROPERTY,
SymbolKind::TypeParam => lsp_types::SemanticTokenType::TYPE_PARAMETER,
SymbolKind::ConstParam => semantic_tokens::CONST_PARAMETER,