Feature #21020
open
Sync sig directory for prism of default gem.
Description
Currently, the type signatures (RBS) for the default gem is not available.
Prism is the only default gem with type signatures, but this number is expected to increase in the future.
As a first step to resolving this issue, I propose including the sig
directory of Prism as a default gem in the synchronization process.
Updated by kddnewton (Kevin Newton) about 1 month ago
I'm fine with this if everyone else is.
Updated by hsbt (Hiroshi SHIBATA) 9 days ago
- Status changed from Open to Assigned
- Assignee set to prism
I'm interesting that location of signature with fresh installation of ruby.
The sig directory under the prism
is fine if we have only prism signature. Where is the best location if we will add json
or psych
signatures?
1. $prefix/lib/ruby/3.5.0+0/$name/sig <- current proposal
2. $prefix/lib/ruby/3.5.0+0/sig/$name
3. $prefix/lib/ruby/sig/$name
4. $prefix/lib/ruby/gems/3.5.0+0/sig/$name
5. $GEM_HOME/sig/$name # This is same as 4 with $GEM_HOME is not specified.
6. $prefix/include/sig/$name
7. $prefix/share/sig/$name
...
I prefer 2 or 3.
Updated by Eregon (Benoit Daloze) 9 days ago
How about $prefix/lib/ruby/gems/3.5.0+0/gems/$name-$version/sig
so it would be consistent between default and bundled gems?
Updated by kddnewton (Kevin Newton) 9 days ago
I think the code in the PR is good, but I agree I don't think the sig should live under prism/sig
. I think it should be top directory of ruby repository sig
. When it's installed I agree with @Eregon (Benoit Daloze) but I also think @hsbt's solution 2 is fine, provided RBS knows to use the overridden version if one is provided.