Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:114844 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 50713 invoked from network); 13 Jun 2021 18:40:51 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 13 Jun 2021 18:40:51 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 541341804C9 for ; Sun, 13 Jun 2021 11:56:55 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HTML_MESSAGE, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-Virus: No X-Envelope-From: Received: from mail-oi1-f170.google.com (mail-oi1-f170.google.com [209.85.167.170]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sun, 13 Jun 2021 11:56:54 -0700 (PDT) Received: by mail-oi1-f170.google.com with SMTP id s23so12072482oiw.9 for ; Sun, 13 Jun 2021 11:56:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=yvz6ZXr7fo+Hz++4NQK71i/QI7loM07uYA7h4Rp7Png=; b=byUv9dm9XLVEFgPDGs+r8zA7oR+sDTwf5HrhKMh/Z4/DAtZ1akbe5MbTPHql8EfafZ JVkcojsALOK/Y+DW+Ky7eEKtjTTabQJekEaniEG8F5WrhSpVXOGDCFIdsHL1+MJ++REC eAsg2U/NnldoZXOFeoVAK0B6Bl/K8u7yYo8yWjk9QpHjk7nvzvvC+mfoBvhACzm7GuBD 3N0rLn+hr3r/aQhhxd3+3i/SSwue0dKsp3JSgslO7r5gqNfGsepqjTluYVOz89+Ng6i4 3QR7IKHOrpbG4xO0LQ3zvGon2gmh4nr2U+NfILMtj4ry4/HLXzApmiigIe9I52JZDDp5 iAqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=yvz6ZXr7fo+Hz++4NQK71i/QI7loM07uYA7h4Rp7Png=; b=t4bjHUp9TB/Ko5o0N02uHLBVyUBmOazsP2w3Kfr0KOWhGOheKE03ygSzJWb7GXNR/K HwRC5IfPW067ZE51jlL1jAkNGxOLjC33KHFCJnconK9s/TTSzBKoPJdy3NeWpx7KubAK q77M8Q3Psj85MkxPaZ0a/GzGuA6a0opn2/X4QfnxqOmGSTVtBpAj3b7aeBoHvsPzef1b 3HC5VqA79uGMtQDh3DcMDNwmXL+iKS99ShO1MCwvKsY9EMwHEP4MPA44yJ50LmK82kYQ 1AUQez2XtKX5OrWclkf6hLSEXm7H5xA6aPd2NC1/E3CR0htn3dMtVZv4YuPRX/EDuHTH 6+hA== X-Gm-Message-State: AOAM5325ttdA/LVXMmycMyhDePqP27tH0Y4JOB5T63VZOpE4UoLOxRsq wWacVXvcewWBKp/+9BQlAqVp7N2FZsQd//TmnjR0wWkLBWI= X-Google-Smtp-Source: ABdhPJx/H2ausorXnNf3zE/MFnNrR9mGBQ+QggZ7F6TsDvePaOsL3zi1Uq0JLx+Dlib9gQsO7J2NA+5OrVqUutZsRVQ= X-Received: by 2002:aca:4143:: with SMTP id o64mr8280882oia.105.1623610611562; Sun, 13 Jun 2021 11:56:51 -0700 (PDT) MIME-Version: 1.0 References: <08d06870-43f1-46bd-955e-4daef1910e11@www.fastmail.com> In-Reply-To: <08d06870-43f1-46bd-955e-4daef1910e11@www.fastmail.com> Date: Sun, 13 Jun 2021 20:56:39 +0200 Message-ID: To: Larry Garfield Cc: php internals Content-Type: multipart/alternative; boundary="000000000000c17d3205c4aa4d31" Subject: Re: [PHP-DEV] [RFC] make Reflection*#setAccessible() no-op From: ocramius@gmail.com (Marco Pivetta) --000000000000c17d3205c4aa4d31 Content-Type: text/plain; charset="UTF-8" Hey Larry, On Sun, Jun 13, 2021, 20:46 Larry Garfield wrote: > I'm generally OK with it. The change makes sense. > > What I'm unclear on is why it's not including the actual deprecation. Not > doing that yet and having it just become a noop first seems fine, but it's > also clear that having it throw a deprecation in the future, and presumably > then having those methods be removed outright, is the long-term plan. I'm > good with that too, but I don't see why the full death-cycle isn't > included, and half of it is instead punted to a future RFC. > Two reasons: > 1. I don't see a removal of the methods as necessary at all anyway: while they are no-op, removal increases the scope of the RFC too much, and it's really not worth going there for the added work, when a further RFC would make it more mechanical/isolated for 8.2+ and 9.0 afterwards. If the methods survived in 9.0 too, it would be almost no impact anyway. 2. The usage of E_DEPRECATED inside php-src and in the composer ecosystem at large irks me, a lot. Since we operate on a scripting language, we defer things to the runtime, and by doing so we turn pure APIs into impure ones, and lead to potential production disruption (happened to me multiple times, precisely because of deprecations). I believe we don't have the right tools to address deprecations upfront **yet**, and I'm mostly hoping for the `#[Deprecated]` attribute to make its appearance before introducing yet another harmful `trigger_error()` call. In this case, we have a clean cut of API that can be **declared** deprecated, rather than turned into a runtime problem: I want to see if the situation improves, before creating new problems. Would it help if I raised a second Draft RFC together with this one, so that the promise of dealing with this later on is already fulfilled? > --000000000000c17d3205c4aa4d31--