Disallow f-strings in match pattern literal (#7857)

## Summary

This PR fixes a bug to disallow f-strings in match pattern literal.

```
literal_pattern ::=  signed_number
                     | signed_number "+" NUMBER
                     | signed_number "-" NUMBER
                     | strings
                     | "None"
                     | "True"
                     | "False"
                     | signed_number: NUMBER | "-" NUMBER
```

Source:
https://docs.python.org/3/reference/compound_stmts.html#grammar-token-python-grammar-literal_pattern

Also,

```console
$ python /tmp/t.py
  File "/tmp/t.py", line 4
    case "hello " f"{name}":
         ^^^^^^^^^^^^^^^^^^
SyntaxError: patterns may only match literals and attribute lookups
```

## Test Plan

Update existing test case and accordingly the snapshots. Also, add a new
test case to verify that the parser does raise an error.
This commit is contained in:
Dhruv Manilawala 2023-10-09 15:41:08 +05:30 committed by GitHub
parent 38f512d588
commit 43883b7a15
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 13901 additions and 13810 deletions

File diff suppressed because it is too large Load diff