Tim Chevalier 5cf5f5024d Handle bang functions correctly in typestate
The logic for how the "returns" constraint was handled was always
dodgy, for reasons explained in the comments I added to
auxiliary::fn_info in this commit. Fixed it by adding distinct
"returns" and "diverges" constraints for each function, which
are both handled positively (that is: for a ! function, the
"diverges" constraint must be true on every exit path; for
any other function, the "returns" constraint must be true
on every exit path).

Closes #779
2011-08-01 20:58:16 -07:00
..
2011-07-29 20:54:44 +02:00
2011-07-31 00:06:25 -07:00
2011-07-27 15:54:33 +02:00
2011-08-01 18:51:56 -07:00
2011-08-01 17:51:37 +02:00