Skip to content

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