Skip to content

Remove the no-url-literals experimental feature #10048

@thufschmitt

Description

@thufschmitt

Is your feature request related to a problem? Please describe.

Nix currently has a no-url-literals experimental feature that disables the use of URL literals in the language.
While the change by itself is something we agree we want to move towards, having it be an experimental feature isn't the right thing because it's unlikely that we'll ever flip the switch, and it isn't visible by default.

Describe the solution you'd like

What we should instead have is have it be (visibly) deprecated (through warnings), with a way to forbid it altogether, and a way to shut the warnings if needed.

-- End of the team discussion, the below is my own interpretation of the agreement we had and up to discussion --

Concretely, we should remove the experimental feature, and add an option warn-url-literal = {yes|no|error}, defaulting to yes, with the (long-term) plan of making it default to error.

This could be later extended to a more generic mechanism able to handle more warning/errors. Tvix has a few of them, and there are a number of things discussed here that are blocked on the lack of a deprecation path (#7578, #8738, #8613)

Priorities

Add 👍 to issues you find important.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureFeature request or proposalidea approvedThe given proposal has been discussed and approved by the Nix team. An implementation is welcome.
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions