dmd 1.073 and 2.058 release

Caligo iteronvexor at gmail.com
Wed Feb 15 22:10:20 PST 2012


On Wed, Feb 15, 2012 at 2:26 AM, Jonathan M Davis <jmdavisProg at gmx.com> wrote:
> On Tuesday, February 14, 2012 23:38:33 Bill Baxter wrote:
>> > On Tuesday, February 14, 2012 20:47:27 Walter Bright wrote:
>> > * Allow 1.userproperty syntax
>>
>> Where is this odd-sounding beast documented?
>>
>> And what is UFCS?
>
> Universal Function Call Syntax. The idea is that any function can be called as
> if it were a member function. The member function call syntax that arrays have
> is a version of this but isn't general/universal, whereas _universal_ function
> call syntax would apply to all types. So, stuff like 1.abs() and 5.max(3)
> become legal. It also means that you can declare functions which take a class
> or struct as their first parameter and call them as if they were member
> functions of that class/struct.
>
> But it can introduce ambiguities - especially when dealing with structs or
> classes which can have member functions of their own. So, there's been some
> debate as to how it should be implemented - or even _if_ it should be
> implemented, though the basic idea is fairly popular.
>
> From the sound of it, at least property functions with integers can now be
> used with UFCS, since at least that level of UFCS is required to declare
> properties for built-in types.
>
> @property auto prop(int value) { ... }
> auto value = 7.prop;
>
> But that's just a guess, asthe changelog obviously isn't very descriptive. So,
> I have no idea what exactly has been implemented for that one line in the
> changelog - hence my question.
>
> - Jonathan M Davis


float x = 1.f;  // GIVES ERROR

float y = 0.f;  // OK

what's up with that?  Is that a bug?


More information about the Digitalmars-d-announce mailing list