Open uniunitaro opened 1 week ago
There seems something off with our js scope analysis. We have this test case in the file
But if I change it to this it will fail:
let two_captures = "function f(c) {console.log(a, b, c)} let a, b;"; // move function definition to the front
assert_closure(two_captures, "f", &["a", "b"]);
assert_eq!(get_closure_children(two_captures, "f").len(), 0);
Environment information
Rule name
useExhaustiveDependencies
Playground link
https://biomejs.dev/playground/?code=aQBtAHAAbwByAHQAIAB7ACAAdQBzAGUAUwB0AGEAdABlACwAIAB1AHMAZQBFAGYAZgBlAGMAdAAgAH0AIABmAHIAbwBtACAAJwByAGUAYQBjAHQAJwAKAAoAZgB1AG4AYwB0AGkAbwBuACAARgBvAG8AQwBvAG0AcABvAG4AZQBuAHQAKAApACAAewAKACAAIABjAG8AbgBzAHQAIABbAHMAdABhAHQAZQAsACAAcwBlAHQAUwB0AGEAdABlAF0AIAA9ACAAdQBzAGUAUwB0AGEAdABlACgAJwBmAG8AbwAnACkACgAgACAAdQBzAGUARQBmAGYAZQBjAHQAKAAoACkAIAA9AD4AIAB7AAoAIAAgACAAIABjAG8AbgBzAG8AbABlAC4AbABvAGcAKABzAHQAYQB0AGUAKQAKACAAIAB9ACwAIABbAF0AKQAKAAoAIAAgAHIAZQB0AHUAcgBuACAAbgB1AGwAbAAKAH0ACgAKAGYAdQBuAGMAdABpAG8AbgAgAEIAYQByAEMAbwBtAHAAbwBuAGUAbgB0ACgAKQAgAHsACgAgACAAdQBzAGUARQBmAGYAZQBjAHQAKAAoACkAIAA9AD4AIAB7AAoAIAAgACAAIABjAG8AbgBzAG8AbABlAC4AbABvAGcAKABzAHQAYQB0AGUAKQAKACAAIAB9ACwAIABbAF0AKQAKACAAIABjAG8AbgBzAHQAIABbAHMAdABhAHQAZQAsACAAcwBlAHQAUwB0AGEAdABlAF0AIAA9ACAAdQBzAGUAUwB0AGEAdABlACgAJwBiAGEAcgAnACkACgAKACAAIAByAGUAdAB1AHIAbgAgAG4AdQBsAGwACgB9AA%3D%3D
Expected result
Both should result in an error. (Both resulted in an error with the ESLint plugin.)
Code of Conduct