| 1 | # Tests may unwrap and index; production code may not (see [workspace.lints] in Cargo.toml). |
| 2 | allow-unwrap-in-tests = true |
| 3 | allow-expect-in-tests = true |
| 4 | allow-panic-in-tests = true |
| 5 | allow-indexing-slicing-in-tests = true |
| 6 | |
| 7 | # CLAUDE.md hard rule 1: no network sockets, ever. |
| 8 | disallowed-types = [ |
| 9 | { path = "std::net::TcpStream", reason = "budctl never opens network sockets (CLAUDE.md rule 1)" }, |
| 10 | { path = "std::net::TcpListener", reason = "budctl never opens network sockets (CLAUDE.md rule 1)" }, |
| 11 | { path = "std::net::UdpSocket", reason = "budctl never opens network sockets (CLAUDE.md rule 1)" }, |
| 12 | ] |
| 13 | |
| 14 | disallowed-methods = [ |
| 15 | { path = "std::thread::sleep", reason = "wait with Link::pump_until, so the buds' requests are still answered" }, |
| 16 | { path = "std::process::exit", reason = "return an error and let main turn it into an exit code" }, |
| 17 | ] |