$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] [CallableTraits] The formal review begins today
From: Tim Song (t.canens.cpp_at_[hidden])
Date: 2017-04-03 17:50:37
On Mon, Apr 3, 2017 at 1:09 PM, Peter Dimov via Boost
<boost_at_[hidden]> wrote:
> Tim Song wrote:
>>
>> >> However, in C++14, variable templates have external linkage, so >>
>> >> `inline` is not necessary for variable templates.
>> >
>> > Indeed. They're templates after all.
>>
>> As I understand it, this depends on Core issue 1713, whose unresolved
>> status presumably led LWG to go with putting inline on everything at Kona
>> (see P0607R0; LWG moved A and B2).
>
>
> It makes no sense for variable templates to "not be inline", because that
> would make them useless. Templates are defined in headers. They have to be
> "inline" in the same way template functions have to be "inline" even when
> they aren't.
>
The issue was, I believe, whether the const implied by the constexpr
gave the variable template internal linkage; even though they are
templates, that doesn't help with the ODR problem if they are actually
different templates.