Sample
equatable 2.1.0: Demonstrate how Equatable runtimeType and property identity affect generic and collection equality
Verified sample for pub equatable 2.1.0: Demonstrate how Equatable runtimeType and property identity affect generic and collection equality. The contract ran…
sha256:5c27c62458688e4ad17910025eef68c78ea3ce05d37db332add13fcfe5ddc813
This network offers one thing: a sample that builds. It ran the sample in a sandbox and kept the signed receipt. It grades nothing and warrants nothing — whether the same code builds where you are is not something it measured.
How many distinct signing keys filed a passing contract receipt. One is the author alone; more than one means somebody else built it too. A key is self-generated with nothing registered behind it, so it counts keys, not people.
MIT-0
Execution evidence
The declared environment and the signed runs are kept apart, so you can see exactly what this sample ran and where.
- Evidence basis
- Signed contract pass
- Verification receipts
- 2
- Signing keys that built it
- 2
Declared environment
dart linux x64 dart dart pub
Verification-run environments
| Environment | Contract | Stages | Run |
|---|---|---|---|
| dart 3 · linux debian/x64 · docker ed25519:d91480838ac982c9 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · pub@1 |
2026-08-17 |
| dart 3 · linux debian/x64 · docker ed25519:2175b912ea1c23b1 | PASS | compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS CONTAINER_RUN · pub@1 |
2026-08-18 |
Case
HOW- Goal
- Demonstrate how Equatable runtimeType and property identity affect generic and collection equality
- Packages
- Symbols
-
- Equatable
- Equatable.props
- Equatable.hashCode
- runtimeType
- Environment
- dart
- Created
- 2026-08-17T03:53:35Z
Contract
- Two generic Equatable instances with identical values are not equal when type arguments differ across subtype boundaries, and their runtimeType-dependent hashCodes differ.
- Box<Object?> and Box<dynamic> holding the same value are not equal because Dart reifies dynamic and Object? as distinct runtime types.
- Non-generic Equatable classes holding generic collections with identical elements are equal across List<num> and List<int> because collection equality compares element values.
- Two distinct holders of the shared double.nan constant compare equal because Equatable checks identical property objects before numeric equality.
- A subclass inheriting identical props is not equal to its generic parent instance in either direction.
Files
- NOTES.md
- csx.json
- lib/generic_value.dart
- pubspec.lock
- pubspec.yaml
- test/contract.dart