iets-ast-grep
checks.x86_64-linux.ast-grep
· build #3
· raw
1error[no-glob-imports]: import items explicitly; only `use super::*;` in test modules is idiomatic2 ┌─ fuzz/src/canon.rs:6:53 │46 │ use iets::syntax::ast::*;5 │ ----^^^^^^^^^^^^^^^^^^^^-67error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path8 ┌─ fuzz/src/bin/fuzz-diff.rs:21:59 │1021 │ std::process::exit(run());11 │ ^^^^^^^^^^^^^^^^^^1213error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path14 ┌─ fuzz/src/bin/fuzz-diff.rs:29:1415 │1629 │ for a in std::env::args().skip(1) {17 │ ^^^^^^^^^^^^^^1819error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path20 ┌─ fuzz/src/bin/fuzz-diff.rs:64:2321 │2264 │ let Ok(src) = std::fs::read(f) else { continue };23 │ ^^^^^^^^^^^^^2425error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path26 ┌─ fuzz/src/bin/fuzz-diff.rs:114:2227 │28114 │ let Ok(rd) = std::fs::read_dir(p) else { return };29 │ ^^^^^^^^^^^^^^^^^3031error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path32 ┌─ fuzz/src/bin/conformance-adapter.rs:16:2933 │3416 │ let args: Vec<String> = std::env::args().skip(1).collect();35 │ ^^^^^^^^^^^^^^3637error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path38 ┌─ fuzz/src/bin/conformance-adapter.rs:45:1939 │4045 │ let Ok(src) = std::fs::read(file) else {41 │ ^^^^^^^^^^^^^4243error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path44 ┌─ fuzz/src/bin/conformance-adapter.rs:63:2145 │4663 │ let Ok(input) = std::fs::read(file) else {47 │ ^^^^^^^^^^^^^4849error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path50 ┌─ fuzz/src/bin/conformance-adapter.rs:66:1551 │5266 │ let dir = std::env::temp_dir().join(format!("iets-conformance-{}", std::process::id()));53 │ ^^^^^^^^^^^^^^^^^^5455error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path56 ┌─ fuzz/src/bin/conformance-adapter.rs:67:1357 │5867 │ let _ = std::fs::remove_dir_all(&dir);59 │ ^^^^^^^^^^^^^^^^^^^^^^^6061error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path62 ┌─ fuzz/src/bin/conformance-adapter.rs:70:963 │6470 │ std::fs::create_dir_all(&dir).ok()?;65 │ ^^^^^^^^^^^^^^^^^^^^^^^6667error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path68 ┌─ fuzz/src/bin/conformance-adapter.rs:81:1369 │7081 │ let _ = std::fs::remove_dir_all(&dir);71 │ ^^^^^^^^^^^^^^^^^^^^^^^7273error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path74 ┌─ fuzz/src/bin/conformance-adapter.rs:87:575 │7687 │ std::path::absolute(Path::new(file))77 │ ^^^^^^^^^^^^^^^^^^^7879error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path80 ┌─ fuzz/src/bin/conformance-adapter.rs:93:1581 │8293 │ let bin = std::env::var("IETS").unwrap_or_else(|_| "iets".into());83 │ ^^^^^^^^^^^^^8485error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path86 ┌─ fuzz/src/drv.rs:128:3487 │88128 │ if let Some(f) = std::env::var_os("IETS_DRV_WRITE") {89 │ ^^^^^^^^^^^^^^^^9091error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path92 ┌─ fuzz/src/drv.rs:129:2993 │94129 │ let _ = std::fs::write(f, &aterm);95 │ ^^^^^^^^^^^^^^9697error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path98 ┌─ fuzz/src/drv.rs:134:999 │100134 │ crate::classify(&self.known, d, input)101 │ ^^^^^^^^^^^^^^^102103error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path104 ┌─ fuzz/src/drv.rs:306:20105 │106306 │ let mut seen = std::collections::HashSet::new();107 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^108109error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path110 ┌─ fuzz/src/lib.rs:45:5111 │11245 │ std::panic::catch_unwind(std::panic::AssertUnwindSafe(f)).map_err(|p| {113 │ ^^^^^^^^^^^^^^^^^^^^^^^^114115error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path116 ┌─ fuzz/src/lib.rs:45:30117 │11845 │ std::panic::catch_unwind(std::panic::AssertUnwindSafe(f)).map_err(|p| {119 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^120121error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path122 ┌─ fuzz/src/parse.rs:127:17123 │124127 │ let v = crate::classify(&self.known, d, src);125 │ ^^^^^^^^^^^^^^^126127error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path128 ┌─ fuzz/src/parse.rs:139:9129 │130139 │ crate::classify(&self.known, d, src)131 │ ^^^^^^^^^^^^^^^132133error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path134 ┌─ fuzz/src/wire.rs:73:19135 │13673 │ let dir = std::env::temp_dir().join(format!("iets-fuzz-wire-{}", std::process::id()));137 │ ^^^^^^^^^^^^^^^^^^138139error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path140 ┌─ fuzz/src/wire.rs:74:9141 │14274 │ std::fs::create_dir_all(&dir).expect("a scratch directory for the wire target");143 │ ^^^^^^^^^^^^^^^^^^^^^^^144145error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path146 ┌─ fuzz/src/wire.rs:86:24147 │14886 │ if let Ok(f) = std::env::var("IETS_WIRE_SCRIPT") {149 │ ^^^^^^^^^^^^^150151error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path152 ┌─ fuzz/src/wire.rs:87:21153 │15487 │ let _ = std::fs::write(f, &script);155 │ ^^^^^^^^^^^^^^156157error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path158 ┌─ fuzz/src/wire.rs:105:17159 │160105 │ let _ = std::fs::remove_file(&sock);161 │ ^^^^^^^^^^^^^^^^^^^^162163error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path164 ┌─ fuzz/src/wire.rs:111:21165 │166111 │ at: std::iter::once(op.name.to_string())167 │ ^^^^^^^^^^^^^^^168169error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path170 ┌─ fuzz/src/wire.rs:139:9171 │172139 │ crate::classify(&self.known, d, input)173 │ ^^^^^^^^^^^^^^^174175error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path176 ┌─ fuzz/src/wire.rs:145:17177 │178145 │ let _ = std::fs::remove_dir_all(&self.dir);179 │ ^^^^^^^^^^^^^^^^^^^^^^^180181error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path182 ┌─ fuzz/src/wire.rs:169:5183 │184169 │ std::thread::spawn(move || {185 │ ^^^^^^^^^^^^^^^^^^186187error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path188 ┌─ fuzz/src/wire.rs:174:21189 │190174 │ std::thread::spawn(move || {191 │ ^^^^^^^^^^^^^^^^^^192193error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path194 ┌─ fuzz/src/wire.rs:189:44195 │196189 │ let _ = s.shutdown(std::net::Shutdown::Write);197 │ ^^^^^^^^^^^^^^^^^^^^^^^^^198199error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path200 ┌─ fuzz/src/wire.rs:193:27201 │202193 │ Err(_) => std::thread::sleep(std::time::Duration::from_micros(200)),203 │ ^^^^^^^^^^^^^^^^^^204205error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path206 ┌─ fuzz/src/wire.rs:193:46207 │208193 │ Err(_) => std::thread::sleep(std::time::Duration::from_micros(200)),209 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^210211error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path212 ┌─ fuzz/src/wire.rs:300:43213 │214300 │ fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize> {215 │ ^^^^^^^^^^^^^^^216217error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path218 ┌─ fuzz/src/known.rs:76:11219 │22076 │ match std::env::var("IETS_FUZZ_DIVERGENCES") {221 │ ^^^^^^^^^^^^^222223error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path224 ┌─ fuzz/src/known.rs:78:14225 │22678 │ &std::fs::read_to_string(&p).map_err(|e| format!("{p}: {e}"))?,227 │ ^^^^^^^^^^^^^^^^^^^^^^^228229error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path230 ┌─ fuzz/src/eval.rs:83:9231 │23283 │ crate::classify(&self.known, d, src.as_bytes())233 │ ^^^^^^^^^^^^^^^234235error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path236 ┌─ fuzz/src/eval.rs:128:24237 │238128 │ if let Ok(p) = std::env::var("IETS_EVAL_SOURCE") {239 │ ^^^^^^^^^^^^^240241error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path242 ┌─ fuzz/src/eval.rs:129:21243 │244129 │ let _ = std::fs::write(p, &src);245 │ ^^^^^^^^^^^^^^246247error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path248 ┌─ fuzz/src/eval.rs:170:9249 │250170 │ crate::classify(&self.known, Some(d), src.as_bytes())251 │ ^^^^^^^^^^^^^^^252253error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path254 ┌─ fuzz/src/nar.rs:77:19255 │25677 │ let dir = std::env::temp_dir().join(format!("iets-fuzz-nar-{}", std::process::id()));257 │ ^^^^^^^^^^^^^^^^^^258259error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path260 ┌─ fuzz/src/nar.rs:233:9261 │262233 │ crate::classify(&self.known, d, input)263 │ ^^^^^^^^^^^^^^^264265error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path266 ┌─ fuzz/src/nar.rs:289:62267 │268289 │ fn build(u: &mut Unstructured, path: &Path, depth: usize) -> std::io::Result<()> {269 │ ^^^^^^^^^^^^^^^270271error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path272 ┌─ fuzz/src/nar.rs:290:19273 │274290 │ let bad = |_| std::io::Error::other("input exhausted");275 │ ^^^^^^^^^^^^^^^^^^^^^276277error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path278 ┌─ fuzz/src/nar.rs:317:21279 │280317 │ let c = std::ffi::CString::new(path.as_os_str().as_bytes())281 │ ^^^^^^^^^^^^^^^^^^^^^^282283error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path284 ┌─ fuzz/src/nar.rs:318:26285 │286318 │ .map_err(std::io::Error::other)?;287 │ ^^^^^^^^^^^^^^^^^^^^^288289error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path290 ┌─ fuzz/src/nar.rs:321:28291 │292321 │ return Err(std::io::Error::last_os_error());293 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^294295error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path296 ┌─ fuzz/src/sx.rs:91:41297 │29891 │ let h = std::str::from_utf8(h).map_err(|e| e.to_string())?;299 │ ^^^^^^^^^^^^^^^^^^^300301error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path302 ┌─ fuzz/src/oracle.rs:19:22303 │30419 │ program: std::env::var(var).unwrap_or_else(|_| default.into()),305 │ ^^^^^^^^^^^^^306307error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path308 ┌─ fuzz/src/oracle.rs:37:40309 │31037 │ read: impl FnOnce(&mut Out) -> std::io::Result<T>,311 │ ^^^^^^^^^^^^^^^312313error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path314 ┌─ fuzz/src/oracle.rs:57:28315 │31657 │ fn start(&mut self) -> std::io::Result<()> {317 │ ^^^^^^^^^^^^^^^318319error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path320 ┌─ fuzz/src/oracle.rs:67:26321 │32267 │ .map_err(|e| std::io::Error::other(format!("cannot start {}: {e}", self.program)))?;323 │ ^^^^^^^^^^^^^^^^^^^^^324325error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path326 ┌─ fuzz/src/oracle.rs:74:33327 │32874 │ pub fn u32_le(out: &mut Out) -> std::io::Result<u32> {329 │ ^^^^^^^^^^^^^^^330331error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path332 ┌─ fuzz/src/oracle.rs:76:5333 │33476 │ std::io::Read::read_exact(out, &mut b)?;335 │ ^^^^^^^^^^^^^^^^^^^^^^^^^336337error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path338 ┌─ fuzz/src/oracle.rs:80:42339 │34080 │ pub fn bytes(out: &mut Out, n: usize) -> std::io::Result<Vec<u8>> {341 │ ^^^^^^^^^^^^^^^342343error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path344 ┌─ fuzz/src/oracle.rs:82:5345 │34682 │ std::io::Read::read_exact(out, &mut b)?;347 │ ^^^^^^^^^^^^^^^^^^^^^^^^^348349error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path350 ┌─ src/eval/mod.rs:82:13351 │35282 │ crate::syntax::line_starts(src)353 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^354355error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path356 ┌─ src/eval/mod.rs:1834:21357 │3581834 │ crate::runtime::census::upd_path(a, b),359 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^360361error[no-comment-essays]: comment block of 8+ lines; condense it to the WHY362 ┌─ src/lint/mod.rs:887:5363 │ 364880 │ ╭ /// Any fiber reports: the site set keeps a warning to one line, and bailing365881 │ │ ╭ /// like `trace` does (docs/explanation/evaluation.md, "Speculation is366 │ ╰────────────'367882 │ │ ╭ /// invisible") cost 15 % of the wall on nixos-desktop at 4 workers. A site368 │ ╰──────────'369883 │ │ ╭ /// the scope silences enters the set too; an `error` site never does, so370 │ ╰────────'371884 │ │ ╭ /// every fiber that reaches it fails. A372 │ ╰──────'373885 │ │ ╭ /// `level` is that of the tree a value comes from, where the location of the374 │ ╰────'375886 │ │ ╭ /// site does not decide. A finding of `tree` is one for the tree, so the site376 │ ╰──'377887 │ ╭ │ /// set does not see it.378 │ │ ╰'379888 │ │ #[inline(never)]380 │ │ ----------------381 │ ╰──────────────^382383error[no-discarded-result]: handle or log the error instead of discarding it with .ok()384 ┌─ src/runtime/arena.rs:223:13385 │ 386223 │ ╭ self.next = thread::Builder::new()387224 │ │ .spawn(move || map_chunk(CHUNK, thp))388225 │ │ .ok();389 │ ╰──────────────────────^390391error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path392 ┌─ src/runtime/census.rs:490:27393 │394490 │ let g: [u64; 5] = std::array::from_fn(|i| GETS[i].load(Ordering::Relaxed));395 │ ^^^^^^^^^^^^^^^^^^^396397error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path398 ┌─ src/runtime/value.rs:511:13399 │400511 │ super::census::note_get(0, 0);401 │ ^^^^^^^^^^^^^^^^^^^^^^^402403error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path404 ┌─ src/runtime/value.rs:516:13405 │406516 │ super::census::note_get(1, 0);407 │ ^^^^^^^^^^^^^^^^^^^^^^^408409error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path410 ┌─ src/runtime/value.rs:522:13411 │412522 │ super::census::note_get(if hit { 2 } else { 4 }, probes);413 │ ^^^^^^^^^^^^^^^^^^^^^^^414415error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path416 ┌─ src/syntax/parser.rs:1107:47417 │4181107 │ fn nix_string(&self, e: ExprId) -> Option<std::ops::Range<usize>> {419 │ ^^^^^^^^^^^^^^^420421Error: 67 error(s) found in code.422Help: Scan succeeded and found error level diagnostics in the codebase.423