Skip to content

coroutine module support #951

Closed
Closed

Description

Please add line exporting std::coroutine_traits for all coroutine types,
right now if any type is used inside a module with import winrt; coroutine traits tend to break up.

Proposal, at the generated header of Windows.Foundation.h
at line 3856 add macro WINRT_EXPORT
so it would look like WINRT_EXPORT namespace std

Activity

  1. sylveon commented on May 30, 2021

    @sylveon
    Contributor

    I'd suggest adding WINRT_EXPORT to the template specializations directly instead of the whole namespace.

  2. kennykerr commented on May 31, 2021

    @kennykerr
    Collaborator

    Have you tested that coroutine export+import works after this change? Last time I tried, I still ran into various compiler bugs. If you can get it to work, feel free to contribute a PR.

  3. Agrael1 commented on May 31, 2021

    @Agrael1
    Author

    Yes, I did a manual export of those templates as the standard suggests, but I found out that the entirety of winrt.ixx is not working, I'm running latest preview:
    Microsoft Visual Studio Enterprise 2019 Preview
    Version 16.11.0 Preview 1.0

    it compiles, but even smallest example is not working (just an empty project with removed pch)
    and even if it compiles, then process looses the entry point for some reason

    Further investigation is required

  4. kennykerr commented on Jul 20, 2021

    @kennykerr
    Collaborator

    Feel free to reopen if you plan to work on this issue.

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

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions