Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:118850 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 30587 invoked from network); 19 Oct 2022 17:04:29 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 19 Oct 2022 17:04:29 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 5F45318054E for ; Wed, 19 Oct 2022 10:04:29 -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.6 required=5.0 tests=BAYES_50,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, 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-lf1-f53.google.com (mail-lf1-f53.google.com [209.85.167.53]) (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 ; Wed, 19 Oct 2022 10:04:29 -0700 (PDT) Received: by mail-lf1-f53.google.com with SMTP id g1so29171272lfu.12 for ; Wed, 19 Oct 2022 10:04:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=eJQtRl0nijl3fF4DuNGE8t8uieMOygCvRBw35bTtfQ8=; b=NpDMSVWAa+1ZcSdmx99fo/+9SN+QJkmfO/E9k67X019AruptoERn0Rvu3MmHF+U6m6 Xn6skm8SmqjB77wQnPMdDr6B8REh4GcrZG5JDJikC+uF7gPZ7JwbtmjtKLbnqurDNRxP +zsJmjBP36i9VKVKmQn3DpUSAWnCCb/OohveyAGB4xVsztz/aXn7S164WhvZkaSmwxUk 0y+9yRpU5LKg0Y5WJoDPXzmWk8t3ahdWxAZ6s0EGn7yQWCbThQu8b9XLS7JKQ8aoNpb4 nrtFR9E1vvKfePoSA6nzwvDoYkjNmJ5803m4wod2Wk6T7I0Iu3DtYVLN6P+pFmYrjfi8 TMoQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=eJQtRl0nijl3fF4DuNGE8t8uieMOygCvRBw35bTtfQ8=; b=lHB88rU7yC6TDfYR6I1oDV2zTfLQXnDI+/bALX+Tb5HS2CLkKLFeljUAJr7xVbuKqK bVFfxqHGPtUsA6IV1tklny//dM7f057VhhjbZ6YEpdNrB2GSMOW7I4NWNEqY6zZVOVRE Yu5IJt+WJjQjDa3XnS4kacOa6OJ8rYC+C/p0yEaiq+vMJfImEsaXJOgwUFpEZ99JpIwA PpCKCx2HVcau2lLUDnsnRgf6WQhytGjlAsnoivuh5AfBdQ39p1Qbptz78dH4LlRflEKw j7gVwmsM9s+/qhYque2lJG3AMsfUC0IGek/q9+nmY9OwaEe/kywPkF0qH4jTXsw7F+0t lP3w== X-Gm-Message-State: ACrzQf2wAeWlK4yApPYWlRjm9X5owvEIwk5o0KBaj/J2rMsKya4bl+HH xlyVe8wfP10HeGEU6uMTqQd5erf6aSQkTi7XwygBZtgVlwd5SGVT X-Google-Smtp-Source: AMsMyM6Tm+zHgznNCVFTgZ79y1gpYJR9UBpNLy4K/Kg/olu5rYFwEX4+cYsSOkSAQN8jRM9Nhe6vZowCiR67+Q3Du0g= X-Received: by 2002:a19:2d4f:0:b0:4a2:7ee2:de91 with SMTP id t15-20020a192d4f000000b004a27ee2de91mr3004483lft.651.1666199066972; Wed, 19 Oct 2022 10:04:26 -0700 (PDT) MIME-Version: 1.0 Date: Wed, 19 Oct 2022 14:04:15 -0300 Message-ID: To: PHP Internals Content-Type: multipart/alternative; boundary="00000000000083189005eb6633ac" Subject: Compact can't resolve outer scoped variables using short closures From: david.proweb@gmail.com (David Rodrigues) --00000000000083189005eb6633ac Content-Type: text/plain; charset="UTF-8" Hello! I'm converting my code to use short closures where possible, and I ran into a problem using compact(). Basically, the names used in compact() cannot be accessed due to a bug, reported in 2019 still in PHP 7.4 (ID 78970). https://bugs.php.net/bug.php?id=78970 It seems to me to be a reasonable problem and one that needs attention, as the message is not that "compact cannot be used here", but that "the variable does not exist". The code below may reproduce the problem: $x = 123; (fn() => compact('x'))(); https://3v4l.org/AFARs Is there any possibility of this being fixed? I would love to help, but I don't have much C programming skills, unfortunately. Atenciosamente, David Rodrigues --00000000000083189005eb6633ac--