Skip to content

Refine and elaborate text in P3273 #170

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

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

Conversation

bernhardmgruber
Copy link

Hi! @andralex asked me to read through P3273 (Introspection of Closure Types) and provide feedback. This PR contains a few wording improvements.

Furthermore, here are some additional suggestions:

  • "all implementations already implement by-reference lambda captures by means of reference or pointer members". I am very curious about which implementations use pointers. This could also be interesting to other readers, so I suggest to explicitly add a table with the implementations you had a look at.
  • "we anticipate no or small impact on compiler implementations.". Are there any implications for users? A closure type using pointer data members for capture by reference could be (trivially) copyable, so changing the pointers to references could break this. I also wonder whether the ABI could be effected if the data member types would be changed and old and new object code would be mixed. Furthermore, I vaguely remember that making a type trivially copyable could change whether it is passed to functions through registers or on the stack. If anybody knows this, I think it would be good to add a sentence on those kinds of potential breakages. Also for these questions it would be interesting which implementations would need to change their data types and which don't.

@brevzin brevzin force-pushed the master branch 2 times, most recently from d215d5d to d8dae46 Compare February 13, 2025 11:01
@brevzin brevzin force-pushed the master branch 4 times, most recently from c8f13e1 to a515803 Compare March 31, 2025 12:39
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.

1 participant