From d97f16c0b3f798a5c3b52cdc9fbd378084ddef20 Mon Sep 17 00:00:00 2001 From: "Simon A. Nielsen Knights" Date: Fri, 7 Jan 2022 18:59:50 +0000 Subject: [PATCH 1/2] The zig stage1 way https://github.com/ziglang/zig/issues/3461 --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index ab4e1de..c49a2c0 100644 --- a/README.md +++ b/README.md @@ -794,3 +794,10 @@ func main() { 3. Run with `go run .` or make executable using `go build -o VimKill` +## The zig stage1 way + +Credit: @tauoverpi + +```zig +echo "pub fn main() !noreturn { unreachable; }" > vimkill.zig; zig build-exe vimkill.zig +``` From 4b9a00e96ff7af8e870a6219b6e707deb9d47f99 Mon Sep 17 00:00:00 2001 From: "Simon A. Nielsen Knights" Date: Sat, 2 Apr 2022 05:46:59 +0000 Subject: [PATCH 2/2] Describe the effect of `!noreturn` --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index c49a2c0..e2235bd 100644 --- a/README.md +++ b/README.md @@ -801,3 +801,5 @@ Credit: @tauoverpi ```zig echo "pub fn main() !noreturn { unreachable; }" > vimkill.zig; zig build-exe vimkill.zig ``` + +This eventually [exhausts memory](https://github.com/ziglang/zig/issues/3461) on the machine which gives the OOM killer a chance to kill vim.