Skip to content

Conversation

@Girgias
Copy link
Member

@Girgias Girgias commented May 22, 2025

Needed for #18260 so that different bound types for implicit and explicitly implemented interfaces are checked correctly due to how the implementation stores the types in the HashTable.

I don't see any particular reason as to why the inheritance of interfaces was delayed, thus moving it early doesn't seem like an issue to me.

@Girgias Girgias force-pushed the inherit-interfaces-early branch from cb173f5 to 91c5a7c Compare January 3, 2026 18:29
@Girgias Girgias requested review from arnaud-lb and iluuu1994 January 4, 2026 00:06
@Girgias Girgias marked this pull request as ready for review January 4, 2026 00:06
@Girgias Girgias requested a review from dstogov as a code owner January 4, 2026 00:06
Copy link
Member

@arnaud-lb arnaud-lb left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see anything blocking from moving zend_do_inherit_interfaces() at the beginning of do_interface_implementation(), but maybe wait for other reviews.

One potential BC would be that interface_gets_implemented is now called early, but this doesn't appear to be an issue in practice.

@Girgias
Copy link
Member Author

Girgias commented Jan 6, 2026

One potential BC would be that interface_gets_implemented is now called early, but this doesn't appear to be an issue in practice.

The only thing I could see happening is a different compile time error being emitted, but I didn't manage to find such a test case.

@Girgias Girgias requested a review from TimWolla January 11, 2026 21:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants