[Issue 6394] template type constraints embedded in the function parameters.

2014-03-19 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=6394


Infiltrator lt.infiltra...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||lt.infiltra...@gmail.com
 Resolution||WORKSFORME


--- Comment #2 from Infiltrator lt.infiltra...@gmail.com 2014-03-19 19:13:36 
PDT ---
The proposed code compiles as of v2.065.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 6394] template type constraints embedded in the function parameters.

2011-07-28 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6394



--- Comment #1 from Gor Gyolchanyan g...@boloneum.com 2011-07-28 08:49:18 PDT 
---
Given the code:

---

template SomeStruct(Type)
{
static if(is(Type == struct) || is(Type == class) || is(Type == interface))
enum StaticStruct = true;
else
enum StaticStruct = false;
}

---

I suggest a syntax sugar for template functions:

---

void f(SomeStruct s)
{
}

---

be transformed into:

---

void f(Type_0_)(Type_0_ s)
if(SomeStruct!Type_0_)
{
}

---

IF the given type isn't a valid type, it'll search for a template, that takes a
single type and evaluates to a bool and transform the function if the type name
is such a template.

this would greatly increase the readability of generic functions and allow to
avoid creating enormous template constraints, as well as provide a better
diagnostics, like the type T is not a SomeStruct or something like that.

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---