@@ -14,7 +14,9 @@ module mir.serde;
1414import mir.functional: naryFun;
1515import mir.reflection;
1616import std.meta : AliasSeq;
17- import std.traits : TemplateArgsOf, EnumMembers, hasUDA, isAggregateType;
17+ import std.traits : TemplateArgsOf, EnumMembers, isAggregateType;
18+ import mir.internal.meta: hasUDA;
19+ import mir.reflection: getUDA;
1820
1921version (D_Exceptions)
2022{
@@ -612,7 +614,6 @@ version(mir_test) unittest
612614 double d = 0 ; // skips field if 0 during deserialization
613615 }
614616
615- import std.traits : hasUDA;
616617
617618 static assert (hasUDA! (S.d, serdeIgnoreDefault));
618619}
@@ -636,7 +637,6 @@ version(mir_test) unittest
636637 double d;
637638 }
638639
639- import std.traits : hasUDA;
640640
641641 static assert (hasUDA! (S.d, serdeProxy));
642642 static assert (hasUDA! (S.d, serdeProxy! (SmallString! 32 )));
@@ -1074,7 +1074,7 @@ Final proxy type
10741074template serdeGetFinalProxy (T)
10751075{
10761076 import mir.timestamp: Timestamp;
1077- import std.traits : hasUDA, isAggregateType;
1077+ import std.traits : isAggregateType;
10781078 static if (isAggregateType! T || is (T == enum ))
10791079 {
10801080 static if (hasUDA! (T, serdeProxy))
@@ -1120,7 +1120,7 @@ Final deep proxy type
11201120template serdeGetFinalDeepProxy (T)
11211121{
11221122 import mir.timestamp: Timestamp;
1123- import std.traits : Unqual, hasUDA, isAggregateType, isArray, ForeachType;
1123+ import std.traits : Unqual, isAggregateType, isArray, ForeachType;
11241124 static if (isAggregateType! T || is (T == enum ))
11251125 {
11261126 static if (hasUDA! (T, serdeProxy))
@@ -1348,7 +1348,6 @@ Deserialization member final proxy type
13481348+/
13491349template serdeFinalDeserializationMemberType (T, string member)
13501350{
1351- import std.traits : hasUDA;
13521351 static if (hasUDA! (__traits(getMember, T, member), serdeProxy))
13531352 {
13541353 alias serdeFinalDeserializationMemberType = serdeGetFinalProxy! (serdeGetProxy! (__traits(getMember, T, member)));
@@ -1438,7 +1437,6 @@ Serialization member final proxy type
14381437+/
14391438template serdeFinalSerializationMemberType (T, string member)
14401439{
1441- import std.traits : hasUDA;
14421440 static if (hasUDA! (__traits(getMember, T, member), serdeProxy))
14431441 {
14441442 alias serdeFinalSerializationMemberType = serdeGetFinalProxy! (serdeGetProxy! (__traits(getMember, T, member)));
@@ -2018,7 +2016,6 @@ A dummy structure usefull $(LREF serdeOrderedIn) support.
20182016struct SerdeOrderedDummy (T, bool __optionalByDefault = false )
20192017 if (is (serdeGetFinalProxy! T == T) && isAggregateType!T)
20202018{
2021- import std.traits : hasUDA;
20222019
20232020 @serdeIgnore
20242021 SerdeFlags! (typeof (this )) __serdeFlags;
0 commit comments