···77# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
8899[dependencies]
1010-rnix = "0.9.0"
1110if_chain = "1.0"
1211macros = { path = "../macros" }
1312lazy_static = "1.0"
1413rowan = "0.12.5"
1514serde_json = { version = "1.0.68", optional = true }
1515+1616+[dependencies.rnix]
1717+git = "https://github.com/nix-community/rnix-parser"
1818+rev = "8083f5694ddeaca47c946aa9ae7ecf117fa4823b"
16191720[dependencies.serde]
1821version = "1.0.130"
+3-2
lib/src/lints/bool_comparison.rs
···4141 if let Some(bin_expr) = BinOp::cast(node.clone());
4242 if let Some(lhs) = bin_expr.lhs();
4343 if let Some(rhs) = bin_expr.rhs();
4444+ if let Some(op) = bin_expr.operator();
44454545- if let op@(BinOpKind::Equal | BinOpKind::NotEqual) = bin_expr.operator();
4646+ if let BinOpKind::Equal | BinOpKind::NotEqual = op;
4647 let (non_bool_side, bool_side) = if boolean_ident(&lhs).is_some() {
4748 (rhs, lhs)
4849 } else if boolean_ident(&rhs).is_some() {
···7071 SyntaxKind::NODE_BIN_OP => {
7172 let inner = BinOp::cast(non_bool_side.clone()).unwrap();
7273 // `!a ? b`, no paren required
7373- if inner.operator() == BinOpKind::IsSet {
7474+ if inner.operator()? == BinOpKind::IsSet {
7475 make::unary_not(&non_bool_side).node().clone()
7576 } else {
7677 let parens = make::parenthesize(&non_bool_side);
+1
lib/src/lints/empty_pattern.rs
···4949 if let Some(body) = lambda_expr.body();
50505151 if let Some(pattern) = Pattern::cast(arg.clone());
5252+5253 // no patterns within `{ }`
5354 if pattern.entries().count() == 0;
5455 // pattern is not bound