Weird quirk in ReST with code blocks

In some weird cases (I've been unable to determine so far) Pelican will throw you a generic error about an unexpected unident in your code block like this:

ERROR: Could not process inputfile.rst
  | SystemMessage: /inputfolder/inputfile.rst:55: (WARNING/2) Definition list ends without a blank line; unexpected unindent.

Turns out that in order to fix it, you have to have an empty line before the beginning of the code block (in addition to the one in front of it), then it gets parsed correctly. Seriously annoying caveat if you're new to ReST.