- Notifications
You must be signed in to change notification settings - Fork471
Open
Description
i guess this is pretty opinionated of me but to me, it's hard to read:
The implementation <project path>/src/utils.res does not match the interface ../ocaml/utils.cmi: Values do not match: let anyToJson: ( 'a, ~breakCycle: ('a, array<string>) => JSON.t=?, ~encodeBigInt: BigInt.t => JSON.t=?, ~encodeSymbol: Symbol.t => JSON.t=?, ~encodeFunction: {..} => JSON.t=?,) => JSON.t is not included in let anyToJson: ( 'a, ~breakCycle: ('a, array<string>) => JSON.t=?, ~encodeBigInt: BigInt.t => JSON.t=?, ~encodeSymbol: Symbol.t => JSON.t=?, ~encodeFunction: 'a => JSON.t=?,) => JSON.t <project path>/src/utils.resi:1:1-7:11: Expected declaration <project path>/src/utils.res:69:5-13: Actual declaration- the formatting and indentation is all weird
- it doesn't immediately tell me what the problem is
- it says something about Expected declaration which makes it even more confusin
The implementation <project path>/src/utils.res does not match its expected interface: Implementation: let anyToJson: ( 'a, ~breakCycle: ('a, array<string>) => JSON.t=?, ~encodeBigInt: BigInt.t => JSON.t=?, ~encodeSymbol: Symbol.t => JSON.t=?, ~encodeFunction: {..} => JSON.t=?, ) => JSON.t Declaration: let anyToJson: ( 'a, ~breakCycle: ('a, array<string>) => JSON.t=?, ~encodeBigInt: BigInt.t => JSON.t=?, ~encodeSymbol: Symbol.t => JSON.t=?, ~encodeFunction: 'a => JSON.t=?, ) => JSON.t ~encodeFunction has the following type in implementation: {..} => JSON.t=?, but should have this type according to interface: 'a => JSON.t=?i don't need to see something about a .cmi file, and it's always easy enough to grep that i don't need to see line and column numbers for both implementation and declaration anyway. it's probably more common that a file is so small that reading the convoluted message costs me more time than the off-chance that the module is an absolute huge monolith to the point it'd save me time, so all in all, better to remove it.
Metadata
Metadata
Assignees
Labels
No labels