From 9c65fd174cd09254cff5fff316beb146cb159e4a Mon Sep 17 00:00:00 2001 From: Cameron Ross Date: Sun, 5 May 2019 14:57:55 -0300 Subject: [PATCH] skip non-public members - fixes compilation on DMD 2.086 --- source/siryul/dyaml.d | 4 ++-- source/siryul/json.d | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source/siryul/dyaml.d b/source/siryul/dyaml.d index b99db5c..4b1549f 100644 --- a/source/siryul/dyaml.d +++ b/source/siryul/dyaml.d @@ -104,7 +104,7 @@ private T fromYAML(T, BitFlags!DeSiryulize flags)(Node node) if (!isInfinite!T) alias Undecorated = T; } foreach (member; FieldNameTuple!Undecorated) { - static if (__traits(compiles, __traits(getMember, Undecorated, member))) { + static if (__traits(getProtection, __traits(getMember, Undecorated, member)) == "public") { alias field = AliasSeq!(__traits(getMember, Undecorated, member)); enum memberName = getMemberName!field; static if ((hasUDA!(field, Optional) || (!!(flags & DeSiryulize.optionalByDefault))) || hasIndirections!(typeof(field))) { @@ -204,7 +204,7 @@ private @property Node toYAML(BitFlags!Siryulize flags, T)(T type, string path = static string[] empty; Node output = Node(empty, empty); foreach (member; FieldNameTuple!Undecorated) { - static if (__traits(compiles, getMemberName!(__traits(getMember, Undecorated, member)))) { + static if (__traits(getProtection, __traits(getMember, Undecorated, member)) == "public") { debug string newPath = path~"."~member; else string newPath = ""; static if (!!(flags & Siryulize.omitInits)) { diff --git a/source/siryul/json.d b/source/siryul/json.d index 4e13914..628d2b7 100644 --- a/source/siryul/json.d +++ b/source/siryul/json.d @@ -84,7 +84,7 @@ private T fromJSON(T, BitFlags!DeSiryulize flags)(JSONValue node, string path = alias Undecorated = T; } foreach (member; FieldNameTuple!Undecorated) { - static if (__traits(compiles, __traits(getMember, Undecorated, member))) { + static if (__traits(getProtection, __traits(getMember, Undecorated, member)) == "public") { debug string newPath = path~"."~member; else string newPath = ""; alias field = AliasSeq!(__traits(getMember, Undecorated, member)); @@ -197,7 +197,7 @@ private @property JSONValue toJSON(BitFlags!Siryulize flags, T)(T type) if (!isI string[string] arr; output = JSONValue(arr); foreach (member; FieldNameTuple!Undecorated) { - static if (__traits(compiles, getMemberName!(__traits(getMember, Undecorated, member)))) { + static if (__traits(getProtection, __traits(getMember, Undecorated, member)) == "public") { static if (!!(flags & Siryulize.omitInits)) { static if (isNullable!(typeof(__traits(getMember, T, member)))) { if (__traits(getMember, type, member).isNull) {