Yeah, I'd say it looks like you've found a bug in the compiler. If you can reduce the set of code which produces this error any, that's always great, but even if not you should file a bug in Trac and attach the relevant sources which reproduce this problem.