ethereum / solidity

Solidity, the Smart Contract Programming Language
https://soliditylang.org
GNU General Public License v3.0
22.82k stars 5.66k forks source link

[SMTChecker] Refactor pointers #7266

Open leonardoalt opened 4 years ago

leonardoalt commented 4 years ago

There are a lot of shared_ptr being used for smt::Sort where they could be raw pointers.

leonardoalt commented 2 years ago

@ekpyron actually why did we want them to be raw pointers instead of shared_ptr?

ekpyron commented 2 years ago

shared pointer have non-zero overhead and you always need to be careful about them becoming cyclically dependent on each other... In general, it's always nicer to have clearly defined explicit ownership and lifetimes instead - but not sure if there was any more concrete reason than that...

leonardoalt commented 2 years ago

Yea, tho I'm wondering if that really makes sense for the SMT sorts

ekpyron commented 2 years ago

Rather similar case to us introducing that TypeProvider thing for the solidity AST I guess.

aniketmdinde commented 10 months ago

I want to contribute to solve this issue. Can you please guide and assign me this issue?

DavidRomanovizc commented 10 months ago

Hello, @leonardoalt this problem is still relevant?

Ajay-26 commented 2 months ago

Why not use unique_ptrs as opposed to raw pointers ? Also, I would like to contribute to this issue if possible