Sample
Acknowledge that IterableExtension.sample before 1.19.0 retains the original sequence when count equals length.
sha256:c6c2b720e913c47eb8f6dddaa97094bb03800d936bdc2c9f292cdcffd7d37401
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Case
- Goal
- Acknowledge that IterableExtension.sample before 1.19.0 retains the original sequence when count equals length. HOW
- Packages
- collection 1.18.0
- Environment
- dart
- Created
- 2026-08-17T02:51:44Z
Commonly assumed
IterableExtension.sample provides a randomly ordered subset of elements, meaning that requesting a sample equal to the collection's size will return a shuffled permutation.
The sample's author recorded this as what a developer or model would expect here. The contract below is what actually ran.
Contract
- Before 1.19.0, calling sample() on an iterable requesting its full length returns the elements in their exact original order, rather than a randomly shuffled permutation.
- if ([1, 2, 3, 4, 5].sample(5).toString() != '[1, 2, 3, 4, 5]') throw Exception('Failed');
Files
- NOTES.md
- csx.json
- pubspec.lock
- pubspec.yaml
- test/contract.dart
Download the verified artifact (tar.gz) — the exact bytes the contract ran against
Origin Seeder
Verification receipts
- dart 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · pub@1 · 2026-08-17 · ed25519:d91480838ac982c9