Was wird aus x <?. y #278
Labels
No Label
Codegen
confirmed
duplicate
Eclipse-Plugin
Feature Request
generics
in progress
invalid
JavaCompilerCore
needs info
Parser
Trash
Type
Unify
won't fix
works for me
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: JavaTX/JavaCompilerCore#278
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
class Pair<T, U> {
T x;
U y;
}
public class PairArg {
CW id(CW x) {
return x;
}
}
In dem Beuspiel wird jeweils m1(Pair<HLG, LTB> x, DA y) bzw.
m2(Pair<HLG, LTB> x, ET y) inferiert. Vermutlich kommt dies durch die Ungleichung X <?. Y. Welche Lösunegn gibt es?
X =. ? extends a, Y =. ? extends b, und a <. b
X =. ? super a, Y =. ? super b, und b <. a
Kurze Anmerkung, hat nicht unbedingt was mit dem Bug zu tun.
Der Methodentyp:
<LTB, HLG, ET> Pair<HLG, ET> m2(Pair<? extends HLG, LTB> x, ET y)
könnte doch auch vereinfacht werden zu:
<LTB, HLG, ET> Pair<HLG, ET> m2(Pair<HLG, LTB> x, ET y)
Der Generic HLG kommt ja nur einmal vor und ist frei wählbar.
Daher ist doch der Type Pair<HLG, LTB> nicht weniger einschränkend als Pair<? extends HLG, LTB>