[all-commits] [llvm/llvm-project] 54e14c: [orc-rt] Make Expected's move operations condition...

Lang Hames via All-commits all-commits at lists.llvm.org
Fri Sep 25 01:49:44 PDT 2026


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 54e14c19be73548fd0c990bc3aac6d9204f3ebf8
      https://github.com/llvm/llvm-project/commit/54e14c19be73548fd0c990bc3aac6d9204f3ebf8
  Author: Lang Hames <lhames at gmail.com>
  Date:   2026-09-25 (Fri, 25 Sep 2026)

  Changed paths:
    M orc-rt/include/orc-rt/support/Error.h
    M orc-rt/test/unit/support/ErrorTest.cpp

  Log Message:
  -----------
  [orc-rt] Make Expected's move operations conditionally noexcept. (#226393)

Expected<T>'s move constructor and move assignment operator are now
noexcept whenever T's storage type is nothrow-move-constructible.
Error's move operations are already noexcept, so this is the only
condition under which moving an Expected can throw.

This allows callables that take Expected<T> by value to be stored in
noexcept-qualified move_only_functions: is_nothrow_invocable includes
the initialization of by-value parameters, which previously used
Expected's potentially-throwing move constructor.



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list