Skip to content

Commit f9f54c1

Browse files
Initial commit
0 parents  commit f9f54c1

File tree

14 files changed

+422
-0
lines changed

14 files changed

+422
-0
lines changed

.github/FUNDING.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# These are supported funding model platforms
2+
3+
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
4+
patreon: # Replace with a single Patreon username
5+
open_collective: # Replace with a single Open Collective username
6+
ko_fi: bincode
7+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9+
liberapay: # Replace with a single Liberapay username
10+
issuehunt: # Replace with a single IssueHunt username
11+
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12+
polar: # Replace with a single Polar username
13+
buy_me_a_coffee: # Replace with a single Buy Me a Coffee username
14+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']

.github/dependabot.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: cargo
4+
directory: /
5+
schedule:
6+
interval: daily
7+
open-pull-requests-limit: 10
8+
9+
- package-ecosystem: "github-actions"
10+
directory: "/"
11+
schedule:
12+
# Check for updates to GitHub Actions every weekday
13+
interval: "daily"

.github/workflows/rust.yml

Lines changed: 146 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,146 @@
1+
{
2+
"name": "CI",
3+
"on":
4+
{
5+
"push": { "branches": ["trunk", "v*.x", "ci/*"] },
6+
"pull_request": { "branches": ["trunk", "v*.x"] },
7+
},
8+
"jobs":
9+
{
10+
"check":
11+
{
12+
"name": "Check",
13+
"runs-on": "ubuntu-latest",
14+
"strategy":
15+
{
16+
"fail-fast": false,
17+
"matrix": { "rust": ["stable", "beta", "nightly", "1.85.0"] },
18+
},
19+
"steps":
20+
[
21+
{ "uses": "actions/checkout@v4", "name": "Checkout" },
22+
{
23+
"uses": "actions-rs/toolchain@v1",
24+
"with":
25+
{
26+
"profile": "minimal",
27+
"toolchain": "${{ matrix.rust }}",
28+
"override": true,
29+
},
30+
"name": "Install Rust ${{ matrix.rust }}",
31+
},
32+
{
33+
"uses": "actions-rs/cargo@v1",
34+
"with": { "command": "check", "args": "--all-features" },
35+
"name": "Run `cargo check`",
36+
},
37+
{
38+
"uses": "actions-rs/cargo@v1",
39+
"with": { "command": "check", "args": "--bench *" },
40+
"name": "Run `cargo check` on benches",
41+
},
42+
{
43+
"uses": "actions-rs/cargo@v1",
44+
"with": { "command": "check", "args": "--examples" },
45+
"name": "Check examples",
46+
},
47+
],
48+
},
49+
"test":
50+
{
51+
"name": "Test",
52+
"strategy":
53+
{
54+
"matrix":
55+
{
56+
"runner": ["ubuntu-latest", "windows-latest", "macos-latest"],
57+
"rust": ["stable", "1.85.0"],
58+
"features": [""],
59+
},
60+
},
61+
"runs-on": "${{ matrix.runner }}",
62+
"steps":
63+
[
64+
{ "uses": "actions/checkout@v4", "name": "Checkout" },
65+
{
66+
"uses": "actions-rs/toolchain@v1",
67+
"with":
68+
{
69+
"profile": "minimal",
70+
"toolchain": "${{ matrix.rust }}",
71+
"override": true,
72+
},
73+
"name": "Install Rust ${{ matrix.rust }}",
74+
},
75+
{ "run": "if [ -z \"${{ matrix.features }}\" ]\n
76+
then\n
77+
cargo test --no-default-features\n
78+
else\n
79+
cargo test --no-default-features --features ${{ matrix.features }}\n
80+
fi", "name": "Run `cargo test` on all features", "shell": "bash", "env": { "RUSTFLAGS": "-D warnings" } },
81+
],
82+
},
83+
"lints":
84+
{
85+
"name": "Lints",
86+
"runs-on": "ubuntu-latest",
87+
"steps":
88+
[
89+
{ "uses": "actions/checkout@v4", "name": "Checkout" },
90+
{
91+
"uses": "actions-rs/toolchain@v1",
92+
"with":
93+
{
94+
"profile": "minimal",
95+
"toolchain": "1.85.0",
96+
"override": true,
97+
"components": "rustfmt, clippy",
98+
},
99+
"name": "Install Rust stable",
100+
},
101+
{
102+
"uses": "actions-rs/cargo@v1",
103+
"with": { "command": "fmt", "args": "--all -- --check" },
104+
"name": "Run `cargo fmt`",
105+
},
106+
{
107+
"uses": "actions-rs/cargo@v1",
108+
"with":
109+
{
110+
"command": "clippy",
111+
"args": "--all-features -- -D warnings",
112+
},
113+
"name": "Run `cargo clippy`",
114+
},
115+
],
116+
},
117+
"compatibility":
118+
{
119+
"name": "Compatibility",
120+
"runs-on": "ubuntu-latest",
121+
"steps":
122+
[
123+
{ "uses": "actions/checkout@v4", "name": "Checkout" },
124+
{
125+
"uses": "actions-rs/toolchain@v1",
126+
"with":
127+
{
128+
"profile": "minimal",
129+
"toolchain": "1.85.0",
130+
"override": true,
131+
},
132+
"name": "Install Rust stable",
133+
},
134+
{
135+
"uses": "actions-rs/cargo@v1",
136+
"with":
137+
{
138+
"command": "test",
139+
"args": "--manifest-path compatibility/Cargo.toml",
140+
},
141+
"name": "Run compatibility tests",
142+
},
143+
],
144+
},
145+
},
146+
}

.gitignore

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/target
2+
/Cargo.lock
3+
*.swp
4+
*.swo
5+
.cargo
6+
.vscode
7+
.idea
8+
rls*.log
9+
tarpaulin-report.html

.mailmap

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
Ty Overby <[email protected]>
2+
3+

.rustfmt.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
newline_style = "Unix"

CODE_OF_CONDUCT.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, religion, or sexual identity
10+
and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
* Demonstrating empathy and kindness toward other people
21+
* Being respectful of differing opinions, viewpoints, and experiences
22+
* Giving and gracefully accepting constructive feedback
23+
* Accepting responsibility and apologizing to those affected by our mistakes,
24+
and learning from the experience
25+
* Focusing on what is best not just for us as individuals, but for the
26+
overall community
27+
28+
Examples of unacceptable behavior include:
29+
30+
* The use of sexualized language or imagery, and sexual attention or
31+
advances of any kind
32+
* Trolling, insulting or derogatory comments, and personal or political attacks
33+
* Public or private harassment
34+
* Publishing others' private information, such as a physical or email
35+
address, without their explicit permission
36+
* Other conduct which could reasonably be considered inappropriate in a
37+
professional setting
38+
39+
## Enforcement Responsibilities
40+
41+
Community leaders are responsible for clarifying and enforcing our standards of
42+
acceptable behavior and will take appropriate and fair corrective action in
43+
response to any behavior that they deem inappropriate, threatening, offensive,
44+
or harmful.
45+
46+
Community leaders have the right and responsibility to remove, edit, or reject
47+
comments, commits, code, wiki edits, issues, and other contributions that are
48+
not aligned to this Code of Conduct, and will communicate reasons for moderation
49+
decisions when appropriate.
50+
51+
## Scope
52+
53+
This Code of Conduct applies within all community spaces, and also applies when
54+
an individual is officially representing the community in public spaces.
55+
Examples of representing our community include using an official e-mail address,
56+
posting via an official social media account, or acting as an appointed
57+
representative at an online or offline event.
58+
59+
## Enforcement
60+
61+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62+
reported to the community leaders responsible for enforcement at
63+
64+
All complaints will be reviewed and investigated promptly and fairly.
65+
66+
All community leaders are obligated to respect the privacy and security of the
67+
reporter of any incident.
68+
69+
## Enforcement Guidelines
70+
71+
Community leaders will follow these Community Impact Guidelines in determining
72+
the consequences for any action they deem in violation of this Code of Conduct:
73+
74+
### 1. Correction
75+
76+
**Community Impact**: Use of inappropriate language or other behavior deemed
77+
unprofessional or unwelcome in the community.
78+
79+
**Consequence**: A private, written warning from community leaders, providing
80+
clarity around the nature of the violation and an explanation of why the
81+
behavior was inappropriate. A public apology may be requested.
82+
83+
### 2. Warning
84+
85+
**Community Impact**: A violation through a single incident or series
86+
of actions.
87+
88+
**Consequence**: A warning with consequences for continued behavior. No
89+
interaction with the people involved, including unsolicited interaction with
90+
those enforcing the Code of Conduct, for a specified period of time. This
91+
includes avoiding interactions in community spaces as well as external channels
92+
like social media. Violating these terms may lead to a temporary or
93+
permanent ban.
94+
95+
### 3. Temporary Ban
96+
97+
**Community Impact**: A serious violation of community standards, including
98+
sustained inappropriate behavior.
99+
100+
**Consequence**: A temporary ban from any sort of interaction or public
101+
communication with the community for a specified period of time. No public or
102+
private interaction with the people involved, including unsolicited interaction
103+
with those enforcing the Code of Conduct, is allowed during this period.
104+
Violating these terms may lead to a permanent ban.
105+
106+
### 4. Permanent Ban
107+
108+
**Community Impact**: Demonstrating a pattern of violation of community
109+
standards, including sustained inappropriate behavior, harassment of an
110+
individual, or aggression toward or disparagement of classes of individuals.
111+
112+
**Consequence**: A permanent ban from any sort of public interaction within
113+
the community.
114+
115+
## Attribution
116+
117+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118+
version 2.0, available at
119+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
120+
121+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
122+
enforcement ladder](https://github.com/mozilla/diversity).
123+
124+
[homepage]: https://www.contributor-covenant.org
125+
126+
For answers to common questions about this code of conduct, see the FAQ at
127+
https://www.contributor-covenant.org/faq. Translations are available at
128+
https://www.contributor-covenant.org/translations.

Cargo.toml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
[workspace]
2+
members = ["derive"]
3+
4+
[package]
5+
name = "bincode_contrib"
6+
version = "0.0.1"
7+
authors = ["Victor Koenders <[email protected]>"]
8+
exclude = ["logo.svg", "examples/*", ".gitignore", ".github/"]
9+
rust-version = "1.85.0"
10+
11+
publish = true
12+
13+
repository = "https://github.com/bincode-org/bincode_contrib"
14+
documentation = "https://docs.rs/bincode_contrib"
15+
readme = "./readme.md"
16+
categories = ["encoding", "network-programming"]
17+
keywords = [
18+
"bincode",
19+
"contrib",
20+
"binary",
21+
"encode",
22+
"decode",
23+
"serialize",
24+
"deserialize",
25+
]
26+
27+
license = "MIT"
28+
description = "A community contribution crate for common extensions to bincode"
29+
30+
edition = "2021"
31+
32+
[dependencies]
33+
bincode = "2"
34+
bincode_contrib_derive = { path = "derive" }
35+
36+
[package.metadata.docs.rs]
37+
all-features = true
38+
rustdoc-args = ["--cfg", "docsrs"]

LICENSE.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The MIT License (MIT)
2+
3+
Copyright (c) 2014 Ty Overby
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)