diff mbox series

[c++,wwwdocs] bugs: Remove old "export" non-bug

Message ID 53b4441c-93fd-6455-3ce2-eca63182f125@pfeifer.com
State New
Headers show
Series [c++,wwwdocs] bugs: Remove old "export" non-bug | expand

Commit Message

Gerald Pfeifer July 22, 2024, 6:51 a.m. UTC
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

Jonathan Wakely July 22, 2024, 10:01 a.m. UTC | #1
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>&lt;::</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>
>
Gerald Pfeifer Aug. 5, 2024, 6:36 p.m. UTC | #2
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
Jonathan Wakely Aug. 20, 2024, 1:33 p.m. UTC | #3
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.
diff mbox series

Patch

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>&lt;::</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>