• Error: container cannot be indexed with "Cursor"

    From Blady@21:1/5 to All on Fri Aug 8 22:22:07 2025
    Hello,

    Container type UX is declared as:
    type UX is tagged private with
    Constant_Indexing => Constant_Reference, Variable_Indexing =>
    Reference, Default_Iterator => Iterate,
    Iterator_Element => Character,
    Aggregate => (Empty => Empty, Add_Unnamed => Append, New_Indexed
    New_Vector, Assign_Indexed => Replace_Element);


    I declare:

    S3 : UX;
    ...
    80. for I in S3.Iterate loop
    82. if F then
    83. S3(I) := 'e';
    84. end if;
    85. C := S3 (I);
    87. end loop;

    GNAT 15 issues the errors:
    test.adb:83:10: error: container cannot be indexed with "Cursor" test.adb:85:14: error: container cannot be indexed with "Cursor"

    Prior GNAT versions didn't issued any errors.

    Is there a change in Ada standard? or GNAT?
    Why is cursor indexing not possible?

    Thanks for your answers, Pascal.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Blady@21:1/5 to All on Sat Aug 9 16:25:26 2025
    Le 08/08/2025 à 22:22, Blady a écrit :
    Hello,

    Container type UX is declared as:
       type UX is tagged private with
         Constant_Indexing => Constant_Reference, Variable_Indexing => Reference, Default_Iterator => Iterate,
         Iterator_Element  => Character,
         Aggregate => (Empty => Empty, Add_Unnamed => Append, New_Indexed
    New_Vector, Assign_Indexed => Replace_Element);


    I declare:

    S3 : UX;
    ...
    80.    for I in S3.Iterate loop
    82.       if F then
    83.          S3(I) := 'e';
    84.       end if;
    85.       C := S3 (I);
    87.    end loop;

    GNAT 15 issues the errors:
    test.adb:83:10: error: container cannot be indexed with "Cursor" test.adb:85:14: error: container cannot be indexed with "Cursor"

    Prior GNAT versions didn't issued any errors.

    Is there a change in Ada standard? or GNAT?
    Why is cursor indexing not possible?

    Same with of form:
    for CC of S2 loop
    error: container cannot be indexed with "Cursor"

    Compiler bug?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)