Puzzled by (abstract) NTuple conversion


#1

Is this expected?

julia> convert(NTuple{2,T} where T<:AbstractFloat, (1, Float16(2.0)))
(1.0, Float16(2.0))

julia> ans isa NTuple{2,T} where T<:AbstractFloat
false

I was under the impression that convert offered a guarantee on the resulting type

julia> versioninfo()
Julia Version 0.7.0-DEV.3096
Commit 3216445381* (2017-12-19 07:24 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin17.3.0)
  CPU: Intel(R) Core(TM) i7-5775R CPU @ 3.30GHz
  WORD_SIZE: 64
  BLAS: libopenblas (USE64BITINT DYNAMIC_ARCH NO_AFFINITY Haswell)
  LAPACK: libopenblas64_
  LIBM: libopenlibm
  LLVM: libLLVM-3.9.1 (ORCJIT, broadwell)
Environment:

The same happens in v0.6.1