1If you send a pull request / patch, please observe the following. 2 3## Licensing 4 5Since this crate is dual-licensed, 6[section 5 of the Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0#contributions) 7is considered to apply in the sense of Contributions being automatically 8under the Apache License 2.0 or MIT dual license (see the `COPYRIGHT` file). 9That is, by the act of offering a Contribution, you place your Contribution 10under the Apache License 2.0 or MIT dual license stated in the `COPYRIGHT` 11file. Please do not contribute if you aren't willing or allowed to license your 12contributions in this manner. 13 14You are encouraged to dedicate test code that you contribute to the Public 15Domain using the CC0 dedication. If you contribute test code that is not 16dedicated to the Public Domain, please be sure not to put it in a part of 17source code that the comments designate as being dedicated to the Public 18Domain. 19 20## Copyright Notices 21 22If you require the addition of your copyright notice, it's up to you to edit in 23your notice as part of your Contribution. Not adding a copyright notice is 24taken as a waiver of copyright notice. 25 26## No Encodings Beyond The Encoding Standard 27 28Please do not contribute implementations of encodings that are not specified 29in the [Encoding Standard](https://encoding.spec.whatwg.org/). 30 31For example, an implementation of UTF-7 is explicitly out of scope for this 32crate and is, therefore, provided by the [`charset`](https://crates.io/crates/charset) 33crate instead. For single-byte DOS encodings, please see the 34[`oem_cp`](https://crates.io/crates/oem_cp) crate. 35 36## Compatibility with Stable Rust 37 38Please ensure that your Contribution compiles with the latest stable-channel 39rustc. 40 41## rustfmt 42 43The `rustfmt` version used for this code is `rustfmt-nightly`. Please either 44use that version or avoid using `rustfmt` (so as not to reformat all the code). 45 46## Unit tests 47 48Please ensure that `cargo test` succeeds. 49