summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAseem Rastogi <aseemr@microsoft.com>2020-02-04 09:23:04 (GMT)
committerAseem Rastogi <aseemr@microsoft.com>2020-02-04 09:23:04 (GMT)
commit7a7d7f0d503803c9b40e3e5540991655bfb6718d (patch)
tree0cc4b9c1359afb0d87acf15aa8f655101a14398b
parent20f67fa7876d07c1299504ef2c856bbcc7d36c8c (diff)
downloadFStar-_aseem_polymonadic_binds.zip
FStar-_aseem_polymonadic_binds.tar.gz
FStar-_aseem_polymonadic_binds.tar.bz2
-rw-r--r--src/ocaml-output/FStar_Errors.ml350
-rw-r--r--src/ocaml-output/FStar_TypeChecker_TcEffect.ml23
2 files changed, 196 insertions, 177 deletions
diff --git a/src/ocaml-output/FStar_Errors.ml b/src/ocaml-output/FStar_Errors.ml
index 8d0b91f..55f99af 100644
--- a/src/ocaml-output/FStar_Errors.ml
+++ b/src/ocaml-output/FStar_Errors.ml
@@ -330,6 +330,7 @@ type raw_error =
| Error_IllScopedTerm
| Warning_UnusedLetRec
| Fatal_PolymonadicBind_conflict
+ | Warning_BleedingEdge_Feature
let (uu___is_Error_DependencyAnalysisFailed : raw_error -> Prims.bool) =
fun projectee ->
match projectee with
@@ -2278,6 +2279,12 @@ let (uu___is_Fatal_PolymonadicBind_conflict : raw_error -> Prims.bool) =
| Fatal_PolymonadicBind_conflict -> true
| uu____3638 -> false
+let (uu___is_Warning_BleedingEdge_Feature : raw_error -> Prims.bool) =
+ fun projectee ->
+ match projectee with
+ | Warning_BleedingEdge_Feature -> true
+ | uu____3649 -> false
+
type flag = FStar_Options.error_flag
let (default_flags : (raw_error * FStar_Options.error_flag) Prims.list) =
[(Error_DependencyAnalysisFailed, FStar_Options.CAlwaysError);
@@ -2610,38 +2617,39 @@ let (default_flags : (raw_error * FStar_Options.error_flag) Prims.list) =
(Error_IllSMTPat, FStar_Options.CError);
(Error_IllScopedTerm, FStar_Options.CError);
(Warning_UnusedLetRec, FStar_Options.CWarning);
- (Fatal_PolymonadicBind_conflict, FStar_Options.CError)]
+ (Fatal_PolymonadicBind_conflict, FStar_Options.CError);
+ (Warning_BleedingEdge_Feature, FStar_Options.CWarning)]
type error = (raw_error * Prims.string * FStar_Range.range)
exception Err of (raw_error * Prims.string)
let (uu___is_Err : Prims.exn -> Prims.bool) =
fun projectee ->
- match projectee with | Err uu____4995 -> true | uu____5002 -> false
+ match projectee with | Err uu____5010 -> true | uu____5017 -> false
let (__proj__Err__item__uu___ : Prims.exn -> (raw_error * Prims.string)) =
- fun projectee -> match projectee with | Err uu____5020 -> uu____5020
+ fun projectee -> match projectee with | Err uu____5035 -> uu____5035
exception Error of error
let (uu___is_Error : Prims.exn -> Prims.bool) =
fun projectee ->
- match projectee with | Error uu____5038 -> true | uu____5040 -> false
+ match projectee with | Error uu____5053 -> true | uu____5055 -> false
let (__proj__Error__item__uu___ : Prims.exn -> error) =
- fun projectee -> match projectee with | Error uu____5048 -> uu____5048
+ fun projectee -> match projectee with | Error uu____5063 -> uu____5063
exception Warning of error
let (uu___is_Warning : Prims.exn -> Prims.bool) =
fun projectee ->
- match projectee with | Warning uu____5061 -> true | uu____5063 -> false
+ match projectee with | Warning uu____5076 -> true | uu____5078 -> false
let (__proj__Warning__item__uu___ : Prims.exn -> error) =
- fun projectee -> match projectee with | Warning uu____5071 -> uu____5071
+ fun projectee -> match projectee with | Warning uu____5086 -> uu____5086
exception Stop
let (uu___is_Stop : Prims.exn -> Prims.bool) =
fun projectee ->
- match projectee with | Stop -> true | uu____5081 -> false
+ match projectee with | Stop -> true | uu____5096 -> false
exception Empty_frag
let (uu___is_Empty_frag : Prims.exn -> Prims.bool) =
fun projectee ->
- match projectee with | Empty_frag -> true | uu____5092 -> false
+ match projectee with | Empty_frag -> true | uu____5107 -> false
type issue_level =
| ENotImplemented
@@ -2650,19 +2658,19 @@ type issue_level =
| EError
let (uu___is_ENotImplemented : issue_level -> Prims.bool) =
fun projectee ->
- match projectee with | ENotImplemented -> true | uu____5103 -> false
+ match projectee with | ENotImplemented -> true | uu____5118 -> false
let (uu___is_EInfo : issue_level -> Prims.bool) =
fun projectee ->
- match projectee with | EInfo -> true | uu____5114 -> false
+ match projectee with | EInfo -> true | uu____5129 -> false
let (uu___is_EWarning : issue_level -> Prims.bool) =
fun projectee ->
- match projectee with | EWarning -> true | uu____5125 -> false
+ match projectee with | EWarning -> true | uu____5140 -> false
let (uu___is_EError : issue_level -> Prims.bool) =
fun projectee ->
- match projectee with | EError -> true | uu____5136 -> false
+ match projectee with | EError -> true | uu____5151 -> false
type issue =
{
@@ -2735,36 +2743,36 @@ let (format_issue : issue -> Prims.string) =
| EWarning -> "Warning"
| EError -> "Error"
| ENotImplemented -> "Feature not yet implemented: " in
- let uu____5431 =
+ let uu____5446 =
match issue.issue_range with
| FStar_Pervasives_Native.None -> ("", "")
| FStar_Pervasives_Native.Some r when r = FStar_Range.dummyRange ->
("", "")
| FStar_Pervasives_Native.Some r ->
- let uu____5454 =
- let uu____5456 = FStar_Range.string_of_use_range r in
- FStar_Util.format1 "%s: " uu____5456 in
- let uu____5459 =
- let uu____5461 =
- let uu____5463 = FStar_Range.use_range r in
- let uu____5464 = FStar_Range.def_range r in
- uu____5463 = uu____5464 in
- if uu____5461
+ let uu____5469 =
+ let uu____5471 = FStar_Range.string_of_use_range r in
+ FStar_Util.format1 "%s: " uu____5471 in
+ let uu____5474 =
+ let uu____5476 =
+ let uu____5478 = FStar_Range.use_range r in
+ let uu____5479 = FStar_Range.def_range r in
+ uu____5478 = uu____5479 in
+ if uu____5476
then ""
else
- (let uu____5470 = FStar_Range.string_of_range r in
- FStar_Util.format1 " (see also %s)" uu____5470)
+ (let uu____5485 = FStar_Range.string_of_range r in
+ FStar_Util.format1 " (see also %s)" uu____5485)
in
- (uu____5454, uu____5459)
+ (uu____5469, uu____5474)
in
- match uu____5431 with
+ match uu____5446 with
| (range_str,see_also_str) ->
let issue_number =
match issue.issue_number with
| FStar_Pervasives_Native.None -> ""
| FStar_Pervasives_Native.Some n1 ->
- let uu____5490 = FStar_Util.string_of_int n1 in
- FStar_Util.format1 " %s" uu____5490
+ let uu____5505 = FStar_Util.string_of_int n1 in
+ FStar_Util.format1 " %s" uu____5505
in
FStar_Util.format5 "%s(%s%s) %s%s\n" range_str level_header
issue_number issue.issue_message see_also_str
@@ -2777,7 +2785,7 @@ let (print_issue : issue -> unit) =
| EWarning -> FStar_Util.print_warning
| EError -> FStar_Util.print_error
| ENotImplemented -> FStar_Util.print_error in
- let uu____5510 = format_issue issue in printer uu____5510
+ let uu____5525 = format_issue issue in printer uu____5525
let (compare_issues : issue -> issue -> Prims.int) =
fun i1 ->
@@ -2786,8 +2794,8 @@ let (compare_issues : issue -> issue -> Prims.int) =
| (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.None ) ->
Prims.int_zero
| (FStar_Pervasives_Native.None ,FStar_Pervasives_Native.Some
- uu____5534) -> ~- Prims.int_one
- | (FStar_Pervasives_Native.Some uu____5540,FStar_Pervasives_Native.None
+ uu____5549) -> ~- Prims.int_one
+ | (FStar_Pervasives_Native.Some uu____5555,FStar_Pervasives_Native.None
) -> Prims.int_one
| (FStar_Pervasives_Native.Some r1,FStar_Pervasives_Native.Some r2) ->
FStar_Range.compare_use_range r1 r2
@@ -2798,19 +2806,19 @@ let (mk_default_handler : Prims.bool -> error_handler) =
let add_one e =
match e.issue_level with
| EError ->
- let uu____5573 =
- let uu____5576 = FStar_ST.op_Bang errs in e :: uu____5576 in
- FStar_ST.op_Colon_Equals errs uu____5573
- | uu____5625 -> print_issue e in
- let count_errors uu____5631 =
- let uu____5632 = FStar_ST.op_Bang errs in FStar_List.length uu____5632
+ let uu____5588 =
+ let uu____5591 = FStar_ST.op_Bang errs in e :: uu____5591 in
+ FStar_ST.op_Colon_Equals errs uu____5588
+ | uu____5640 -> print_issue e in
+ let count_errors uu____5646 =
+ let uu____5647 = FStar_ST.op_Bang errs in FStar_List.length uu____5647
in
- let report uu____5665 =
+ let report uu____5680 =
let sorted1 =
- let uu____5669 = FStar_ST.op_Bang errs in
- FStar_List.sortWith compare_issues uu____5669 in
+ let uu____5684 = FStar_ST.op_Bang errs in
+ FStar_List.sortWith compare_issues uu____5684 in
if print7 then FStar_List.iter print_issue sorted1 else (); sorted1 in
- let clear1 uu____5704 = FStar_ST.op_Colon_Equals errs [] in
+ let clear1 uu____5719 = FStar_ST.op_Colon_Equals errs [] in
{
eh_add_one = add_one;
eh_count_errors = count_errors;
@@ -2838,11 +2846,11 @@ let (mk_issue :
}
let (get_err_count : unit -> Prims.int) =
- fun uu____5772 ->
- let uu____5773 =
- let uu____5779 = FStar_ST.op_Bang current_handler in
- uu____5779.eh_count_errors in
- uu____5773 ()
+ fun uu____5787 ->
+ let uu____5788 =
+ let uu____5794 = FStar_ST.op_Bang current_handler in
+ uu____5794.eh_count_errors in
+ uu____5788 ()
let (wrapped_eh_add_one : error_handler -> issue -> unit) =
fun h ->
@@ -2850,45 +2858,45 @@ let (wrapped_eh_add_one : error_handler -> issue -> unit) =
h.eh_add_one issue;
if issue.issue_level <> EInfo
then
- ((let uu____5813 =
- let uu____5815 = FStar_ST.op_Bang FStar_Options.abort_counter in
- uu____5815 - Prims.int_one in
- FStar_ST.op_Colon_Equals FStar_Options.abort_counter uu____5813);
- (let uu____5860 =
- let uu____5862 = FStar_ST.op_Bang FStar_Options.abort_counter in
- uu____5862 = Prims.int_zero in
- if uu____5860 then failwith "Aborting due to --abort_on" else ()))
+ ((let uu____5828 =
+ let uu____5830 = FStar_ST.op_Bang FStar_Options.abort_counter in
+ uu____5830 - Prims.int_one in
+ FStar_ST.op_Colon_Equals FStar_Options.abort_counter uu____5828);
+ (let uu____5875 =
+ let uu____5877 = FStar_ST.op_Bang FStar_Options.abort_counter in
+ uu____5877 = Prims.int_zero in
+ if uu____5875 then failwith "Aborting due to --abort_on" else ()))
else ()
let (add_one : issue -> unit) =
fun issue ->
FStar_Util.atomically
- (fun uu____5901 ->
- let uu____5902 = FStar_ST.op_Bang current_handler in
- wrapped_eh_add_one uu____5902 issue)
+ (fun uu____5916 ->
+ let uu____5917 = FStar_ST.op_Bang current_handler in
+ wrapped_eh_add_one uu____5917 issue)
let (add_many : issue Prims.list -> unit) =
fun issues ->
FStar_Util.atomically
- (fun uu____5934 ->
- let uu____5935 =
- let uu____5940 = FStar_ST.op_Bang current_handler in
- wrapped_eh_add_one uu____5940 in
- FStar_List.iter uu____5935 issues)
+ (fun uu____5949 ->
+ let uu____5950 =
+ let uu____5955 = FStar_ST.op_Bang current_handler in
+ wrapped_eh_add_one uu____5955 in
+ FStar_List.iter uu____5950 issues)
let (report_all : unit -> issue Prims.list) =
- fun uu____5967 ->
- let uu____5968 =
- let uu____5975 = FStar_ST.op_Bang current_handler in
- uu____5975.eh_report in
- uu____5968 ()
+ fun uu____5982 ->
+ let uu____5983 =
+ let uu____5990 = FStar_ST.op_Bang current_handler in
+ uu____5990.eh_report in
+ uu____5983 ()
let (clear : unit -> unit) =
- fun uu____6000 ->
- let uu____6001 =
- let uu____6006 = FStar_ST.op_Bang current_handler in
- uu____6006.eh_clear in
- uu____6001 ()
+ fun uu____6015 ->
+ let uu____6016 =
+ let uu____6021 = FStar_ST.op_Bang current_handler in
+ uu____6021.eh_clear in
+ uu____6016 ()
let (set_handler : error_handler -> unit) =
fun handler ->
@@ -2924,29 +2932,29 @@ let (message_prefix : error_message_prefix) =
let pfx = FStar_Util.mk_ref FStar_Pervasives_Native.None in
let set_prefix s =
FStar_ST.op_Colon_Equals pfx (FStar_Pervasives_Native.Some s) in
- let clear_prefix uu____6229 =
+ let clear_prefix uu____6244 =
FStar_ST.op_Colon_Equals pfx FStar_Pervasives_Native.None in
let append_prefix s =
- let uu____6265 = FStar_ST.op_Bang pfx in
- match uu____6265 with
+ let uu____6280 = FStar_ST.op_Bang pfx in
+ match uu____6280 with
| FStar_Pervasives_Native.None -> s
| FStar_Pervasives_Native.Some p ->
- let uu____6299 = FStar_String.op_Hat ": " s in
- FStar_String.op_Hat p uu____6299
+ let uu____6314 = FStar_String.op_Hat ": " s in
+ FStar_String.op_Hat p uu____6314
in
{ set_prefix; append_prefix; clear_prefix }
let findIndex :
- 'Auu____6311 'Auu____6312 .
- ('Auu____6311 * 'Auu____6312) Prims.list -> 'Auu____6311 -> Prims.int
+ 'Auu____6326 'Auu____6327 .
+ ('Auu____6326 * 'Auu____6327) Prims.list -> 'Auu____6326 -> Prims.int
=
fun l ->
fun v1 ->
FStar_All.pipe_right l
(FStar_List.index
- (fun uu___0_6350 ->
- match uu___0_6350 with
- | (e,uu____6357) when e = v1 -> true
- | uu____6359 -> false))
+ (fun uu___0_6365 ->
+ match uu___0_6365 with
+ | (e,uu____6372) when e = v1 -> true
+ | uu____6374 -> false))
let (errno_of_error : raw_error -> Prims.int) =
fun e -> findIndex default_flags e
@@ -2955,8 +2963,8 @@ let (init_warn_error_flags : FStar_Options.error_flag Prims.list) =
let (diag : FStar_Range.range -> Prims.string -> unit) =
fun r ->
fun msg ->
- let uu____6392 = FStar_Options.debug_any () in
- if uu____6392
+ let uu____6407 = FStar_Options.debug_any () in
+ if uu____6407
then
add_one
(mk_issue EInfo (FStar_Pervasives_Native.Some r) msg
@@ -2970,22 +2978,22 @@ let (lookup :
=
fun flags ->
fun errno ->
- let uu____6417 =
+ let uu____6432 =
(errno = defensive_errno) && (FStar_Options.defensive_fail ()) in
- if uu____6417
+ if uu____6432
then FStar_Options.CAlwaysError
else FStar_List.nth flags errno
let (log_issue : FStar_Range.range -> (raw_error * Prims.string) -> unit) =
fun r ->
- fun uu____6438 ->
- match uu____6438 with
+ fun uu____6453 ->
+ match uu____6453 with
| (e,msg) ->
let errno = errno_of_error e in
- let uu____6450 =
- let uu____6451 = FStar_Options.error_flags () in
- lookup uu____6451 errno in
- (match uu____6450 with
+ let uu____6465 =
+ let uu____6466 = FStar_Options.error_flags () in
+ lookup uu____6466 errno in
+ (match uu____6465 with
| FStar_Options.CAlwaysError ->
add_one
(mk_issue EError (FStar_Pervasives_Native.Some r) msg
@@ -3004,96 +3012,96 @@ let (log_issue : FStar_Range.range -> (raw_error * Prims.string) -> unit) =
mk_issue EError (FStar_Pervasives_Native.Some r) msg
(FStar_Pervasives_Native.Some errno)
in
- let uu____6459 = FStar_Options.ide () in
- if uu____6459
+ let uu____6474 = FStar_Options.ide () in
+ if uu____6474
then add_one i
else
- (let uu____6464 =
- let uu____6466 = format_issue i in
+ (let uu____6479 =
+ let uu____6481 = format_issue i in
FStar_String.op_Hat
"don't use log_issue to report fatal error, should use raise_error: "
- uu____6466
+ uu____6481
in
- failwith uu____6464))
+ failwith uu____6479))
let (add_errors :
(raw_error * Prims.string * FStar_Range.range) Prims.list -> unit) =
fun errs ->
FStar_Util.atomically
- (fun uu____6494 ->
+ (fun uu____6509 ->
FStar_List.iter
- (fun uu____6507 ->
- match uu____6507 with
+ (fun uu____6522 ->
+ match uu____6522 with
| (e,msg,r) ->
- let uu____6520 =
- let uu____6526 = message_prefix.append_prefix msg in
- (e, uu____6526) in
- log_issue r uu____6520) errs)
+ let uu____6535 =
+ let uu____6541 = message_prefix.append_prefix msg in
+ (e, uu____6541) in
+ log_issue r uu____6535) errs)
let (issue_of_exn : Prims.exn -> issue FStar_Pervasives_Native.option) =
- fun uu___1_6536 ->
- match uu___1_6536 with
+ fun uu___1_6551 ->
+ match uu___1_6551 with
| Error (e,msg,r) ->
let errno = errno_of_error e in
- let uu____6546 =
- let uu____6547 = message_prefix.append_prefix msg in
- mk_issue EError (FStar_Pervasives_Native.Some r) uu____6547
+ let uu____6561 =
+ let uu____6562 = message_prefix.append_prefix msg in
+ mk_issue EError (FStar_Pervasives_Native.Some r) uu____6562
(FStar_Pervasives_Native.Some errno)
in
- FStar_Pervasives_Native.Some uu____6546
+ FStar_Pervasives_Native.Some uu____6561
| FStar_Util.NYI msg ->
- let uu____6552 =
- let uu____6553 = message_prefix.append_prefix msg in
- mk_issue ENotImplemented FStar_Pervasives_Native.None uu____6553
+ let uu____6567 =
+ let uu____6568 = message_prefix.append_prefix msg in
+ mk_issue ENotImplemented FStar_Pervasives_Native.None uu____6568
FStar_Pervasives_Native.None
in
- FStar_Pervasives_Native.Some uu____6552
+ FStar_Pervasives_Native.Some uu____6567
| Err (e,msg) ->
let errno = errno_of_error e in
- let uu____6562 =
- let uu____6563 = message_prefix.append_prefix msg in
- mk_issue EError FStar_Pervasives_Native.None uu____6563
+ let uu____6577 =
+ let uu____6578 = message_prefix.append_prefix msg in
+ mk_issue EError FStar_Pervasives_Native.None uu____6578
(FStar_Pervasives_Native.Some errno)
in
- FStar_Pervasives_Native.Some uu____6562
- | uu____6566 -> FStar_Pervasives_Native.None
+ FStar_Pervasives_Native.Some uu____6577
+ | uu____6581 -> FStar_Pervasives_Native.None
let (err_exn : Prims.exn -> unit) =
fun exn ->
if exn = Stop
then ()
else
- (let uu____6576 = issue_of_exn exn in
- match uu____6576 with
+ (let uu____6591 = issue_of_exn exn in
+ match uu____6591 with
| FStar_Pervasives_Native.Some issue -> add_one issue
| FStar_Pervasives_Native.None -> FStar_Exn.raise exn)
let (handleable : Prims.exn -> Prims.bool) =
- fun uu___2_6586 ->
- match uu___2_6586 with
- | Error uu____6588 -> true
- | FStar_Util.NYI uu____6590 -> true
+ fun uu___2_6601 ->
+ match uu___2_6601 with
+ | Error uu____6603 -> true
+ | FStar_Util.NYI uu____6605 -> true
| Stop -> true
- | Err uu____6594 -> true
- | uu____6601 -> false
+ | Err uu____6609 -> true
+ | uu____6616 -> false
let (stop_if_err : unit -> unit) =
- fun uu____6608 ->
- let uu____6609 =
- let uu____6611 = get_err_count () in uu____6611 > Prims.int_zero in
- if uu____6609 then FStar_Exn.raise Stop else ()
+ fun uu____6623 ->
+ let uu____6624 =
+ let uu____6626 = get_err_count () in uu____6626 > Prims.int_zero in
+ if uu____6624 then FStar_Exn.raise Stop else ()
let raise_error :
- 'Auu____6624 .
- (raw_error * Prims.string) -> FStar_Range.range -> 'Auu____6624
+ 'Auu____6639 .
+ (raw_error * Prims.string) -> FStar_Range.range -> 'Auu____6639
=
- fun uu____6638 ->
+ fun uu____6653 ->
fun r ->
- match uu____6638 with | (e,msg) -> FStar_Exn.raise (Error (e, msg, r))
+ match uu____6653 with | (e,msg) -> FStar_Exn.raise (Error (e, msg, r))
-let raise_err : 'Auu____6655 . (raw_error * Prims.string) -> 'Auu____6655 =
- fun uu____6665 ->
- match uu____6665 with | (e,msg) -> FStar_Exn.raise (Err (e, msg))
+let raise_err : 'Auu____6670 . (raw_error * Prims.string) -> 'Auu____6670 =
+ fun uu____6680 ->
+ match uu____6680 with | (e,msg) -> FStar_Exn.raise (Err (e, msg))
let (update_flags :
(FStar_Options.error_flag * Prims.string) Prims.list ->
@@ -3101,9 +3109,9 @@ let (update_flags :
=
fun l ->
let flags = init_warn_error_flags in
- let compare1 uu____6733 uu____6734 =
- match (uu____6733, uu____6734) with
- | ((uu____6776,(a,uu____6778)),(uu____6779,(b,uu____6781))) ->
+ let compare1 uu____6748 uu____6749 =
+ match (uu____6748, uu____6749) with
+ | ((uu____6791,(a,uu____6793)),(uu____6794,(b,uu____6796))) ->
if a > b
then Prims.int_one
else if a < b then ~- Prims.int_one else Prims.int_zero
@@ -3121,11 +3129,11 @@ let (update_flags :
| (FStar_Options.CSilent ,FStar_Options.CAlwaysError ) ->
raise_err
(Fatal_InvalidWarnErrorSetting, "cannot silence an error")
- | (uu____6850,FStar_Options.CFatal ) ->
+ | (uu____6865,FStar_Options.CFatal ) ->
raise_err
(Fatal_InvalidWarnErrorSetting,
"cannot reset the error level of a fatal error")
- | uu____6853 -> f in
+ | uu____6868 -> f in
let rec set_flag i l1 =
let d = FStar_List.nth flags i in
match l1 with
@@ -3139,45 +3147,45 @@ let (update_flags :
match l1 with
| [] -> f
| hd1::tl1 ->
- let uu____7011 =
- let uu____7014 =
- let uu____7017 = set_flag i sorted1 in [uu____7017] in
- FStar_List.append f uu____7014 in
- aux uu____7011 (i + Prims.int_one) tl1 sorted1
+ let uu____7026 =
+ let uu____7029 =
+ let uu____7032 = set_flag i sorted1 in [uu____7032] in
+ FStar_List.append f uu____7029 in
+ aux uu____7026 (i + Prims.int_one) tl1 sorted1
in
let rec compute_range result l1 =
match l1 with
| [] -> result
| (f,s)::tl1 ->
let r = FStar_Util.split s ".." in
- let uu____7119 =
+ let uu____7134 =
match r with
| r1::r2::[] ->
- let uu____7139 = FStar_Util.int_of_string r1 in
- let uu____7141 = FStar_Util.int_of_string r2 in
- (uu____7139, uu____7141)
- | uu____7145 ->
- let uu____7149 =
- let uu____7155 =
+ let uu____7154 = FStar_Util.int_of_string r1 in
+ let uu____7156 = FStar_Util.int_of_string r2 in
+ (uu____7154, uu____7156)
+ | uu____7160 ->
+ let uu____7164 =
+ let uu____7170 =
FStar_Util.format1 "Malformed warn-error range %s" s in
- (Fatal_InvalidWarnErrorSetting, uu____7155) in
- raise_err uu____7149
+ (Fatal_InvalidWarnErrorSetting, uu____7170) in
+ raise_err uu____7164
in
- (match uu____7119 with
+ (match uu____7134 with
| (l2,h) ->
(if
(l2 < Prims.int_zero) ||
(h >= (FStar_List.length default_flags))
then
- (let uu____7190 =
- let uu____7196 =
- let uu____7198 = FStar_Util.string_of_int l2 in
- let uu____7200 = FStar_Util.string_of_int h in
+ (let uu____7205 =
+ let uu____7211 =
+ let uu____7213 = FStar_Util.string_of_int l2 in
+ let uu____7215 = FStar_Util.string_of_int h in
FStar_Util.format2 "No error for warn_error %s..%s"
- uu____7198 uu____7200
+ uu____7213 uu____7215
in
- (Fatal_InvalidWarnErrorSetting, uu____7196) in
- raise_err uu____7190)
+ (Fatal_InvalidWarnErrorSetting, uu____7211) in
+ raise_err uu____7205)
else ();
compute_range (FStar_List.append result [(f, (l2, h))]) tl1))
in
@@ -3194,12 +3202,12 @@ let catch_errors :
FStar_ST.op_Colon_Equals current_handler newh;
(let r =
try
- (fun uu___279_7364 ->
+ (fun uu___279_7379 ->
match () with
| () -> let r = f () in FStar_Pervasives_Native.Some r) ()
with
- | uu___278_7370 ->
- (err_exn uu___278_7370; FStar_Pervasives_Native.None)
+ | uu___278_7385 ->
+ (err_exn uu___278_7385; FStar_Pervasives_Native.None)
in
let errs = newh.eh_report () in
FStar_ST.op_Colon_Equals current_handler old; (errs, r))
diff --git a/src/ocaml-output/FStar_TypeChecker_TcEffect.ml b/src/ocaml-output/FStar_TypeChecker_TcEffect.ml
index 56daf12..e689ad3 100644
--- a/src/ocaml-output/FStar_TypeChecker_TcEffect.ml
+++ b/src/ocaml-output/FStar_TypeChecker_TcEffect.ml
@@ -6114,18 +6114,29 @@ let (tc_polymonadic_bind :
eff_name uu____12036
uu____12042
else ());
- (let uu____12051 =
- let uu____12052 =
- let uu____12055 =
+ (let uu____12052 =
+ let uu____12058 =
+ FStar_Util.format1
+ "Polymonadic binds (%s in this case) is a bleeding edge F* feature;it is subject to some redesign in the future. Please keep us informed (on github etc.) about how you are using it"
+ eff_name
+ in
+ (FStar_Errors.Warning_BleedingEdge_Feature,
+ uu____12058)
+ in
+ FStar_Errors.log_issue r
+ uu____12052);
+ (let uu____12062 =
+ let uu____12063 =
+ let uu____12066 =
FStar_All.pipe_right k
(FStar_TypeChecker_Normalize.remove_uvar_solutions
env1)
in
FStar_All.pipe_right
- uu____12055
+ uu____12066
(FStar_Syntax_Subst.close_univ_vars
us1)
in
- (us1, uu____12052) in
- ((us1, t), uu____12051))))))))))
+ (us1, uu____12063) in
+ ((us1, t), uu____12062))))))))))
\ No newline at end of file