Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:99278 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 67078 invoked from network); 30 May 2017 18:49:19 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 30 May 2017 18:49:19 -0000 Authentication-Results: pb1.pair.com smtp.mail=morrison.levi@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=morrison.levi@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.214.41 as permitted sender) X-PHP-List-Original-Sender: morrison.levi@gmail.com X-Host-Fingerprint: 209.85.214.41 mail-it0-f41.google.com Received: from [209.85.214.41] ([209.85.214.41:34529] helo=mail-it0-f41.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 07/F3-43873-EAEBD295 for ; Tue, 30 May 2017 14:49:18 -0400 Received: by mail-it0-f41.google.com with SMTP id a10so11426377itg.1 for ; Tue, 30 May 2017 11:49:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=fwDH/82jYClC50EfHR+Da8lhhjG7fb5KBExKuOmCRpk=; b=DozXvHGcWNS0rKlMKGZS6w2XjecJTlHxuBnfU5kqks2HBuvjbdtJHt0+PSjwCzxLBF Km4pSf9AdZDzst9MeRqTTkeOcgiaJ/I5vGXDAuAzCz4fOQkTVLTix0ZgCmmZ+W1fK7yt Po8T6CRic962YemNfLsnDGJbTLcr+VRt7acyJw7ie4Aqpvy43NSO5bx6ZCpCDgAuL7Sj 2VLIP5GFKYOwFd/GfdHJth8DtFc9JCWHtjov5NVV7MxNmvUXxfj1cupGMhv3c8kJswjI gp9QupPvGwq6HF9E+Q3qA39VsMPR1+ZuHK0JktWP4NpgllKy17G5a1k/+rQxKrJJr60S bnTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=fwDH/82jYClC50EfHR+Da8lhhjG7fb5KBExKuOmCRpk=; b=Mq5ddjAgbPq8rQr5p5N9pOSFpgijpB/MWFiSm8mNvETpSy/xpBHVmqc9FLHf4sPk58 O8xcLBZJeRIrg51WqTaifITyvJostUvrdGw6iaxovE/RmPmgnOuzvv50lULopmibMWtC elWDQGplE8839Gd6YOaVOhNIJKnM88rKRaPIB/nOWlfao/ON790gnz3b/XlUDKPXSLfJ RKRCCgxUQ549+mziRUMDeaPPkj8OH4aIj9z7vzHRdmNO4h0X54+jjbatWd5haxwtP7jT MAaPh4WwRZRhQpy19AWm9gcb5bmfXc/PXSHmXOV2cNvHwQncymgpvbDbNVQ4aYrizYAD L7yw== X-Gm-Message-State: AODbwcBXH2Un3gs4dABz/jq5D30XXiKeBz/ls5/8HWspuT4p3sfAcNFR a9SOMZTH2SOX+ZB+0EERK9Ax4H7Fgw== X-Received: by 10.36.41.7 with SMTP id p7mr3568500itp.113.1496170156062; Tue, 30 May 2017 11:49:16 -0700 (PDT) MIME-Version: 1.0 Sender: morrison.levi@gmail.com Received: by 10.107.12.159 with HTTP; Tue, 30 May 2017 11:49:15 -0700 (PDT) In-Reply-To: References: <301641f7-57fc-7a9c-90da-4fd4e4126cff@telia.com> Date: Tue, 30 May 2017 12:49:15 -0600 X-Google-Sender-Auth: E_lHYrBb_cOTQcYKU2JkGkmTEnI Message-ID: To: Nikita Popov Cc: =?UTF-8?Q?Bj=C3=B6rn_Larsson?= , PHP internals Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] [RFC]Discuss] Syntax for Arrow Functions From: levim@php.net (Levi Morrison) >> You mentioned ability to explicitly specify binding as a possible extension. >> However >> >> [$var1, $var2]() >> >> is not necessarily failing right now, it may be a valid array callable. >> >> Nikita > > As already mentioned we must maintain a leading `=` or `&`: > > [=, $var1, $var2]() > [=, $var1, $var2]() > > Sorry if that was unclear. Oops, forgot to change the bottom line: [=, $var1, $var2]() [&, $var1, $var2]() The first line means "bind any implicit usages of variables by value, and also bind $var1 and $var2 by value". The second line means "bind any implicit usages of variables by reference, and bind $var1 and $var2 by value". This exists in C++ but C++ allows you to drop the leading `=` or `&`. We cannot, for precisely the reason you mentioned.