Skip to content

Commit 8a033a2

Browse files
authored
Update rust version to 1.90.0 (#2774)
This PR updates the rust version to 1.90.0 and fixes new clippy lints that are part of the new version.
1 parent ae9e4e2 commit 8a033a2

File tree

85 files changed

+998
-906
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

85 files changed

+998
-906
lines changed

.ado/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ schedules:
1919

2020
variables:
2121
CARGO_TERM_COLOR: always
22-
RUST_TOOLCHAIN_VERSION: "1.88"
22+
RUST_TOOLCHAIN_VERSION: "1.90"
2323

2424
resources:
2525
repositories:

.github/workflows/bench-reports.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ env:
88
CARGO_TERM_COLOR: always
99
NODE_VERSION: "22.14.0"
1010
PYTHON_VERSION: "3.11"
11-
RUST_TOOLCHAIN_VERSION: "1.88"
11+
RUST_TOOLCHAIN_VERSION: "1.90"
1212

1313
jobs:
1414
runBenchmark:

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ env:
2020
CARGO_TERM_COLOR: always
2121
NODE_VERSION: "22.14.0"
2222
PYTHON_VERSION: "3.11"
23-
RUST_TOOLCHAIN_VERSION: "1.88"
23+
RUST_TOOLCHAIN_VERSION: "1.90"
2424
RUST_TOOLCHAIN_COMPONENTS: rustfmt clippy
2525

2626
jobs:

.github/workflows/copilot-setup-steps.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
- name: Setup rust toolchain
1616
uses: ./.github/actions/toolchains/rust
1717
with:
18-
toolchain: "1.88"
18+
toolchain: "1.90"
1919
components: rustfmt clippy
2020
- uses: actions/setup-python@v4
2121
with:

.github/workflows/memory_profile.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ env:
1515
CARGO_TERM_COLOR: always
1616
NODE_VERSION: "22.14.0"
1717
PYTHON_VERSION: "3.11"
18-
RUST_TOOLCHAIN_VERSION: "1.88"
18+
RUST_TOOLCHAIN_VERSION: "1.90"
1919
RUST_TOOLCHAIN_COMPONENTS: rustfmt clippy
2020

2121
jobs:

.github/workflows/publish-playground.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ on:
1111

1212
env:
1313
CARGO_TERM_COLOR: always
14-
RUST_TOOLCHAIN_VERSION: "1.88"
14+
RUST_TOOLCHAIN_VERSION: "1.90"
1515
RUST_TOOLCHAIN_COMPONENTS: rustfmt clippy
1616

1717
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages

prereqs.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
from pathlib import Path
1414

1515
python_ver = (3, 11) # Python support for Windows on ARM64 requires v3.11 or later
16-
rust_ver = (1, 88, 0) # Ensure Rust version 1.88 or later is installed
16+
rust_ver = (1, 90, 0) # Ensure Rust version 1.90 or later is installed
1717
node_ver = (22, 14, 0)
18-
rust_fmt_ver = (1, 8, 0) # Current version when Rust 1.88 shipped
19-
clippy_ver = (0, 1, 88)
18+
rust_fmt_ver = (1, 8, 0) # Current version when Rust 1.90 shipped
19+
clippy_ver = (0, 1, 90)
2020
wasm_bindgen_ver = (0, 2, 100)
2121
binaryen_ver = 123
2222

source/compiler/qsc/src/interpret/debug.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,10 @@ pub(crate) fn format_call_stack(
4141
write!(trace, "Controlled({}) ", frame.functor.controlled)
4242
.expect("writing to string should succeed");
4343
}
44-
if let Some(item) = get_item_parent(store, frame.id) {
45-
if let Some(ns) = get_ns_name(&item) {
46-
write!(trace, "{ns}.").expect("writing to string should succeed");
47-
}
44+
if let Some(item) = get_item_parent(store, frame.id)
45+
&& let Some(ns) = get_ns_name(&item)
46+
{
47+
write!(trace, "{ns}.").expect("writing to string should succeed");
4848
}
4949
write!(trace, "{}", call.name.name).expect("writing to string should succeed");
5050

source/compiler/qsc_ast/src/mut_visit.rs

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,9 @@ pub fn walk_item(vis: &mut impl MutVisitor, item: &mut Item) {
126126
ItemKind::Err => {}
127127
ItemKind::Open(ns, alias) => {
128128
vis.visit_path_kind(ns);
129-
alias.iter_mut().for_each(|a| vis.visit_ident(a));
129+
for a in alias.iter_mut() {
130+
vis.visit_ident(a);
131+
}
130132
}
131133
ItemKind::Ty(ident, def) => {
132134
vis.visit_ident(ident);
@@ -153,7 +155,9 @@ pub fn walk_ty_def(vis: &mut impl MutVisitor, def: &mut TyDef) {
153155

154156
match &mut *def.kind {
155157
TyDefKind::Field(name, ty) => {
156-
name.iter_mut().for_each(|n| vis.visit_ident(n));
158+
for n in name.iter_mut() {
159+
vis.visit_ident(n);
160+
}
157161
vis.visit_ty(ty);
158162
}
159163
TyDefKind::Paren(def) => vis.visit_ty_def(def),
@@ -241,7 +245,9 @@ pub fn walk_ty(vis: &mut impl MutVisitor, ty: &mut Ty) {
241245
TyKind::Arrow(_, lhs, rhs, functors) => {
242246
vis.visit_ty(lhs);
243247
vis.visit_ty(rhs);
244-
functors.iter_mut().for_each(|f| vis.visit_functor_expr(f));
248+
for f in functors.iter_mut() {
249+
vis.visit_functor_expr(f);
250+
}
245251
}
246252
TyKind::Hole | TyKind::Err => {}
247253
TyKind::Paren(ty) => vis.visit_ty(ty),
@@ -284,11 +290,14 @@ pub fn walk_stmt(vis: &mut impl MutVisitor, stmt: &mut Stmt) {
284290
StmtKind::Qubit(_, pat, init, block) => {
285291
vis.visit_pat(pat);
286292
vis.visit_qubit_init(init);
287-
block.iter_mut().for_each(|b| vis.visit_block(b));
293+
for b in block.iter_mut() {
294+
vis.visit_block(b);
295+
}
288296
}
289297
}
290298
}
291299

300+
#[allow(clippy::too_many_lines)]
292301
pub fn walk_expr(vis: &mut impl MutVisitor, expr: &mut Expr) {
293302
vis.visit_span(&mut expr.span);
294303

@@ -333,7 +342,9 @@ pub fn walk_expr(vis: &mut impl MutVisitor, expr: &mut Expr) {
333342
ExprKind::If(cond, body, otherwise) => {
334343
vis.visit_expr(cond);
335344
vis.visit_block(body);
336-
otherwise.iter_mut().for_each(|e| vis.visit_expr(e));
345+
for e in otherwise.iter_mut() {
346+
vis.visit_expr(e);
347+
}
337348
}
338349
ExprKind::Index(array, index) => {
339350
vis.visit_expr(array);
@@ -356,18 +367,28 @@ pub fn walk_expr(vis: &mut impl MutVisitor, expr: &mut Expr) {
356367
}
357368
ExprKind::Path(path) => vis.visit_path_kind(path),
358369
ExprKind::Range(start, step, end) => {
359-
start.iter_mut().for_each(|s| vis.visit_expr(s));
360-
step.iter_mut().for_each(|s| vis.visit_expr(s));
361-
end.iter_mut().for_each(|e| vis.visit_expr(e));
370+
for s in start.iter_mut() {
371+
vis.visit_expr(s);
372+
}
373+
for s in step.iter_mut() {
374+
vis.visit_expr(s);
375+
}
376+
for e in end.iter_mut() {
377+
vis.visit_expr(e);
378+
}
362379
}
363380
ExprKind::Repeat(body, until, fixup) => {
364381
vis.visit_block(body);
365382
vis.visit_expr(until);
366-
fixup.iter_mut().for_each(|f| vis.visit_block(f));
383+
for f in fixup.iter_mut() {
384+
vis.visit_block(f);
385+
}
367386
}
368387
ExprKind::Struct(name, copy, fields) => {
369388
vis.visit_path_kind(name);
370-
copy.iter_mut().for_each(|c| vis.visit_expr(c));
389+
for c in copy.iter_mut() {
390+
vis.visit_expr(c);
391+
}
371392
fields.iter_mut().for_each(|f| vis.visit_field_assign(f));
372393
}
373394
ExprKind::TernOp(_, e1, e2, e3) => {
@@ -396,7 +417,9 @@ pub fn walk_pat(vis: &mut impl MutVisitor, pat: &mut Pat) {
396417
match &mut *pat.kind {
397418
PatKind::Bind(name, ty) => {
398419
vis.visit_ident(name);
399-
ty.iter_mut().for_each(|t| vis.visit_ty(t));
420+
for t in ty.iter_mut() {
421+
vis.visit_ty(t);
422+
}
400423
}
401424
PatKind::Discard(ty) => ty.iter_mut().for_each(|t| vis.visit_ty(t)),
402425
PatKind::Elided | PatKind::Err => {}

source/compiler/qsc_ast/src/visit.rs

Lines changed: 37 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,9 @@ pub fn walk_item<'a>(vis: &mut impl Visitor<'a>, item: &'a Item) {
117117
ItemKind::Callable(decl) => vis.visit_callable_decl(decl),
118118
ItemKind::Open(ns, alias) => {
119119
vis.visit_path_kind(ns);
120-
alias.iter().for_each(|a| vis.visit_ident(a));
120+
if let Some(a) = alias.as_ref() {
121+
vis.visit_ident(a);
122+
}
121123
}
122124
ItemKind::Ty(ident, def) => {
123125
vis.visit_ident(ident);
@@ -139,7 +141,9 @@ pub fn walk_attr<'a>(vis: &mut impl Visitor<'a>, attr: &'a Attr) {
139141
pub fn walk_ty_def<'a>(vis: &mut impl Visitor<'a>, def: &'a TyDef) {
140142
match &*def.kind {
141143
TyDefKind::Field(name, ty) => {
142-
name.iter().for_each(|n| vis.visit_ident(n));
144+
if let Some(n) = name.as_ref() {
145+
vis.visit_ident(n);
146+
}
143147
vis.visit_ty(ty);
144148
}
145149
TyDefKind::Paren(def) => vis.visit_ty_def(def),
@@ -217,7 +221,9 @@ pub fn walk_ty<'a>(vis: &mut impl Visitor<'a>, ty: &'a Ty) {
217221
TyKind::Arrow(_, lhs, rhs, functors) => {
218222
vis.visit_ty(lhs);
219223
vis.visit_ty(rhs);
220-
functors.iter().for_each(|f| vis.visit_functor_expr(f));
224+
if let Some(f) = functors.as_ref() {
225+
vis.visit_functor_expr(f);
226+
}
221227
}
222228
TyKind::Hole | TyKind::Err => {}
223229
TyKind::Paren(ty) => vis.visit_ty(ty),
@@ -258,11 +264,14 @@ pub fn walk_stmt<'a>(vis: &mut impl Visitor<'a>, stmt: &'a Stmt) {
258264
StmtKind::Qubit(_, pat, init, block) => {
259265
vis.visit_pat(pat);
260266
vis.visit_qubit_init(init);
261-
block.iter().for_each(|b| vis.visit_block(b));
267+
if let Some(b) = block.as_ref() {
268+
vis.visit_block(b);
269+
}
262270
}
263271
}
264272
}
265273

274+
#[allow(clippy::too_many_lines)]
266275
pub fn walk_expr<'a>(vis: &mut impl Visitor<'a>, expr: &'a Expr) {
267276
match &*expr.kind {
268277
ExprKind::Array(exprs) => exprs.iter().for_each(|e| vis.visit_expr(e)),
@@ -305,7 +314,9 @@ pub fn walk_expr<'a>(vis: &mut impl Visitor<'a>, expr: &'a Expr) {
305314
ExprKind::If(cond, body, otherwise) => {
306315
vis.visit_expr(cond);
307316
vis.visit_block(body);
308-
otherwise.iter().for_each(|e| vis.visit_expr(e));
317+
if let Some(e) = otherwise.as_ref() {
318+
vis.visit_expr(e);
319+
}
309320
}
310321
ExprKind::Index(array, index) => {
311322
vis.visit_expr(array);
@@ -328,18 +339,28 @@ pub fn walk_expr<'a>(vis: &mut impl Visitor<'a>, expr: &'a Expr) {
328339
}
329340
ExprKind::Path(path) => vis.visit_path_kind(path),
330341
ExprKind::Range(start, step, end) => {
331-
start.iter().for_each(|s| vis.visit_expr(s));
332-
step.iter().for_each(|s| vis.visit_expr(s));
333-
end.iter().for_each(|e| vis.visit_expr(e));
342+
if let Some(s) = start.as_ref() {
343+
vis.visit_expr(s);
344+
}
345+
if let Some(s) = step.as_ref() {
346+
vis.visit_expr(s);
347+
}
348+
if let Some(e) = end.as_ref() {
349+
vis.visit_expr(e);
350+
}
334351
}
335352
ExprKind::Repeat(body, until, fixup) => {
336353
vis.visit_block(body);
337354
vis.visit_expr(until);
338-
fixup.iter().for_each(|f| vis.visit_block(f));
355+
if let Some(f) = fixup.as_ref() {
356+
vis.visit_block(f);
357+
}
339358
}
340359
ExprKind::Struct(name, copy, fields) => {
341360
vis.visit_path_kind(name);
342-
copy.iter().for_each(|c| vis.visit_expr(c));
361+
if let Some(c) = copy.as_ref() {
362+
vis.visit_expr(c);
363+
}
343364
fields.iter().for_each(|f| vis.visit_field_assign(f));
344365
}
345366
ExprKind::TernOp(_, e1, e2, e3) => {
@@ -365,7 +386,9 @@ pub fn walk_pat<'a>(vis: &mut impl Visitor<'a>, pat: &'a Pat) {
365386
match &*pat.kind {
366387
PatKind::Bind(name, ty) => {
367388
vis.visit_ident(name);
368-
ty.iter().for_each(|t| vis.visit_ty(t));
389+
if let Some(t) = ty.as_ref() {
390+
vis.visit_ty(t);
391+
}
369392
}
370393
PatKind::Discard(ty) => ty.iter().for_each(|t| vis.visit_ty(t)),
371394
PatKind::Elided | PatKind::Err => {}
@@ -401,5 +424,7 @@ pub fn walk_path_kind<'a>(vis: &mut impl Visitor<'a>, path: &'a PathKind) {
401424
}
402425

403426
pub fn walk_idents<'a>(vis: &mut impl Visitor<'a>, idents: &'a [Ident]) {
404-
idents.iter().for_each(|i| vis.visit_ident(i));
427+
for i in idents {
428+
vis.visit_ident(i);
429+
}
405430
}

0 commit comments

Comments
 (0)