For speculation to work properly hs needs to have the ability to capture, squash, and apply state changes. The shell has the ability to open file descriptors and such state cannot be tracked by hs. For example:
exec 3> file1
echo hello >&3
cat file1
After hs start executing the second command it will not have file descriptor 3 correctly opened as file1. This behavior is needed for git's CI to work.
For speculation to work properly
hsneeds to have the ability to capture, squash, and apply state changes. The shell has the ability to open file descriptors and such state cannot be tracked byhs. For example:After
hsstart executing the second command it will not have file descriptor 3 correctly opened as file1. This behavior is needed for git's CI to work.