@@ -14,7 +14,9 @@ module mir.serde;
14
14
import mir.functional: naryFun;
15
15
import mir.reflection;
16
16
import 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;
18
20
19
21
version (D_Exceptions)
20
22
{
@@ -612,7 +614,6 @@ version(mir_test) unittest
612
614
double d = 0 ; // skips field if 0 during deserialization
613
615
}
614
616
615
- import std.traits : hasUDA;
616
617
617
618
static assert (hasUDA! (S.d, serdeIgnoreDefault));
618
619
}
@@ -636,7 +637,6 @@ version(mir_test) unittest
636
637
double d;
637
638
}
638
639
639
- import std.traits : hasUDA;
640
640
641
641
static assert (hasUDA! (S.d, serdeProxy));
642
642
static assert (hasUDA! (S.d, serdeProxy! (SmallString! 32 )));
@@ -1074,7 +1074,7 @@ Final proxy type
1074
1074
template serdeGetFinalProxy (T)
1075
1075
{
1076
1076
import mir.timestamp: Timestamp;
1077
- import std.traits : hasUDA, isAggregateType;
1077
+ import std.traits : isAggregateType;
1078
1078
static if (isAggregateType! T || is (T == enum ))
1079
1079
{
1080
1080
static if (hasUDA! (T, serdeProxy))
@@ -1120,7 +1120,7 @@ Final deep proxy type
1120
1120
template serdeGetFinalDeepProxy (T)
1121
1121
{
1122
1122
import mir.timestamp: Timestamp;
1123
- import std.traits : Unqual, hasUDA, isAggregateType, isArray, ForeachType;
1123
+ import std.traits : Unqual, isAggregateType, isArray, ForeachType;
1124
1124
static if (isAggregateType! T || is (T == enum ))
1125
1125
{
1126
1126
static if (hasUDA! (T, serdeProxy))
@@ -1348,7 +1348,6 @@ Deserialization member final proxy type
1348
1348
+/
1349
1349
template serdeFinalDeserializationMemberType (T, string member)
1350
1350
{
1351
- import std.traits : hasUDA;
1352
1351
static if (hasUDA! (__traits(getMember, T, member), serdeProxy))
1353
1352
{
1354
1353
alias serdeFinalDeserializationMemberType = serdeGetFinalProxy! (serdeGetProxy! (__traits(getMember, T, member)));
@@ -1438,7 +1437,6 @@ Serialization member final proxy type
1438
1437
+/
1439
1438
template serdeFinalSerializationMemberType (T, string member)
1440
1439
{
1441
- import std.traits : hasUDA;
1442
1440
static if (hasUDA! (__traits(getMember, T, member), serdeProxy))
1443
1441
{
1444
1442
alias serdeFinalSerializationMemberType = serdeGetFinalProxy! (serdeGetProxy! (__traits(getMember, T, member)));
@@ -2018,7 +2016,6 @@ A dummy structure usefull $(LREF serdeOrderedIn) support.
2018
2016
struct SerdeOrderedDummy (T, bool __optionalByDefault = false )
2019
2017
if (is (serdeGetFinalProxy! T == T) && isAggregateType!T)
2020
2018
{
2021
- import std.traits : hasUDA;
2022
2019
2023
2020
@serdeIgnore
2024
2021
SerdeFlags! (typeof (this )) __serdeFlags;
0 commit comments