DMD 1.031 and 2.015 templates

Lars Ivar Igesund larsivar at igesund.net
Wed Jun 18 01:40:11 PDT 2008


Lars Ivar Igesund wrote:

> Walter Bright wrote:
> 
>> Some new stuff to make writing templates easier.
>> 
>> http://www.digitalmars.com/d/1.0/changelog.html
>> http://ftp.digitalmars.com/dmd.1.030.zip
> 
> (Wrong zip link ^)
> 
> Something broke, probably due to the fix in 617 and/or 1383:
> 
> Given
> 
> T[] layout(T) (T[] output, T[][] layout ...)
> 
> the following code
> 
> T[] format(T) (T[] output, Time t) {
> 
> T[] convert (T[] tmp, long i)
> {
>     return Integer.formatter!(T) (tmp, i, 'u', 0, 8);
> }
> 
> return layout (output, "%0, %1 %2 %3 %4:%5:%6 GMT",
>                             Days[date.dow],
>                             convert (tmp[0..2], date.day),
>                             Months[date.month-1],
>                             convert (tmp[2..6], date.year),
>                             convert (tmp[6..8], time.hours),
>                             convert (tmp[8..10], time.minutes),
>                             convert (tmp[10..12], time.seconds)
>                            );
> }
> 
> results in
> 
> :template layout(T) does not match any template declaration
> :template layout(T) cannot deduce template function from argument types
>
(wchar[],char[25u],wchar[],wchar[],wchar[],wchar[],wchar[],wchar[],wchar[])
> 
> I tested adding w at the end of the literal, something that resulted in
> the following message instead.
> 
> :template layout(T) cannot deduce template function from argument types
> (char[],wchar[25u],char[],char[],char[],char[],char[],char[],char[])
> 
> In effect, the above makes this release unusable.
> 

I should add that format is called with a wchar[].

-- 
Lars Ivar Igesund
blog at http://larsivi.net
DSource, #d.tango & #D: larsivi
Dancing the Tango


More information about the Digitalmars-d-announce mailing list