eclipse-jdt / eclipse-jdt/eclipse.jdt.core
Inference difference between `javac` and `ecj` involving 2 wild cards
- Dominant language
- Java
- Stars
- 237
- Forks
- 195
- Avg merge
- 1d 12h
- Merged PRs (30d)
- 47
Description
Eclipse reports "Cannot infer type argument(s) for map(Function)" here, while `javac` will compile this code. I think `javac` is correct here.
Changing the `BootableService` to accept `(TestServiceProvider` fixes the problem.
import java.util.Optional;
public class InferenceBug {
interface TestServiceProvider {
}
public void bla() {
Optional> result = Optional.empty();
result.map(provider -> new BootableService<>(provider)); // <-- eclipse error here
}
static class BootableService {
TestServiceProvider provider;
public BootableService(TestServiceProvider provider) {
}
}
}
Contributor guide
Assessment
This issue has not been assessed yet.