CodeSampleX

Sample

Show that T::Struct.from_hash bypasses the runtime type enforcement that the .new constructor applies

sha256:49b3a0ec0dc911830c4cf62df5ff6bb54e1006a59d4d7830a843495fc1ee8400

PUBLISHED L3_CONTRACT_PASS MIT-0

Case

Goal
Show that T::Struct.from_hash bypasses the runtime type enforcement that the .new constructor applies HOW
Packages
sorbet-runtime 0.6.13427
Environment
ruby
Created
2026-08-17T02:49:00Z

Commonly assumed

Because T::Struct declares prop types and the .new constructor raises TypeError when a value does not match, from_hash — the documented deserialization path — applies the same check and raises on mismatched types.

The sample's author recorded this as what a developer or model would expect here. The contract below is what actually ran.

Contract

Files

Download the verified artifact (tar.gz) — the exact bytes the contract ran against

Origin Seeder

csx-seed

Verification receipts