Overview

The initial PR (#907) implemented the following ordering in AbstractNestablePropertyAccessor, supported by tests:

  • List
  • Map
  • Iterable

The version that was finally added in c20a2e4763448ebb244682e539238d742576f774 implements the following ordering:

  • List
  • Iterable (replacing Set)
  • Map

This causes any Map that implements Iterable to fail binding in Spring 6.1+, where they functioned previously.

It seems less likely that iterables will implement Map in a broken fashion, as opposed to the other way around.

Related Issues

  • 907

Comment From: sbrannen

Hi @fournm,

Congratulations on submitting your first GitHub issue ever! 👍

This causes any maps that implement Iterable to fail binding in Spring 6.1+, where they functioned previously. It seems less likely that iterables will implement map in a broken fashion than the other way around.

Do you have a concrete use case with a Map that implements Iterable that demonstrates this issue?

In any case, we'll fix this regression and backport it to 6.1.x.