caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Simon Cruanes <simon.cruanes.2007@m4x.org>
To: Damien Doligez <damien.doligez@inria.fr>
Cc: caml-list@inria.fr, caml-announce@inria.fr
Subject: Re: [Caml-list] OCaml release 4.02.2
Date: Fri, 19 Jun 2015 13:38:20 +0200	[thread overview]
Message-ID: <20150619113820.GU32363@emmental.inria.fr> (raw)
In-Reply-To: <CALGm1VjzrTxSyVWWa_=G5u+ZXJeF-_aW9fv9Hx7J8Chu8h4_XA@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 12950 bytes --]

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 = { 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 = { 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 écrit :
> 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.
> 
> 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"
> 
> We would like to take the opportunity to thank all the third-party
> packagers who make this easy to install for end users.
> 
> Happy hacking,
> 
> -- Damien Doligez for the OCaml team.
> 
> 
> OCaml 4.02.2:
> -------------
> 
> (Changes that can break existing programs are marked with a "*")
> 
> 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érémie Dimino)
> 
> 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 runtime
>   (Alain Frisch)
> - GPR#149: Attach documentation comments to parse tree
>   (Leo White)
> - GPR#159: Better locations for structure/signature items
>   (Leo White)
> 
> Toplevel and debugger:
> - PR#5958: generalized polymorphic #install_printer
>   (Pierre Chambart and Grégoire Henry)
> 
> 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(Foo)"
>   (François Pottier)
> 
> Libraries:
> - PR#6285: Add support for nanosecond precision in Unix.stat()
>   (Jérémie 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)
> 
> Runtime:
> - PR#6078: Release the runtime system when calling caml_dlopen
>   (Jérémie Dimino)
> - PR#6675: GC hooks
>   (Damien Doligez and Roshan James)
> 
> Build system:
> - PR#5418 (comments) : generate dependencies with $(CC) instead of gcc
>   (Damien Doligez and Michael Grünewald)
> - PR#6266: Cross compilation for iOs, Android etc
>   (Peter Zotov, review by Damien Doligez and Mark Shinwell)
> 
> Installation procedure:
> - Update instructions for x86-64 PIC mode and POWER architecture builds
>   (Mark Shinwell)
> 
> Bug fixes:
> - PR#5271: Location.prerr_warning is hard-coded to use Format.err_formatter
>   (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érôme Vouillon and Adrien Nader and Peter Zotov)
> - PR#6281: Graphics window does not acknowledge second click (double click)
>   (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ël 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=v
>   (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ünewald, 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éphane 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érémie Dimino, Mark Shinwell)
> - PR#6690: Uncaught exception (Not_found) with (wrong) wildcard or unification
>   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 Shinwell)
> - PR#6717: Pprintast does not print let-pattern attributes
>   (Gabriel Scherer, report by Peter Zotov)
> - PR#6727: Printf.sprintf "%F" misbehavior
>   (Benoît Vaugon, report by Vassili Karpov)
> - PR#6747: ocamlobjinfo: missing symbol caml_plugin_header due to underscore
>   (Damien Doligez, Maverick Woo)
> - PR#6749: ocamlopt returns n for (n mod 1) instead of 0
>   (Mark Shinwell and Jérémie Dimino)
> - PR#6753: Num.quo_num and Num.mod_num incorrect for some negative arguments
>   (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égoire 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ît 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ünzli)
> - PR#6812: -short-paths and -no-alias-deps can create inconsistent assumptions
>   (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ünewald)
> - 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âtre)
> - PR#6884: The __CYGWIN32__ #define should be replaced with __CYGWIN__
>   (Adrien Nader)
> - PR#6886: -no-alias-deps allows to build self-referential compilation units
>   (Jacques Garrigue, report by Valentin Gatien-Baron)
> - PR#6889: ast_mapper fails to rewrite class attributes
>   (Sébastien 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)
> 
> Feature wishes:
> - PR#6452, GPR#140: add internal suport for custom printing formats
>   (Jérémie 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)
> 
> -- 
> 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


-- 
Simon

http://weusepgp.info/
key 49AA62B6, fingerprint 949F EB87 8F06 59C6 D7D3  7D8D 4AC0 1D08 49AA 62B6

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  reply	other threads:[~2015-06-19 11:39 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-17 19:44 Damien Doligez
2015-06-19 11:38 ` Simon Cruanes [this message]
2015-06-19 11:59   ` Gabriel Scherer
2015-06-19 12:08     ` Simon Cruanes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150619113820.GU32363@emmental.inria.fr \
    --to=simon.cruanes.2007@m4x.org \
    --cc=caml-announce@inria.fr \
    --cc=caml-list@inria.fr \
    --cc=damien.doligez@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).