Skip to content

Conversation

@aryairani
Copy link
Contributor

Overview

Fixes #6052

Given

  + myFn                                          : A -> A
  + lib.directDep.fn                              : A -> A
  + lib.directDep.lib.transitive.fn               : A -> A
  + lib.directDep.libOnlyFn                       : B -> B
  + lib.directDep.lib.transitive.libOnlyFn        : B -> B
  + lib.directDep.lib.transitive.transitiveOnlyFn : C -> C
> find : A -> A

  1. myFn : A -> A
  
> find : B -> B

  1. lib.directDep.libOnlyFn : B -> B
  Old behavior also showed:
  2. lib.directDep.lib.transitive.libOnlyFn : B -> B
  
> find : C -> C

  No results. Check your spelling, or try using tab completion to supply command arguments.
  Old behavior also showed:
  1. lib.directDep.lib.transitive.transitiveOnlyFn : C -> C
  
> find.all : A -> A

  1. lib.directDep.fn : A -> A
  2. myFn : A -> A
  
> find.all : B -> B

  1. lib.directDep.libOnlyFn : B -> B
  
> find.all : C -> C

  No results. Check your spelling, or try using tab completion to supply command arguments.
  
> find-in lib : A -> A

  1. directDep.fn : A -> A
  
> find-in lib : B -> B

  1. directDep.libOnlyFn : B -> B
  
> find-in lib : C -> C

  No results. Check your spelling, or try using tab completion to supply command arguments.
  
> find-in.all lib : A -> A

  1. directDep.fn : A -> A
  2. directDep.lib.transitive.fn : A -> A
  
> find-in.all lib : B -> B

  1. directDep.libOnlyFn : B -> B
  2. directDep.lib.transitive.libOnlyFn : B -> B
  
> find-in.all lib : C -> C

  1. directDep.lib.transitive.transitiveOnlyFn : C -> C

Implementation approach and notes

How does it accomplish it, in broad strokes? i.e. How does it change the Haskell codebase?

Interesting/controversial decisions

Include anything that you thought twice about, debated, chose arbitrarily, etc.
What could have been done differently, but wasn't? And why?

Test coverage

  • Have you included tests (which could be a transcript) for this change, or is it somehow covered by existing tests?

  • Would you recommend improving the test coverage (either as part of this PR or as a separate issue) or do you think it’s adequate?

  • If you only tested by hand, because that's all that's practical to do for this change, mention that. Include screenshots.

Loose ends

Link to related issues that address things you didn't get to. Stuff you encountered on the way and decided not to include in this PR.

Final checklist

  • Choose your PR title well: Your pull request title is what's used to create release notes, so please make it descriptive of the change itself, which may be different from the initial motivation to make the change.
  • Update your PR description if the specifics of the PR have changed over time.
  • Include transcripts or screenshots that demonstrate the changed behavior.

@pchiusano
Copy link
Member

yay!!

@aryairani aryairani marked this pull request as ready for review December 19, 2025 21:25
@aryairani aryairani merged commit 10e5e73 into trunk Dec 19, 2025
37 of 45 checks passed
@aryairani aryairani deleted the arya/no-search-transitive-deps.claude branch December 19, 2025 22:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Type-based search shouldn't search transitive dependencies

3 participants