srctree

Robin Linden parent f9a34ca3 783d3197
meta/clang-tidy: Enable misc-include-cleaner

.clang-tidy added: 619, removed: 191, total 428
@@ -64,7 +64,6 @@ Checks: >
-clang-diagnostic-builtin-macro-redefined,
-google-build-using-namespace,
-misc-const-correctness,
-misc-include-cleaner,
-misc-no-recursion,
-modernize-make-unique,
-modernize-use-emplace,
 
archive/zlib.cpp added: 619, removed: 191, total 428
@@ -4,8 +4,13 @@
 
#include "archive/zlib.h"
 
#include <tl/expected.hpp>
#include <zconf.h>
#include <zlib.h>
 
#include <cstddef>
#include <string>
#include <string_view>
#include <utility>
 
namespace archive {
 
azm/amd64/assembler_test.cpp added: 619, removed: 191, total 428
@@ -7,6 +7,7 @@
#include "etest/etest2.h"
 
#include <cstdint>
#include <optional>
#include <type_traits>
#include <vector>
 
 
browser/gui/BUILD added: 619, removed: 191, total 428
@@ -13,6 +13,7 @@ cc_binary(
"//css",
"//dom",
"//engine",
"//geom",
"//gfx",
"//gfx:opengl",
"//gfx:sfml",
@@ -20,6 +21,7 @@ cc_binary(
"//os:system_info",
"//protocol",
"//render",
"//type",
"//type:sfml",
"//uri",
"//util:history",
 
browser/gui/app.cpp added: 619, removed: 191, total 428
@@ -4,18 +4,29 @@
 
#include "browser/gui/app.h"
 
#include "css/property_id.h"
#include "css/rule.h"
#include "css/style_sheet.h"
#include "dom/dom.h"
#include "geom/geom.h"
#include "gfx/color.h"
#include "gfx/opengl_canvas.h"
#include "gfx/sfml_canvas.h"
#include "layout/layout_box.h"
#include "protocol/handler_factory.h"
#include "protocol/response.h"
#include "render/render.h"
#include "type/sfml.h"
#include "type/type.h"
#include "uri/uri.h"
 
#include <SFML/Graphics/Image.hpp>
#include <SFML/Window/Cursor.hpp>
#include <SFML/Window/Event.hpp>
#include <SFML/Window/Keyboard.hpp>
#include <SFML/Window/Mouse.hpp>
#include <SFML/Window/VideoMode.hpp>
#include <fmt/core.h>
#include <fmt/format.h>
#include <imgui-SFML.h>
#include <imgui.h>
@@ -25,14 +36,18 @@
 
#include <algorithm>
#include <array>
#include <chrono>
#include <cmath>
#include <cstdint>
#include <cstdlib>
#include <functional>
#include <memory>
#include <optional>
#include <span>
#include <sstream>
#include <string>
#include <string_view>
#include <thread>
#include <utility>
#include <variant>
 
 
browser/gui/app.h added: 619, removed: 191, total 428
@@ -5,10 +5,11 @@
#ifndef BROWSER_GUI_APP_H_
#define BROWSER_GUI_APP_H_
 
#include "dom/dom.h"
#include "engine/engine.h"
#include "geom/geom.h"
#include "gfx/icanvas.h"
#include "layout/layout_box.h"
#include "protocol/response.h"
#include "uri/uri.h"
#include "util/history.h"
 
@@ -18,7 +19,6 @@
 
#include <memory>
#include <string>
#include <vector>
 
namespace browser::gui {
 
 
browser/gui/gui.cpp added: 619, removed: 191, total 428
@@ -7,6 +7,7 @@
#include "os/system_info.h"
 
#include <spdlog/cfg/env.h>
#include <spdlog/logger.h>
#include <spdlog/sinks/dup_filter_sink.h>
#include <spdlog/sinks/stdout_color_sinks.h>
#include <spdlog/spdlog.h>
 
browser/tui/tui.cpp added: 619, removed: 191, total 428
@@ -6,9 +6,12 @@
#include "dom/dom.h"
#include "engine/engine.h"
#include "protocol/handler_factory.h"
#include "protocol/response.h"
#include "uri/uri.h"
 
#include <fmt/format.h>
#include <fmt/core.h>
#include <spdlog/cfg/env.h>
#include <spdlog/logger.h>
#include <spdlog/sinks/dup_filter_sink.h>
#include <spdlog/sinks/stdout_color_sinks.h>
#include <spdlog/spdlog.h>
 
css/default.cpp added: 619, removed: 191, total 428
@@ -5,6 +5,7 @@
#include "css/default.h"
 
#include "css/parser.h"
#include "css/style_sheet.h"
 
#include <string_view>
 
 
css/media_query.h added: 619, removed: 191, total 428
@@ -9,10 +9,12 @@
#include "util/string.h"
 
#include <charconv>
#include <iterator>
#include <limits>
#include <optional>
#include <string>
#include <string_view>
#include <system_error>
#include <variant>
 
namespace css {
 
css/media_query_test.cpp added: 619, removed: 191, total 428
@@ -6,6 +6,8 @@
 
#include "etest/etest.h"
 
#include <optional>
 
using etest::expect;
using etest::expect_eq;
 
 
css/parser.cpp added: 619, removed: 191, total 428
@@ -8,10 +8,11 @@
#include "css/media_query.h"
#include "css/property_id.h"
#include "css/rule.h"
#include "css/style_sheet.h"
 
#include "util/string.h"
 
#include <fmt/format.h>
#include <fmt/core.h>
#include <spdlog/spdlog.h>
 
#include <algorithm>
@@ -20,7 +21,9 @@
#include <cstdlib>
#include <cstring>
#include <optional>
#include <string>
#include <string_view>
#include <system_error>
#include <tuple>
#include <utility>
#include <vector>
 
css/parser.h added: 619, removed: 191, total 428
@@ -10,9 +10,10 @@
#include "css/rule.h"
#include "css/style_sheet.h"
 
#include <concepts>
#include <cstddef>
#include <map>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
 
 
css/parser_test.cpp added: 619, removed: 191, total 428
@@ -5,18 +5,25 @@
 
#include "css/parser.h"
 
#include "css/media_query.h"
#include "css/property_id.h"
#include "css/rule.h"
 
#include "etest/cxx_compat.h"
#include "etest/etest.h"
 
#include <fmt/core.h>
 
#include <algorithm>
#include <iterator>
#include <string>
 
#include <fmt/format.h>
 
#include <array>
#include <cstddef>
#include <iterator>
#include <map>
#include <ostream>
#include <string>
#include <string_view>
#include <tuple>
#include <vector>
 
using namespace std::literals;
using etest::expect;
 
css/property_id_test.cpp added: 619, removed: 191, total 428
@@ -6,7 +6,7 @@
 
#include "etest/etest.h"
 
#include <fmt/format.h>
#include <fmt/core.h>
 
#include <string_view>
 
 
css/rule.cpp added: 619, removed: 191, total 428
@@ -9,8 +9,8 @@
#include "css/property_id.h"
 
#include <sstream>
#include <string>
#include <utility>
#include <variant>
 
namespace css {
 
 
css/rule_test.cpp added: 619, removed: 191, total 428
@@ -5,6 +5,7 @@
 
#include "css/rule.h"
 
#include "css/media_query.h"
#include "css/property_id.h"
 
#include "etest/etest.h"
 
css/style_sheet_test.cpp added: 619, removed: 191, total 428
@@ -4,6 +4,7 @@
 
#include "css/style_sheet.h"
 
#include "css/rule.h"
#include "etest/etest2.h"
 
#include <utility>
 
css2/token.cpp added: 619, removed: 191, total 428
@@ -5,7 +5,10 @@
 
#include "css2/token.h"
 
#include <ostream>
#include <sstream>
#include <string>
#include <utility>
#include <variant>
 
namespace css2 {
 
css2/tokenizer.cpp added: 619, removed: 191, total 428
@@ -5,9 +5,18 @@
 
#include "css2/tokenizer.h"
 
#include "css2/token.h"
 
#include "util/string.h"
 
#include <cassert>
#include <charconv>
#include <exception>
#include <optional>
#include <string>
#include <system_error>
#include <utility>
#include <variant>
 
namespace css2 {
 
 
css2/tokenizer.h added: 619, removed: 191, total 428
@@ -8,9 +8,10 @@
 
#include "css2/token.h"
 
#include <cstdint>
#include <cstddef>
#include <functional>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
#include <variant>
 
css2/tokenizer_test.cpp added: 619, removed: 191, total 428
@@ -5,8 +5,13 @@
 
#include "css2/tokenizer.h"
 
#include "css2/token.h"
 
#include "etest/cxx_compat.h"
#include "etest/etest.h"
 
#include <string_view>
#include <utility>
#include <vector>
 
using etest::expect;
 
dom/dom.cpp added: 619, removed: 191, total 428
@@ -7,6 +7,7 @@
#include <cstdint>
#include <ostream>
#include <sstream>
#include <string>
#include <utility>
#include <variant>
 
 
dom/dom.h added: 619, removed: 191, total 428
@@ -7,6 +7,7 @@
 
#include <algorithm>
#include <cstddef>
#include <functional>
#include <iterator>
#include <map>
#include <string>
 
dom/dom_test.cpp added: 619, removed: 191, total 428
@@ -6,8 +6,10 @@
 
#include "etest/etest.h"
 
#include <string>
#include <string_view>
#include <utility>
#include <vector>
 
using namespace std::literals;
 
 
engine/BUILD added: 619, removed: 191, total 428
@@ -29,9 +29,12 @@ cc_test(
copts = HASTUR_COPTS,
deps = [
":engine",
"//css",
"//dom",
"//etest",
"//gfx",
"//protocol",
"//style",
"//type",
"//type:naive",
"//uri",
 
engine/engine.cpp added: 619, removed: 191, total 428
@@ -7,13 +7,21 @@
#include "archive/zlib.h"
#include "css/default.h"
#include "css/parser.h"
#include "css/style_sheet.h"
#include "dom/dom.h"
#include "html/parser.h"
#include "layout/layout.h"
#include "protocol/response.h"
#include "style/style.h"
#include "uri/uri.h"
 
#include <spdlog/spdlog.h>
 
#include <future>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
 
using namespace std::literals;
 
 
engine/engine.h added: 619, removed: 191, total 428
@@ -8,7 +8,7 @@
 
#include "css/style_sheet.h"
#include "dom/dom.h"
#include "layout/layout.h"
#include "layout/layout_box.h"
#include "protocol/iprotocol_handler.h"
#include "protocol/response.h"
#include "style/styled_node.h"
@@ -20,7 +20,6 @@
#include <memory>
#include <optional>
#include <utility>
#include <vector>
 
namespace engine {
 
 
engine/engine_test.cpp added: 619, removed: 191, total 428
@@ -4,17 +4,25 @@
 
#include "engine/engine.h"
 
#include "css/property_id.h"
#include "css/rule.h"
#include "dom/dom.h"
#include "etest/etest.h"
#include "gfx/color.h"
#include "protocol/iprotocol_handler.h"
#include "protocol/response.h"
#include "style/styled_node.h"
#include "type/naive.h"
#include "type/type.h"
#include "uri/uri.h"
 
#include <algorithm>
#include <map>
#include <memory>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
 
using namespace std::literals;
using etest::expect;
 
etest/etest.cpp added: 619, removed: 191, total 428
@@ -4,7 +4,13 @@
 
#include "etest/etest.h"
 
#include "etest/cxx_compat.h"
#include "etest/etest2.h"
 
#include <functional>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
 
namespace etest {
 
etest/etest2.cpp added: 619, removed: 191, total 428
@@ -4,12 +4,18 @@
 
#include "etest/etest2.h"
 
#include "etest/cxx_compat.h"
 
#include <algorithm>
#include <exception>
#include <iomanip>
#include <iostream>
#include <iterator>
#include <optional>
#include <sstream>
#include <string_view>
#include <utility>
#include <vector>
 
#if defined(_MSC_VER)
// MSVC doesn't seem to have a way of disabling exceptions.
 
etest/etest2.h added: 619, removed: 191, total 428
@@ -7,7 +7,6 @@
 
#include "etest/cxx_compat.h"
 
#include <concepts>
#include <functional>
#include <iosfwd>
#include <optional>
 
etest/exception_failure_test.cpp added: 619, removed: 191, total 428
@@ -4,6 +4,8 @@
 
#include "etest/etest2.h"
 
#include <exception>
 
int main() {
auto s = etest::Suite{};
s.add_test("uncaught exception", []([[maybe_unused]] auto &a) {
 
gfx/BUILD added: 619, removed: 191, total 428
@@ -48,6 +48,7 @@ cc_library(
visibility = ["//visibility:public"],
deps = [
":gfx",
"//geom",
"@glad",
],
)
@@ -74,9 +75,11 @@ cc_library(
visibility = ["//visibility:public"],
deps = [
":gfx",
"//geom",
"//os:xdg",
"//type:sfml",
"@sfml//:graphics",
"@sfml//:system",
"@spdlog",
],
)
 
gfx/canvas_command_saver.h added: 619, removed: 191, total 428
@@ -5,11 +5,18 @@
#ifndef GFX_CANVAS_COMMAND_SAVER_H_
#define GFX_CANVAS_COMMAND_SAVER_H_
 
#include "gfx/color.h"
#include "gfx/font.h"
#include "gfx/icanvas.h"
 
#include "geom/geom.h"
 
#include <algorithm>
#include <cstdint>
#include <iterator>
#include <span>
#include <string>
#include <string_view>
#include <utility>
#include <variant>
#include <vector>
 
gfx/canvas_command_saver_test.cpp added: 619, removed: 191, total 428
@@ -4,10 +4,15 @@
 
#include "gfx/canvas_command_saver.h"
 
#include "gfx/color.h"
#include "gfx/font.h"
#include "gfx/icanvas.h"
 
#include "etest/etest.h"
 
#include <string>
#include <string_view>
#include <vector>
 
using namespace gfx;
using namespace std::literals;
 
gfx/color.cpp added: 619, removed: 191, total 428
@@ -9,6 +9,8 @@
 
#include <algorithm>
#include <map>
#include <optional>
#include <string_view>
 
namespace gfx {
namespace {
 
gfx/gfx_example.cpp added: 619, removed: 191, total 428
@@ -3,14 +3,18 @@
// SPDX-License-Identifier: BSD-2-Clause
 
#include "gfx/color.h"
#include "gfx/font.h"
#include "gfx/icanvas.h"
#include "gfx/opengl_canvas.h"
#include "gfx/sfml_canvas.h"
#include "type/sfml.h"
 
#include <SFML/Graphics/RenderWindow.hpp>
#include <SFML/Window/Event.hpp>
#include <SFML/Window/VideoMode.hpp>
 
#include <array>
#include <cstdint>
#include <memory>
#include <string_view>
 
 
gfx/icanvas.h added: 619, removed: 191, total 428
@@ -9,6 +9,7 @@
#include "gfx/color.h"
#include "gfx/font.h"
 
#include <cstdint>
#include <span>
#include <string_view>
 
 
gfx/opengl_canvas.cpp added: 619, removed: 191, total 428
@@ -4,9 +4,16 @@
 
#include "gfx/opengl_canvas.h"
 
#include "gfx/color.h"
#include "gfx/icanvas.h"
#include "gfx/opengl_shader.h"
 
#include "geom/geom.h"
 
#include <glad/gl.h>
 
#include <array>
#include <string_view>
 
namespace gfx {
namespace {
 
gfx/opengl_canvas.h added: 619, removed: 191, total 428
@@ -7,8 +7,16 @@
 
#include "gfx/opengl_shader.h"
 
#include "gfx/color.h"
#include "gfx/font.h"
#include "gfx/icanvas.h"
 
#include "geom/geom.h"
 
#include <cstdint>
#include <span>
#include <string_view>
 
namespace gfx {
 
class OpenGLCanvas final : public ICanvas {
 
gfx/opengl_shader.cpp added: 619, removed: 191, total 428
@@ -8,7 +8,9 @@
 
#include <cassert>
#include <cstdlib>
#include <limits>
#include <optional>
#include <span>
#include <string_view>
 
// NOLINTBEGIN(readability-make-member-function-const): The drawing code
// shouldn't be thought of as const, even if it technically doesn't modify any
 
gfx/sfml_canvas.cpp added: 619, removed: 191, total 428
@@ -5,22 +5,36 @@
 
#include "gfx/sfml_canvas.h"
 
#include "geom/geom.h"
#include "gfx/color.h"
#include "gfx/font.h"
#include "gfx/icanvas.h"
#include "os/xdg.h"
#include "type/sfml.h"
 
#include <SFML/Graphics/Color.hpp>
#include <SFML/Graphics/Glsl.hpp>
#include <SFML/Graphics/Image.hpp>
#include <SFML/Graphics/Rect.hpp>
#include <SFML/Graphics/RectangleShape.hpp>
#include <SFML/Graphics/RenderTarget.hpp>
#include <SFML/Graphics/Sprite.hpp>
#include <SFML/Graphics/Text.hpp>
#include <SFML/Graphics/View.hpp>
#include <SFML/System/String.hpp>
#include <spdlog/spdlog.h>
 
#include <cassert>
#include <cstddef>
#include <cstdint>
#include <exception>
#include <filesystem>
#include <optional>
#include <memory>
#include <span>
#include <string>
#include <string_view>
#include <system_error>
#include <utility>
 
using namespace std::literals;
 
 
gfx/sfml_canvas.h added: 619, removed: 191, total 428
@@ -7,11 +7,17 @@
 
#include "gfx/icanvas.h"
 
#include "geom/geom.h"
#include "gfx/color.h"
#include "gfx/font.h"
#include "type/sfml.h"
 
#include <SFML/Graphics/Shader.hpp>
#include <SFML/Graphics/Texture.hpp>
 
#include <cstdint>
#include <span>
#include <string_view>
#include <vector>
 
namespace sf {
 
html/BUILD added: 619, removed: 191, total 428
@@ -25,6 +25,7 @@ cc_library(
copts = HASTUR_COPTS,
deps = [
":html",
"//dom",
"//etest",
"//html2",
],
 
html/parser.cpp added: 619, removed: 191, total 428
@@ -4,6 +4,10 @@
 
#include "html/parser.h"
 
#include "dom/dom.h"
#include "html2/parser_states.h"
#include "html2/token.h"
#include "html2/tokenizer.h"
#include "util/string.h"
 
#include <spdlog/spdlog.h>
@@ -13,7 +17,9 @@
#include <cassert>
#include <string>
#include <string_view>
#include <utility>
#include <variant>
#include <vector>
 
using namespace std::literals;
 
 
html/parser.h added: 619, removed: 191, total 428
@@ -9,6 +9,7 @@
 
#include "dom/dom.h"
#include "html2/parser_states.h"
#include "html2/token.h"
#include "html2/tokenizer.h"
 
#include <functional>
 
html/parser_actions.h added: 619, removed: 191, total 428
@@ -8,11 +8,14 @@
#include "dom/dom.h"
#include "html2/iparser_actions.h"
#include "html2/parser_states.h"
#include "html2/token.h"
#include "html2/tokenizer.h"
 
#include <algorithm>
#include <cassert>
#include <span>
#include <string>
#include <string_view>
#include <utility>
#include <variant>
#include <vector>
 
html/parser_test.cpp added: 619, removed: 191, total 428
@@ -4,9 +4,12 @@
 
#include "html/parser.h"
 
#include "dom/dom.h"
#include "etest/etest.h"
 
#include <cstddef>
#include <string>
#include <string_view>
 
using namespace std::literals;
using etest::expect;
 
html2/character_reference.cpp added: 619, removed: 191, total 428
@@ -5,6 +5,7 @@
#include "html2/character_reference.h"
 
#include <array>
#include <optional>
#include <string_view>
 
using namespace std::literals;
 
html2/character_reference_test.cpp added: 619, removed: 191, total 428
@@ -6,6 +6,8 @@
 
#include "etest/etest.h"
 
#include <string_view>
 
using namespace std::literals;
 
using etest::expect;
 
html2/iparser_actions.h added: 619, removed: 191, total 428
@@ -6,6 +6,7 @@
#define HTML2_IPARSER_ACTIONS_H_
 
#include "html2/parser_states.h"
#include "html2/token.h"
#include "html2/tokenizer.h"
 
#include <span>
 
html2/parser_states.cpp added: 619, removed: 191, total 428
@@ -5,6 +5,7 @@
#include "html2/parser_states.h"
 
#include "html2/iparser_actions.h"
#include "html2/token.h"
#include "html2/tokenizer.h"
 
#include "util/string.h"
@@ -13,7 +14,11 @@
#include <array>
#include <cassert>
#include <optional>
#include <ranges>
#include <span>
#include <string>
#include <string_view>
#include <utility>
#include <variant>
#include <vector>
 
 
html2/parser_states.h added: 619, removed: 191, total 428
@@ -5,8 +5,9 @@
#ifndef HTML2_PARSER_STATES_H_
#define HTML2_PARSER_STATES_H_
 
#include "html2/tokenizer.h"
#include "html2/token.h"
 
#include <optional>
#include <variant>
 
namespace html2 {
 
html2/parser_states_test.cpp added: 619, removed: 191, total 428
@@ -4,11 +4,16 @@
 
#include "html2/parser_states.h"
 
#include "dom/dom.h"
#include "html2/token.h"
#include "html2/tokenizer.h"
 
#include "etest/etest.h"
#include "html/parser_actions.h"
 
#include <string_view>
#include <utility>
#include <variant>
#include <vector>
 
using etest::expect_eq;
 
html2/token.cpp added: 619, removed: 191, total 428
@@ -4,7 +4,7 @@
 
#include "html2/token.h"
 
#include <fmt/format.h>
#include <fmt/core.h>
 
#include <string>
#include <variant>
 
html2/tokenizer.cpp added: 619, removed: 191, total 428
@@ -5,6 +5,8 @@
#include "html2/tokenizer.h"
 
#include "html2/character_reference.h"
#include "html2/token.h"
 
#include "util/string.h"
#include "util/unicode.h"
 
@@ -13,6 +15,12 @@
#include <cstdint>
#include <cstring>
#include <map>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
#include <variant>
#include <vector>
 
using namespace std::literals;
 
 
html2/tokenizer.h added: 619, removed: 191, total 428
@@ -7,12 +7,14 @@
 
#include "html2/token.h"
 
#include <cstddef>
#include <cstdint>
#include <functional>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
 
namespace html2 {
 
 
html2/tokenizer_test.cpp added: 619, removed: 191, total 428
@@ -4,17 +4,21 @@
 
#include "html2/tokenizer.h"
 
#include "html2/token.h"
 
#include "etest/cxx_compat.h"
#include "etest/etest.h"
 
#include <array>
#include <fstream>
#include <iterator>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
#include <variant>
#include <vector>
 
#include <fmt/format.h>
#include <fmt/core.h>
 
using namespace std::literals;
 
 
idna/punycode.h added: 619, removed: 191, total 428
@@ -8,8 +8,6 @@
#include "util/unicode.h"
 
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <functional>
#include <optional>
#include <string>
 
idna/punycode_test.cpp added: 619, removed: 191, total 428
@@ -7,6 +7,9 @@
#include "etest/etest2.h"
#include "util/unicode.h"
 
#include <string>
#include <vector>
 
namespace {
std::string unicode_as_utf8_string(std::vector<int> const &code_points) {
std::string result{};
 
js/ast_executor.h added: 619, removed: 191, total 428
@@ -8,8 +8,11 @@
#include "js/ast.h"
 
#include <cassert>
#include <cstddef>
#include <cstdlib>
#include <functional>
#include <map>
#include <optional>
#include <string>
#include <utility>
#include <variant>
 
js/ast_executor_test.cpp added: 619, removed: 191, total 428
@@ -8,7 +8,11 @@
 
#include "etest/etest.h"
 
#include <cstddef>
#include <memory>
#include <string>
#include <tuple>
#include <utility>
 
using namespace js::ast;
using etest::expect;
 
js/ast_test.cpp added: 619, removed: 191, total 428
@@ -6,6 +6,9 @@
 
#include "etest/etest.h"
 
#include <utility>
#include <vector>
 
using namespace js::ast;
using etest::expect_eq;
 
 
js/tokenizer_test.cpp added: 619, removed: 191, total 428
@@ -4,8 +4,11 @@
 
#include "js/tokenizer.h"
 
#include "etest/cxx_compat.h"
#include "etest/etest.h"
 
#include <optional>
#include <string_view>
#include <vector>
 
using namespace js::parse;
 
layout/BUILD added: 619, removed: 191, total 428
@@ -19,6 +19,7 @@ cc_library(
"//type:naive",
"//util:from_chars",
"//util:string",
"@fmt",
"@spdlog",
],
)
@@ -29,8 +30,13 @@ cc_library(
srcs = [src],
deps = [
":layout",
"//css",
"//dom",
"//etest",
"//geom",
"//gfx",
"//style",
"//type",
"//util:string",
],
) for src in glob(["*_test.cpp"])]
 
layout/box_model_test.cpp added: 619, removed: 191, total 428
@@ -6,6 +6,7 @@
#include "layout/box_model.h"
 
#include "etest/etest.h"
#include "geom/geom.h"
 
using etest::expect;
 
 
layout/layout.cpp added: 619, removed: 191, total 428
@@ -5,21 +5,34 @@
 
#include "layout/layout.h"
 
#include "layout/layout_box.h"
 
#include "css/property_id.h"
#include "dom/dom.h"
#include "geom/geom.h"
#include "style/styled_node.h"
#include "type/naive.h"
#include "type/type.h"
#include "util/string.h"
 
#include <fmt/format.h>
#include <spdlog/spdlog.h>
 
#include <algorithm>
#include <cassert>
#include <cstdlib>
#include <iterator>
#include <list>
#include <map>
#include <memory>
#include <optional>
#include <ranges>
#include <span>
#include <string>
#include <string_view>
#include <utility>
#include <variant>
#include <vector>
 
using namespace std::literals;
 
 
layout/layout_box.cpp added: 619, removed: 191, total 428
@@ -5,16 +5,25 @@
 
#include "layout/layout_box.h"
 
#include "css/property_id.h"
#include "dom/dom.h"
#include "geom/geom.h"
#include "style/styled_node.h"
#include "util/from_chars.h"
#include "util/string.h"
 
#include <spdlog/spdlog.h>
 
#include <algorithm>
#include <cassert>
#include <cstdint>
#include <cstdlib>
#include <iterator>
#include <optional>
#include <ostream>
#include <sstream>
#include <string>
#include <string_view>
#include <system_error>
#include <utility>
#include <variant>
 
 
layout/layout_box_test.cpp added: 619, removed: 191, total 428
@@ -7,9 +7,13 @@
 
#include "layout/layout.h"
 
#include "css/property_id.h"
#include "dom/dom.h"
#include "etest/etest.h"
#include "style/styled_node.h"
 
#include <cstddef>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
 
layout/layout_property_test.cpp added: 619, removed: 191, total 428
@@ -4,8 +4,13 @@
 
#include "layout/layout.h"
 
#include "css/property_id.h"
#include "dom/dom.h"
#include "etest/cxx_compat.h"
#include "etest/etest.h"
#include "gfx/color.h"
#include "layout/unresolved_value.h"
#include "style/styled_node.h"
 
#include <optional>
#include <string>
 
layout/layout_test.cpp added: 619, removed: 191, total 428
@@ -5,13 +5,23 @@
 
#include "layout/layout.h"
 
#include "etest/etest.h"
#include "type/type.h"
#include "layout/layout_box.h"
 
#include "css/property_id.h"
#include "dom/dom.h"
#include "etest/etest.h"
#include "geom/geom.h"
#include "style/styled_node.h"
#include "type/type.h"
#include "util/string.h"
 
#include <cstddef>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
 
using namespace std::literals;
using etest::expect;
 
layout/unresolved_value.cpp added: 619, removed: 191, total 428
@@ -6,6 +6,8 @@
 
#include "layout/layout_box.h"
 
#include <optional>
 
namespace layout {
// NOLINTNEXTLINE(bugprone-easily-swappable-parameters)
int UnresolvedValue::resolve(int font_size, int root_font_size, std::optional<int> percent_relative_to) const {
 
net/socket.cpp added: 619, removed: 191, total 428
@@ -5,11 +5,23 @@
 
#include "net/socket.h"
 
#include <asio.hpp>
#include <asio/ssl.hpp>
#include <asio/buffer.hpp>
#include <asio/completion_condition.hpp>
#include <asio/connect.hpp>
#include <asio/error_code.hpp>
#include <asio/io_context.hpp>
#include <asio/ip/tcp.hpp>
#include <asio/read.hpp>
#include <asio/read_until.hpp>
#include <asio/ssl/context.hpp>
#include <asio/ssl/stream.hpp>
#include <asio/ssl/stream_base.hpp>
#include <openssl/ssl.h>
 
#include <cstddef>
#include <memory>
#include <string>
#include <string_view>
#include <utility>
 
namespace net {
 
net/socket_test.cpp added: 619, removed: 191, total 428
@@ -6,12 +6,14 @@
 
#include "etest/etest.h"
 
#include <asio.hpp>
#include <asio/buffer.hpp>
#include <asio/io_context.hpp>
#include <asio/ip/address_v4.hpp>
#include <asio/ip/tcp.hpp>
#include <asio/write.hpp>
 
#include <cstdint>
#include <cstdlib>
#include <future>
#include <iostream>
#include <string>
#include <thread>
#include <utility>
 
os/memory_linux.cpp added: 619, removed: 191, total 428
@@ -6,8 +6,11 @@
 
#include <sys/mman.h>
 
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <optional>
#include <span>
 
namespace os {
 
 
os/memory_test.cpp added: 619, removed: 191, total 428
@@ -7,6 +7,7 @@
#include "etest/etest2.h"
 
#include <cstdint>
#include <optional>
 
// __amd64 => GNU C, _M_AMD64 => MSVC.
#if defined(__amd64) || defined(_M_AMD64)
 
os/system_info_linux.cpp added: 619, removed: 191, total 428
@@ -8,6 +8,7 @@
#include <charconv>
#include <cstdlib>
#include <cstring>
#include <system_error>
 
namespace os {
 
 
os/system_info_linux_test.cpp added: 619, removed: 191, total 428
@@ -13,8 +13,8 @@
 
#include "etest/etest2.h"
 
// This is the header POSIX says we need to include.
// NOLINTNEXTLINE(modernize-deprecated-headers)
// This is the header POSIX says we need to include for setenv/unsetenv.
// NOLINTNEXTLINE
#include <stdlib.h>
 
// NOLINTBEGIN(concurrency-mt-unsafe): No threads here.
 
os/xdg_linux.cpp added: 619, removed: 191, total 428
@@ -5,6 +5,8 @@
#include "os/xdg.h"
 
#include <cstdlib>
#include <string>
#include <vector>
 
using namespace std::literals;
 
 
os/xdg_linux_test.cpp added: 619, removed: 191, total 428
@@ -13,8 +13,8 @@
 
#include "etest/etest2.h"
 
// This is the header POSIX says we need to include.
// NOLINTNEXTLINE(modernize-deprecated-headers)
// This is the header POSIX says we need to include for setenv/unsetenv.
// NOLINTNEXTLINE
#include <stdlib.h>
 
#include <algorithm>
 
protocol/file_handler.cpp added: 619, removed: 191, total 428
@@ -5,8 +5,13 @@
 
#include "protocol/file_handler.h"
 
#include "protocol/response.h"
 
#include "uri/uri.h"
 
#include <filesystem>
#include <fstream>
#include <ios>
#include <string>
#include <utility>
 
 
protocol/file_handler.h added: 619, removed: 191, total 428
@@ -7,6 +7,10 @@
 
#include "protocol/iprotocol_handler.h"
 
#include "protocol/response.h"
 
#include "uri/uri.h"
 
namespace protocol {
 
class FileHandler final : public IProtocolHandler {
 
protocol/file_handler_test.cpp added: 619, removed: 191, total 428
@@ -4,10 +4,12 @@
 
#include "protocol/file_handler.h"
 
#include "protocol/response.h"
 
#include "etest/etest.h"
#include "uri/uri.h"
 
#include <fmt/format.h>
#include <fmt/core.h>
 
#include <cerrno>
#include <filesystem>
 
protocol/handler_factory.cpp added: 619, removed: 191, total 428
@@ -8,6 +8,9 @@
#include "protocol/http_handler.h"
#include "protocol/https_handler.h"
 
#include <memory>
#include <optional>
#include <string>
#include <utility>
 
namespace protocol {
 
protocol/http.cpp added: 619, removed: 191, total 428
@@ -5,12 +5,17 @@
 
#include "protocol/http.h"
 
#include "protocol/response.h"
 
#include "uri/uri.h"
#include "util/string.h"
 
#include <fmt/format.h>
#include <fmt/core.h>
 
#include <charconv>
#include <optional>
#include <sstream>
#include <string>
#include <string_view>
#include <utility>
 
 
protocol/http.h added: 619, removed: 191, total 428
@@ -12,9 +12,11 @@
#include "util/string.h"
 
#include <charconv>
#include <cstddef>
#include <optional>
#include <string>
#include <string_view>
#include <system_error>
#include <utility>
 
namespace protocol {
 
protocol/http_handler.cpp added: 619, removed: 191, total 428
@@ -7,6 +7,8 @@
 
#include "net/socket.h"
#include "protocol/http.h"
#include "protocol/response.h"
#include "uri/uri.h"
 
namespace protocol {
 
 
protocol/http_handler.h added: 619, removed: 191, total 428
@@ -6,6 +6,9 @@
#define PROTOCOL_HTTP_HANDLER_H_
 
#include "protocol/iprotocol_handler.h"
#include "protocol/response.h"
 
#include "uri/uri.h"
 
#include <optional>
#include <string>
 
protocol/http_test.cpp added: 619, removed: 191, total 428
@@ -6,7 +6,13 @@
#include "protocol/http.h"
 
#include "etest/etest.h"
#include "protocol/response.h"
#include "uri/uri.h"
 
#include <cstddef>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
 
using namespace std::string_view_literals;
 
protocol/https_handler.cpp added: 619, removed: 191, total 428
@@ -7,6 +7,8 @@
 
#include "net/socket.h"
#include "protocol/http.h"
#include "protocol/response.h"
#include "uri/uri.h"
 
namespace protocol {
 
 
protocol/https_handler.h added: 619, removed: 191, total 428
@@ -6,6 +6,9 @@
#define PROTOCOL_HTTPS_HANDLER_H_
 
#include "protocol/iprotocol_handler.h"
#include "protocol/response.h"
 
#include "uri/uri.h"
 
#include <optional>
#include <string>
 
protocol/multi_protocol_handler.h added: 619, removed: 191, total 428
@@ -4,6 +4,10 @@
 
#include "protocol/iprotocol_handler.h"
 
#include "protocol/response.h"
 
#include "uri/uri.h"
 
#include <functional>
#include <map>
#include <memory>
 
protocol/multi_protocol_handler_test.cpp added: 619, removed: 191, total 428
@@ -4,9 +4,14 @@
 
#include "protocol/multi_protocol_handler.h"
 
#include "protocol/iprotocol_handler.h"
#include "protocol/response.h"
 
#include "etest/etest.h"
#include "uri/uri.h"
 
#include <memory>
#include <utility>
 
using etest::expect_eq;
using protocol::MultiProtocolHandler;
 
protocol/response.cpp added: 619, removed: 191, total 428
@@ -8,7 +8,11 @@
#include "util/string.h"
 
#include <algorithm>
#include <cstddef>
#include <optional>
#include <sstream>
#include <string>
#include <string_view>
#include <utility>
 
namespace protocol {
 
protocol/response_test.cpp added: 619, removed: 191, total 428
@@ -3,7 +3,7 @@
//
// SPDX-License-Identifier: BSD-2-Clause
 
#include "protocol/http.h"
#include "protocol/response.h"
 
#include "etest/etest.h"
 
 
render/BUILD added: 619, removed: 191, total 428
@@ -9,8 +9,10 @@ cc_library(
visibility = ["//visibility:public"],
deps = [
"//css",
"//geom",
"//gfx",
"//layout",
"//style",
"@spdlog",
],
)
@@ -22,8 +24,10 @@ cc_test(
copts = HASTUR_COPTS,
deps = [
":render",
"//css",
"//dom",
"//etest",
"//geom",
"//gfx",
"//layout",
"//style",
 
render/render.cpp added: 619, removed: 191, total 428
@@ -6,12 +6,20 @@
#include "render/render.h"
 
#include "css/property_id.h"
#include "geom/geom.h"
#include "gfx/color.h"
#include "gfx/font.h"
#include "gfx/icanvas.h"
#include "layout/layout_box.h"
#include "style/styled_node.h"
 
#include <spdlog/spdlog.h>
 
#include <algorithm>
#include <iterator>
#include <string_view>
#include <utility>
#include <vector>
 
namespace render {
namespace {
 
render/render_test.cpp added: 619, removed: 191, total 428
@@ -4,15 +4,20 @@
 
#include "render/render.h"
 
#include "css/property_id.h"
#include "dom/dom.h"
#include "etest/etest.h"
#include "geom/geom.h"
#include "gfx/canvas_command_saver.h"
#include "gfx/color.h"
#include "gfx/font.h"
#include "gfx/icanvas.h"
#include "layout/layout_box.h"
#include "style/styled_node.h"
 
#include <string_view>
#include <utility>
#include <vector>
 
using etest::expect_eq;
 
 
style/BUILD added: 619, removed: 191, total 428
@@ -31,6 +31,7 @@ cc_test(
deps = [
":style",
"//css",
"//dom",
"//etest",
"@fmt",
],
@@ -43,6 +44,9 @@ cc_test(
copts = HASTUR_COPTS,
deps = [
":style",
"//css",
"//dom",
"//etest",
"//gfx",
],
)
 
style/style.cpp added: 619, removed: 191, total 428
@@ -4,14 +4,24 @@
 
#include "style/style.h"
 
#include "style/styled_node.h"
 
#include "css/media_query.h"
#include "css/parser.h"
#include "css/property_id.h"
#include "css/style_sheet.h"
#include "dom/dom.h"
#include "util/string.h"
 
#include <algorithm>
#include <cassert>
#include <iterator>
#include <memory>
#include <string>
#include <string_view>
#include <utility>
#include <variant>
#include <vector>
 
using namespace std::literals;
 
 
style/style_test.cpp added: 619, removed: 191, total 428
@@ -5,14 +5,21 @@
#include "style/style.h"
#include "style/styled_node.h"
 
#include "css/media_query.h"
#include "css/property_id.h"
#include "css/rule.h"
#include "css/style_sheet.h"
#include "dom/dom.h"
#include "etest/etest.h"
 
#include <fmt/format.h>
#include <fmt/core.h>
 
#include <algorithm>
#include <array>
#include <string>
#include <string_view>
#include <utility>
#include <vector>
 
using namespace std::literals;
using etest::expect;
 
style/styled_node.cpp added: 619, removed: 191, total 428
@@ -4,7 +4,10 @@
 
#include "style/styled_node.h"
 
#include "css/property_id.h"
#include "dom/dom.h"
#include "gfx/color.h"
#include "util/from_chars.h"
#include "util/string.h"
 
#include <spdlog/spdlog.h>
@@ -14,13 +17,15 @@
#include <cmath>
#include <cstdint>
#include <cstring>
#include <iterator>
#include <map>
#include <optional>
#include <sstream>
#include <string_view>
#include <system_error>
#include <utility>
 
#include "util/from_chars.h"
#include <variant>
#include <vector>
 
using namespace std::literals;
 
 
style/styled_node.h added: 619, removed: 191, total 428
@@ -11,6 +11,7 @@
#include "util/string.h"
 
#include <algorithm>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
 
style/styled_node_test.cpp added: 619, removed: 191, total 428
@@ -4,11 +4,18 @@
 
#include "style/styled_node.h"
 
#include "css/property_id.h"
#include "dom/dom.h"
#include "etest/cxx_compat.h"
#include "etest/etest.h"
#include "gfx/color.h"
 
#include <optional>
#include <string>
#include <string_view>
#include <tuple>
#include <utility>
#include <vector>
 
using namespace std::literals;
using etest::expect;
 
tui/BUILD added: 619, removed: 191, total 428
@@ -21,6 +21,7 @@ cc_test(
copts = HASTUR_COPTS,
deps = [
":tui",
"//css",
"//dom",
"//etest",
"//layout",
 
tui/tui.cpp added: 619, removed: 191, total 428
@@ -4,13 +4,14 @@
 
#include "tui/tui.h"
 
#include "layout/layout_box.h"
 
#include <ftxui/dom/elements.hpp>
#include <ftxui/dom/node.hpp>
#include <ftxui/screen/screen.hpp>
#include <ftxui/screen/string.hpp>
 
#include <cstdlib>
#include <string>
#include <variant>
 
namespace tui {
namespace {
 
tui/tui.h added: 619, removed: 191, total 428
@@ -5,7 +5,7 @@
#ifndef TUI_TUI_H_
#define TUI_TUI_H_
 
#include "layout/layout.h"
#include "layout/layout_box.h"
 
#include <string>
 
 
tui/tui_test.cpp added: 619, removed: 191, total 428
@@ -4,6 +4,8 @@
 
#include "tui/tui.h"
 
#include "css/property_id.h"
#include "css/rule.h"
#include "dom/dom.h"
#include "etest/etest2.h"
#include "layout/layout.h"
 
type/BUILD added: 619, removed: 191, total 428
@@ -23,6 +23,7 @@ cc_test(
copts = HASTUR_COPTS,
deps = [
":naive",
":type",
"//etest",
],
)
@@ -45,5 +46,6 @@ cc_library(
"//os:xdg",
"//util:string",
"@sfml//:graphics",
"@sfml//:system",
],
)
 
type/naive_test.cpp added: 619, removed: 191, total 428
@@ -4,6 +4,8 @@
 
#include "type/naive.h"
 
#include "type/type.h"
 
#include "etest/etest2.h"
 
int main() {
 
type/sfml.cpp added: 619, removed: 191, total 428
@@ -5,17 +5,23 @@
 
#include "type/sfml.h"
 
#include "type/type.h"
 
#include "os/xdg.h"
#include "util/string.h"
 
#include <SFML/Graphics/Font.hpp>
#include <SFML/Graphics/Text.hpp>
#include <SFML/System/String.hpp>
 
#include <algorithm>
#include <filesystem>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <system_error>
#include <utility>
 
namespace type {
namespace {
 
type/sfml.h added: 619, removed: 191, total 428
@@ -9,9 +9,11 @@
 
#include <SFML/Graphics/Font.hpp>
 
#include <functional>
#include <map>
#include <memory>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
 
 
uri/uri.cpp added: 619, removed: 191, total 428
@@ -7,10 +7,13 @@
 
#include "util/string.h"
 
#include <fmt/format.h>
#include <fmt/core.h>
 
#include <exception>
#include <functional>
#include <optional>
#include <regex>
#include <string>
#include <utility>
 
namespace uri {
 
url/rtti_hack.cpp added: 619, removed: 191, total 428
@@ -2,6 +2,10 @@
//
// SPDX-License-Identifier: BSD-2-Clause
 
#include "url/rtti_hack.h"
#include "url/rtti_hack.h" // IWYU pragma: keep
 
#include <unicode/bytestream.h>
 
#include <string>
 
template class icu::StringByteSink<std::string>;
 
url/url.cpp added: 619, removed: 191, total 428
@@ -5,29 +5,34 @@
 
#include "url/url.h"
 
#include "url/rtti_hack.h"
#include "url/rtti_hack.h" // IWYU pragma: keep
 
#include "util/string.h"
#include "util/unicode.h"
#include "util/uuid.h"
 
// unicode/uclean is for u_cleanup, but icu does a lot of macro magic renaming
// symbols which confuses IWYU.
#include <unicode/bytestream.h>
#include <unicode/idna.h>
#include <unicode/putil.h>
#include <unicode/uclean.h>
#include <unicode/uclean.h> // IWYU pragma: keep
#include <unicode/uidna.h>
#include <unicode/urename.h>
#include <unicode/utypes.h>
 
#include <algorithm>
#include <array>
#include <atomic>
#include <cassert>
#include <charconv>
#include <cmath>
#include <cstdint>
#include <cstdlib>
#include <filesystem>
#include <iostream>
#include <map>
#include <optional>
#include <string>
#include <string_view>
#include <system_error>
#include <tuple>
#include <utility>
#include <variant>
 
url/url.h added: 619, removed: 191, total 428
@@ -12,12 +12,13 @@
#include <array>
#include <cstdint>
#include <functional>
#include <map>
#include <optional>
#include <string>
#include <string_view>
#include <tuple>
#include <utility>
#include <variant>
#include <vector>
 
namespace url {
 
 
url/url_test.cpp added: 619, removed: 191, total 428
@@ -11,10 +11,11 @@
 
#include <array>
#include <cstdint>
#include <fstream>
#include <iostream>
#include <optional>
#include <regex>
#include <string>
#include <string_view>
#include <utility>
#include <variant>
#include <vector>
 
util/crc32.h added: 619, removed: 191, total 428
@@ -6,6 +6,7 @@
#define UTIL_CRC32_H_
 
#include <array>
#include <cstddef>
#include <cstdint>
#include <span>
 
 
util/from_chars.h added: 619, removed: 191, total 428
@@ -5,13 +5,12 @@
#ifndef UTIL_FROM_CHARS_H_
#define UTIL_FROM_CHARS_H_
 
#include <version>
#include <version> // IWYU pragma: keep
 
// Workaround for libc++ not supporting std::from_chars for floating point numbers.
// TODO(robinlinden): Nuke once libc++ supports std::from_chars w/ floats.
#if defined(_LIBCPP_VERSION)
 
#include <algorithm>
#include <cerrno>
#include <charconv>
#include <cstdlib>
 
util/from_chars_test.cpp added: 619, removed: 191, total 428
@@ -7,6 +7,7 @@
#include "etest/etest.h"
 
#include <string_view>
#include <system_error>
 
using namespace std::literals;
using etest::expect_eq;
 
util/history.h added: 619, removed: 191, total 428
@@ -5,6 +5,7 @@
#ifndef UTIL_HISTORY_H_
#define UTIL_HISTORY_H_
 
#include <cstddef>
#include <optional>
#include <utility>
#include <vector>
 
util/string.h added: 619, removed: 191, total 428
@@ -11,16 +11,16 @@
#include <array>
#include <cassert>
#include <charconv>
#include <concepts>
#include <cstddef>
#include <cstdint>
#include <iomanip>
#include <ios>
#include <iterator>
#include <optional>
#include <span>
#include <sstream>
#include <string>
#include <string_view>
#include <system_error>
#include <utility>
#include <vector>
 
 
util/string_test.cpp added: 619, removed: 191, total 428
@@ -9,8 +9,11 @@
 
#include <array>
#include <climits>
#include <cstdint>
#include <iostream>
#include <limits>
#include <string>
#include <string_view>
 
using namespace std::literals;
using namespace util;
 
util/unicode.h added: 619, removed: 191, total 428
@@ -5,9 +5,11 @@
#ifndef UTIL_UNICODE_H_
#define UTIL_UNICODE_H_
 
#include <cstddef>
#include <cstdint>
#include <optional>
#include <string>
#include <string_view>
#include <utility>
 
namespace util {
 
util/unicode_test.cpp added: 619, removed: 191, total 428
@@ -7,7 +7,10 @@
#include "etest/etest.h"
 
#include <cstdint>
#include <optional>
#include <string>
#include <string_view>
#include <vector>
 
using namespace std::literals;
using namespace util;
 
util/uuid.h added: 619, removed: 191, total 428
@@ -7,10 +7,12 @@
#define UTIL_UUID_H_
 
#include <array>
#include <cstddef>
#include <iomanip>
#include <ios>
#include <random>
#include <sstream>
#include <string>
#include <utility>
 
namespace util {
@@ -33,7 +35,7 @@ inline std::string new_uuid() {
data[8] &= 0x3f;
data[8] |= 0x80;
 
for (size_t i = 0; i < 16; i++) {
for (std::size_t i = 0; i < 16; i++) {
if (i == 4 || i == 6 || i == 8 || i == 10) {
uuid_string << '-';
}
 
wasm/leb128.h added: 619, removed: 191, total 428
@@ -9,10 +9,9 @@
 
#include <cassert>
#include <cmath>
#include <concepts>
#include <cstddef>
#include <cstdint>
#include <istream>
#include <optional>
 
namespace wasm {
 
 
wasm/leb128_test.cpp added: 619, removed: 191, total 428
@@ -7,6 +7,8 @@
#include "etest/cxx_compat.h"
#include "etest/etest.h"
 
#include <tl/expected.hpp>
 
#include <cstdint>
#include <limits>
#include <optional>