# File lib/rake.rb, line 1667
1667:     def enhance_with_matching_rule(task_name, level=0)
1668:       fail Rake::RuleRecursionOverflowError,
1669:         "Rule Recursion Too Deep" if level >= 16
1670:       @rules.each do |pattern, extensions, block|
1671:         if md = pattern.match(task_name)
1672:           task = attempt_rule(task_name, extensions, block, level)
1673:           return task if task
1674:         end
1675:       end
1676:       nil
1677:     rescue Rake::RuleRecursionOverflowError => ex
1678:       ex.add_target(task_name)
1679:       fail ex
1680:     end