Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:122693 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 qa.php.net (Postfix) with ESMTPS id 38B491AD8F6 for ; Tue, 19 Mar 2024 18:04:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1710871480; bh=tNBAMhLUsalNm429ytiLS/hcGNf/RjpzgqVOW8rQGRA=; h=From:Subject:Date:References:Cc:In-Reply-To:To:From; b=Lo68qDLF+ryStxBxVZUhBlz4MAN6aavkT8ykYTA6TL9aH7+A6S4kxINVu7VXHfMN6 0Wqcguj+G5gUn87IWbFblhKbLuqhpQ1NlV0p5VJrzmxwJ1qObWJpheExFaQfKDKLjM ynPKDV54ewjF+Y7zqxQk4QvmQHqKw/nUyM2Mcbf2dgIDN1yaFvd/inXPKRyuyiYElA uIoNXsYWptv83guU0EsgNCi7Ef4NQue//sPBDTBNmwzH6JPXhLCv7/0s9v0KHQGuFB c6zWuDyIrOU+BY4Loc77qDqYBoC6rifqfi0nZxCZXHIto+3BSS3itlueaeJ3JvUkj/ UPoRjzo0J5Skw== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 54B4C18065B for ; Tue, 19 Mar 2024 18:04:38 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.0 (2022-12-13) on php-smtp4.php.net X-Spam-Level: ** X-Spam-Status: No, score=2.1 required=5.0 tests=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, RCVD_IN_SORBS_WEB,SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=4.0.0 X-Spam-Virus: No X-Envelope-From: Received: from mail-pj1-f45.google.com (mail-pj1-f45.google.com [209.85.216.45]) (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 ; Tue, 19 Mar 2024 18:04:37 +0000 (UTC) Received: by mail-pj1-f45.google.com with SMTP id 98e67ed59e1d1-29f8b407610so219016a91.1 for ; Tue, 19 Mar 2024 11:04:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1710871456; x=1711476256; darn=lists.php.net; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :from:content-transfer-encoding:from:to:cc:subject:date:message-id :reply-to; bh=tNBAMhLUsalNm429ytiLS/hcGNf/RjpzgqVOW8rQGRA=; b=OLOtuqTd3UWuUiLFe5CAHzFyy8yOVqzTDS699Yh4GzwctzTpJUZ9Y4nbXqWwIc2/BJ gFbRYlWZKWhr2ELLrlXWXEXkYzw3pqxqOqKzp83BRCrWTgPThxToWhM90WQfLv4j+tSP kZNMH4y7J27IqPWMupc0FqmAQeVmO+um7b1geb6z5vAuTgisgw6agmvJOK1gU5qYewRn 675LZjNkV9JdIx0K4OiqYosMifJx3f/s+3DvloBGUkefzntxf0+eNyIRnHxoQ3k0qUXT vY52CCwTFUw/oolc+VtGQikZuX/KP7WsppX9ygKhBasGNi+P2/AuWANFg4EqGL1o094h 81Ig== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1710871456; x=1711476256; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :from:content-transfer-encoding:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=tNBAMhLUsalNm429ytiLS/hcGNf/RjpzgqVOW8rQGRA=; b=Tko7f9cIZ3Sh0gmrBx+Z9ZDLp/v7uvAOGK1pMP9JzOGXkGQCy/7LNfqufHCocombQ+ bBIyhoJ7WNpZSrDOHWpLGw3Z7DOuUqutNLMOeqNfT1X7dTw0PECY8uUTK81odcUkfbvE vGsqu9krcf9GdlLUOz1RFq8lJSvX6qvVQaxHcF6WP0OR4dKxbFsYXo9T2ECU+G3rO7je goZud7NPfPaLCrdixg9OMH+Eq2+BKwLWosxpHS9KztyWrUUwG904fNeBWrunDPu/NhCC XHWZL1nBCk64o6/ipvxV4yt5IgVZf9T45Ppu6nS+yTKHM9P3PS3qF3OTLG8ew2cYbJz0 WnMg== X-Gm-Message-State: AOJu0YyzN2+g+mkiFtYdAsYqMBqQUZIX+D4dr5OpxHD2CrbkJPWqfo57 fAtLEYn3wXS2tZ/bsY2Iw+QsTsOYBN25c1GN1vrKNHsCx0hgTTgGACi0CHx+ns0= X-Google-Smtp-Source: AGHT+IG0xgJKhPbH2NsQPBS0+EOQDfosuBkMVVTd1SpQSIMGJdTtlLak1tPnIKV5mPGjmvclGZNzbw== X-Received: by 2002:a17:90a:9f8b:b0:29e:b9c:d062 with SMTP id o11-20020a17090a9f8b00b0029e0b9cd062mr2778253pjp.3.1710871455984; Tue, 19 Mar 2024 11:04:15 -0700 (PDT) Received: from smtpclient.apple (gn01-186-192-101-68.sim.goiania.br. [186.192.101.68]) by smtp.gmail.com with ESMTPSA id d2-20020a170903230200b001deffc90392sm7832962plh.35.2024.03.19.11.04.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 19 Mar 2024 11:04:15 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Precedence: bulk list-help: list-post: List-Id: internals.lists.php.net Mime-Version: 1.0 (1.0) Subject: Re: [PHP-DEV] Proposal: AS assertions Date: Tue, 19 Mar 2024 15:04:02 -0300 Message-ID: References: Cc: internals In-Reply-To: To: Ilija Tovilo X-Mailer: iPhone Mail (21D61) From: deleugyn@gmail.com (=?utf-8?Q?Marco_Aur=C3=A9lio_Deleu?=) Marco Deleu=20 > On 19 Mar 2024, at 14:51, Ilija Tovilo wrote: >=20 > =EF=BB=BFHi Robert >=20 >> On Tue, Mar 19, 2024 at 5:24=E2=80=AFPM Robert Landers wrote: >>=20 >> I've been thinking about this as an RFC for awhile, but with generics >> being far off (if at all), I'd like to propose a useful idea: reusing >> the AS keyword in a different context. >>=20 >> Example: >>=20 >> $x =3D $attributeReflection->newInstance() as MyAttribute; >>=20 >> This would essentially perform the following code: >>=20 >> assert(($x =3D $attributeReflection->newInstance()) instanceof MyAttribut= e); >=20 > See https://wiki.php.net/rfc/pattern-matching#throwing_alternative. I > believe this idea would combine nicely with pattern matching. It has > many more uses there than just simple class type matching, and could > even be used for things like destructuring. >=20 > Ilija That looks like a PHP dream. Has there been any work regarding that?=