diff --git a/Makefile b/Makefile index 7a7add57..220880b4 100644 --- a/Makefile +++ b/Makefile @@ -34,7 +34,8 @@ CXX_FLAGS ?= -g SANITIZER ?= default SOURCEDIR = $(CURDIR) BUILDROOT = build -BUILD = $(BUILDROOT)/$(SANITIZER) +SYSTEM = $(shell uname -s) +BUILD = $(BUILDROOT)/$(SYSTEM)/$(SANITIZER) EXAMPLE = beman.execution.examples.stop_token CMAKE_CXX_COMPILER=$(COMPILER) @@ -113,6 +114,7 @@ check: done | tsort > /dev/null build/$(SANITIZER)/compile_commands.json: $(SANITIZER) + clang-tidy: $(BUILD)/compile_commands.json run-clang-tidy -p $(BUILD) tests examples @@ -138,7 +140,7 @@ clean-doc: $(RM) -r docs/html docs/latex clean: clean-doc - $(RM) -r $(BUILD) + cmake --build $(BUILD) --target clean $(RM) mkerr olderr *~ distclean: clean diff --git a/include/beman/execution/detail/sched_attrs.hpp b/include/beman/execution/detail/sched_attrs.hpp index 67eb6501..5d8e8372 100644 --- a/include/beman/execution/detail/sched_attrs.hpp +++ b/include/beman/execution/detail/sched_attrs.hpp @@ -24,7 +24,8 @@ class sched_attrs { public: template - explicit sched_attrs(S s) : sched(::std::move(s)) {} + requires(!::std::same_as>) + explicit sched_attrs(S&& s) : sched(::std::forward(s)) {} template auto query(const ::beman::execution::get_completion_scheduler_t&) const noexcept {