Invalid `=sink` generated for pure inheritable object
### Description

```nim
type QObject* {.inheritable, pure.} = object
  h*: pointer

proc `=destroy`(self: var QObject) =discard

proc `=copy`(dest: var QObject, source: QObject) {.error.}

type QAbstractItemModel* = object of QObject

type VTable = ref object
  inst:  QAbstractItemModel

proc g() =
  var x: VTable
  x.inst = QAbstractItemModel()

g()
```


### Nim Version

2.2.0

### Current Output

```text
@mtestit.nim.c: In function ‘eqsink___testit_u88’:
@mtestit.nim.c:133:23: error: ‘tyObject_QObject__hBDXDHcET8fo889bhjz7cfA’ has no member named ‘m_type’
  133 |         (*dest_p0).Sup.m_type = (*src_p1).Sup.m_type;
      |                       ^
@mtestit.nim.c:133:46: error: ‘tyObject_QObject__hBDXDHcET8fo889bhjz7cfA’ has no member named ‘m_type’
  133 |         (*dest_p0).Sup.m_type = (*src_p1).Sup.m_type;
```

### Expected Output

```text

```

### Known Workarounds

_No response_

### Additional Information

_No response_