title: Cannot infer type argument(s) error
body: <p>For this piece of code:</p>
  
  <pre><code>interface IB&lt;T&gt; {
  }
  
  interface IC&lt;T extends IB&lt;U&gt;, U&gt; {
      void onMessage(T obj);
  }
  
  class MyClass {
      &lt;T extends IB&lt;U&gt;, U&gt; void setValue(IC&lt;T, U&gt; event) {
      }
  }
  
  class Foo {
      public static void main(String args[]) {
          MyClass tmp = new MyClass();
          tmp.setValue((event) -&gt; {}); // error here
      }
  }
  </code></pre>
  
  <p>I'm getting this error when using Eclipse Neon 4.6.1:</p>
  
  <pre><code>Cannot infer type argument(s) for &lt;T, U&gt; setValue(IC&lt;T,U&gt;)
  </code></pre>
  
  <p>but the same piece of code compiles fine using Eclipse 4.6.0 and Intellij IDEA 2016.2. When I hover over <code>event</code>, these IDEs show the type to be <code>IB&lt;Object&gt;</code>.</p>
  
  <p>So is there anything wrong with this piece of code, or is this an Eclipse 4.6.1 bug? If it's not wrong, what should be the correctly inferred <code>T</code> and <code>U</code> types?</p>