From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 7B0E27EEBF for ; Fri, 19 Jun 2015 13:39:14 +0200 (CEST) Received-SPF: Neutral (mail3-smtp-sop.national.inria.fr: domain of simon.cruanes.2007@m4x.org does not assert whether or not 129.104.30.34 is permitted sender) identity=pra; client-ip=129.104.30.34; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="SRS0=x67x=G5=m4x.org=simon.cruanes.2007@bounces.m4x.org"; x-sender="simon.cruanes.2007@m4x.org"; x-conformance=sidf_compatible; x-record-type="spf2.0" Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of SRS0=x67x=G5=m4x.org=simon.cruanes.2007@bounces.m4x.org designates 129.104.30.34 as permitted sender) identity=mailfrom; client-ip=129.104.30.34; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="SRS0=x67x=G5=m4x.org=simon.cruanes.2007@bounces.m4x.org"; x-sender="SRS0=x67x=G5=m4x.org=simon.cruanes.2007@bounces.m4x.org"; x-conformance=sidf_compatible; x-record-type="spf2.0" Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of postmaster@mx1.polytechnique.org designates 129.104.30.34 as permitted sender) identity=helo; client-ip=129.104.30.34; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="SRS0=x67x=G5=m4x.org=simon.cruanes.2007@bounces.m4x.org"; x-sender="postmaster@mx1.polytechnique.org"; x-conformance=sidf_compatible; x-record-type="v=spf1" X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: A0BuAQBB/oNVnCIeaIFcg2RfAYJXRqtfhlWKHoc5TAEBAQEBARIBAQEBAQYNCQkhLoQjAQUMF0sLEAkCEg8EHQICDwUxBBQliAgDEg2Qf50ZkGADhhuKQ4EChDeDPoFDBYVaCoEfA4UIgSGDcoJZAoRWhneBO0GOM4gAgW8MFoIQbQEBAQGCRAEBAQ X-IPAS-Result: A0BuAQBB/oNVnCIeaIFcg2RfAYJXRqtfhlWKHoc5TAEBAQEBARIBAQEBAQYNCQkhLoQjAQUMF0sLEAkCEg8EHQICDwUxBBQliAgDEg2Qf50ZkGADhhuKQ4EChDeDPoFDBYVaCoEfA4UIgSGDcoJZAoRWhneBO0GOM4gAgW8MFoIQbQEBAQGCRAEBAQ X-IronPort-AV: E=Sophos;i="5.13,643,1427752800"; d="asc'?scan'208";a="137001099" Received: from mx1.polytechnique.org ([129.104.30.34]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/ADH-AES256-SHA; 19 Jun 2015 13:39:13 +0200 Received: from emmental.inria.fr (emmental.inria.fr [128.93.0.14]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ssl.polytechnique.org (Postfix) with ESMTPSA id 2E1BE1408EFC3; Fri, 19 Jun 2015 13:39:12 +0200 (CEST) Date: Fri, 19 Jun 2015 13:38:20 +0200 From: Simon Cruanes To: Damien Doligez Cc: caml-list@inria.fr, caml-announce@inria.fr Message-ID: <20150619113820.GU32363@emmental.inria.fr> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="ECAkxgSy0pGoHfdA" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23.1-rc1 (2014-03-12) X-AV-Checked: ClamAV using ClamSMTP at svoboda.polytechnique.org (Fri Jun 19 13:39:12 2015 +0200 (CEST)) X-Spam-Flag: No, tests=bogofilter, spamicity=0.000000, queueID=4F9211408EFC4 X-Org-Mail: simon.cruanes.2007@polytechnique.org Subject: Re: [Caml-list] OCaml release 4.02.2 --ECAkxgSy0pGoHfdA Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi, I know it should have been reported before, during the rc1, but anyway, I noticed this after the release (not my packages): ``` type foo =3D { bar[@toto] : int };; ``` This compiles on 4.02.1 (and puts the attribute [@toto] on the field `bar`) but fails to compile on 4.02.2 as follows: ``` # type foo =3D { bar [@toto] : int };; Error: Syntax error ``` This breaks ppx_deriving (for which a patch is underway), and every piece of code that uses it with attributes on records, yet nothing is mentioned in the changelog (at least not with a "breaking" annotation)? Cheers! Le Wed, 17 Jun 2015, Damien Doligez a =C3=A9crit : > We have the pleasure of celebrating the birthdays of Cesar-Francois > Cassini, Igor Stravinsky and Maurits Cornelis Escher by announcing the > release of OCaml version 4.02.2. > This release has a few new features and a lot of bug fixes, see the > list of changes below. >=20 > It is available: > - as source code: < > http://caml.inria.fr/pub/distrib/ocaml-4.02/ocaml-4.02.2.tar.gz > > - as an OPAM switch: "opam switch 4.02.2" >=20 > We would like to take the opportunity to thank all the third-party > packagers who make this easy to install for end users. >=20 > Happy hacking, >=20 > -- Damien Doligez for the OCaml team. >=20 >=20 > OCaml 4.02.2: > ------------- >=20 > (Changes that can break existing programs are marked with a "*") >=20 > Language features: > - PR#6583: add a new class of binary operators with the same syntactic > precedence as method calls; these operators start with # followed > by a non-empty sequence of operator symbols (for instance #+, #!?). > It is also possible to use '#' as part of these extra symbols > (for instance ##, or #+#); this is rejected by the type-checker, > but can be used e.g. by ppx rewriters. > (Alain Frisch, request by Gabriel Radanne) > * PR#6016: add a "nonrec" keyword for type declarations > (J=C3=A9r=C3=A9mie Dimino) >=20 > Compilers: > - PR#6600: make -short-paths faster by building the printing map > incrementally > (Jacques Garrigue) > - PR#6642: replace $CAMLORIGIN in -ccopt with the path to cma or cmxa > (Peter Zotov, Gabriel Scherer, review by Damien Doligez) > - PR#6797: new option -output-complete-obj > to output an object file with included runtime and autolink libraries > (Peter Zotov) > - PR#6845: -no-check-prims to tell ocamlc not to check primitives in runt= ime > (Alain Frisch) > - GPR#149: Attach documentation comments to parse tree > (Leo White) > - GPR#159: Better locations for structure/signature items > (Leo White) >=20 > Toplevel and debugger: > - PR#5958: generalized polymorphic #install_printer > (Pierre Chambart and Gr=C3=A9goire Henry) >=20 > OCamlbuild: > - PR#6237: explicit "infer" tag to control or disable menhir --infer > (Hugo Heuzard) > - PR#6625: pass -linkpkg to files built with -output-obj. > (Peter Zotov) > - PR#6702: explicit "linkpkg" and "dontlink(foo)" flags > (Peter Zotov, Gabriel Scherer) > - PR#6712: Ignore common VCS directories > (Peter Zotov) > - PR#6720: pass -g to C compilers when tag 'debug' is set > (Peter Zotov, Gabriel Scherer) > - PR#6733: add .byte.so and .native.so targets to pass > -output-obj -cclib -shared. > (Peter Zotov) > - PR#6733: "runtime_variant(X)" to pass -runtime-variant X option. > (Peter Zotov) > - PR#6774: new menhir-specific flags "only_tokens" and "external_tokens(F= oo)" > (Fran=C3=A7ois Pottier) >=20 > Libraries: > - PR#6285: Add support for nanosecond precision in Unix.stat() > (J=C3=A9r=C3=A9mie Dimino, report by user 'gfxmonk') > - PR#6781: Add higher baud rates to Unix termios > (Damien Doligez, report by Berke Durak) > - PR#6834: Add Obj.{first,last}_non_constant_constructor_tag > (Mark Shinwell, request by Gabriel Scherer) >=20 > Runtime: > - PR#6078: Release the runtime system when calling caml_dlopen > (J=C3=A9r=C3=A9mie Dimino) > - PR#6675: GC hooks > (Damien Doligez and Roshan James) >=20 > Build system: > - PR#5418 (comments) : generate dependencies with $(CC) instead of gcc > (Damien Doligez and Michael Gr=C3=BCnewald) > - PR#6266: Cross compilation for iOs, Android etc > (Peter Zotov, review by Damien Doligez and Mark Shinwell) >=20 > Installation procedure: > - Update instructions for x86-64 PIC mode and POWER architecture builds > (Mark Shinwell) >=20 > Bug fixes: > - PR#5271: Location.prerr_warning is hard-coded to use Format.err_formatt= er > (Damien Doligez, report by Rolf Rolles) > - PR#5395: OCamlbuild mishandles relative symlinks and include paths > (Damien Doligez, report by Didier Le Botlan) > - PR#5822: wrong value of Options.ext_dll on windows > (Damien Doligez and Daniel Weil) > - PR#5836, PR#6684: printing lazy values in ocamldebug may segfault > (Gabriel Scherer, request by the Coq team) > - PR#5887: move the byterun/*.h headers to byterun/caml/*.h to avoid > header name clashes > (J=C3=A9r=C3=B4me Vouillon and Adrien Nader and Peter Zotov) > - PR#6281: Graphics window does not acknowledge second click (double clic= k) > (Kyle Headley) > - PR#6490: incorrect backtraces in gdb on AArch64. Also fixes incorrect > backtraces on 32-bit ARM. > (Mark Shinwell) > - PR#6573: extern "C" for systhreads/threads.h > (Micka=C3=ABl Delahaye) > - PR#6575: Array.init evaluates callback although it should not do so > (Alain Frisch, report by Gerd Stolpmann) > - PR#6607: The manual doesn't mention 0x200 flag for OCAMLRUNPARAM=3Dv > (Alain Frisch) > - PR#6616: allow meaningful use of -use-runtime without -custom. > (Peter Zotov) > - PR#6617: allow android build with pthreads support (since SDK r10c) > (Peter Zotov) > - PR#6626: ocamlbuild on cygwin cannot find ocamlfind > (Gergely Szilvasy) > - PR#6628: Configure script rejects legitimate arguments > (Michael Gr=C3=BCnewald, Damien Doligez) > - PR#6630: Failure of tests/prim-bigstring/{big,}string.ml on big-endian > architectures > (Pierre Chambart, testing by Mark Shinwell) > - PR#6640: ocamlbuild: wrong "unused tag" warning on "precious" > (report by user 'william') > - PR#6652: ocamlbuild -clean does not print a newline after output > (Damien Doligez, report by Andi McClure) > - PR#6658: cross-compiler: version check not working on OS X > (Gerd Stolpmann) > - PR#6665: Failure of tests/asmcomp on sparc > (St=C3=A9phane Glondu) > - PR#6667: wrong implementation of %bswap16 on ARM64 > (Xavier Leroy) > - PR#6669: fix 4.02 regression in toplevel printing of lazy values > (Leo White, review by Gabriel Scherer) > - PR#6671: Windows: environment variable 'TZ' affects Unix.gettimeofday > (Mickael Delahaye and Damien Doligez) > - PR#6680: Missing parentheses in warning about polymorphic variant value > (Jacques Garrigue and Gabriel Scherer, report by Philippe Veber) > - PR#6686: Bug in [subst_boxed_number] > (J=C3=A9r=C3=A9mie Dimino, Mark Shinwell) > - PR#6690: Uncaught exception (Not_found) with (wrong) wildcard or unific= ation > type variable in place of a local abstract type > (Jacques Garrigue, report by Mikhail Mandrykin) > - PR#6693 (part two): Incorrect relocation types in x86-64 runtime system > (Peter Zotov, review by Jacques-Henri Jourdan, Xavier Leroy and Mark Sh= inwell) > - PR#6717: Pprintast does not print let-pattern attributes > (Gabriel Scherer, report by Peter Zotov) > - PR#6727: Printf.sprintf "%F" misbehavior > (Beno=C3=AEt Vaugon, report by Vassili Karpov) > - PR#6747: ocamlobjinfo: missing symbol caml_plugin_header due to undersc= ore > (Damien Doligez, Maverick Woo) > - PR#6749: ocamlopt returns n for (n mod 1) instead of 0 > (Mark Shinwell and J=C3=A9r=C3=A9mie Dimino) > - PR#6753: Num.quo_num and Num.mod_num incorrect for some negative argume= nts > (Xavier Leroy) > - PR#6758: Ocamldoc "analyse_module: parsetree and typedtree don't match" > (Damien Doligez, report by user 'maro') > - PR#6759: big_int_of_string incorrectly parses some hexa literals > (Damien Doligez, report by Pierre-yves Strub) > - PR#6763: #show with -short-paths doesn't select shortest type paths > (Jacques Garrigue, report by David Sheets) > - PR#6768: Typechecker overflow the stack on cyclic type > (Jacques Garrigue, report by user 'darktenaibre') > - PR#6772: asmrun/signals_asm.c doesn't compile on NetBSD/i386 > (Kenji Tokudome) > - PR#6775: Digest.file leaks file descriptor on error > (Valentin Gatien-Baron) > - PR#6779: Cross-compilers cannot link bytecode using custom primitives > (Damien Doligez, request by Peter Zotov) > - PR#6787: Soundness bug with polymorphic variants > (Jacques Garrigue, with help from Leo White and Gr=C3=A9goire Henry, > report by Michael O'Connor) > - PR#6790: otherlibs should be built with -g > (Damien Doligez, report by Peter Zotov) > - PR#6791: "%s@[", "%s@{" regression in Scanf > (Beno=C3=AEt Vaugon) > - PR#6793: ocamlbuild passes nonsensical "-ocamlc ..." commands to menhir > (Gabriel Scherer, report by Damien Doligez) > - PR#6799: include guards missing for unixsupport.h and other files > (Andreas Hauptmann) > - PR#6810: Improve documentation of Bigarray.Genarray.map_file > (Mark Shinwell and Daniel B=C3=BCnzli) > - PR#6812: -short-paths and -no-alias-deps can create inconsistent assump= tions > (Jacques Garrigue, report by Valentin Gatien-Baron) > - PR#6817: GADT exhaustiveness breakage with modules > (Leo White, report by Pierre Chambart) > - PR#6824: fix buffer sharing on partial application of Format.asprintf > (Gabriel Scherer, report by Alain Frisch) > - PR#6831: Build breaks for -aspp gcc on solaris-like OSs > (John Tibble) > - PR#6836: Assertion failure using -short-paths > (Jacques Garrigue, report by David Sheets) > - PR#6837: Build profiling libraries on FreeBSD and NetBSD x86-64 > (Mark Shinwell, report by Michael Gr=C3=BCnewald) > - PR#6841: Changing compilation unit name with -o breaks ocamldebug > (Jacques Garrigue, report by Jordan Walke) > - PR#6843: record weak dependencies even when the .cmi is missing > (Leo White, Gabriel Scherer) > - PR#6849: Inverted pattern unification error > (Jacques Garrigue, report by Leo White) > - PR#6857: __MODULE__ doesn't give the current module with -o > (Jacques Garrigue, report by Valentin Gatien-Baron) > - PR#6862: Exhaustiveness check wrong for class constructor arguments > (Jacques Garrigue) > - PR#6869: Improve comment on [Hashtbl.hash_param] > (Mark Shinwell, report by Jun Furuse) > - PR#6870: Unsoundness when -rectypes fails to detect non-contractive type > (Jacques Garrigue, report by Stephen Dolan) > - PR#6872: Type-directed propagation fails to disambiguate variants > that are also exception constructors > (Jacques Garrigue, report by Romain Beauxis) > - PR#6878: AArch64 backend generates invalid asm: conditional branch > out of range (Mark Shinwell, report by Richard Jones, testing by Richard > Jones and Xavier Leroy, code review by Xavier Leroy and Thomas Refis) > - PR#6879: Wrong optimization of 1 mod n > (Mark Shinwell, report by Jean-Christophe Filli=C3=A2tre) > - PR#6884: The __CYGWIN32__ #define should be replaced with __CYGWIN__ > (Adrien Nader) > - PR#6886: -no-alias-deps allows to build self-referential compilation un= its > (Jacques Garrigue, report by Valentin Gatien-Baron) > - PR#6889: ast_mapper fails to rewrite class attributes > (S=C3=A9bastien Briais) > - PR#6893: ocamlbuild: "tag not used" warning when using (p)dep > (Gabriel Scherer, report by Christiano Haesbaert) > - GPR#143: fix getsockopt behaviour for boolean socket options > (Anil Madhavapeddy and Andrew Ray) > - GPR#190: typo in pervasives > (Guillaume Bury) > - Misplaced assertion in major_gc.c for no-naked-pointers mode > (Stephen Dolan, Mark Shinwell) >=20 > Feature wishes: > - PR#6452, GPR#140: add internal suport for custom printing formats > (J=C3=A9r=C3=A9mie Dimino) > - PR#6641: add -g, -ocamlcflags, -ocamloptflags options to ocamlmklib > (Peter Zotov) > - PR#6693: also build libasmrun_shared.so and lib{asm,caml}run_pic.a > (Peter Zotov, review by Mark Shinwell) > - PR#6842: export Typemod.modtype_of_package > (Jacques Garrigue, request by Jun Furuse) > - GPR#139: more versatile specification of locations of .annot > (Christophe Troestler, review by Damien Doligez) > - GPR#157: store the path of cmos inside debug section at link time > (Hugo Heuzard, review by Damien Doligez) > - GPR#191: Making gc.h and some part of memory.h public > (Thomas Refis) >=20 > --=20 > Caml-list mailing list. Subscription management and archives: > https://sympa.inria.fr/sympa/arc/caml-list > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs --=20 Simon http://weusepgp.info/ key 49AA62B6, fingerprint 949F EB87 8F06 59C6 D7D3 7D8D 4AC0 1D08 49AA 62B6 --ECAkxgSy0pGoHfdA Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQIcBAEBCAAGBQJVg/8pAAoJEErAHQhJqmK2yaUP/0F0pnAgX6Ddp84Eq1t1UYD/ fNiM8G1+nyFS/NaqkWO61/d4x5D1diebZPliVpOEOJzQdhVFeqLHVKO6YHgVax0Y G0yCMZW5lOpxXbodW7LdgpWpYB6ugHNHJtVdyvC2HifuJk7BX930QFqRsL3vumSm KUZQPcRVy7zfOGKDc543rp0Zn37iR+hm/0HNfZjZxrg6xEOdic5P+nZcj8CkxGZ5 AUeeeEw/EFGCvA3SVdA9t7aldh0TAxz++dU+qB17CQyrqH7cSr7nvG6tXhlU/fVC 1LS4T9+SgUWROEzWkkgPMdhWbFPPXQSh1b6otQtfoxBF8fG4R4Lj46g3kzVZpsjL V1tgkRCnhrz3xTYE+oVIjlPb8FqpM4hqTMIbV1wclko5QqiTW4AJCG89pYf4JMxf D8rXKZYOwhUdkDwku2Gf1/TUA5GMiQLpoe2UlUz5JxKPyMxGoKDSUEoQEzeRRWVp nTPgPwBXUDbKITZhgDcbaNRUXxnYkSXtIl8SXhEtNaxgX1kqkSneK8JvkAuhpRIF Mq1VcgSdMZXgs9CRuFa5n6l+I7TCiAK9W0H1VLT2sVrJoRDcC/m0CaQ13J+TnJ+f 11xPrmyqbpyX2jWt+aoK68ud0grNxndBhfWr49KHg7+Q1EH0JVd7ZgAP49ubZCGN CS5sRFy55Sw6mnhvFMIj =b5p+ -----END PGP SIGNATURE----- --ECAkxgSy0pGoHfdA--