|
|
|
|
|
by pkolaczk
810 days ago
|
|
Introducing caching is a semantic API change, regardless of the way how memory is managed, so it should be breaking. After introducing caching, now you also accidentally introduced sharing, because two consecutive API calls can return the reference to the same object when earlier they couldn’t. This could lead to a correctness issue. |
|
In any event, that is hardly the only case of manual memory management breaking abstractions.