On Wed, 17 Oct 2012 21:15:19 +0200, Sönke Ludwig wrote:

rdmd, which is used by the vibe script, parses the output of dmd -deps
to calculate the neede files. Unfortunately, dmd's output only includes
global imports and neither local imports, nor string imports.

There is DMD bug report for this, but it didn't get attention yet:

Ok, thanks. I've not seen function scoped imports, so curious as to the
purpose/benefit? Is it to reduce the effect of the symbols being imported
to just the function to prevent name collisions?

Anyway, I like the json serialize functionality and I'm just getting into
vibe. Moving the imports to the top made it work for my very simple use case
and I hope it doesn't break other stuff in vibe for me later.