diff --git a/source/dyaml/loader.d b/source/dyaml/loader.d index 99a8458..54e2d0e 100644 --- a/source/dyaml/loader.d +++ b/source/dyaml/loader.d @@ -242,7 +242,18 @@ struct Loader * * Throws: YAMLException on a parsing error. */ - int opApply(int delegate(ref Node) dg) @trusted + int opApply(int delegate(ref Node) @safe dg) @safe + { + return opApplyImpl(dg); + } + /// Ditto + int opApply(int delegate(ref Node) @system dg) @system + { + return opApplyImpl(dg); + } + + package: + int opApplyImpl(T)(T dg) in { assert(!done_, "Loader: Trying to load YAML twice"); @@ -271,8 +282,6 @@ struct Loader .format(name_, e.msg)); } } - - package: // Scan and return all tokens. Used for debugging. Token[] scan() @safe {