New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removing virtuals #118

Closed
wants to merge 11 commits into
base: develop
from

Conversation

Projects
None yet
2 participants
@sean-parent
Member

sean-parent commented Dec 21, 2017

Manually building vtables to avoid UB casting through void* with non-standard-layout classes (because inheritance with virtual members). concept and models should now be standard-layout.

sean-parent added some commits Dec 21, 2017

Removing virtuals
Manually building vtables to avoid UB casting through void* with non-standard-layout classes (because inheritance with virtual members). concept and models should now be standard-layout.

@sean-parent sean-parent changed the base branch from master to develop Dec 21, 2017

sean-parent added some commits Dec 21, 2017

task fixes
Fixing static vtables for C++14 (no inline statics until 17)
Removed const from vtable* in concept to avoid possible laundering issue.
@codecov

This comment has been minimized.

Show comment
Hide comment
@codecov

codecov bot Dec 21, 2017

Codecov Report

Merging #118 into develop will increase coverage by 0.02%.
The diff coverage is 100%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #118      +/-   ##
===========================================
+ Coverage    94.86%   94.88%   +0.02%     
===========================================
  Files           36       36              
  Lines         4806     4830      +24     
  Branches       234      234              
===========================================
+ Hits          4559     4583      +24     
  Misses          98       98              
  Partials       149      149
Impacted Files Coverage Δ
stlab/concurrency/task.hpp 92.77% <100%> (+2.94%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update eac93e4...297937e. Read the comment docs.

codecov bot commented Dec 21, 2017

Codecov Report

Merging #118 into develop will increase coverage by 0.02%.
The diff coverage is 100%.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #118      +/-   ##
===========================================
+ Coverage    94.86%   94.88%   +0.02%     
===========================================
  Files           36       36              
  Lines         4806     4830      +24     
  Branches       234      234              
===========================================
+ Hits          4559     4583      +24     
  Misses          98       98              
  Partials       149      149
Impacted Files Coverage Δ
stlab/concurrency/task.hpp 92.77% <100%> (+2.94%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update eac93e4...297937e. Read the comment docs.

sean-parent added some commits Dec 21, 2017

Major -
Removed all use of inheritance so that only an object of a single type is ever stored in raw storage and access to the object is always through the vtable.

@FelixPetriconi FelixPetriconi self-requested a review Jan 11, 2018

@FelixPetriconi

This comment has been minimized.

Show comment
Hide comment
@FelixPetriconi

FelixPetriconi Feb 17, 2018

Member

Was merged with PR #130.

Member

FelixPetriconi commented Feb 17, 2018

Was merged with PR #130.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment