Unnamed repository; edit this file 'description' to name the repository.
-rw-r--r--crates/hir-expand/src/builtin/fn_macro.rs3
-rw-r--r--crates/ide-assists/src/handlers/convert_bool_then.rs3
-rw-r--r--crates/ide-assists/src/handlers/convert_range_for_to_while.rs2
-rw-r--r--crates/ide-completion/src/tests/raw_identifiers.rs5
-rw-r--r--crates/ide-db/src/generated/lints.rs28
-rw-r--r--crates/rust-analyzer/tests/slow-tests/support.rs3
6 files changed, 9 insertions, 35 deletions
diff --git a/crates/hir-expand/src/builtin/fn_macro.rs b/crates/hir-expand/src/builtin/fn_macro.rs
index 9ee9d33746..3d630cfc1c 100644
--- a/crates/hir-expand/src/builtin/fn_macro.rs
+++ b/crates/hir-expand/src/builtin/fn_macro.rs
@@ -786,7 +786,8 @@ fn parse_string(tt: &tt::TopSubtree) -> Result<(Symbol, Span), ExpandError> {
&& let DelimiterKind::Parenthesis | DelimiterKind::Invisible = sub.delimiter.kind
{
tt =
- tt_iter.exactly_one().map_err(|_| sub.delimiter.open.cover(sub.delimiter.close))?;
+ // FIXME: rewrite in terms of `#![feature(exact_length_collection)]`. See: #149266
+ Itertools::exactly_one(tt_iter).map_err(|_| sub.delimiter.open.cover(sub.delimiter.close))?;
}
match tt {
diff --git a/crates/ide-assists/src/handlers/convert_bool_then.rs b/crates/ide-assists/src/handlers/convert_bool_then.rs
index 9d5d3f2237..91cee59ad8 100644
--- a/crates/ide-assists/src/handlers/convert_bool_then.rs
+++ b/crates/ide-assists/src/handlers/convert_bool_then.rs
@@ -163,7 +163,8 @@ pub(crate) fn convert_bool_then_to_if(acc: &mut Assists, ctx: &AssistContext<'_>
let name_ref = ctx.find_node_at_offset::<ast::NameRef>()?;
let mcall = name_ref.syntax().parent().and_then(ast::MethodCallExpr::cast)?;
let receiver = mcall.receiver()?;
- let closure_body = mcall.arg_list()?.args().exactly_one().ok()?;
+ // FIXME: rewrite in terms of `#![feature(exact_length_collection)]`. See: #149266
+ let closure_body = Itertools::exactly_one(mcall.arg_list()?.args()).ok()?;
let closure_body = match closure_body {
ast::Expr::ClosureExpr(expr) => expr.body()?,
_ => return None,
diff --git a/crates/ide-assists/src/handlers/convert_range_for_to_while.rs b/crates/ide-assists/src/handlers/convert_range_for_to_while.rs
index 68cb764030..ba577b217d 100644
--- a/crates/ide-assists/src/handlers/convert_range_for_to_while.rs
+++ b/crates/ide-assists/src/handlers/convert_range_for_to_while.rs
@@ -113,7 +113,7 @@ fn extract_range(iterable: &ast::Expr) -> Option<(ast::Expr, Option<ast::Expr>,
(range.start()?, range.end(), make::expr_literal("1").into(), inclusive)
}
ast::Expr::MethodCallExpr(call) if call.name_ref()?.text() == "step_by" => {
- let [step] = call.arg_list()?.args().collect_array()?;
+ let [step] = Itertools::collect_array(call.arg_list()?.args())?;
let (start, end, _, inclusive) = extract_range(&call.receiver()?)?;
(start, end, step, inclusive)
}
diff --git a/crates/ide-completion/src/tests/raw_identifiers.rs b/crates/ide-completion/src/tests/raw_identifiers.rs
index 00977ea4e5..66b16681f4 100644
--- a/crates/ide-completion/src/tests/raw_identifiers.rs
+++ b/crates/ide-completion/src/tests/raw_identifiers.rs
@@ -8,9 +8,8 @@ fn check(#[rust_analyzer::rust_fixture] ra_fixture: &str, expect: Expect) {
let completions = completion_list_with_config_raw(TEST_CONFIG, ra_fixture, true, None);
let (db, position) = position(ra_fixture);
let mut actual = db.file_text(position.file_id).text(&db).to_string();
- completions
- .into_iter()
- .exactly_one()
+ // FIXME: rewrite in terms of `#![feature(exact_length_collection)]`. See: #149266
+ Itertools::exactly_one(completions.into_iter())
.expect("more than one completion")
.text_edit
.apply(&mut actual);
diff --git a/crates/ide-db/src/generated/lints.rs b/crates/ide-db/src/generated/lints.rs
index 7f4dad873c..dedc12aa65 100644
--- a/crates/ide-db/src/generated/lints.rs
+++ b/crates/ide-db/src/generated/lints.rs
@@ -11846,34 +11846,6 @@ fn main() {}
deny_since: None,
},
Lint {
- label: "unchecked_neg",
- description: r##"# `unchecked_neg`
-
-The tracking issue for this feature is: [#85122]
-
-[#85122]: https://github.com/rust-lang/rust/issues/85122
-
-------------------------
-"##,
- default_severity: Severity::Allow,
- warn_since: None,
- deny_since: None,
- },
- Lint {
- label: "unchecked_shifts",
- description: r##"# `unchecked_shifts`
-
-The tracking issue for this feature is: [#85122]
-
-[#85122]: https://github.com/rust-lang/rust/issues/85122
-
-------------------------
-"##,
- default_severity: Severity::Allow,
- warn_since: None,
- deny_since: None,
- },
- Lint {
label: "unicode_internals",
description: r##"# `unicode_internals`
diff --git a/crates/rust-analyzer/tests/slow-tests/support.rs b/crates/rust-analyzer/tests/slow-tests/support.rs
index 3464a9644b..b1b428e706 100644
--- a/crates/rust-analyzer/tests/slow-tests/support.rs
+++ b/crates/rust-analyzer/tests/slow-tests/support.rs
@@ -113,7 +113,8 @@ impl Project<'_> {
let mut buf = Vec::new();
flags::Lsif::run(
flags::Lsif {
- path: tmp_dir_path.join(self.roots.iter().exactly_one().unwrap()).into(),
+ // FIXME: rewrite in terms of `#![feature(exact_length_collection)]`. See: #149266
+ path: tmp_dir_path.join(Itertools::exactly_one(self.roots.iter()).unwrap()).into(),
exclude_vendored_libraries: false,
},
&mut buf,