Skip to content

Commit bc7cb3c

Browse files
authored
Merge pull request #2128 from Kobzol/bitmaps-3.2.1-new-solver
Add `bitmaps-3.2.1-new-solver`
2 parents 120067f + 9787511 commit bc7cb3c

17 files changed

+3717
-0
lines changed

collector/compile-benchmarks/REUSE.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ path = "bitmaps-3.2.1/**"
2222
SPDX-License-Identifier = "MPL-2.0"
2323
SPDX-FileCopyrightText = "Bodil Stokke"
2424

25+
[[annotations]]
26+
path = "bitmaps-3.2.1-new-solver/**"
27+
SPDX-License-Identifier = "MPL-2.0"
28+
SPDX-FileCopyrightText = "Bodil Stokke"
29+
2530
[[annotations]]
2631
path = "cargo-0.87.1/**"
2732
SPDX-FileCopyrightText = "The Rust Project Developers (see https://thanks.rust-lang.org)"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
{
2+
"git": {
3+
"sha1": "b449cec22ac55c916664a3ae911df2f1fe4eaffd"
4+
},
5+
"path_in_vcs": ""
6+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: cargo
4+
directory: "/"
5+
schedule:
6+
interval: daily
7+
open-pull-requests-limit: 10
8+
ignore:
9+
- dependency-name: proptest-derive
10+
versions:
11+
- 0.3.0
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
name: Continuous Integration
2+
on:
3+
push:
4+
pull_request:
5+
schedule:
6+
- cron: "0 0 1,15 * *"
7+
8+
jobs:
9+
test:
10+
runs-on: ${{ matrix.os }}
11+
strategy:
12+
matrix:
13+
os: [ubuntu-latest, windows-latest, macOS-latest]
14+
rust: [stable, beta, nightly]
15+
16+
steps:
17+
- uses: hecrj/setup-rust-action@v1
18+
with:
19+
rust-version: ${{ matrix.rust }}
20+
- uses: actions/checkout@v1
21+
- name: Run tests (with all features)
22+
run: cargo test --all-features
23+
- name: Run tests (with no features)
24+
run: cargo test --no-default-features
25+
26+
clippy:
27+
runs-on: ubuntu-latest
28+
steps:
29+
- uses: hecrj/setup-rust-action@v1
30+
with:
31+
rust-version: stable
32+
components: clippy
33+
- uses: actions/checkout@v1
34+
- name: Clippy
35+
run: cargo clippy -- -D warnings
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
/target
2+
**/*.rs.bk
3+
Cargo.lock
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
diff --git a/src/bitmap.rs b/src/bitmap.rs
2+
index ba5d1b18..9542a890 100644
3+
--- a/src/bitmap.rs
4+
+++ b/src/bitmap.rs
5+
@@ -27,6 +27,7 @@ where
6+
BitsImpl<{ SIZE }>: Bits,
7+
{
8+
fn clone(&self) -> Self {
9+
+ println!("testing");
10+
Bitmap::from_value(self.data)
11+
}
12+
}
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project
6+
adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
7+
8+
## [3.2.1] - 2024-02-01
9+
10+
### FIXED
11+
12+
- `is_full()` no longer panics with full bitmaps of size 32 or multiples
13+
thereof. (#19, #27)
14+
15+
## [3.2.0] - 2022-04-30
16+
17+
### ADDED
18+
19+
- `Bitmap` now implements `TryFrom<&[u8]>` and `AsRef<[u8]>`, and an `as_bytes()` method was
20+
added, to facilitate conversion to and from byte arrays.
21+
- The iterator is now bidirectional, and `next_index`, `prev_index` and `last_index` methods, with
22+
corresponding `false_index` variants, have been added. (#14)
23+
24+
## [3.1.0] - 2021-04-30
25+
26+
### ADDED
27+
28+
- The methods `first_false_index()` and `is_full()` have been added to `Bitmap`. (#12)
29+
30+
### FIXED
31+
32+
- The previous version broke the `no_std` feature; it has now been restored. (#11)
33+
34+
## [3.0.0] - 2021-04-26
35+
36+
### CHANGED
37+
38+
- This crate now uses const generics, rather than the `typenum` crate, to encode numerical values
39+
in types. This means you can now use plain integers in the `Bitmap` type, eg. `Bitmap<32>`,
40+
rather than the old `Bitmap<typenum::U32>`. (#8, #9)
41+
42+
### ADDED
43+
44+
- `Bitmap` now implements `Hash`, `Eq`, `PartialOrd` and `Ord`. (#7)
45+
- The `as_value()` method has been added to `Bitmap`, to get a reference to the underlying value.
46+
(#7)
47+
- `bitmaps::Iter` now implements `Clone` and `Debug`. (#4)
48+
49+
## [2.1.0] - 2020-03-26
50+
51+
### ADDED
52+
53+
- There is now a `std` feature flag, on by default, which you can disable to get a `no_std` crate.
54+
55+
## [2.0.0] - 2019-09-09
56+
57+
### CHANGED
58+
59+
- `Bits` now does a lot less work, which is now being done instead by the `BitOps` trait on its
60+
storage type. This turns out to improve compilation time quite considerably. If you were using
61+
methods on `Bits` directly, they will have moved to `BitOps`.
62+
- `Debug` now prints a single hex value for the entire bitmap, rather than deferring to the
63+
storage type.
64+
- `Iter` now takes a reference instead of a copy, which is more sensible for larger bitmaps.
65+
66+
### ADDED
67+
68+
- `Bitmap` now implements `BitAnd`, `BitOr`, `BitXor`, their equivalent assignation traits, and
69+
`Not`, meaning you can now use bitwise operators on them, even the very big array-of-u128 ones.
70+
- A `Bitmap::mask()` constructor has been added, to construct bitmasks more efficiently, now that
71+
there are bitwise operators to use them with.
72+
73+
## [1.0.0] - 2019-09-06
74+
75+
Initial release.
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
In the interest of fostering an open and welcoming environment, we as
6+
contributors and maintainers pledge to making participation in our project and
7+
our community a harassment-free experience for everyone, regardless of age, body
8+
size, disability, ethnicity, gender identity and expression, level of experience,
9+
education, socio-economic status, nationality, personal appearance, race,
10+
religion, or sexual identity and orientation.
11+
12+
## Our Standards
13+
14+
Examples of behavior that contributes to creating a positive environment
15+
include:
16+
17+
* Using welcoming and inclusive language
18+
* Being respectful of differing viewpoints and experiences
19+
* Gracefully accepting constructive criticism
20+
* Focusing on what is best for the community
21+
* Showing empathy towards other community members
22+
23+
Examples of unacceptable behavior by participants include:
24+
25+
* The use of sexualized language or imagery and unwelcome sexual attention or
26+
advances
27+
* Trolling, insulting/derogatory comments, and personal or political attacks
28+
* Public or private harassment
29+
* Publishing others' private information, such as a physical or electronic
30+
address, without explicit permission
31+
* Other conduct which could reasonably be considered inappropriate in a
32+
professional setting
33+
34+
## Our Responsibilities
35+
36+
Project maintainers are responsible for clarifying the standards of acceptable
37+
behavior and are expected to take appropriate and fair corrective action in
38+
response to any instances of unacceptable behavior.
39+
40+
Project maintainers have the right and responsibility to remove, edit, or
41+
reject comments, commits, code, wiki edits, issues, and other contributions
42+
that are not aligned to this Code of Conduct, or to ban temporarily or
43+
permanently any contributor for other behaviors that they deem inappropriate,
44+
threatening, offensive, or harmful.
45+
46+
## Scope
47+
48+
This Code of Conduct applies both within project spaces and in public spaces
49+
when an individual is representing the project or its community. Examples of
50+
representing a project or community include using an official project e-mail
51+
address, posting via an official social media account, or acting as an appointed
52+
representative at an online or offline event. Representation of a project may be
53+
further defined and clarified by project maintainers.
54+
55+
## Enforcement
56+
57+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
58+
reported by contacting the project team at [email protected]. All
59+
complaints will be reviewed and investigated and will result in a response that
60+
is deemed necessary and appropriate to the circumstances. The project team is
61+
obligated to maintain confidentiality with regard to the reporter of an incident.
62+
Further details of specific enforcement policies may be posted separately.
63+
64+
Project maintainers who do not follow or enforce the Code of Conduct in good
65+
faith may face temporary or permanent repercussions as determined by other
66+
members of the project's leadership.
67+
68+
## Attribution
69+
70+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
71+
available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
72+
73+
[homepage]: https://www.contributor-covenant.org

0 commit comments

Comments
 (0)