Compare commits
32 Commits
0.5.5
...
dhruv/fuzz
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
9059d24d96 | ||
|
|
1986c9e8e2 | ||
|
|
d7e80dc955 | ||
|
|
87d09f77cd | ||
|
|
bd37ef13b8 | ||
|
|
ec23c974db | ||
|
|
122e5ab428 | ||
|
|
2f2149aca8 | ||
|
|
9d5c31e7da | ||
|
|
25f3ad6238 | ||
|
|
79926329a4 | ||
|
|
9cdc578dd9 | ||
|
|
665c75f7ab | ||
|
|
f37b39d6cc | ||
|
|
e18c45c310 | ||
|
|
d930052de8 | ||
|
|
7ad4df9e9f | ||
|
|
425761e960 | ||
|
|
4b69271809 | ||
|
|
bf23d38a21 | ||
|
|
49f51583fa | ||
|
|
1fe4a5faed | ||
|
|
998bfe0847 | ||
|
|
6f4db8675b | ||
|
|
71f7aa4971 | ||
|
|
9f72f474e6 | ||
|
|
10c993e21a | ||
|
|
2d3914296d | ||
|
|
7571da8778 | ||
|
|
2ceac5f868 | ||
|
|
5ce80827d2 | ||
|
|
e047b9685a |
2
.github/workflows/ci.yaml
vendored
2
.github/workflows/ci.yaml
vendored
@@ -616,7 +616,7 @@ jobs:
|
||||
- uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: "Build benchmarks"
|
||||
run: cargo codspeed build --features codspeed -p ruff_benchmark
|
||||
run: cargo codspeed build -p ruff_benchmark
|
||||
|
||||
- name: "Run benchmarks"
|
||||
uses: CodSpeedHQ/action@v2
|
||||
|
||||
2
.github/workflows/pr-comment.yaml
vendored
2
.github/workflows/pr-comment.yaml
vendored
@@ -23,6 +23,7 @@ jobs:
|
||||
name: pr-number
|
||||
run_id: ${{ github.event.workflow_run.id || github.event.inputs.workflow_run_id }}
|
||||
if_no_artifact_found: ignore
|
||||
allow_forks: true
|
||||
|
||||
- name: Parse pull request number
|
||||
id: pr-number
|
||||
@@ -43,6 +44,7 @@ jobs:
|
||||
path: pr/ecosystem
|
||||
workflow_conclusion: completed
|
||||
if_no_artifact_found: ignore
|
||||
allow_forks: true
|
||||
|
||||
- name: Generate comment content
|
||||
id: generate-comment
|
||||
|
||||
4
.github/workflows/publish-docs.yml
vendored
4
.github/workflows/publish-docs.yml
vendored
@@ -104,8 +104,8 @@ jobs:
|
||||
run: |
|
||||
branch_name="${{ env.branch_name }}"
|
||||
|
||||
git config user.name "$GITHUB_ACTOR"
|
||||
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
|
||||
git config user.name "astral-docs-bot"
|
||||
git config user.email "176161322+astral-docs-bot@users.noreply.github.com"
|
||||
|
||||
git checkout -b $branch_name
|
||||
git add site/ruff
|
||||
|
||||
@@ -9,7 +9,8 @@ exclude: |
|
||||
crates/ruff_python_formatter/resources/.*|
|
||||
crates/ruff_python_formatter/tests/snapshots/.*|
|
||||
crates/ruff_python_resolver/resources/.*|
|
||||
crates/ruff_python_resolver/tests/snapshots/.*
|
||||
crates/ruff_python_resolver/tests/snapshots/.*|
|
||||
crates/red_knot/resources/.*
|
||||
)$
|
||||
|
||||
repos:
|
||||
@@ -42,7 +43,7 @@ repos:
|
||||
)$
|
||||
|
||||
- repo: https://github.com/crate-ci/typos
|
||||
rev: v1.23.2
|
||||
rev: v1.23.5
|
||||
hooks:
|
||||
- id: typos
|
||||
|
||||
@@ -56,18 +57,13 @@ repos:
|
||||
pass_filenames: false # This makes it a lot faster
|
||||
|
||||
- repo: https://github.com/astral-sh/ruff-pre-commit
|
||||
rev: v0.5.4
|
||||
rev: v0.5.5
|
||||
hooks:
|
||||
- id: ruff-format
|
||||
- id: ruff
|
||||
args: [--fix, --exit-non-zero-on-fix]
|
||||
types_or: [python, pyi]
|
||||
require_serial: true
|
||||
exclude: |
|
||||
(?x)^(
|
||||
crates/ruff_linter/resources/.*|
|
||||
crates/ruff_python_formatter/resources/.*
|
||||
)$
|
||||
|
||||
# Prettier
|
||||
- repo: https://github.com/pre-commit/mirrors-prettier
|
||||
|
||||
63
Cargo.lock
generated
63
Cargo.lock
generated
@@ -141,9 +141,9 @@ checksum = "69f7f8c3906b62b754cd5326047894316021dcfe5a194c8ea52bdd94934a3457"
|
||||
|
||||
[[package]]
|
||||
name = "argfile"
|
||||
version = "0.2.0"
|
||||
version = "0.2.1"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "b7c5c8e418080ef8aa932039d12eda7b6f5043baf48f1523c166fbc32d004534"
|
||||
checksum = "0a1cc0ba69de57db40674c66f7cf2caee3981ddef084388482c95c0e2133e5e8"
|
||||
dependencies = [
|
||||
"fs-err",
|
||||
"os_str_bytes",
|
||||
@@ -190,9 +190,9 @@ checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de"
|
||||
|
||||
[[package]]
|
||||
name = "bstr"
|
||||
version = "1.9.1"
|
||||
version = "1.10.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "05efc5cfd9110c8416e471df0e96702d58690178e206e61b7173706673c93706"
|
||||
checksum = "40723b8fb387abc38f4f4a37c09073622e41dd12327033091ef8950659e6dc0c"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
"regex-automata 0.4.6",
|
||||
@@ -314,9 +314,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap"
|
||||
version = "4.5.9"
|
||||
version = "4.5.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "64acc1846d54c1fe936a78dc189c34e28d3f5afc348403f28ecf53660b9b8462"
|
||||
checksum = "35723e6a11662c2afb578bcf0b88bf6ea8e21282a953428f240574fcc3a2b5b3"
|
||||
dependencies = [
|
||||
"clap_builder",
|
||||
"clap_derive",
|
||||
@@ -324,9 +324,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap_builder"
|
||||
version = "4.5.9"
|
||||
version = "4.5.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "6fb8393d67ba2e7bfaf28a23458e4e2b543cc73a99595511eb207fdb8aede942"
|
||||
checksum = "49eb96cbfa7cfa35017b7cd548c75b14c3118c98b423041d70562665e07fb0fa"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
@@ -367,9 +367,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "clap_derive"
|
||||
version = "4.5.8"
|
||||
version = "4.5.11"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "2bac35c6dafb060fd4d275d9a4ffae97917c13a6327903a8be2153cd964f7085"
|
||||
checksum = "5d029b67f89d30bbb547c89fd5161293c0aec155fc691d7924b64550662db93e"
|
||||
dependencies = [
|
||||
"heck",
|
||||
"proc-macro2",
|
||||
@@ -759,9 +759,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "env_logger"
|
||||
version = "0.11.3"
|
||||
version = "0.11.5"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "38b35839ba51819680ba087cd351788c9a3c476841207e0b8cee0b04722343b9"
|
||||
checksum = "e13fa619b91fb2381732789fc5de83b45675e882f66623b7d8cb4f643017018d"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
@@ -1021,9 +1021,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "imara-diff"
|
||||
version = "0.1.6"
|
||||
version = "0.1.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "af13c8ceb376860ff0c6a66d83a8cdd4ecd9e464da24621bbffcd02b49619434"
|
||||
checksum = "fc9da1a252bd44cd341657203722352efc9bc0c847d06ea6d2dc1cd1135e0a01"
|
||||
dependencies = [
|
||||
"ahash",
|
||||
"hashbrown",
|
||||
@@ -1031,9 +1031,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "imperative"
|
||||
version = "1.0.5"
|
||||
version = "1.0.6"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "8b70798296d538cdaa6d652941fcc795963f8b9878b9e300c9fab7a522bd2fc0"
|
||||
checksum = "29a1f6526af721f9aec9ceed7ab8ebfca47f3399d08b80056c2acca3fcb694a9"
|
||||
dependencies = [
|
||||
"phf",
|
||||
"rust-stemmers",
|
||||
@@ -1527,9 +1527,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "os_str_bytes"
|
||||
version = "6.6.1"
|
||||
version = "7.0.0"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "e2355d85b9a3786f481747ced0e0ff2ba35213a1f9bd406ed906554d7af805a1"
|
||||
checksum = "7ac44c994af577c799b1b4bd80dc214701e349873ad894d6cdf96f4f7526e0b9"
|
||||
dependencies = [
|
||||
"memchr",
|
||||
]
|
||||
@@ -2048,7 +2048,6 @@ name = "ruff_benchmark"
|
||||
version = "0.0.0"
|
||||
dependencies = [
|
||||
"codspeed-criterion-compat",
|
||||
"criterion",
|
||||
"mimalloc",
|
||||
"once_cell",
|
||||
"red_knot",
|
||||
@@ -2401,13 +2400,17 @@ version = "0.0.0"
|
||||
dependencies = [
|
||||
"bitflags 2.6.0",
|
||||
"is-macro",
|
||||
"ruff_cache",
|
||||
"ruff_index",
|
||||
"ruff_macros",
|
||||
"ruff_python_ast",
|
||||
"ruff_python_parser",
|
||||
"ruff_python_stdlib",
|
||||
"ruff_source_file",
|
||||
"ruff_text_size",
|
||||
"rustc-hash 2.0.0",
|
||||
"schemars",
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
@@ -2540,6 +2543,7 @@ dependencies = [
|
||||
"ruff_macros",
|
||||
"ruff_python_ast",
|
||||
"ruff_python_formatter",
|
||||
"ruff_python_semantic",
|
||||
"ruff_source_file",
|
||||
"rustc-hash 2.0.0",
|
||||
"schemars",
|
||||
@@ -2752,11 +2756,12 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "serde_json"
|
||||
version = "1.0.120"
|
||||
version = "1.0.121"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4e0d21c9a8cae1235ad58a00c11cb40d4b1e5c784f1ef2c537876ed6ffd8b7c5"
|
||||
checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609"
|
||||
dependencies = [
|
||||
"itoa",
|
||||
"memchr",
|
||||
"ryu",
|
||||
"serde",
|
||||
]
|
||||
@@ -2774,9 +2779,9 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "serde_spanned"
|
||||
version = "0.6.6"
|
||||
version = "0.6.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "79e674e01f999af37c49f70a6ede167a8a60b2503e56c5599532a65baa5969a0"
|
||||
checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
@@ -3077,9 +3082,9 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
|
||||
|
||||
[[package]]
|
||||
name = "toml"
|
||||
version = "0.8.15"
|
||||
version = "0.8.16"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "ac2caab0bf757388c6c0ae23b3293fdb463fee59434529014f85e3263b995c28"
|
||||
checksum = "81967dd0dd2c1ab0bc3468bd7caecc32b8a4aa47d0c8c695d8c2b2108168d62c"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_spanned",
|
||||
@@ -3089,18 +3094,18 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "toml_datetime"
|
||||
version = "0.6.6"
|
||||
version = "0.6.7"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "4badfd56924ae69bcc9039335b2e017639ce3f9b001c393c1b2d1ef846ce2cbf"
|
||||
checksum = "f8fb9f64314842840f1d940ac544da178732128f1c78c21772e876579e0da1db"
|
||||
dependencies = [
|
||||
"serde",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "toml_edit"
|
||||
version = "0.22.16"
|
||||
version = "0.22.17"
|
||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "278f3d518e152219c994ce877758516bca5e118eaed6996192a774fb9fbf0788"
|
||||
checksum = "8d9f8729f5aea9562aac1cc0441f5d6de3cff1ee0c5d67293eeca5eb36ee7c16"
|
||||
dependencies = [
|
||||
"indexmap",
|
||||
"serde",
|
||||
|
||||
@@ -58,7 +58,6 @@ console_error_panic_hook = { version = "0.1.7" }
|
||||
console_log = { version = "1.0.0" }
|
||||
countme = { version = "3.0.1" }
|
||||
compact_str = "0.8.0"
|
||||
criterion = { version = "0.5.1", default-features = false }
|
||||
crossbeam = { version = "0.8.4" }
|
||||
dashmap = { version = "6.0.1" }
|
||||
drop_bomb = { version = "0.1.5" }
|
||||
|
||||
5
crates/red_knot/resources/test/corpus/00_const.py
Normal file
5
crates/red_knot/resources/test/corpus/00_const.py
Normal file
@@ -0,0 +1,5 @@
|
||||
None
|
||||
False
|
||||
True
|
||||
Ellipsis
|
||||
...
|
||||
0
crates/red_knot/resources/test/corpus/00_empty.py
Normal file
0
crates/red_knot/resources/test/corpus/00_empty.py
Normal file
4
crates/red_knot/resources/test/corpus/00_expr_discard.py
Normal file
4
crates/red_knot/resources/test/corpus/00_expr_discard.py
Normal file
@@ -0,0 +1,4 @@
|
||||
"str"
|
||||
1
|
||||
1.1
|
||||
b"bin"
|
||||
1
crates/red_knot/resources/test/corpus/00_expr_var1.py
Normal file
1
crates/red_knot/resources/test/corpus/00_expr_var1.py
Normal file
@@ -0,0 +1 @@
|
||||
a
|
||||
4
crates/red_knot/resources/test/corpus/01_expr_unary.py
Normal file
4
crates/red_knot/resources/test/corpus/01_expr_unary.py
Normal file
@@ -0,0 +1,4 @@
|
||||
-a
|
||||
~a
|
||||
+a
|
||||
not a
|
||||
2
crates/red_knot/resources/test/corpus/02_expr_attr.py
Normal file
2
crates/red_knot/resources/test/corpus/02_expr_attr.py
Normal file
@@ -0,0 +1,2 @@
|
||||
a.b
|
||||
a.b.c.d
|
||||
@@ -0,0 +1,3 @@
|
||||
foo(
|
||||
bar=1
|
||||
).attr
|
||||
@@ -0,0 +1,3 @@
|
||||
foo(
|
||||
bar=1
|
||||
).attr = 1
|
||||
@@ -0,0 +1,6 @@
|
||||
a or b or c
|
||||
a and b and c
|
||||
|
||||
a or b and c
|
||||
|
||||
#a and b or c
|
||||
14
crates/red_knot/resources/test/corpus/02_expr_binary.py
Normal file
14
crates/red_knot/resources/test/corpus/02_expr_binary.py
Normal file
@@ -0,0 +1,14 @@
|
||||
a + b
|
||||
a - b
|
||||
a * b
|
||||
a @ b
|
||||
a / b
|
||||
a // b
|
||||
a % b
|
||||
a ** b
|
||||
|
||||
a << b
|
||||
a >> b
|
||||
a | b
|
||||
a ^ b
|
||||
a & b
|
||||
@@ -0,0 +1,6 @@
|
||||
x == y or (
|
||||
x is not None and x == z
|
||||
)
|
||||
|
||||
x == y or \
|
||||
x <= 65 or x >= 102
|
||||
@@ -0,0 +1,5 @@
|
||||
(
|
||||
(a and aa) or
|
||||
(b and bb) or
|
||||
(c and cc)
|
||||
)
|
||||
10
crates/red_knot/resources/test/corpus/02_expr_rel.py
Normal file
10
crates/red_knot/resources/test/corpus/02_expr_rel.py
Normal file
@@ -0,0 +1,10 @@
|
||||
a == b
|
||||
a != b
|
||||
a < b
|
||||
a <= b
|
||||
a > b
|
||||
a >= b
|
||||
a is b
|
||||
a is not b
|
||||
a in b
|
||||
a not in b
|
||||
@@ -0,0 +1,2 @@
|
||||
a == b == 0
|
||||
0 < a < 10
|
||||
2
crates/red_knot/resources/test/corpus/02_expr_subscr.py
Normal file
2
crates/red_knot/resources/test/corpus/02_expr_subscr.py
Normal file
@@ -0,0 +1,2 @@
|
||||
a[b]
|
||||
a[b][c]
|
||||
1
crates/red_knot/resources/test/corpus/03_dict.py
Normal file
1
crates/red_knot/resources/test/corpus/03_dict.py
Normal file
@@ -0,0 +1 @@
|
||||
{a: 1, b:2}
|
||||
1
crates/red_knot/resources/test/corpus/03_dict_ex.py
Normal file
1
crates/red_knot/resources/test/corpus/03_dict_ex.py
Normal file
@@ -0,0 +1 @@
|
||||
{1: 2, **a, 3: 4, 5: 6}
|
||||
@@ -0,0 +1,20 @@
|
||||
DATA = {
|
||||
'a': 1,
|
||||
'b': 1,
|
||||
'c': 1,
|
||||
'd': 1,
|
||||
'e': 1,
|
||||
'f': 1,
|
||||
'g': 1,
|
||||
'h': 1,
|
||||
'i': 1,
|
||||
'j': 1,
|
||||
'k': 1,
|
||||
'l': 1,
|
||||
'm': 1,
|
||||
'n': 1,
|
||||
'o': 1,
|
||||
'p': 1,
|
||||
'q': 1,
|
||||
'r': 1,
|
||||
}
|
||||
@@ -0,0 +1,2 @@
|
||||
{**{0:1},**{1:2},**{2:3},**{3:4},**{4:5},**{5:6},**{6:7},**{7:8},**{8:9},**{9:10},**{10:11},**{11:12},**{12:13},**{13:14},**{14:15},**{15:16},**{16:17},**{17:18},**{18:19},**{19:20},**{20:21},**{21:22},**{22:23},**{23:24},**{24:25},**{25:26},**{26:27},**{27:28},**{28:29},**{29:30},**{30:31},**{31:32},**{32:33},**{33:34},**{34:35},**{35:36},**{36:37},**{37:38},**{38:39},**{39:40},**{40:41},**{41:42},**{42:43},**{43:44},**{44:45},**{45:46},**{46:47},**{47:48},**{48:49},**{49:50},**{50:51},**{51:52},**{52:53},**{53:54},**{54:55},**{55:56},**{56:57},**{57:58},**{58:59},**{59:60},**{60:61},**{61:62},**{62:63},**{63:64},**{64:65},**{65:66},**{66:67},**{67:68},**{68:69},**{69:70},**{70:71},**{71:72},**{72:73},**{73:74},**{74:75},**{75:76},**{76:77},**{77:78},**{78:79},**{79:80},**{80:81},**{81:82},**{82:83},**{83:84},**{84:85},**{85:86},**{86:87},**{87:88},**{88:89},**{89:90},**{90:91},**{91:92},**{92:93},**{93:94},**{94:95},**{95:96},**{96:97},**{97:98},**{98:99},**{99:100},**{100:101},**{101:102},**{102:103},**{103:104},**{104:105},**{105:106},**{106:107},**{107:108},**{108:109},**{109:110},**{110:111},**{111:112},**{112:113},**{113:114},**{114:115},**{115:116},**{116:117},**{117:118},**{118:119},**{119:120},**{120:121},**{121:122},**{122:123},**{123:124},**{124:125},**{125:126},**{126:127},**{127:128},**{128:129},**{129:130},**{130:131},**{131:132},**{132:133},**{133:134},**{134:135},**{135:136},**{136:137},**{137:138},**{138:139},**{139:140},**{140:141},**{141:142},**{142:143},**{143:144},**{144:145},**{145:146},**{146:147},**{147:148},**{148:149},**{149:150},**{150:151},**{151:152},**{152:153},**{153:154},**{154:155},**{155:156},**{156:157},**{157:158},**{158:159},**{159:160},**{160:161},**{161:162},**{162:163},**{163:164},**{164:165},**{165:166},**{166:167},**{167:168},**{168:169},**{169:170},**{170:171},**{171:172},**{172:173},**{173:174},**{174:175},**{175:176},**{176:177},**{177:178},**{178:179},**{179:180},**{180:181},**{181:182},**{182:183},**{183:184},**{184:185},**{185:186},**{186:187},**{187:188},**{188:189},**{189:190},**{190:191},**{191:192},**{192:193},**{193:194},**{194:195},**{195:196},**{196:197},**{197:198},**{198:199},**{199:200},**{200:201},**{201:202},**{202:203},**{203:204},**{204:205},**{205:206},**{206:207},**{207:208},**{208:209},**{209:210},**{210:211},**{211:212},**{212:213},**{213:214},**{214:215},**{215:216},**{216:217},**{217:218},**{218:219},**{219:220},**{220:221},**{221:222},**{222:223},**{223:224},**{224:225},**{225:226},**{226:227},**{227:228},**{228:229},**{229:230},**{230:231},**{231:232},**{232:233},**{233:234},**{234:235},**{235:236},**{236:237},**{237:238},**{238:239},**{239:240},**{240:241},**{241:242},**{242:243},**{243:244},**{244:245},**{245:246},**{246:247},**{247:248},**{248:249},**{249:250},**{250:251},**{251:252},**{252:253},**{253:254},**{254:255},**{255:256},**{256:257},**{257:258},**{258:259},**{259:260}}
|
||||
|
||||
1
crates/red_knot/resources/test/corpus/03_list.py
Normal file
1
crates/red_knot/resources/test/corpus/03_list.py
Normal file
@@ -0,0 +1 @@
|
||||
[a, b]
|
||||
1
crates/red_knot/resources/test/corpus/03_list_ex.py
Normal file
1
crates/red_knot/resources/test/corpus/03_list_ex.py
Normal file
@@ -0,0 +1 @@
|
||||
[a, *b, *d, a, c]
|
||||
1
crates/red_knot/resources/test/corpus/03_list_large.py
Normal file
1
crates/red_knot/resources/test/corpus/03_list_large.py
Normal file
@@ -0,0 +1 @@
|
||||
l = [a, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31]
|
||||
1
crates/red_knot/resources/test/corpus/03_set.py
Normal file
1
crates/red_knot/resources/test/corpus/03_set.py
Normal file
@@ -0,0 +1 @@
|
||||
{a, b}
|
||||
38
crates/red_knot/resources/test/corpus/03_set_multi.py
Normal file
38
crates/red_knot/resources/test/corpus/03_set_multi.py
Normal file
@@ -0,0 +1,38 @@
|
||||
d = {
|
||||
0: {
|
||||
"en",
|
||||
"es",
|
||||
"zh",
|
||||
"ja",
|
||||
"de",
|
||||
"fr",
|
||||
"ru",
|
||||
"ar",
|
||||
"pt",
|
||||
"fa",
|
||||
"tr",
|
||||
"ko",
|
||||
"id",
|
||||
None,
|
||||
(1, "2"),
|
||||
(1, 2),
|
||||
},
|
||||
1: {
|
||||
"en",
|
||||
"de",
|
||||
"fr",
|
||||
"ar",
|
||||
"pt",
|
||||
"ja",
|
||||
"zh",
|
||||
"ru",
|
||||
None,
|
||||
"es",
|
||||
"fa",
|
||||
"tr",
|
||||
"ko",
|
||||
"id",
|
||||
(1, "2"),
|
||||
(1, 2),
|
||||
},
|
||||
}
|
||||
6
crates/red_knot/resources/test/corpus/03_slice.py
Normal file
6
crates/red_knot/resources/test/corpus/03_slice.py
Normal file
@@ -0,0 +1,6 @@
|
||||
arr[a:b]
|
||||
arr[a:b:c]
|
||||
arr[a:]
|
||||
arr[:b]
|
||||
arr[:]
|
||||
arr[::2]
|
||||
1
crates/red_knot/resources/test/corpus/03_slice_ext.py
Normal file
1
crates/red_knot/resources/test/corpus/03_slice_ext.py
Normal file
@@ -0,0 +1 @@
|
||||
arr[a:b, c:d]
|
||||
2
crates/red_knot/resources/test/corpus/03_tuple.py
Normal file
2
crates/red_knot/resources/test/corpus/03_tuple.py
Normal file
@@ -0,0 +1,2 @@
|
||||
(a,)
|
||||
(b, c)
|
||||
2
crates/red_knot/resources/test/corpus/03_tuple_ex.py
Normal file
2
crates/red_knot/resources/test/corpus/03_tuple_ex.py
Normal file
@@ -0,0 +1,2 @@
|
||||
(*b,)
|
||||
(*b, c)
|
||||
4
crates/red_knot/resources/test/corpus/04_assign.py
Normal file
4
crates/red_knot/resources/test/corpus/04_assign.py
Normal file
@@ -0,0 +1,4 @@
|
||||
a = 1
|
||||
b = "foo"
|
||||
c = (d, e)
|
||||
di = {f: 1, g: 2}
|
||||
2
crates/red_knot/resources/test/corpus/04_assign_attr.py
Normal file
2
crates/red_knot/resources/test/corpus/04_assign_attr.py
Normal file
@@ -0,0 +1,2 @@
|
||||
a.b = 1
|
||||
a.b.c.d = 2
|
||||
@@ -0,0 +1,2 @@
|
||||
def foo():
|
||||
a.b = 1
|
||||
@@ -0,0 +1 @@
|
||||
a[b] = 1
|
||||
@@ -0,0 +1,2 @@
|
||||
a, b = c
|
||||
[a, b] = c
|
||||
@@ -0,0 +1,4 @@
|
||||
a, *b = c
|
||||
*a, b = c
|
||||
a, *b, c, d = e
|
||||
[a, *b, c] = d
|
||||
@@ -0,0 +1,5 @@
|
||||
a, = x,
|
||||
a, b = x, y
|
||||
a, b, c = x, y, z
|
||||
a, b, c, d = w, x, y, z
|
||||
a, b = 1, 2
|
||||
14
crates/red_knot/resources/test/corpus/04_aug_assign.py
Normal file
14
crates/red_knot/resources/test/corpus/04_aug_assign.py
Normal file
@@ -0,0 +1,14 @@
|
||||
a += 1
|
||||
a -= 2
|
||||
a *= 3
|
||||
a @= 4
|
||||
a /= 5
|
||||
a //= 6
|
||||
a %= 7
|
||||
a **= 8
|
||||
|
||||
a <<= b
|
||||
a >>= b
|
||||
a |= b
|
||||
a ^= b
|
||||
a &= b
|
||||
@@ -0,0 +1,6 @@
|
||||
(
|
||||
o.
|
||||
a
|
||||
) += (
|
||||
v
|
||||
)
|
||||
@@ -0,0 +1,3 @@
|
||||
a.b -= 2
|
||||
a[0] += 1
|
||||
a[0:2] += 1
|
||||
1
crates/red_knot/resources/test/corpus/05_funcall.py
Normal file
1
crates/red_knot/resources/test/corpus/05_funcall.py
Normal file
@@ -0,0 +1 @@
|
||||
fun()
|
||||
1
crates/red_knot/resources/test/corpus/05_funcall_1.py
Normal file
1
crates/red_knot/resources/test/corpus/05_funcall_1.py
Normal file
@@ -0,0 +1 @@
|
||||
fun(a)
|
||||
1
crates/red_knot/resources/test/corpus/05_funcall_2.py
Normal file
1
crates/red_knot/resources/test/corpus/05_funcall_2.py
Normal file
@@ -0,0 +1 @@
|
||||
fun(a, b)
|
||||
@@ -0,0 +1,2 @@
|
||||
a = (x,
|
||||
foo(y))
|
||||
1
crates/red_knot/resources/test/corpus/05_funcall_kw.py
Normal file
1
crates/red_knot/resources/test/corpus/05_funcall_kw.py
Normal file
@@ -0,0 +1 @@
|
||||
fun(a=a, kw=2)
|
||||
18
crates/red_knot/resources/test/corpus/05_funcall_kw_many.py
Normal file
18
crates/red_knot/resources/test/corpus/05_funcall_kw_many.py
Normal file
@@ -0,0 +1,18 @@
|
||||
foo(
|
||||
a=1,
|
||||
b=1,
|
||||
c=1,
|
||||
d=1,
|
||||
e=1,
|
||||
f=1,
|
||||
g=1,
|
||||
h=1,
|
||||
i=1,
|
||||
j=1,
|
||||
k=1,
|
||||
l=1,
|
||||
m=1,
|
||||
n=1,
|
||||
o=1,
|
||||
p=1,
|
||||
)
|
||||
@@ -0,0 +1 @@
|
||||
fun(var, 10, a=a, kw=2)
|
||||
@@ -0,0 +1,2 @@
|
||||
("foo"
|
||||
.format())
|
||||
@@ -0,0 +1,2 @@
|
||||
c = {a: 1, b: 2}
|
||||
fun(a, b, **c)
|
||||
@@ -0,0 +1,32 @@
|
||||
C.meth(
|
||||
a,
|
||||
b,
|
||||
c,
|
||||
d,
|
||||
e,
|
||||
f,
|
||||
g,
|
||||
h,
|
||||
i,
|
||||
j,
|
||||
k,
|
||||
l,
|
||||
m,
|
||||
n,
|
||||
o,
|
||||
p,
|
||||
q,
|
||||
r,
|
||||
s,
|
||||
t,
|
||||
u,
|
||||
v,
|
||||
w,
|
||||
x,
|
||||
y,
|
||||
z,
|
||||
aa,
|
||||
bb,
|
||||
cc,
|
||||
dd,
|
||||
)
|
||||
@@ -0,0 +1,3 @@
|
||||
fun(*b, c)
|
||||
fun(a, *b, c)
|
||||
fun(a, *b, c, *d)
|
||||
@@ -0,0 +1,2 @@
|
||||
c = (a, b)
|
||||
fun(a, b, *c)
|
||||
@@ -0,0 +1,3 @@
|
||||
c = (a, b)
|
||||
d = {e: 1, f: 2}
|
||||
fun(a, b, *c, **d)
|
||||
@@ -0,0 +1,10 @@
|
||||
fun(a, kw=1, *c, **d)
|
||||
fun(a, *c, kw=1, **d)
|
||||
|
||||
fun(a, kw=1, *c)
|
||||
fun(a, *c, kw=1)
|
||||
|
||||
fun(a, *c)
|
||||
|
||||
# Introduced in Python3.5, not supported yet
|
||||
#fun(*c, a)
|
||||
2
crates/red_knot/resources/test/corpus/07_ifexpr.py
Normal file
2
crates/red_knot/resources/test/corpus/07_ifexpr.py
Normal file
@@ -0,0 +1,2 @@
|
||||
a if b else c
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
(
|
||||
x,
|
||||
a if b else c
|
||||
)
|
||||
@@ -0,0 +1,7 @@
|
||||
a = (
|
||||
(
|
||||
b()
|
||||
)
|
||||
if c
|
||||
else d
|
||||
)
|
||||
3
crates/red_knot/resources/test/corpus/08_del.py
Normal file
3
crates/red_knot/resources/test/corpus/08_del.py
Normal file
@@ -0,0 +1,3 @@
|
||||
del a
|
||||
del a[0]
|
||||
del a.b
|
||||
2
crates/red_knot/resources/test/corpus/08_del_multi.py
Normal file
2
crates/red_knot/resources/test/corpus/08_del_multi.py
Normal file
@@ -0,0 +1,2 @@
|
||||
del (a, b, c)
|
||||
del [a, b, c]
|
||||
1
crates/red_knot/resources/test/corpus/09_pass.py
Normal file
1
crates/red_knot/resources/test/corpus/09_pass.py
Normal file
@@ -0,0 +1 @@
|
||||
pass
|
||||
2
crates/red_knot/resources/test/corpus/10_if.py
Normal file
2
crates/red_knot/resources/test/corpus/10_if.py
Normal file
@@ -0,0 +1,2 @@
|
||||
if a:
|
||||
b
|
||||
@@ -0,0 +1,2 @@
|
||||
if 0 < x < 10:
|
||||
pass
|
||||
28
crates/red_knot/resources/test/corpus/10_if_false.py
Normal file
28
crates/red_knot/resources/test/corpus/10_if_false.py
Normal file
@@ -0,0 +1,28 @@
|
||||
if 0:
|
||||
a
|
||||
|
||||
if False:
|
||||
b
|
||||
|
||||
if None:
|
||||
c
|
||||
|
||||
if "":
|
||||
d
|
||||
|
||||
if 0:
|
||||
e.f
|
||||
g.h()
|
||||
i.j = 1
|
||||
del k.l
|
||||
import m
|
||||
from n import o
|
||||
p = 1
|
||||
|
||||
def f():
|
||||
if 0:
|
||||
q = 1
|
||||
r.s = 1
|
||||
t
|
||||
import u
|
||||
v = u.w()
|
||||
8
crates/red_knot/resources/test/corpus/10_if_true.py
Normal file
8
crates/red_knot/resources/test/corpus/10_if_true.py
Normal file
@@ -0,0 +1,8 @@
|
||||
if 1:
|
||||
a
|
||||
|
||||
if True:
|
||||
b
|
||||
|
||||
if "foo":
|
||||
c
|
||||
4
crates/red_knot/resources/test/corpus/11_if_else.py
Normal file
4
crates/red_knot/resources/test/corpus/11_if_else.py
Normal file
@@ -0,0 +1,4 @@
|
||||
if a:
|
||||
b
|
||||
else:
|
||||
c
|
||||
@@ -0,0 +1,12 @@
|
||||
if a:
|
||||
if b:
|
||||
if c:
|
||||
for x in y:
|
||||
pass
|
||||
else:
|
||||
pass
|
||||
else:
|
||||
pass
|
||||
else:
|
||||
pass
|
||||
foo()
|
||||
@@ -0,0 +1,4 @@
|
||||
if False:
|
||||
b
|
||||
else:
|
||||
c
|
||||
4
crates/red_knot/resources/test/corpus/11_if_else_true.py
Normal file
4
crates/red_knot/resources/test/corpus/11_if_else_true.py
Normal file
@@ -0,0 +1,4 @@
|
||||
if True:
|
||||
b
|
||||
else:
|
||||
c
|
||||
4
crates/red_knot/resources/test/corpus/12_if_elif.py
Normal file
4
crates/red_knot/resources/test/corpus/12_if_elif.py
Normal file
@@ -0,0 +1,4 @@
|
||||
if a:
|
||||
b
|
||||
elif c:
|
||||
d
|
||||
6
crates/red_knot/resources/test/corpus/12_if_elif_else.py
Normal file
6
crates/red_knot/resources/test/corpus/12_if_elif_else.py
Normal file
@@ -0,0 +1,6 @@
|
||||
if a:
|
||||
b
|
||||
elif c:
|
||||
d
|
||||
else:
|
||||
e
|
||||
12
crates/red_knot/resources/test/corpus/13_ifelse_complex1.py
Normal file
12
crates/red_knot/resources/test/corpus/13_ifelse_complex1.py
Normal file
@@ -0,0 +1,12 @@
|
||||
if py2:
|
||||
a
|
||||
else:
|
||||
b
|
||||
|
||||
if var:
|
||||
c
|
||||
else:
|
||||
if py3:
|
||||
d
|
||||
else:
|
||||
e
|
||||
8
crates/red_knot/resources/test/corpus/13_ifelse_many.py
Normal file
8
crates/red_knot/resources/test/corpus/13_ifelse_many.py
Normal file
@@ -0,0 +1,8 @@
|
||||
if a:
|
||||
a1
|
||||
elif b:
|
||||
b1
|
||||
elif c:
|
||||
c1
|
||||
elif d:
|
||||
d1
|
||||
2
crates/red_knot/resources/test/corpus/15_while.py
Normal file
2
crates/red_knot/resources/test/corpus/15_while.py
Normal file
@@ -0,0 +1,2 @@
|
||||
while a:
|
||||
b
|
||||
2
crates/red_knot/resources/test/corpus/15_while_break.py
Normal file
2
crates/red_knot/resources/test/corpus/15_while_break.py
Normal file
@@ -0,0 +1,2 @@
|
||||
while a:
|
||||
break
|
||||
@@ -0,0 +1,5 @@
|
||||
while a:
|
||||
try:
|
||||
continue
|
||||
finally:
|
||||
break
|
||||
@@ -0,0 +1,4 @@
|
||||
while a:
|
||||
if x:
|
||||
break
|
||||
y = 1
|
||||
@@ -0,0 +1,7 @@
|
||||
while a:
|
||||
try:
|
||||
x
|
||||
except:
|
||||
break
|
||||
if x:
|
||||
z = 1
|
||||
@@ -0,0 +1,2 @@
|
||||
while a:
|
||||
continue
|
||||
2
crates/red_knot/resources/test/corpus/15_while_false.py
Normal file
2
crates/red_knot/resources/test/corpus/15_while_false.py
Normal file
@@ -0,0 +1,2 @@
|
||||
while False:
|
||||
b
|
||||
@@ -0,0 +1,2 @@
|
||||
while 1:
|
||||
b
|
||||
2
crates/red_knot/resources/test/corpus/15_while_true.py
Normal file
2
crates/red_knot/resources/test/corpus/15_while_true.py
Normal file
@@ -0,0 +1,2 @@
|
||||
while True:
|
||||
b
|
||||
2
crates/red_knot/resources/test/corpus/16_for.py
Normal file
2
crates/red_knot/resources/test/corpus/16_for.py
Normal file
@@ -0,0 +1,2 @@
|
||||
for a in b:
|
||||
c
|
||||
2
crates/red_knot/resources/test/corpus/16_for_break.py
Normal file
2
crates/red_knot/resources/test/corpus/16_for_break.py
Normal file
@@ -0,0 +1,2 @@
|
||||
for a in b:
|
||||
break
|
||||
2
crates/red_knot/resources/test/corpus/16_for_continue.py
Normal file
2
crates/red_knot/resources/test/corpus/16_for_continue.py
Normal file
@@ -0,0 +1,2 @@
|
||||
for a in b:
|
||||
continue
|
||||
4
crates/red_knot/resources/test/corpus/16_for_else.py
Normal file
4
crates/red_knot/resources/test/corpus/16_for_else.py
Normal file
@@ -0,0 +1,4 @@
|
||||
for a in b:
|
||||
c
|
||||
else:
|
||||
d
|
||||
@@ -0,0 +1,2 @@
|
||||
for x in [a, b]:
|
||||
pass
|
||||
@@ -0,0 +1,8 @@
|
||||
for x in y:
|
||||
if a:
|
||||
if x:
|
||||
y
|
||||
else:
|
||||
x
|
||||
else:
|
||||
b
|
||||
3
crates/red_knot/resources/test/corpus/20_lambda.py
Normal file
3
crates/red_knot/resources/test/corpus/20_lambda.py
Normal file
@@ -0,0 +1,3 @@
|
||||
lambda x: y
|
||||
|
||||
lambda x: a and b
|
||||
1
crates/red_knot/resources/test/corpus/20_lambda_const.py
Normal file
1
crates/red_knot/resources/test/corpus/20_lambda_const.py
Normal file
@@ -0,0 +1 @@
|
||||
lambda x: y + 1
|
||||
@@ -0,0 +1 @@
|
||||
lambda x=a: y
|
||||
@@ -0,0 +1 @@
|
||||
lambda x: 0 if x else -1
|
||||
2
crates/red_knot/resources/test/corpus/21_func1.py
Normal file
2
crates/red_knot/resources/test/corpus/21_func1.py
Normal file
@@ -0,0 +1,2 @@
|
||||
def foo():
|
||||
a
|
||||
2
crates/red_knot/resources/test/corpus/21_func1_ret.py
Normal file
2
crates/red_knot/resources/test/corpus/21_func1_ret.py
Normal file
@@ -0,0 +1,2 @@
|
||||
def foo():
|
||||
return a
|
||||
3
crates/red_knot/resources/test/corpus/21_func_assign.py
Normal file
3
crates/red_knot/resources/test/corpus/21_func_assign.py
Normal file
@@ -0,0 +1,3 @@
|
||||
def foo():
|
||||
a = 2
|
||||
a
|
||||
4
crates/red_knot/resources/test/corpus/21_func_assign2.py
Normal file
4
crates/red_knot/resources/test/corpus/21_func_assign2.py
Normal file
@@ -0,0 +1,4 @@
|
||||
def foo():
|
||||
# This is runtime, not compile-time error
|
||||
a
|
||||
a = 2
|
||||
2
crates/red_knot/resources/test/corpus/22_func_arg.py
Normal file
2
crates/red_knot/resources/test/corpus/22_func_arg.py
Normal file
@@ -0,0 +1,2 @@
|
||||
def foo(a, b):
|
||||
a + b
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user