├── .github └── workflows │ └── rust.yml ├── .gitignore ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT ├── README.md ├── benchmarks ├── Cargo.toml ├── from_iterator.rs └── iterator.rs ├── enumflags_derive ├── Cargo.toml ├── LICENSE-APACHE ├── LICENSE-MIT └── src │ └── lib.rs ├── src ├── const_api.rs ├── fallible.rs ├── formatting.rs ├── iter.rs └── lib.rs └── test_suite ├── Cargo.toml ├── common.rs ├── tests ├── bitflag_tests.rs ├── bitflag_tests_2018.rs ├── no_implicit_prelude.rs ├── no_implicit_prelude_2018.rs ├── no_std.rs ├── no_std_2018.rs ├── not_literal.rs ├── requires_std.rs └── serde.rs ├── ui ├── invalid_attribute_syntax.rs ├── invalid_attribute_syntax.stderr ├── invalid_name_in_default.rs ├── invalid_name_in_default.stderr ├── invalid_repr.rs ├── invalid_repr.stderr ├── literal_out_of_range.rs ├── literal_out_of_range.stderr ├── multiple_bits.rs ├── multiple_bits.stderr ├── multiple_bits_deferred.rs ├── multiple_bits_deferred.stderr ├── not_enum.rs ├── not_enum.stderr ├── overlapping_flags.rs ├── overlapping_flags.stderr ├── shift_out_of_range.rs ├── shift_out_of_range.stderr ├── sneaky_make_bitflags.rs ├── sneaky_make_bitflags.stderr ├── with_fields.rs ├── with_fields.stderr ├── with_generics.rs ├── with_generics.stderr ├── zero_disciminant.rs ├── zero_disciminant.stderr ├── zero_discriminant_deferred.rs └── zero_discriminant_deferred.stderr └── ui_tests.rs /.github/workflows/rust.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/.github/workflows/rust.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | Cargo.lock 3 | *~ 4 | -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/Cargo.toml -------------------------------------------------------------------------------- /LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/LICENSE-APACHE -------------------------------------------------------------------------------- /LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/LICENSE-MIT -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/README.md -------------------------------------------------------------------------------- /benchmarks/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/benchmarks/Cargo.toml -------------------------------------------------------------------------------- /benchmarks/from_iterator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/benchmarks/from_iterator.rs -------------------------------------------------------------------------------- /benchmarks/iterator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/benchmarks/iterator.rs -------------------------------------------------------------------------------- /enumflags_derive/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/enumflags_derive/Cargo.toml -------------------------------------------------------------------------------- /enumflags_derive/LICENSE-APACHE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/enumflags_derive/LICENSE-APACHE -------------------------------------------------------------------------------- /enumflags_derive/LICENSE-MIT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/enumflags_derive/LICENSE-MIT -------------------------------------------------------------------------------- /enumflags_derive/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/enumflags_derive/src/lib.rs -------------------------------------------------------------------------------- /src/const_api.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/src/const_api.rs -------------------------------------------------------------------------------- /src/fallible.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/src/fallible.rs -------------------------------------------------------------------------------- /src/formatting.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/src/formatting.rs -------------------------------------------------------------------------------- /src/iter.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/src/iter.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/src/lib.rs -------------------------------------------------------------------------------- /test_suite/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/Cargo.toml -------------------------------------------------------------------------------- /test_suite/common.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/common.rs -------------------------------------------------------------------------------- /test_suite/tests/bitflag_tests.rs: -------------------------------------------------------------------------------- 1 | #[macro_use] 2 | extern crate enumflags2; 3 | 4 | include!("../common.rs"); 5 | -------------------------------------------------------------------------------- /test_suite/tests/bitflag_tests_2018.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/tests/bitflag_tests_2018.rs -------------------------------------------------------------------------------- /test_suite/tests/no_implicit_prelude.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/tests/no_implicit_prelude.rs -------------------------------------------------------------------------------- /test_suite/tests/no_implicit_prelude_2018.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/tests/no_implicit_prelude_2018.rs -------------------------------------------------------------------------------- /test_suite/tests/no_std.rs: -------------------------------------------------------------------------------- 1 | #![no_std] 2 | include!("bitflag_tests.rs"); 3 | -------------------------------------------------------------------------------- /test_suite/tests/no_std_2018.rs: -------------------------------------------------------------------------------- 1 | #![no_std] 2 | include!("bitflag_tests_2018.rs"); 3 | -------------------------------------------------------------------------------- /test_suite/tests/not_literal.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/tests/not_literal.rs -------------------------------------------------------------------------------- /test_suite/tests/requires_std.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/tests/requires_std.rs -------------------------------------------------------------------------------- /test_suite/tests/serde.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/tests/serde.rs -------------------------------------------------------------------------------- /test_suite/ui/invalid_attribute_syntax.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/invalid_attribute_syntax.rs -------------------------------------------------------------------------------- /test_suite/ui/invalid_attribute_syntax.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/invalid_attribute_syntax.stderr -------------------------------------------------------------------------------- /test_suite/ui/invalid_name_in_default.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/invalid_name_in_default.rs -------------------------------------------------------------------------------- /test_suite/ui/invalid_name_in_default.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/invalid_name_in_default.stderr -------------------------------------------------------------------------------- /test_suite/ui/invalid_repr.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/invalid_repr.rs -------------------------------------------------------------------------------- /test_suite/ui/invalid_repr.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/invalid_repr.stderr -------------------------------------------------------------------------------- /test_suite/ui/literal_out_of_range.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/literal_out_of_range.rs -------------------------------------------------------------------------------- /test_suite/ui/literal_out_of_range.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/literal_out_of_range.stderr -------------------------------------------------------------------------------- /test_suite/ui/multiple_bits.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/multiple_bits.rs -------------------------------------------------------------------------------- /test_suite/ui/multiple_bits.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/multiple_bits.stderr -------------------------------------------------------------------------------- /test_suite/ui/multiple_bits_deferred.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/multiple_bits_deferred.rs -------------------------------------------------------------------------------- /test_suite/ui/multiple_bits_deferred.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/multiple_bits_deferred.stderr -------------------------------------------------------------------------------- /test_suite/ui/not_enum.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/not_enum.rs -------------------------------------------------------------------------------- /test_suite/ui/not_enum.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/not_enum.stderr -------------------------------------------------------------------------------- /test_suite/ui/overlapping_flags.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/overlapping_flags.rs -------------------------------------------------------------------------------- /test_suite/ui/overlapping_flags.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/overlapping_flags.stderr -------------------------------------------------------------------------------- /test_suite/ui/shift_out_of_range.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/shift_out_of_range.rs -------------------------------------------------------------------------------- /test_suite/ui/shift_out_of_range.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/shift_out_of_range.stderr -------------------------------------------------------------------------------- /test_suite/ui/sneaky_make_bitflags.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/sneaky_make_bitflags.rs -------------------------------------------------------------------------------- /test_suite/ui/sneaky_make_bitflags.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/sneaky_make_bitflags.stderr -------------------------------------------------------------------------------- /test_suite/ui/with_fields.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/with_fields.rs -------------------------------------------------------------------------------- /test_suite/ui/with_fields.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/with_fields.stderr -------------------------------------------------------------------------------- /test_suite/ui/with_generics.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/with_generics.rs -------------------------------------------------------------------------------- /test_suite/ui/with_generics.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/with_generics.stderr -------------------------------------------------------------------------------- /test_suite/ui/zero_disciminant.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/zero_disciminant.rs -------------------------------------------------------------------------------- /test_suite/ui/zero_disciminant.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/zero_disciminant.stderr -------------------------------------------------------------------------------- /test_suite/ui/zero_discriminant_deferred.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/zero_discriminant_deferred.rs -------------------------------------------------------------------------------- /test_suite/ui/zero_discriminant_deferred.stderr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui/zero_discriminant_deferred.stderr -------------------------------------------------------------------------------- /test_suite/ui_tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/meithecatte/enumflags2/HEAD/test_suite/ui_tests.rs --------------------------------------------------------------------------------