[Issue 9971] eponymous function is not an lvalue
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Sat Apr 20 22:45:09 PDT 2013
http://d.puremagic.com/issues/show_bug.cgi?id=9971
--- Comment #4 from Ellery Newcomer <ellery-newcomer at utulsa.edu> 2013-04-20 22:45:05 PDT ---
(In reply to comment #3)
>
> Sorry I don't see your point. Note, that second message is printed irrespective
> to instantiation and none of the messages is sensitive to what T is really is.
My point is that inside the struct template, T without any template
instantiation refers to the instantiated struct:
import std.traits;
void main() {
alias T!(int) t1;
}
struct T(j) {
T foo() {
T t;
return t;
}
}
static assert(is(ReturnType!(T!int.foo) == T!int));
static assert(is(ReturnType!(T!double.foo) == T!double));
But in a templated function, T refers to the template:
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list