249 Commits

Author SHA1 Message Date
openharmony_ci bcab3026c5 !2 Add OAT.xml and README.OpenSource
Merge pull request !2 from fangting/master
OpenHarmony-v4.1.4-Release OpenHarmony-v4.1.3-Release OpenHarmony-v4.1.2-Release OpenHarmony-v4.0.4-Release OpenHarmony-v5.0.0-Release OpenHarmony-v4.0.3-Release OpenHarmony-v4.0.2-Release OpenHarmony-v5.0-Beta1 OpenHarmony-v4.1-Release OpenHarmony-v4.0-Beta1 OpenHarmony-v4.0-Beta2 OpenHarmony-v4.0-Release OpenHarmony-v4.0.1-Release OpenHarmony-v4.1-Beta1 OpenHarmony-v4.1.1-Release master-v weekly_20240115-v
2023-04-14 08:10:19 +00:00
fangting cbfc486fcc Add OAT.xml and README.OpenSource
Signed-off-by: fangting <fangting12@huawei.com>
2023-04-14 14:15:25 +08:00
openharmony_ci aa09b5f1a0 !1 [static-assertions]Add OH support and BUILD.gn for rust
Merge pull request !1 from haotuo/master
2023-04-13 11:33:49 +00:00
haotuo af0c28a8d6 Add BUILD.gn for OH build
Issue:https://gitee.com/openharmony/build/issues/I6UFTP

Signed-off-by: haotuo <haotuo@huawei.com>
2023-04-12 10:37:30 +08:00
Nikolai Vazquez 18bc65a094 [Release] Prepare 1.1.0 github.com/nvzqz/static-assertions-rs/v1.1.0 2019-11-03 12:00:29 -05:00
Nikolai Vazquez 6681752181 [Changelog] Remove misplaced colon 2019-11-03 11:56:41 -05:00
Nikolai Vazquez de3d5d3f28 [Travis] Move script to config 2019-11-02 23:33:10 -04:00
Nikolai Vazquez 13b16331a0 [README] Add to intro 2019-11-02 23:31:16 -04:00
Nikolai Vazquez 4c5a873a3d [FAQ] Add to contribution section 2019-11-02 23:25:47 -04:00
Nikolai Vazquez 074b69ef4e [Changelog] Add entry for FAQ 2019-11-02 22:59:21 -04:00
Nikolai Vazquez c61740f636 Elaborate on const _ in FAQ 2019-11-02 22:50:18 -04:00
Nikolai Vazquez 4e2227132f Fix typo in FAQ 2019-11-02 22:49:24 -04:00
Nikolai Vazquez 4edfc29edd Add FAQ to README.md 2019-11-02 22:48:31 -04:00
Nikolai Vazquez 4ea64cf3d7 Move macro links in README.md to bottom 2019-11-02 22:41:14 -04:00
Nikolai Vazquez dba2d077cd Add comments to assert_trait_sub_all! 2019-11-02 21:46:30 -04:00
Nikolai Vazquez b9a095d373 Add downloads, Travis, and rustc badges to docs 2019-11-02 21:01:56 -04:00
Nikolai Vazquez 8d43eed545 [Changelog] Remove comment on assert_impl_one!
Implementation no longer requires `assert_impl_any!`.
2019-11-02 20:47:12 -04:00
Nikolai Vazquez cccd9ec0e9 Add macro to assert trait is parent
Renamed `assert_super_trait_all!` to `assert_trait_sub_all!` since the
first argument is the sub-trait.

Added `assert_trait_super_all!` to complement `assert_trait_sub_all!`.
2019-11-02 20:43:06 -04:00
Nikolai Vazquez bb0326f894 Change assert_impl_one! docs
Removed mention of it being a combination of other macros. This is no
longer the case.

Added a list of all related macros.
2019-11-02 20:16:40 -04:00
Nikolai Vazquez 9d43fd3932 Add assert_super_trait_all! macro
Courtesy of @rodrimati1992.

Closes #25.
2019-11-02 19:42:34 -04:00
Nikolai Vazquez 421b6ae227 Protect assert_impl_any! against false positives
An attacker could have a blanket-impl'd trait in scope that has a
`_static_assertions_impl_any` method which interferes with that method
of `Wrapper`. This was pointed out by @Lej77.

See https://github.com/nvzqz/static-assertions-rs/issues/19.
2019-10-18 15:11:47 -04:00
Nikolai Vazquez 75617d7900 [CHANGELOG] Reformat 2019-10-18 14:59:04 -04:00
Nikolai Vazquez c6b10e616c Change assert_impl_one! implementation
Uses a similar trick as `assert_not_impl_any!`. Although this is more
obscure, it feels less complex than the previous version. It's not
self-referential and this sort of thing already exists in the same file.

This implementation was suggested by @Lej77 at:
https://github.com/nvzqz/static-assertions-rs/issues/19#issuecomment-543874492
2019-10-18 14:47:56 -04:00
Nikolai Vazquez 57e5e9e8e1 Remove unused _assert_obj_safe! macro 2019-10-18 14:42:53 -04:00
Nikolai Vazquez 523f3caa73 Fix macros that called inner macros
Without `local_inner_macros`, these macros can't be `use`d or called
directly via `static_assertions::macro!(...)`.
2019-10-18 14:23:52 -04:00
Nikolai Vazquez f31ce99f01 [CHANGELOG] Add assert_impl_one! 2019-10-18 14:16:55 -04:00
Nikolai Vazquez 8ebb869fb0 Merge pull request #23 from nvzqz/assert_impl_one
Add `assert_impl_one!` macro
2019-10-18 13:50:16 -04:00
Nikolai Vazquez ea9ec5dd9f Make assert_impl_one! work with all combinations
Fixes the issue where subsequent traits were only checked against the
first trait and not to one another. This solution was made possible by
@SimonSapin demonstrating to me how to expand the input sequence into
combinations of inputs.

Closes #20.
2019-10-18 13:29:04 -04:00
Nikolai Vazquez 3da74bd8b8 [Travis] Remove macOS
Nothing in this crate is platform-specific. Tests against Linux should
also work on any other platform.
2019-10-17 16:29:18 -04:00
Nikolai Vazquez afe2647c8c [CHANGELOG] Add assert_impl_any! 2019-10-17 16:28:43 -04:00
Nikolai Vazquez f096b6dcab Add assert_impl_one! macro
The current implementation doesn't entirely work because traits after
the first aren't checked against each other with `assert_not_impl_all!`.
2019-10-17 16:22:35 -04:00
Nikolai Vazquez 59ac54fd18 Add assert_impl_any! macro
Closes #19.

Based on the implementation provided by @Lej77.
2019-10-17 15:27:51 -04:00
Nikolai Vazquez 7c821949fd Explain assert_impl macros with comments 2019-10-17 14:52:48 -04:00
Nikolai Vazquez e718a131b0 [Release] Prepare 1.0.0
Closes #1 by removing labeling limitation.
2019-10-02 13:53:25 -04:00
Nikolai Vazquez 249410496c Reword assert_obj_safe! docs 2019-10-02 13:48:53 -04:00
Nikolai Vazquez cebf5677ce Make assert_type_eq_all! fit 80 columns 2019-10-02 12:17:43 -04:00
Nikolai Vazquez 38c0160aeb Add assert_eq_align! macro 2019-09-27 14:17:09 -04:00
Nikolai Vazquez f6623e9a16 Separate type with colon in assert_fields! 2019-09-27 13:09:58 -04:00
Nikolai Vazquez a400255cdf Make -> () in functions implicit 2019-09-27 06:47:41 -04:00
Nikolai Vazquez dff7daa4d5 Improve assert_impl_all! docs 2019-08-30 11:11:32 -07:00
Nikolai Vazquez 54d2ad58b4 Move assert_not_impl_{all,any}! macros 2019-08-28 20:49:55 -07:00
Nikolai Vazquez 1ddb73640e Fix how assert_fields! works with enums 2019-08-28 20:09:14 -07:00
Nikolai Vazquez e7ac9f8460 Rename assert_{ne,eq}_type! macros
Makes them more similar to the API exposed by `assert_impl` macros.
2019-08-23 11:56:44 -07:00
Nikolai Vazquez d8e7da8ff3 Change "complete" to "exhaustive" 2019-08-23 11:33:16 -07:00
Nikolai Vazquez 3c1cfb9b5e Improve docs for assert_eq_size! 2019-08-23 11:31:59 -07:00
Nikolai Vazquez 67e81fed5e Remove mention of label limitation from crate root 2019-08-23 11:23:13 -07:00
Nikolai Vazquez 041331c231 [Travis] Make Rust 1.37 the minimum tested version 2019-08-23 11:18:43 -07:00
Nikolai Vazquez ea1161cfcc Update tests to reflect new API 2019-08-23 11:12:22 -07:00
Nikolai Vazquez d5994b6475 Revamp API
Removes the need for labels via `const _`, which was stabilized in Rust
1.37.

Trait assertions use the `Type: Trait` syntax pattern.
2019-08-23 11:07:57 -07:00
Nikolai Vazquez e17ab8e2c7 Remove assert_impl! macro 2019-08-17 16:01:15 -07:00