Skip to content

[2026-06 LWG Motion 18] P2019R9 Thread attributes#9121

Open
eisenwave wants to merge 1 commit into
cplusplus:mainfrom
eisenwave:motions-2026-06-lwg-18
Open

[2026-06 LWG Motion 18] P2019R9 Thread attributes#9121
eisenwave wants to merge 1 commit into
cplusplus:mainfrom
eisenwave:motions-2026-06-lwg-18

Conversation

@eisenwave

Copy link
Copy Markdown
Member

Fixes #9105
Also fixes cplusplus/papers#817

@eisenwave eisenwave added this to the post-2026-06 milestone Jun 14, 2026
Comment thread source/threads.tex
Comment on lines +1549 to +1550
%FIXME: ordinary literal encoding? Literal encoding of T? What is "THE literal encoding"?
\exposid{name} is interpreted as a string in the literal encoding.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At this moment, I believe the literal encoding must be the ordinary literal encoding because T must be char. I wish we don't need a follow-up LWG issue for this.

Suggested change
%FIXME: ordinary literal encoding? Literal encoding of T? What is "THE literal encoding"?
\exposid{name} is interpreted as a string in the literal encoding.
\exposid{name} is interpreted as a string in the ordinary literal encoding.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At this point it cannot be anything else, yeah. I'm wondering in which direction we want to resolve this though, and that depends on how likely support for more character types is in the future.

If we say "ordinary literal encoding" now, we will need to change that wording if more support is added.

Comment thread source/threads.tex
\item
\tcode{Args} is not an empty pack, and
\item
\tcode{remove_cvref_t<F Args...[0]>} is not the same type as \tcode{thread}.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
\tcode{remove_cvref_t<F Args...[0]>} is not the same type as \tcode{thread}.
\tcode{remove_cvref_t<Args...[0]>} is not the same type as \tcode{thread}.

Comment thread source/threads.tex
\constraints
\tcode{remove_cvref_t<F>} is not the same type as \tcode{jthread}.
\tcode{Args} is not an empty pack, and
\tcode{remove_cvref_t<F Args...[0]>} is not the same type as \tcode{jthread}.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
\tcode{remove_cvref_t<F Args...[0]>} is not the same type as \tcode{jthread}.
\tcode{remove_cvref_t<Args...[0]>} is not the same type as \tcode{jthread}.

Comment thread source/threads.tex
name_hint(name_hint&&) = delete;
name_hint(const name_hint&) = delete;
private:
basic_string_view<T> @\exposid{name}@; // \expos

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should rename this to name_, possibly in a follow-up commit or PR. Same for (size ->) size_.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[2026-06 LWG Motion 18] P2019R9 (Thread attributes) P2019 R8 Thread attributes

2 participants