Skip to content

Rename is_trivial_for_call and is_reg_passable.#64

Merged
Kim-J-Smith merged 1 commit into
version-2.1.6from
style/rename_traits
Jun 6, 2026
Merged

Rename is_trivial_for_call and is_reg_passable.#64
Kim-J-Smith merged 1 commit into
version-2.1.6from
style/rename_traits

Conversation

@Kim-J-Smith

Copy link
Copy Markdown
Owner

style: rename is_trivial_for_call as is_itanium_trivial_for_calls and rename is_reg_passable as is_register_passable. See llvm/llvm-project#186692 (comment).

@Kim-J-Smith Kim-J-Smith merged commit 98740a7 into version-2.1.6 Jun 6, 2026
29 checks passed
@Kim-J-Smith Kim-J-Smith deleted the style/rename_traits branch June 6, 2026 15:36
Kim-J-Smith added a commit that referenced this pull request Jun 9, 2026
* docs: update the version number and clear release notes.
* docs: update README.md and make_fn.md .

* Do some chores (#60)
* style: make_fn_log_error() don't need EMBED_INLINE.
* docs: better make_fn error log.
* chore: EMBED_DETAIL_REQUIRES_IMPL is useless.
* feat: remove useless operator=().
* style: rename check as not_empty.
* docs: update README.md .
* docs: better error information.
* docs: change EMBED_DETAIL_REPORT_IE.
* style: rename is_empty_normal and empty_normal.
* docs: add some comments.
* docs: change the README.md .
* test: enable bug test in GCC16.

* feat: no swap in copy assignment. (#61)
* feat: no swap in copy assignment.
* Add specialization for `is_reg_passible` for Windows x64. (#62)
* docs: update chapter "Wrapper definition syntax" in README.md .
* docs: shorter example.
* docs: rename is_call_trivial as is_trivial_for_call.
* feat: add win_x64 'is_reg_passable' specialization.
* Refactor `is_callable_from` and `is_invocable_using`. (#63)
* refactor: refactor `is_callable_from` and `is_invocable_using`.
* fix: fix bug in error "‘value’ is not a member of ‘ebd::detail::fn_traits::is_invocable_using_impl<int(), std::tuple<int (*&)()>, int()>’".
* feat: simplify `typename unwrap_signature<Signature>::template add_cv_like<T>` as `add_cv_like_sig_t`.
* style: rename `is_trivial_for_call` as `is_itanium_trivial_for_calls` and rename `is_reg_passable` as `is_register_passable`. (llvm/llvm-project#186692 (comment)) (#64)

* Do some cleanup. (#65)
* style: use `add_cv_like_sig_t<Tp>` directly.
* chore: `!std::is_reference<T>::value` is an unnecessary constraint.
* test: add static call operator test.
* style: avoid using intermediate variable `is_trivial_for_calls`.
* test: move `Static_call_operator_test` to additional test.

* docs: update release_notes.md .

---

## Fixed

- No swap in copy assignment.

## Changed

- Rename `is_trivial_for_call` as `is_itanium_trivial_for_calls` and `is_reg_passable` as `is_register_passable`.
- Refactor `is_callable_from` and `is_invocable_using`.
- Add specialization for `is_register_passable` for Windows x64.
- Update README.md and make_fn.md.

## Added

- Add static call operator test.
- Add stateless assign test.

## Notes

- `std::constant_wrapper` support is experimental as of v2.1.6.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant