diff options
author | Stavros Aronis <[email protected]> | 2016-01-07 15:57:45 +0100 |
---|---|---|
committer | Stavros Aronis <[email protected]> | 2016-01-11 15:10:06 +0100 |
commit | 56ab0f42911cc55c6a1640fa4949a267c1394c23 (patch) | |
tree | 85deda1a01a40940a397aa73a4696e1065a910b2 /lib/dialyzer/src/dialyzer_plt.erl | |
parent | 7e1ff61bac96c16a1453acb5be65ba90f48aa820 (diff) | |
download | otp-56ab0f42911cc55c6a1640fa4949a267c1394c23.tar.gz otp-56ab0f42911cc55c6a1640fa4949a267c1394c23.tar.bz2 otp-56ab0f42911cc55c6a1640fa4949a267c1394c23.zip |
Fix inadvertent deletion of callback info
If a behaviour module contains an non-exported function with the same name as
one of the behaviour's callbacks, the callback info was inadvertently deleted
from the PLT as the dialyzer_plt:delete_list/2 function was cleaning up the
callback table. This bug was reported by Brujo Benavides.
Fixes ERL-72 bug report.
Diffstat (limited to 'lib/dialyzer/src/dialyzer_plt.erl')
-rw-r--r-- | lib/dialyzer/src/dialyzer_plt.erl | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/dialyzer/src/dialyzer_plt.erl b/lib/dialyzer/src/dialyzer_plt.erl index 634871b2eb..769f26a3df 100644 --- a/lib/dialyzer/src/dialyzer_plt.erl +++ b/lib/dialyzer/src/dialyzer_plt.erl @@ -137,7 +137,7 @@ delete_list(#plt{info = Info, types = Types, #plt{info = table_delete_list(Info, List), types = Types, contracts = table_delete_list(Contracts, List), - callbacks = table_delete_list(Callbacks, List), + callbacks = Callbacks, exported_types = ExpTypes}. -spec insert_contract_list(plt(), dialyzer_contracts:plt_contracts()) -> plt(). |