Skip to content

Commit 4d2452d

Browse files
committed
chore: fix clippy warnings (workspace, all targets)
map_or_else over map().unwrap_or_else(), pass ExprKey by reference in timed_intern_or_build, explicit clone for spec_params dedup snapshot.
1 parent 96cd080 commit 4d2452d

3 files changed

Lines changed: 40 additions & 34 deletions

File tree

crates/kernel/examples/check_one.rs

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -39,8 +39,10 @@ fn main() {
3939
.named
4040
.iter()
4141
.find(|e| e.key().pretty() == name || e.key().to_string() == name)
42-
.map(|e| e.value().addr.clone())
43-
.unwrap_or_else(|| panic!("no constant named {name:?} in {path}"));
42+
.map_or_else(
43+
|| panic!("no constant named {name:?} in {path}"),
44+
|e| e.value().addr.clone(),
45+
);
4446
let block = match env.get_const(&addr).map(|c| c.info.clone()) {
4547
Some(CI::IPrj(p)) => p.block,
4648
Some(CI::CPrj(p)) => p.block,
@@ -50,17 +52,19 @@ fn main() {
5052
};
5153

5254
let work = build_anon_work(&env).expect("build_anon_work");
53-
let item = work
54-
.iter()
55-
.find(|it| *it.primary() == block)
56-
.expect("work item for block");
55+
let item =
56+
work.iter().find(|it| *it.primary() == block).expect("work item for block");
5757

5858
let mut kenv = KEnv::<Anon>::new();
5959
let mut tc = TypeChecker::<Anon>::new_with_lazy_anon(&mut kenv, &env);
6060
let kid = KId::<Anon>::new(item.primary().clone(), ());
6161
let t_check = Instant::now();
6262
let result = tc.check_const(&kid);
63-
eprintln!("[check_one] check: {:>8.2?} result: {:?}", t_check.elapsed(), result.is_ok());
63+
eprintln!(
64+
"[check_one] check: {:>8.2?} result: {:?}",
65+
t_check.elapsed(),
66+
result.is_ok()
67+
);
6468
if let Err(e) = result {
6569
eprintln!("[check_one] error: {e:?}");
6670
std::process::exit(1);

crates/kernel/src/inductive.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -715,7 +715,7 @@ impl<M: KernelMode> TypeChecker<'_, M> {
715715
// Dedup: check if we've already seen this (ext_ind, spec_params) pair.
716716
// Structural comparison (uid fast path + recursive fallback) so
717717
// equal-but-separately-built spec params still collapse.
718-
let spec_hashes: Vec<KExpr<M>> = spec_params.to_vec();
718+
let spec_hashes: Vec<KExpr<M>> = spec_params.clone();
719719
if aux_seen.iter().any(|(a, s)| {
720720
*a == head_id.addr
721721
&& s.len() == spec_hashes.len()

crates/kernel/src/ingress.rs

Lines changed: 28 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ use ixon::metadata::{
4141
use ixon::univ::Univ as IxonUniv;
4242

4343
use super::constant::{KConst, RecRule};
44-
use super::env::{InternTable, KEnv, CtxAddr};
44+
use super::env::{CtxAddr, InternTable, KEnv};
4545
use super::expr::{KExpr, MData};
4646
use super::id::KId;
4747
use super::level::KUniv;
@@ -282,18 +282,18 @@ fn timed_intern_univ<M: KernelMode>(
282282
#[inline]
283283
fn timed_intern_or_build<M: KernelMode>(
284284
intern: &mut InternTable<M>,
285-
key: super::env::ExprKey,
285+
key: &super::env::ExprKey,
286286
build: impl FnOnce() -> KExpr<M>,
287287
stats: &mut ConvertStats,
288288
) -> KExpr<M> {
289289
if !stats.enabled {
290-
if let Some(existing) = intern.try_get_expr(&key) {
290+
if let Some(existing) = intern.try_get_expr(key) {
291291
return existing;
292292
}
293293
return intern.intern_expr(build());
294294
}
295295
let t0 = Instant::now();
296-
if let Some(existing) = intern.try_get_expr(&key) {
296+
if let Some(existing) = intern.try_get_expr(key) {
297297
stats.intern_expr_get_hits += 1;
298298
stats.intern_expr_calls += 1;
299299
stats.intern_expr_ns += elapsed_ns(t0);
@@ -702,7 +702,7 @@ fn ingress_expr<M: KernelMode>(
702702
let key = super::env::ExprKey::Var(*idx);
703703
values.push(timed_intern_or_build(
704704
intern,
705-
key,
705+
&key,
706706
|| KExpr::var_mdata(*idx, name_field, mdata_field),
707707
stats,
708708
));
@@ -712,7 +712,7 @@ fn ingress_expr<M: KernelMode>(
712712
let key = super::env::ExprKey::Var(*idx);
713713
values.push(timed_intern_or_build(
714714
intern,
715-
key,
715+
&key,
716716
|| KExpr::var_mdata(*idx, name_field, mdata_field),
717717
stats,
718718
));
@@ -749,7 +749,7 @@ fn ingress_expr<M: KernelMode>(
749749
let key = super::env::ExprKey::Sort(*zu.addr());
750750
values.push(timed_intern_or_build(
751751
intern,
752-
key,
752+
&key,
753753
|| KExpr::sort_mdata(zu, mdata),
754754
stats,
755755
));
@@ -792,7 +792,7 @@ fn ingress_expr<M: KernelMode>(
792792
);
793793
values.push(timed_intern_or_build(
794794
intern,
795-
key,
795+
&key,
796796
|| KExpr::cnst_mdata(id, univs, mdata),
797797
stats,
798798
));
@@ -816,7 +816,7 @@ fn ingress_expr<M: KernelMode>(
816816
);
817817
values.push(timed_intern_or_build(
818818
intern,
819-
key,
819+
&key,
820820
|| KExpr::cnst_mdata(mid, univs, mdata),
821821
stats,
822822
));
@@ -921,12 +921,12 @@ fn ingress_expr<M: KernelMode>(
921921
let mdata_field: M::MField<Vec<MData>> =
922922
M::meta_field(vec![]);
923923
let key = super::env::ExprKey::Const(
924-
id.addr.clone(),
925-
univs.iter().map(|u| *u.addr()).collect(),
926-
);
924+
id.addr.clone(),
925+
univs.iter().map(|u| *u.addr()).collect(),
926+
);
927927
timed_intern_or_build(
928928
intern,
929-
key,
929+
&key,
930930
|| KExpr::cnst_mdata(id, univs, mdata_field),
931931
stats,
932932
)
@@ -951,12 +951,12 @@ fn ingress_expr<M: KernelMode>(
951951
let mdata_field: M::MField<Vec<MData>> =
952952
M::meta_field(vec![]);
953953
let key = super::env::ExprKey::Const(
954-
mid.addr.clone(),
955-
univs.iter().map(|u| *u.addr()).collect(),
956-
);
954+
mid.addr.clone(),
955+
univs.iter().map(|u| *u.addr()).collect(),
956+
);
957957
timed_intern_or_build(
958958
intern,
959-
key,
959+
&key,
960960
|| KExpr::cnst_mdata(mid, univs, mdata_field),
961961
stats,
962962
)
@@ -1187,7 +1187,7 @@ fn ingress_expr<M: KernelMode>(
11871187
let key = super::env::ExprKey::Str(blob_addr.clone());
11881188
values.push(timed_intern_or_build(
11891189
intern,
1190-
key,
1190+
&key,
11911191
|| KExpr::str_mdata(s, blob_addr, mdata),
11921192
stats,
11931193
));
@@ -1214,7 +1214,7 @@ fn ingress_expr<M: KernelMode>(
12141214
let key = super::env::ExprKey::Nat(blob_addr.clone());
12151215
values.push(timed_intern_or_build(
12161216
intern,
1217-
key,
1217+
&key,
12181218
|| KExpr::nat_mdata(n, blob_addr, mdata),
12191219
stats,
12201220
));
@@ -1240,7 +1240,7 @@ fn ingress_expr<M: KernelMode>(
12401240
let key = super::env::ExprKey::App(*f.addr(), *a.addr());
12411241
values.push(timed_intern_or_build(
12421242
intern,
1243-
key,
1243+
&key,
12441244
|| KExpr::app_mdata(f, a, mdata),
12451245
stats,
12461246
));
@@ -1263,7 +1263,7 @@ fn ingress_expr<M: KernelMode>(
12631263
let key = super::env::ExprKey::Lam(*ty.addr(), *body.addr());
12641264
values.push(timed_intern_or_build(
12651265
intern,
1266-
key,
1266+
&key,
12671267
|| KExpr::lam_mdata(name, bi, ty, body, mdata),
12681268
stats,
12691269
));
@@ -1286,7 +1286,7 @@ fn ingress_expr<M: KernelMode>(
12861286
let key = super::env::ExprKey::All(*ty.addr(), *body.addr());
12871287
values.push(timed_intern_or_build(
12881288
intern,
1289-
key,
1289+
&key,
12901290
|| KExpr::all_mdata(name, bi, ty, body, mdata),
12911291
stats,
12921292
));
@@ -1308,10 +1308,11 @@ fn ingress_expr<M: KernelMode>(
13081308
let body = values.pop().unwrap();
13091309
let val = values.pop().unwrap();
13101310
let ty = values.pop().unwrap();
1311-
let key = super::env::ExprKey::Let(*ty.addr(), *val.addr(), *body.addr(), nd);
1311+
let key =
1312+
super::env::ExprKey::Let(*ty.addr(), *val.addr(), *body.addr(), nd);
13121313
values.push(timed_intern_or_build(
13131314
intern,
1314-
key,
1315+
&key,
13151316
|| KExpr::let_mdata(name, ty, val, body, nd, mdata),
13161317
stats,
13171318
));
@@ -1336,10 +1337,11 @@ fn ingress_expr<M: KernelMode>(
13361337
ExprFrame::PrjDone { type_id, field_idx, mdata } => {
13371338
let cont_t0 = if stats.enabled { Some(Instant::now()) } else { None };
13381339
let s = values.pop().unwrap();
1339-
let key = super::env::ExprKey::Prj(type_id.addr.clone(), field_idx, *s.addr());
1340+
let key =
1341+
super::env::ExprKey::Prj(type_id.addr.clone(), field_idx, *s.addr());
13401342
values.push(timed_intern_or_build(
13411343
intern,
1342-
key,
1344+
&key,
13431345
|| KExpr::prj_mdata(type_id, field_idx, s, mdata),
13441346
stats,
13451347
));

0 commit comments

Comments
 (0)