From 024007f9e280c544475f3b74228aaf2b28ece43b Mon Sep 17 00:00:00 2001 From: "L. E. Segovia" <13498015+amyspark@users.noreply.github.com> Date: Sat, 12 Oct 2019 22:06:08 +0000 Subject: [PATCH] upgrade: address @MikeMcQuaid's comments --- Library/Homebrew/cmd/upgrade.rb | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/Library/Homebrew/cmd/upgrade.rb b/Library/Homebrew/cmd/upgrade.rb index 1797f872cb..781f425425 100644 --- a/Library/Homebrew/cmd/upgrade.rb +++ b/Library/Homebrew/cmd/upgrade.rb @@ -255,7 +255,7 @@ module Homebrew [formulae_to_upgrade, formulae_pinned] end - def broken_dependents(kegs, formulae, scanned = []) + def broken_dependents(kegs, formulae, scanned = Set.new) formulae_to_reinstall = Set.new formulae_pinned_and_outdated = Set.new @@ -264,10 +264,9 @@ module Homebrew descendants = Set.new dependents = kegs.select do |keg| - keg.runtime_dependencies - .any? { |d| d["full_name"] == formula.full_name } - end.reject do |keg| - scanned.include?(keg) + keg = keg.runtime_dependencies + .any? { |d| d["full_name"] == formula.full_name } + keg unless scanned.include?(keg) end next if dependents.empty? @@ -292,7 +291,7 @@ module Homebrew descendants << f end - scanned << dependents + scanned.merge dependents descendants_to_reinstall, descendants_pinned = broken_dependents(kegs, descendants, scanned)