execution_context
is intended to store servicesSection: 13.7.5 [networking.ts::async.exec.ctx.globals] Status: New Submitter: Billy O'Neal III Opened: 2018-06-23 Last modified: 2020-09-06
Priority: 3
View all issues with New status.
Discussion:
Addresses: networking.ts
make_service
and use_service
create arbitrary numbers of type Service
, a type provided
by the user, similar to how locale's use_facet
works. As a result there's no amount of storage that could
be reserved inside execution_context
to avoid allocating memory. However, there's no allocator support
here, and make_service
is forbidden from throwing allocation related exceptions by
N4734 [async.exec.ctx.globals]/7.
execution_context
to allocate memory, are user overloads of operator new
on type Service
intended to be used?
[2018-07-20 Priority set to 3 after reflector discussion]
[Jonathan provides wording.]
Proposed resolution:
This wording is relative to the N4762.
Modify 13.7.5 [networking.ts::async.exec.ctx.globals] p7:
-7- Throws: service_already_exists
if a corresponding service object of type Service::key_type
is
already present in the set , bad_alloc
, or an implementation-defined exception when a resource other than memory could
not be obtained. Any exception thrown by the constructor of Service
.