error propagation from TypeFunction::semantic
Merge pull request #2850 from WalterBright/func-errors

error propagation from TypeFunction::semantic