Skip to content

private members of a module - based on signature - appear in auto-complete #300

@jmagaram

Description

@jmagaram

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions