April 06, 2023
https://issues.dlang.org/show_bug.cgi?id=23830

          Issue ID: 23830
           Summary: Azure failure for OMF: Module name not printed before
                    struct symbol
           Product: D
           Version: D2
          Hardware: All
                OS: All
            Status: NEW
          Severity: minor
          Priority: P1
         Component: dmd
          Assignee: nobody@puremagic.com
          Reporter: dkorpel@live.nl

As of April 3rd 2023, the Windows 32-bit OMF test suite targets fail because struct symbols are not printed as fully qualified names in some error messages:

```
FAILED targets:
- fail_compilation\bug9631.d
- fail_compilation\fail19948.d
```

```
diff:
----
 fail_compilation\bug9631.d(58): Error: cannot cast expression `ta` of type
`bug9631.tem!().S[1]` to `bug9631.S[1]` because of different sizes
 fail_compilation\bug9631.d(59): Error: cannot cast expression `sa` of type
`S[1]` to `S[]` since sizes don't line up
 fail_compilation\bug9631.d(79): Error: function `bug9631.arg.f(int i, S s)` is
not callable using argument types `(int, S)`
-fail_compilation\bug9631.d(79):        cannot pass argument `y` of type
`bug9631.tem!().S` to parameter `bug9631.S s`
+fail_compilation\bug9631.d(79):        cannot pass argument `y` of type
`bug9631.tem!().S` to parameter `S s`
 fail_compilation\bug9631.d(80): Error: function literal `__lambda4(S s)` is
not callable using argument types `(S)`
-fail_compilation\bug9631.d(80):        cannot pass argument `x` of type
`bug9631.S` to parameter `bug9631.tem!().S s`
+fail_compilation\bug9631.d(80):        cannot pass argument `x` of type
`bug9631.S` to parameter `S s`
 fail_compilation\bug9631.d(86): Error: constructor `bug9631.arg.A.this(S
_param_0)` is not callable using argument types `(S)`
-fail_compilation\bug9631.d(86):        cannot pass argument `S(0)` of type
`bug9631.tem!().S` to parameter `bug9631.S _param_0`
+fail_compilation\bug9631.d(86):        cannot pass argument `S(0)` of type
`bug9631.tem!().S` to parameter `S _param_0`
 fail_compilation\bug9631.d(106): Error: function `bug9631.targ.ft!().ft(S
_param_0)` is not callable using argument types `(S)`
-fail_compilation\bug9631.d(106):        cannot pass argument `x` of type
`bug9631.S` to parameter `bug9631.tem!().S _param_0`
+fail_compilation\ ... fail_compilation\ccast.d       -verrors=0  ()
bug9631.d(106):        cannot pass argument `x` of type `bug9631.S` to
parameter `S _param_0`
 fail_compilation\bug9631.d(107): Error: none of the overloads of template
`bug9631.targ.ft` are callable using argument types `!()(S)`
 fail_compilation\bug9631.d(105):        Candidate is: `ft()(tem!().S)`
 fail_compilation\bug9631.d(109): Error: none of the overloads of template
`bug9631.targ.ft2` are callable using argument types `!()(S, int)`
----
```

```
diff:
----
 fail_compilation\fail19948.d(15): Error: function `fail19948.func(const(X))`
is not callable using argument types `(X)`
-fail_compilation\fail19948.d(15):        cannot pass argument `X()` of type
`fail19948.main.X` to parameter `const(fail19948.X)`
+fail_compilation\fail19948.d(15):        cannot pass argument `X()` of type
`fail19948.main.X` to parameter `const(X)`
----
```

I can't reproduce it locally.

--