Skip to content

Uncapitalized cmi path in the error message #6914

Open
@mununki

Description

@mununki
// ABC.resi
type a = X | Y0
// ABC.res
type a = X | Y

The compiler failed to compile and show the message as below:

rescript: [3/3] src/ABC.cmj
FAILED: src/ABC.cmj

  We've found a bug for you!
  /Users/woonki/GitHub/projects/rescript-test2/src/ABC.res:1:1-14

  1 │ type a = X | Y
  2 │ 

  The implementation /Users/woonki/GitHub/projects/rescript-test2/src/ABC.res
  does not match the interface src/aBC.cmi: // ?? aBC.cmi
  Type declarations do not match:
    type a = X | Y
  is not included in
    type a = X | Y0
  /Users/woonki/GitHub/projects/rescript-test2/src/ABC.resi:1:1-15:
    Expected declaration
  /Users/woonki/GitHub/projects/rescript-test2/src/ABC.res:1:1-14:
    Actual declaration
  Fields number 2 have different names, Y and Y0.

FAILED: cannot make progress due to previous errors.

I guess here is the place makes the module name uncapitalized https://github.com/rescript-lang/rescript-compiler/blob/master/jscomp/ext/misc.ml#L221-L222

If we change the order of if else as finding the fullname first then ufullname as last would fix this issue, but I don't know the history why finding the uncapitalized file path first instead of original path.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions