Could you change the line to `if "cygwin" == term && os::getenv("MSYSCON") == Some(~"mintty.exe")`? I should've fixed it but forgot until now.

Explanation:
`TERM=cygwin` doesn't really mean it's ok to use `TerminfoTerminal` (escape sequences).
There are two ways to use escape seq: 1) use [mintty](https://code.google.com/p/mintty) (bundled in msys2), or 2) use libgreen (libuv internally parses escape sequence and calls windows console api).
It means *currently* rustc.exe output looks illegible if you use msys but don't use mintty.
To fix it, we have to create `TerminfoTerminal` only if it's on mintty. msys sets `MSYSCON` env to console application name, so we may use it.

Indeed it is mintty-specific bad hack. Other possible way is to not try to create `TerminfoTerminal` in `term::stdout()`/`term::stderr()`, but it would make rustc [colorless on mintty](https://code.google.com/p/mintty/issues/detail?id=56).