aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/parser.y
diff options
context:
space:
mode:
Diffstat (limited to 'src/libexpr/parser.y')
-rw-r--r--src/libexpr/parser.y8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libexpr/parser.y b/src/libexpr/parser.y
index 93834bec6..10a057062 100644
--- a/src/libexpr/parser.y
+++ b/src/libexpr/parser.y
@@ -20,6 +20,7 @@
#include "nixexpr.hh"
#include "eval.hh"
+#include "globals.hh"
namespace nix {
@@ -401,7 +402,12 @@ expr_simple
new ExprVar(data->symbols.create("__nixPath"))),
new ExprString(data->symbols.create(path)));
}
- | URI { $$ = new ExprString(data->symbols.create($1)); }
+ | URI {
+ static bool noURLLiterals = settings.isExperimentalFeatureEnabled("no-url-literals");
+ if (noURLLiterals)
+ throw ParseError("URL literals are disabled, at %s", CUR_POS);
+ $$ = new ExprString(data->symbols.create($1));
+ }
| '(' expr ')' { $$ = $2; }
/* Let expressions `let {..., body = ...}' are just desugared
into `(rec {..., body = ...}).body'. */