On Tuesday, 23 January 2018 at 00:00:38 UTC, aliak wrote:
Hi, I'm trying to get a list of only member functions of a
struct. I've found that if you do not declare a struct as
static inside a scope, then there's a hidden "this" member as
part of the struct. Can someone explain the logic there?
On Wednesday, 24 January 2018 at 02:01:54 UTC, Jonathan M Davis
wrote:
On Wednesday, January 24, 2018 01:48:45 Alex via
Digitalmars-d-learn wrote:
the story of
https://forum.dlang.org/thread/qknxjxzbaowmsjdng...@forum.dlang.org continues
How can this be?
void main()
{
auto s = S();
On Wednesday, January 24, 2018 01:48:45 Alex via Digitalmars-d-learn wrote:
> the story of
> https://forum.dlang.org/thread/qknxjxzbaowmsjdng...@forum.dlang.org
> continues
>
> How can this be?
>
> void main()
> {
> auto s = S();
> auto t = T!s();
> assert(typeof(t).dummy == null);
On Wednesday, 24 January 2018 at 01:48:45 UTC, Alex wrote:
Ah... I figured it out.
For using the function of S, an object does not have to exist...
And in case I would return a member from S, there is a
segmentation violation, as expected.
So, everything is ok.
Sorry for noise.
the story of
https://forum.dlang.org/thread/qknxjxzbaowmsjdng...@forum.dlang.org
continues
How can this be?
void main()
{
auto s = S();
auto t = T!s();
assert(typeof(t).dummy == null);
assert(t.dummy == null);
t.foo;
}
struct S
{
auto fun()
{
return 42;
On Tuesday, 23 January 2018 at 23:22:09 UTC, Steven Schveighoffer
wrote:
So, if change the fun to static, it cannot pickup the pointer
and therefore can't call anything of the aliased object. If I
get it right...
I think so. But this is a guess, as the generated call clearly
never uses
On 1/23/18 6:08 PM, Alex wrote:
On Tuesday, 23 January 2018 at 22:59:31 UTC, Steven Schveighoffer wrote:
On 1/23/18 5:52 PM, Steven Schveighoffer wrote:
I don't know the reason. You would think that accessing s would be
relative to T.fun's stack frame, and have nothing to do with an
instance
On Tuesday, 23 January 2018 at 22:59:31 UTC, Steven Schveighoffer
wrote:
On 1/23/18 5:52 PM, Steven Schveighoffer wrote:
I don't know the reason. You would think that accessing s
would be relative to T.fun's stack frame, and have nothing to
do with an instance of T.
using -vcg-ast gives a
On 1/23/18 5:52 PM, Steven Schveighoffer wrote:
I don't know the reason. You would think that accessing s would be
relative to T.fun's stack frame, and have nothing to do with an instance
of T.
using -vcg-ast gives a hint:
https://run.dlang.io/is/MZHPTY
Note that the T!(s) struct has a
On Tuesday, 23 January 2018 at 22:52:47 UTC, Steven Schveighoffer
wrote:
No:
void main()
{
auto s = S();
auto t = T!s();
t.fun;
}
struct S { void fun(){} }
struct T(alias s){ static fun() { s.fun; } }
Fails in 2.078.
I don't know the reason. You would think that accessing s would
On 1/23/18 5:33 PM, Ali Çehreli wrote:
On 01/23/2018 01:51 PM, Alex wrote:
> Ok, I'm quite sure, I overlooked something.
>
> First version, working
>
> [code]
> void main()
> {
> auto s = S();
> auto t = T!s();
> t.fun;
> }
> struct S { void fun(){} }
> struct T(alias
On Tuesday, 23 January 2018 at 22:33:31 UTC, Ali Çehreli wrote:
On 01/23/2018 01:51 PM, Alex wrote:
> Ok, I'm quite sure, I overlooked something.
>
> First version, working
>
> [code]
> void main()
> {
> auto s = S();
> auto t = T!s();
> t.fun;
> }
> struct S { void fun(){} }
>
On 01/23/2018 01:51 PM, Alex wrote:
> Ok, I'm quite sure, I overlooked something.
>
> First version, working
>
> [code]
> void main()
> {
> auto s = S();
> auto t = T!s();
> t.fun;
> }
> struct S { void fun(){} }
> struct T(alias s){ auto fun() { s.fun; } }
> [/code]
>
> Now, the
Ok, I'm quite sure, I overlooked something.
First version, working
[code]
void main()
{
auto s = S();
auto t = T!s();
t.fun;
}
struct S { void fun(){} }
struct T(alias s){ auto fun() { s.fun; } }
[/code]
Now, the fun method of struct T has to become static and the
On Monday, 22 January 2018 at 19:38:45 UTC, John Gabriele wrote:
On Monday, 22 January 2018 at 15:32:29 UTC, Adam D. Ruppe wrote:
On Monday, 22 January 2018 at 15:18:38 UTC, Johann wrote:
Maybe it's due to historical reasons.
It's actually "future" reasons... the /phobos is the original
15 matches
Mail list logo