Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Clarify "vec" ADL behavior #671

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

gmlueck
Copy link
Contributor

@gmlueck gmlueck commented Dec 3, 2024

This is change 4 of 9 that fix problems with the specification of the vec class. An implementation that follows the existing specification would not accept common code patterns and would not pass the CTS. None of the existing implementations actually follow the existing specification.

This change clarifies the ADL behavior of the vec class. Without this clarification, implementations could make additional operators available on the ADL search set, which could lead to ambiguity errors when compiling applications. For example, we know that adding vec to the ADL search set for the swizzled vector operators leads to ambiguity errors.

These changes correspond to slide 14 of the presentation that was discussed in the WG meetings.

This is change 4 of 9 that fix problems with the specification of the
`vec` class.  An implementation that follows the existing specification
would not accept common code patterns and would not pass the CTS.  None
of the existing implementations actually follow the existing
specification.

This change clarifies the ADL behavior of the `vec` class.  Without
this clarification, implementations could make additional operators
available on the ADL search set, which could lead to ambiguity errors
when compiling applications.  For example, we know that adding `vec`
to the ADL search set for the swizzled vector operators leads to
ambiguity errors.

These changes correspond to slide 14 of the presentation that was
discussed in the WG meetings.
Copy link
Member

@keryell keryell left a comment

Choose a reason for hiding this comment

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

Good catch!

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.

2 participants