-
Notifications
You must be signed in to change notification settings - Fork 473
Open
Description
As part of migrating to v12 I encountered this error. This code appears to produce a compiler error in rescript v12.0.0 but not v11.1.4 (tested locally and on rescript playground):
module type A = {
type t
@module external dep: t = "dep"
}
module B: A = {
type t = string => string
@module external dep: t = "dep"
}[E] Line 6, column 14:
Signature mismatch:
Modules do not match:
{
type t = string => string
external dep: t = "dep" "#rescript-external"
}
is not included in
A
Values do not match:
external dep: t = "dep" "#rescript-external"
is not included in
external dep: t = "dep" "#rescript-external"
playground.res:3:3-33: Expected declaration
playground.res:8:3-33: Actual declaration
But this code works fine:
module type A = {
type t
let dep: t
}
module B: A = {
type t = string => string
@module external dep: t = "dep"
}In the real code this is in a .res and .resi file but above I tested in playground for a simple reproducible example.
Metadata
Metadata
Assignees
Labels
No labels