Re: how to reflect on function attributes

2013-06-05 Thread Ellery Newcomer

On 06/05/2013 12:02 AM, Jonathan M Davis wrote:

On Wednesday, June 05, 2013 08:52:35 lomereiter wrote:

This doesn't work when the method is marked as @property. Any
idea why is that so?

On Wednesday, 5 June 2013 at 02:19:38 UTC, Jonathan M Davis wrote:

is(typeof(A.func) == const)

- Jonathan M Davis


I don't know. My first guess would be that it thought that it was calling it
except that it's being referenced by the type, not by an instance, so that
doesn't really make sense.

- Jonathan M Davis


P.S. Please don't top-post. It makes it harder to follow posts and is
generally considered bad newsgroup etiquette.





pragma(msg, is(FunctionTypeOf!(A.func) == const));


Re: how to reflect on function attributes

2013-06-05 Thread Jonathan M Davis
On Wednesday, June 05, 2013 08:52:35 lomereiter wrote:
> This doesn't work when the method is marked as @property. Any
> idea why is that so?
> 
> On Wednesday, 5 June 2013 at 02:19:38 UTC, Jonathan M Davis wrote:
> > is(typeof(A.func) == const)
> > 
> > - Jonathan M Davis

I don't know. My first guess would be that it thought that it was calling it 
except that it's being referenced by the type, not by an instance, so that 
doesn't really make sense.

- Jonathan M Davis


P.S. Please don't top-post. It makes it harder to follow posts and is 
generally considered bad newsgroup etiquette.


Re: how to reflect on function attributes

2013-06-04 Thread lomereiter
This doesn't work when the method is marked as @property. Any 
idea why is that so?


On Wednesday, 5 June 2013 at 02:19:38 UTC, Jonathan M Davis wrote:


is(typeof(A.func) == const)

- Jonathan M Davis




Re: how to reflect on function attributes

2013-06-04 Thread Ali Çehreli

On 06/04/2013 07:03 PM, Ellery Newcomer wrote:

> specifically, const, eg.
>
> class A { void func() const { blah } }
>
> std.traits.FunctionAttributes makes no mention of it

Not that it adds more information over the spec, but I have finished the 
translation of the "is Expression" chapter just yesterday:


  http://ddili.org/ders/d.en/is_expr.html

Ali



Re: how to reflect on function attributes

2013-06-04 Thread Ellery Newcomer

On 06/04/2013 07:43 PM, Jonathan M Davis wrote:

On Tuesday, June 04, 2013 19:23:45 Ellery Newcomer wrote:

On 06/04/2013 07:19 PM, Jonathan M Davis wrote:

On Tuesday, June 04, 2013 19:03:47 Ellery Newcomer wrote:

specifically, const, eg.

class A { void func() const { blah } }

std.traits.FunctionAttributes makes no mention of it


is(typeof(A.func) == const)

- Jonathan M Davis


I think that is for type only. It returns false for me.


What do you mean for type only? const is part of the type. What else would it
be part of? For the code example that you gave (minus the blah in the middle),
it returns true.

- Jonathan M Davis



Ah, you're right. don't know how I screwed that up.


Re: how to reflect on function attributes

2013-06-04 Thread Ellery Newcomer


Ah, you're right. don't know how I screwed that up.


Yes I do. I was trying to use typeof(&A.func)


Re: how to reflect on function attributes

2013-06-04 Thread Jonathan M Davis
On Tuesday, June 04, 2013 19:23:45 Ellery Newcomer wrote:
> On 06/04/2013 07:19 PM, Jonathan M Davis wrote:
> > On Tuesday, June 04, 2013 19:03:47 Ellery Newcomer wrote:
> >> specifically, const, eg.
> >> 
> >> class A { void func() const { blah } }
> >> 
> >> std.traits.FunctionAttributes makes no mention of it
> > 
> > is(typeof(A.func) == const)
> > 
> > - Jonathan M Davis
> 
> I think that is for type only. It returns false for me.

What do you mean for type only? const is part of the type. What else would it 
be part of? For the code example that you gave (minus the blah in the middle), 
it returns true.

- Jonathan M Davis


Re: how to reflect on function attributes

2013-06-04 Thread Ellery Newcomer

On 06/04/2013 07:19 PM, Jonathan M Davis wrote:

On Tuesday, June 04, 2013 19:03:47 Ellery Newcomer wrote:

specifically, const, eg.

class A { void func() const { blah } }

std.traits.FunctionAttributes makes no mention of it


is(typeof(A.func) == const)

- Jonathan M Davis



I think that is for type only. It returns false for me.


Re: how to reflect on function attributes

2013-06-04 Thread Jonathan M Davis
On Tuesday, June 04, 2013 19:03:47 Ellery Newcomer wrote:
> specifically, const, eg.
> 
> class A { void func() const { blah } }
> 
> std.traits.FunctionAttributes makes no mention of it

is(typeof(A.func) == const)

- Jonathan M Davis