Skip to content

Migrate to edition 2024 #140

@mxgrey

Description

@mxgrey

We're currently on edition 2021, but most of our users will likely be on edition 2024.

Downstream dependents will not be blocked from using crossflow just because of the edition difference, but they might get confused by one particular edition change. That change has a subtle but crucial impact on how async callbacks and async services defined by an async function definition fn(...) -> impl Future<Output=_> will look.

Specifically downstream users with edition 2024 will need to add + use<> at the end of their return type: -> impl Future<Output=_> + use<>. This tells the compiler that the returned value does not depend on the lifetimes of the system queries.

This is not a difficult thing to do, but it's almost impossible to know that it needs to be done without seeing an example, so crossflow should provide examples of creating async callbacks+services this way.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Inbox

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions