static struct Foo{ ControlBlock!(int, int) c; int i; this(int i)pure nothrow @safe @nogc{ this.i = i; } } { IntrusivePtr!Foo x = IntrusivePtr!Foo.make(123); IntrusivePtr!Foo y = IntrusivePtr!Foo.make(123); assert(x.toHash == x.toHash); assert(y.toHash == y.toHash); assert(x.toHash != y.toHash); IntrusivePtr!(const Foo) z = x; assert(x.toHash == z.toHash); } { IntrusivePtr!Foo x; IntrusivePtr!(const Foo) y; assert(x.toHash == x.toHash); assert(y.toHash == y.toHash); assert(x.toHash == y.toHash); }
Generate hash
Return: Address of payload as size_t