From ed4a749f528e31746dfa64f44dd97309c808e20f Mon Sep 17 00:00:00 2001 From: Lukas Wirth Date: Fri, 21 Mar 2025 10:26:55 +0100 Subject: [PATCH] fix: Fix incorrect expansion of builtin `PartialOrd` derive --- .../hir-def/src/macro_expansion_tests/builtin_derive_macro.rs | 2 +- .../rust-analyzer/crates/hir-expand/src/builtin/derive_macro.rs | 2 +- src/tools/rust-analyzer/crates/parser/src/syntax_kind.rs | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/tools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/builtin_derive_macro.rs b/src/tools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/builtin_derive_macro.rs index c31d32213289..777953d3f212 100644 --- a/src/tools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/builtin_derive_macro.rs +++ b/src/tools/rust-analyzer/crates/hir-def/src/macro_expansion_tests/builtin_derive_macro.rs @@ -336,7 +336,7 @@ enum Command { } impl <> $crate::cmp::PartialOrd for Command< > where { - fn partial_cmp(&self , other: &Self ) -> $crate::option::Option::Option<$crate::cmp::Ordering> { + fn partial_cmp(&self , other: &Self ) -> $crate::option::Option<$crate::cmp::Ordering> { match $crate::intrinsics::discriminant_value(self ).partial_cmp(&$crate::intrinsics::discriminant_value(other)) { $crate::option::Option::Some($crate::cmp::Ordering::Equal)=> { match (self , other) { diff --git a/src/tools/rust-analyzer/crates/hir-expand/src/builtin/derive_macro.rs b/src/tools/rust-analyzer/crates/hir-expand/src/builtin/derive_macro.rs index b6181e8ce8c9..2ad8cd8377d5 100644 --- a/src/tools/rust-analyzer/crates/hir-expand/src/builtin/derive_macro.rs +++ b/src/tools/rust-analyzer/crates/hir-expand/src/builtin/derive_macro.rs @@ -969,7 +969,7 @@ fn partial_ord_expand( span, ); quote! {span => - fn partial_cmp(&self, other: &Self) -> #krate::option::Option::Option<#krate::cmp::Ordering> { + fn partial_cmp(&self, other: &Self) -> #krate::option::Option<#krate::cmp::Ordering> { #body } } diff --git a/src/tools/rust-analyzer/crates/parser/src/syntax_kind.rs b/src/tools/rust-analyzer/crates/parser/src/syntax_kind.rs index 6a8cca9ccc79..7311947525ed 100644 --- a/src/tools/rust-analyzer/crates/parser/src/syntax_kind.rs +++ b/src/tools/rust-analyzer/crates/parser/src/syntax_kind.rs @@ -1,6 +1,7 @@ //! Defines [`SyntaxKind`] -- a fieldless enum of all possible syntactic //! constructs of the Rust language. +#[rustfmt::skip] mod generated; use crate::Edition;