Hello community,

here is the log from the commit of package ocaml for openSUSE:Factory checked 
in at 2020-09-05 23:57:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ocaml (Old)
 and      /work/SRC/openSUSE:Factory/.ocaml.new.3399 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "ocaml"

Sat Sep  5 23:57:49 2020 rev:80 rq:831369 version:4.11.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/ocaml/ocaml.changes      2020-08-28 
23:44:56.907502933 +0200
+++ /work/SRC/openSUSE:Factory/.ocaml.new.3399/ocaml.changes    2020-09-05 
23:57:57.919120525 +0200
@@ -1,0 +2,6 @@
+Tue Sep  1 12:34:56 UTC 2020 - [email protected]
+
+- update to version 4.11.1
+  See included Changes for benefits and breaking changes
+
+-------------------------------------------------------------------

Old:
----
  ocaml-4.11.0.tar.xz

New:
----
  ocaml-4.11.1.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ ocaml.spec ++++++
--- /var/tmp/diff_new_pack.twAQrF/_old  2020-09-05 23:57:59.115121124 +0200
+++ /var/tmp/diff_new_pack.twAQrF/_new  2020-09-05 23:57:59.119121126 +0200
@@ -63,7 +63,7 @@
 %bcond_with ocaml_make_testsuite
 
 Name:           ocaml
-Version:        4.11.0
+Version:        4.11.1
 Release:        0
 Summary:        OCaml Compiler and Programming Environment
 License:        QPL-1.0 AND SUSE-LGPL-2.0-with-linking-exception

++++++ _service ++++++
--- /var/tmp/diff_new_pack.twAQrF/_old  2020-09-05 23:57:59.179121156 +0200
+++ /var/tmp/diff_new_pack.twAQrF/_new  2020-09-05 23:57:59.179121156 +0200
@@ -1,7 +1,7 @@
 <services>
   <service name="tar_scm" mode="disabled">
     <param name="filename">ocaml</param>
-    <param name="revision">70148d962c83cca31ebf58423ca3ad3443bf7e29</param>
+    <param name="revision">28789a0e79132c1f0af34cacc5f0c1d613d6d901</param>
     <param name="scm">git</param>
     <param name="submodules">disable</param>
     <param name="url">https://github.com/ocaml/ocaml.git</param>

++++++ ocaml-4.11.0.tar.xz -> ocaml-4.11.1.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-4.11.0/Changes new/ocaml-4.11.1/Changes
--- old/ocaml-4.11.0/Changes    2020-08-19 15:30:30.000000000 +0200
+++ new/ocaml-4.11.1/Changes    2020-09-01 14:47:58.000000000 +0200
@@ -1,3 +1,16 @@
+OCaml 4.11.1 (31 August 2020)
+-----------------------------
+
+### Bug fixes:
+
+- #9856, #9857: Prevent polymorphic type annotations from generalizing
+  weak polymorphic variables.
+  (Leo White, review by Jacques Garrigue)
+
+- #9859, #9862: Remove an erroneous assertion when inferred function types
+  appear in the right hand side of an explicit :> coercion
+  (Florian Angeletti, review by Thomas Refis)
+
 OCaml 4.11.0 (19 August 2020)
 ---------------------------
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-4.11.0/VERSION new/ocaml-4.11.1/VERSION
--- old/ocaml-4.11.0/VERSION    2020-08-19 15:30:30.000000000 +0200
+++ new/ocaml-4.11.1/VERSION    2020-09-01 14:47:58.000000000 +0200
@@ -1,4 +1,4 @@
-4.11.0
+4.11.1
 
 # The version string is the first line of this file.
 # It must be in the format described in stdlib/sys.mli
Binary files old/ocaml-4.11.0/boot/ocamlc and new/ocaml-4.11.1/boot/ocamlc 
differ
Binary files old/ocaml-4.11.0/boot/ocamllex and new/ocaml-4.11.1/boot/ocamllex 
differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-4.11.0/configure new/ocaml-4.11.1/configure
--- old/ocaml-4.11.0/configure  2020-08-19 15:30:30.000000000 +0200
+++ new/ocaml-4.11.1/configure  2020-09-01 14:47:58.000000000 +0200
@@ -56,7 +56,7 @@
   fi
 fi
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for OCaml 4.11.0.
+# Generated by GNU Autoconf 2.69 for OCaml 4.11.1.
 #
 # Report bugs to <[email protected]>.
 #
@@ -646,8 +646,8 @@
 # Identity of this package.
 PACKAGE_NAME='OCaml'
 PACKAGE_TARNAME='ocaml'
-PACKAGE_VERSION='4.11.0'
-PACKAGE_STRING='OCaml 4.11.0'
+PACKAGE_VERSION='4.11.1'
+PACKAGE_STRING='OCaml 4.11.1'
 PACKAGE_BUGREPORT='[email protected]'
 PACKAGE_URL='http://www.ocaml.org'
 
@@ -1482,7 +1482,7 @@
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures OCaml 4.11.0 to adapt to many kinds of systems.
+\`configure' configures OCaml 4.11.1 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1548,7 +1548,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of OCaml 4.11.0:";;
+     short | recursive ) echo "Configuration of OCaml 4.11.1:";;
    esac
   cat <<\_ACEOF
 
@@ -1711,7 +1711,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-OCaml configure 4.11.0
+OCaml configure 4.11.1
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2374,7 +2374,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by OCaml $as_me 4.11.0, which was
+It was created by OCaml $as_me 4.11.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -2723,8 +2723,8 @@
 
 
 
-{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring OCaml version 4.11.0" >&5
-$as_echo "$as_me: Configuring OCaml version 4.11.0" >&6;}
+{ $as_echo "$as_me:${as_lineno-$LINENO}: Configuring OCaml version 4.11.1" >&5
+$as_echo "$as_me: Configuring OCaml version 4.11.1" >&6;}
 
 # Configuration variables
 
@@ -2800,7 +2800,7 @@
 
 
 
-VERSION=4.11.0
+VERSION=4.11.1
 
 
 # Note: This is present for the flexdll bootstrap where it exposed as the old
@@ -12475,7 +12475,7 @@
   *) :
     outputobj='-o $(EMPTY)'
   gcc_warnings='-Wall -Wdeclaration-after-statement'
-  case 4.11.0 in #(
+  case 4.11.1 in #(
   *+dev*) :
     gcc_warnings="$gcc_warnings -Werror" ;; #(
   *) :
@@ -16893,7 +16893,7 @@
   ocamldoc=ocamldoc
 fi
 
-case $enable_ocamltest,4.11.0 in #(
+case $enable_ocamltest,4.11.1 in #(
   yes,*|,*+dev*) :
     ocamltest='ocamltest' ;; #(
   *) :
@@ -17610,7 +17610,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by OCaml $as_me 4.11.0, which was
+This file was extended by OCaml $as_me 4.11.1, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -17677,7 +17677,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-OCaml config.status 4.11.0
+OCaml config.status 4.11.1
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-4.11.0/ocaml-variants.opam 
new/ocaml-4.11.1/ocaml-variants.opam
--- old/ocaml-4.11.0/ocaml-variants.opam        2020-08-19 15:30:30.000000000 
+0200
+++ new/ocaml-4.11.1/ocaml-variants.opam        2020-09-01 14:47:58.000000000 
+0200
@@ -1,8 +1,8 @@
 opam-version: "2.0"
-version: "4.11.0"
-synopsis: "OCaml development version"
+version: "4.11.1"
+synopsis: "OCaml 4.11.1, official release"
 depends: [
-  "ocaml" {= "4.11.0" & post}
+  "ocaml" {= "4.11.1" & post}
   "base-unix" {post}
   "base-bigarray" {post}
   "base-threads" {post}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-4.11.0/testsuite/tests/typing-misc/labels.ml 
new/ocaml-4.11.1/testsuite/tests/typing-misc/labels.ml
--- old/ocaml-4.11.0/testsuite/tests/typing-misc/labels.ml      2020-08-19 
15:30:30.000000000 +0200
+++ new/ocaml-4.11.1/testsuite/tests/typing-misc/labels.ml      2020-09-01 
14:47:58.000000000 +0200
@@ -90,3 +90,32 @@
 Warning 19: commuted an argument without principality.
 val f : (x:int -> unit -> int) -> x:int -> int = <fun>
 |}];;
+
+(* 9859: inferred function types may appear in the right hand side of :> *)
+class setup = object
+  method with_ f = (f 0:unit)
+end
+class virtual fail = object (self)
+  method trigger = (self :> setup )
+end
+[%%expect {|
+class setup : object method with_ : (int -> unit) -> unit end
+class virtual fail :
+  object
+    method trigger : setup
+    method virtual with_ : (int -> unit) -> unit
+  end
+|}]
+
+module type T = sig type t  end
+let type_of (type x) (x: x) = (module struct type t = x end: T with type t = x)
+let f g = 1 + g ~x:0 ~y:0;;
+module E = (val type_of f)
+let g = ( (fun _ -> f) :> 'a -> E.t)
+[%%expect {|
+module type T = sig type t end
+val type_of : 'x -> (module T with type t = 'x) = <fun>
+val f : (x:int -> y:int -> int) -> int = <fun>
+module E : sig type t = (x:int -> y:int -> int) -> int end
+val g : 'a -> E.t = <fun>
+|}]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-4.11.0/testsuite/tests/typing-poly/poly.ml 
new/ocaml-4.11.1/testsuite/tests/typing-poly/poly.ml
--- old/ocaml-4.11.0/testsuite/tests/typing-poly/poly.ml        2020-08-19 
15:30:30.000000000 +0200
+++ new/ocaml-4.11.1/testsuite/tests/typing-poly/poly.ml        2020-09-01 
14:47:58.000000000 +0200
@@ -1852,3 +1852,27 @@
        'a list
        The universal variable 'b would escape its scope
 |}]
+
+(* #9856 *)
+let f x =
+  let ref : type a . a option ref = ref None in
+  ref := Some x;
+  Option.get !ref
+[%%expect{|
+Line 2, characters 6-44:
+2 |   let ref : type a . a option ref = ref None in
+          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Error: This definition has type 'a option ref which is less general than
+         'a0. 'a0 option ref
+|}]
+
+type pr = { foo : 'a. 'a option ref }
+let x = { foo = ref None }
+[%%expect{|
+type pr = { foo : 'a. 'a option ref; }
+Line 2, characters 16-24:
+2 | let x = { foo = ref None }
+                    ^^^^^^^^
+Error: This field value has type 'b option ref which is less general than
+         'a. 'a option ref
+|}]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-4.11.0/typing/ctype.ml 
new/ocaml-4.11.1/typing/ctype.ml
--- old/ocaml-4.11.0/typing/ctype.ml    2020-08-19 15:30:30.000000000 +0200
+++ new/ocaml-4.11.1/typing/ctype.ml    2020-09-01 14:47:58.000000000 +0200
@@ -3999,8 +3999,7 @@
           (t, Unchanged)
       else
         (t, Unchanged)
-  | Tarrow(l, t1, t2, com) ->
-      assert (com = Cok);
+  | Tarrow(l, t1, t2, _) ->
       if memq_warn t visited then (t, Unchanged) else
       let visited = t :: visited in
       let (t1', c1) = build_subtype env visited loops (not posi) level t1 in
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ocaml-4.11.0/typing/typecore.ml 
new/ocaml-4.11.1/typing/typecore.ml
--- old/ocaml-4.11.0/typing/typecore.ml 2020-08-19 15:30:30.000000000 +0200
+++ new/ocaml-4.11.1/typing/typecore.ml 2020-09-01 14:47:58.000000000 +0200
@@ -4978,7 +4978,9 @@
             so we do it anyway. *)
          generalize exp.exp_type
        | Some vars ->
-         generalize_and_check_univars env "definition" exp pat.pat_type vars)
+           if maybe_expansive exp then
+             lower_contravariant env exp.exp_type;
+           generalize_and_check_univars env "definition" exp pat.pat_type vars)
     pat_list exp_list;
   let l = List.combine pat_list exp_list in
   let l =


Reply via email to