[c++,wwwdocs] bugs: Remove old "export" non-bug
Checks
Commit Message
We have been carrying this note on the "original" export feature for ages,
and I believe it's not actually a FAQ, if it ever was.
Jonathan moved this down when adding a note on ADL last fall.
I now propose to drop it.
Thoughts?
Gerald
Comments
On Mon, 22 Jul 2024 at 07:51, Gerald Pfeifer <gerald@pfeifer.com> wrote:
>
> We have been carrying this note on the "original" export feature for ages,
> and I believe it's not actually a FAQ, if it ever was.
>
> Jonathan moved this down when adding a note on ADL last fall.
>
> I now propose to drop it.
>
> Thoughts?
Sounds good to me.
I keep meaning to make a similar change to
https://isocpp.org/wiki/faq/templates#separate-template-fn-defn-from-decl-export-keyword
which is also outdated and irrelevant in 2024.
>
> Gerald
>
>
>
> diff --git a/htdocs/bugs/index.html b/htdocs/bugs/index.html
> index 40355911..7f2f485c 100644
> --- a/htdocs/bugs/index.html
> +++ b/htdocs/bugs/index.html
> @@ -622,17 +622,6 @@ and the scope operator, or compile using C++11 or later. Defect report 1104
> changed the parser rules so that <code><::</code> works as expected.
> </p></dd>
>
> -<dt><code>export</code></dt>
> -<dd><p>Most C++ compilers (G++ included) never implemented C++98
> -<code>export</code>, which was removed in C++11, and the keyword reused in
> -C++20 by the Modules feature. The C++98 feature was intended to support
> -separate compilation of template declarations and
> -definitions. Without <code>export</code>, a template definition must be in
> -scope to be used. The obvious workaround is simply to place all definitions in
> -the header itself. Alternatively, the compilation unit containing template
> -definitions may be included from the header.</p></dd>
> -</dl>
> -
> <h3 id="upgrading">Common problems when upgrading the compiler</h3>
>
> <h4>ABI changes</h4>
>
On Mon, 22 Jul 2024, Jonathan Wakely wrote:
>> We have been carrying this note on the "original" export feature for ages,
>> and I believe it's not actually a FAQ, if it ever was.
>>
>> Jonathan moved this down when adding a note on ADL last fall.
>>
>> I now propose to drop it.
> Sounds good to me.
Fine; there was no further response for two weeks, so I went ahead and
pushed my patch.
> I keep meaning to make a similar change to
> https://isocpp.org/wiki/faq/templates#separate-template-fn-defn-from-decl-export-keyword
> which is also outdated and irrelevant in 2024.
Maybe a good trigger to yank the above now? :-)
Gerald
On Mon, 5 Aug 2024 at 19:36, Gerald Pfeifer <gerald@pfeifer.com> wrote:
>
> On Mon, 22 Jul 2024, Jonathan Wakely wrote:
> >> We have been carrying this note on the "original" export feature for ages,
> >> and I believe it's not actually a FAQ, if it ever was.
> >>
> >> Jonathan moved this down when adding a note on ADL last fall.
> >>
> >> I now propose to drop it.
> > Sounds good to me.
>
> Fine; there was no further response for two weeks, so I went ahead and
> pushed my patch.
>
> > I keep meaning to make a similar change to
> > https://isocpp.org/wiki/faq/templates#separate-template-fn-defn-from-decl-export-keyword
> > which is also outdated and irrelevant in 2024.
>
> Maybe a good trigger to yank the above now? :-)
The first line is "This answer will be updated due to C++11 extern
template. Watch this space for updates in the near future!!" so it
should probably be updated to describe the new features available
since 2011, rather than just removed. So it needs new text to be
written, that's why I keep procrastinating.
@@ -622,17 +622,6 @@ and the scope operator, or compile using C++11 or later. Defect report 1104
changed the parser rules so that <code><::</code> works as expected.
</p></dd>
-<dt><code>export</code></dt>
-<dd><p>Most C++ compilers (G++ included) never implemented C++98
-<code>export</code>, which was removed in C++11, and the keyword reused in
-C++20 by the Modules feature. The C++98 feature was intended to support
-separate compilation of template declarations and
-definitions. Without <code>export</code>, a template definition must be in
-scope to be used. The obvious workaround is simply to place all definitions in
-the header itself. Alternatively, the compilation unit containing template
-definitions may be included from the header.</p></dd>
-</dl>
-
<h3 id="upgrading">Common problems when upgrading the compiler</h3>
<h4>ABI changes</h4>