php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #62204 Final keyword not enforced for methods from traits
Submitted: 2012-06-01 07:53 UTC Modified: 2017-10-24 07:04 UTC
Votes:8
Avg. Score:4.0 ± 1.0
Reproduced:5 of 5 (100.0%)
Same Version:2 (40.0%)
Same OS:2 (40.0%)
From: gron@php.net Assigned:
Status: Open Package: Scripting Engine problem
PHP Version: 5.4Git-2012-06-01 (Git) OS:
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2012-06-01 07:53 UTC] gron@php.net
Description:
------------
Reported by Scott MacVicar on the mailing list (May 4th).
Added here to not forget about it.


> On 04 May 2012, at 20:30, Scott MacVicar wrote:
> 
> This caused a few bugs for us / confusion. The final keyword is accepted 
inside a trait but it the class also 
defines a method without the final keyword this takes precedence.
> 
> Two solutions:
> Enforce final when a trait defines - https://whisky.macvicar.net/patches/0001-
If-a-trait-declares-a-method-
as-final-enforce-that.patch
> 
> Prohibit final form being used in a trait - 
https://whisky.macvicar.net/patches/002-traits-Disable-use-of-
final-keyword.patch
> 
> I'm for the first solution here
> 
> - S



Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2012-06-03 17:21 UTC] felipe@php.net
-Status: Open +Status: Assigned -Package: *Compile Issues +Package: Scripting Engine problem -Assigned To: +Assigned To: gron
 [2013-03-19 12:30 UTC] wolters dot fl at gmail dot com
This bug still exists in PHP version 5.4.13. I've created a simple example at https://gist.github.com/FlorianWolters/5195674 to reproduce the behaviour described in the bug report.

IMHO the "final" keyword MUST be enforced when used in a trait.
 [2013-06-03 12:28 UTC] alasdair at softhome dot net
Still exists in PHP 5.4.4-14 on Debian Wheezy.
 [2017-10-24 07:04 UTC] kalle@php.net
-Status: Assigned +Status: Open -Assigned To: gron +Assigned To:
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 10:01:22 2019 UTC