Descent 0.5.4 released

Jason House jason.james.house at gmail.com
Thu Jan 29 16:56:09 PST 2009


Ary Borenszweig wrote:

>>> Is that what you mean?
>> 
>> 
>> No :(
>> Templates are designed to do compile-time magic based on their input
>> arguments. Currently, I can't see that magic in the compile-time view.
>> The templates I looked at were still template foo(T) instead of somehow
>> showing the bodies for foo!(int) and foo!(char)
> 
> I can't expand every template instantiation because then it will be a
> mess, and the code formatter also won't work.
> 
> You can try pressing ctrl+shift and hovering the template instance. It
> should show you it's content (removing false static ifs and stuff).
> 
> Is this what you mean? Can you provide an example?

I have no great example handy, but I tried doing the equivalent of this example (dmd 2.022):

import std.algorithm;
void main(){
  auto x = sort!("a<b")([2,3,5,4]);
}

Sadly, nothing happens with the ctrl+shift+hover trick.  The compile time view reports it as missing.  I checked the user libraries to make sure it was ok.  I have two: druntime and phobos.  The phobos path displays as usr/local/src/phobos (I navigated to /usr/local/src/phobos through the gui to select it).  I see the std subdirectory and algorithm.d inside of it.  I don't know what is going wrong with finding the import.

sort is really a wrapper around sortImpl, which has two bodies inside a static if.  It's trivial to figure out which one is used, but it'd be nice to have a way to see what was really done without all the static if's.


More information about the Digitalmars-d-announce mailing list