John McFarlane

Results 144 comments of John McFarlane

I'll be sure to keep following with interest. I I presume choice of list was mostly to demonstrate genericity, rather than for efficiency! And I don't see any reason why...

Bryce gave much [the same talk at CppNow](https://www.youtube.com/watch?v=LvwXJjRQfHk). Here are the CppNow slides in [pdf form](https://github.com/boostcon/cppnow_presentations_2017/blob/master/05-16-2017_tuesday/cpp17_features__bryce_adelstein_lelbach__cppnow_05-16-2017.pdf) and [browser-friendly version](https://brycelelbach.github.io/cpp17_features/).

Just as very few developers use `std::vector::at`, so they should generally avoid `gsl::narrow`. The reason is that we want to stop confusing bugs with exceptional circumstances. It's very hard to...

Please can we just remove reference to `narrow` and `narrow_cast` from the CCG? They are confusing and send the wrong message: * `narrow_cast(7.9)` and `narrow_cast(200)` simply aren't in the same...

@mbeutel +1 for `integral_cast`. Not sure about the name but that behaviour is highly valuable.

(Nitpick: loss of precision *is* underflow. You are perhaps using underflow to mean negative overflow and overflow to mean positive overflow.) The categorization of narrowing into potentially overflow-inducing versus potentially...

I'd recommend no mention of truncation or, indeed, any rounding mode. Truncation *may* be what occurs but [not necessarily](https://en.cppreference.com/w/cpp/numeric/fenv/feround). The purpose of this API is not to control rounding but...

Is it now the case that `span::operator[]` always bounds checks? (It [calls Expects](https://github.com/microsoft/GSL/blob/691a78c016408c74a689c35359e4c7e313501808/include/gsl/span#L561) which [now branches](https://github.com/microsoft/GSL/blob/691a78c016408c74a689c35359e4c7e313501808/include/gsl/gsl_assert#L128) irrespective of preprocessor macros. I'm running out of brain cells trying to keep track...

Please, if possible could you create an issue with reproducible steps? Better still, do you have a branch in which you make an ARM build for OSX? I've tried setting...

How are you specifying Lyra headers as search paths in your project? Are you using `-I`, `-isystem`, or something else?