Почему происходит ошибка.Foo catch {};` компилируется, ошибка.Foo-это ошибка, а не объединение ошибок

#zig

#зиг

Вопрос:

Этот код компилируется:

 error.Foo catch {};  

Но не:

 error.Foo catch |bar| {  std.debug.print("{s}", .{bar}); };  

Это почему? Работает ли catch без захвата полезной нагрузки тоже с ошибкой? Я думал catch , что работает только с союзом ошибок.

Комментарии:

1. Это звучит так, как будто это может быть ошибка или недосмотр в zig — первый оператор catch на самом деле ничего не делает, и блок кода никогда не запускается, и в документации об этом нет упоминания.