Document builtins.substring negative length behavior (#9226)

This commit is contained in:
Silvan Mosberger 2023-10-24 11:22:02 +02:00 committed by GitHub
parent abb1c829c8
commit f269911641
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -3720,10 +3720,11 @@ static RegisterPrimOp primop_substring({
.doc = R"( .doc = R"(
Return the substring of *s* from character position *start* Return the substring of *s* from character position *start*
(zero-based) up to but not including *start + len*. If *start* is (zero-based) up to but not including *start + len*. If *start* is
greater than the length of the string, an empty string is returned, greater than the length of the string, an empty string is returned.
and if *start + len* lies beyond the end of the string, only the If *start + len* lies beyond the end of the string or *len* is `-1`,
substring up to the end of the string is returned. *start* must be only the substring up to the end of the string is returned.
non-negative. For example, *start* must be non-negative.
For example,
```nix ```nix
builtins.substring 0 3 "nixos" builtins.substring 0 3 "nixos"