with Ada.Text_io; use Ada.Text_io;
with Ada.Integer_Text_io; use Ada.Integer_Text_io;
-- Illustrates: The same identifier can be used in two types
-- Illustrates: Any ambiguities must be resolved explicitly
procedure enum6 is
type Color is (Red, Blue, Green);
type Mood is (Happy, Blue, Green);
package Color_IO is new Enumeration_IO(Color);
package Mood_IO is new Enumeration_IO(Mood);
use Color_IO;
use Mood_IO;
c: Color;
begin
c := Blue; -- Not ambiguous
for i in Happy .. Blue loop -- Not Ambiguious
put(i);
end loop;
new_line;
-- for in Blue .. Green loop -- Ambiguious
for i in Color'(Blue) .. Green loop -- Not Ambiguious
put(i);
end loop;
end enum6;