-
Notifications
You must be signed in to change notification settings - Fork 414
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
Remove variants #3491
Remove variants #3491
Conversation
11ae16a
to
91214f7
Compare
Let's go for the second option. We don't need to go out of our way for experimental features. In such cases, the code matters more. |
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.
Nice, I like PRs with a lot of read :)
91214f7
to
47fdfca
Compare
c6259b2
to
383ae64
Compare
doc/variants.rst
Outdated
|
||
Default implementation | ||
====================== | ||
|
||
This feature is also guarded by ``(using library_variants ...)``. | ||
This feature is guarded by a different language declaration depending on the | ||
version of dune that you're using. |
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.
These side notes should be moved to the bottom of the section
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.
Looks good, just need some doc tweak
The experimental variants feature is removed in 2.6. In particular: * default implementations are a standard part of the language * (using library_variants) is an error Signed-off-by: Rudi Grinberg <[email protected]>
383ae64
to
ed71374
Compare
Signed-off-by: Rudi Grinberg <[email protected]>
Signed-off-by: Rudi Grinberg <[email protected]>
Make sure that default implementations exist in the same package as their virtual libraries Signed-off-by: Rudi Grinberg <[email protected]>
Signed-off-by: Rudi Grinberg <[email protected]>
Signed-off-by: Rudi Grinberg <[email protected]>
aed4fab
to
dad471b
Compare
…lugin, dune-private-libs and dune-glob (2.6.0) CHANGES: - Fix a bug where valid lib names in `dune init exec --libs=lib1,lib2` results in an error. (ocaml/dune#3444, fix ocaml/dune#3443, @bikallem) - Add and `enabled_ if` field to the `install` stanza. Enforce the same variable restrictions for `enabled_if` fields in the `executable` and `install` stanzas than in the `library` stanza. When using dune lang < 2.6, the usage of forbidden variables in executables stanzas with only trigger a warning to maintain compatibility. (ocaml/dune#3408 and ocaml/dune#3496, fixes ocaml/dune#3354, @voodoos) - Insert a constraint one the version of dune when the user explicitly specify the dependency on dune in the `dune-project` file (ocaml/dune#3434 , fixes ocaml/dune#3427, @diml) - Generate correct META files for sub-libraries (of the form `lib.foo`) that contain .js runtime files. (ocaml/dune#3445, @hhugo) - Add a `(no-infer ...)` action that prevents inference of targets and dependencies in actions. (ocaml/dune#3456, fixes ocaml/dune#2006, @roddyyaga) - Correctly infer targets for the `diff?` action. (ocaml/dune#3457, fixes ocaml/dune#2990, @greedy) - Fix `$ dune print-rules` crashing (ocaml/dune#3459, fixes ocaml/dune#3440, @rgrinberg) - Simplify js_of_ocaml rules using js_of_ocaml.3.6 (ocaml/dune#3375, @hhugo) - Add a new `ocaml-merlin` subcommand that can be used by Merlin to get configuration directly from dune instead of using `.merlin` files. (ocaml/dune#3395, @voodoos) - Remove experimental variants feature and make default implementations part of the language (ocaml/dune#3491, fixes ocaml/dune#3483, @rgrinberg)
…lugin, dune-private-libs and dune-glob (2.6.0) CHANGES: - Fix a bug where valid lib names in `dune init exec --libs=lib1,lib2` results in an error. (ocaml/dune#3444, fix ocaml/dune#3443, @bikallem) - Add and `enabled_ if` field to the `install` stanza. Enforce the same variable restrictions for `enabled_if` fields in the `executable` and `install` stanzas than in the `library` stanza. When using dune lang < 2.6, the usage of forbidden variables in executables stanzas with only trigger a warning to maintain compatibility. (ocaml/dune#3408 and ocaml/dune#3496, fixes ocaml/dune#3354, @voodoos) - Insert a constraint one the version of dune when the user explicitly specify the dependency on dune in the `dune-project` file (ocaml/dune#3434 , fixes ocaml/dune#3427, @diml) - Generate correct META files for sub-libraries (of the form `lib.foo`) that contain .js runtime files. (ocaml/dune#3445, @hhugo) - Add a `(no-infer ...)` action that prevents inference of targets and dependencies in actions. (ocaml/dune#3456, fixes ocaml/dune#2006, @roddyyaga) - Correctly infer targets for the `diff?` action. (ocaml/dune#3457, fixes ocaml/dune#2990, @greedy) - Fix `$ dune print-rules` crashing (ocaml/dune#3459, fixes ocaml/dune#3440, @rgrinberg) - Simplify js_of_ocaml rules using js_of_ocaml.3.6 (ocaml/dune#3375, @hhugo) - Add a new `ocaml-merlin` subcommand that can be used by Merlin to get configuration directly from dune instead of using `.merlin` files. (ocaml/dune#3395, @voodoos) - Remove experimental variants feature and make default implementations part of the language (ocaml/dune#3491, fixes ocaml/dune#3483, @rgrinberg)
…lugin, dune-private-libs and dune-glob (2.6.0) CHANGES: - Fix a bug where valid lib names in `dune init exec --libs=lib1,lib2` results in an error. (ocaml/dune#3444, fix ocaml/dune#3443, @bikallem) - Add and `enabled_ if` field to the `install` stanza. Enforce the same variable restrictions for `enabled_if` fields in the `executable` and `install` stanzas than in the `library` stanza. When using dune lang < 2.6, the usage of forbidden variables in executables stanzas with only trigger a warning to maintain compatibility. (ocaml/dune#3408 and ocaml/dune#3496, fixes ocaml/dune#3354, @voodoos) - Insert a constraint one the version of dune when the user explicitly specify the dependency on dune in the `dune-project` file (ocaml/dune#3434 , fixes ocaml/dune#3427, @diml) - Generate correct META files for sub-libraries (of the form `lib.foo`) that contain .js runtime files. (ocaml/dune#3445, @hhugo) - Add a `(no-infer ...)` action that prevents inference of targets and dependencies in actions. (ocaml/dune#3456, fixes ocaml/dune#2006, @roddyyaga) - Correctly infer targets for the `diff?` action. (ocaml/dune#3457, fixes ocaml/dune#2990, @greedy) - Fix `$ dune print-rules` crashing (ocaml/dune#3459, fixes ocaml/dune#3440, @rgrinberg) - Simplify js_of_ocaml rules using js_of_ocaml.3.6 (ocaml/dune#3375, @hhugo) - Add a new `ocaml-merlin` subcommand that can be used by Merlin to get configuration directly from dune instead of using `.merlin` files. (ocaml/dune#3395, @voodoos) - Remove experimental variants feature and make default implementations part of the language (ocaml/dune#3491, fixes ocaml/dune#3483, @rgrinberg)
The experimental variants feature is removed in 2.6. In particular:
@jeremiedimino do we need nice error messages when users use write
(variant ..)
fields? Or is it enough to say that the feature was deleted on the(using ..)
declaration?