vimeo/psalm

wrong template detection in composed instance

Open

#6,957 opened on Nov 22, 2021

 (2 comments) (0 reactions) (0 assignees)PHP (668 forks)batch import
Help wantedtemplatestype providers

Repository metrics

Stars
 (5,369 stars)
PR merge metrics
 (Avg merge 3d 12h) (5 merged PRs in 30d)

Description

Consider this snippet of code https://psalm.dev/r/6731c85f04

Given an object of type Iso<S, A>, its to method should be a function from S to A.

Passing an object $that of type Iso<A, C> as a parameter to a method of the ISO<S, A> object and checking the type of its to method, I would expect to get callable(A): C. Instead I get a callable(S): A. This is weird because $that doesn't know anything about the S template

Contributor guide