"Bj�rn Persson" a �crit dans le message de news:7bm1c.51092$mU6.207520@newsb.telia.net... >Jean-Pierre Rosen wrote: >> Since there is no discriminant constraint, the variable is not constrained to always have the same value of the discriminant. >> However, a discriminant is used by the compiler to make address computations. It would be extremely dangerous to have an >> uninitialized discriminant. Therefore, a declaration that does not specify discriminants is allowed only if there are default values >> for the discriminants. > >That's perfectly reasonable, but now consider this declaration: > > V : Parameter_Definition := (Str, > To_Bounded_String("A"), > To_Unbounded_String("x"); > >Here the discriminant is initialized, so with your reasoning it >shouldn't matter whether there was a default value or not. No, the important issue is how you declare the variable, initial values are irrelevant. If you declare a variable with a discriminant constraint, it is constrained. If you declare a variable without a discriminant constraint, it is unconstrained. The only thing that could be allowed would be to declare unconstrained variables for types without default values for discriminants only if they are explicitely initialized. I guess it was thought simpler to just require default values. -- --------------------------------------------------------- J-P. Rosen (rosen@adalog.fr) Visit Adalog's web site at http://www.adalog.fr