Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:120784 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 7925 invoked from network); 11 Jul 2023 20:11:31 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 11 Jul 2023 20:11:31 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 04A0E1804D0 for ; Tue, 11 Jul 2023 13:11:31 -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=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS63949 74.207.240.0/20 X-Spam-Virus: No X-Envelope-From: Received: from malamute.woofle.net (woofle.net [74.207.252.100]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Tue, 11 Jul 2023 13:11:30 -0700 (PDT) Received: by malamute.woofle.net (Postfix) with ESMTPSA id 6841C1F24A; Tue, 11 Jul 2023 13:11:29 -0700 (PDT) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.600.7\)) In-Reply-To: Date: Tue, 11 Jul 2023 13:11:18 -0700 Cc: Levi Morrison , internals Content-Transfer-Encoding: quoted-printable Message-ID: References: To: Peter Kokot X-Mailer: Apple Mail (2.3731.600.7) Subject: Re: [PHP-DEV] [VOTE] Interface Default Methods From: dusk@woofle.net (Dusk) On Jul 11, 2023, at 12:03, Peter Kokot wrote: > I really liked this idea actually but I'm still not so sure about it, > what would be the "right" approach. So, here's a crazy thought: why do inheritance, interfaces, and traits = need to be separate at all? At some level, they're all ways of composing a class with different = restrictions, e.g. inheritance requires a single parent, interfaces must = be abstract, traits don't interact with typing, etc. This RFC was an = attempt to lift some (but not all) of these restrictions on interfaces; = in that sense, it almost seems like too small of a step, and one which = leaves the language in a confusing intermediate state.=