From ebeb9e7e90c2e293e0fc3201da8ed1d903b3239d Mon Sep 17 00:00:00 2001 From: Carlo Cabrera <30379873+carlocab@users.noreply.github.com> Date: Thu, 8 Jul 2021 10:56:36 +0100 Subject: [PATCH] Define `O1` and `O0` methods separately --- Library/Homebrew/extend/ENV/super.rb | 24 +++++++++++++++++------- 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/Library/Homebrew/extend/ENV/super.rb b/Library/Homebrew/extend/ENV/super.rb index 7b91b1657d..cf54fec0ce 100644 --- a/Library/Homebrew/extend/ENV/super.rb +++ b/Library/Homebrew/extend/ENV/super.rb @@ -337,15 +337,25 @@ module Superenv append_to_cccfg "O" end - %w[O1 O0].each do |opt| - define_method opt do |&block| - if T.must(block) - with_env(HOMEBREW_OPTIMIZATION_LEVEL: opt) { block.call } - else - send(:[]=, "HOMEBREW_OPTIMIZATION_LEVEL", opt) - end + # rubocop: disable Naming/MethodName + sig { params(block: T.nilable(T.proc.void)).void } + def O0(&block) + if block + with_env(HOMEBREW_OPTIMIZATION_LEVEL: "O0", &block) + else + self["HOMEBREW_OPTIMIZATION_LEVEL"] = "O0" end end + + sig { params(block: T.nilable(T.proc.void)).void } + def O1(&block) + if block + with_env(HOMEBREW_OPTIMIZATION_LEVEL: "O1", &block) + else + self["HOMEBREW_OPTIMIZATION_LEVEL"] = "O1" + end + end + # rubocop: enable Naming/MethodName end require "extend/os/extend/ENV/super"