Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:130672 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 8E42A1A00BC for ; Mon, 20 Apr 2026 11:54:41 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1776686086; bh=6Fm3dpj9lAa/BIVLkDwdg+xauxARSxUsavLqrj9iL5I=; h=Date:Subject:To:References:From:In-Reply-To:From; b=itX7JUtGaNGE8trFkcT/m0O9zAMqUZf1ajabbLPHnhr3JcVWN+WBRybmA76aNMM5x lLT1Ye0/3iXXELvdh7zCFeQpikHTP+qX40Yf9vTgI7TwLVW15RcA7oH4ln4pyVCkvI yn7AztPa5LfSb7c7vFHnPt8O/39QwvzRaPr1RWB7modnlEWYZoqhXx1iuF6xfA1xUr /I4BDpSiHlIwmn7bjhTOv/24efP1u6+nu0WhPjGfYwxRI+/ucjKkRX6oQWv0+tmSLx 56vk/pDwuKwdVSL9rsQKSKgFfuKhbOrMeMvR2PVjNZqvqacuPrU6ZLhu09/PKWD1WH NMv0dQVWzVOXg== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 7B247180078 for ; Mon, 20 Apr 2026 11:54:45 +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_H2,SPF_HELO_NONE, SPF_PASS autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from TYDPR03CU002.outbound.protection.outlook.com (mail-japaneastazolkn19013087.outbound.protection.outlook.com [52.103.43.87]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (secp384r1) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Mon, 20 Apr 2026 11:54:42 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Qls1WUUaF/jtAhV9cCVkrcdEzfQBkacDIV+cP9eF9+CnmOOPpMJD32l/T+4ptfNI9T1iJ/t7NfPEZaIexTMFJmVBj8pbWED1fvu5XBIYpF8S1+G2Qctb21IQJquvlVoH8GizeLlFR4LLqng3adAKklIIXGktNj5rkZYgyH/zHDpHlv64DjOt3Ov1j06bwouI948eBtf8KcPgcRLOgo/wzQ0UdXlT+3FeOJzoosCBQphlfuTkapQxdG1evICdOtoV8NZgTodeKyugrdgPV9v8QpyuyGiJ35iOeftDwZ6j5Vs5hueuMsNUjwEouOMTT1o7K8OWLZLwBzdaix2h9AN21w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=1CW3PF/Hclvvzmuoi1FtrJYl/55M2skygE6Bg0VBiJY=; b=XG6BIrqt1CGfBzHRG6sj9hOctval1l5TRSsZk4vUVD6F/YXyIhJJbpPqTNvXJjvYR8m5PqsTxgqI/9LDYz7FLOV7/6PuggHb/7b2knESXwCRledqKEF8wDxC/Ddb1l5nrd9Mq5Gh3xnxacUc2ysXA3Fd74ftyTT8eYzTUPIm/W5XPRojLhqcCU2IV5hfAmqPBTrJlOOrjfqzaQ0otxcta6qjKphYHAXsccmnfI2XvgfGLaM8VsUIyKu1KnpbHcw8blupOGIbQvfeN0tbR9vXc/IGGoqLtmmoh3J5FXQFA2Kb+rdfcJjKaoz+vv5iSuqiQzey5ynL+8YbMRN45+AZEg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1CW3PF/Hclvvzmuoi1FtrJYl/55M2skygE6Bg0VBiJY=; b=rJCLitaWEMDF4a3M8yivVRox/YFy6dPzz4TKwXjG4a/ETHvikgSUPi5zCvybl7da1YywnKbiQW9+JN5YDmobTE6tsdMoPWo9MGvfPtVjECikColGb11xg7JcEYkVv+D89j6T6CkRSstgnPKPgsRuHcsIwkYcoTYx0cY5J9p835/L3vwbsFGzjJVYU58cp3YnKU6AQaImDs+K/8SSVhVqKdJbi1YOKcPGwXxtCqKNIq1yrxaaEJQGfa2yAXpQgaHHyLm6NgLKh+UTQoc1IqVuRn3DwWxhEO4kMzVdVT2ojvExM6/llnL+FucoBukEsNwpyBLNFKnT3dH6rdd/7OZB9w== Received: from TY1PPF18F5FBD30.apcprd04.prod.outlook.com (2603:1096:408::a8d) by TYSPR04MB7504.apcprd04.prod.outlook.com (2603:1096:400:466::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.32; Mon, 20 Apr 2026 11:54:33 +0000 Received: from TY1PPF18F5FBD30.apcprd04.prod.outlook.com ([fe80::8569:e9a3:d753:e490]) by TY1PPF18F5FBD30.apcprd04.prod.outlook.com ([fe80::8569:e9a3:d753:e490%5]) with mapi id 15.20.9818.017; Mon, 20 Apr 2026 11:54:33 +0000 Message-ID: Date: Mon, 20 Apr 2026 14:54:29 +0300 User-Agent: Mozilla Thunderbird Subject: Re: [PHP-DEV] [IDEA for RFC] class_uses and optionally returning traits for parent classes To: internals@lists.php.net References: <0AC29ACC-3CC5-4285-B5AF-093DD022253B@gmail.com> Content-Language: en-US In-Reply-To: <0AC29ACC-3CC5-4285-B5AF-093DD022253B@gmail.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: GVX0EPF0005F6AC.SWEP280.PROD.OUTLOOK.COM (2603:10a6:158:400::28f) To TY1PPF18F5FBD30.apcprd04.prod.outlook.com (2603:1096:408::a8d) X-Microsoft-Original-Message-ID: <7a791172-f676-4a81-8af1-3c6b3bb0ec43@outlook.com> Precedence: list list-help: list-unsubscribe: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TY1PPF18F5FBD30:EE_|TYSPR04MB7504:EE_ X-MS-Office365-Filtering-Correlation-Id: dd5fadba-7548-45e0-7578-08de9ed39697 X-Microsoft-Antispam: BCL:0;ARA:14566002|461199028|19110799012|15080799012|8060799015|51005399006|23021999003|6090799003|5072599009|19061999003|13041999003|40105399003|440099028|3412199025|12091999003; X-Microsoft-Antispam-Message-Info: =?utf-8?B?RkNsemZGRksybmg5cjh0SXlIeG05cUU2MTNZVnR2TjYrSmFKbEt5OTVQTThR?= =?utf-8?B?a1RIOGlVaU84clpJSkZwSTN3WjdFNlpNK1ZpeVdGdTJjaUtxTThrSlYwSnFh?= =?utf-8?B?NGtBU2RVZThOYURUOFgwVU8xNzRocDRBVkVvOFIvaUZVdk10YlZ5VTh5Y1V2?= =?utf-8?B?Y1paV0huQTN0Sll0OUQ4WEdRTkNWNzJ0MlQyY3VyRWhrUHU5cEJPbk1sQ1h5?= =?utf-8?B?ejNYY1g4V0VqSDA1T0VrMU5aOE9ZcUZLNmtORVhkNEFraGxOUlhLOUM1Nnpn?= =?utf-8?B?T2QzcW5iNzB0Mi9HZE9ZVi9nOWxuc0c4d2dRWmJxNTlXRWpjNFBjNHJKUkU3?= =?utf-8?B?c1E2eHN6VVJZVDhmM0FkVmtHUWt4RnBJWk1iWEVOcWc0NXpxS042SkpDMzNE?= =?utf-8?B?bEUzV3RacjZFUmlrN1h5Y2Z6S2c4V29OOG9vRDdDVm5ra29zeGFoQlRJRnFw?= =?utf-8?B?NDRwMmQyVWQyTGdKV01nOXovV1lpU1crY01WckJlS2NQNCtKOU9pTVVlY2Uv?= =?utf-8?B?dFF4QlpsRjZVYk1oK1B2aTk5TW9nMURKVmxSVFRUaDU5c28vbXovRGpFa3o3?= =?utf-8?B?SExZckExMytLdzFESFpvYjFWbTNjTTRITWNHVWpTa21Rc3YydEQ1QWFSdDY2?= =?utf-8?B?MkpvaVpISVNqZEhqQlRrZytaUWZqQ2MyQnpBZmJTcm9LWkFHcjMyU05GeU5I?= =?utf-8?B?UkJNTnJ5dkQvNUt1Z1VITTNZUnlhQ0V5dnhwdmRNMDlJQUNOYmVneVpTRS9r?= =?utf-8?B?bUR2M2FQNnRFcms4OThVT3ZlZUFsTHQ5MWM3eG5tbDRPOWlpWldOTmtaNWNB?= =?utf-8?B?R244a1c3Zm41eE1hbVFHb1M0SVZNcXJxdHRGN2g3dXNEeDZqSVBJaGJ4Uk5P?= =?utf-8?B?SGRyZE51TFRpekN5Wm8yYnFJWDhXeE1LSGhEeWdQWFBPdTd4akl2NkJDOUFN?= =?utf-8?B?bmRldzBlY3RmQVpxa2paaGxqZU1kNkhSektHWmFaQlJFNmdSc09BYkNkZWNB?= =?utf-8?B?M0ppZW9QSkpTRVhtd2RBWGR2dlo3S3BoMFE1VU5QUnhQaWJkV1MzQUdnS1FM?= =?utf-8?B?N2tKM0NnZ2plN2VoaHl3TzVuV0xOOEZJN3pQalJpWmxIdmd1U1NQVFMrREVG?= =?utf-8?B?NVZReTFrY3ZPRzFJaWVwT1o1NXdtRjBIQUprNDU2VFMzUldXamRTMDgrMElm?= =?utf-8?B?aW1ZMTBEWjdFVW1JOUFEWTZvK0lyQnpDRzlSeTVodmNxS1BvTjNWMGR3elJj?= =?utf-8?B?dC9xRGdxNDBxM2d2b0tGSFYrbHBsTXZvOFR0ZTkzdGlVdTQ5VWdFL2pDUE1Y?= =?utf-8?B?UkloNEZLcTZPRzlvVkRsa0QyaTlSWkRxMDZueTMvZkNOeE5Hb2ZIWFlNcXNv?= =?utf-8?B?N1hEMkcvbVRxeFE9PQ==?= X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UUtzdWdrc1ZCdFJsZTBVclh4RkJVeTZHRzQxd2JkZFVCTEdITlBSMUVuUXZD?= =?utf-8?B?ekF6QUZJVndoSmJmYWFYYWlPYzRxWHNlVVdsWVIwZUpCeTRLeEVZY1V6QnNF?= =?utf-8?B?ZDZ0YlA3QVZ0eHdRRlZyRDVDVU1jTkk4TDJuMDFUcW9XRGJZbCs4cDRwZXBu?= =?utf-8?B?dzVmeFZPVjM4UTZTR0JabHd0K3FOUHhabkZHcS9GVnhYcXpHWnJseTBzZzFF?= =?utf-8?B?anBZdWhrVTIvWlRxeHM1UUpWSTNVUk1IcldPbEFlR3lFdUZtUk5rcWh0c0Zr?= =?utf-8?B?OW4rREIzU25KNXZQa2lVV1NuUDVMM250VVdLV0IxUlRsOXk3RnlBV2dneWda?= =?utf-8?B?emhwM082TGttYXhVTDlXcXBKZVpadlpscXFwNFdja0xwY0ptWWdpRHkzbGFK?= =?utf-8?B?N2dmUWd5YWU4NDM3VVJHQjBBUlREU2crN0ROTnRSYnpiMjQ2YVhscU9xekJC?= =?utf-8?B?RExyOHREajZyUUk5OEZUS0lzMDdlTWp3MlN1U01JYStCSlkxM1NiazYveEwr?= =?utf-8?B?VEM5T2k2VE9vcGZmNjlvNlFhVHkwaVViQzljd0pSNVEyN1pzdUZtT2hOQmdR?= =?utf-8?B?RE9QZ3JpTXhDN00yQjAyeU9jOS9uU2lGMEJ0VmljajEzTEluNnVsalJDaC9N?= =?utf-8?B?QTROUlRLNlRmU3FBcGlINFNNNDE5dHo4eGcyRG9qcWJsbnZHWHVwVE5GRUpX?= =?utf-8?B?c3g5K3plNGQvZG16bUFvTk82dWVCdmR0Y2JlZXpPYnVVaXFuQWtpVkt1cCta?= =?utf-8?B?aFc1U0R2MmRkeDY4dkg0b0VTV2RWRTFDVE5ESnRJY05BL1pIY0FCekppMHpW?= =?utf-8?B?VElmVnR4RVIzaEkvSXNJZTVmUnNPQjNpeHBnL1NaSzlucDZETGxvMFFTSUs0?= =?utf-8?B?U29zWGswREFyMG5mM0k0eHM1dzZ2ajArZlRYMUlIejJGSGFpZmFIa2hjeStS?= =?utf-8?B?MWthNTBVOG1sVnI4VlZFbjE3Q0Z0eHZuTnhoWUhGTG9kb3gzTkgwek9pMEI4?= =?utf-8?B?SmRpeG9wc3VST3RNRmFhMHBrTHhQZEZmMzRRTXVRVEdmS2l4Ri9UUkRIbDl1?= =?utf-8?B?Y2Nid1FrM05jWTJVNUNKU2NtMHZ5TWRHVEtEOUg0V1IvQ0VpeUZkLzhGdUtr?= =?utf-8?B?TjBFNUp6VmlxQ0hpVU5hcnJRV1hLWGlYK1hJbVNkNk91VDlQUVFzWSszSm9k?= =?utf-8?B?OFpnek4rams5alN5cXRoMnQzamtmOEVlN2V6akFTTDRRTTRrM3J6Z2xKUXZa?= =?utf-8?B?UEZadU5DMWozSktQZDF1MCs4bG9VRTJvUXlGMS8zc3dEdnpvSUFYWmJOTXVH?= =?utf-8?B?SUQ1QWFlNlAzVm9VL1ZrOTdrTjBqdTdiTEwzVlZxbHJSSE00S056STAvNjNr?= =?utf-8?B?R2ZicjBmT0ovSHNkMGFhdGtxakt5WFVCVDd6Uy9pU3VRSlJFS0ZLc0FKdUJ5?= =?utf-8?B?T2lKVVlHcldOVHAzb3ZDRUMwUldZM3dNbGs4UjZsc0NHWG90RUppL3dPVnJh?= =?utf-8?B?dTR1bHBqOXpQWnc1bVJDcnAySlVuWENSeHAwS3BBdnF4bmdXSkFMYlorMGEy?= =?utf-8?B?TVZ0YksycjJpNnBTNUhRN2ZJNFAwOXJibWJ1cExDZHlGMXdNSXNJY01xcEZv?= =?utf-8?B?L3NHWWxtMjNMNTVzcm5mOFJST0FYSjRVRnE4aWFzZmxRWGNVdWxsREdFbU1E?= =?utf-8?B?MksvVFFCUVFzSFRwSWEyV1FGYjkwaXRTcjA5RTgrblNmdUhuWmQ5MUdObkJO?= =?utf-8?B?bkx3SDRTQ1BYZ0JwbFNFRnp3T0tEOFhwcSs4dnNjQ3lCWUVNREtPbm5TQ1d1?= =?utf-8?B?MVJKVWFyNkZEWmFMczhTSFVsM3VMNEVrRFR0UzBaRWxpdzBpd1VsSnhsQ3BQ?= =?utf-8?Q?E6ys1a6ZDzagv?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dd5fadba-7548-45e0-7578-08de9ed39697 X-MS-Exchange-CrossTenant-AuthSource: TY1PPF18F5FBD30.apcprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Apr 2026 11:54:33.8164 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYSPR04MB7504 From: arokettu@outlook.com (Anton Smirnov) On 20/04/2026 12:32, Claude Pache wrote: > I think that `class_uses()` should never have been implemented, because > it gives a false sense of symmetry with `class_implements()` and > `class_parents()`. Implemented interfaces and parent classes can be used > as types on the corresponding object (and types are inherited), while > used traits cannot. Those are fundamentally different concepts. I agree > If, for some reason, you want to “cheat” and use traits as if they were > inherited types, you are free to do that, but I don’t think that PHP > should provide a built-in function that goes beyond what traits are > intended for. That won't even work reliably. You can rename trait methods and override them with methods with incompatible signatures and do other similar stuff to make this use case a nightmare. Therefore this: >> and then where needed checking for the existence of >> the trait to tell if the functionality is supported or not (think >> along the lines of if a trait could implement an interface). is totally impossible to do. A trait with a method does not guarantee you that the method is available. Anton