(see Gem::Resolver::Molinillo::ResolutionState#unused_unwind_options)
The logical inverse of ‘capture_last_end_same_indent`
When there is an invalid block with an ‘end` missing a keyword right after another `end`, it is unclear where which end is missing the keyword.
Take this example:
class Dog # 1 puts "woof" # 2 end # 3 end # 4
the problem line will be identified as:
> end # 4
This happens because lines 1, 2, and 3 are technically valid code and are expanded first, deemed valid, and hidden. We need to un-hide the matching keyword on line 1. Also work backwards and if there’s a mis-matched end, show it too
@return [UnwindDetails] Details of the nearest index to which we could unwind
@param [Array<Object>] binding_requirements array of requirements that combine to create a conflict @return [Array<UnwindDetails>] array of UnwindDetails
that have a chance
of resolving the passed requirements
Filter’s a state’s possibilities to remove any that would not fix the conflict we’ve just rewound from @param [UnwindDetails] unwind_details details of the conflict just
unwound from
@return [void]
@param [String] name @return [Object] the requirement that led to a version of a possibility
with the given name being activated.
@return [String] the name of the source of ‘locked’ dependencies, i.e.
those passed to {Resolver#resolve} directly as the `base`
@return [Integer] index of state requirement in reversed requirement tree
(the conflicting requirement itself will be at position 0)
Filter’s a state’s possibilities to remove any that would (eventually) create a requirement in the conflict we’ve just rewound from @param [UnwindDetails] unwind_details details of the conflict just unwound from @return [void]
Attempts to update the existing vertex’s ‘PossibilitySet` with a filtered version @return [void]
Ensures any raised {NoSuchDependencyError} has its {NoSuchDependencyError#required_by} set. @yield