@@ -101,6 +101,21 @@ ForwardDiff.:≺(::Type{OuterTestTag}, ::Type{TestTag}) = false
101101 @test ForwardDiff. valtype(NESTED_FDNUM) == Dual{TestTag,V,M}
102102 @test ForwardDiff. valtype(typeof(NESTED_FDNUM)) == Dual{TestTag,V,M}
103103
104+ @test ForwardDiff. valtype(TestTag, FDNUM) == V
105+ @test ForwardDiff. valtype(TestTag, typeof(FDNUM)) == V
106+ @test ForwardDiff. valtype(TestTag, NESTED_FDNUM) == Dual{TestTag,V,M}
107+ @test ForwardDiff. valtype(TestTag, typeof(NESTED_FDNUM)) == Dual{TestTag,V,M}
108+
109+ @test ForwardDiff. valtype(OuterTestTag, FDNUM) == Dual{TestTag,V,N}
110+ @test ForwardDiff. valtype(OuterTestTag, typeof(FDNUM)) == Dual{TestTag,V,N}
111+ @test ForwardDiff. valtype(OuterTestTag, NESTED_FDNUM) == Dual{TestTag,Dual{TestTag,V,M},N}
112+ @test ForwardDiff. valtype(OuterTestTag, typeof(NESTED_FDNUM)) == Dual{TestTag,Dual{TestTag,V,M},N}
113+
114+ @test_throws ForwardDiff. DualMismatchError(TestTag, OuterTestTag) ForwardDiff. valtype(TestTag, Dual{OuterTestTag}(PRIMAL, PARTIALS))
115+ @test_throws ForwardDiff. DualMismatchError(TestTag, OuterTestTag) ForwardDiff. valtype(TestTag, typeof(Dual{OuterTestTag}(PRIMAL, PARTIALS)))
116+ @test_throws ForwardDiff. DualMismatchError(TestTag, OuterTestTag) ForwardDiff. valtype(TestTag, Dual{OuterTestTag}(Dual{TestTag}(PRIMAL, M_PARTIALS), NESTED_PARTIALS))
117+ @test_throws ForwardDiff. DualMismatchError(TestTag, OuterTestTag) ForwardDiff. valtype(TestTag, typeof(Dual{OuterTestTag}(Dual{TestTag}(PRIMAL, M_PARTIALS), NESTED_PARTIALS)))
118+
104119 # ####################
105120 # Generic Functions #
106121 # ####################
0 commit comments