You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Provide a detailed description of the proposed feature
ostruct will no longer be a default gem as of Ruby 3.5: ruby/ruby#10428
It's already discouraged for "performance, version compatibility, and potential security issues".
It'd be simple to create a small class that replicates the OpenStruct usage in Homebrew::Cmd::Uses (I can do this real quick). Removing it from Homebrew::CLI::Args will be a bit more involved.
It still leaves the major concerns intact though (e.g. performance & security), the code remains difficult to follow, etc. Opening this so we have a bit of time to think of something better (but feel free to self-assign if you have strong opinions).
I see your point. The goal here is not just to remove the OpenStruct dependency but also refactor the surrounding code so that it doesn't rely on OpenStruct-like anti-patterns.
The goal here is not just to remove the OpenStruct dependency but also refactor the surrounding code so that it doesn't rely on OpenStruct-like anti-patterns.
Exactly. OpenStruct is also pretty Sorbet-unfriendly.
Verification
brew install wget
. If they do, open an issue at https://github.com/Homebrew/homebrew-core/issues/new/choose instead.Provide a detailed description of the proposed feature
ostruct
will no longer be a default gem as of Ruby 3.5: ruby/ruby#10428It's already discouraged for "performance, version compatibility, and potential security issues".
We have two instances to clean up:
Library/Homebrew/cli/args.rb
Library/Homebrew/cmd/uses.rb
What is the motivation for the feature?
☝️
How will the feature be relevant to at least 90% of Homebrew users?
resolution of the performance, version compatibility, and potential security issues described above.
What alternatives to the feature have been considered?
None
The text was updated successfully, but these errors were encountered: