Update to C++17, removing dependency on boost optional#9661
Update to C++17, removing dependency on boost optional#9661feerrenrut merged 9 commits intonvaccess:masterfrom
Conversation
4d30b13 to
dc670ea
Compare
|
This failed due to an artifact upload error. The tests passed just fine. |
dc670ea to
132d67f
Compare
feerrenrut
left a comment
There was a problem hiding this comment.
Please check for differences in implementation between the boost header we used and the C++17 standard. This could easily introduce subtle bugs if behavior is different between the two.
|
Differences between boost optional and c++17 optional are listed in this article: https://dzone.com/articles/using-c17-stdoptional I also got another project's pull request that did a similar replacement, see argotorg/solidity#7467. I checked for these cases and they don't apply to us. We rarely use optional actually. |
…ing storage and add proper logging
See test results for failed build of commit 61ccb81f8a |
feerrenrut
left a comment
There was a problem hiding this comment.
Thanks @LeonarddeR
This code was previously using the C++14 standard, the default in VS 2017.
I also checked the differences between C++14 and C++17 for any sticky issues that might affect us. I didn't notice any cause for concern. Though it's best if this change happens early in the release cycle.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
- espeakedit.exe - eSpeak NG has ability to build voice files natively - epydoc - were using Sphinx as of nvaccess/nvda#9968 - Boost - were using optional from C++ 17 as of nvaccess/nvda#9661
* Remove unused dependencies: - espeakedit.exe - eSpeak NG has ability to build voice files natively - epydoc - were using Sphinx as of nvaccess/nvda#9968 - Boost - were using optional from C++ 17 as of nvaccess/nvda#9661 * Revert "BRLAPI for Python 3.8 (#20)" This reverts commit 9121704.
Link to issue number:
None
Summary of the issue:
Boost Optional is no longer needed, as Optional is part of the C++17standard. I started looking into how we could get rid of this dependency, even though it's not really sitting in the way. It's good to switch from something experimental to something stable, though.
Description of how this pull request fixes the issue:
We're now using optional from C++17. This required the following modifications:
Testing performed:
Made sure that NVDA still runs
Known issues with pull request:
None known
Change log entry:
None needed