@@ -60,21 +60,19 @@ function Measurement(val::V, err::E, tag::UInt64,
60
60
return Measurement (T (val), T (err), tag, Derivatives {T} (der))
61
61
end
62
62
Measurement {T} (x:: Measurement{S} ) where {T,S} = convert (Measurement{T}, x)
63
- Measurement {T} (x:: S ) where {T,S} = convert (Measurement{T}, x)
63
+ Measurement {T} (x:: S ) where {T,S <: Real } = convert (Measurement{T}, x)
64
64
65
65
# disambiguities
66
66
Measurement {T} (x:: S ) where {T, S<: Rational } = convert (Measurement{T}, x)
67
67
Measurement {T} (x:: S ) where {T, S<: Complex } = convert (Measurement{T}, x)
68
68
Measurement {T} (x:: S ) where {T, S<: Base.TwicePrecision } = convert (Measurement{T}, x)
69
69
Measurement {T} (x:: S ) where {P, T, S<: Rational{P} } = convert (Measurement{T}, x)
70
+ Measurement {T} (x:: S ) where {T, S <: AbstractChar } = convert (Measurement{T}, x)
70
71
71
-
72
- function Measurement {T} (:: S ) where {T, S<: AbstractChar }
72
+ function Measurement {T} (:: S ) where {T, S}
73
73
throw (ArgumentError (" cannot convert `$S ` to `Measurement{$T }`" ))
74
74
end
75
75
76
-
77
-
78
76
# Functions to quickly create an empty Derivatives object.
79
77
@generated empty_der1 (x:: Measurement{T} ) where {T<: AbstractFloat } = Derivatives {T} ()
80
78
@generated empty_der2 (x:: T ) where {T<: AbstractFloat } = Derivatives {x} ()
0 commit comments