rigortype 0.0.3 → 0.0.4

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 72dac247bb2b31d9f2b226d392242da9b6db2b3ee5638f4a6f66e8739019e18b
4
- data.tar.gz: a39d687e673df117dc61182391a37a33b0a6c30e9489bd94549a7bf9ee8e5245
3
+ metadata.gz: 23970981c0d0b952bc6885102dcf163fbb0cd0f00e4bb2232300676a6904d3a3
4
+ data.tar.gz: 07211b55ad358bcb535de36b86d00465c5ba708197ce0945667386b2eca0e3eb
5
5
  SHA512:
6
- metadata.gz: 4aa2cfec0a5c4fd968fe0071d29073ab2131e802a1749f23009e5845d9efebff2e5abe58e97882911c34fb90c9ef32858a47acf7bc64d4b98b91bc7c5acf7bc6
7
- data.tar.gz: 991d69e4ad0447c192c468ab13d387baee0334e401528b79676c9374b9b2137b6a3c4b3ada761e33e145ae963aee5fa6a8f7f84194a6c0b053bd1d4c39790507
6
+ metadata.gz: 170f4ce6750090993b14cc4d899d2cf89a89cf1c2a0a086188988a9062b70d569db78488efa4d25805a42204f4b62ad02fee2f812ad51d36008bb75d648b58bf
7
+ data.tar.gz: 63df03ee2ef43fa69716911399d971e48da46567ab4f6b5dd4b9ee5c3543fca2db5a169f12f84c4a3964a293f50704190439fc1d32475f41808bfdac771eb50a
data/README.md CHANGED
@@ -12,13 +12,20 @@ catalogue.
12
12
 
13
13
  ## Status
14
14
 
15
- The current branch (`impl/scope-type-of`) is a **first preview**.
16
- The engine recognises the bulk of canonical Ruby surface — local
17
- variables, ivars / cvars / globals (intra- and cross-method), self
18
- typing, lexical constant lookup, predicate narrowing
15
+ `master` is at the **fourth preview** (`v0.0.4`). The engine
16
+ recognises the bulk of canonical Ruby surface — local variables,
17
+ ivars / cvars / globals (intra- and cross-method), self typing,
18
+ lexical constant lookup, predicate narrowing
19
19
  (`is_a?` / `==` / `===` / `case`-`when`), block parameter binding,
20
- closure escape, Tuple / HashShape carriers, and more. See
21
- [docs/CURRENT_WORK.md](docs/CURRENT_WORK.md) for the full slice
20
+ closure escape, Tuple / HashShape carriers plus the v0.0.3
21
+ constant-folding surface and the v0.0.4 refinement-carrier
22
+ catalogue (`Type::Difference` / `Type::Refined` / `Type::Intersection`,
23
+ 14 imported built-in refinement names through
24
+ `Builtins::ImportedRefinements`, and the symmetric
25
+ `rigor:v1:return:` / `rigor:v1:param:` / `rigor:v1:assert:`
26
+ RBS::Extended directive routes). See [CHANGELOG.md](CHANGELOG.md)
27
+ for the per-release surface and
28
+ [docs/CURRENT_WORK.md](docs/CURRENT_WORK.md) for the live slice
22
29
  trail.
23
30
 
24
31
  ## Requirements
@@ -116,6 +123,16 @@ The first preview engine resolves:
116
123
  typed receiver, wrong number of positional arguments. Both
117
124
  consult RBS plus in-source `def` / `define_method` discovery so
118
125
  reopened classes do not produce false positives.
126
+ - **`RBS::Extended` annotation routes** —
127
+ `rigor:v1:return: <refinement>` overrides a method's RBS-declared
128
+ return; `rigor:v1:param: <name> [is] <refinement>` tightens a
129
+ parameter at both the call boundary and inside the method body;
130
+ `rigor:v1:assert <name> is <refinement>` substitutes the
131
+ refinement carrier at the post-call scope. The right-hand side
132
+ accepts any Capitalised class name OR a kebab-case refinement
133
+ payload from the imported-built-in catalogue (including
134
+ parameterised forms `non-empty-array[Integer]` and bounded
135
+ ranges `int<5, 10>`).
119
136
 
120
137
  See [docs/CURRENT_WORK.md](docs/CURRENT_WORK.md) for the canonical
121
138
  status snapshot, [docs/internal-spec/inference-engine.md](docs/internal-spec/inference-engine.md)
@@ -130,7 +147,7 @@ decision records.
130
147
  - `lib/rigor/inference` — `Scope`-driven typers, dispatchers, and
131
148
  narrowing.
132
149
  - `sig` — RBS signatures for Rigor itself.
133
- - `spec` — RSpec test suite (830+ examples).
150
+ - `spec` — RSpec test suite (1250+ examples).
134
151
  - `docs/adr` — architecture decision records.
135
152
  - `docs/internal-spec` — engine contracts.
136
153
  - `docs/type-specification` — type-language semantics.