Call operator fails to bind across imports
### Description

The `callOperator` fails to bind when the usage and declaration are spread across two different files. For example:

```nim
##
## myLib.nim
##
type
    Functor* = ref object
        callback: proc(): string

{.experimental: "callOperator".}
proc `()`*(comp: Functor): string = comp.callback()
```

and

```nim
##
## entry.nim
##
import myLib

type
    Bundle = object
        exec: Functor

proc someProc*(control: Bundle) =
    echo control.exec()
```

However, the same code _does_ work when the import is removed:

```nim
type
    Functor* = ref object
        callback: proc(): string

{.experimental: "callOperator".}
proc `()`*(comp: Functor): string = comp.callback()

type
    Bundle = object
        exec: Functor

proc someProc*(control: Bundle) =
    echo control.exec()
```


### Nim Version

Nim Compiler Version 2.0.8 [Linux: amd64]
Compiled at 2024-07-03
Copyright (c) 2006-2023 by Andreas Rumpf

git hash: 5935c3bfa9fec6505394867b23510eb5cbab3dbf
active boot switches: -d:release

### Current Output

```text
/tmp/testing/entry.nim(8, 17) Error: attempting to call undeclared routine: 'exec'
```


### Expected Output

```text
Expect it to compile
```


### Possible Solution

_No response_

### Additional Information

_No response_