title: Use `self` as a default parameter on static/class methods
body: <p>Is there a way to set self as a default parameter on static methods? For example</p>
  
  <pre><code>enum Foo {
      static func processSomething(forOwner owner: Any = self) -&gt; Bar {
          ...
      }
  
      // or 
      static func processSomething(forOwner owner: Any = Caller.self) -&gt; Bar {
          ...
      }
  }
  </code></pre>
  
  <p>I found this <a href="https://stackoverflow.com/q/30798773/5928180">SO post</a> but the question is about instance methods and I thought it might be possible for static/class methods because might be different.</p>
  
  <p>This is so I can shorten codes like this for example</p>
  
  <pre><code>class Baz {
      var bar: Bar?
  
      func triggerSomething() {
          // automatically infer self instead of me explicitly placing it here
          // so the code will be this
          self.bar = Foo.processSomething()
  
          // instead of this
          self.bar = Foo.processSomething(forOwner: self)
      }
  }
  </code></pre>
  
  <p><strong>Edit</strong>: I'm actually just asking out of curiosity. I don't have a use case for this, and probably wouldn't use it in a real world scenario.</p>