Hint about int vs. int64 converts hexadecimal to decimal notation: bug?

I just got this friendly error message:

24 |   Int64.(to_int32 (logand b64 0xFFFFFFFF))
                                   ^^^^^^^^^^
Error: This expression has type int but an expression was expected of type
         int64
  Hint: Did you mean `4294967295L'?

The hint is correct, but it would be more helpful if instead it said:

  Hint: Did you mean `0xFFFFFFFFL'?

I was just about to file a bug for this on the ocaml/ocaml GitHub repo, then I realised that it’s perhaps not 100% clear cut – the hint is correct, it’s just that for my purposes, it would be more useful if it used the original notation (hexadecimal).

Is this a bug or a feature request?

Given it is still correct I don’t think this is a bug, but this would be a worthwhile feature request indeed.

2 Likes

Great, thanks for the guidance! I have filed the feature request here:

1 Like

Work in progress PR:

4 Likes