> close a file (which ironically is the poster child for RAII)

Yes, I call this "RAII is a lie" (T-shirt pending).

Closing file descriptors is univerally used to showcase RAII, but it should never be used for that.

C++ has the same problem:

https://github.com/isocpp/CppCoreGuidelines/issues/2203

In there, it is acknowledged that a manual Close() should always be provided, and used if you want guarantees.

> is a bad pattern

Good that Rust at least figured it out early that it's a bad pattern!

Never use RAII in situations where the cleanup can fail!