incremental: fix crash when introducing syntax error
Clearing the analysis roots was very clever and all, but not actually valid. We need to avoid *any* reference to the analysis errors if there were any fatal files, and that includes sorting the errors! Resolves: #22774
This commit is contained in:
42
test/incremental/analysis_error_and_syntax_error
Normal file
42
test/incremental/analysis_error_and_syntax_error
Normal file
@@ -0,0 +1,42 @@
|
||||
#target=x86_64-linux-selfhosted
|
||||
#target=x86_64-linux-cbe
|
||||
#target=x86_64-windows-cbe
|
||||
#target=wasm32-wasi-selfhosted
|
||||
#update=initial version
|
||||
#file=main.zig
|
||||
pub fn main() !void {
|
||||
@compileError("uh oh");
|
||||
}
|
||||
#expect_error=main.zig:2:5: error: uh oh
|
||||
|
||||
#update=add parse error
|
||||
#file=main.zig
|
||||
pub fn main() !void {
|
||||
@compileError("uh oh");
|
||||
#expect_error=main.zig:3:1: error: expected statement, found 'EOF'
|
||||
|
||||
#update=fix parse error
|
||||
#file=main.zig
|
||||
pub fn main() !void {
|
||||
@compileError("uh oh");
|
||||
}
|
||||
#expect_error=main.zig:2:5: error: uh oh
|
||||
|
||||
#update=add parse error again
|
||||
#file=main.zig
|
||||
pub fn main() !void {
|
||||
@compileError("uh oh");
|
||||
#expect_error=main.zig:3:1: error: expected statement, found 'EOF'
|
||||
|
||||
#update=comment @compileError call
|
||||
#file=main.zig
|
||||
pub fn main() !void {
|
||||
//@compileError("uh oh");
|
||||
#expect_error=main.zig:3:1: error: expected statement, found 'EOF'
|
||||
|
||||
#update=fix parse error again
|
||||
#file=main.zig
|
||||
pub fn main() !void {
|
||||
//@compileError("uh oh");
|
||||
}
|
||||
#expect_stdout=""
|
||||
Reference in New Issue
Block a user