On Sunday, 25 April 2021 at 12:54:43 UTC, Jack wrote:
I find out this later. I give up trying to get this in
automatic way at compile time
That's because the type might not be known at compile time at
all, it might come from like a plugin loaded at run time and only
ever accessed through the
On Sunday, 25 April 2021 at 08:36:51 UTC, Adam D. Ruppe wrote:
On Sunday, 25 April 2021 at 03:45:13 UTC, Jack wrote:
that's better, thanks
Imporant to remember that any compile time thing will be the
static type. If someone does:
Base a = new Derived();
a.something();
it will still show up
On Sunday, 25 April 2021 at 03:45:13 UTC, Jack wrote:
that's better, thanks
Imporant to remember that any compile time thing will be the
static type. If someone does:
Base a = new Derived();
a.something();
it will still show up as Base in the this template. The knowledge
that it is actuall
On Sunday, 25 April 2021 at 02:45:38 UTC, Paul Backus wrote:
On Sunday, 25 April 2021 at 02:26:00 UTC, Jack wrote:
doesn't this work when called from member in a derived class?
```d
class A
{
void doSomething(this T)()
{
writefln("name = [%s]", __traits(identif
On Sunday, 25 April 2021 at 02:26:00 UTC, Jack wrote:
doesn't this work when called from member in a derived class?
```d
class A
{
void doSomething(this T)()
{
writefln("name = [%s]", __traits(identifier, T));
}
}
class K : A
{
void baa()
On Sunday, 25 April 2021 at 02:26:00 UTC, Jack wrote:
On Sunday, 25 April 2021 at 02:02:47 UTC, Ali Çehreli wrote:
On 4/24/21 6:50 PM, Jack wrote:
I'd like to output `K` and get this identifier at compile
time.
This is solved by the "this template parameter":
import std.stdio;
class A {
v
On Sunday, 25 April 2021 at 02:02:47 UTC, Ali Çehreli wrote:
On 4/24/21 6:50 PM, Jack wrote:
I'd like to output `K` and get this identifier at compile time.
This is solved by the "this template parameter":
import std.stdio;
class A {
void showMyName(this T)() {
writefln("name = [%s]",
On Sunday, 25 April 2021 at 02:02:47 UTC, Ali Çehreli wrote:
On 4/24/21 6:50 PM, Jack wrote:
I'd like to output `K` and get this identifier at compile time.
This is solved by the "this template parameter":
import std.stdio;
class A {
void showMyName(this T)() {
writefln("name = [%s]",
On 4/24/21 6:50 PM, Jack wrote:
I'd like to output `K` and get this identifier at compile time.
This is solved by the "this template parameter":
import std.stdio;
class A {
void showMyName(this T)() {
writefln("name = [%s]", __traits(identifier, T));
}
}
class K : A { }
void main()
```d
class A
{
void showMyName()
{
writefln("name = [%s]", __traits(identifier, typeof(this)));
}
}
class K : A { }
```
then
```d
new K().showMyName();
```
output:
name = [A]
I'd like to output `K` and get this identifier at compile time.
But I'd to d
10 matches
Mail list logo