# [RFC] [VOTE] Literal Scalar Types

- Thread: https://externals.io/message/132087
- Original archive: https://news-web.php.net/php.internals/132087
- Started by Seifeddine Gmati on 2026-07-23T05:26:44+00:00
- Messages: 5
- RFC: Literal Scalar Types (Under discussion) — https://externals.io/rfc/literal_scalar_types.md
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · RFCs at https://externals.io/rfc.md · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #132087 — Seifeddine Gmati — 2026-07-23T05:26:44+00:00

URL: https://externals.io/message/132087#132087

Hello internals,

Voting is now open on the Literal Scalar Types RFC, as announced in the
discussion thread earlier.

There are three votes on the RFC page, running concurrently:

1. Primary vote, requires a 2/3 majority: add integer and string literal
types.
2. Second vote, requires a 2/3 majority, independent of the first: add
floating point literal types. The RFC is accepted if at least one of the
two type votes passes; if both fail, it is rejected.
3. Third vote, simple majority, effective only if at least one type vote
passes: matching semantics, strict vs coercive. The RFC recommends strict
matching.

The vote started on 2026-07-23 and ends on 2026-08-06.

RFC: https://wiki.php.net/rfc/literal_scalar_types
Discussion thread: https://news-web.php.net/php.internals/131249

Seifeddine
Cheers.

---

## #132088 — Seifeddine Gmati — 2026-07-23T05:44:21+00:00

URL: https://externals.io/message/132087#132088 · In reply to: #132087

Hello internals,

I am retracting this vote: I opened it prematurely, in violation of the
voting prerequisites in the Feature Proposals policy. I did not post an
Intent to Vote message at least two days in advance, and today's 1.0 update
to the RFC text is a Minor change announcement, which starts a seven-day
Cooldown Period during which no vote may be called.

The voting widgets are closed, and the RFC is back to Under Discussion. The
RFC text itself is unchanged and I consider it final.

I will post a proper Intent to Vote in the discussion thread and reopen the
vote once the Cooldown Period has passed, on or after July 30. The reopened
widgets will be retitled per the policy so that no stale votes carry over.

On timing: a fourteen-day vote opened on July 30 closes right at the August
13 feature freeze for PHP 8.6, and the beta1 tag lands on August 11, so any
merge would happen during beta in any case. I will coordinate with the 8.6
Release Managers on whether inclusion in 8.6 is still possible under RM
approval. If it is not, I will retarget the RFC to PHP 8.7 and announce
that change before reopening the vote.

Apologies for the noise.

Seifeddine,
Cheers.

---

## #132103 — Juris Evertovskis — 2026-07-26T18:15:55+00:00

URL: https://externals.io/message/132087#132103 · In reply to: #132088

> Hello internals,
> 
> I am retracting this vote: I opened it prematurely, in violation of the 
> voting prerequisites in the Feature Proposals policy. I did not post an 
> Intent to Vote message at least two days in advance, and today's 1.0 
> update to the RFC text is a Minor change announcement, which starts a 
> seven-day Cooldown Period during which no vote may be called.

Hey all,

I'm a frequent reader/follower of this list as well as an occasional 
participant and a one-time RFC-attempter. As such I never felt like I'm 
"internal enough" to comment on the process. But since no one else seems 
to be bothered by it, I would like to bring this up after all...

The "new" process (https://wiki.php.net/rfc/rfc_discussion_and_vote) 
feels very discouraging to me. All the mandatory cooldowns, cooldown 
resets on minor changes, announcements to vote, cooldown resets on 
inactive discussions appears to me like bureaucratic hoops that people 
have to jump through. The process was hard and daunting enough before 
this.

I understand the extremes that the rules are preventing like someone 
suddenly launching a vote for an RFC that has been dormant for 20 
months. But in practice many of the mandatory cooldown resets, activity 
bumps and other formal messages appear like only serving the process. 
This case in particular feels very disappointing to me. The discussion 
was done, the RFC text got finalized and it was a great point in time to 
launch the vote on the finalized RFC. I see no benefit of this setback 
of another week.

BR,
Juris

---

## #132104 — Bob Weinand — 2026-07-26T18:58:36+00:00

URL: https://externals.io/message/132087#132104 · In reply to: #132103

Hey Juris,


>
> 
>
> > […]
>
> Hey all,
>
> I'm a frequent reader/follower of this list as well as an occasional 
> participant and a one-time RFC-attempter. As such I never felt like 
> I'm "internal enough" to comment on the process. But since no one else 
> seems to be bothered by it, I would like to bring this up after all...
>
> The "new" process (https://wiki.php.net/rfc/rfc_discussion_and_vote) 
> feels very discouraging to me. All the mandatory cooldowns, cooldown 
> resets on minor changes, announcements to vote, cooldown resets on 
> inactive discussions appears to me like bureaucratic hoops that people 
> have to jump through. The process was hard and daunting enough before 
> this.
>
> I understand the extremes that the rules are preventing like someone 
> suddenly launching a vote for an RFC that has been dormant for 20 
> months. But in practice many of the mandatory cooldown resets, 
> activity bumps and other formal messages appear like only serving the 
> process. This case in particular feels very disappointing to me. The 
> discussion was done, the RFC text got finalized and it was a great 
> point in time to launch the vote on the finalized RFC. I see no 
> benefit of this setback of another week.
>
> BR,
> Juris
>

I fully agree on this, and that's why I voted against that proposal back 
then.

On the other hand, we seem to have some contributors, who, sort of 
intentionally want to slow down this, to not have the list overloaded 
and have ample time to catch up with everything.


You sort of have to decide what you optimize for - easier for authors, 
or easier for commenters. But I think in this case it went way overboard 
in terms of strictness.


Bob

---

## #132127 — Seifeddine Gmati — 2026-07-29T23:53:52+00:00

URL: https://externals.io/message/132087#132127 · In reply to: #132087

>
> Hello internals,
>
> Voting is now open on the Literal Scalar Types RFC, as announced in the discussion thread earlier.
>
> There are three votes on the RFC page, running concurrently:
>
> 1. Primary vote, requires a 2/3 majority: add integer and string literal types.
> 2. Second vote, requires a 2/3 majority, independent of the first: add floating point literal types. The RFC is accepted if at least one of the two type votes passes; if both fail, it is rejected.
> 3. Third vote, simple majority, effective only if at least one type vote passes: matching semantics, strict vs coercive. The RFC recommends strict matching.
>
> The vote started on 2026-07-23 and ends on 2026-08-06.
>
> RFC: https://wiki.php.net/rfc/literal_scalar_types
> Discussion thread: https://news-web.php.net/php.internals/131249
>
> Seifeddine
> Cheers.

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
