ser = pd.Series(range(5))
ser2 = ser.astype("uint64")
ii = pd.IntervalIndex.from_arrays(ser.values, ser2.values)
>>> ii.right.dtype
dtype('uint64')
We do some casting in _ensure_simple_new_inputs to check we have matching dtypes, but looks like we miss signed-vs-unsigned cases.
Comment From: Aniketsy
Hi @jbrockmendel, Would it make sense to add a check in _ensure_simple_new_inputs that raises a TypeError when the left and right arrays have mismatched signed and unsigned integer dtypes (e.g- int64 vs uint64)?
Comment From: jbrockmendel
i think so, yes.