lix/doc/manual/rl-next/deprecated-features.md
piegames 0edfea450b libexpr: Soft-deprecate ancient let syntax
Change-Id: I6802b26f038578870ea1fa1ed298f0c4b1f29c4a
2024-08-21 12:59:03 +02:00

1.1 KiB

synopsis issues cls category credits
Deprecated language features
fj#437
1785
1736
1735
1744
Breaking Changes
piegames
horrors

A system for deprecation (and then the planned removal) of undesired language features has been put into place. It is controlled via feature flags much like experimental features, except that the deprecations are enabled default, and can be disabled via the flags for backwards compatibility (opt-out with --extra-deprecated-features or the Nix configuration file).

  • url-literals: URL literals have long been obsolete and discouraged of use, and now they are officially deprecated. This means that all URLs must be properly put within quotes like all other strings.
  • rec-set-overrides: __overrides is an old arcane syntax which has not been in use for more than a decade. It is soft-deprecated with a warning only, with the plan to turn that into an error in a future release.
  • ancient-let: The old let syntax (let { body = …; … }) is soft-deprecated with a warning as well. Use the regular let … in instead.