libexpr: Warn on incorrect string escapes
In Nixpkgs, there are several strings like "\d\.\d" which attempt to be a regex but are just literally "d.d". The escaping rules are silly and we should warn our users about that. Co-authored-by: Commentator2.0 <lix@crystal-cavern.systems> Change-Id: I779b0757358fc9adc34dc140e1670b83abc93b67
This commit is contained in:
co-authored by
Commentator2.0
parent
f1fbd1d095
commit
56dee9186f
@@ -0,0 +1,42 @@
|
||||
warning: ''\a is an ill-defined escape. You can drop the ''\ and simply write a instead. Use --extra-deprecated-features broken-string-escape to silence this warning.
|
||||
at /pwd/in.nix:2:4:
|
||||
1| ''
|
||||
2| ''\a''\n
|
||||
| ^
|
||||
3| ''\f''\{''\$''\"''\'''\r''\v''\\''\t
|
||||
warning: ''\f is an ill-defined escape. You can drop the ''\ and simply write f instead. Use --extra-deprecated-features broken-string-escape to silence this warning.
|
||||
at /pwd/in.nix:3:4:
|
||||
2| ''\a''\n
|
||||
3| ''\f''\{''\$''\"''\'''\r''\v''\\''\t
|
||||
| ^
|
||||
4| ''\'''${"x"}
|
||||
warning: ''\{ is an ill-defined escape. You can drop the ''\ and simply write { instead. Use --extra-deprecated-features broken-string-escape to silence this warning.
|
||||
at /pwd/in.nix:3:8:
|
||||
2| ''\a''\n
|
||||
3| ''\f''\{''\$''\"''\'''\r''\v''\\''\t
|
||||
| ^
|
||||
4| ''\'''${"x"}
|
||||
warning: ''\$ is an ill-defined escape. You can drop the ''\ and simply write $ instead. Use --extra-deprecated-features broken-string-escape to silence this warning.
|
||||
at /pwd/in.nix:3:12:
|
||||
2| ''\a''\n
|
||||
3| ''\f''\{''\$''\"''\'''\r''\v''\\''\t
|
||||
| ^
|
||||
4| ''\'''${"x"}
|
||||
warning: ''\" is an ill-defined escape. You can drop the ''\ and simply write " instead. Use --extra-deprecated-features broken-string-escape to silence this warning.
|
||||
at /pwd/in.nix:3:16:
|
||||
2| ''\a''\n
|
||||
3| ''\f''\{''\$''\"''\'''\r''\v''\\''\t
|
||||
| ^
|
||||
4| ''\'''${"x"}
|
||||
warning: ''\v is an ill-defined escape. You can drop the ''\ and simply write v instead. Use --extra-deprecated-features broken-string-escape to silence this warning.
|
||||
at /pwd/in.nix:3:28:
|
||||
2| ''\a''\n
|
||||
3| ''\f''\{''\$''\"''\'''\r''\v''\\''\t
|
||||
| ^
|
||||
4| ''\'''${"x"}
|
||||
warning: ''\\ is an ill-defined escape. You can drop the ''\ and simply write \ instead. Use --extra-deprecated-features broken-string-escape to silence this warning.
|
||||
at /pwd/in.nix:3:32:
|
||||
2| ''\a''\n
|
||||
3| ''\f''\{''\$''\"''\'''\r''\v''\\''\t
|
||||
| ^
|
||||
4| ''\'''${"x"}
|
||||
@@ -0,0 +1 @@
|
||||
"a\n\nf{$\"'\rv\\\t\n'\${\"x\"}\n"
|
||||
@@ -0,0 +1 @@
|
||||
"a\n\nf{$\"'\rv\\\t\n'\${\"x\"}\n"
|
||||
@@ -0,0 +1,5 @@
|
||||
''
|
||||
''\a''\n
|
||||
''\f''\{''\$''\"''\'''\r''\v''\\''\t
|
||||
''\'''${"x"}
|
||||
''
|
||||
@@ -1,12 +1,13 @@
|
||||
[[test]]
|
||||
runner = "eval-okay"
|
||||
matrix = true
|
||||
flags = ["--extra-deprecated-features", "broken-string-indentation"]
|
||||
flags = ["--extra-deprecated-features", "broken-string-indentation broken-string-escape"]
|
||||
|
||||
[[test]]
|
||||
name = "depr-warning"
|
||||
runner = "eval-okay"
|
||||
in = "in.nix"
|
||||
matrix = true
|
||||
in = ["in.nix", "in-escapes.nix"]
|
||||
|
||||
[[test]]
|
||||
runner = "parse-okay"
|
||||
|
||||
Reference in New Issue
Block a user