You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When we have the same system names across two different namespaces it causes a clash in the IWorld interface by importing twice
Systems
Code generated world interface (inherits the systems twice)
// SPDX-License-Identifier: MITpragma solidity>=0.8.24;
/* Autogenerated file. Do not edit manually. */import { IBaseWorld } from"@latticexyz/world/src/codegen/interfaces/IBaseWorld.sol";
import { IIncrementMoreSystem } from"./IIncrementMoreSystem.sol";
import { IIncrementSystem } from"./IIncrementSystem.sol";
/** * @title IWorld * @author MUD (https://mud.dev) by Lattice (https://lattice.xyz) * @notice This interface integrates all systems and associated function selectors * that are dynamically registered in the World during deployment. * @dev This is an autogenerated file; do not edit manually. */interfaceIWorldisIBaseWorld, IIncrementMoreSystem, IIncrementSystem, IIncrementMoreSystem, IIncrementSystem {}
When we have the same system names across two different namespaces it causes a clash in the IWorld interface by importing twice
Systems
Code generated world interface (inherits the systems twice)
Error
Error (5005): Linearization of inheritance graph impossible
--> src/codegen/world/IWorld.sol:17:1:
|
17 | interface IWorld is IBaseWorld, IIncrementMoreSystem, IIncrementSystem, IIncrementMoreSystem, IIncrementSystem {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Potential fix:
I suggest using the namespace naming convention as the interface name and file name to avoid clashes
i.e
namespaceA__fightSystem
namespaceB__fightSystem
The text was updated successfully, but these errors were encountered: