Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--Cargo.toml2
-rw-r--r--crates/hir-ty/src/consteval.rs4
-rw-r--r--crates/ide-completion/src/completions/mod_.rs3
-rw-r--r--crates/stdx/src/lib.rs16
4 files changed, 4 insertions, 21 deletions
diff --git a/Cargo.toml b/Cargo.toml
index 3c2d3a13b1..4e6861d351 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -4,7 +4,7 @@ exclude = ["crates/proc-macro-srv/proc-macro-test/imp"]
resolver = "2"
[workspace.package]
-rust-version = "1.81"
+rust-version = "1.82"
edition = "2021"
license = "MIT OR Apache-2.0"
authors = ["rust-analyzer team"]
diff --git a/crates/hir-ty/src/consteval.rs b/crates/hir-ty/src/consteval.rs
index 9b0044f5c4..091cfcd465 100644
--- a/crates/hir-ty/src/consteval.rs
+++ b/crates/hir-ty/src/consteval.rs
@@ -11,7 +11,7 @@ use hir_def::{
ConstBlockLoc, EnumVariantId, GeneralConstId, StaticId,
};
use hir_expand::Lookup;
-use stdx::{never, IsNoneOr};
+use stdx::never;
use triomphe::Arc;
use crate::{
@@ -287,7 +287,7 @@ pub(crate) fn const_eval_discriminant_variant(
}
let repr = db.enum_data(loc.parent).repr;
- let is_signed = IsNoneOr::is_none_or(repr.and_then(|repr| repr.int), |int| int.is_signed());
+ let is_signed = repr.and_then(|repr| repr.int).is_none_or(|int| int.is_signed());
let mir_body = db.monomorphized_mir_body(
def,
diff --git a/crates/ide-completion/src/completions/mod_.rs b/crates/ide-completion/src/completions/mod_.rs
index 05e2892fdc..f12f011a6b 100644
--- a/crates/ide-completion/src/completions/mod_.rs
+++ b/crates/ide-completion/src/completions/mod_.rs
@@ -7,7 +7,6 @@ use ide_db::{
base_db::{SourceRootDatabase, VfsPath},
FxHashSet, RootDatabase, SymbolKind,
};
-use stdx::IsNoneOr;
use syntax::{ast, AstNode, SyntaxKind, ToSmolStr};
use crate::{context::CompletionContext, CompletionItem, Completions};
@@ -66,7 +65,7 @@ pub(crate) fn complete_mod(
.iter()
.filter(|&submodule_candidate_file| submodule_candidate_file != module_definition_file)
.filter(|&submodule_candidate_file| {
- IsNoneOr::is_none_or(module_declaration_file, |it| it != submodule_candidate_file)
+ module_declaration_file.is_none_or(|it| it != submodule_candidate_file)
})
.filter_map(|submodule_file| {
let submodule_path = source_root.path_for_file(&submodule_file)?;
diff --git a/crates/stdx/src/lib.rs b/crates/stdx/src/lib.rs
index 76dbd42ff6..1c42d198e5 100644
--- a/crates/stdx/src/lib.rs
+++ b/crates/stdx/src/lib.rs
@@ -304,22 +304,6 @@ pub fn slice_tails<T>(this: &[T]) -> impl Iterator<Item = &[T]> {
(0..this.len()).map(|i| &this[i..])
}
-pub trait IsNoneOr {
- type Type;
- #[allow(clippy::wrong_self_convention)]
- fn is_none_or(self, s: impl FnOnce(Self::Type) -> bool) -> bool;
-}
-#[allow(unstable_name_collisions)]
-impl<T> IsNoneOr for Option<T> {
- type Type = T;
- fn is_none_or(self, f: impl FnOnce(T) -> bool) -> bool {
- match self {
- Some(v) => f(v),
- None => true,
- }
- }
-}
-
#[cfg(test)]
mod tests {
use super::*;