# File lib/rake.rb, line 1803
1803:     def enhance_with_matching_rule(task_name, level=0)
1804:       fail Rake::RuleRecursionOverflowError,
1805:         "Rule Recursion Too Deep" if level >= 16
1806:       @rules.each do |pattern, extensions, block|
1807:         if md = pattern.match(task_name)
1808:           task = attempt_rule(task_name, extensions, block, level)
1809:           return task if task
1810:         end
1811:       end
1812:       nil
1813:     rescue Rake::RuleRecursionOverflowError => ex
1814:       ex.add_target(task_name)
1815:       fail ex
1816:     end