// Test case for Issue 1419.
// https://github.com/typetools/checker-framework/issues/1419

abstract class Issue1419 {
  class Map<A> {}

  class EnumMap<C extends Enum<C>> extends Map<C> {}

  abstract <E extends Enum<E>> Map<E> foo(Map<E> map);

  @SuppressWarnings({"unchecked", "all"}) // Just check for crashes.
  <G> Map<G> bar(Map<? extends G> map) {
    return foo((EnumMap) map);
  }
}
