Those docs link to the write! docs, which talk more explicitly about the “writer” argument (type that implements fmt::Write or io::Write). Though these docs are still not very clear.
In practice I think I learned this from the example in the Display docs.
Even so, it may be worthwhile to file an issue against the documentation. It seems a large number of people are starting to learn Rust during this extended period of "working from home", so the issue will be encountered again and again.
I've been bitten by this too many times to count, even though I have experience in Rust. If you're able to say, how difficult would it be to get a better error message in the compiler? The trivial case to check is if the first argument is a string literal.