# Eclipse Compiler Bug



## Der Müde Joe (19. Apr 2010)

Hallo allerseits

Mein Ant-Script hat grad beim meinem Code rumgezickt. Ich vermute ein Bug im JDT.
Ich benutze die Version: 3.5.2.r352v20100108

der Code ist folgender:

```
public interface IFoo<T> {}

// class with some boundary
class FooImpl<X extends CharSequence> implements IFoo<X> {}

//class using implementing class with wildcard
class SomeClass<S extends FooImpl<?>> {}

class Exec {

	public <A extends FooImpl> void test() {
		new SomeClass<A>();
	}
}
```

Eclipse kompiliert ohne zu lästern. javac (sun 1.6.15) hingegen:

```
IFoo.java:12: type parameter A is not within its bound
		new SomeClass<A>();
		              ^
1 error
```

Hab auf der Eclipse seite leider keinen entsprechenden Bug-Report gefunden. Könntet ihr das evtl mal bei euch testen. Mit anderem Kompiler bzw Eclipse Version.

Danke fürs ausprobieren


----------



## SlaterB (19. Apr 2010)

https://bugs.eclipse.org/bugs/show_bug.cgi?id=159851

edit: scheint doch ein anderer Bug zu sein, die Beispiele dort laufen bei mir bzw. Eclipse meckert dann auch,
dein Problem besteht weiterhin


----------



## Der Müde Joe (19. Apr 2010)

Hmm..der ist schon gefixt im 3.5 Milestone 7. Bin beim 3.5.2 (also SR2). Und es geht hier um die Wildcards. Spich das <?> beim FooImpl bei SomeClass weg oder beim <A extends FooImp<?>> dran


----------



## SlaterB (19. Apr 2010)

stimmt, ich kann dann auch nur dein Problem bestätigen, JAva 1.6.0_16 kompiliert Fehler, in Eclipse keiner,

Eclipse-Version kann ich neuerdings irgendwie nirgendwo mehr lesen,
sollte schon 3.5 sein, aber nicht 2010 
Build id: 20090619-0625


----------



## Der Müde Joe (19. Apr 2010)

ok danke.

(Help - About Eclipse - das Icon wo Eclipse.org steht)


----------



## bygones (19. Apr 2010)

wir haben hier oefters das problem, dass Eclipse code durchgehen laesst, welchen der javac nicht schafft.

Haben das aber eher immer als javac bug gesehen und nicht als Eclipse bug


----------



## Marco13 (19. Apr 2010)

Ja, das Problem an sich ist bei mir auf der Arbeit auch schonmal aufgetreten ...da hängt noch so ein kleines gelbes Haftetikett an meinen Monitor, das genauer zu prüfen... Hatte nämlich auf die Schnelle damals kein KSKB hingekriegt... müßte mal schauen, ob das "strukturell das gleiche" war, aber es schaut so aus...

In diesem Zusammenhang möchte ich aber mal erwähnen, dass die Fehlermeldung genaugenommen total besch**** ist :autsch: : Er sollte doch bitte sagen, was die "bounds" sind, wo das Ding nicht drin ist :noe:

Dass es mit

```
public <A extends FooImpl<? extends CharSequence>> void test() {
        new SomeClass<A>();
    }
```
spielt für die Frage an sich aber wohl keine so große Rolle ...?!


----------



## SlaterB (19. Apr 2010)

public <A extends FooImpl<?>> void test() {
reicht


----------

