Search⌘ K

Type Deduction and Explicit Type Specification

Explore how D's compiler performs type deduction for templates and understand when and how to specify types explicitly. Learn to create flexible function templates that require explicit type parameters in scenarios where deduction is impossible.

We'll cover the following...

Type deduction

The compiler’s decision on what type to use for a template parameter is called type deduction.

Continuing from the example in the previous lesson, you may recognize that in syntax from to!string, which we have been using in earlier, the compiler decides on the following types according to the two uses of the function template:

  • int and wchar when 42 is printed
  • double and string when 1.2 is printed

The compiler can only ...