Bug 8630 – Assertion failure: 'fd && fd->inferRetType' on line 81 in file 'mangle.c'

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2012-09-08T01:14:00Z
Last change time
2015-06-09T05:11:45Z
Keywords
ice, pull
Assigned to
nobody
Creator
wfunction

Comments

Comment #0 by wfunction — 2012-09-08T01:14:44Z
typeof(v) foo(R)(R v) { return array(map!(p => p)(v)); } void main() { foo(1); }
Comment #1 by wfunction — 2012-09-08T01:16:01Z
Oops, that should've said foo([0]) instead of foo(1). Doesn't make any difference, though.
Comment #2 by k.hara.pg — 2012-09-08T01:44:50Z
Is this a regression? If really so, Would you please show us the the version that didn't assert.
Comment #3 by wfunction — 2012-09-08T01:49:24Z
Comment #4 by k.hara.pg — 2012-09-08T02:13:29Z
(In reply to comment #3) > http://ideone.com/VD30n Thanks. Ideone uses 2.042. And in my local, with 2.058 success, but with 2.059 fails. I don't find the actual commit which introduced the regression, but this is really a regression of 2.059.
Comment #5 by k.hara.pg — 2012-09-08T02:14:28Z
Comment #6 by github-bugzilla — 2012-09-08T13:37:46Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/eb61951d58952b10e3e74a025f669a862ef05485 fix Issue 8630 - Assertion failure: 'fd && fd->inferRetType' on line 81 in file 'mangle.c' If function type invalidation is detected in FuncDeclaration::semantic, FuncDeclaration::semantic3 should not run. When return type is an error, running function body semantic would print some relevant errors, but they are fake errors. So we should stop meaningless semantic3 IMO. https://github.com/D-Programming-Language/dmd/commit/16a4543b7c87b594097e11db388956d1b838cceb Merge pull request #1107 from 9rnsr/fix8630 Issue 8630 - Assertion failure: 'fd && fd->inferRetType' on line 81 in file 'mangle.c'
Comment #7 by github-bugzilla — 2012-09-09T12:34:10Z