Bug 14747 – compiler insists on unnecessary return statement

Status
RESOLVED
Resolution
FIXED
Severity
major
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2015-06-29T10:33:00Z
Last change time
2017-07-22T12:35:46Z
Keywords
pull
Assigned to
nobody
Creator
john.loughran.colvin

Comments

Comment #0 by john.loughran.colvin — 2015-06-29T10:33:42Z
//returns.d auto foo(Args...)() { foreach(arg; Args) static if(is(arg == int)) { return 0; } } void main() { foo!int; } $ dmd results.d returns.d(1): Error: function returns.foo!int.foo no return exp; or assert(0); at end of function returns.d(12): Error: template instance returns.foo!int error instantiating
Comment #1 by k.hara.pg — 2015-06-30T15:43:10Z
Comment #2 by github-bugzilla — 2015-06-30T18:35:26Z
Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/4ceb3ab1599025cc5b8a8659c088d17215b89091 Supplemental fix for issue 14747 - remove unreachable statements https://github.com/D-Programming-Language/phobos/commit/181550bbbbb1eaa31a0b9722c80ddfe18c0417ac Merge pull request #3456 from 9rnsr/fix14747 Supplemental fix for issue 14747 - remove unreachable statements
Comment #3 by github-bugzilla — 2015-07-06T05:56:31Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/615110a78f1bad4b46df58fc743302dac1708f18 fix Issue 14747 - compiler insists on unnecessary return statement https://github.com/D-Programming-Language/dmd/commit/442cb436f6ebf4a8ce7367e742ae2d3c180ba953 Merge pull request #4790 from 9rnsr/fix14747 Issue 14747 - compiler insists on unnecessary return statement
Comment #4 by github-bugzilla — 2015-10-04T18:18:49Z
Comment #5 by github-bugzilla — 2015-10-04T18:19:49Z
Comment #6 by github-bugzilla — 2017-07-22T12:35:46Z
Commits pushed to dmd-cxx at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/615110a78f1bad4b46df58fc743302dac1708f18 fix Issue 14747 - compiler insists on unnecessary return statement https://github.com/dlang/dmd/commit/442cb436f6ebf4a8ce7367e742ae2d3c180ba953 Merge pull request #4790 from 9rnsr/fix14747