Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:79008 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 73236 invoked from network); 19 Nov 2014 19:04:14 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 19 Nov 2014 19:04:14 -0000 Authentication-Results: pb1.pair.com header.from=anatol.php@belski.net; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=anatol.php@belski.net; spf=permerror; sender-id=unknown Received-SPF: error (pb1.pair.com: domain belski.net from 85.214.73.107 cause and error) X-PHP-List-Original-Sender: anatol.php@belski.net X-Host-Fingerprint: 85.214.73.107 klapt.com Received: from [85.214.73.107] ([85.214.73.107:40326] helo=h1123647.serverkompetenz.net) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id C2/00-07312-BA9EC645 for ; Wed, 19 Nov 2014 14:04:12 -0500 Received: by h1123647.serverkompetenz.net (Postfix, from userid 33) id 1A9D26D2001; Wed, 19 Nov 2014 20:04:08 +0100 (CET) Received: from 217.253.42.238 (SquirrelMail authenticated user anatol@belski.net) by webmail.klapt.com with HTTP; Wed, 19 Nov 2014 20:04:08 +0100 Message-ID: <9d45996a7ea75ce05e30693c0a9491af.squirrel@webmail.klapt.com> In-Reply-To: <81B335A0-28EA-421E-B568-994E14A68604@ajf.me> References: <66B7B28C-2651-4A71-AC2A-55D4C7BB3DDC@ajf.me> <656B2A54-572B-4E6A-892B-25FAE428F434@ajf.me> <3844e0dd17eef0f8991dd01eda533e2e.squirrel@webmail.klapt.com> <1433D80F-85DF-45A9-B9E8-2E48E0B6321C@ajf.me> <81B335A0-28EA-421E-B568-994E14A68604@ajf.me> Date: Wed, 19 Nov 2014 20:04:08 +0100 To: "Andrea Faulds" Cc: "Anatol Belski" , "Yasuo Ohgaki" , "PHP Internals" User-Agent: SquirrelMail/1.5.2 [SVN] MIME-Version: 1.0 Content-Type: text/plain;charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: Re: [PHP-DEV] [RFC] Safe Casting Functions From: anatol.php@belski.net ("Anatol Belski") On Wed, November 19, 2014 19:47, Andrea Faulds wrote: >>> __toString() always errors if it doesn’t return a string, I see no >>> reason to change that. >> But in the other cases it converts strings to numbers. I mean like >> class A {function __toString(){return '10';}} $a = (string) (new A); >> //numeric literal >> > > ? > > > I see no numbers? > Yeah, try_string(new A) == (string)(new A), but try_int(new A) != (int)(string)(new A) in the RFC. Whereby '10' were pretty valid for int, no? Regards Anatol