Yessir. I was talking about users' likely expectations for type coercion. There are cases in elisp where numeric type coercion is the default, e.g., (= 2.0 2) is t. I expected it to be so here, too.

If you feel this is moot, then so be it.

On Sun, Sep 8, 2024 at 2:07 AM Eli Zaretskii <eliz@gnu.org> wrote:
> From: Ship Mints <shipmints@gmail.com>
> Date: Sat, 7 Sep 2024 09:14:54 -0400
>
> This one bit me yesterday on Emacs 29.3 as I was revising my init file (for the thousandth time this week).
>
> As setopt becomes more widely recommended, people will likely encounter situations like the below where they
> expect constant numeric types to be coerced.
>
> (defcustom temp-float "Float"
>   "Float type."
>   :type 'float)
>
> (setopt temp-float 2.0) ; works
> (setopt temp-float 2) ; Warning (emacs): Value '2' does not match type float

If you are going to allow integer values, shouldn't :type be 'number,
not 'float?  The documentation of 'float says:

  ‘float’
       The value must be floating point.

"Must be floating point."  The value 2 isn't.