eclipse-jdt / eclipse-jdt/eclipse.jdt.core

javac rejects code that is accepted by ECJ due to type-variable inference

Open
#5,034 9 comments 0 reactions 1 assignee Claimed by @stephan-herrmann View on GitHub
javac
Dominant language
Java
Stars
236
Forks
196
Avg merge
1d 10h
Merged PRs (30d)
49

Description

```java
class Generic {}

class Manager {

> void check(T generic) {
dispose(generic);
// workaround: cast to raw type
// dispose((Generic) generic);
}

static void dispose(Generic generic) {}
}
```

```
Temporary.java:8: error: method dispose in class Manager cannot be applied to given types;
dispose(generic);
^
required: Generic
found: T
reason: cannot infer type-variable(s) S
(argument mismatch; T cannot be converted to Generic)
where S,T are type-variables:
S extends Object declared in method dispose(Generic)
T extends Generic declared in method check(T)
1 error
```

Build id: I20260420-1800
Java 25

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.