steep 1.9.1 → 1.9.3
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/Steepfile +6 -0
- data/lib/steep/annotation_parser.rb +2 -2
- data/lib/steep/ast/builtin.rb +1 -1
- data/lib/steep/interface/builder.rb +2 -2
- data/lib/steep/interface/type_param.rb +1 -1
- data/lib/steep/method_name.rb +2 -2
- data/lib/steep/server/lsp_formatter.rb +1 -1
- data/lib/steep/source.rb +8 -0
- data/lib/steep/type_construction.rb +2 -2
- data/lib/steep/version.rb +1 -1
- data/steep.gemspec +2 -1
- metadata +19 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 02b4d30c83adaf9c3784371edd9f014f772273cec3ea72e9befeb3d882a897c6
|
|
4
|
+
data.tar.gz: 1146ee79d9b908d96f3079de416ba2d10b43e8b2a32ee440d4a2b7519a29558c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 23ab3d323a5395ab7fe9ac37c98c657c780a949637ff4126ea2b0c320f27031fba615239eeaeaa028409cbf9b22dc1016c4299c31a545b387bec61785321a3fa
|
|
7
|
+
data.tar.gz: 6e94877bc417d187f49f7f8dc105058835785146ad4172d7d98751e790ea05b42f191db588a516fb0151949f68664a16c5ddb2a6220915613cc98f1be824ab0f
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
|
+
## 1.9.3 (2024-12-26)
|
|
4
|
+
|
|
5
|
+
### Miscellaneous
|
|
6
|
+
|
|
7
|
+
* Steep 1.9.1 ([#1398](https://github.com/soutaro/steep/pull/1398))
|
|
8
|
+
* Update rbs ([#1443](https://github.com/soutaro/steep/pull/1443))
|
|
9
|
+
|
|
10
|
+
## 1.9.2 (2024-12-16)
|
|
11
|
+
|
|
12
|
+
### Type checker core
|
|
13
|
+
|
|
14
|
+
* Attach type assertion to keyword args ([#1410](https://github.com/soutaro/steep/pull/1410))
|
|
15
|
+
|
|
16
|
+
### Miscellaneous
|
|
17
|
+
|
|
18
|
+
* deps: Add uri gem to dependencies list ([#1402](https://github.com/soutaro/steep/pull/1402))
|
|
19
|
+
|
|
3
20
|
## 1.9.1 (2024-12-09)
|
|
4
21
|
|
|
5
22
|
### Type checker core
|
data/Steepfile
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
require "fileutils"
|
|
2
|
+
|
|
1
3
|
D = Steep::Diagnostic
|
|
2
4
|
|
|
3
5
|
FileUtils.mkpath("tmp")
|
|
@@ -23,6 +25,8 @@ target :app do
|
|
|
23
25
|
signature "sig"
|
|
24
26
|
ignore_signature "sig/test"
|
|
25
27
|
|
|
28
|
+
implicitly_returns_nil!
|
|
29
|
+
|
|
26
30
|
configure_code_diagnostics(D::Ruby.strict) do |hash|
|
|
27
31
|
end
|
|
28
32
|
|
|
@@ -37,6 +41,7 @@ target :test do
|
|
|
37
41
|
collection_config "rbs_collection.steep.yaml"
|
|
38
42
|
|
|
39
43
|
unreferenced!
|
|
44
|
+
implicitly_returns_nil!
|
|
40
45
|
|
|
41
46
|
check "test"
|
|
42
47
|
signature "sig/test"
|
|
@@ -52,6 +57,7 @@ end
|
|
|
52
57
|
|
|
53
58
|
target :bin do
|
|
54
59
|
unreferenced!
|
|
60
|
+
implicitly_returns_nil!
|
|
55
61
|
|
|
56
62
|
collection_config "rbs_collection.steep.yaml"
|
|
57
63
|
|
|
@@ -104,7 +104,7 @@ module Steep
|
|
|
104
104
|
name = match[:name] or raise
|
|
105
105
|
type = parse_type(match, location: location)
|
|
106
106
|
|
|
107
|
-
AST::Annotation::ConstType.new(name: TypeName(name), type: type, location: location)
|
|
107
|
+
AST::Annotation::ConstType.new(name: RBS::TypeName.parse(name), type: type, location: location)
|
|
108
108
|
end
|
|
109
109
|
|
|
110
110
|
when keyword_subject_type("ivar", IVAR_NAME)
|
|
@@ -184,7 +184,7 @@ module Steep
|
|
|
184
184
|
when /@implements\s+(?<name>#{CONST_NAME})#{TYPE_PARAMS}$/
|
|
185
185
|
Regexp.last_match.yield_self do |match|
|
|
186
186
|
match or raise
|
|
187
|
-
type_name = TypeName(match[:name] || raise)
|
|
187
|
+
type_name = RBS::TypeName.parse(match[:name] || raise)
|
|
188
188
|
params = match[:params]&.yield_self {|params| params.split(/,/).map {|param| param.strip.to_sym } } || []
|
|
189
189
|
|
|
190
190
|
name = AST::Annotation::Implements::Module.new(name: type_name, args: params)
|
data/lib/steep/ast/builtin.rb
CHANGED
|
@@ -786,7 +786,7 @@ module Steep
|
|
|
786
786
|
RBS::BuiltinNames::Symbol.name,
|
|
787
787
|
RBS::BuiltinNames::TrueClass.name,
|
|
788
788
|
RBS::BuiltinNames::FalseClass.name,
|
|
789
|
-
TypeName("::NilClass")
|
|
789
|
+
RBS::TypeName.parse("::NilClass")
|
|
790
790
|
# Value based type-case works on literal types which is available for String, Integer, Symbol, TrueClass, FalseClass, and NilClass
|
|
791
791
|
return method_type.with(
|
|
792
792
|
type: method_type.type.with(
|
|
@@ -828,7 +828,7 @@ module Steep
|
|
|
828
828
|
|
|
829
829
|
def add_implicitly_returns_nil(annotations, method_type)
|
|
830
830
|
return method_type unless implicitly_returns_nil
|
|
831
|
-
|
|
831
|
+
|
|
832
832
|
if annotations.find { _1.string == "implicitly-returns-nil" }
|
|
833
833
|
return_type = method_type.type.return_type
|
|
834
834
|
method_type = method_type.with(
|
data/lib/steep/method_name.rb
CHANGED
|
@@ -28,12 +28,12 @@ module Steep
|
|
|
28
28
|
type_name, method_name = string.split(/#/, 2)
|
|
29
29
|
type_name or raise
|
|
30
30
|
method_name or raise
|
|
31
|
-
InstanceMethodName.new(type_name: TypeName(type_name), method_name: method_name.to_sym)
|
|
31
|
+
InstanceMethodName.new(type_name: RBS::TypeName.parse(type_name), method_name: method_name.to_sym)
|
|
32
32
|
when /\./
|
|
33
33
|
type_name, method_name = string.split(/\./, 2)
|
|
34
34
|
type_name or raise
|
|
35
35
|
method_name or raise
|
|
36
|
-
SingletonMethodName.new(type_name: TypeName(type_name), method_name: method_name.to_sym)
|
|
36
|
+
SingletonMethodName.new(type_name: RBS::TypeName.parse(type_name), method_name: method_name.to_sym)
|
|
37
37
|
else
|
|
38
38
|
raise "Unexpected method name: #{string}"
|
|
39
39
|
end
|
data/lib/steep/source.rb
CHANGED
|
@@ -496,6 +496,14 @@ module Steep
|
|
|
496
496
|
# Skip
|
|
497
497
|
when :def, :defs
|
|
498
498
|
# Skip
|
|
499
|
+
when :kwargs
|
|
500
|
+
# skip
|
|
501
|
+
when :pair
|
|
502
|
+
key, value = node.children
|
|
503
|
+
key = insert_type_node(key, comments.except(last_line))
|
|
504
|
+
value = insert_type_node(value, comments)
|
|
505
|
+
node = node.updated(nil, [key, value])
|
|
506
|
+
return adjust_location(node)
|
|
499
507
|
when :masgn
|
|
500
508
|
lhs, rhs = node.children
|
|
501
509
|
node = node.updated(nil, [lhs, insert_type_node(rhs, comments)])
|
|
@@ -1385,10 +1385,10 @@ module Steep
|
|
|
1385
1385
|
add_typing(node, type: AST::Builtin::Float.instance_type)
|
|
1386
1386
|
|
|
1387
1387
|
when :rational
|
|
1388
|
-
add_typing(node, type: AST::Types::Name::Instance.new(name: TypeName("::Rational"), args: []))
|
|
1388
|
+
add_typing(node, type: AST::Types::Name::Instance.new(name: RBS::TypeName.parse("::Rational"), args: []))
|
|
1389
1389
|
|
|
1390
1390
|
when :complex
|
|
1391
|
-
add_typing(node, type: AST::Types::Name::Instance.new(name: TypeName("::Complex"), args: []))
|
|
1391
|
+
add_typing(node, type: AST::Types::Name::Instance.new(name: RBS::TypeName.parse("::Complex"), args: []))
|
|
1392
1392
|
|
|
1393
1393
|
when :nil
|
|
1394
1394
|
add_typing(node, type: AST::Builtin.nil_type)
|
data/lib/steep/version.rb
CHANGED
data/steep.gemspec
CHANGED
|
@@ -42,7 +42,7 @@ Gem::Specification.new do |spec|
|
|
|
42
42
|
spec.add_runtime_dependency "rainbow", ">= 2.2.2", "< 4.0"
|
|
43
43
|
spec.add_runtime_dependency "listen", "~> 3.0"
|
|
44
44
|
spec.add_runtime_dependency "language_server-protocol", ">= 3.15", "< 4.0"
|
|
45
|
-
spec.add_runtime_dependency "rbs", "~> 3.
|
|
45
|
+
spec.add_runtime_dependency "rbs", "~> 3.8"
|
|
46
46
|
spec.add_runtime_dependency "concurrent-ruby", ">= 1.1.10"
|
|
47
47
|
spec.add_runtime_dependency "terminal-table", ">= 2", "< 4"
|
|
48
48
|
spec.add_runtime_dependency "securerandom", ">= 0.1"
|
|
@@ -51,4 +51,5 @@ Gem::Specification.new do |spec|
|
|
|
51
51
|
spec.add_runtime_dependency "fileutils", ">= 1.1.0"
|
|
52
52
|
spec.add_runtime_dependency "strscan", ">= 1.0.0"
|
|
53
53
|
spec.add_runtime_dependency "csv", ">= 3.0.9"
|
|
54
|
+
spec.add_runtime_dependency "uri", ">= 0.12.0"
|
|
54
55
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: steep
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.9.
|
|
4
|
+
version: 1.9.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Soutaro Matsumoto
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: exe
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date: 2024-12-
|
|
10
|
+
date: 2024-12-26 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: parser
|
|
@@ -98,14 +97,14 @@ dependencies:
|
|
|
98
97
|
requirements:
|
|
99
98
|
- - "~>"
|
|
100
99
|
- !ruby/object:Gem::Version
|
|
101
|
-
version: 3.
|
|
100
|
+
version: '3.8'
|
|
102
101
|
type: :runtime
|
|
103
102
|
prerelease: false
|
|
104
103
|
version_requirements: !ruby/object:Gem::Requirement
|
|
105
104
|
requirements:
|
|
106
105
|
- - "~>"
|
|
107
106
|
- !ruby/object:Gem::Version
|
|
108
|
-
version: 3.
|
|
107
|
+
version: '3.8'
|
|
109
108
|
- !ruby/object:Gem::Dependency
|
|
110
109
|
name: concurrent-ruby
|
|
111
110
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -224,6 +223,20 @@ dependencies:
|
|
|
224
223
|
- - ">="
|
|
225
224
|
- !ruby/object:Gem::Version
|
|
226
225
|
version: 3.0.9
|
|
226
|
+
- !ruby/object:Gem::Dependency
|
|
227
|
+
name: uri
|
|
228
|
+
requirement: !ruby/object:Gem::Requirement
|
|
229
|
+
requirements:
|
|
230
|
+
- - ">="
|
|
231
|
+
- !ruby/object:Gem::Version
|
|
232
|
+
version: 0.12.0
|
|
233
|
+
type: :runtime
|
|
234
|
+
prerelease: false
|
|
235
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
236
|
+
requirements:
|
|
237
|
+
- - ">="
|
|
238
|
+
- !ruby/object:Gem::Version
|
|
239
|
+
version: 0.12.0
|
|
227
240
|
description: Gradual Typing for Ruby
|
|
228
241
|
email:
|
|
229
242
|
- matsumoto@soutaro.com
|
|
@@ -401,7 +414,6 @@ metadata:
|
|
|
401
414
|
homepage_uri: https://github.com/soutaro/steep
|
|
402
415
|
source_code_uri: https://github.com/soutaro/steep
|
|
403
416
|
changelog_uri: https://github.com/soutaro/steep/blob/master/CHANGELOG.md
|
|
404
|
-
post_install_message:
|
|
405
417
|
rdoc_options: []
|
|
406
418
|
require_paths:
|
|
407
419
|
- lib
|
|
@@ -416,8 +428,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
416
428
|
- !ruby/object:Gem::Version
|
|
417
429
|
version: '0'
|
|
418
430
|
requirements: []
|
|
419
|
-
rubygems_version: 3.
|
|
420
|
-
signing_key:
|
|
431
|
+
rubygems_version: 3.6.2
|
|
421
432
|
specification_version: 4
|
|
422
433
|
summary: Gradual Typing for Ruby
|
|
423
434
|
test_files: []
|