Javadoc (b116) lacks @FunctionalInterface on Observer signature

Paul Benedict pbenedict at
Fri Nov 22 10:39:11 PST 2013

The design intent is important to me. I want the compiler to enforce the
intent with @FunctionalInterface. Zhong, where you get compiler errors is
project specific. Not all consuming code is in the same project. The errors
may not show up until the client uses the upgraded jar.

But I am not sure this thread should be hijacked with that concern. I'd
like to keep the discussion on simply enhancing the javadocs to call out
the implicitness of some functional interfaces. I think the word "implicit"
should be used, with perhaps a warning that no intent exists it will remain
a functional interface.

On Fri, Nov 22, 2013 at 12:09 PM, Zhong Yu <zhong.j.yu at> wrote:

> The chance seems very small that one could accidentally add an
> abstract method to an interface (without being hit by lots of
> compilation errors else where).
> On Fri, Nov 22, 2013 at 11:52 AM, Brian Goetz <brian.goetz at>
> wrote:
> >> I still have no idea how the annotation is supposed to help us. Can
> >> anyone provide a concrete use case for @FunctionalInterface?
> >
> >
> > It captures design intent; the compiler assists you by enforcing that
> design
> > intent (erroring if the class has more than one abstract method.)  Like
> the
> > @Override annotation.


More information about the lambda-dev mailing list