In the current implementation of unwrap_syscall lint, we simply assume that every Result<T, Array<felt252>> is an expansion of SyscallResult<T> type (which is an alias). Calling unwrap on such an object triggers unwrap_syscall lint event if the result is not a SyscallResult.
We can improve that lint as soon as the compiler allows checking all steps of type alias resolution, so we can truly find out whether the Result obtained from the semantic model used to be a SyscallResult in user code.
In the current implementation of
unwrap_syscalllint, we simply assume that everyResult<T, Array<felt252>>is an expansion ofSyscallResult<T>type (which is an alias). Callingunwrapon such an object triggersunwrap_syscalllint event if the result is not aSyscallResult.We can improve that lint as soon as the compiler allows checking all steps of type alias resolution, so we can truly find out whether the
Resultobtained from the semantic model used to be aSyscallResultin user code.