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.