<p>Yes.  At least as the compiler would say.  It's a little odd but I believe that is how the D Nam mangling works.  I personally just think of Foo!(Class) as the type.</p>
<div class="gmail_quote">On Feb 17, 2012 8:05 AM, "kraybourne" <<a href="mailto:stdin@kraybourne.com">stdin@kraybourne.com</a>> wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On 2/17/12 1:51 PM, Kevin Cox wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The error message is saying that you are trying to use Foo as a type but<br>
Foo is not a type, it is a template for a type.<br>
<br>
</blockquote>
<br>
Ah, so module.Foo is really not a class, but a template? I think I get it! Thanks!<br>
<br>
(Is then module.Foo(int).Foo the actual class type? I think I've seen errors like that pop up...)<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
On Feb 17, 2012 7:20 AM, "kraybourne" <<a href="mailto:stdin@kraybourne.com" target="_blank">stdin@kraybourne.com</a><br>
<mailto:<a href="mailto:stdin@kraybourne.com" target="_blank">stdin@kraybourne.com</a>>> wrote:<br>
<br>
    Hi!<br>
<br>
    This doesn't work:<br>
<br>
            import std.stdio;<br>
            class Foo(T)<br>
            {<br>
                    T t;<br>
                    this(T val)<br>
                    {<br>
                            t = val;<br>
                    }<br>
            }<br>
<br>
            void main()<br>
            {<br>
                    auto o = new Foo(5);<br>
            }<br>
            _____<br>
<br>
            $ dmd foo<br>
            foo.d(13): Error: class foo.Foo(T) is used as a type<br>
            $ _<br>
<br>
    So I must<br>
<br>
            auto o = new Foo!(int)(5);<br>
<br>
    Then it compiles. Is it possible to have this() figure out the type<br>
    some way? (In this particular example it's perhaps not such a big<br>
    deal. But imagine a lot more args.)<br>
<br>
    (Side note: What _does_ that error message mean? I don't get it.)<br>
<br>
    thanks<br>
    /krbrn<br>
<br>
</blockquote>
<br>
</blockquote></div>