DEPR: Series.__setitem__ with Float64Index falling back to positional
- [x] closes #33469
- [x] tests added / passed
- [x] Ensure all linting tests pass, see [here](https://pandas.pydata.org/pandas-docs/dev/development/contributing.html#code-standards) for how to run them
- [x] whatsnew entry

@jorisvandenbossche ok here? Looks good to me.

Can you add an explicit test (eg with the example series from the issue) that checks the warning is raised if the key (as float) is not present and does not raise a warning when it is present (that case that already works correctly label-based right now)?

There are no other index types that can end up in this case and trigger the warning?
 > Can you add an explicit test (eg with the example series from the issue) that checks the warning is raised if the key (as float) is not present and does not raise a warning when it is present (that case that already works correctly label-based right now)?

Good idea, will do.

> There are no other index types that can end up in this case and trigger the warning?

Brainstorming I came up with 2 more cases; will update the whatsnew

```
msg = "Treating integers as positional in Series.__setitem__"

ii = IntervalIndex.from_breaks(range(10))[::2]
ser2 = Series(range(len(ii)), index=ii)
expected2 = ser2.copy()
expected2.iloc[-1] = 9

with tm.assert_produces_warning(FutureWarning, match=msg):
    ser2[4] = 9
tm.assert_series_equal(ser2, expected2)

mi = MultiIndex.from_product([[1.1, 2.1, 3.0, 4.1], ["A", "B"]])
ser3 = Series(range(len(mi)), index=mi)
expected3 = ser3.copy()
expected3.iloc[4] = 99

with tm.assert_produces_warning(FutureWarning, match=msg):
    ser3[4] = 99
tm.assert_series_equal(ser3, expected3)
``` i need to re-look can you rebase