Support for the Ruby 2.2 series has ended. See here for reference.
LinkedList
InvocationChain tracks the chain of task invocations to detect circular dependencies.
Append an invocation to the chain of invocations. It is an error if the invocation already listed.
# File rake/invocation_chain.rb, line 14 def append(invocation) if member?(invocation) fail RuntimeError, "Circular dependency detected: #{to_s} => #{invocation}" end conj(invocation) end