> On 28 Jun 2020, at 19:33, Nikita Popov email@example.com> wrote:
> On Sat, Jun 27, 2020 at 3:53 PM Stephen Reay <firstname.lastname@example.org <mailto:email@example.com>>
>> Itâs always struck me as slightly odd that traits donât support constants
>> the way classes and interfaces do.
>> I tried to find an explanation of the lack of support in the original RFC,
>> and came up empty.
>> A consequent discussion in R11 has led me here.
>> Can anyone working on internals explain why traits donât allow constants
>> (either technically or philosophically)?
>> Moreover, whatâs the opinion(s) of the list, on adding support for this?
>> Would an RFC be needed?
> Sounds like a reasonable addition. An RFC will be needed to specify the
> details, which tend to be tricky whenever traits are involved. Some
> * Constants mustn't be accessible directly on the trait, i.e.
> TraitName::FOOBAR throws. self::FOOBAR within the trait is legal in that
> "self" is remapped to the using class, as usual.
> * The same constants important from multiple traits should follow the
> rules of properties, i.e. require that values match. Conflict resolution
> for constants should very much *not* be supported.