diamonds: ensure new expression with diamond is treated as poly expression; ensure that site substitutions for constructor refs are ignored as they always contain raw substitutions

This commit is contained in:
Anna Kozlova
2015-09-30 17:19:03 +02:00
parent bae5c15335
commit e5979eaa35
5 changed files with 56 additions and 10 deletions

View File

@@ -0,0 +1,21 @@
import java.util.ArrayList;
import java.util.Collection;
import java.util.function.Consumer;
import java.util.function.Function;
class Test {
<TValue> void iterateColumn (CollectionSerializer<TValue> valueSerializer, Consumer<TValue> consumer) {}
private void put(Collection<String> tags){}
void f() {
iterateColumn(new CollectionSerializer<>(ArrayList::new), this::put);
// iterateColumn(CollectionSerializer.create(ArrayList::new), this::put);
}
}
class CollectionSerializer<TCollection>{
public CollectionSerializer(final Function<Integer, TCollection> factory) {}
static <K> CollectionSerializer<K> create(Function<Integer, K> f) { return new CollectionSerializer<>(f);}
}