Skip to content

Add Steep type checking - #281

Open
sferik wants to merge 4 commits into
ruby:masterfrom
sferik:add-steep-type-checking
Open

Add Steep type checking#281
sferik wants to merge 4 commits into
ruby:masterfrom
sferik:add-steep-type-checking

Conversation

@sferik

@sferiksferik commented Mar 6, 2026

Copy link
Copy Markdown
Contributor

See #278 for context.

@sferiksferik mentioned this pull request Mar 6, 2026
@sferik
sferikforce-pushed the add-steep-type-checking branch 3 times, most recently from 2a6b7ee to a22dfccCompareMarch 12, 2026 02:02
Adjust library code to make dynamic behavior explicit for the type
checker with small, behavior-preserving changes: add local narrowing,
nil guards, key coercions, read_body call shaping, and a few
compatibility-focused internal fixes.
@sferik
sferikforce-pushed the add-steep-type-checking branch from a22dfcc to d6ad4baCompareMarch 17, 2026 19:44
Update the public RBS to better match actual net/http behavior around
URI handling, nilable headers and response bodies, exception classes,
and request/response entry points.
Keep shipped signatures in sig/ focused on net/http’s public API, and
add a separate *-impl.rbs files for implementation-only declarations
used only by Steep when typechecking lib/.
The *-impl.rbs files cover internal protocol classes, helper methods,
constants, and stdlib gaps needed by the implementation, without
shipping those internal details as part of the gem’s public RBS.
@sferik
sferikforce-pushed the add-steep-type-checking branch 4 times, most recently from eb1ef57 to 9e3c59cCompareMarch 17, 2026 20:18
Add `steep` to Gemfile, add `steep` rake task, and add `typecheck`
GitHub workflow.
@sferik
sferikforce-pushed the add-steep-type-checking branch from 9e3c59c to 2436a4eCompareMarch 17, 2026 20:23
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@sferik