import numpy as np
from numpy._typing import ArrayLike


class A:
    pass


x1: ArrayLike = (i for i in range(10))  # E: Incompatible types in assignment
x2: ArrayLike = A()  # E: Incompatible types in assignment
x3: ArrayLike = {1: "foo", 2: "bar"}  # E: Incompatible types in assignment

scalar = np.int64(1)
scalar.__array__(dtype=np.float64)  # E: No overload variant
array = np.array([1])
array.__array__(dtype=np.float64)  # E: No overload variant

array.setfield(np.eye(1), np.int32, (0, 1))  # E: No overload variant
