Skip to content

Using source generators for interop #4136

Closed as not planned
Closed as not planned

Description

@JeremyKuhne

This issue is for tracking usage of source generators for interop.

The Runtime is considering implementing P/Invoke support through source generators: https://github.com/dotnet/runtime/blob/master/docs/design/features/source-generator-pinvokes.md

We should also be exploring is implementing common patterns via source generators. Things like:

  • Handling common buffer usage patterns (buffer growth, movement from stack to heap, etc.)
  • Generating resource scoping boilerplate (see our various scope types and how we switch between class and struct for tracking proper disposal in debug builds)

Activity

  1. added
    enhancementProduct code improvement that does NOT require public API changes/additions
    tenet-performanceImprove performance, flag performance regressions across core releases
    on Oct 19, 2020
  2. added this to the 6.0 milestone on Oct 19, 2020
  3. JeremyKuhne commented on Oct 19, 2020

    @JeremyKuhne
    MemberAuthor

    Related issues/pulls:

    dotnet/runtime#32091

  4. modified the milestones: 6.0, 7.0 on Jun 11, 2021
  5. modified the milestones: .NET 7.0, .NET 8.0 on Aug 11, 2022
  6. elachlan commented on Nov 7, 2022

    @elachlan
    Contributor

    @RussKie Should we close this issue because of #7445?

  7. RussKie commented on Nov 7, 2022

    @RussKie
    Contributor

    Yes, thank you for finding this.

  8. ghost removed this from the .NET 8.0 milestone on Nov 7, 2022
  9. ghost locked as resolved and limited conversation to collaborators on Dec 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementProduct code improvement that does NOT require public API changes/additionstenet-performanceImprove performance, flag performance regressions across core releases

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions