@@ -102,6 +102,31 @@ Mocha.describe("Loop_control_test", () => {
102102 3
103103 ] , Belt_List . toArray ( Belt_List . reverse ( values ) ) ) ;
104104 } ) ;
105+ Mocha . test ( "braced break expression in value position compiles" , ( ) => {
106+ let reached = false ;
107+ while ( true ) {
108+ break ;
109+
110+ } ;
111+ Test_utils . eq ( "File \"loop_control_test.res\", line 95, characters 7-14" , false , reached ) ;
112+ } ) ;
113+ Mocha . test ( "braced continue expression in value position compiles" , ( ) => {
114+ let values = /* [] */ 0 ;
115+ for ( let i = 0 ; i <= 3 ; ++ i ) {
116+ if ( i === 1 ) {
117+ continue ;
118+ }
119+ values = {
120+ hd : i ,
121+ tl : values
122+ } ;
123+ }
124+ Test_utils . eq ( "File \"loop_control_test.res\", line 111, characters 7-14" , [
125+ 0 ,
126+ 2 ,
127+ 3
128+ ] , Belt_List . toArray ( Belt_List . reverse ( values ) ) ) ;
129+ } ) ;
105130 Mocha . test ( "switch inside for targets the loop" , ( ) => {
106131 let values = /* [] */ 0 ;
107132 for ( let i = 0 ; i <= 5 ; ++ i ) {
@@ -119,7 +144,7 @@ Mocha.describe("Loop_control_test", () => {
119144 continue ;
120145 }
121146 }
122- Test_utils . eq ( "File \"loop_control_test.res\", line 96 , characters 7-14" , [
147+ Test_utils . eq ( "File \"loop_control_test.res\", line 125 , characters 7-14" , [
123148 0 ,
124149 2 ,
125150 3
@@ -143,7 +168,7 @@ Mocha.describe("Loop_control_test", () => {
143168 } ;
144169 }
145170 }
146- Test_utils . eq ( "File \"loop_control_test.res\", line 117 , characters 7-14" , [
171+ Test_utils . eq ( "File \"loop_control_test.res\", line 146 , characters 7-14" , [
147172 0 ,
148173 2 ,
149174 3
0 commit comments