Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:129910 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 72FA91A00BC for ; Sat, 24 Jan 2026 14:14:26 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1769264071; bh=LlE9/RuqZLAGce5yhzXhwcSb0N6+kcgbaUArHM9MxY0=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=C/dqaGVVTIWfFs/o8zc/bVGMXUv5OrpQx22XR0+fveXB3icEcmXDnrorWNbLVj+6R kWqP2DH0oT57FWJ1V73nzYgIqOvosV82OehCWyg5bUZ7uw1hpa8rLI1uu64c2d7DLT 6RPHxWotP9A1yZsJ5kAIK6YaaZZgoctnvTqrgaGYYXsNsBfUcFUhxpFVp2BWtIebUr uubHVVZ2I7Y/k3/7o7acI9d0vYbUKFl/6d7z6VKUl9jIakNgdJqMYxE2YuDZ0zfsDi wAKaZfzYlyaFO0Ex7W6OLVRA3VVg3Jvt/3K1/aFc5m59c++aEr7PX7dS98+QELgqEM oxcWHm34iNaig== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 24B57180053 for ; Sat, 24 Jan 2026 14:14:27 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_50, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL, SPF_HELO_NONE,T_SPF_TEMPERROR autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-ej1-f54.google.com (mail-ej1-f54.google.com [209.85.218.54]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sat, 24 Jan 2026 14:14:16 +0000 (UTC) Received: by mail-ej1-f54.google.com with SMTP id a640c23a62f3a-b884a84e655so390732766b.0 for ; Sat, 24 Jan 2026 06:14:11 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1769264050; cv=none; d=google.com; s=arc-20240605; b=LicXG9or7irvqCO4HHKP56MSDRrATEzPd67CzQAqRKvnHH9K4WS0Mw6Aq46Pdu//ZZ YhGMqnwB02jAMileaUYEyWYcYOWftzGRPgQaFkHeNY4RbSVYQ3EdT1xhUExOjX5aCgGA SdQfQlrrKB/auuV2n+vKC2uU2myOXGmeP2WOdsr9waios/UcQMXEBVqI8f087Wa3hfms R5zFEN1fkc9cspRmer/nofcsHfAvww1s52f9ofKj6bue7FFUyvbhQI8N67y79fuNkEF/ enBVAEdw5ab8gfWD3a2KfPNSf3wTXLk5OeqfE/TnMmjVuy3hGhX7ABgl8Lf6EgGSDcXE o+tQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=LlE9/RuqZLAGce5yhzXhwcSb0N6+kcgbaUArHM9MxY0=; fh=sk2EioQoniu9PA61SmkdQk8zD793skGEzG+ounzFKME=; b=hPN0A2aM3qAvlAB5LnH9EVnLIXIR0woGDR6UjwPehY+5lstE9/kK06DTB9X0LF92Ua vpc0VXp08AXjNLEs4iPp4XyxGnDYGIen4MOTdZUuwSRan4vhxcc50BL64sWSRrhLK3Pe 7+VqC6biOnneKsbhJJhh8O9Hep3VdkbErX2GKUfWASd+YPvp2nptgx8QZZEWbVwsySXF WpM7ZtoBdZZjP26/Blo693NnY6mh89VYckcKTPEqQcHd1+uBpkCyaXxDZ8XWshYAV+8o MYkxoFcw+4m3Q2E2dmXKquNWv6hqyh62kolndz7sdZKy4JpGrWDHNrORFxZahWh/dtPE bLMA==; darn=lists.php.net ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769264050; x=1769868850; darn=lists.php.net; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=LlE9/RuqZLAGce5yhzXhwcSb0N6+kcgbaUArHM9MxY0=; b=HMgulpQX6E82dG2JELBdogiw2RNm4nLpW12CAIZNElzmsj7/tfLwRfOoVnvPpNpCar EFrjxb82ZzXl3SSdInzP0OSO9xWfLfw2h14H1af1bBfZ1b8fylCc9f6lnO8sfM/6YdMt oNWhfUMTLm7SeTjzqUgk16TZIFYscIlGVmzonTl4SxsooSr6w4oM+j51nSpH9MvQpRFR icwsW1dZTpYTQkNn5bNd2Hn1gpDaxIJt1Za5Gz8bQOnghRd8ExI85mb43HaNPR6KP4DK tt+DK9FQMnUt7VE51x+A1au1vASJECBsn0Flmow9fc4n7ESiPdweLF3vbmiEEJ//GapC OFmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769264050; x=1769868850; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=LlE9/RuqZLAGce5yhzXhwcSb0N6+kcgbaUArHM9MxY0=; b=L1IwpkPHQ2uBjkRT72fzy+p3aXiaD806BEKWWeIZJwFIkeVgtA7V7/yWjxtHuCWgr0 o1fC7htVz664rQM+SsVlqk/qcRK/FgL3tTs1VPxlV/JkLBHYbGDU+xxk9LaNn9I1JA2a laYpkQsXg8Q2PghJVTOqE3RuERC6AFYKWk076LJw/9RW63gWZjYC0de5HAymSbpioYRF 7kyJFB3/79X2QBht4rAGJprWNiBG+P5AjQGQhVtciL09flf0uxkEM3k3mTdF6lI8TmUt DRGuiAAQqGjPcr/P96cSkOVwlxsAd44r4qwYbgIimIZuaXL8NcEa2qla9uKWmBQeZmoV lWLw== X-Gm-Message-State: AOJu0Yz3nyarmMi/qR7NEGMLlcIIqsCSk7CFtmsLWAD7xLIkViPjs30y +5mqvbNAYKQQULlkzzf0aEBR4OIf/74foHO+w39g4Px48h/9eZ5ZnIuffCiEe1DyScDZMV2SoB3 SQmWHM3thsjiUwD1SlMC2AnUO+8kTJGE= X-Gm-Gg: AZuq6aISkHSM9a6iUPnda+NvlT72TcwmzTCTY7QHUm8Az/1bdtDr+7Gu4TilUqO6TDZ Oe3hzPLVf3thRh8wAOrWu+4RcZZdvbVD3IW1tZAZQt78qdhDaY2UzOnKJ58w9bYIMX9+v+bRWGZ WGewk4nvjdjehUE/Ay6MFDhZ7X+nHvjNKVuYPkEzX8/QXWBniObnt2HFbkOyq+7esJcS0nW+5jJ ecrH/OeREDu/xTxdAzZP7xuklO2wmmdYuvrQGuHOw5q2ttt/2521gWrN94gu3WnwzLKyzI= X-Received: by 2002:a17:906:478e:b0:b72:58b6:b263 with SMTP id a640c23a62f3a-b885aeb5cdbmr475275466b.60.1769264050031; Sat, 24 Jan 2026 06:14:10 -0800 (PST) Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Sat, 24 Jan 2026 15:13:57 +0100 X-Gm-Features: AZwV_Qiut_8aFjYrUMzNlOYiXlJlu_bS5cYzbBbwaiIkP6o5w2kFk2KWtg8y1Jo Message-ID: Subject: Re: [PHP-DEV] [VOTE] let construct (Block Scoping) To: =?UTF-8?Q?Benjamin_Au=C3=9Fenhofer?= Cc: php internals , Seifeddine Gmati , =?UTF-8?Q?Tim_D=C3=BCsterhus?= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable From: arnaud.lb@gmail.com (Arnaud Le Blanc) Hi, On Fri, Jan 23, 2026 at 10:59=E2=80=AFAM Benjamin Au=C3=9Fenhofer wrote: > I agree that relying on reference counting can bite you, but I still vote= d Yes, because > > We only have reference counting to rely on in PHP as far as memory goes For disposal, only if we decide so. The RFC proposes to introduce block scoping, and could have made the decision to deterministically dispose of values as they go out of scope. The RFC refers to similar features in Python and Hack, with the same basic syntax, both of which use reference counting as primary garbage collection mechanism, yet disposal is deterministic in this context. > and thats what people writing cleanup critical code rely on already. This= gives a much nicer syntax. In my experience, relying on this causes occasional bugs that are unusually difficult to address (and to avoid in the first place). > The future scope lists improvements as next steps, like the error when RC= > 1 or Disposable interfaces, this is a first step towards something that = is missing dearly. Unfortunately these improvements won't make it because they will be breaking changes. Best Regards, Arnaud