Skip to content

🐛 Fix lists with incomplete types#362

Merged
bdeane-intel merged 1 commit into
intel:mainfrom
elbeno:fix-list-incomplete-types
May 11, 2026
Merged

🐛 Fix lists with incomplete types#362
bdeane-intel merged 1 commit into
intel:mainfrom
elbeno:fix-list-incomplete-types

Conversation

@elbeno
Copy link
Copy Markdown
Contributor

@elbeno elbeno commented May 10, 2026

Problem:

  • intrusive_list and intrusive_forward_list are constrained so that they can take incomplete types. This means using an incomplete type in a SFINAE context, which causes an error with GCC 16 (probably because it can lead to an ODR violation).

Solution:

  • Use mandates, not requires; i.e. instead of concept-constraining, static_assert completeness in functions that need it.

Problem:
- `intrusive_list` and `intrusive_forward_list` are constrained so that they can
  take incomplete types. This means using an incomplete type in a SFINAE
  context, which causes an error with GCC 16 (probably because it can lead to an
  ODR violation).

Solution:
- Use mandates, not requires; i.e. instead of concept-constraining,
  `static_assert` completeness in functions that need it.
@bdeane-intel bdeane-intel merged commit ac54e49 into intel:main May 11, 2026
48 of 50 checks passed
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.

3 participants