aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/src/dialyzer_plt.erl
diff options
context:
space:
mode:
authorStavros Aronis <[email protected]>2016-01-07 15:57:45 +0100
committerStavros Aronis <[email protected]>2016-01-11 15:10:06 +0100
commit56ab0f42911cc55c6a1640fa4949a267c1394c23 (patch)
tree85deda1a01a40940a397aa73a4696e1065a910b2 /lib/dialyzer/src/dialyzer_plt.erl
parent7e1ff61bac96c16a1453acb5be65ba90f48aa820 (diff)
downloadotp-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.erl2
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().