Files
Toyota-AVC-LAN/cmake/tl-optional-no-exception-header.patch
Allen Hill 5208e083f3 Redesign (simplify) top-level avclan interface to use expected/nullable unique_ptr
- Peripheral::read/send now return `expected<unique_ptr<Frame>, Error>`
for a unified success/error interface.
- Peripheral::route returns `expected<unique_ptr<Frame>, Error>` to
distinguish intent: (intentional) non-response vs unable to respond
- Other functions with optional message semantics (handle,poll,react)
return a unique_ptr whose ownership-state indicates response intent
(i.e. send new message)

Bundled necessary changes:
- Switch Frame allocation from global to local (enabled via member
  function new/delete)
- Add new header-library tl::expected to shim avr-libstdcpp

Unrelated: Defensive `continue` added after `route`, to reduce Bus
activity check latency

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 14:47:47 -07:00

22 lines
696 B
Diff

diff --git a/include/tl/optional.hpp b/include/tl/optional.hpp
index e9c59c2..1ff3d4a 100644
--- a/include/tl/optional.hpp
+++ b/include/tl/optional.hpp
@@ -21,7 +21,6 @@
#define TL_OPTIONAL_VERSION_MINOR 1
#define TL_OPTIONAL_VERSION_PATCH 0
-#include <exception>
#include <functional>
#include <new>
#include <type_traits>
@@ -664,7 +663,7 @@ struct nullopt_t {
static constexpr nullopt_t nullopt{nullopt_t::do_not_use{},
nullopt_t::do_not_use{}};
-class bad_optional_access : public std::exception {
+class bad_optional_access {
public:
bad_optional_access() = default;
const char *what() const noexcept { return "Optional has no value"; }