Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:95452 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 16950 invoked from network); 26 Aug 2016 09:15:27 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 26 Aug 2016 09:15:27 -0000 Authentication-Results: pb1.pair.com header.from=julienpauli@gmail.com; sender-id=pass Authentication-Results: pb1.pair.com smtp.mail=julienpauli@gmail.com; spf=pass; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 74.125.82.52 as permitted sender) X-PHP-List-Original-Sender: julienpauli@gmail.com X-Host-Fingerprint: 74.125.82.52 mail-wm0-f52.google.com Received: from [74.125.82.52] ([74.125.82.52:38005] helo=mail-wm0-f52.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 46/A8-34481-CA800C75 for ; Fri, 26 Aug 2016 05:15:25 -0400 Received: by mail-wm0-f52.google.com with SMTP id o80so109460635wme.1 for ; Fri, 26 Aug 2016 02:15:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc:content-transfer-encoding; bh=8Qfa0b3SGZfkc3CpTHpEE1tPw28hb5iI2NsLl98w5cs=; b=SUIsQdbtrvXgJ3WaqSQlhopnVLXU9gu1TFkQ2Whf//Mjk0wqpHISwQCmQ7wiM84dnZ hSFuQptZ4Gf0Tub6bIVuOic/kJKXCar/c5/w/7NjkhRTKQIdcHJGt2P569BrwwbncOm2 BOg1XBRRfPW0GjRBOJ/X84BOGe/Que1j3/7GDfVyCM5c2+XU4maiJWwJ9PSXbf29EiIQ KKmnezRgWjiG353SXtvX0886MnbY3OmYaMb3+SDvrrz57HNG87OmPAAVdV9S4QMkV3Sg zkdPMdXORIoipzls30+K9CH80lrP5JLvqMAEM2bRhsSD+0CcQpVAXFeELI3LA6wiZT3x khCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc:content-transfer-encoding; bh=8Qfa0b3SGZfkc3CpTHpEE1tPw28hb5iI2NsLl98w5cs=; b=F52kChUK0KGaOoOmDUPCciWzB9cJqcABMZ1snyyNhIJLQP3Kfkku+kEpc3Tlj91RoD eWgJ0cdFrMAbuuVeG0m7OJgpiENZRE/KnsAHQyOQkNwcu5cvOlE1vAPZyPz8o2LeUiOd E/HDq2oxyYL2c/Ex24HBL5VlWmKyWpCgvzKEVw5AoA/1xc/JP5kq4X1YJcFVer8+19XM odw8FVijF9dsHMVq7Nk8qfVaWeoyw4osmPz8cHv5l1QbYSQOokzYIJi3VIneCDXVFrCB fadcYkxHMHJ5obe6ZikxX3EuegGnfReJ9y+e69Co3H/5mVLV8KlbgTnjlFZ8uUNMTVff KOWw== X-Gm-Message-State: AE9vXwOrvR68zBAPL3ngV5So7mW+iaWcShk5qkDEpxfUC8xupjJpX4oJOc2PpnhJsf4fYNmQ1Pdj8Bx1ZOtUSw== X-Received: by 10.28.113.135 with SMTP id d7mr2554530wmi.43.1472202921814; Fri, 26 Aug 2016 02:15:21 -0700 (PDT) MIME-Version: 1.0 Sender: julienpauli@gmail.com Received: by 10.194.45.4 with HTTP; Fri, 26 Aug 2016 02:14:41 -0700 (PDT) In-Reply-To: References: Date: Fri, 26 Aug 2016 11:14:41 +0200 X-Google-Sender-Auth: UY01hVDD2GLEQqotg_yiDOd1-KM Message-ID: To: Levi Morrison Cc: Ferenc Kovacs , "Christoph M. Becker" , Alexander Lisachenko , Rowan Collins , "internals@lists.php.net" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] BC break: ReflectionMethod::invoke() expects parameter1 to be object, string given From: jpauli@php.net (Julien Pauli) On Thu, Aug 25, 2016 at 9:48 PM, Levi Morrison wrote: > On Tue, Aug 23, 2016 at 9:03 AM, Ferenc Kovacs wrote: >> On Mon, Aug 22, 2016 at 6:30 PM, Christoph M. Becker >> wrote: >> >>> On 22.08.2016 at 18:00, Julien Pauli wrote: >>> >>> > I agree this is a BC break and should not stay as-is in source code. >>> >>> I wonder why we have more than 100 lines of "Backward incompatible >>> changes" in the PHP 7.1.0beta3 changelog[1], if BC breaks shouldn't be >>> introduced in a minor release. >>> >> >> That's a bit loaded question, and leads to a broken windows situation, b= ut >> from my understanding some people read >> https://wiki.php.net/rfc/releaseprocess differently: consider some BC >> breaks simply bug fixes, or think that we shouldn't stick to absolutes b= ut >> consider BC breaks on a case-by-case basis. >> personally I think tha >> >> >>> >>> > It makes some testsuites fail, that did not fail before ; thus it bre= aks >>> things. >>> >>> An estimated 10% (at least) of my *bugfixes* in GD broke at least one >>> PHPT, because the test was broken in the first place. >>> >> >> test failures can be false positive or depending explicitly undefined >> behaviors, but they can be a good indicator when looking for BC breaks. >> as we can see from the previous mails in this thread there are behavior >> changes where the previous behavior was different from what was document= ed >> so a bit of a grey area. >> >> personally I think that we are in general too lenient with allowing BC >> breaks in 7.1 (even though that I somehow expected this and was arguing = for >> a longer release cycle for 7.0 or at least having a clear roadmap for th= e >> next major version) and we should be more strict about it otherwise we w= ill >> lose the trust we gained from the userland in the last couple of years w= ith >> our release process and versioning. >> >> >> >> -- >> Ferenc Kov=C3=A1cs >> @Tyr43l - http://tyrael.hu > > I agree. However in this particular instance emitting an E_DEPRECATED > like I proposed should be helpful. These people who are passing > strings are not getting any behavior out of it - its' completely > ignored. Additionally since its an E_DEPRECATED it's highly unlikely > to actually break something. What do you think? I'm OK to generate a E_DEPRECATED and continue ignoring the first parameter= . And then talk about ways to call parents in child context as ideas, debates, RFCs and patches. I myself can work on patches, but as usual, not on ideas as I can't get the point for such use cases. Julien