Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:64411 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 54585 invoked from network); 21 Dec 2012 14:28:52 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 21 Dec 2012 14:28:52 -0000 Authentication-Results: pb1.pair.com header.from=dmitry@zend.com; sender-id=unknown Authentication-Results: pb1.pair.com smtp.mail=dmitry@zend.com; spf=unknown; sender-id=unknown Received-SPF: unknown (pb1.pair.com: domain zend.com does not designate 209.85.219.44 as permitted sender) X-PHP-List-Original-Sender: dmitry@zend.com X-Host-Fingerprint: 209.85.219.44 mail-oa0-f44.google.com Received: from [209.85.219.44] ([209.85.219.44:55754] helo=mail-oa0-f44.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 30/F9-20281-E1274D05 for ; Fri, 21 Dec 2012 09:28:49 -0500 Received: by mail-oa0-f44.google.com with SMTP id n5so4717158oag.17 for ; Fri, 21 Dec 2012 06:28:44 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:x-gm-message-state; bh=9mauzNZVT0jVCQv0QeSoP+WwePStefno9N0lrazk5T0=; b=nMQdRCJmwXfIQpVN0OsYT4GkH5ZqywAF6vUgE/l9DlhcUTxA2qhe7IledOcT3JS+Rl XEWv3ak758KZHQBSx9ZVkY5v/m6oIYDjKI//MOCnlIGIPR+CmVVaUc7nt9XIIxcUCGB2 XbqGUF7BOHZnt7WIjnpMnPjQ/EArlVqKsqGgDItBTYdgjUg/Ete1hFZa34F62yreAXKK 3+TOAp8mJfTO8y+fiCkAwARcKJfDRb+dXgMb/JHqAqf7AGtIepzp2PEj/lWem3cfHjrk XBxDmO6WR7HK4X9jNC50Zoohb1zS37i8LOTazUhclyCc5SzJr/KepQAmGvVmxkzJK+QL /6vw== MIME-Version: 1.0 Received: by 10.60.32.199 with SMTP id l7mr10816462oei.76.1356100123936; Fri, 21 Dec 2012 06:28:43 -0800 (PST) Received: by 10.182.214.106 with HTTP; Fri, 21 Dec 2012 06:28:43 -0800 (PST) In-Reply-To: <4B729EED-78A8-4E59-B954-5A74C5585E05@stefan-marr.de> References: <4B729EED-78A8-4E59-B954-5A74C5585E05@stefan-marr.de> Date: Fri, 21 Dec 2012 17:28:43 +0300 Message-ID: To: Stefan Marr , PHP Internals Cc: Zeev Suraski , Andi Gutmans , Rasmus Lerdorf , Xinchen Hui , Nikita Popov , Yoram Bar Haim Content-Type: multipart/alternative; boundary=e89a8fb1f5002ac93404d15daa87 X-Gm-Message-State: ALoCoQkrhv9LiGDU348ZKA8PKpS6XroRVCX8EHBMb+PEHBKnjkmii9STA6HJYnG5Yqfa9lggQJS/tMYafqdsQZke5uIr1ushqazX1wZxxLwiHpMO/8SP74BuJ1OJHHYszD8gItFxQgtq Subject: Re: [PHP-DEV] Complete traits redesign for 5.5 From: dmitry@zend.com (Dmitry Stogov) --e89a8fb1f5002ac93404d15daa87 Content-Type: text/plain; charset=UTF-8 Hi, This is more or less final proposed patch for 5.4 http://pastebin.com/ceiWWD4N It fixes implementation mistakes and makes the whole implementation much simpler. I hope I didn't introduce new bugs :) Of course I checked it with PHP test suite, but it would be great to test it with real life applications that use traits. The patch keeps binary compatibility, and changes only error messages and behavior in error situations. It must not affect any applications. I like to commit the patch in 5.4 and above on next week. I would simplify the trait implementation much more, but the conflict resolution rules allows to make so many tricks that all needs to be checked :( Anyway, I'll think about it a bit more. Any feedback is welcome. Thanks. Dmitry. On Tue, Dec 18, 2012 at 3:46 PM, Stefan Marr wrote: > Hi Dmitry: > > On 18 Dec 2012, at 12:37, Dmitry Stogov wrote: > > > I'm going to take a deep look into trait implementation and provide a > > better solution for 5.5. > > The current implementation is really wired and makes a lot of troubles > for > > maintenance and each new fix, makes new troubles :( > Sorry, that's mostly me lacking understanding of the PHP internals. > And there are many wired corner cases that have to be covered. > > > I'm going to work on it with top priority during last few days and then > > send a patch. > > Thanks for looking into it. > I'll be able to test things over christmas. > > Best regards > Stefan > > > -- > Stefan Marr > Software Languages Lab > Vrije Universiteit Brussel > Pleinlaan 2 / B-1050 Brussels / Belgium > http://soft.vub.ac.be/~smarr > Phone: +32 2 629 2974 > Fax: +32 2 629 3525 > > --e89a8fb1f5002ac93404d15daa87--