<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,7 +1,9 @@
 module Dust
   class ArgumentDuster &lt; LocalVariableCounter
     def dust!
+      @silence_warnings = false
       super
+      return if @silence_warnings
       
       @lvars.each do |name, details|
         next if details[:calls] &gt; 0
@@ -10,5 +12,10 @@ module Dust
         warn Warnings::UnusedArgument.new(name)
       end
     end
+    
+    def process_zsuper(exp)
+      @silence_warnings = true
+      s(:zsuper)
+    end
   end
 end</diff>
      <filename>lib/dust/argument_duster.rb</filename>
    </modified>
    <modified>
      <diff>@@ -23,6 +23,18 @@ describe Dust::ArgumentDuster do
     duster.warnings.should == []
   end
   
+  it &quot;should not create warnings when calling super with no explicit arguments&quot; do
+    duster = Dust::ArgumentDuster.new(LocalVariableBadness, :super_with_implicit_args)
+    duster.dust!
+    duster.warnings.should == []
+  end
+  
+  it &quot;should create warnings when calling super with explicit arguments but without referencing the passed arguments&quot; do
+    duster = Dust::ArgumentDuster.new(LocalVariableBadness, :super_with_explicit_args)
+    duster.dust!
+    duster.warnings.should == [Dust::Warnings::UnusedArgument.new(:arg)]
+  end
+  
   it &quot;should not create warnings for args used with splats&quot; do
     duster = Dust::ArgumentDuster.new(LocalVariableBadness, :args_used_with_splats)
     duster.dust!</diff>
      <filename>spec/argument_duster_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -17,4 +17,4 @@ describe Dust::Duster do
     
     @duster.scan_for warnings, :with =&gt; branches
   end
-end
\ No newline at end of file
+end</diff>
      <filename>spec/duster_spec.rb</filename>
    </modified>
    <modified>
      <diff>@@ -93,6 +93,14 @@ module Fixtures
       respond(&amp;block)
     end
     
+    def super_with_implicit_args(arg)
+      super
+    end
+    
+    def super_with_explicit_args(arg)
+      super()
+    end
+    
     def rescue_to_variable
       begin
       rescue =&gt; e</diff>
      <filename>spec/fixtures/local_variable_badness.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>ef77b8a9a358e1f1f2fde57ca86172f101e55d90</id>
    </parent>
  </parents>
  <author>
    <name>Brian Donovan</name>
    <email>brian.donovan@gmail.com</email>
  </author>
  <url>http://github.com/kevinclark/dust/commit/069b939deb8761899ae6e68f0a95b8ff535a72ce</url>
  <id>069b939deb8761899ae6e68f0a95b8ff535a72ce</id>
  <committed-date>2009-03-16T12:09:20-07:00</committed-date>
  <authored-date>2009-03-16T12:04:22-07:00</authored-date>
  <message>Don't warn about unused arguments if they're passed implicitly via super.

Signed-off-by: Kevin Clark &lt;kevin.clark@gmail.com&gt;</message>
  <tree>d8ec1d6ff470890c54e69fbabaeee155fc622ff4</tree>
  <committer>
    <name>Kevin Clark</name>
    <email>kevin.clark@gmail.com</email>
  </committer>
</commit>
