Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:118200 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 38147 invoked from network); 5 Jul 2022 14:40:28 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 5 Jul 2022 14:40:28 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 4AA73180539 for ; Tue, 5 Jul 2022 09:33:16 -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=-0.7 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-wr1-f54.google.com (mail-wr1-f54.google.com [209.85.221.54]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 5 Jul 2022 09:33:15 -0700 (PDT) Received: by mail-wr1-f54.google.com with SMTP id f2so12973330wrr.6 for ; Tue, 05 Jul 2022 09:33:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=kRMUtPEApYVPG41LF9HGklpJmgVy3AsmG3lnqfdim2s=; b=fS5RuEtTi6Nwt4N9/xZpuM7uo4dfcOdKsKCFVBjr1VHQU/ghUHu52bvga93z6MbtWn Bf13N4c43IxkL2fY3/XVefbs/6hQsHHak/EeSUDC/otGxGcJKY4B0SIjs0GR8dnh8beX LqATJWCKnEGZriA/xcIXmJ59KW1INxyiaB3fmp8dJCZHWQkpgH6MG2dEni4uIciYcxeB 9FIq7Xp/Q2aKd7eKKaJ/qrA2Y0OR8Lqyyt3dpdm3eqWGIb+RgiaFaPih5v+L1A/FTiw3 GPGpP6t8KP1aq7JFVYY6YN0eGkASqIz+V4ik6hIS+aUbAClngVffqYNHet7BNWhnBInd WHVw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=kRMUtPEApYVPG41LF9HGklpJmgVy3AsmG3lnqfdim2s=; b=YdRl+69BrZ+X7SdqRoRAd+et8EbOCy7IY0mwTI7Hoy8m6UFMt2ujl6h5jzOHCHyVua T0Ax5T4ZaEp9vA/dY0t7hXZLu6slHI3e9Z114RaSRwvVD+tpnfk36wNIR03GbK5hptJq qA0TrVjhW/aSTvdpKvktnywKcV1GCviC5I6bml13v2+yWTg5QXzG/luuHZvAHAxCRsAg FWjL7IJZ1n4Gcwar4/MsUM6is/gu/o3PsI6KPxOO45xn4mfROHsKRxKYnadwAF9UHVmb tgTUVJntHGPuXt2pJl0pGH80NrKH/qbe5um8Ncaylcs9pKAdIOrW59UiYpSEw1JWj76s cdPw== X-Gm-Message-State: AJIora9ZUCvQrQZuSyVOXFjWnYGTZle3p36IiXRNKSLvzVR+4hiscK4D eejDTEXaBr7HvQDKYIxwPRs= X-Google-Smtp-Source: AGRyM1tSFjCfPkE7k+729Iz7eagEmmWh+T3mM/BMVo9xdKaCLvKqgAFDFKaERoBg+UMlgaAfRUq21w== X-Received: by 2002:a5d:59a8:0:b0:21d:1bdd:44b9 with SMTP id p8-20020a5d59a8000000b0021d1bdd44b9mr34826343wrr.7.1657038794566; Tue, 05 Jul 2022 09:33:14 -0700 (PDT) Received: from arnaud-t490.localnet (2a01cb04054b5b0030b921fedadc5179.ipv6.abo.wanadoo.fr. [2a01:cb04:54b:5b00:30b9:21fe:dadc:5179]) by smtp.gmail.com with ESMTPSA id a1-20020a05600c348100b003a03be22f9fsm18180518wmq.18.2022.07.05.09.33.13 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Jul 2022 09:33:13 -0700 (PDT) To: Marco Pivetta Cc: Larry Garfield , PHP Internals List Date: Tue, 05 Jul 2022 18:33:12 +0200 Message-ID: <4489397.ejJDZkT8p0@arnaud-t490> In-Reply-To: References: <6128711.lOV4Wx5bFT@arnaud-t490> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] [RFC][Vote] Auto-capture closures From: arnaud.lb@gmail.com (Arnaud Le Blanc) On mardi 5 juillet 2022 09:27:34 CEST Marco Pivetta wrote: > This is fine, but it creates a bidirectional dependency between components > where the dependency graph was previously (in theory) acyclic. >=20 > This will become "someone else's problem" =F0=9F=98=AC I don't think that the Optimizer conceptually depends on the Compiler=20 currently. It does include `Zend/zend_compile.h`, but that's only for the=20 types defined in this header. It needs these types because its responsibili= ty=20 is to transform data structures produced by the compiler (op_arrays), or in= =20 this case, to produce meta data about these structures. These types can be= =20 trivially moved to an other header. It doesn't call any compiler code. Also= ,=20 this doesn't introduces circular includes involving Zend/zend_compile.h. Do= es=20 it seems ok to you ?