Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:99215 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 56732 invoked from network); 28 May 2017 15:49:42 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 28 May 2017 15:49:42 -0000 Authentication-Results: pb1.pair.com header.from=rowan.collins@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=rowan.collins@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.41 as permitted sender) X-PHP-List-Original-Sender: rowan.collins@gmail.com X-Host-Fingerprint: 74.125.82.41 mail-wm0-f41.google.com Received: from [74.125.82.41] ([74.125.82.41:38277] helo=mail-wm0-f41.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id E4/45-06590-591FA295 for ; Sun, 28 May 2017 11:49:42 -0400 Received: by mail-wm0-f41.google.com with SMTP id e127so30785916wmg.1 for ; Sun, 28 May 2017 08:49:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding; bh=KzlJM9Q6cyt55bMdoMAMzDXnsyH5DpA7x4KDnm9EDIE=; b=Gxd9TQe+UL+s4ZpKTIF2vsam3xmjqkQcf0EWC7JQIrW1GJwkgP0w11MvPXNV6N+yUo pI+ifoZSyMA91ZMPIdPGXWaBRv38bdNLTQQdelmoEtpbPcvudKmPPd1/nBLzGgJ8bPJM DQgwOHv5EuahoJ+VU7di4ASr8r8QqJHNp2/XMr4XGiD1/GyUxZ+oSYFrB2ALplqmt7rg zWBinMYj4LxmfELshk2RP5c32l4NFu4d1sc8EC5SY4EQjn1IYE0P80uAOCNsCp4NC97X 3wHNGNkEn1BzE4T9derN805jBPYF2d1UwyhehxDwxD7WWfhP4f9Q1T0pkkh/xcWnVh+E 1Eeg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding; bh=KzlJM9Q6cyt55bMdoMAMzDXnsyH5DpA7x4KDnm9EDIE=; b=pG/RFJUDcxbsdQtBkkgyi5UNvXbsaZ8kdNeOCsew6bTGEKiN2BDt7q7AA+z5Uncofd CXUFkUw+fYYv/0/BTycTSlkndVLUcwgx1R7g3O766gVTVW/HjosW40LmbUrnksp5PisY LZ0uOKWcd83wXx1wJEtRb7UQwTAV1pUzd376uh0zIJch0L3j0y/VmArRA/3/xVH2Ok6q hVOkUB87B/s0wP4qilpZtVLt2oMw9vWqkJHBEa5wR5YgzkUSBWgKe41nlMpEJvDQd4a3 ZSTyClgAKqjjFISvzcdqf/Wk4IUofXbg1NWfTALmwZpB1Y8ObmUExv2Ndl0qkZwL/jzw rWWA== X-Gm-Message-State: AODbwcDYtg9z9EvU03RNAM86Fcjzu3l9MpVs3g14kn6BgJEvG2nwxK1+ fZOQXwT+W5xYk6s2 X-Received: by 10.223.130.151 with SMTP id 23mr2987918wrc.16.1495986578201; Sun, 28 May 2017 08:49:38 -0700 (PDT) Received: from ?IPv6:2a00:23c4:4bd2:6e00:fda9:139a:5953:b2f4? ([2a00:23c4:4bd2:6e00:fda9:139a:5953:b2f4]) by smtp.googlemail.com with ESMTPSA id h73sm16531766wma.10.2017.05.28.08.49.36 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 May 2017 08:49:36 -0700 (PDT) To: internals@lists.php.net References: Message-ID: <8de6a2ef-9602-e489-f19c-001005626b87@gmail.com> Date: Sun, 28 May 2017 16:49:34 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [PHP-DEV] Parameter type widening RFC From: rowan.collins@gmail.com (Rowan Collins) On 28/05/2017 14:25, Rasmus Schultz wrote: > With an explicit mixed type-hint, you can still achieve what you want You are making a valid point in general, but you clearly haven't read or understood the explanations you've been given why an explicit mixed type-hint will NOT achieve what the authors of this RFC wanted. If an existing class implements a library's interface, or extends a library's base class, with no type hint, then the library currently has to break both backward and forward compatibility to add type hints: the user of the library will *have to* add the type hints to their implementation, and once they do so, they will *have to* require that minimum version of the library. If the user of the library has to add "mixed" to all their method signatures to use the now-type-hinted library, the library still has to declare a breaking change, so that feature would not help this use case, even if it would be better in others. Regards, -- Rowan Collins [IMSoP]