<div dir="ltr"><div>Hi Remi,</div><div><br></div><div dir="ltr">type of  `map.apply(null)` is capture of `? extends IOBug` and thus it has no access to private methods of IOBug. Do I miss something?</div><div dir="ltr"><br></div><div>Thanks,</div><div>Anna</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jan 21, 2021 at 9:34 AM Remi Forax <<a href="mailto:forax@univ-mlv.fr">forax@univ-mlv.fr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">The following code doesn't compile.<br>
No idea why ?<br>
<br>
public interface IOBug {<br>
 private IOBug foo() {<br>
  return this;<br>
 }<br>
<br>
 default IOBug flatMap(Function<? super Object, ? extends IOBug> map) {<br>
  return map.apply(null).foo();<br>
              ^------<br>
 }<br>
}<br>
<br>
It works if foo is declared as a default method instead of a private method.<br>
<br>
regards,<br>
Rémi<br>
</blockquote></div>