Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:116803 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 17321 invoked from network); 4 Jan 2022 22:03:18 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 4 Jan 2022 22:03:18 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id E9CE1180089 for ; Tue, 4 Jan 2022 15:10:36 -0800 (PST) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: * X-Spam-Status: No, score=1.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,MISSING_HEADERS, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS 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-vk1-f180.google.com (mail-vk1-f180.google.com [209.85.221.180]) (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 ; Tue, 4 Jan 2022 15:10:33 -0800 (PST) Received: by mail-vk1-f180.google.com with SMTP id s144so21749061vkb.8 for ; Tue, 04 Jan 2022 15:10:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:cc :content-transfer-encoding; bh=uRwOZfvtY9DrKqGCoVX9ZrVKoz/Norzdegj0NYHNqY8=; b=P8imhCl+czE7m9xbNAXz7A1Rw1Ekd9h3kC0BVmtq+TJ/vmEAPkx/BIlQh0IGaCVQgA oGVLTzKWWEze4SLs/19aQGwEC+goY+dcDb50MR8kyIMQS6mNpNUf+iOTRVWoj1wGOrp4 a6Uv/v2+DqT3IGLFLuF2fLhCXD0xvhTPfzX0slr4NiUU+12SlUmyFRbaaiMAJlq8SihJ Gc51e8umT74YRy7ZcBqhdc7A0dFDp7lWoNpDUZ7VYoql+CrAFOFMkZIH3xX/hzNSJtT/ 1SmbcDsHdbYZVBbRmJv9moWM162cQc0jS84hCoMMGpJ7VTYpl3DglVuLU0LFuwH7vJK9 X/vg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:cc:content-transfer-encoding; bh=uRwOZfvtY9DrKqGCoVX9ZrVKoz/Norzdegj0NYHNqY8=; b=re/ZnV4w1lu0pBMre0udWLwKCFZEALn2b2VZRequMJ+uA15gkRuMYD6MFteiagSQvY 4I9BVZ2jlJD7VYoNt/O+PZIsvoGs9SZo1uR1L0qBxGtceJrWFNYZt4XPokIdK3Omfvj9 J/uE1EqmkHwXjRW8Uhnupqdf5170jrtcYyDwbsZvC9HGyrApBKo/FUs+ejjrFaVU+cbI Tf54Lw4tFcAatj/eOfEeUssgSoD/j4Yb7JSq5BnMcVCOjObU45PrDLHynpTUO8tGtTg5 waH80bv7pNDjot7V7PGC63mjuZvAvgAMQfDdC8zdQ5BptqZ7cX7yBbnXpkmFdpsk9pF8 ziEw== X-Gm-Message-State: AOAM532N72kHihvTHMiqEfiiE+oCdeO8sVI307VQerhkMfJKDE46hY0U r3e5KoCRC2DPK6Vw2xZvkL7NQLMxXqewnf4l6cb5bZSQrCQ= X-Google-Smtp-Source: ABdhPJzBcA9BC+lcfKToWjtaO6fCWIELLjM0BDZP8To2UfVoOekr3oZUNpCOvaPVY9Gs0drbyAatjN0PWDSUhwL4yNM= X-Received: by 2002:a1f:d903:: with SMTP id q3mr17531776vkg.38.1641337832685; Tue, 04 Jan 2022 15:10:32 -0800 (PST) MIME-Version: 1.0 References: <1641335738.195767637@f174.i.mail.ru> In-Reply-To: <1641335738.195767637@f174.i.mail.ru> Date: Wed, 5 Jan 2022 01:10:05 +0200 Message-ID: Cc: internals Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Subject: Re: [PHP-DEV] RFC: Trait expects interface From: weirdan@gmail.com (Bruce Weirdan) On Wed, Jan 5, 2022 at 12:36 AM Kirill Nesmeyanov wrote: > Since =C2=ABtraits=C2=BB are often an indicator of not very good code and= many may not use them quite correctly, for example, as helpers, I suggest = adding support for the `expects` keyword to indicate that the trait is part= of the code decomposition taking into account ISP. Prior art: @psalm-require-extends and @psalm-require-implements Psalm annotations: https://psalm.dev/docs/annotating_code/supported_annotations/#= psalm-require-extends --=20 Best regards, Bruce Weirdan mailto:weirdan@gmai= l.com