Skip to content

Avoid circular dependencies in workspace #3053

Description

@thomaseizinger

Currently we have circular dependencies in our workspace.

This is problematic because:

Getting rid of the circular dependencies is almost easily solvable, except for the NetworkBehaviour custom derive.

That one emits code that assumes that a crate libp2p is in scope where it can import items from. That is an issue because it means we can't use the macro in our workspace without depending on the libp2p meta crate which is a circular dependency again.

The real solution here is being discussed over at rust-lang/rust: rust-lang/rust#54363.

We can't wait for that to be implemented though, so we need to find a workaround.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions