From 052066b7b2e24444df5761169dab9834921e973d Mon Sep 17 00:00:00 2001 From: dragonmux Date: Wed, 10 May 2023 13:07:35 +0100 Subject: [PATCH] Fixed the trailing return types being required for substrate::span to compile cleanly --- substrate/span | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/substrate/span b/substrate/span index 97195fde..a9a3de87 100644 --- a/substrate/span +++ b/substrate/span @@ -25,11 +25,11 @@ namespace substrate { template using void_t = void; - template constexpr auto data(C &c) { return c.data(); } - template constexpr auto data(const C &c) { return c.data(); } + template constexpr auto data(C &c) -> decltype(c.data()) { return c.data(); } + template constexpr auto data(const C &c) -> decltype(c.data()) { return c.data(); } template constexpr T *data(T (&array)[N]) noexcept { return array; } template constexpr const E *data(std::initializer_list il) noexcept { return il.data(); } - template constexpr auto size(const C &c) { return c.size(); } + template constexpr auto size(const C &c) -> decltype(c.size()) { return c.size(); } template constexpr std::size_t size(const T (&array)[N]) noexcept { return N; } template constexpr std::ptrdiff_t ssize(const T (&array)[N]) noexcept { return static_cast(N); }