Problem
Due to recent compiler changes related to inline macros, the linter currently cannot analyze code inside macro arguments. As a result, any diagnostics within inline macros like assert! are not reported.
For example:
assert!(if x > y || x < y {
true
} else {
false
});
assert!({((a)) == b});
assert!(if true == true {
loop {
let a: felt252 = 'hello';
let b = a.clone();
println!("{}", b);
break ();
}
true
} else {
true
});
assert!({
let a: felt252 = 'hello';
let a: Result<[u64; 2], felt252> = Result::Ok([10, 20]);
let _x = match a {
Result::Ok(v) => {
v
},
Result::Err(_) =>
[1, 2]
};
let b = a.clone();
true
});
println!("{}", x / x);
Even though many issues are present, the linter is currently unable to report them.
Proposed Solution
No response
Notes
One notable change is that arguments in Syntax are now only represented as tokens. As a result, accessing this data directly at the Syntax level is likely no longer possible.

Problem
Due to recent compiler changes related to inline macros, the linter currently cannot analyze code inside macro arguments. As a result, any diagnostics within inline macros like
assert!are not reported.For example:
Even though many issues are present, the linter is currently unable to report them.
Proposed Solution
No response
Notes
One notable change is that arguments in
Syntaxare now only represented astokens. As a result, accessing this data directly at theSyntaxlevel is likely no longer possible.