<br><br><div class="gmail_quote">On Sat, Jan 5, 2013 at 11:14 PM, Walter Bright <span dir="ltr"><<a href="mailto:newshound2@digitalmars.com" target="_blank">newshound2@digitalmars.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On 1/5/2013 2:06 PM, Philippe Sigaud wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
But why is @(MyType) accepted, whereas @(int) is not?<br>
</blockquote>
<br></div>
Because it's looking for an expression inside the parents, and int is not an expression.<br>
<br></blockquote><div><br></div><div>Well, first that would be nice to have the grammar online :)</div><div><br></div><div>Even if I understand the grammar restriction, from a user PoV this is quite unexpected: a built-in type is a completely legal part of a D tuple. Either it should be restricted to user-defined types (something I don't like), or, if attributes are supposed to be tuples, then any tuple element should be authorized.</div>
<div><br></div><div>And I will not buy a possible argument saying that I can wrap an int inside a user-defined type. Yes, I can. But then, there is the same solution for @(3) or @("Hello") and *these* are legal.</div>
<div><br></div><div><br></div></div>