Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:109691 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 51834 invoked from network); 16 Apr 2020 18:16:13 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 16 Apr 2020 18:16:13 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id CB234180510 for ; Thu, 16 Apr 2020 09:46:26 -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,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS8075 40.64.0.0/10 X-Spam-Virus: No X-Envelope-From: Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11olkn2012.outbound.protection.outlook.com [40.92.18.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 16 Apr 2020 09:46:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=oOC87W3kxILszvXKyv1USiEliZLvZrGdpFgiHzJL5G/WXyfekbAgv1yDTpsLbOgy/XWeUzD7PlcBOBzIcwxclmrQOR4NeyMNtU9tE6QW5YsJ9Znfh/SySsgcMMLAtRsQ0mUKxsxeC4XPywJTQ5ySzbVbqFI2Hi5QTeNxVN6z7BKmtuLA7svSos8shqX37zR3tfq4+U0Vnpj8iN+/QyebNI2nEtagFUuG3xNd+kkLNJr/xceuPdQRN4JJz0GsFWUuwCLyRbN7fYTVOgBFYcTY58BHzPNa4qnH4KIihiDzPfxX0Q3qhfd8FJmWg8kBpEmNF0W6LhsYZnOjpsX5pqKlNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sT+HlqzZQPK0xNvua+/MEBHhsRrubLxiYxc/Dr1gAcc=; b=iBV4exUKXaDqeAl8gvG9r+Ee93eJGCg+xlTEo6AXYJHnxPwT34/48sJpvnM+FxZUVE1XdH17lj6xGRw2wNwzSu6Ff/ozGjRwYEfiqE6NxNmNZKRd6XSe7fvcMCxMMAUQuZrjbtXSXf5DySiIyh2oaSRLAXMRwY9e9Yo/gCL4lbh5MBYr8Tw+feoDKodoQ+auWTU4WjM7EWYG12HbpucvGgfwX3bD3Xs5ADM2kNLUD5OcIcd4WjYEwRVT4CklvXGBLhBtgLeQstdEcLpx/U6MTfs3jhjpUctbscVssR/Z8KB/p2q15K7XioMnxBTNqn46rg3lwIRxeIbtQoYJxriWhw== 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=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sT+HlqzZQPK0xNvua+/MEBHhsRrubLxiYxc/Dr1gAcc=; b=qAf65O8l6R5D6ak/6/tWLnHgGXIAJyzXSYzL9ZXOyK8XsiDLlcHfUOFsFDnYcTpwx93bpgnT0YDxcgaYVXDhoW9LP4ibgkUoZgiH7Fw1rzYlMh2fGJtOL3tJK9g4J6hmRET3ZwavliSc/gt44buCmoVeOsnpf3BQUt7JpeoQr+IMpysvDNkStGkAkJ1vcTInUpxTZZ39VV4vWJ1/IcGnZcwrYCRLHMpqNUQqeBIk1n/JSXwATxZ1YtvM6q73OUjJsWpRjWzGIvvBg3D+85v87iMKyed23o36JgxQODfy/+EnLn5gnhq5iWJRZufGhGXH3gd4+vmbTYeBiH6g7+zwpg== Received: from CO1NAM11FT030.eop-nam11.prod.protection.outlook.com (2a01:111:e400:3861::53) by CO1NAM11HT242.eop-nam11.prod.protection.outlook.com (2a01:111:e400:3861::381) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.25; Thu, 16 Apr 2020 16:46:24 +0000 Received: from DM6PR07MB6618.namprd07.prod.outlook.com (2a01:111:e400:3861::46) by CO1NAM11FT030.mail.protection.outlook.com (2a01:111:e400:3861::125) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2921.25 via Frontend Transport; Thu, 16 Apr 2020 16:46:24 +0000 Received: from DM6PR07MB6618.namprd07.prod.outlook.com ([fe80::e553:b74f:bf64:30c5]) by DM6PR07MB6618.namprd07.prod.outlook.com ([fe80::e553:b74f:bf64:30c5%4]) with mapi id 15.20.2900.028; Thu, 16 Apr 2020 16:46:24 +0000 To: Nikita Popov , Claude Pache CC: Nicolas Grekas , Gabriel Caruso , PHP Internals Thread-Topic: [PHP-DEV] [RFC] [DISCUSSION] Ensure correct magic methods' signatures when typed Thread-Index: AQHWC1LUQ7jtWjCdk0KyqjVCLCfY86htf5QAgAbsyYCAAA2FAIAEK1UAgAAEJoCAAAYmgIAAEvaAgAAUMgCAAA0zAIAADmYAgAEgPACAAfLVug== Date: Thu, 16 Apr 2020 16:46:24 +0000 Message-ID: References: <90F4B395-F010-4196-9C40-7896D4F3F2F4@gmail.com> <0A374409-6FA6-4E02-A7E6-EACA3E42451C@gmail.com> <436FD800-A316-4C99-8793-C6EF4BD15BE3@gmail.com>, In-Reply-To: Accept-Language: en-CA, en-US Content-Language: en-CA X-MS-Has-Attach: X-MS-TNEF-Correlator: x-incomingtopheadermarker: OriginalChecksum:7A7E312F20E17468EB59DA4B95B015BC2F54C687D26E09335D1C46F19F6FF839;UpperCasedChecksum:5EB956FB906786A9F70BA7A150F6C22FDD5D1A599679AF4903EF64C9AD317574;SizeAsReceived:8127;Count:46 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [JbSq12Oz2+xruFzoCI9RwghxkO96k/bYGXpJKvVEcgqDPqBLlgRwvKSYmymbWuKs] x-ms-publictraffictype: Email x-incomingheadercount: 46 x-eopattributedmessage: 0 x-ms-office365-filtering-correlation-id: f510562c-b217-4af6-d1e5-08d7e225b362 x-ms-traffictypediagnostic: CO1NAM11HT242: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2BqqTKW5tm5+0FoX6xlDtwm7/yEX2tIp5eAkthwCPt4O/xbc76Bzdn3/+hJVuLWj1mxGcBnwQdjV4n2EDXF1c+h2XJw3e9ylR6ZRRALFIC7D71btPpmu2jNQ/aKSrcsuSHhvLW5/dmosI3+awJOlhg5ojetAwqpBMbLlzYiG7N90lHIL3WjORWcacwXPFVEB x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:0;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR07MB6618.namprd07.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:;DIR:OUT;SFP:1901; x-ms-exchange-antispam-messagedata: /1nBw9+z+0taiqCu3DTxwZ7C+J3k0Q4SIAo0YhM9NMx0Ecdy3UZHsDlj0jhsmPpwLKxYnSb0QMIaI6nEaPijVOTMXy3dVjeqYwl51UDdnczzZQX8lUdbMk77yf4BcdUCj6rM3MO/4Phf0JsR7H4hTxcbOHo4VUFHYEDAJNs7QYiOgF0QgXQJZNhFB8rtiVFrK1Q+DN2iiaviccX4Uvycqg== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: f510562c-b217-4af6-d1e5-08d7e225b362 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Apr 2020 16:46:24.6290 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1NAM11HT242 Subject: Re: [PHP-DEV] [RFC] [DISCUSSION] Ensure correct magic methods' signatures when typed From: tysonandre775@hotmail.com (tyson andre) > Ah, so that's what this is about! In that case, I'd be happy to simply=0A= > always enforce that __construct() cannot return a value, in the same way = we=0A= > do for ": void" functions. (If we have backwards compatibility concerns, = we=0A= > can add this as a warning instead of hard error.)=0A= =0A= I'd approve of that. It'd also be useful to enforce that __construct and ot= her magic methods aren't generators,=0A= and that methods from traits renamed to __construct have the same restricti= ons.=0A= =0A= ```=0A= php > class X{ public function __construct() { yield 2; }}=0A= php > new X(); // nonsense=0A= php > trait T1 { public function f() { echo "In f\n"; return 2; }}=0A= php > class Z { use T1{ f as __construct; } }=0A= php > new Z();=0A= In f=0A= ```=0A= =0A= - Tyson=