Templated function vs. function template
tentatively ready
13.1 [temp.pre]
Matthew House

Created on 2023-01-11.00:00:00 last changed 3 days ago


Date: 2023-01-27.23:50:39

Proposed resolution (approved by CWG 2023-01-27):

  1. Change in [dcl.spec.auto.general] paragraph 12 as follows:

    Return type deduction for a templated entity that is a function or function template with a placeholder in its declared type occurs when the definition is instantiated even if the function body contains a return statement with a non-type-dependent operand.
  2. Change in 13.1 [temp.pre] paragraph 8 as follows:

    [Note 6: A local class, a local or block variable, or a friend function defined in a templated entity is a templated entity. —end note]
    A templated function is a function template or a function that is templated. A templated class is a class template or a class that is templated. A templated variable is a variable template or a variable that is templated.
Date: 2023-01-11.00:00:00

In 13.1 [temp.pre] paragraph 8, the phrase "templated entity" is defined. The derived term "templated function" is never actually defined, but is intended to apply to function templates as well as non-template members of class templates. Similarly, the phrases "templated variable" and "templated class" should be properly defined.

Date User Action Args
2023-01-27 23:50:39adminsetstatus: open -> tentatively ready
2023-01-15 11:51:48adminsetmessages: + msg7134
2023-01-11 00:00:00admincreate