rbs 1.7.0.beta.5 → 1.8.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +0 -1
- data/CHANGELOG.md +64 -3
- data/Steepfile +0 -1
- data/core/array.rbs +3 -3
- data/core/builtin.rbs +4 -0
- data/core/enumerable.rbs +3 -3
- data/core/env.rbs +881 -0
- data/core/false_class.rbs +2 -0
- data/core/nil_class.rbs +2 -0
- data/core/symbol.rbs +2 -0
- data/core/thread.rbs +1 -1
- data/core/true_class.rbs +2 -0
- data/docs/syntax.md +23 -20
- data/ext/rbs_extension/parser.c +97 -95
- data/ext/rbs_extension/ruby_objs.c +8 -6
- data/ext/rbs_extension/ruby_objs.h +2 -2
- data/lib/rbs/ast/declarations.rb +6 -2
- data/lib/rbs/cli.rb +1 -1
- data/lib/rbs/collection/sources/git.rb +9 -7
- data/lib/rbs/definition_builder.rb +58 -2
- data/lib/rbs/environment.rb +1 -0
- data/lib/rbs/environment_walker.rb +4 -1
- data/lib/rbs/errors.rb +12 -0
- data/lib/rbs/test/setup.rb +1 -0
- data/lib/rbs/type_alias_regularity.rb +115 -0
- data/lib/rbs/types.rb +11 -23
- data/lib/rbs/validator.rb +44 -15
- data/lib/rbs/variance_calculator.rb +52 -24
- data/lib/rbs/version.rb +1 -1
- data/lib/rbs/writer.rb +1 -1
- data/lib/rbs.rb +1 -0
- data/schema/decls.json +13 -1
- data/schema/types.json +8 -2
- data/sig/collection/collections.rbs +4 -2
- data/sig/declarations.rbs +9 -6
- data/sig/definition_builder.rbs +36 -0
- data/sig/environment_walker.rbs +26 -0
- data/sig/errors.rbs +10 -0
- data/sig/type_alias_regularity.rbs +92 -0
- data/sig/types.rbs +11 -8
- data/sig/validator.rbs +7 -0
- data/sig/variance_calculator.rbs +50 -0
- data/stdlib/bigdecimal/0/big_decimal.rbs +44 -0
- data/stdlib/csv/0/csv.rbs +49 -3
- data/stdlib/date/0/date.rbs +2 -2
- data/stdlib/set/0/set.rbs +3 -3
- data/steep/Gemfile.lock +10 -10
- metadata +7 -6
- data/lib/rbs/parser.y +0 -1805
- data/lib/ruby/signature.rb +0 -7
@@ -0,0 +1,92 @@
|
|
1
|
+
module RBS
|
2
|
+
# `TypeAliasRegularity` validates if a type alias is regular or not.
|
3
|
+
#
|
4
|
+
# Generic and recursive type alias cannot be polymorphic in their definitions.
|
5
|
+
#
|
6
|
+
# ```rbs
|
7
|
+
# type foo[T] = Integer
|
8
|
+
# | foo[T]? # Allowed. The type argument of `foo` doesn't change.
|
9
|
+
#
|
10
|
+
# type bar[T] = Integer
|
11
|
+
# | foo[T]
|
12
|
+
# | foo[Array[T]] # Allowed. There are two type arguments `T` and `Array[T]` of `foo`, but it's not definition of `foo`.
|
13
|
+
#
|
14
|
+
# type baz[T] = Integer
|
15
|
+
# | baz[Array[T]] # Error. Recursive definition of `baz` has different type argument from the definition.
|
16
|
+
# ```
|
17
|
+
#
|
18
|
+
# The `#nonregular?` method can be used to test if given type name is regular or not.
|
19
|
+
#
|
20
|
+
# ```rb
|
21
|
+
# validator = RBS::TypeAliasRegularity.validate(env: env)
|
22
|
+
#
|
23
|
+
# validator.nonregular?(TypeName("::foo")) # => nil
|
24
|
+
# validator.nonregular?(TypeName("::bar")) # => nil
|
25
|
+
# validator.nonregular?(TypeName("::baz")) # => TypeAliasRegularity::Diagnostic
|
26
|
+
# ```
|
27
|
+
#
|
28
|
+
# A special case is when the type argument is `untyped`.
|
29
|
+
#
|
30
|
+
# ```rbs
|
31
|
+
# type foo[T] = Integer | foo[untyped] # This is allowed.
|
32
|
+
# ```
|
33
|
+
#
|
34
|
+
class TypeAliasRegularity
|
35
|
+
attr_reader env: Environment
|
36
|
+
|
37
|
+
attr_reader builder: DefinitionBuilder
|
38
|
+
|
39
|
+
attr_reader diagnostics: Hash[TypeName, Diagnostic]
|
40
|
+
|
41
|
+
# `Diagnostic` represents an non-regular type alias declaration error.
|
42
|
+
# It consists of the name of the alias type and a type on which the nonregularity is detected.
|
43
|
+
#
|
44
|
+
# ```rbs
|
45
|
+
# type t[T] = Integer | t[T?]
|
46
|
+
# ```
|
47
|
+
#
|
48
|
+
# The type `t` is nonregular because it contains `t[T?]` on it's right hand side.
|
49
|
+
#
|
50
|
+
# ```
|
51
|
+
# diagnostic = validator.nonregular?(TypeName("::t"))
|
52
|
+
# diagnostic.type_name # => TypeName("::t")
|
53
|
+
# diagnostic.nonregular_type # => t[T?]
|
54
|
+
# ```
|
55
|
+
#
|
56
|
+
class Diagnostic
|
57
|
+
attr_reader type_name: TypeName
|
58
|
+
|
59
|
+
attr_reader nonregular_type: Types::Alias
|
60
|
+
|
61
|
+
def initialize: (type_name: TypeName, nonregular_type: Types::Alias) -> void
|
62
|
+
end
|
63
|
+
|
64
|
+
# Returns new instance which already run `#validate`.
|
65
|
+
#
|
66
|
+
def self.validate: (env: Environment) -> TypeAliasRegularity
|
67
|
+
|
68
|
+
def initialize: (env: Environment) -> void
|
69
|
+
|
70
|
+
# Returns `Diagnostic` instance if the alias type is nonregular.
|
71
|
+
# Regurns `nil` if the alias type is regular.
|
72
|
+
#
|
73
|
+
def nonregular?: (TypeName) -> Diagnostic?
|
74
|
+
|
75
|
+
def validate: () -> void
|
76
|
+
|
77
|
+
private
|
78
|
+
|
79
|
+
def validate_alias_type: (Types::Alias, Set[TypeName], Hash[TypeName, Types::Alias]) -> void
|
80
|
+
|
81
|
+
# Returns alias type for given type name, if the alias is generic.
|
82
|
+
# Returns nil if the type alias is not generic.
|
83
|
+
#
|
84
|
+
def build_alias_type: (TypeName) -> Types::Alias?
|
85
|
+
|
86
|
+
def compatible_args?: (Array[Types::t], Array[Types::t]) -> boolish
|
87
|
+
|
88
|
+
def each_alias_type: (Types::t) { (Types::Alias) -> void } -> void
|
89
|
+
|
90
|
+
def each_mutual_alias_defs: () { (Set[TypeName]) -> void } -> void
|
91
|
+
end
|
92
|
+
end
|
data/sig/types.rbs
CHANGED
@@ -227,18 +227,21 @@ module RBS
|
|
227
227
|
end
|
228
228
|
|
229
229
|
class Alias
|
230
|
-
|
230
|
+
# foo
|
231
|
+
# ^^^ => name
|
232
|
+
#
|
233
|
+
# foo[bar, baz]
|
234
|
+
# ^^^ => name
|
235
|
+
# ^^^^^^^^^^ => args
|
236
|
+
#
|
237
|
+
type loc = Location[:name, :args]
|
231
238
|
|
232
|
-
|
239
|
+
attr_reader location: loc?
|
233
240
|
|
234
|
-
def initialize: (name: TypeName, location: loc?) -> void
|
241
|
+
def initialize: (name: TypeName, args: Array[t], location: loc?) -> void
|
235
242
|
|
236
243
|
include _TypeBase
|
237
|
-
include
|
238
|
-
include NoSubst
|
239
|
-
include EmptyEachType
|
240
|
-
|
241
|
-
attr_reader location: loc?
|
244
|
+
include Application
|
242
245
|
end
|
243
246
|
|
244
247
|
class Tuple
|
data/sig/validator.rbs
CHANGED
@@ -1,8 +1,15 @@
|
|
1
1
|
module RBS
|
2
2
|
class Validator
|
3
3
|
attr_reader env: Environment
|
4
|
+
|
4
5
|
attr_reader resolver: TypeNameResolver
|
5
6
|
|
7
|
+
attr_reader definition_builder: DefinitionBuilder
|
8
|
+
|
9
|
+
attr_reader type_alias_dependency: TypeAliasDependency
|
10
|
+
|
11
|
+
attr_reader type_alias_regularity: TypeAliasRegularity
|
12
|
+
|
6
13
|
def initialize: (env: Environment, resolver: TypeNameResolver) -> void
|
7
14
|
|
8
15
|
def absolute_type: (Types::t, context: TypeNameResolver::context) { (Types::t) -> TypeName } -> Types::t
|
data/sig/variance_calculator.rbs
CHANGED
@@ -1,7 +1,47 @@
|
|
1
1
|
module RBS
|
2
|
+
# Calculate the use variances of type variables in declaration.
|
3
|
+
#
|
4
|
+
# ```rb
|
5
|
+
# calculator = VarianceCalculator.new(builder: builder)
|
6
|
+
#
|
7
|
+
# # Calculates variances in a method type
|
8
|
+
# result = calculator.in_method_type(method_type: method_type, variables: variables)
|
9
|
+
#
|
10
|
+
# # Calculates variances in a inheritance/mixin/...
|
11
|
+
# result = calculator.in_inherit(name: name, args: args, variables: variables)
|
12
|
+
#
|
13
|
+
# # Calculates variances in a type alias
|
14
|
+
# result = calculator.in_type_alias(name: name, args: args, variables: variables)
|
15
|
+
# ```
|
16
|
+
#
|
17
|
+
# See `RBS::VarianceCaluculator::Result` for information recorded in the `Result` object.
|
18
|
+
#
|
2
19
|
class VarianceCalculator
|
3
20
|
type variance = :unused | :covariant | :contravariant | :invariant
|
4
21
|
|
22
|
+
# Result contains the set of type variables and it's variance in a occurrence.
|
23
|
+
#
|
24
|
+
# ```rb
|
25
|
+
# # Enumerates recorded type variables
|
26
|
+
# result.each do |name, variance|
|
27
|
+
# # name is the name of a type variable
|
28
|
+
# # variance is one of :unused | :covariant | :contravariant | :invariant
|
29
|
+
# end
|
30
|
+
# ```
|
31
|
+
#
|
32
|
+
# You can test with `compatible?` method if the type variable occurrences are compatible with specified (annotated) variance.
|
33
|
+
#
|
34
|
+
# ```rb
|
35
|
+
# # When T is declared as `out T`
|
36
|
+
# result.compatible?(:T, with_annotation: :covariant)
|
37
|
+
#
|
38
|
+
# # When T is declared as `in T`
|
39
|
+
# result.compatible?(:T, with_annotation: :contravariant)
|
40
|
+
#
|
41
|
+
# # When T is declared as `T`
|
42
|
+
# result.compatible?(:T, with_annotation: :invariant)
|
43
|
+
# ```
|
44
|
+
#
|
5
45
|
class Result
|
6
46
|
attr_reader result: Hash[Symbol, variance]
|
7
47
|
|
@@ -18,6 +58,8 @@ module RBS
|
|
18
58
|
def include?: (Symbol) -> bool
|
19
59
|
|
20
60
|
def compatible?: (Symbol, with_annotation: variance) -> bool
|
61
|
+
|
62
|
+
def incompatible?: (AST::Declarations::ModuleTypeParams) -> Set[Symbol]?
|
21
63
|
end
|
22
64
|
|
23
65
|
attr_reader builder: DefinitionBuilder
|
@@ -30,6 +72,14 @@ module RBS
|
|
30
72
|
|
31
73
|
def in_inherit: (name: TypeName, args: Array[Types::t], variables: Array[Symbol]) -> Result
|
32
74
|
|
75
|
+
def in_type_alias: (name: TypeName) -> Result
|
76
|
+
|
77
|
+
private
|
78
|
+
|
33
79
|
def type: (Types::t, result: Result, context: variance) -> void
|
80
|
+
|
81
|
+
def function: (Types::Function, result: Result, context: variance) -> void
|
82
|
+
|
83
|
+
def negate: (variance) -> variance
|
34
84
|
end
|
35
85
|
end
|
@@ -885,3 +885,47 @@ BigDecimal::SIGN_POSITIVE_ZERO: Integer
|
|
885
885
|
# The version of bigdecimal library
|
886
886
|
#
|
887
887
|
BigDecimal::VERSION: String
|
888
|
+
|
889
|
+
module Kernel
|
890
|
+
private
|
891
|
+
|
892
|
+
# Create a new BigDecimal object.
|
893
|
+
#
|
894
|
+
# initial
|
895
|
+
# : The initial value, as an Integer, a Float, a Rational, a BigDecimal, or a
|
896
|
+
# String.
|
897
|
+
#
|
898
|
+
# If it is a String, spaces are ignored and unrecognized characters
|
899
|
+
# terminate the value.
|
900
|
+
#
|
901
|
+
# digits
|
902
|
+
# : The number of significant digits, as an Integer. If omitted or 0, the
|
903
|
+
# number of significant digits is determined from the initial value.
|
904
|
+
#
|
905
|
+
# The actual number of significant digits used in computation is usually
|
906
|
+
# larger than the specified number.
|
907
|
+
#
|
908
|
+
# exception
|
909
|
+
# : Whether an exception should be raised on invalid arguments. `true` by
|
910
|
+
# default, if passed `false`, just returns `nil` for invalid.
|
911
|
+
#
|
912
|
+
#
|
913
|
+
# #### Exceptions
|
914
|
+
#
|
915
|
+
# TypeError
|
916
|
+
# : If the `initial` type is neither Integer, Float, Rational, nor BigDecimal,
|
917
|
+
# this exception is raised.
|
918
|
+
#
|
919
|
+
# TypeError
|
920
|
+
# : If the `digits` is not an Integer, this exception is raised.
|
921
|
+
#
|
922
|
+
# ArgumentError
|
923
|
+
# : If `initial` is a Float, and the `digits` is larger than Float::DIG + 1,
|
924
|
+
# this exception is raised.
|
925
|
+
#
|
926
|
+
# ArgumentError
|
927
|
+
# : If the `initial` is a Float or Rational, and the `digits` value is
|
928
|
+
# omitted, this exception is raised.
|
929
|
+
#
|
930
|
+
def self?.BigDecimal: ((real | string | BigDecimal) initial, ?int digits, ?exception: bool) -> BigDecimal
|
931
|
+
end
|
data/stdlib/csv/0/csv.rbs
CHANGED
@@ -360,6 +360,49 @@ class CSV < Object
|
|
360
360
|
# output non-ASCII compatible data.
|
361
361
|
#
|
362
362
|
def self.generate: (?String str, **untyped options) { (CSV csv) -> void } -> String
|
363
|
+
|
364
|
+
# :call-seq:
|
365
|
+
# csv.each -> enumerator
|
366
|
+
# csv.each {|row| ...}
|
367
|
+
#
|
368
|
+
# Calls the block with each successive row.
|
369
|
+
# The data source must be opened for reading.
|
370
|
+
#
|
371
|
+
# Without headers:
|
372
|
+
# string = "foo,0\nbar,1\nbaz,2\n"
|
373
|
+
# csv = CSV.new(string)
|
374
|
+
# csv.each do |row|
|
375
|
+
# p row
|
376
|
+
# end
|
377
|
+
# Output:
|
378
|
+
# ["foo", "0"]
|
379
|
+
# ["bar", "1"]
|
380
|
+
# ["baz", "2"]
|
381
|
+
#
|
382
|
+
# With headers:
|
383
|
+
# string = "Name,Value\nfoo,0\nbar,1\nbaz,2\n"
|
384
|
+
# csv = CSV.new(string, headers: true)
|
385
|
+
# csv.each do |row|
|
386
|
+
# p row
|
387
|
+
# end
|
388
|
+
# Output:
|
389
|
+
# <CSV::Row "Name":"foo" "Value":"0">
|
390
|
+
# <CSV::Row "Name":"bar" "Value":"1">
|
391
|
+
# <CSV::Row "Name":"baz" "Value":"2">
|
392
|
+
#
|
393
|
+
# ---
|
394
|
+
#
|
395
|
+
# Raises an exception if the source is not opened for reading:
|
396
|
+
# string = "foo,0\nbar,1\nbaz,2\n"
|
397
|
+
# csv = CSV.new(string)
|
398
|
+
# csv.close
|
399
|
+
# # Raises IOError (not opened for reading)
|
400
|
+
# csv.each do |row|
|
401
|
+
# p row
|
402
|
+
# end
|
403
|
+
def each: () -> Enumerator[untyped, Integer]
|
404
|
+
| () { (untyped) -> void } -> Integer
|
405
|
+
|
363
406
|
end
|
364
407
|
|
365
408
|
# The options used when no overrides are given by calling code. They are:
|
@@ -408,7 +451,7 @@ CSV::VERSION: String
|
|
408
451
|
# processing is activated.
|
409
452
|
#
|
410
453
|
class CSV::Row < Object
|
411
|
-
include Enumerable[
|
454
|
+
include Enumerable[Array[String]]
|
412
455
|
extend Forwardable
|
413
456
|
|
414
457
|
# If a two-element Array is provided, it is assumed to be a header and field and
|
@@ -464,7 +507,8 @@ class CSV::Row < Object
|
|
464
507
|
#
|
465
508
|
# Support for Enumerable.
|
466
509
|
#
|
467
|
-
def each: ()
|
510
|
+
def each: () -> Enumerator[Array[String], self]
|
511
|
+
| () { (Array[String]) -> void } -> self
|
468
512
|
|
469
513
|
alias each_pair each
|
470
514
|
|
@@ -717,7 +761,9 @@ class CSV::Table[out Elem] < Object
|
|
717
761
|
#
|
718
762
|
# If no block is given, an Enumerator is returned.
|
719
763
|
#
|
720
|
-
def each: ()
|
764
|
+
def each: () -> Enumerator[untyped, self]
|
765
|
+
| () { (untyped) -> void } -> self
|
766
|
+
| () { (*untyped) -> void } -> self
|
721
767
|
|
722
768
|
def empty?: (*untyped args) { (*untyped) -> untyped } -> untyped
|
723
769
|
|
data/stdlib/date/0/date.rbs
CHANGED
@@ -446,7 +446,7 @@ class Date
|
|
446
446
|
# DateTime.jd(0,12) + DateTime.new(2001,2,3).ajd
|
447
447
|
# #=> #<DateTime: 2001-02-03T00:00:00+00:00 ...>
|
448
448
|
#
|
449
|
-
def +: (
|
449
|
+
def +: ((Numeric & _ToR) other) -> Date
|
450
450
|
|
451
451
|
# Returns the difference between the two dates if the other is a date object.
|
452
452
|
# If the other is a numeric value, returns a date object pointing `other` days
|
@@ -461,7 +461,7 @@ class Date
|
|
461
461
|
# DateTime.new(2001,2,3) - DateTime.new(2001,2,2,12)
|
462
462
|
# #=> (1/2)
|
463
463
|
#
|
464
|
-
def -: (
|
464
|
+
def -: ((Numeric & _ToR) other) -> Date
|
465
465
|
| (Date other) -> Rational
|
466
466
|
|
467
467
|
# Returns a date object pointing `n` months before self. The argument `n` should
|
data/stdlib/set/0/set.rbs
CHANGED
@@ -122,7 +122,7 @@ class Set[A]
|
|
122
122
|
#
|
123
123
|
# See also Enumerable#include?
|
124
124
|
#
|
125
|
-
def include?: (
|
125
|
+
def include?: (A) -> bool
|
126
126
|
|
127
127
|
alias member? include?
|
128
128
|
|
@@ -168,12 +168,12 @@ class Set[A]
|
|
168
168
|
# Deletes the given object from the set and returns self. Use `subtract` to
|
169
169
|
# delete many items at once.
|
170
170
|
#
|
171
|
-
def delete: (
|
171
|
+
def delete: (A) -> self
|
172
172
|
|
173
173
|
# Deletes the given object from the set and returns self. If the object is not
|
174
174
|
# in the set, returns nil.
|
175
175
|
#
|
176
|
-
def delete?: (
|
176
|
+
def delete?: (A) -> self?
|
177
177
|
|
178
178
|
# Deletes every element of the set for which block evaluates to true, and
|
179
179
|
# returns self. Returns an enumerator if no block is given.
|
data/steep/Gemfile.lock
CHANGED
@@ -9,37 +9,37 @@ GEM
|
|
9
9
|
zeitwerk (~> 2.3)
|
10
10
|
ast (2.4.2)
|
11
11
|
concurrent-ruby (1.1.9)
|
12
|
-
ffi (1.15.
|
13
|
-
i18n (1.8.
|
12
|
+
ffi (1.15.4)
|
13
|
+
i18n (1.8.11)
|
14
14
|
concurrent-ruby (~> 1.0)
|
15
15
|
language_server-protocol (3.16.0.3)
|
16
16
|
listen (3.7.0)
|
17
17
|
rb-fsevent (~> 0.10, >= 0.10.3)
|
18
18
|
rb-inotify (~> 0.9, >= 0.9.10)
|
19
19
|
minitest (5.14.4)
|
20
|
-
parallel (1.
|
21
|
-
parser (3.0.
|
20
|
+
parallel (1.21.0)
|
21
|
+
parser (3.0.3.1)
|
22
22
|
ast (~> 2.4.1)
|
23
23
|
rainbow (3.0.0)
|
24
24
|
rb-fsevent (0.11.0)
|
25
25
|
rb-inotify (0.10.1)
|
26
26
|
ffi (~> 1.0)
|
27
|
-
rbs (1.
|
28
|
-
steep (0.
|
27
|
+
rbs (1.7.1)
|
28
|
+
steep (0.47.0)
|
29
29
|
activesupport (>= 5.1)
|
30
30
|
language_server-protocol (>= 3.15, < 4.0)
|
31
31
|
listen (~> 3.0)
|
32
32
|
parallel (>= 1.0.0)
|
33
33
|
parser (>= 3.0)
|
34
34
|
rainbow (>= 2.2.2, < 4.0)
|
35
|
-
rbs (
|
35
|
+
rbs (~> 1.7.0)
|
36
36
|
terminal-table (>= 2, < 4)
|
37
|
-
terminal-table (3.0.
|
37
|
+
terminal-table (3.0.2)
|
38
38
|
unicode-display_width (>= 1.1.1, < 3)
|
39
39
|
tzinfo (2.0.4)
|
40
40
|
concurrent-ruby (~> 1.0)
|
41
|
-
unicode-display_width (2.
|
42
|
-
zeitwerk (2.
|
41
|
+
unicode-display_width (2.1.0)
|
42
|
+
zeitwerk (2.5.1)
|
43
43
|
|
44
44
|
PLATFORMS
|
45
45
|
ruby
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Soutaro Matsumoto
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-12-13 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: RBS is the language for type signatures for Ruby and standard library
|
14
14
|
definitions.
|
@@ -44,6 +44,7 @@ files:
|
|
44
44
|
- core/encoding.rbs
|
45
45
|
- core/enumerable.rbs
|
46
46
|
- core/enumerator.rbs
|
47
|
+
- core/env.rbs
|
47
48
|
- core/errno.rbs
|
48
49
|
- core/errors.rbs
|
49
50
|
- core/exception.rbs
|
@@ -152,7 +153,6 @@ files:
|
|
152
153
|
- lib/rbs/locator.rb
|
153
154
|
- lib/rbs/method_type.rb
|
154
155
|
- lib/rbs/namespace.rb
|
155
|
-
- lib/rbs/parser.y
|
156
156
|
- lib/rbs/parser_aux.rb
|
157
157
|
- lib/rbs/parser_compat/lexer_error.rb
|
158
158
|
- lib/rbs/parser_compat/located_value.rb
|
@@ -174,6 +174,7 @@ files:
|
|
174
174
|
- lib/rbs/test/tester.rb
|
175
175
|
- lib/rbs/test/type_check.rb
|
176
176
|
- lib/rbs/type_alias_dependency.rb
|
177
|
+
- lib/rbs/type_alias_regularity.rb
|
177
178
|
- lib/rbs/type_name.rb
|
178
179
|
- lib/rbs/type_name_resolver.rb
|
179
180
|
- lib/rbs/types.rb
|
@@ -182,7 +183,6 @@ files:
|
|
182
183
|
- lib/rbs/vendorer.rb
|
183
184
|
- lib/rbs/version.rb
|
184
185
|
- lib/rbs/writer.rb
|
185
|
-
- lib/ruby/signature.rb
|
186
186
|
- rbs.gemspec
|
187
187
|
- schema/annotation.json
|
188
188
|
- schema/comment.json
|
@@ -226,6 +226,7 @@ files:
|
|
226
226
|
- sig/repository.rbs
|
227
227
|
- sig/substitution.rbs
|
228
228
|
- sig/type_alias_dependency.rbs
|
229
|
+
- sig/type_alias_regularity.rbs
|
229
230
|
- sig/type_name_resolver.rbs
|
230
231
|
- sig/typename.rbs
|
231
232
|
- sig/types.rbs
|
@@ -341,9 +342,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
341
342
|
version: '2.6'
|
342
343
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
343
344
|
requirements:
|
344
|
-
- - "
|
345
|
+
- - ">="
|
345
346
|
- !ruby/object:Gem::Version
|
346
|
-
version:
|
347
|
+
version: '0'
|
347
348
|
requirements: []
|
348
349
|
rubygems_version: 3.2.22
|
349
350
|
signing_key:
|