Re: [RFC] [Discussion] Literal Scalar Types
| From: | Seifeddine Gmati | Date: | Wed, 29 Jul 2026 23:59:00 +0000 |
| Subject: | Re: [RFC] [Discussion] Literal Scalar Types | ||
| References: | 1 2 3 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-132128@lists.php.net to get a copy of this message | ||
On Thu, 23 Jul 2026 at 06:47, Seifeddine Gmati <azjezz@carthage.software> wrote:
>
> On Thu, 23 Jul 2026 at 06:13, Seifeddine Gmati <azjezz@carthage.software> wrote:
>>
>> Subject: Re: [RFC] Literal Scalar Types
>> On Mon, 15 Jun 2026 at 02:22, Seifeddine Gmati <azjezz@carthage.software> wrote:
>>>
>>> Hello Internals,
>>>
>>> I'd like to start the discussion on a new RFC adding literal scalar
>>> types to PHP.
>>>
>>> - RFC: https://wiki.php.net/rfc/literal_scalar_types
>>> - Implementation:
>>> https://github.com/php/php-src/pull/22314
>>>
>>> Thanks,
>>> Seifeddine.
>>
>>
>> Hi internals,
>>
>> I have updated the Literal Scalar Types RFC to version 1.0, which I consider the final
>> revision: https://wiki.php.net/rfc/literal_scalar_types
>>
>> The changes are editorial, based on feedback in this thread. I merged the "Accepted
>> literal syntax" section into the per-type sections so each literal kind is described in one
>> place, added a paragraph to the introduction on where literal types fit next to enums, tightened the
>> reasoning in the matching semantics section, and added a short note on enum comparisons to the
>> Performance section. The proposal itself is unchanged: the syntax, the semantics and the three votes
>> are the same as in 0.3.
>>
>> Since this is a minor revision, I am opening voting shortly. A separate [VOTE] thread will
>> follow.
>>
>> Thanks to everyone who took part in the discussion.
>>
>> Seifeddine
>
>
> Hello internals,
>
> A procedural update, following my retraction in the [VOTE] thread.
>
> Earlier I opened voting on this RFC without meeting the prerequisites: no Intent to Vote had
> been posted two days in advance, and the 1.0 update I announced earlier is a Minor change, which
> starts a seven-day Cooldown Period. I retracted the vote. The widgets are closed, and the RFC is
> back to Under Discussion. The text is unchanged since the 1.0 announcement and I intend to keep it
> frozen until the vote.
>
> Please consider this message my formal Intent to Vote. The Cooldown Period ends on July 30, and
> I plan to reopen the vote that morning (UTC), running for the standard fourteen days within the
> Intent to Vote lifetime.
>
> One open question is the PHP 8.6 feature freeze. A vote opened on July 30 closes on August 13,
> the day of beta1, and the tag is created on August 11, so a merge would happen during the beta
> period and needs Release Manager approval. I am checking with the 8.6 RMs whether that is
> acceptable. If it is not, I will retarget the RFC to PHP 8.7 (or 9.0?) instead. Retargeting changes
> the voting widgets, so it would be announced here as a change, trigger its own Cooldown Period, and
> be followed by a fresh Intent to Vote, with no deadline pressure.
>
> Thanks for your patience.
>
> Seifeddine.
Hello internals,
An update on timing: this RFC will no longer target PHP 8.6.
I asked the 8.6 Release Manager about the feature freeze. The
effective cutoff is not the beta1 announcement on August 13 but the
creation of the beta1 tag, which happens on Tuesday, August 11,
mid-morning US Central time. A vote opened today would close on August
13, after the tag exists, so inclusion in 8.6 is not possible. I will
therefore not reopen the vote, and the Intent to Vote I posted on July
23 is withdrawn.
I have retargeted the RFC to the next PHP version, whether that is 8.7
or 9.0. RFC text is otherwise unchanged and remains final:
https://wiki.php.net/rfc/literal_scalar_types
Seifeddine