Skip to content

Conversation

@jkoritzinsky
Copy link
Member

This PR makes CLong, CULong, and System.Guid always considered strictly blittable. CLong and CULong are interop intrinsic types, and Guid is used extremely often in COM scenarios and will never change to be non-blittable. This PR also establishes a policy for determining when the team may consider to add a type to this list (expected to be rare if ever).

Fixes #73975
Fixes #87894

@ghost
Copy link

ghost commented Jun 29, 2023

Tagging subscribers to this area: @dotnet/interop-contrib
See info in area-owners.md if you want to be subscribed.

Issue Details

This PR makes CLong, CULong, and System.Guid always considered strictly blittable. CLong and CULong are interop intrinsic types, and Guid is used extremely often in COM scenarios and will never change to be non-blittable. This PR also establishes a policy for determining when the team may consider to add a type to this list (expected to be rare if ever).

Fixes #73975
Fixes #87894

Author: jkoritzinsky
Assignees: -
Labels:

area-System.Runtime.InteropServices

Milestone: -

@jkoritzinsky jkoritzinsky added this to the 8.0.0 milestone Jun 29, 2023
@jkoritzinsky jkoritzinsky added the source-generator Indicates an issue with a source generator feature label Jun 29, 2023
@jkoritzinsky jkoritzinsky merged commit cdd7566 into dotnet:main Jun 30, 2023
@MichalPetryka
Copy link
Contributor

This PR also establishes a policy for determining when the team may consider to add a type to this list (expected to be rare if ever).

I'd expect Vector types and Int128 to be such additions when their interop behaviour gets set in stone.

@MichalPetryka
Copy link
Contributor

Also, you've missed NFloat in this PR @jkoritzinsky.

@jkoritzinsky
Copy link
Member Author

Yes, the vector types and Int128 would be candidates as well. I'll open an issue for NFloat (totally forgot about that type).

@ghost ghost locked as resolved and limited conversation to collaborators Jul 30, 2023
@jkoritzinsky jkoritzinsky deleted the special-strict-blittable branch March 22, 2024 01:25
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

area-System.Runtime.InteropServices source-generator Indicates an issue with a source generator feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[ComInterfaceGenerator] Guid Marshalling Support LibraryImport with CLong produces SYSLIB1051 and requires disabling runtime marshalling

5 participants