[#118346] [Ruby master Bug#20586] Some filesystem calls in dir.c are missing error handling and can return incorrect results if interrupted — "ivoanjo (Ivo Anjo) via ruby-core" <ruby-core@...>
Issue #20586 has been reported by ivoanjo (Ivo Anjo).
13 messages
2024/06/19
[ruby-core:118385] [Ruby master Bug#20593] `Kernel#format` emits a `too many arguments for format string` warning when called with keyword arguments and none are used
From:
"byroot (Jean Boussier) via ruby-core" <ruby-core@...>
Date:
2024-06-24 14:14:58 UTC
List:
ruby-core #118385
Issue #20593 has been updated by byroot (Jean Boussier).
Proposed patch: https://github.com/ruby/ruby/pull/11053
----------------------------------------
Bug #20593: `Kernel#format` emits a `too many arguments for format string` warning when called with keyword arguments and none are used
https://bugs.ruby-lang.org/issues/20593#change-108896
* Author: byroot (Jean Boussier)
* Status: Open
* Backport: 3.1: UNKNOWN, 3.2: UNKNOWN, 3.3: UNKNOWN
----------------------------------------
`Kernel#format` emits a warning when too many arguments are passed.
It does so for postional arguments, which make sense, as it could be indicative of a bug:
```ruby
$VERBOSE = true
format("%s", 1, 2) # warning: too many arguments for format string
```
And doesn't for keyword arguments, as it's much less likely to be a bug:
```ruby
$VERBOSE = true
format("%{a}s", a: 1, unused: 2) # no warning
```
However it does emit a warning when passing keyword arguments, if none are used:
```ruby
$VERBOSE = true
format("test", unused: 2) # warning: too many arguments for format string
```
Which I believe is a bug, as it's common for `format` to take a user provided string to allow for safe interpolation, but with no intention to enforce any of the arguments to be interpolated.
So I think that last case shouldn't emit a warning.
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/lists/ruby-core.ml.ruby-lang.org/