Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:79228 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 2804 invoked from network); 27 Nov 2014 13:15:12 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 27 Nov 2014 13:15:12 -0000 Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.47 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.47 mail-wg0-f47.google.com Received: from [74.125.82.47] ([74.125.82.47:60219] helo=mail-wg0-f47.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id F2/C1-27910-ED327745 for ; Thu, 27 Nov 2014 08:15:11 -0500 Received: by mail-wg0-f47.google.com with SMTP id n12so6455274wgh.34 for ; Thu, 27 Nov 2014 05:15:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:subject:references :in-reply-to:content-type:content-transfer-encoding; bh=4dufykdjTCVRkilQSUREgU76j1uGMInkjIrkXriSRVo=; b=urHiz0InRA2CIsp5bPnr9Ubb6czvTSHUuzhzhI0rq+s5c0rOgMSPaahx0b5Pd36zeG cDDjF9YhqA7gmbrvZKVxYGtnA5KWQAPUCCzNPHLHKvzzirgAmftzPOgbH+Bp4PBiWz58 1HH+IuYLg4Nfd3bKLPZfO/NZbz/Ybj9vVe5QYOd2DRHZZS1pmox45JbsUKWGzLG8vC8o kx7s6z+g8h1E+YQTLCVxqJraECYo+J+IVjncWh1AJse6NOU1Z9m0ipx3URveHmHp5cDC yJKw/Q/zJg6yJkbbFqWRWeKE1acopGO+g/0BYtaQIxZzF6HhnIIm2TF1zNhPZit/pEHZ CbVg== X-Received: by 10.194.87.34 with SMTP id u2mr59118916wjz.42.1417094107323; Thu, 27 Nov 2014 05:15:07 -0800 (PST) Received: from [192.168.0.148] ([62.189.198.114]) by mx.google.com with ESMTPSA id wz5sm10672286wjc.29.2014.11.27.05.15.05 for (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 27 Nov 2014 05:15:06 -0800 (PST) Message-ID: <547723A8.8090008@gmail.com> Date: Thu, 27 Nov 2014 13:14:16 +0000 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0 MIME-Version: 1.0 To: internals@lists.php.net References: In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] [RFC] Abstract final classes From: rowan.collins@gmail.com (Rowan Collins) guilhermeblanco@gmail.com wrote on 27/11/2014 03:47: > I worked on an implementation of a somehow controversial concept that > exists in hack and C#: abstract final classes. > > https://wiki.php.net/rfc/abstract_final_class The explanation of what exactly has been implemented could perhaps be expanded: > Change language scanner to accept abstract final class constructor, and subsequently restricting to only static members. Does this mean that the following will be flagged as invalid? If so, what error message will be raised? abstract final class Foo { abstract public function doTheImpossible(); } This class is technically valid as an abstract class, but the addition of the "final" keyword makes the abstract method declaration completely meaningless, since it can never be implemented. Regards, -- Rowan Collins [IMSoP]