I was using Anvil::Image::create_nonsparse() to create an image with mipmap data already assigned, and got back an error from validation layers that I was trying to write to an image that doesn't have VK_IMAGE_USAGE_TRANSFER_DST_BIT assigned to it.
I worked around it by adding it manually, but it doesn't say anywhere in the Anvil docs this is necessary. Anvil should probably either OR the flag in itself, or else tell the user they're required to.