Hi, This patch merges the D front-end implementation with dmd upstream 237ca3fbe. Backports a fix where a bad cast to TypeFunction resulted in memory corruption. The logic in the function semantic has been fixed, and casts have been replaced with a function call to always check the front-end AST node value. Bootstrapped and tested on x86_64-linux-gnu. Committed to trunk as r267207. -- Iain ---