Boost logo

Boost :

Subject: Re: [boost] [CallableTraits] The formal review begins today
From: Niall Douglas (s_sourceforge_at_[hidden])
Date: 2017-04-03 09:46:08


On 03/04/2017 07:45, Louis Dionne via Boost wrote:
> Dear Boost community,
>
> The formal review of Barrett Adair's CallableTraits library begins today,
> April 3rd, and ends on April 12th.

First impressions of the docs: Looks pretty good, but:

* The fact this library can be used without the rest of Boost needs much
more obvious declaration

* Why is a std::tuple type the way of returning the function signature?
Why not some arbitrary (user supplied) variadic template?

* I would really prefer a dedicated Compatibility page with a matrix of
tested compiler versions against each of the facilities. Right now I
need to find the correct function to use and dig into its reference
docs. This is unhelpful when I am evaluating the viability of whether to
use CallableTraits or not.

* I can't help but think repeatedly that Concepts would be real useful
in this library. I was surprised they were not mentioned. In particular
the docs say things like "If cannot be legally instantiated according to
the behaviour above, the behaviour is undefined". I would much prefer
that failure to instantiate is a concept failure and/or a static assert
or other useful compiler diagnostic, except where SFINAE is desired. In
other words, can I not choose which behaviour I want?

* Some ABIs let you add proprietary qualifiers to function types e.g.
__stdcall. I see only a tiny mention of this at the bottom of the FAQ,
yet dealing with proprietary function signature semantics is unavoidable
in those systems e.g. introspecting a user supplied pointer to a Win32
syscall.

Anyway, time for the day job so I'll stop there.

Niall

-- 
ned Productions Limited Consulting
http://www.nedproductions.biz/ http://ie.linkedin.com/in/nialldouglas/

Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk