-
Notifications
You must be signed in to change notification settings - Fork 158
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Make S.Tree.t
abstract
#990
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
770fb8c
to
d8ce25f
Compare
pascutto
approved these changes
Apr 16, 2020
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I you could just rebase, that looks good to me :)
d8ce25f
to
bb50678
Compare
Rebased 🙂 |
craigfe
added a commit
to craigfe/tezos
that referenced
this pull request
Apr 30, 2020
`lib_storage/context` is affected by mirage/irmin#990.
craigfe
added a commit
to craigfe/opam-repository
that referenced
this pull request
Jun 26, 2020
…min-mirage-graphql, irmin-http, irmin-git, irmin-mem, irmin-mirage, irmin-unix, irmin-pack, irmin-graphql and irmin-mirage-git (2.2.0) CHANGES: #### Added - **irmin**: - Added `Irmin.Type.empty` to represent an uninhabited type. (mirage/irmin#961, @craigfe) - Added `Store.Tree.concrete_t`. (mirage/irmin#1003, @craigfe) - **ppx_irmin** - Added support for the `@nobuiltin` attribute, which can be used when shadowing primitive types such as `unit`. See `README_PPX` for details. (mirage/irmin#993, @craigfe) - Added support for a `lib` argument, which can be used to supply primitive type representations from modules other than `Irmin.Type`. (mirage/irmin#994, @craigfe) #### Changed - **irmin**: - Require OCaml 4.07 (mirage/irmin#961, @craigfe) - Add sanity checks when creating `Irmin.Type` records, variants and enums (mirage/irmin#956 and mirage/irmin#966, @liautaud): - `Irmin.Type.{sealr,sealv,enum}` will now raise `Invalid_argument` if two components have the same name; - `Irmin.Type.{field,case0,case1}` will now raise `Invalid_argument` if the component name is not a valid UTF-8 string. - Changed the JSON encoding of options and unit to avoid ambiguous cases (mirage/irmin#967, @liautaud): - `()` is now encoded as `{}`; - `None` is now encoded as `null`; - `Some x` is now encoded as `{"some": x}`; - Fields of records which have value `None` are still omitted; - Fields of records which have value `Some x` are still unboxed into `x`. - Changed pretty-printing of Irmin types to more closely resemble OCaml types. e.g. `pair int string` prints as `int * string`. (mirage/irmin#997, @craigfe) - The type `Irmin.S.tree` is now abstract. The previous form can be coerced to/from the abstract representation with the new functions `Irmin.S.Tree.{v,destruct}` respectively. (mirage/irmin#990, @craigfe) - **irmin-mem** - Stores created with `KV` now expose their unit metadata type. (mirage/irmin#995, @craigfe) #### Fixed - **irmin-graphql** - Fixed an issue with keys inside `get_{contents,tree}` fields having incorrect ordering (mirage/irmin#989, @craigfe)
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
S.Tree.t
was previously a concrete type with redundant constructursof_node
andof_contents
. In some places, we were using these constructors; in others, we were constructing the value directly.This change encourages delegation by requiring all instances of
S.Tree.t
to go via the constructors and destructors inS.Tree
.I made this change last week while experimenting with 'foreign' hashes support (which likely want to add a case to this type), but I think it stands as an improvement by itself.