title: super() fails with error: TypeError "argument 1 must be type, not classobj" when parent does not inherit from object
body: <p>I get some error that I can't figure out. Any clue what is wrong with my sample code?</p>
  
  <pre><code>class B:
      def meth(self, arg):
          print arg
  
  class C(B):
      def meth(self, arg):
          super(C, self).meth(arg)
  
  print C().meth(1)
  </code></pre>
  
  <p>I got the sample test code from help of 'super' built-in method. </p>
  
  <p>Here is the error:</p>
  
  <pre><code>Traceback (most recent call last):
    File "./test.py", line 10, in ?
      print C().meth(1)
    File "./test.py", line 8, in meth
      super(C, self).meth(arg)
  TypeError: super() argument 1 must be type, not classobj
  </code></pre>
  
  <p>FYI, here is the help(super) from python itself:</p>
  
  <pre><code>Help on class super in module __builtin__:
  
  class super(object)
   |  super(type) -&gt; unbound super object
   |  super(type, obj) -&gt; bound super object; requires isinstance(obj, type)
   |  super(type, type2) -&gt; bound super object; requires issubclass(type2, type)
   |  Typical use to call a cooperative superclass method:
   |  class C(B):
   |      def meth(self, arg):
   |          super(C, self).meth(arg)
   |
  </code></pre>