Repository navigation
feat(vector): specs for data, empty - #216
Merged
Merged
Conversation
CI summary (Details)Active Repos
|
| Repo | Job Branch | Job Commit |
|---|---|---|
| ./ | main | fe784a5 |
| fmdeps/BRiCk/ | main | 3ecdb99 |
| fmdeps/auto/ | main | ce73039 |
| fmdeps/auto-docs/ | main | f59f39c |
| bluerock/NOVA/ | skylabs-proof | e55e7f4 |
| bluerock/bhv/ | skylabs-main | 69a194d |
| fmdeps/brick-libgtest/ | main | aeeddad |
| fmdeps/ci/ | main | 60c77e3 |
| vendored/elpi/ | skylabs-master | c0b9653 |
| vendored/flocq/ | skylabs-master | cf9cc84 |
| vendored/rocq/ | skylabs-master | fcb26f5 |
| fmdeps/rocq-agent-toolkit/ | main | f49e242 |
| vendored/rocq-elpi/ | skylabs-master | 7dee592 |
| vendored/rocq-equations/ | skylabs-main | 9cf8471 |
| vendored/rocq-iris/ | skylabs-master | a7af9f7 |
| vendored/rocq-lsp/ | skylabs-main | 64ef78a |
| vendored/rocq-stdlib/ | skylabs-master | 00897b3 |
| vendored/rocq-stdpp/ | skylabs-master | 0c5e505 |
| fmdeps/skylabs-fm/ | main | afbf401 |
| vendored/vsrocq/ | skylabs-main | ee79e7a |
No Changes in Warnings or Errors
| Before | New | Fixed | After | |
|---|---|---|---|---|
| Errors | 0 | 0 | 0 | 0 |
| Warnings | 75 | 0 | 0 | 75 |
Performance
| Relative | Master | MR | Change | Filename |
|---|---|---|---|---|
| +0.14% | 196811.8 | 197081.0 | +269.1 | total |
| +0.11% | - | 217.2 | +217.2 | ├ newly appeared files (2) |
| +0.03% | 196811.8 | 196863.8 | +52.0 | └ common files |
| -0.01% | 53525.0 | 53522.2 | -2.9 | ├ translation units |
| +0.04% | 143286.8 | 143341.6 | +54.8 | └ proofs and tests |
Full Results
| Relative | Master | MR | Change | Filename |
|---|---|---|---|---|
| -0.37% | 762.1 | 759.3 | -2.9 | fmdeps/brick-libcpp/rocq-brick-libstdcpp/test/vector/test_cpp.v |
| +11.64% | 468.9 | 523.5 | +54.6 | fmdeps/brick-libcpp/rocq-brick-libstdcpp/test/vector/test_cpp_proof.v |
| +0.14% | 196811.8 | 197081.0 | +269.1 | total |
| +0.11% | - | 217.2 | +217.2 | ├ newly appeared files (2) |
| +0.03% | 196811.8 | 196863.8 | +52.0 | └ common files |
| -0.01% | 53525.0 | 53522.2 | -2.9 | ├ translation units |
| +0.04% | 143286.8 | 143341.6 | +54.8 | └ proofs and tests |
jhaag-skylabs-ai
marked this pull request as ready for review
October 21, 2026 21:10
simon-skylabs
approved these changes
Oct 22, 2026
simon-skylabs
enabled auto-merge
October 22, 2026 14:46
jhaag-skylabs-ai
disabled auto-merge
October 22, 2026 21:36
jhaag-skylabs-ai
enabled auto-merge
October 22, 2026 21:37
jhaag-skylabs-ai
force-pushed
the
jhaag/vector-data-empty
branch
from
October 23, 2026 13:26
8c7ef83 to
25d72d9
Compare
CI summary (Details)Active Repos
|
| Repo | Job Branch | Job Commit |
|---|---|---|
| ./ | main | 781c507 |
| fmdeps/BRiCk/ | main | f08d690 |
| fmdeps/auto/ | main | 9dd42cf |
| fmdeps/auto-docs/ | main | 5a40c23 |
| bluerock/NOVA/ | skylabs-proof | 0573bd1 |
| bluerock/bhv/ | skylabs-main | 3704d69 |
| fmdeps/brick-libgtest/ | main | e0d33c6 |
| fmdeps/ci/ | main | 4270397 |
| vendored/elpi/ | skylabs-master | c0b9653 |
| vendored/flocq/ | skylabs-master | cf9cc84 |
| vendored/rocq/ | skylabs-master | 7c6eef8 |
| fmdeps/rocq-agent-toolkit/ | main | b307188 |
| vendored/rocq-elpi/ | skylabs-master | 7dee592 |
| vendored/rocq-equations/ | skylabs-main | 9cf8471 |
| vendored/rocq-iris/ | skylabs-master | a7af9f7 |
| vendored/rocq-stdlib/ | skylabs-master | 00897b3 |
| vendored/rocq-stdpp/ | skylabs-master | 0c5e505 |
| fmdeps/skylabs-fm/ | main | 1a00bf8 |
| vendored/vsrocq/ | skylabs-main | 03db19e |
No Changes in Warnings or Errors
| Before | New | Fixed | After | |
|---|---|---|---|---|
| Errors | 0 | 0 | 0 | 0 |
| Warnings | 76 | 0 | 0 | 76 |
Performance
| Relative | Master | MR | Change | Filename |
|---|---|---|---|---|
| +0.14% | 194775.1 | 195049.9 | +274.8 | total |
| +0.11% | - | 223.7 | +223.7 | ├ newly appeared files (2) |
| +0.03% | 194775.1 | 194826.2 | +51.1 | └ common files |
| +0.01% | 48965.5 | 48968.0 | +2.5 | ├ translation units |
| +0.03% | 145809.6 | 145858.2 | +48.6 | └ proofs and tests |
Full Results
| Relative | Master | MR | Change | Filename |
|---|---|---|---|---|
| -0.27% | 433.1 | 431.9 | -1.2 | fmdeps/brick-libcpp/rocq-brick-libstdcpp/test/vector/iter_bounds.v |
| +0.37% | 676.3 | 678.8 | +2.5 | fmdeps/brick-libcpp/rocq-brick-libstdcpp/test/vector/test_cpp.v |
| +11.00% | 451.3 | 501.0 | +49.6 | fmdeps/brick-libcpp/rocq-brick-libstdcpp/test/vector/test_cpp_proof.v |
| +0.14% | 194775.1 | 195049.9 | +274.8 | total |
| +0.11% | - | 223.7 | +223.7 | ├ newly appeared files (2) |
| +0.03% | 194775.1 | 194826.2 | +51.1 | └ common files |
| +0.01% | 48965.5 | 48968.0 | +2.5 | ├ translation units |
| +0.03% | 145809.6 | 145858.2 | +48.6 | └ proofs and tests |
simon-skylabs
force-pushed
the
jhaag/vector-data-empty
branch
from
October 27, 2026 19:49
25d72d9 to
0cea485
Compare
CI summary (Details)Active Repos
|
| Repo | Job Branch | Job Commit |
|---|---|---|
| ./ | main | 781c507 |
| fmdeps/BRiCk/ | main | 2ce8ed0 |
| fmdeps/auto/ | main | ff6306c |
| fmdeps/auto-docs/ | main | 918aa33 |
| bluerock/NOVA/ | skylabs-proof | 02f6828 |
| bluerock/bhv/ | skylabs-main | e235791 |
| fmdeps/brick-libgtest/ | main | 495b855 |
| fmdeps/ci/ | main | b480641 |
| vendored/elpi/ | skylabs-master | c0b9653 |
| vendored/flocq/ | skylabs-master | cf9cc84 |
| vendored/rocq/ | skylabs-master | 7c6eef8 |
| fmdeps/rocq-agent-toolkit/ | main | 53fde9a |
| vendored/rocq-elpi/ | skylabs-master | 7dee592 |
| vendored/rocq-equations/ | skylabs-main | 9cf8471 |
| vendored/rocq-iris/ | skylabs-master | 285745a |
| vendored/rocq-stdlib/ | skylabs-master | 00897b3 |
| vendored/rocq-stdpp/ | skylabs-master | ba29dba |
| fmdeps/skylabs-fm/ | main | ffa586f |
| vendored/vsrocq/ | skylabs-main | 03db19e |
Changes in Warnings or Errors
| Before | New | Fixed | After | |
|---|---|---|---|---|
| Errors | 0 | 0 | 1 | |
| Warnings | 76 | 76 |
Performance
| Relative | Master | MR | Change | Filename |
|---|---|---|---|---|
| -0.23% | 199110.0 | 198657.9 | -452.2 | total |
| -0.34% | 677.4 | - | -677.4 | ├ disappeared files (1) |
| +0.11% | - | 225.3 | +225.3 | ├ newly appeared files (2) |
| -0.00% | 198432.6 | 198432.5 | -0.1 | └ common files |
| -0.00% | 49396.3 | 49396.0 | -0.3 | ├ translation units |
| +0.00% | 149036.3 | 149036.6 | +0.2 | └ proofs and tests |
Full Results
| Relative | Master | MR | Change | Filename |
|---|---|---|---|---|
| -0.23% | 199110.0 | 198657.9 | -452.2 | total |
| -0.34% | 677.4 | - | -677.4 | ├ disappeared files (1) |
| +0.11% | - | 225.3 | +225.3 | ├ newly appeared files (2) |
| -0.00% | 198432.6 | 198432.5 | -0.1 | └ common files |
| -0.00% | 49396.3 | 49396.0 | -0.3 | ├ translation units |
| +0.00% | 149036.3 | 149036.6 | +0.2 | └ proofs and tests |
CI summary (Details)Active Repos
|
| Repo | Job Branch | Job Commit |
|---|---|---|
| ./ | main | 781c507 |
| fmdeps/BRiCk/ | main | 2ce8ed0 |
| fmdeps/auto/ | main | ff6306c |
| fmdeps/auto-docs/ | main | 918aa33 |
| bluerock/NOVA/ | skylabs-proof | 02f6828 |
| bluerock/bhv/ | skylabs-main | e235791 |
| fmdeps/brick-libgtest/ | main | 495b855 |
| fmdeps/ci/ | main | b480641 |
| vendored/elpi/ | skylabs-master | c0b9653 |
| vendored/flocq/ | skylabs-master | cf9cc84 |
| vendored/rocq/ | skylabs-master | 7c6eef8 |
| fmdeps/rocq-agent-toolkit/ | main | 53fde9a |
| vendored/rocq-elpi/ | skylabs-master | 7dee592 |
| vendored/rocq-equations/ | skylabs-main | 9cf8471 |
| vendored/rocq-iris/ | skylabs-master | 285745a |
| vendored/rocq-stdlib/ | skylabs-master | 00897b3 |
| vendored/rocq-stdpp/ | skylabs-master | ba29dba |
| fmdeps/skylabs-fm/ | main | ffa586f |
| vendored/vsrocq/ | skylabs-main | 03db19e |
Changes in Warnings or Errors
| Before | New | Fixed | After | |
|---|---|---|---|---|
| Errors | 0 | 0 | 1 | |
| Warnings | 76 | 76 |
Performance
| Relative | Master | MR | Change | Filename |
|---|---|---|---|---|
| -0.23% | 199110.0 | 198657.9 | -452.2 | total |
| -0.34% | 677.4 | - | -677.4 | ├ disappeared files (1) |
| +0.11% | - | 225.3 | +225.3 | ├ newly appeared files (2) |
| -0.00% | 198432.6 | 198432.5 | -0.1 | └ common files |
| -0.00% | 49396.3 | 49396.0 | -0.3 | ├ translation units |
| +0.00% | 149036.3 | 149036.6 | +0.2 | └ proofs and tests |
Full Results
| Relative | Master | MR | Change | Filename |
|---|---|---|---|---|
| -0.23% | 199110.0 | 198657.9 | -452.2 | total |
| -0.34% | 677.4 | - | -677.4 | ├ disappeared files (1) |
| +0.11% | - | 225.3 | +225.3 | ├ newly appeared files (2) |
| -0.00% | 198432.6 | 198432.5 | -0.1 | └ common files |
| -0.00% | 49396.3 | 49396.0 | -0.3 | ├ translation units |
| +0.00% | 149036.3 | 149036.6 | +0.2 | └ proofs and tests |
Specify `std::vector::empty() const` and both `data()` overloads against `spineR`: `empty` returns whether the size is zero, `data` returns the base pointer, which is null for a vector that never allocated. Both are total; using `data()`'s result needs ownership of the elements, as with `operator[]`. TestDataEmpty verifies writes and reads through `data()`. The UB clients in data_ub.cpp (a read one past the last element, and `*v.data()` on an empty vector) get stuck on the missing element ownership; the stuck goals are recorded in data_ub_proof.expected. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
simon-skylabs
force-pushed
the
jhaag/vector-data-empty
branch
from
October 27, 2026 22:09
da04bdd to
4fd1d71
Compare
CI summary (Details)Active Repos
|
| Repo | Job Branch | Job Commit |
|---|---|---|
| ./ | main | 781c507 |
| fmdeps/BRiCk/ | main | 2ce8ed0 |
| fmdeps/auto/ | main | ff6306c |
| fmdeps/auto-docs/ | main | 918aa33 |
| bluerock/NOVA/ | skylabs-proof | 02f6828 |
| bluerock/bhv/ | skylabs-main | e235791 |
| fmdeps/brick-libgtest/ | main | 495b855 |
| fmdeps/ci/ | main | b480641 |
| vendored/elpi/ | skylabs-master | c0b9653 |
| vendored/flocq/ | skylabs-master | cf9cc84 |
| vendored/rocq/ | skylabs-master | 7c6eef8 |
| fmdeps/rocq-agent-toolkit/ | main | 53fde9a |
| vendored/rocq-elpi/ | skylabs-master | 7dee592 |
| vendored/rocq-equations/ | skylabs-main | 9cf8471 |
| vendored/rocq-iris/ | skylabs-master | 285745a |
| vendored/rocq-stdlib/ | skylabs-master | 00897b3 |
| vendored/rocq-stdpp/ | skylabs-master | ba29dba |
| fmdeps/skylabs-fm/ | main | ffa586f |
| vendored/vsrocq/ | skylabs-main | 03db19e |
No Changes in Warnings or Errors
| Before | New | Fixed | After | |
|---|---|---|---|---|
| Errors | 0 | 0 | 0 | 0 |
| Warnings | 76 | 0 | 0 | 76 |
Performance
| Relative | Master | MR | Change | Filename |
|---|---|---|---|---|
| +0.14% | 199110.0 | 199388.6 | +278.5 | total |
| +0.11% | - | 225.3 | +225.3 | ├ newly appeared files (2) |
| +0.03% | 199110.0 | 199163.2 | +53.2 | └ common files |
| -0.00% | 49396.3 | 49396.0 | -0.3 | ├ translation units |
| +0.04% | 149713.8 | 149767.3 | +53.5 | └ proofs and tests |
Full Results
| Relative | Master | MR | Change | Filename |
|---|---|---|---|---|
| +7.87% | 677.4 | 730.7 | +53.3 | fmdeps/brick-libcpp/rocq-brick-libstdcpp/test/vector/test_cpp_proof.v |
| +0.14% | 199110.0 | 199388.6 | +278.5 | total |
| +0.11% | - | 225.3 | +225.3 | ├ newly appeared files (2) |
| +0.03% | 199110.0 | 199163.2 | +53.2 | └ common files |
| -0.00% | 49396.3 | 49396.0 | -0.3 | ├ translation units |
| +0.04% | 149713.8 | 149767.3 | +53.5 | └ proofs and tests |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Specs for
std::vector::empty() constand bothdata()overloads, againstspineR(vector.data, container.reqmts), following thestd::arrayspecs:empty()returnsbool_decide (size = 0).data()returnsbase_pointer st, which is null for a vector that never allocated.Both are total. Using
data()'s result needs ownership of the elements, exactly as withoperator[].Tests:
TestDataEmpty(intest/vector/test.cpp, called frommain) checksempty()before and afterpush_back, writes throughdata(), and reads through theconstoverload.test/vector/data_ub.cpphas two UB clients, each the twin of a line inTestDataEmpty: a read one past the last element and*v.data()on an empty vector. ASan reports both.data_ub_proof.vshows that each gets stuck on the missing element ownership (index 1 of a one-element vector, andnullptr). The stuck goals are recorded indata_ub_proof.expected.test/dune.incis regenerated bydune-gen.shfor the new.cpp.🤖 Generated with Claude Code