same question with how to wrap a gc function inside a nogc shell, if not, allowing a flag -ignore_nogc that'd enable this (again, for debugging purposes)
On Wed, Feb 7, 2018 at 7:29 PM, Timothee Cour <[email protected]> wrote: > while hacking into druntime and adding temporary debug information (eg > with custom logging etc) I had a hard time making things compile > because lots of functions are pure nothrow safe, resulting in compile > errors when my custom debugging functions are not pure nothrow safe. > > > How about adding flags ` -ignore_pure` (and perhaps -ignore_safe > -ignore_nothrow) to allow code to compile ignoring safe, pure, nothrow > mismatches? > > This would be meant for temporary debugging obviously, production code > would not enable these flags. > > my workaround for nothrow and safe attributes is to call via wrapNothrow!fun: > > @trusted > nothrow auto wrapNothrow(alias fun, T...)(T a){ > import std.exception; > try{ > return fun(a); > } > catch(Exception t){ > assert(0, t.msg); > } > } > > What would be a workaround to wrap a non-pure function?
