and require explicit moves. Also provide more info in some error messages. Also: check that non-copyable struct fields don't get copied. Closes #3481
...they require copying noncopyable fields.
of the 0th. 0th is only correct when there are no bound tps on the trait. Fixes #3741.
This commit replaces nearly all remaining uses of #fmt, #debug, #error, and #info, and fixes some error messages...
Most notably, I removed the "foldl" example in the section on pure functions, as IIRC this is no longer something you need an unsafe block for (pure functions are as pure as their arguments). Feel free to add an example where an unsafe block really is needed.