Bug 23607 – invalid code leading to an ICE due to an error message that's not emitted anymore

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2023-01-08T12:03:47Z
Last change time
2023-01-14T10:18:43Z
Keywords
ice, pull
Assigned to
No Owner
Creator
Basile-z

Comments

Comment #0 by b2.temp — 2023-01-08T12:03:47Z
this causes an ICE instead of producing normal error messages ``` import std.conv; alias comb = to!string.bad!""; ``` accoring to run.dlang it's a 2.099 reg: ``` 2.068.2 to 2.072.2: Failure with output: onlineapp.d(2): Error: template identifier 'bad' is not a member of template 'std.conv.to!string.to(A...)(A args) if (!isRawStaticArray!A)' 2.073.2 to 2.078.3: Failure with output: onlineapp.d(2): Error: template identifier 'bad' is not a member of template 'std.conv.to!string.to(A...)(A args) if (A.length > 0)' 2.079.1 to 2.098.1: Failure with output: onlineapp.d(2): Error: template identifier `bad` is not a member of template `std.conv.to!string.to(A...)(A args) if (A.length > 0)` Since 2.099.1: Failure with output: Error: unknown, please file report on issues.dlang.org ```
Comment #1 by b2.temp — 2023-01-08T13:17:35Z
reduced: ``` template to(T) { void to(T)(){} } alias comb = to!int.bad!0; ```
Comment #2 by b2.temp — 2023-01-08T14:21:20Z
caused by https://github.com/dlang/dmd/pull/13946. The PR removed error messages that are expected to be output in src/dmd/typesem.d:321. If not output, an assertion fails.
Comment #3 by dlang-bot — 2023-01-08T14:32:42Z
@SixthDot created dlang/dmd pull request #14792 "fix issue 23607 - invalid code leading to an ICE due to an error mess…" fixing this issue: - fix issue 23607 - invalid code leading to an ICE due to an error message that's not emitted anymore https://github.com/dlang/dmd/pull/14792
Comment #4 by dlang-bot — 2023-01-09T14:02:28Z
@BorisCarvajal updated dlang/dmd pull request #14796 "Remove some special cases from dmd.typesem.resolveHelper" fixing this issue: - Fix Issue 23607 - invalid code leading to an ICE due to an error message that's not emitted anymore Small dmd.typesem.resolveHelper refactor by removing many conditions that called helper3 anyway. https://github.com/dlang/dmd/pull/14796
Comment #5 by schveiguy — 2023-01-09T23:14:13Z
*** Issue 23615 has been marked as a duplicate of this issue. ***
Comment #6 by dlang-bot — 2023-01-11T11:22:33Z
dlang/dmd pull request #14796 "Remove some special cases from dmd.typesem.resolveHelper" was merged into stable: - 777ad9741c3ed01f47910f15d0af00ed71a08ffb by Boris Carvajal: Fix Issue 23607 - invalid code leading to an ICE due to an error message that's not emitted anymore Small dmd.typesem.resolveHelper refactor by removing many conditions that called helper3 anyway. https://github.com/dlang/dmd/pull/14796
Comment #7 by dlang-bot — 2023-01-14T10:18:43Z
dlang/dmd pull request #14813 "Merge Stable into master" was merged into master: - 144c87de86e69c86bc49bb6374b511d77bf03d12 by Boris Carvajal: Fix Issue 23607 - invalid code leading to an ICE due to an error message that's not emitted anymore (#14796) Small dmd.typesem.resolveHelper refactor by removing many conditions that called helper3 anyway. https://github.com/dlang/dmd/pull/14813