test/langtools/tools/javac/lambda/8019480/T8019480.java
author vromero
Mon, 02 Oct 2017 10:04:22 -0700
changeset 47298 2e947e1bd907
parent 47216 71c04702a3d5
permissions -rw-r--r--
8187978: javac can show overload error messages that include non-valid candidates Reviewed-by: mcimadamore Contributed-by: bsrbnd@gmail.com

/*
 * @test /nodynamiccopyright/
 * @bug 8019480
 * @summary Javac crashes when method is called on a type-variable receiver from lambda expression
 * @author  Maurizio Cimadamore
 * @compile/fail/ref=T8019480.out -XDrawDiagnostics T8019480.java
 */
import java.util.*;

class T8019480<U> {
    interface Predicate<T> {
       void m(T t);
    }

    interface Stream<T> {
       void forEach(Predicate<T> pt);
    }

    void test(U current, Stream<U> stream) {
        List<U> list3 = new ArrayList<>();
        stream.forEach(i -> list3.add(current.clone()));
    }
}