Suppose you have the module and signature...
module type BareBonesType = {
type t
let make: int => t
}
module BareBones: BareBonesType = {
type t = int
let doubleIt = n => n * 2
let make = n => n->doubleIt
}
If you attempt to type BareBones.doubleIt somewhere outside these modules it will NOT show up in VS Code auto-complete, as expected. This is good behavior because when using the module you aren't distracted by the private implementation details.
But if you put these into a BareBones.res and BareBones.resi file, then you can see/type BareBones.doubleIt. The private members show up in the auto-complete list. When you save, you'll get an error saying the item can't be found.
I believe these behaviors should be consistent, and in both cases private implementation details should not show up in auto-complete lists.
Using version 1.1.3
Suppose you have the module and signature...
If you attempt to type
BareBones.doubleItsomewhere outside these modules it will NOT show up in VS Code auto-complete, as expected. This is good behavior because when using the module you aren't distracted by the private implementation details.But if you put these into a
BareBones.resandBareBones.resifile, then you can see/typeBareBones.doubleIt. The private members show up in the auto-complete list. When you save, you'll get an error saying the item can't be found.I believe these behaviors should be consistent, and in both cases private implementation details should not show up in auto-complete lists.
Using version 1.1.3