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