Skip to content

refactor: refactor is_callable_from and is_invocable_using.#63

Merged
Kim-J-Smith merged 3 commits into
version-2.1.6from
feat/is_callable_from_is_invocable_using
Jun 5, 2026
Merged

refactor: refactor is_callable_from and is_invocable_using.#63
Kim-J-Smith merged 3 commits into
version-2.1.6from
feat/is_callable_from_is_invocable_using

Conversation

@Kim-J-Smith

Copy link
Copy Markdown
Owner

No description provided.

@Kim-J-Smith Kim-J-Smith merged commit afd22de into version-2.1.6 Jun 5, 2026
29 checks passed
@Kim-J-Smith Kim-J-Smith deleted the feat/is_callable_from_is_invocable_using branch June 5, 2026 14:41
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