[Issue 20718] New: enum type mismatch causes wrong location on error
    d-bugmail at puremagic.com 
    d-bugmail at puremagic.com
       
    Wed Apr  1 17:40:04 UTC 2020
    
    
  
https://issues.dlang.org/show_bug.cgi?id=20718
          Issue ID: 20718
           Summary: enum type mismatch causes wrong location on error
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Keywords: diagnostic
          Severity: regression
          Priority: P1
         Component: dmd
          Assignee: nobody at puremagic.com
          Reporter: schveiguy at yahoo.com
In diagnosing a bizarre error in druntime for building documentation on macos,
I found the following issue:
--- importedmod.d
enum
{
    foo = 1
}
--- main.d
import importedmod;
struct S
{
    string x;
}
static immutable S s = {foo};
Error:
importedmod.d(3): Error: cannot implicitly convert expression `1` of type `int`
to `immutable(string)`
The location is the definition, not the usage which causes the error.
If I use run.dlang.io, it's reporting that the error location was correct in
2.063.0.
It might be related to issue 12380, but I don't want to mark that a regression
since it was a reopened issue.
also possibly related is issue 15867.
--
    
    
More information about the Digitalmars-d-bugs
mailing list