error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/oracle.rs:19:22 │ 19 │ program: std::env::var(var).unwrap_or_else(|_| default.into()), │ ^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/oracle.rs:37:40 │ 37 │ read: impl FnOnce(&mut Out) -> std::io::Result, │ ^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/oracle.rs:57:28 │ 57 │ fn start(&mut self) -> std::io::Result<()> { │ ^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/oracle.rs:67:26 │ 67 │ .map_err(|e| std::io::Error::other(format!("cannot start {}: {e}", self.program)))?; │ ^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/oracle.rs:74:33 │ 74 │ pub fn u32_le(out: &mut Out) -> std::io::Result { │ ^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/oracle.rs:76:5 │ 76 │ std::io::Read::read_exact(out, &mut b)?; │ ^^^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/oracle.rs:80:42 │ 80 │ pub fn bytes(out: &mut Out, n: usize) -> std::io::Result> { │ ^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/oracle.rs:82:5 │ 82 │ std::io::Read::read_exact(out, &mut b)?; │ ^^^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/lib.rs:46:5 │ 46 │ std::panic::catch_unwind(std::panic::AssertUnwindSafe(f)).map_err(|p| { │ ^^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/lib.rs:46:30 │ 46 │ std::panic::catch_unwind(std::panic::AssertUnwindSafe(f)).map_err(|p| { │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/known.rs:76:11 │ 76 │ match std::env::var("IETS_FUZZ_DIVERGENCES") { │ ^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/known.rs:78:14 │ 78 │ &std::fs::read_to_string(&p).map_err(|e| format!("{p}: {e}"))?, │ ^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/drveval.rs:199:24 │ 199 │ let mut seen = std::collections::HashSet::new(); │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/nar.rs:77:19 │ 77 │ let dir = std::env::temp_dir().join(format!("iets-fuzz-nar-{}", std::process::id())); │ ^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/nar.rs:233:9 │ 233 │ crate::classify(&self.known, d, input) │ ^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/nar.rs:289:62 │ 289 │ fn build(u: &mut Unstructured, path: &Path, depth: usize) -> std::io::Result<()> { │ ^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/nar.rs:290:19 │ 290 │ let bad = |_| std::io::Error::other("input exhausted"); │ ^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/nar.rs:317:21 │ 317 │ let c = std::ffi::CString::new(path.as_os_str().as_bytes()) │ ^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/nar.rs:318:26 │ 318 │ .map_err(std::io::Error::other)?; │ ^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/nar.rs:321:28 │ 321 │ return Err(std::io::Error::last_os_error()); │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/parse.rs:127:17 │ 127 │ let v = crate::classify(&self.known, d, src); │ ^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/parse.rs:139:9 │ 139 │ crate::classify(&self.known, d, src) │ ^^^^^^^^^^^^^^^ error[no-glob-imports]: import items explicitly; only `use super::*;` in test modules is idiomatic ┌─ fuzz/src/canon.rs:6:5 │ 6 │ use iets::syntax::ast::*; │ ----^^^^^^^^^^^^^^^^^^^^- error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/sx.rs:91:41 │ 91 │ let h = std::str::from_utf8(h).map_err(|e| e.to_string())?; │ ^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/drv.rs:128:34 │ 128 │ if let Some(f) = std::env::var_os("IETS_DRV_WRITE") { │ ^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/drv.rs:129:29 │ 129 │ let _ = std::fs::write(f, &aterm); │ ^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/drv.rs:134:9 │ 134 │ crate::classify(&self.known, d, input) │ ^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/drv.rs:306:20 │ 306 │ let mut seen = std::collections::HashSet::new(); │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/eval.rs:90:9 │ 90 │ crate::classify(&self.known, d, src.as_bytes()) │ ^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/eval.rs:135:24 │ 135 │ if let Ok(p) = std::env::var("IETS_EVAL_SOURCE") { │ ^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/eval.rs:136:21 │ 136 │ let _ = std::fs::write(p, &src); │ ^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/eval.rs:177:9 │ 177 │ crate::classify(&self.known, Some(d), src.as_bytes()) │ ^^^^^^^^^^^^^^^ error[no-comment-essays]: comment block of 8+ lines; condense it to the WHY ┌─ src/lint/mod.rs:887:5 │ 880 │ ╭ /// Any fiber reports: the site set keeps a warning to one line, and bailing 881 │ │ ╭ /// like `trace` does (docs/explanation/evaluation.md, "Speculation is │ ╰────────────' 882 │ │ ╭ /// invisible") cost 15 % of the wall on nixos-desktop at 4 workers. A site │ ╰──────────' 883 │ │ ╭ /// the scope silences enters the set too; an `error` site never does, so │ ╰────────' 884 │ │ ╭ /// every fiber that reaches it fails. A │ ╰──────' 885 │ │ ╭ /// `level` is that of the tree a value comes from, where the location of the │ ╰────' 886 │ │ ╭ /// site does not decide. A finding of `tree` is one for the tree, so the site │ ╰──' 887 │ ╭ │ /// set does not see it. │ │ ╰' 888 │ │ #[inline(never)] │ │ ---------------- │ ╰──────────────^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/wire.rs:73:19 │ 73 │ let dir = std::env::temp_dir().join(format!("iets-fuzz-wire-{}", std::process::id())); │ ^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/wire.rs:74:9 │ 74 │ std::fs::create_dir_all(&dir).expect("a scratch directory for the wire target"); │ ^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/wire.rs:86:24 │ 86 │ if let Ok(f) = std::env::var("IETS_WIRE_SCRIPT") { │ ^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/wire.rs:87:21 │ 87 │ let _ = std::fs::write(f, &script); │ ^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/wire.rs:105:17 │ 105 │ let _ = std::fs::remove_file(&sock); │ ^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/wire.rs:111:21 │ 111 │ at: std::iter::once(op.name.to_string()) │ ^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/wire.rs:139:9 │ 139 │ crate::classify(&self.known, d, input) │ ^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/wire.rs:145:17 │ 145 │ let _ = std::fs::remove_dir_all(&self.dir); │ ^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/wire.rs:169:5 │ 169 │ std::thread::spawn(move || { │ ^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/wire.rs:174:21 │ 174 │ std::thread::spawn(move || { │ ^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/wire.rs:189:44 │ 189 │ let _ = s.shutdown(std::net::Shutdown::Write); │ ^^^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/wire.rs:193:27 │ 193 │ Err(_) => std::thread::sleep(std::time::Duration::from_micros(200)), │ ^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/wire.rs:193:46 │ 193 │ Err(_) => std::thread::sleep(std::time::Duration::from_micros(200)), │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/wire.rs:300:43 │ 300 │ fn read(&mut self, buf: &mut [u8]) -> std::io::Result { │ ^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/bin/fuzz-diff.rs:21:5 │ 21 │ std::process::exit(run()); │ ^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/bin/fuzz-diff.rs:29:14 │ 29 │ for a in std::env::args().skip(1) { │ ^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/bin/fuzz-diff.rs:64:23 │ 64 │ let Ok(src) = std::fs::read(f) else { continue }; │ ^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/bin/fuzz-diff.rs:114:22 │ 114 │ let Ok(rd) = std::fs::read_dir(p) else { return }; │ ^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/bin/conformance-adapter.rs:16:29 │ 16 │ let args: Vec = std::env::args().skip(1).collect(); │ ^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/bin/conformance-adapter.rs:45:19 │ 45 │ let Ok(src) = std::fs::read(file) else { │ ^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/bin/conformance-adapter.rs:63:21 │ 63 │ let Ok(input) = std::fs::read(file) else { │ ^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/bin/conformance-adapter.rs:66:15 │ 66 │ let dir = std::env::temp_dir().join(format!("iets-conformance-{}", std::process::id())); │ ^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/bin/conformance-adapter.rs:67:13 │ 67 │ let _ = std::fs::remove_dir_all(&dir); │ ^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/bin/conformance-adapter.rs:70:9 │ 70 │ std::fs::create_dir_all(&dir).ok()?; │ ^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/bin/conformance-adapter.rs:81:13 │ 81 │ let _ = std::fs::remove_dir_all(&dir); │ ^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/bin/conformance-adapter.rs:87:5 │ 87 │ std::path::absolute(Path::new(file)) │ ^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ fuzz/src/bin/conformance-adapter.rs:93:15 │ 93 │ let bin = std::env::var("IETS").unwrap_or_else(|_| "iets".into()); │ ^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ src/syntax/parser.rs:1107:47 │ 1107 │ fn nix_string(&self, e: ExprId) -> Option> { │ ^^^^^^^^^^^^^^^ error[no-discarded-result]: handle or log the error instead of discarding it with .ok() ┌─ src/runtime/arena.rs:223:13 │ 223 │ ╭ self.next = thread::Builder::new() 224 │ │ .spawn(move || map_chunk(CHUNK, thp)) 225 │ │ .ok(); │ ╰──────────────────────^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ src/eval/mod.rs:82:13 │ 82 │ crate::syntax::line_starts(src) │ ^^^^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ src/eval/mod.rs:1834:21 │ 1834 │ crate::runtime::census::upd_path(a, b), │ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ src/runtime/value.rs:511:13 │ 511 │ super::census::note_get(0, 0); │ ^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ src/runtime/value.rs:516:13 │ 516 │ super::census::note_get(1, 0); │ ^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ src/runtime/value.rs:522:13 │ 522 │ super::census::note_get(if hit { 2 } else { 4 }, probes); │ ^^^^^^^^^^^^^^^^^^^^^^^ error[no-inline-absolute-paths]: use a `use` import instead of an inline crate::/super::/std:: path ┌─ src/runtime/census.rs:490:27 │ 490 │ let g: [u64; 5] = std::array::from_fn(|i| GETS[i].load(Ordering::Relaxed)); │ ^^^^^^^^^^^^^^^^^^^ Error: 68 error(s) found in code. Help: Scan succeeded and found error level diagnostics in the codebase.