steep 0.40.0 → 0.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +4 -0
  3. data/bin/output_rebaseline.rb +15 -30
  4. data/bin/output_test.rb +17 -57
  5. data/lib/steep.rb +4 -0
  6. data/lib/steep/cli.rb +9 -3
  7. data/lib/steep/drivers/check.rb +106 -14
  8. data/lib/steep/drivers/diagnostic_printer.rb +11 -11
  9. data/lib/steep/expectations.rb +159 -0
  10. data/lib/steep/project.rb +6 -0
  11. data/lib/steep/version.rb +1 -1
  12. data/smoke/alias/test_expectations.yml +96 -0
  13. data/smoke/and/test_expectations.yml +31 -0
  14. data/smoke/array/test_expectations.yml +103 -0
  15. data/smoke/block/test_expectations.yml +125 -0
  16. data/smoke/case/test_expectations.yml +47 -0
  17. data/smoke/class/test_expectations.yml +120 -0
  18. data/smoke/const/test_expectations.yml +139 -0
  19. data/smoke/diagnostics-rbs-duplicated/test_expectations.yml +13 -0
  20. data/smoke/diagnostics-rbs/test_expectations.yml +229 -0
  21. data/smoke/diagnostics/test_expectations.yml +477 -0
  22. data/smoke/dstr/test_expectations.yml +13 -0
  23. data/smoke/ensure/test_expectations.yml +62 -0
  24. data/smoke/enumerator/test_expectations.yml +135 -0
  25. data/smoke/extension/test_expectations.yml +61 -0
  26. data/smoke/hash/test_expectations.yml +81 -0
  27. data/smoke/hello/test_expectations.yml +25 -0
  28. data/smoke/if/test_expectations.yml +34 -0
  29. data/smoke/implements/test_expectations.yml +23 -0
  30. data/smoke/initialize/test_expectations.yml +1 -0
  31. data/smoke/integer/test_expectations.yml +101 -0
  32. data/smoke/interface/test_expectations.yml +23 -0
  33. data/smoke/kwbegin/test_expectations.yml +17 -0
  34. data/smoke/lambda/test_expectations.yml +39 -0
  35. data/smoke/literal/test_expectations.yml +106 -0
  36. data/smoke/map/test_expectations.yml +1 -0
  37. data/smoke/method/test_expectations.yml +90 -0
  38. data/smoke/module/test_expectations.yml +75 -0
  39. data/smoke/regexp/test_expectations.yml +615 -0
  40. data/smoke/regression/test_expectations.yml +43 -0
  41. data/smoke/rescue/test_expectations.yml +79 -0
  42. data/smoke/self/test_expectations.yml +23 -0
  43. data/smoke/skip/test_expectations.yml +23 -0
  44. data/smoke/stdout/test_expectations.yml +1 -0
  45. data/smoke/super/test_expectations.yml +79 -0
  46. data/smoke/toplevel/test_expectations.yml +15 -0
  47. data/smoke/tsort/test_expectations.yml +43 -0
  48. data/smoke/type_case/test_expectations.yml +48 -0
  49. data/smoke/yield/test_expectations.yml +68 -0
  50. metadata +41 -44
  51. data/smoke/alias/test.yaml +0 -73
  52. data/smoke/and/test.yaml +0 -24
  53. data/smoke/array/test.yaml +0 -80
  54. data/smoke/block/test.yaml +0 -96
  55. data/smoke/broken/Steepfile +0 -5
  56. data/smoke/broken/broken.rb +0 -0
  57. data/smoke/broken/broken.rbs +0 -0
  58. data/smoke/broken/test.yaml +0 -6
  59. data/smoke/case/test.yaml +0 -36
  60. data/smoke/class/test.yaml +0 -89
  61. data/smoke/const/test.yaml +0 -96
  62. data/smoke/diagnostics-rbs-duplicated/test.yaml +0 -10
  63. data/smoke/diagnostics-rbs/test.yaml +0 -142
  64. data/smoke/diagnostics/test.yaml +0 -333
  65. data/smoke/dstr/test.yaml +0 -10
  66. data/smoke/ensure/test.yaml +0 -47
  67. data/smoke/enumerator/test.yaml +0 -100
  68. data/smoke/extension/test.yaml +0 -50
  69. data/smoke/hash/test.yaml +0 -62
  70. data/smoke/hello/test.yaml +0 -18
  71. data/smoke/if/test.yaml +0 -27
  72. data/smoke/implements/test.yaml +0 -16
  73. data/smoke/initialize/test.yaml +0 -4
  74. data/smoke/integer/test.yaml +0 -66
  75. data/smoke/interface/test.yaml +0 -16
  76. data/smoke/kwbegin/test.yaml +0 -14
  77. data/smoke/lambda/test.yaml +0 -28
  78. data/smoke/literal/test.yaml +0 -79
  79. data/smoke/map/test.yaml +0 -4
  80. data/smoke/method/test.yaml +0 -71
  81. data/smoke/module/test.yaml +0 -51
  82. data/smoke/regexp/test.yaml +0 -372
  83. data/smoke/regression/test.yaml +0 -38
  84. data/smoke/rescue/test.yaml +0 -60
  85. data/smoke/self/test.yaml +0 -16
  86. data/smoke/skip/test.yaml +0 -16
  87. data/smoke/stdout/test.yaml +0 -4
  88. data/smoke/super/test.yaml +0 -52
  89. data/smoke/toplevel/test.yaml +0 -12
  90. data/smoke/tsort/test.yaml +0 -32
  91. data/smoke/type_case/test.yaml +0 -33
  92. data/smoke/yield/test.yaml +0 -49
@@ -1,28 +0,0 @@
1
- ---
2
- test:
3
- a.rb:
4
- diagnostics:
5
- - |
6
- a.rb:3:0: [error] Cannot assign a value of type `::String` to a variable of type `::Integer`
7
- │ ::String <: ::Integer
8
- │ ::Object <: ::Integer
9
- │ ::BasicObject <: ::Integer
10
-
11
- │ Diagnostic ID: Ruby::IncompatibleAssignment
12
-
13
- └ a = -> (x, y) do
14
- ~~~~~~~~~~~~~~~~
15
- - |
16
- a.rb:11:4: [error] Type `nil` does not have method `+`
17
- │ Diagnostic ID: Ruby::NoMethod
18
-
19
- └ x + 1
20
- ~
21
- - |
22
- a.rb:10:0: [error] Cannot assign a value of type `::Proc` to a variable of type `^(::Integer) -> ::Integer`
23
- │ ::Proc <: ^(::Integer) -> ::Integer
24
-
25
- │ Diagnostic ID: Ruby::IncompatibleAssignment
26
-
27
- └ b = lambda do |x|
28
- ~~~~~~~~~~~~~~~~~
@@ -1,79 +0,0 @@
1
- ---
2
- test:
3
- a.rb:
4
- diagnostics:
5
- - |
6
- a.rb:4:0: [error] Cannot assign a value of type `::Integer` to a variable of type `::String`
7
- │ ::Integer <: ::String
8
- │ ::Numeric <: ::String
9
- │ ::Object <: ::String
10
- │ ::BasicObject <: ::String
11
-
12
- │ Diagnostic ID: Ruby::IncompatibleAssignment
13
-
14
- └ x = 1
15
- ~~~~~
16
- - |
17
- a.rb:6:0: [error] Cannot assign a value of type `::Symbol` to a variable of type `::String`
18
- │ ::Symbol <: ::String
19
- │ ::Object <: ::String
20
- │ ::BasicObject <: ::String
21
-
22
- │ Diagnostic ID: Ruby::IncompatibleAssignment
23
-
24
- └ x = :foo
25
- ~~~~~~~~
26
- - |
27
- a.rb:8:0: [error] Cannot assign a value of type `::String` to a variable of type `::Integer`
28
- │ ::String <: ::Integer
29
- │ ::Object <: ::Integer
30
- │ ::BasicObject <: ::Integer
31
-
32
- │ Diagnostic ID: Ruby::IncompatibleAssignment
33
-
34
- └ y = "foo"
35
- ~~~~~~~~~
36
- - |
37
- a.rb:10:0: [error] Cannot assign a value of type `bool` to a variable of type `::String`
38
- │ bool <: ::String
39
- │ (true | false) <: ::String
40
- │ true <: ::String
41
- │ ::TrueClass <: ::String
42
- │ ::Object <: ::String
43
- │ ::BasicObject <: ::String
44
-
45
- │ Diagnostic ID: Ruby::IncompatibleAssignment
46
-
47
- └ x = true
48
- ~~~~~~~~
49
- - |
50
- a.rb:11:0: [error] Cannot assign a value of type `bool` to a variable of type `::Integer`
51
- │ bool <: ::Integer
52
- │ (true | false) <: ::Integer
53
- │ true <: ::Integer
54
- │ ::TrueClass <: ::Integer
55
- │ ::Object <: ::Integer
56
- │ ::BasicObject <: ::Integer
57
-
58
- │ Diagnostic ID: Ruby::IncompatibleAssignment
59
-
60
- └ y = false
61
- ~~~~~~~~~
62
- b.rb:
63
- diagnostics:
64
- - |
65
- b.rb:4:6: [error] Cannot pass a value of type `::Integer` as an argument of type `3`
66
- │ ::Integer <: 3
67
-
68
- │ Diagnostic ID: Ruby::ArgumentTypeMismatch
69
-
70
- └ l.foo(4)
71
- ~
72
- - |
73
- b.rb:7:11: [error] Cannot assign a value of type `::Symbol` to an expression of type `:foo`
74
- │ ::Symbol <: :foo
75
-
76
- │ Diagnostic ID: Ruby::IncompatibleAssignment
77
-
78
- └ l.bar(foo: :bar)
79
- ~~~~
data/smoke/map/test.yaml DELETED
@@ -1,4 +0,0 @@
1
- ---
2
- test:
3
- a.rb:
4
- diagnostics: []
@@ -1,71 +0,0 @@
1
- ---
2
- test:
3
- a.rb:
4
- diagnostics:
5
- - |
6
- a.rb:6:2: [error] Cannot assign a value of type `::Integer` to a variable of type `::String`
7
- │ ::Integer <: ::String
8
- │ ::Numeric <: ::String
9
- │ ::Object <: ::String
10
- │ ::BasicObject <: ::String
11
-
12
- │ Diagnostic ID: Ruby::IncompatibleAssignment
13
-
14
- └ z = x
15
- ~~~~~
16
- - |
17
- a.rb:8:2: [error] Cannot assign a value of type `::Integer` to a variable of type `::String`
18
- │ ::Integer <: ::String
19
- │ ::Numeric <: ::String
20
- │ ::Object <: ::String
21
- │ ::BasicObject <: ::String
22
-
23
- │ Diagnostic ID: Ruby::IncompatibleAssignment
24
-
25
- └ z = y
26
- ~~~~~
27
- - |
28
- a.rb:3:0: [error] Cannot allow method body have type `::Integer` because declared as type `::String`
29
- │ ::Integer <: ::String
30
- │ ::Numeric <: ::String
31
- │ ::Object <: ::String
32
- │ ::BasicObject <: ::String
33
-
34
- │ Diagnostic ID: Ruby::MethodBodyTypeMismatch
35
-
36
- └ def foo(x, y:)
37
- ~~~~~~~~~~~~~~
38
- - |
39
- a.rb:15:7: [error] Method parameters are incompatible with declaration `(::Integer) -> ::String`
40
- │ Diagnostic ID: Ruby::MethodArityMismatch
41
-
42
- └ def bar(x, y)
43
- ~~~~~~
44
- - |
45
- a.rb:18:2: [error] Cannot assign a value of type `::Integer` to a variable of type `::String`
46
- │ ::Integer <: ::String
47
- │ ::Numeric <: ::String
48
- │ ::Object <: ::String
49
- │ ::BasicObject <: ::String
50
-
51
- │ Diagnostic ID: Ruby::IncompatibleAssignment
52
-
53
- └ z = x
54
- ~~~~~
55
- b.rb:
56
- diagnostics:
57
- - |
58
- b.rb:4:2: [error] Cannot allow method body have type `::Symbol` because declared as type `(::Integer | ::String)`
59
- │ ::Symbol <: (::Integer | ::String)
60
- │ ::Symbol <: ::Integer
61
- │ ::Object <: ::Integer
62
- │ ::BasicObject <: ::Integer
63
-
64
- │ Diagnostic ID: Ruby::MethodBodyTypeMismatch
65
-
66
- └ def foo(x)
67
- ~~~~~~~~~~
68
- c.rb:
69
- diagnostics: []
70
- d.rb:
71
- diagnostics: []
@@ -1,51 +0,0 @@
1
- ---
2
- test:
3
- a.rb:
4
- diagnostics:
5
- - |
6
- a.rb:13:4: [error] Cannot assign a value of type `::Integer` to a variable of type `::String`
7
- │ ::Integer <: ::String
8
- │ ::Numeric <: ::String
9
- │ ::Object <: ::String
10
- │ ::BasicObject <: ::String
11
-
12
- │ Diagnostic ID: Ruby::IncompatibleAssignment
13
-
14
- └ s = n
15
- ~~~~~
16
- - |
17
- a.rb:15:4: [error] Type `(::Object & ::_Each2[::Integer, ::A] & ::A)` does not have method `foo`
18
- │ Diagnostic ID: Ruby::NoMethod
19
-
20
- └ foo()
21
- ~~~
22
- c.rb:
23
- diagnostics:
24
- - |
25
- c.rb:21:2: [error] Type `singleton(::A)` does not have method `no_such_method_in_module`
26
- │ Diagnostic ID: Ruby::NoMethod
27
-
28
- └ no_such_method_in_module
29
- ~~~~~~~~~~~~~~~~~~~~~~~~
30
- d.rb:
31
- diagnostics:
32
- - |
33
- d.rb:3:7: [error] Cannot find implementation of method `::X#foo`
34
- │ Diagnostic ID: Ruby::MethodDefinitionMissing
35
-
36
- └ module X
37
- ~
38
- f.rb:
39
- diagnostics:
40
- - |
41
- f.rb:1:7: [error] Cannot find implementation of method `::Palette.nestopia_palette`
42
- │ Diagnostic ID: Ruby::MethodDefinitionMissing
43
-
44
- └ module Palette
45
- ~~~~~~~
46
- - |
47
- f.rb:1:7: [error] @dynamic annotation contains unknown method name `nestopia_palette`
48
- │ Diagnostic ID: Ruby::UnexpectedDynamicMethod
49
-
50
- └ module Palette
51
- ~~~~~~~
@@ -1,372 +0,0 @@
1
- ---
2
- test:
3
- a.rb:
4
- diagnostics:
5
- - |
6
- a.rb:2:6: [error] Type `::Regexp` does not have method `foo`
7
- │ Diagnostic ID: Ruby::NoMethod
8
-
9
- └ new_1.foo
10
- ~~~
11
- - |
12
- a.rb:5:6: [error] Type `::Regexp` does not have method `foo`
13
- │ Diagnostic ID: Ruby::NoMethod
14
-
15
- └ new_2.foo
16
- ~~~
17
- - |
18
- a.rb:8:6: [error] Type `::Regexp` does not have method `foo`
19
- │ Diagnostic ID: Ruby::NoMethod
20
-
21
- └ new_3.foo
22
- ~~~
23
- - |
24
- a.rb:11:6: [error] Type `::Regexp` does not have method `foo`
25
- │ Diagnostic ID: Ruby::NoMethod
26
-
27
- └ new_4.foo
28
- ~~~
29
- - |
30
- a.rb:14:10: [error] Type `::Regexp` does not have method `foo`
31
- │ Diagnostic ID: Ruby::NoMethod
32
-
33
- └ compile_1.foo
34
- ~~~
35
- - |
36
- a.rb:17:10: [error] Type `::Regexp` does not have method `foo`
37
- │ Diagnostic ID: Ruby::NoMethod
38
-
39
- └ compile_2.foo
40
- ~~~
41
- - |
42
- a.rb:20:10: [error] Type `::Regexp` does not have method `foo`
43
- │ Diagnostic ID: Ruby::NoMethod
44
-
45
- └ compile_3.foo
46
- ~~~
47
- - |
48
- a.rb:23:10: [error] Type `::Regexp` does not have method `foo`
49
- │ Diagnostic ID: Ruby::NoMethod
50
-
51
- └ compile_4.foo
52
- ~~~
53
- - |
54
- a.rb:26:9: [error] Type `::String` does not have method `foo`
55
- │ Diagnostic ID: Ruby::NoMethod
56
-
57
- └ escape_1.foo
58
- ~~~
59
- - |
60
- a.rb:29:13: [error] Type `(::MatchData | nil)` does not have method `foo`
61
- │ Diagnostic ID: Ruby::NoMethod
62
-
63
- └ last_match_1.foo
64
- ~~~
65
- - |
66
- a.rb:32:13: [error] Type `(::String | nil)` does not have method `foo`
67
- │ Diagnostic ID: Ruby::NoMethod
68
-
69
- └ last_match_2.foo
70
- ~~~
71
- - |
72
- a.rb:35:8: [error] Type `::String` does not have method `foo`
73
- │ Diagnostic ID: Ruby::NoMethod
74
-
75
- └ quote_1.foo
76
- ~~~
77
- - |
78
- a.rb:38:14: [error] Type `(::Regexp | nil)` does not have method `foo`
79
- │ Diagnostic ID: Ruby::NoMethod
80
-
81
- └ try_convert_1.foo
82
- ~~~
83
- - |
84
- a.rb:41:8: [error] Type `::Regexp` does not have method `foo`
85
- │ Diagnostic ID: Ruby::NoMethod
86
-
87
- └ union_1.foo
88
- ~~~
89
- - |
90
- a.rb:44:8: [error] Type `::Regexp` does not have method `foo`
91
- │ Diagnostic ID: Ruby::NoMethod
92
-
93
- └ union_2.foo
94
- ~~~
95
- - |
96
- a.rb:47:8: [error] Type `::Regexp` does not have method `foo`
97
- │ Diagnostic ID: Ruby::NoMethod
98
-
99
- └ union_3.foo
100
- ~~~
101
- - |
102
- a.rb:50:8: [error] Type `::Regexp` does not have method `foo`
103
- │ Diagnostic ID: Ruby::NoMethod
104
-
105
- └ union_4.foo
106
- ~~~
107
- - |
108
- a.rb:53:8: [error] Type `::Regexp` does not have method `foo`
109
- │ Diagnostic ID: Ruby::NoMethod
110
-
111
- └ union_5.foo
112
- ~~~
113
- - |
114
- a.rb:56:8: [error] Type `::Regexp` does not have method `foo`
115
- │ Diagnostic ID: Ruby::NoMethod
116
-
117
- └ union_6.foo
118
- ~~~
119
- - |
120
- a.rb:59:8: [error] Type `::Regexp` does not have method `foo`
121
- │ Diagnostic ID: Ruby::NoMethod
122
-
123
- └ union_7.foo
124
- ~~~
125
- - |
126
- a.rb:62:12: [error] Type `bool` does not have method `foo`
127
- │ Diagnostic ID: Ruby::NoMethod
128
-
129
- └ op_eqeqeq_1.foo
130
- ~~~
131
- - |
132
- a.rb:68:11: [error] Type `bool` does not have method `foo`
133
- │ Diagnostic ID: Ruby::NoMethod
134
-
135
- └ casefold_1.foo
136
- ~~~
137
- - |
138
- a.rb:71:11: [error] Type `::Encoding` does not have method `foo`
139
- │ Diagnostic ID: Ruby::NoMethod
140
-
141
- └ encoding_1.foo
142
- ~~~
143
- - |
144
- a.rb:74:17: [error] Type `bool` does not have method `foo`
145
- │ Diagnostic ID: Ruby::NoMethod
146
-
147
- └ fixed_encoding_1.foo
148
- ~~~
149
- - |
150
- a.rb:77:8: [error] Type `(::MatchData | nil)` does not have method `foo`
151
- │ Diagnostic ID: Ruby::NoMethod
152
-
153
- └ match_1.foo
154
- ~~~
155
- - |
156
- a.rb:80:8: [error] Type `(::MatchData | nil)` does not have method `foo`
157
- │ Diagnostic ID: Ruby::NoMethod
158
-
159
- └ match_2.foo
160
- ~~~
161
- - |
162
- a.rb:83:4: [error] Type `::MatchData` does not have method `foo`
163
- │ Diagnostic ID: Ruby::NoMethod
164
-
165
- └ m.foo
166
- ~~~
167
- - |
168
- a.rb:87:4: [error] Type `::MatchData` does not have method `foo`
169
- │ Diagnostic ID: Ruby::NoMethod
170
-
171
- └ m.foo
172
- ~~~
173
- - |
174
- a.rb:91:10: [error] Type `bool` does not have method `foo`
175
- │ Diagnostic ID: Ruby::NoMethod
176
-
177
- └ match_q_1.foo
178
- ~~~
179
- - |
180
- a.rb:94:10: [error] Type `bool` does not have method `foo`
181
- │ Diagnostic ID: Ruby::NoMethod
182
-
183
- └ match_q_2.foo
184
- ~~~
185
- - |
186
- a.rb:97:17: [error] Type `::Hash[::String, ::Array[::Integer]]` does not have method `foo`
187
- │ Diagnostic ID: Ruby::NoMethod
188
-
189
- └ named_captures_1.foo
190
- ~~~
191
- - |
192
- a.rb:100:8: [error] Type `::Array[::String]` does not have method `foo`
193
- │ Diagnostic ID: Ruby::NoMethod
194
-
195
- └ names_1.foo
196
- ~~~
197
- - |
198
- a.rb:103:10: [error] Type `::Integer` does not have method `foo`
199
- │ Diagnostic ID: Ruby::NoMethod
200
-
201
- └ options_1.foo
202
- ~~~
203
- - |
204
- a.rb:106:9: [error] Type `::String` does not have method `foo`
205
- │ Diagnostic ID: Ruby::NoMethod
206
-
207
- └ source_1.foo
208
- ~~~
209
- - |
210
- a.rb:109:17: [error] Type `(::Integer | nil)` does not have method `foo`
211
- │ Diagnostic ID: Ruby::NoMethod
212
-
213
- └ op_unary_match_1.foo
214
- ~~~
215
- b.rb:
216
- diagnostics:
217
- - |
218
- b.rb:3:14: [error] Type `(::String | nil)` does not have method `foo`
219
- │ Diagnostic ID: Ruby::NoMethod
220
-
221
- └ match_ref_1.foo
222
- ~~~
223
- - |
224
- b.rb:6:14: [error] Type `(::String | nil)` does not have method `foo`
225
- │ Diagnostic ID: Ruby::NoMethod
226
-
227
- └ match_ref_2.foo
228
- ~~~
229
- - |
230
- b.rb:9:14: [error] Type `(::String | nil)` does not have method `foo`
231
- │ Diagnostic ID: Ruby::NoMethod
232
-
233
- └ match_ref_3.foo
234
- ~~~
235
- - |
236
- b.rb:12:14: [error] Type `::Array[(::String | nil)]` does not have method `foo`
237
- │ Diagnostic ID: Ruby::NoMethod
238
-
239
- └ match_ref_4.foo
240
- ~~~
241
- - |
242
- b.rb:15:14: [error] Type `::Array[(::String | nil)]` does not have method `foo`
243
- │ Diagnostic ID: Ruby::NoMethod
244
-
245
- └ match_ref_5.foo
246
- ~~~
247
- - |
248
- b.rb:18:10: [error] Type `(::Integer | nil)` does not have method `foo`
249
- │ Diagnostic ID: Ruby::NoMethod
250
-
251
- └ begin_1.foo
252
- ~~~
253
- - |
254
- b.rb:21:10: [error] Type `(::Integer | nil)` does not have method `foo`
255
- │ Diagnostic ID: Ruby::NoMethod
256
-
257
- └ begin_2.foo
258
- ~~~
259
- - |
260
- b.rb:24:10: [error] Type `(::Integer | nil)` does not have method `foo`
261
- │ Diagnostic ID: Ruby::NoMethod
262
-
263
- └ begin_3.foo
264
- ~~~
265
- - |
266
- b.rb:27:13: [error] Type `::Array[(::String | nil)]` does not have method `foo`
267
- │ Diagnostic ID: Ruby::NoMethod
268
-
269
- └ captures_1.foo
270
- ~~~
271
- - |
272
- b.rb:30:8: [error] Type `(::Integer | nil)` does not have method `foo`
273
- │ Diagnostic ID: Ruby::NoMethod
274
-
275
- └ end_1.foo
276
- ~~~
277
- - |
278
- b.rb:33:8: [error] Type `(::Integer | nil)` does not have method `foo`
279
- │ Diagnostic ID: Ruby::NoMethod
280
-
281
- └ end_2.foo
282
- ~~~
283
- - |
284
- b.rb:36:8: [error] Type `(::Integer | nil)` does not have method `foo`
285
- │ Diagnostic ID: Ruby::NoMethod
286
-
287
- └ end_3.foo
288
- ~~~
289
- - |
290
- b.rb:39:11: [error] Type `::Integer` does not have method `foo`
291
- │ Diagnostic ID: Ruby::NoMethod
292
-
293
- └ length_1.foo
294
- ~~~
295
- - |
296
- b.rb:42:19: [error] Type `::Hash[::String, (::String | nil)]` does not have method `foo`
297
- │ Diagnostic ID: Ruby::NoMethod
298
-
299
- └ named_captures_1.foo
300
- ~~~
301
- - |
302
- b.rb:45:10: [error] Type `::Array[::String]` does not have method `foo`
303
- │ Diagnostic ID: Ruby::NoMethod
304
-
305
- └ names_1.foo
306
- ~~~
307
- - |
308
- b.rb:48:11: [error] Type `([::Integer, ::Integer] | [nil, nil])` does not have method `foo`
309
- │ Diagnostic ID: Ruby::NoMethod
310
-
311
- └ offset_1.foo
312
- ~~~
313
- - |
314
- b.rb:51:11: [error] Type `([::Integer, ::Integer] | [nil, nil])` does not have method `foo`
315
- │ Diagnostic ID: Ruby::NoMethod
316
-
317
- └ offset_2.foo
318
- ~~~
319
- - |
320
- b.rb:54:11: [error] Type `([::Integer, ::Integer] | [nil, nil])` does not have method `foo`
321
- │ Diagnostic ID: Ruby::NoMethod
322
-
323
- └ offset_3.foo
324
- ~~~
325
- - |
326
- b.rb:57:15: [error] Type `::String` does not have method `foo`
327
- │ Diagnostic ID: Ruby::NoMethod
328
-
329
- └ post_match_1.foo
330
- ~~~
331
- - |
332
- b.rb:60:14: [error] Type `::String` does not have method `foo`
333
- │ Diagnostic ID: Ruby::NoMethod
334
-
335
- └ pre_match_1.foo
336
- ~~~
337
- - |
338
- b.rb:63:11: [error] Type `::Regexp` does not have method `foo`
339
- │ Diagnostic ID: Ruby::NoMethod
340
-
341
- └ regexp_1.foo
342
- ~~~
343
- - |
344
- b.rb:66:9: [error] Type `::Integer` does not have method `foo`
345
- │ Diagnostic ID: Ruby::NoMethod
346
-
347
- └ size_1.foo
348
- ~~~
349
- - |
350
- b.rb:69:11: [error] Type `::String` does not have method `foo`
351
- │ Diagnostic ID: Ruby::NoMethod
352
-
353
- └ string_1.foo
354
- ~~~
355
- - |
356
- b.rb:72:9: [error] Type `::Array[(::String | nil)]` does not have method `foo`
357
- │ Diagnostic ID: Ruby::NoMethod
358
-
359
- └ to_a_1.foo
360
- ~~~
361
- - |
362
- b.rb:75:14: [error] Type `::Array[(::String | nil)]` does not have method `foo`
363
- │ Diagnostic ID: Ruby::NoMethod
364
-
365
- └ values_at_1.foo
366
- ~~~
367
- - |
368
- b.rb:78:14: [error] Type `::Array[(::String | nil)]` does not have method `foo`
369
- │ Diagnostic ID: Ruby::NoMethod
370
-
371
- └ values_at_2.foo
372
- ~~~