Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:97656 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 62603 invoked from network); 10 Jan 2017 08:33:58 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 10 Jan 2017 08:33:58 -0000 Authentication-Results: pb1.pair.com smtp.mail=me@kelunik.com; spf=permerror; sender-id=unknown Authentication-Results: pb1.pair.com header.from=me@kelunik.com; sender-id=unknown Received-SPF: error (pb1.pair.com: domain kelunik.com from 81.169.146.220 cause and error) X-PHP-List-Original-Sender: me@kelunik.com X-Host-Fingerprint: 81.169.146.220 mo4-p00-ob.smtp.rzone.de Received: from [81.169.146.220] ([81.169.146.220:24014] helo=mo4-p00-ob.smtp.rzone.de) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id DC/31-55699-47C94785 for ; Tue, 10 Jan 2017 03:33:56 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; t=1484037233; l=4605; s=domk; d=kelunik.com; h=Content-Type:To:Subject:Date:From:In-Reply-To:References: MIME-Version; bh=zHVVqm+oK2Dz3Xii2xZ/Rz21OdursGzRMxMOxJMA2ic=; b=QA0lcx2lHspV2AL5O9Z3SWsSA7/VBihOQ1co1VGy4jsZ6Ryg8j6qRJpU6HqbQDno6k G+xnIvZ715jDkpKr2xw40OjAIz+tXxgOv7xKfFw5Rad9cu7TpDVwgKhVTPPtjJDL9uf2 Ra54E78bN4w0LuyQXmEuf05aS1NEb5WlD6Xio= X-RZG-AUTH: :IWkkfkWkbvHsXQGmRYmUo9mls2vWuiu+7SLDup6E67mzuoBPBqD/t8w= X-RZG-CLASS-ID: mo00 Received: from mail-qk0-f177.google.com ([209.85.220.177]) by smtp.strato.de (RZmta 39.11 AUTH) with ESMTPSA id 506da4t0A8XrRKo (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (curve secp384r1 with 384 ECDH bits, eq. 7680 bits RSA)) (Client did not present a certificate) for ; Tue, 10 Jan 2017 09:33:53 +0100 (CET) Received: by mail-qk0-f177.google.com with SMTP id u25so551213345qki.2 for ; Tue, 10 Jan 2017 00:33:52 -0800 (PST) X-Gm-Message-State: AIkVDXKCYWYaMFS7BzpLPplvCk1DXrcbsCK666jcsyhpe2rdwRX8VQh8qCJBpMKBa79Pzb89Na5mJy8Rlf2+Ag== X-Received: by 10.233.237.136 with SMTP id c130mr1881556qkg.160.1484037232384; Tue, 10 Jan 2017 00:33:52 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: Date: Tue, 10 Jan 2017 08:33:42 +0000 X-Gmail-Original-Message-ID: Message-ID: To: PHP Internals Content-Type: multipart/alternative; boundary=94eb2c09830e11e18d0545b9585e Subject: [RFC][VOTE] Parameter Type Widening From: me@kelunik.com (Niklas Keller) --94eb2c09830e11e18d0545b9585e Content-Type: text/plain; charset=UTF-8 Resenting due to mailing list failure yesterday. ---- Morning Internals, I just opened the vote on "Parameter Type Widening", initially named "Parameter No Type Variance". RFC: http://wiki.php.net/rfc/parameter-no-type-variance Voting will keep open for three weeks and close on 30th of January, probably in the evening of UTC. You can find an excerpt of the RFC below. ---- PHP currently doesn't allow any variance of parameter types when checking whether a method implemented in a class is compatible with the method defined either in the parent class or interface. This RFC proposes to allow omitting a type entirely in a subclass, as dropping all parameter constraints is always valid according to the contravariance rule. Implementing this RFC would allow libraries to be upgraded to use type declarations in their method signatures. Currently adding types to a method of a class in a library would break any code that extends that class. This would provide an easier upgrade path for libraries to start using scalar types, to replace manual checks being done inside the methods, without requiring an update for all sub-classes. ---- Kind Regards and Happy Voting, Niklas Keller --94eb2c09830e11e18d0545b9585e--