zls
zls copied to clipboard
Represent error sets through InternPool
Preparatory work for peer type resolution with error unions
Regression 1: link to error set is no longer included in "Go to ..." when hovering.
Regression 2: given error set E = error{A,B} and struct S, E!S is printed as error{A,B}!S. However, this is consistent with how Zig would normally print E!S in e.g. std.debug.print.
const std = @import("std");
const E = error{A,B};
const S = struct{};
pub fn main() !void {
std.debug.print("{}", .{E!S}); // => error{A,B}!S
}