# [RFC] Make the GMP class final

- Thread: https://externals.io/message/124005
- Original archive: https://news-web.php.net/php.internals/124005
- Started by Gina P. Banyard on 2024-06-28T23:53:23+00:00
- Messages: 12
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #124005 — Gina P. Banyard — 2024-06-28T23:53:23+00:00

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

Hello internals,

I would like to present an RFC to make the GMP class final:
https://wiki.php.net/rfc/gmp-final

This is short and to the point, and I intend to open voting for this after the mandatory discussion period of 2 weeks has happened, i.e. on the 13th of July 2024.

Best regards,

Gina P. Banyard

---

## #124007 — Ben Ramsey — 2024-06-29T01:05:02+00:00

URL: https://externals.io/message/124005#124007 · In reply to: #124005

> 
> 
> Hello internals,
> 
> I would like to present an RFC to make the GMP class final:
> https://wiki.php.net/rfc/gmp-final
> 
> This is short and to the point, and I intend to open voting for this after the mandatory discussion period of 2 weeks has happened, i.e. on the 13th of July 2024.
> 
> Best regards,
> 
> Gina P. Banyard


Is this RFC intended to compete with the “Operator Overrides -- Lite Edition” RFC, which explicitly allows extending \GMP?

https://wiki.php.net/rfc/operator_overrides_lite

(It also has a secondary vote to “disallow extending the \GMP class if this RFC fails.”

Cheers,
Ben

---

## #124008 — Saki Takamachi — 2024-06-29T01:07:23+00:00

URL: https://externals.io/message/124005#124008 · In reply to: #124005

Hi Gina,

> ﻿Hello internals,
> 
> I would like to present an RFC to make the GMP class final:
> https://wiki.php.net/rfc/gmp-final
> 
> This is short and to the point, and I intend to open voting for this after the mandatory discussion period of 2 weeks has happened, i.e. on the 13th of July 2024.
> 
> Best regards,
> 
> Gina P. Banyard

+1 from me. The RFC is very simple and to me doesn't require any further discussion.

Regards,

Saki

---

## #124012 — Rob Landers — 2024-06-29T08:11:33+00:00

URL: https://externals.io/message/124005#124012 · In reply to: #124007

> > […]
> 
> 
> Is this RFC intended to compete with the “Operator Overrides -- Lite Edition” RFC, which explicitly allows extending \GMP?
> 
> https://wiki.php.net/rfc/operator_overrides_lite
> 
> (It also has a secondary vote to “disallow extending the \GMP class if this RFC fails.”
> 
> Cheers,
> Ben
> 

Yes, this is interesting. In any case, I feel like it should be final as it is currently and doesn't affect my RFC. If this RFC passes, it only changes a bit of the language in my RFC and removes a secondary vote.

In any case, I haven't seen any emails of people flipping tables (like some proposals out there) to my RFC announcement, so I suspect it isn't a terrible idea and might actually have some merit; but I'm not going to get my hopes up. I rather suspect people are just ignoring it and will vote "decline" out-of-hand without thinking about it.

— Rob

---

## #124044 — Ben Ramsey — 2024-06-29T15:55:55+00:00

URL: https://externals.io/message/124005#124044 · In reply to: #124012

> 
> 
> 
> > […]
> 
> Yes, this is interesting. In any case, I feel like it should be final as it is currently and doesn't affect my RFC. If this RFC passes, it only changes a bit of the language in my RFC and removes a secondary vote.
> 
> In any case, I haven't seen any emails of people flipping tables (like some proposals out there) to my RFC announcement, so I suspect it isn't a terrible idea and might actually have some merit; but I'm not going to get my hopes up. I rather suspect people are just ignoring it and will vote "decline" out-of-hand without thinking about it.


If this RFC passes, it would invalidate the first voting choice in the Operator Overrides RFC, which is:

> Allow extending the \GMP class and use a form of operator overloading

If this RFC passes to make the \GMP class final, and your RFC passes to allow extending the \GMP class, then I think we’re in a sort of weird limbo state. That would mean that different groups of voters participated in voting for each RFC, resulting in competing desires within the community.

We should probably combine these RFCs to avoid confusion and a conflicting state like I’ve described here.

Cheers,
Ben

---

## #124049 — Barney Laurance — 2024-06-29T17:01:37+00:00

URL: https://externals.io/message/124005#124049 · In reply to: #124044

> If this RFC passes to make the \GMP class final, and your RFC passes to
> allow extending the \GMP class, then I think we’re in a sort of weird
> limbo state.

Presumably in that case whichever RFC passes last would have to take 
precedence. The community is allowed to change its mind.

---

## #124050 — Ben Ramsey — 2024-06-29T17:10:30+00:00

URL: https://externals.io/message/124005#124050 · In reply to: #124049

> 
> 
> 
> > […]
> Presumably in that case whichever RFC passes last would have to take precedence. The community is allowed to change its mind.


Sure, it’s allowed to change its mind, but if we bring this for a vote in two weeks, and then we vote a week later for the other (or even at the same time), I would see the results of those votes as conflicting viewpoints and not as the community changing its mind within the span of a few weeks.

Cheers,
Ben

---

## #124051 — Saki Takamachi — 2024-06-29T17:18:34+00:00

URL: https://externals.io/message/124005#124051 · In reply to: #124049

Hi,
> > […]
> Presumably in that case whichever RFC passes last would have to take precedence. The community is allowed to change its mind.
> 
I agree with Barney. If this RFC were to be passed before the other, it would necessarily override this one, since the other proposal assumes that classes can be inherited.

And the chances of that happening are probably close to zero at this point.

Regards,

Saki

---

## #124052 — Saki Takamachi — 2024-06-29T17:25:47+00:00

URL: https://externals.io/message/124005#124052 · In reply to: #124050

Hi,

> Sure, it’s allowed to change its mind, but if we bring this for a vote in two weeks, and then we vote a week later for the other (or even at the same time), I would see the results of those votes as conflicting viewpoints and not as the community changing its mind within the span of a few weeks.

I am pretty sure there is no chance that another RFC will start voting at the same time as this one (unless they ignore the discussion and start it forcefully).

And even if they were to force a vote, it would have almost no chance of passing.

Regards,

Saki

---

## #124053 — Ben Ramsey — 2024-06-29T17:31:17+00:00

URL: https://externals.io/message/124005#124053 · In reply to: #124052

> 
> 
> Hi,
> 
> > […]
> 
> I am pretty sure there is no chance that another RFC will start voting at the same time as this one (unless they ignore the discussion and start it forcefully).
> 
> And even if they were to force a vote, it would have almost no chance of passing.
> 
> Regards,
> 
> Saki


Fair enough. I agree that we probably won’t find ourselves in this hypothetical conflicting state.

Cheers,
Ben

---

## #124055 — Rob Landers — 2024-06-29T17:52:24+00:00

URL: https://externals.io/message/124005#124055 · In reply to: #124053

> > […]
> 
> 
> Fair enough. I agree that we probably won’t find ourselves in this hypothetical conflicting state.
> 
> Cheers,
> Ben
> 

I think it is extremely likely they'll be out for a vote at the exact same time. I literally just finished the implementation and example code. I'll probably be opening a PR in the morning (EU time) as well as updating the RFC with clearer examples, details for implementors, etc.

My RFC includes a vote that this RFC encompasses, so it seems like a pissing match just for the sake of pissing.

— Rob

---

## #124058 — Rob Landers — 2024-06-29T19:33:56+00:00

URL: https://externals.io/message/124005#124058 · In reply to: #124055

> 
> > […]
> 
> I think it is extremely likely they'll be out for a vote at the exact same time. I literally just finished the implementation and example code. I'll probably be opening a PR in the morning (EU time) as well as updating the RFC with clearer examples, details for implementors, etc.
> 
> My RFC includes a vote that this RFC encompasses, so it seems like a pissing match just for the sake of pissing.
> 
> — Rob

Actually, please keep this RFC. Apologies for my earlier remarks.

— Rob
