lambda-mountain
lambda-mountain copied to clipboard
Soundness hole in match expressions that use wrong type destructure
trafficstars
(match term (
()
( (NotATerm( _ _ )) () )
))
The current macro system won't raise an error because of the hard cast inside these branch destructors. The type system is partially to blame and the "match" macro implementation is wholly responsible.