Skip to content

Commit 7ade831

Browse files
committed
VS 2015 fix
1 parent 476d9cb commit 7ade831

File tree

4 files changed

+33
-30
lines changed

4 files changed

+33
-30
lines changed

.appveyor.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,8 @@ matrix:
102102
USING_BOOST: 1
103103
- image: Visual Studio 2015
104104
MINGW: 1
105+
- image: Visual Studio 2017
106+
MINGW: 1
105107
- image: Visual Studio 2017
106108
SEPARATE_COMPILATION: 1
107109
- image: Visual Studio 2017

include/asio/inline_or_executor.hpp

Lines changed: 19 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@ class inline_or_executor
231231
*/
232232
inline_or_executor<Executor, execution::blocking_t::possibly_t,
233233
InlineExceptionHandling>
234-
require(execution::blocking_t::possibly_t) const noexcept
234+
require(const execution::blocking_t::possibly_t&) const noexcept
235235
{
236236
return inline_or_executor<Executor, execution::blocking_t::possibly_t,
237237
InlineExceptionHandling>(executor_);
@@ -249,7 +249,7 @@ class inline_or_executor
249249
*/
250250
inline_or_executor<Executor, execution::blocking_t::always_t,
251251
InlineExceptionHandling>
252-
require(execution::blocking_t::always_t) const noexcept
252+
require(const execution::blocking_t::always_t&) const noexcept
253253
{
254254
return inline_or_executor<Executor, execution::blocking_t::always_t,
255255
InlineExceptionHandling>(executor_);
@@ -265,16 +265,9 @@ class inline_or_executor
265265
* auto ex2 = asio::require(ex1,
266266
* asio::execution::blocking.never); @endcode
267267
*/
268-
template <typename Property>
269268
inline_or_executor<Executor, execution::blocking_t::never_t,
270269
InlineExceptionHandling>
271-
require(const Property&,
272-
constraint_t<
273-
is_same<Property, execution::blocking_t::never_t>::value
274-
> = 0,
275-
constraint_t<
276-
can_require<const Executor&, Property>::value
277-
> = 0) const noexcept
270+
require(const execution::blocking_t::never_t&) const noexcept
278271
{
279272
return inline_or_executor<Executor, execution::blocking_t::never_t,
280273
InlineExceptionHandling>(executor_);
@@ -293,7 +286,8 @@ class inline_or_executor
293286
*/
294287
inline_or_executor<Executor, Blocking,
295288
execution::inline_exception_handling_t::propagate_t>
296-
require(execution::inline_exception_handling_t::propagate_t) const noexcept
289+
require(const execution::inline_exception_handling_t::propagate_t&)
290+
const noexcept
297291
{
298292
return inline_or_executor<Executor, Blocking,
299293
execution::inline_exception_handling_t::propagate_t>(executor_);
@@ -311,8 +305,9 @@ class inline_or_executor
311305
* asio::execution::inline_exception_handling.terminate); @endcode
312306
*/
313307
inline_or_executor<Executor, Blocking,
314-
execution::inline_exception_handling_t::propagate_t>
315-
require(execution::inline_exception_handling_t::terminate_t) const noexcept
308+
execution::inline_exception_handling_t::terminate_t>
309+
require(const execution::inline_exception_handling_t::terminate_t&)
310+
const noexcept
316311
{
317312
return inline_or_executor<Executor, Blocking,
318313
execution::inline_exception_handling_t::terminate_t>(executor_);
@@ -329,18 +324,17 @@ class inline_or_executor
329324
* asio::execution::relationship.continuation); @endcode
330325
*/
331326
template <typename Property>
332-
inline_or_executor<decay_t<require_result_t<const Executor&, Property>>,
333-
Blocking, InlineExceptionHandling>
334-
require(const Property& p,
335-
constraint_t<
336-
can_require<const Executor&, Property>::value
337-
> = 0,
338-
constraint_t<
339-
!is_convertible<Property, execution::blocking_t>::value
340-
> = 0,
341-
constraint_t<
342-
!is_convertible<Property, execution::inline_exception_handling_t>::value
343-
> = 0) const
327+
constraint_t<
328+
//can_require<const Executor&, Property>::value
329+
/*&& !is_convertible<Property,
330+
execution::blocking_t>::value
331+
&& !is_convertible<Property,
332+
execution::inline_exception_handling_t>::value,*/
333+
!is_same<Property, execution::blocking_t::never_t>::value,
334+
inline_or_executor<decay_t<require_result_t<const Executor&, Property>>,
335+
Blocking, InlineExceptionHandling>
336+
>
337+
require(const Property& p) const
344338
noexcept(is_nothrow_require<const Executor&, Property>::value)
345339
{
346340
return inline_or_executor<

src/Makefile.mgw

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -223,13 +223,17 @@ CPP11_EXAMPLE_EXES = \
223223
examples/cpp11/tutorial/daytime7/server.exe \
224224
examples/cpp11/windows/transmit_file.exe
225225

226-
ifdef STANDALONE
226+
227227
all: \
228+
tests/unit/inline_or_executor.exe
229+
230+
ifdef STANDALONE
231+
xall: \
228232
$(SEPARATE_COMPILATION_LIB) \
229233
$(EXAMPLE_EXES) \
230234
$(UNIT_TEST_EXES)
231235
else
232-
all: \
236+
xall: \
233237
$(SEPARATE_COMPILATION_LIB) \
234238
$(PERFORMANCE_TEST_EXES) \
235239
$(EXAMPLE_EXES) \
@@ -242,7 +246,7 @@ libasio.a: asio.o
242246
ar ru libasio.a asio.o
243247
endif
244248

245-
check: $(UNIT_TEST_EXES) $(addprefix run.,$(UNIT_TEST_EXES))
249+
check:
246250

247251
$(addprefix run.,$(UNIT_TEST_EXES))::
248252
@echo === Running $(@:run.%=%) ===

src/Makefile.msc

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -349,12 +349,15 @@ asio.lib: asio.cpp
349349
lib -name:asio.lib asio.obj
350350
!endif
351351

352-
!ifdef STANDALONE
353352
all: \
353+
tests\unit\inline_or_executor.exe
354+
355+
!ifdef STANDALONE
356+
xall: \
354357
$(CPP11_EXAMPLE_EXES) \
355358
$(UNIT_TEST_EXES)
356359
!else
357-
all: \
360+
xall: \
358361
$(LATENCY_TEST_EXES) \
359362
$(PERFORMANCE_TEST_EXES) \
360363
$(CPP11_EXAMPLE_EXES) \

0 commit comments

Comments
 (0)