diff options
author | Björn Gustavsson <[email protected]> | 2016-01-25 15:56:59 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2016-01-28 12:16:01 +0100 |
commit | 28f7a47ab4d533cc72090484eb3a7e5713fa58bc (patch) | |
tree | 29453b347691a04899a30d3b1888c6edd3c0f37c /lib/kernel/src/code.erl | |
parent | 1ddab9c7b66237ea6dd429fb75e4c81247d88920 (diff) | |
download | otp-28f7a47ab4d533cc72090484eb3a7e5713fa58bc.tar.gz otp-28f7a47ab4d533cc72090484eb3a7e5713fa58bc.tar.bz2 otp-28f7a47ab4d533cc72090484eb3a7e5713fa58bc.zip |
code: Correct the types for error returns
The specifications for functions that load code in the 'code'
module (e.g. code:load_file/1) have some problems:
* The specs claim that the functions can return {error,on_load}, but
they never do. However, they can return {error,on_load_failure} if
the -on_load function in a module fails.
* The specs claim that the functions can return {error,native_code},
but they never do.
While we are it, also extend the on_load_errors/1 test case to test
that the load functions return {error,on_load_failure} when an
-on_load function fails.
Diffstat (limited to 'lib/kernel/src/code.erl')
-rw-r--r-- | lib/kernel/src/code.erl | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/kernel/src/code.erl b/lib/kernel/src/code.erl index 7d0102d4ef..7237550786 100644 --- a/lib/kernel/src/code.erl +++ b/lib/kernel/src/code.erl @@ -77,10 +77,9 @@ %%---------------------------------------------------------------------------- -type load_error_rsn() :: 'badfile' - | 'native_code' | 'nofile' | 'not_purged' - | 'on_load' + | 'on_load_failure' | 'sticky_directory'. -type load_ret() :: {'error', What :: load_error_rsn()} | {'module', Module :: module()}. @@ -135,7 +134,7 @@ load_file(Mod) when is_atom(Mod) -> -spec ensure_loaded(Module) -> {module, Module} | {error, What} when Module :: module(), - What :: embedded | badfile | native_code | nofile | on_load. + What :: embedded | badfile | nofile | on_load_failure. ensure_loaded(Mod) when is_atom(Mod) -> call({ensure_loaded,Mod}). |