Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: bitwizeshift/Delegate
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: bitwizeshift/Delegate
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: feature/constexpr
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 1 commit
  • 1 file changed
  • 1 contributor

Commits on May 6, 2021

  1. 🩹 Fix incorrect constexpr status

    Several of the functions in `delegate` were marked `constexpr` despite
    never being capable of yielding a core constant expression. functions
    like `delegate::bind(...)` where the `...` refers to a constructor that
    cannot, itself, be `constexpr` due to either the use of placement-`new`
    or to the use of `reinterpret_cast`.
    
    These have been fixed.
    
    Additionally, stub functions that have incorrectly been marked as
    _not_ `constexpr` despite being candidates for constant expressions have
    also been marked `constexpr. These include only the statically bound
    raw-function-pointer, and the empty-callables -- as these are the only
    two cases that don't either require `reinterpret_cast` or casting
    through `void*` -- neither of which are valid in a constant expression.
    
    This now enables `operator()` to be properly `constexpr` for a select
    few cases of bound functions.
    bitwizeshift committed May 6, 2021
    Configuration menu
    Copy the full SHA
    d884b20 View commit details
    Browse the repository at this point in the history
Loading