Ada: Fix iterator for Iterable aspect rejected without subtype indication.
The Ada compiler now correctly handles iterators for the Iterable aspect even when a subtype isn't explicitly specified.
The Ada compiler now correctly parses iterator specifications for the Iterable aspect when the In form lacks a subtype indication. This fixes a bug where the compiler overlooked the GNAT Iterable aspect in such cases. This allows for more flexible and correct use of iterators with the Iterable aspect.
In Details
The sem_aggr.adb file handles semantic analysis of aggregates. The Resolve_Array_Aggregate procedure is responsible for rewriting choice lists into N_Iterator_Specification nodes when a single choice has an iterator type. This commit extends this logic to also handle the case where the GNAT Iterable aspect is specified, which was previously overlooked.
For Context
In Ada, an iterator allows you to loop through the elements of a container. The Iterable aspect is a GNAT extension allowing you to define how a type can be iterated over. This commit fixes a bug in the Ada compiler where the compiler would fail to recognize an iterator specification when a subtype was not explicitly given. This change ensures that the compiler correctly handles iterators defined using the Iterable aspect, even without explicit subtype indications.