iets-ast-grep
checks.x86_64-linux.ast-grep
· build #6
· raw
1error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path2 ┌─ fuzz/src/oracle.rs:19:223 │419 │ program: std::env::var(var).unwrap_or_else(|_| default.into()),5 │ ^^^^^^^^^^^^^67error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path8 ┌─ fuzz/src/oracle.rs:37:409 │1037 │ read: impl FnOnce(&mut Out) -> std::io::Result<T>,11 │ ^^^^^^^^^^^^^^^1213error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path14 ┌─ fuzz/src/oracle.rs:57:2815 │1657 │ fn start(&mut self) -> std::io::Result<()> {17 │ ^^^^^^^^^^^^^^^1819error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path20 ┌─ fuzz/src/oracle.rs:67:2621 │2267 │ .map_err(|e| std::io::Error::other(format!("cannot start {}: {e}", self.program)))?;23 │ ^^^^^^^^^^^^^^^^^^^^^2425error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path26 ┌─ fuzz/src/oracle.rs:74:3327 │2874 │ pub fn u32_le(out: &mut Out) -> std::io::Result<u32> {29 │ ^^^^^^^^^^^^^^^3031error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path32 ┌─ fuzz/src/oracle.rs:76:533 │3476 │ std::io::Read::read_exact(out, &mut b)?;35 │ ^^^^^^^^^^^^^^^^^^^^^^^^^3637error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path38 ┌─ fuzz/src/oracle.rs:80:4239 │4080 │ pub fn bytes(out: &mut Out, n: usize) -> std::io::Result<Vec<u8>> {41 │ ^^^^^^^^^^^^^^^4243error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path44 ┌─ fuzz/src/oracle.rs:82:545 │4682 │ std::io::Read::read_exact(out, &mut b)?;47 │ ^^^^^^^^^^^^^^^^^^^^^^^^^4849error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path50 ┌─ fuzz/src/lib.rs:46:551 │5246 │ std::panic::catch_unwind(std::panic::AssertUnwindSafe(f)).map_err(|p| {53 │ ^^^^^^^^^^^^^^^^^^^^^^^^5455error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path56 ┌─ fuzz/src/lib.rs:46:3057 │5846 │ std::panic::catch_unwind(std::panic::AssertUnwindSafe(f)).map_err(|p| {59 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^6061error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path62 ┌─ fuzz/src/known.rs:76:1163 │6476 │ match std::env::var("IETS_FUZZ_DIVERGENCES") {65 │ ^^^^^^^^^^^^^6667error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path68 ┌─ fuzz/src/known.rs:78:1469 │7078 │ &std::fs::read_to_string(&p).map_err(|e| format!("{p}: {e}"))?,71 │ ^^^^^^^^^^^^^^^^^^^^^^^7273error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path74 ┌─ fuzz/src/drveval.rs:199:2475 │76199 │ let mut seen = std::collections::HashSet::new();77 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^7879error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path80 ┌─ fuzz/src/nar.rs:77:1981 │8277 │ let dir = std::env::temp_dir().join(format!("iets-fuzz-nar-{}", std::process::id()));83 │ ^^^^^^^^^^^^^^^^^^8485error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path86 ┌─ fuzz/src/nar.rs:233:987 │88233 │ crate::classify(&self.known, d, input)89 │ ^^^^^^^^^^^^^^^9091error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path92 ┌─ fuzz/src/nar.rs:289:6293 │94289 │ fn build(u: &mut Unstructured, path: &Path, depth: usize) -> std::io::Result<()> {95 │ ^^^^^^^^^^^^^^^9697error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path98 ┌─ fuzz/src/nar.rs:290:1999 │100290 │ let bad = |_| std::io::Error::other("input exhausted");101 │ ^^^^^^^^^^^^^^^^^^^^^102103error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path104 ┌─ fuzz/src/nar.rs:317:21105 │106317 │ let c = std::ffi::CString::new(path.as_os_str().as_bytes())107 │ ^^^^^^^^^^^^^^^^^^^^^^108109error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path110 ┌─ fuzz/src/nar.rs:318:26111 │112318 │ .map_err(std::io::Error::other)?;113 │ ^^^^^^^^^^^^^^^^^^^^^114115error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path116 ┌─ fuzz/src/nar.rs:321:28117 │118321 │ return Err(std::io::Error::last_os_error());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-glob-imports]: import items explicitly; only `use super::*;` in test modules is idiomatic134 ┌─ fuzz/src/canon.rs:6:5135 │1366 │ use iets::syntax::ast::*;137 │ ----^^^^^^^^^^^^^^^^^^^^-138139error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path140 ┌─ fuzz/src/sx.rs:91:41141 │14291 │ let h = std::str::from_utf8(h).map_err(|e| e.to_string())?;143 │ ^^^^^^^^^^^^^^^^^^^144145error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path146 ┌─ fuzz/src/drv.rs:128:34147 │148128 │ if let Some(f) = std::env::var_os("IETS_DRV_WRITE") {149 │ ^^^^^^^^^^^^^^^^150151error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path152 ┌─ fuzz/src/drv.rs:129:29153 │154129 │ let _ = std::fs::write(f, &aterm);155 │ ^^^^^^^^^^^^^^156157error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path158 ┌─ fuzz/src/drv.rs:134:9159 │160134 │ crate::classify(&self.known, d, input)161 │ ^^^^^^^^^^^^^^^162163error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path164 ┌─ fuzz/src/drv.rs:306:20165 │166306 │ let mut seen = std::collections::HashSet::new();167 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^168169error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path170 ┌─ fuzz/src/eval.rs:90:9171 │17290 │ crate::classify(&self.known, d, src.as_bytes())173 │ ^^^^^^^^^^^^^^^174175error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path176 ┌─ fuzz/src/eval.rs:135:24177 │178135 │ if let Ok(p) = std::env::var("IETS_EVAL_SOURCE") {179 │ ^^^^^^^^^^^^^180181error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path182 ┌─ fuzz/src/eval.rs:136:21183 │184136 │ let _ = std::fs::write(p, &src);185 │ ^^^^^^^^^^^^^^186187error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path188 ┌─ fuzz/src/eval.rs:177:9189 │190177 │ crate::classify(&self.known, Some(d), src.as_bytes())191 │ ^^^^^^^^^^^^^^^192193error[no-comment-essays]: comment block of 8+ lines; condense it to the WHY194 ┌─ src/lint/mod.rs:887:5195 │ 196880 │ ╭ /// Any fiber reports: the site set keeps a warning to one line, and bailing197881 │ │ ╭ /// like `trace` does (docs/explanation/evaluation.md, "Speculation is198 │ ╰────────────'199882 │ │ ╭ /// invisible") cost 15 % of the wall on nixos-desktop at 4 workers. A site200 │ ╰──────────'201883 │ │ ╭ /// the scope silences enters the set too; an `error` site never does, so202 │ ╰────────'203884 │ │ ╭ /// every fiber that reaches it fails. A204 │ ╰──────'205885 │ │ ╭ /// `level` is that of the tree a value comes from, where the location of the206 │ ╰────'207886 │ │ ╭ /// site does not decide. A finding of `tree` is one for the tree, so the site208 │ ╰──'209887 │ ╭ │ /// set does not see it.210 │ │ ╰'211888 │ │ #[inline(never)]212 │ │ ----------------213 │ ╰──────────────^214215error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path216 ┌─ fuzz/src/wire.rs:73:19217 │21873 │ let dir = std::env::temp_dir().join(format!("iets-fuzz-wire-{}", std::process::id()));219 │ ^^^^^^^^^^^^^^^^^^220221error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path222 ┌─ fuzz/src/wire.rs:74:9223 │22474 │ std::fs::create_dir_all(&dir).expect("a scratch directory for the wire target");225 │ ^^^^^^^^^^^^^^^^^^^^^^^226227error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path228 ┌─ fuzz/src/wire.rs:86:24229 │23086 │ if let Ok(f) = std::env::var("IETS_WIRE_SCRIPT") {231 │ ^^^^^^^^^^^^^232233error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path234 ┌─ fuzz/src/wire.rs:87:21235 │23687 │ let _ = std::fs::write(f, &script);237 │ ^^^^^^^^^^^^^^238239error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path240 ┌─ fuzz/src/wire.rs:105:17241 │242105 │ let _ = std::fs::remove_file(&sock);243 │ ^^^^^^^^^^^^^^^^^^^^244245error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path246 ┌─ fuzz/src/wire.rs:111:21247 │248111 │ at: std::iter::once(op.name.to_string())249 │ ^^^^^^^^^^^^^^^250251error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path252 ┌─ fuzz/src/wire.rs:139:9253 │254139 │ crate::classify(&self.known, d, input)255 │ ^^^^^^^^^^^^^^^256257error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path258 ┌─ fuzz/src/wire.rs:145:17259 │260145 │ let _ = std::fs::remove_dir_all(&self.dir);261 │ ^^^^^^^^^^^^^^^^^^^^^^^262263error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path264 ┌─ fuzz/src/wire.rs:169:5265 │266169 │ std::thread::spawn(move || {267 │ ^^^^^^^^^^^^^^^^^^268269error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path270 ┌─ fuzz/src/wire.rs:174:21271 │272174 │ std::thread::spawn(move || {273 │ ^^^^^^^^^^^^^^^^^^274275error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path276 ┌─ fuzz/src/wire.rs:189:44277 │278189 │ let _ = s.shutdown(std::net::Shutdown::Write);279 │ ^^^^^^^^^^^^^^^^^^^^^^^^^280281error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path282 ┌─ fuzz/src/wire.rs:193:27283 │284193 │ Err(_) => std::thread::sleep(std::time::Duration::from_micros(200)),285 │ ^^^^^^^^^^^^^^^^^^286287error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path288 ┌─ fuzz/src/wire.rs:193:46289 │290193 │ Err(_) => std::thread::sleep(std::time::Duration::from_micros(200)),291 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^292293error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path294 ┌─ fuzz/src/wire.rs:300:43295 │296300 │ fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize> {297 │ ^^^^^^^^^^^^^^^298299error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path300 ┌─ fuzz/src/bin/fuzz-diff.rs:21:5301 │30221 │ std::process::exit(run());303 │ ^^^^^^^^^^^^^^^^^^304305error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path306 ┌─ fuzz/src/bin/fuzz-diff.rs:29:14307 │30829 │ for a in std::env::args().skip(1) {309 │ ^^^^^^^^^^^^^^310311error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path312 ┌─ fuzz/src/bin/fuzz-diff.rs:64:23313 │31464 │ let Ok(src) = std::fs::read(f) else { continue };315 │ ^^^^^^^^^^^^^316317error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path318 ┌─ fuzz/src/bin/fuzz-diff.rs:114:22319 │320114 │ let Ok(rd) = std::fs::read_dir(p) else { return };321 │ ^^^^^^^^^^^^^^^^^322323error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path324 ┌─ fuzz/src/bin/conformance-adapter.rs:16:29325 │32616 │ let args: Vec<String> = std::env::args().skip(1).collect();327 │ ^^^^^^^^^^^^^^328329error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path330 ┌─ fuzz/src/bin/conformance-adapter.rs:45:19331 │33245 │ let Ok(src) = std::fs::read(file) else {333 │ ^^^^^^^^^^^^^334335error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path336 ┌─ fuzz/src/bin/conformance-adapter.rs:63:21337 │33863 │ let Ok(input) = std::fs::read(file) else {339 │ ^^^^^^^^^^^^^340341error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path342 ┌─ fuzz/src/bin/conformance-adapter.rs:66:15343 │34466 │ let dir = std::env::temp_dir().join(format!("iets-conformance-{}", std::process::id()));345 │ ^^^^^^^^^^^^^^^^^^346347error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path348 ┌─ fuzz/src/bin/conformance-adapter.rs:67:13349 │35067 │ let _ = std::fs::remove_dir_all(&dir);351 │ ^^^^^^^^^^^^^^^^^^^^^^^352353error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path354 ┌─ fuzz/src/bin/conformance-adapter.rs:70:9355 │35670 │ std::fs::create_dir_all(&dir).ok()?;357 │ ^^^^^^^^^^^^^^^^^^^^^^^358359error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path360 ┌─ fuzz/src/bin/conformance-adapter.rs:81:13361 │36281 │ let _ = std::fs::remove_dir_all(&dir);363 │ ^^^^^^^^^^^^^^^^^^^^^^^364365error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path366 ┌─ fuzz/src/bin/conformance-adapter.rs:87:5367 │36887 │ std::path::absolute(Path::new(file))369 │ ^^^^^^^^^^^^^^^^^^^370371error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path372 ┌─ fuzz/src/bin/conformance-adapter.rs:93:15373 │37493 │ let bin = std::env::var("IETS").unwrap_or_else(|_| "iets".into());375 │ ^^^^^^^^^^^^^376377error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path378 ┌─ src/syntax/parser.rs:1107:47379 │3801107 │ fn nix_string(&self, e: ExprId) -> Option<std::ops::Range<usize>> {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/eval/mod.rs:82:13393 │39482 │ crate::syntax::line_starts(src)395 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^396397error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path398 ┌─ src/eval/mod.rs:1834:21399 │4001834 │ crate::runtime::census::upd_path(a, b),401 │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^402403error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path404 ┌─ src/runtime/value.rs:511:13405 │406511 │ super::census::note_get(0, 0);407 │ ^^^^^^^^^^^^^^^^^^^^^^^408409error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path410 ┌─ src/runtime/value.rs:516:13411 │412516 │ super::census::note_get(1, 0);413 │ ^^^^^^^^^^^^^^^^^^^^^^^414415error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path416 ┌─ src/runtime/value.rs:522:13417 │418522 │ super::census::note_get(if hit { 2 } else { 4 }, probes);419 │ ^^^^^^^^^^^^^^^^^^^^^^^420421error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path422 ┌─ src/runtime/census.rs:490:27423 │424490 │ let g: [u64; 5] = std::array::from_fn(|i| GETS[i].load(Ordering::Relaxed));425 │ ^^^^^^^^^^^^^^^^^^^426427Error: 68 error(s) found in code.428Help: Scan succeeded and found error level diagnostics in the codebase.429