-
Notifications
You must be signed in to change notification settings - Fork 128
Closed
Labels
typecheckerIssues related to type-checking Cryptol code.Issues related to type-checking Cryptol code.wontfixFor issues that we've reviewed and decided do not require changes.For issues that we've reviewed and decided do not require changes.
Description
Cryptol infers what I consider to be a too-general type for expressions involving shift/indexing operators:
Cryptol> :t \x -> 0b01 << [x]
(\x -> 0b01 << [x]) : {a} (Integral ([1]a)) => a -> [2]
Cryptol> :t \x -> 0b01 @ [x]
(\x -> 0b01 @ [x]) : {a} (Integral ([1]a)) => a -> Bit
I would expect that the constraint Integral ([n]a) should improve to the type equality a = Bool, and then be discharged.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
typecheckerIssues related to type-checking Cryptol code.Issues related to type-checking Cryptol code.wontfixFor issues that we've reviewed and decided do not require changes.For issues that we've reviewed and decided do not require changes.