# File lib/rake.rb, line 1781
1781:     def enhance_with_matching_rule(task_name, level=0)
1782:       fail Rake::RuleRecursionOverflowError,
1783:         "Rule Recursion Too Deep" if level >= 16
1784:       @rules.each do |pattern, extensions, block|
1785:         if md = pattern.match(task_name)
1786:           task = attempt_rule(task_name, extensions, block, level)
1787:           return task if task
1788:         end
1789:       end
1790:       nil
1791:     rescue Rake::RuleRecursionOverflowError => ex
1792:       ex.add_target(task_name)
1793:       fail ex
1794:     end