@@ -1368,7 +1368,27 @@ module bug872632 =
13681368
13691369do check" bug872632" Foo.x.Length8
13701370
1371- do check" vwllfewlkefwl" ( typedefof< list< int>>. IsSealed) true
1371+ module CheckUnionTypesAreSealed =
1372+ open System
1373+ do check" vwllfewlkefw1" ( typedefof< list< int>>. IsSealed) true
1374+ do check" vwllfewlkefw2" ( typedefof< option< int>>. IsSealed) true
1375+ type X1 = A| B
1376+ do check" vwllfewlkefw3" ( typedefof< X1>. IsSealed) true
1377+ type X2 = A| Bof string
1378+ do check" vwllfewlkefw4" ( typedefof< X2>. IsSealed) false
1379+ type X3 = A| B| C
1380+ do check" vwllfewlkefw5" ( typedefof< X3>. IsSealed) false
1381+
1382+ [<CompilationRepresentation( CompilationRepresentationFlags.UseNullAsTrueValue) >]
1383+ type SetTree < 'T > =
1384+ | SetEmpty
1385+ | SetNodeof 'T * SetTree < 'T > * SetTree < 'T >
1386+ do check" vwllfewlkefw6" ( typedefof< SetTree< int>>. IsSealed) true
1387+
1388+ type SetTree2 < 'T > =
1389+ | SetEmpty
1390+ | SetNodeof 'T * SetTree2 < 'T > * SetTree2 < 'T >
1391+ do check" vwllfewlkefw6" ( typedefof< SetTree2< int>>. IsSealed) false
13721392
13731393module manyIndexes =
13741394open System