diff --git a/src/core/thread/fiber.d b/src/core/thread/fiber.d index 23f49850c8..27712e81ec 100644 --- a/src/core/thread/fiber.d +++ b/src/core/thread/fiber.d @@ -603,14 +603,9 @@ class Fiber */ this( void delegate() dg, size_t sz = PAGESIZE * defaultStackPages, size_t guardPageSize = PAGESIZE ) nothrow - in - { - assert( dg ); - } - do { allocStack( sz, guardPageSize ); - reset( dg ); + reset( cast(void delegate() const) dg ); } diff --git a/src/core/thread/threadbase.d b/src/core/thread/threadbase.d index e758bdc16e..170bb65f5e 100644 --- a/src/core/thread/threadbase.d +++ b/src/core/thread/threadbase.d @@ -105,8 +105,8 @@ class ThreadBase m_call = fn; } - this(void delegate() dg, size_t sz = 0) @safe pure nothrow @nogc - in(dg) + this(void delegate() dg, size_t sz = 0) @trusted pure nothrow @nogc + in( cast(void delegate() const) dg) { this(sz); m_call = dg; diff --git a/src/object.d b/src/object.d index c8eb7ca636..eda89a8993 100644 --- a/src/object.d +++ b/src/object.d @@ -1481,7 +1481,7 @@ class TypeInfo_Delegate : TypeInfo override size_t getHash(scope const void* p) @trusted const { - return hashOf(*cast(void delegate()*)p); + return hashOf(*cast(void delegate() const *)p); } override bool equals(in void* p1, in void* p2) const