<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/148675>148675</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[flang] Unexpected compile time failure when resolving a reference to a defined assignment `ASSIGNMENT(=)`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
flang:frontend
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
DanielCChen
</td>
</tr>
</table>
<pre>
Consider the following code:
```
module m
type dt
integer i
contains
generic :: ASSIGNMENT(=) => assign
procedure, pass :: assign => myassign
generic :: ASSIGNMENT(=) => otherassign !! If commented out, it compiles successfully
procedure, pass :: otherassign => myassign !! If commented out, it compiles successfully
end type
contains
subroutine myassign(x,y)
class(dt), intent(out) :: x
integer, intent(in) :: y
x%i = y + 1
end subroutine
subroutine sub
type(dt) xdt
xdt = 5
end subroutine
end module
```
Flang complains:
```
error: Semantic errors in assign08.f
./assign08.f:19:5: error: No intrinsic or user-defined ASSIGNMENT(=) matches operand types TYPE(dt) and INTEGER(4)
xdt = 5
^^^^^^^
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJysVM9vszgQ_WuGy6iRMZDCgQNfmnzqYavVtnvYozFD8MrYyDb9kv9-ZULa9Ie0e9gIiTDyvHl-79nCe3U0RDUUP6B4SMQcBuvqB2EU6d1uIJO0tjvXO2u86shhGAh7q7X9pcwRpe0IsgZYA1u2PqwZbTdrwhFYgxjOE2EXlv-IygQ6kkO1fEtrglDGx48jGXJKYoTLGmyenx9_Pv22f3oBXkL2ALzC-Mr2eOG8Ak7OSupmR8B3OAnvrwCXVdee8fyh678Ps2Egt2J9_AFPgaf42KO040gmUId2DpGHCrE2KU0e_Swled_PWp__jfPtsE_E_4_JZLrFDmDNrfLo59bZOShD7zrx8gR8dwZeraSlFt4DL7sQa3GUCWQC8HIZXV33cIrrV5s_LFPmZtVVihPwQsW94hmB_8D0jeg7qZgu1tyy9HO79i_bWUnh6S1mpy4soMX3cLFwCemn5AJrDloswR4nvQj0Jd3knHVxD880ChOUxKXiUZk1dKzc9MCaDfDDTSFr0gqypoitbxhPNgrklPFKonU4e3J3HfXKUPdtLEcR5EAe7UROrH56fPnr9_2bDLH8-PSy_7n_A3iZv1v4SRco9t88XwRJujrrqqwSCdXpfcGLlG-3WTLUbJtRWqQyz0nyvi9b0TPRMbntyyJr2yxRNWe8YPdpnt6znGcbqqqibHNR8opamaWQMxqF0hutX8eNdcdEeT9Tnebl9r5ItGhJ--Vq4ryPvkDW9M7GRHXAebywXB1779r56CFnWvng39GCCnq52i7NxQP-aeg0kYwnZj0nGNRI2AulZ0f4ayCDjrzVr_F-E-ioJ0dGEgaLAq_WXHyNZw9hy74xCrYsmZ2uhxCmJUT8APxwVGGY2420I_BDpLm-7iZn_yYZgB8WBTzwwyrCa83_CQAA___YL7SB">