According to solidity documentation, using solc >= 0.5.0 give you the possibility to read return values from a call, even if you shall be required to use properly the return values, knowing what they are > ***address.call(bytes memory) returns (bool, bytes memory)*** > *issue low-level CALL with the given payload, returns success condition and return data, forwards all available gas, adjustable* See: [solidity docs][1] Before that this, using solc < 0.5.0, you can count on the fact that the return values remains on the stack when the call() returns. This permit you to access them using assembly. [1]: https://solidity.readthedocs.io/en/v0.5.2/units-and-global-variables.html?highlight=call#members-of-address-types