{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.pcFXdsr1/b1/erlang_27.3.3+dfsg-1_armhf.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.pcFXdsr1/b2/erlang_27.3.3+dfsg-1_armhf.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -4,27 +4,27 @@\n 364a710b1c92c154f0f8c84d14f47cf7 7335060 debug optional erlang-base-dbgsym_27.3.3+dfsg-1_armhf.deb\n 2b8df45a7fb3a62fd7a39b0e8b7f567a 10861996 interpreters optional erlang-base_27.3.3+dfsg-1_armhf.deb\n 57f8be62cec232c1eacf4ce64d212021 41988 debug optional erlang-common-test-dbgsym_27.3.3+dfsg-1_armhf.deb\n f5914274191b7d741e84e463838da4e0 1311996 interpreters optional erlang-common-test_27.3.3+dfsg-1_armhf.deb\n 3e1c81f948e2b3efe57ee17e8982eba3 121052 debug optional erlang-crypto-dbgsym_27.3.3+dfsg-1_armhf.deb\n 27512eec7f2949722dab72ce09265b41 175112 interpreters optional erlang-crypto_27.3.3+dfsg-1_armhf.deb\n 02a7160ab7fa3d577e1828b8149006de 479592 interpreters optional erlang-debugger_27.3.3+dfsg-1_armhf.deb\n- 1b9d1757efbf4228767cdd47dc86b538 287648 interpreters optional erlang-dev_27.3.3+dfsg-1_armhf.deb\n+ cc114ec202ab15d5d90539a250bc7d1d 287772 interpreters optional erlang-dev_27.3.3+dfsg-1_armhf.deb\n 0b2c41d4091ad0e9d458d5a730aa6133 79716 debug optional erlang-dialyzer-dbgsym_27.3.3+dfsg-1_armhf.deb\n f611bf26e8fbf3242ca62d875e43beb2 1073192 interpreters optional erlang-dialyzer_27.3.3+dfsg-1_armhf.deb\n 325ad38d42cd6ad4cc1294d9d9c151a3 812568 interpreters optional erlang-diameter_27.3.3+dfsg-1_armhf.deb\n- 441acc7bbd5098a1cb39fb9761d8eaf7 16791552 doc optional erlang-doc_27.3.3+dfsg-1_all.deb\n+ e07f25ebcb04fa7fbd0746950f608e9b 16794444 doc optional erlang-doc_27.3.3+dfsg-1_all.deb\n 95e683ce2659a95f6dbacbdb7d050e25 459528 interpreters optional erlang-edoc_27.3.3+dfsg-1_armhf.deb\n ce1f9ea696f8719996b6f3e50a9e77c3 138088 interpreters optional erlang-eldap_27.3.3+dfsg-1_armhf.deb\n f944985a6b1ac70c1d492a877febe60a 185220 interpreters optional erlang-et_27.3.3+dfsg-1_armhf.deb\n bfd62929297b24237bd4352be6611a1f 171880 interpreters optional erlang-eunit_27.3.3+dfsg-1_armhf.deb\n 2c0aadef07a7ffc5b62b6de8689df987 962912 interpreters optional erlang-examples_27.3.3+dfsg-1_all.deb\n b3ecd443dab8f6865c0c00b5ad05952c 106288 interpreters optional erlang-ftp_27.3.3+dfsg-1_armhf.deb\n 83a4d8595451d0e6cf93265652132acb 671420 interpreters optional erlang-inets_27.3.3+dfsg-1_armhf.deb\n- f36b8ee559f57a2728102b6f10af0e23 113628 interpreters optional erlang-jinterface_27.3.3+dfsg-1_all.deb\n+ bfe542c3554c585ba5d66d5b8e9e83dd 113668 interpreters optional erlang-jinterface_27.3.3+dfsg-1_all.deb\n 6f21ee4c9fa24fc4c7bfabe9c101de3c 64584 debug optional erlang-megaco-dbgsym_27.3.3+dfsg-1_armhf.deb\n 2d1a617fd67f6b31a4845583c9b16b56 3686548 interpreters optional erlang-megaco_27.3.3+dfsg-1_armhf.deb\n 105d203b0cb5216a4fa59734623c669c 898692 interpreters optional erlang-mnesia_27.3.3+dfsg-1_armhf.deb\n 33ca402b13c54ed9494c0b341fe1bcc0 93316 interpreters optional erlang-mode_27.3.3+dfsg-1_all.deb\n 9d5581075fb73e1f44de25aa1cef4a4c 14932 interpreters optional erlang-nox_27.3.3+dfsg-1_all.deb\n 1435046521d8548d9753d17bff2862c3 1028524 interpreters optional erlang-observer_27.3.3+dfsg-1_armhf.deb\n 1c4207ddb6a8b8b629ac641d7aa6b6e0 59920 debug optional erlang-odbc-dbgsym_27.3.3+dfsg-1_armhf.deb\n"}, {"source1": "erlang-dev_27.3.3+dfsg-1_armhf.deb", "source2": "erlang-dev_27.3.3+dfsg-1_armhf.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2025-04-16 14:20:18.000000 debian-binary\n--rw-r--r-- 0 0 0 3652 2025-04-16 14:20:18.000000 control.tar.xz\n--rw-r--r-- 0 0 0 283804 2025-04-16 14:20:18.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 3656 2025-04-16 14:20:18.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 283924 2025-04-16 14:20:18.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "./usr/bin/erlang-depends", "source2": "./usr/bin/erlang-depends", "unified_diff": "@@ -7,308 +7,308 @@\n -define(VERSION, \"1:27.3.3+dfsg\").\n -define(ABI_VERSION, \"17.0\").\n -define(PCRE_VERSION, \"8.45\").\n \n % Since all packages required built application to run may be unavailable\n % on build stage it's necessary to list all module-package relationships\n % explicitly:\n--define(MODULES, [{\"disk_log_1\", \"erlang-base\"},\n-{\"net\", \"erlang-base\"},\n+-define(MODULES, [{\"target_system\", \"erlang-base\"},\n+{\"release_handler_1\", \"erlang-base\"},\n+{\"systools_make\", \"erlang-base\"},\n+{\"format_lib_supp\", \"erlang-base\"},\n+{\"alarm_handler\", \"erlang-base\"},\n+{\"erlsrv\", \"erlang-base\"},\n+{\"sasl_report_file_h\", \"erlang-base\"},\n+{\"misc_supp\", \"erlang-base\"},\n+{\"sasl_report_tty_h\", \"erlang-base\"},\n+{\"sasl\", \"erlang-base\"},\n+{\"systools\", \"erlang-base\"},\n+{\"systools_relup\", \"erlang-base\"},\n+{\"sasl_report\", \"erlang-base\"},\n+{\"release_handler\", \"erlang-base\"},\n+{\"rb_format_supp\", \"erlang-base\"},\n+{\"systools_rc\", \"erlang-base\"},\n+{\"systools_lib\", \"erlang-base\"},\n+{\"rb\", \"erlang-base\"},\n+{\"ram_file\", \"erlang-base\"},\n+{\"logger\", \"erlang-base\"},\n+{\"inet_udp\", \"erlang-base\"},\n+{\"application_controller\", \"erlang-base\"},\n+{\"group\", \"erlang-base\"},\n+{\"logger_formatter\", \"erlang-base\"},\n+{\"inet_db\", \"erlang-base\"},\n+{\"pg\", \"erlang-base\"},\n+{\"raw_file_io_deflate\", \"erlang-base\"},\n+{\"wrap_log_reader\", \"erlang-base\"},\n+{\"inet_hosts\", \"erlang-base\"},\n+{\"error_logger\", \"erlang-base\"},\n {\"raw_file_io_inflate\", \"erlang-base\"},\n-{\"inet_gethost_native\", \"erlang-base\"},\n-{\"inet_dns_tsig\", \"erlang-base\"},\n-{\"inet_tcp\", \"erlang-base\"},\n-{\"erl_epmd\", \"erlang-base\"},\n-{\"inet_epmd_socket\", \"erlang-base\"},\n-{\"gen_tcp_socket\", \"erlang-base\"},\n {\"disk_log\", \"erlang-base\"},\n+{\"inet_tcp\", \"erlang-base\"},\n+{\"inet6_sctp\", \"erlang-base\"},\n+{\"dist_ac\", \"erlang-base\"},\n+{\"inet_parse\", \"erlang-base\"},\n+{\"net_kernel\", \"erlang-base\"},\n+{\"file_io_server\", \"erlang-base\"},\n+{\"raw_file_io_delayed\", \"erlang-base\"},\n+{\"logger_h_common\", \"erlang-base\"},\n+{\"erl_kernel_errors\", \"erlang-base\"},\n+{\"kernel\", \"erlang-base\"},\n+{\"inet_sctp\", \"erlang-base\"},\n+{\"logger_sup\", \"erlang-base\"},\n+{\"disk_log_server\", \"erlang-base\"},\n {\"rpc\", \"erlang-base\"},\n-{\"code_server\", \"erlang-base\"},\n-{\"logger_filters\", \"erlang-base\"},\n+{\"erl_distribution\", \"erlang-base\"},\n+{\"gen_tcp_socket\", \"erlang-base\"},\n {\"logger_proxy\", \"erlang-base\"},\n-{\"global_group\", \"erlang-base\"},\n-{\"inet\", \"erlang-base\"},\n-{\"gen_udp\", \"erlang-base\"},\n-{\"gen_udp_socket\", \"erlang-base\"},\n-{\"kernel_config\", \"erlang-base\"},\n-{\"logger_disk_log_h\", \"erlang-base\"},\n+{\"auth\", \"erlang-base\"},\n+{\"raw_file_io\", \"erlang-base\"},\n {\"erl_signal_handler\", \"erlang-base\"},\n-{\"local_tcp\", \"erlang-base\"},\n-{\"inet6_tcp\", \"erlang-base\"},\n-{\"inet6_tcp_dist\", \"erlang-base\"},\n-{\"logger_formatter\", \"erlang-base\"},\n-{\"user_sup\", \"erlang-base\"},\n-{\"disk_log_server\", \"erlang-base\"},\n-{\"disk_log_sup\", \"erlang-base\"},\n-{\"group\", \"erlang-base\"},\n-{\"standard_error\", \"erlang-base\"},\n {\"kernel_refc\", \"erlang-base\"},\n-{\"ram_file\", \"erlang-base\"},\n-{\"application_master\", \"erlang-base\"},\n-{\"erl_kernel_errors\", \"erlang-base\"},\n-{\"erl_boot_server\", \"erlang-base\"},\n-{\"logger_std_h\", \"erlang-base\"},\n-{\"logger_config\", \"erlang-base\"},\n-{\"os\", \"erlang-base\"},\n-{\"logger_server\", \"erlang-base\"},\n+{\"gen_udp\", \"erlang-base\"},\n+{\"logger_backend\", \"erlang-base\"},\n {\"inet_tcp_dist\", \"erlang-base\"},\n-{\"inet_udp\", \"erlang-base\"},\n-{\"inet_parse\", \"erlang-base\"},\n-{\"dist_ac\", \"erlang-base\"},\n-{\"erl_reply\", \"erlang-base\"},\n+{\"prim_tty\", \"erlang-base\"},\n+{\"pg2\", \"erlang-base\"},\n+{\"inet_dns_tsig\", \"erlang-base\"},\n+{\"os\", \"erlang-base\"},\n+{\"raw_file_io_compressed\", \"erlang-base\"},\n+{\"inet_epmd_socket\", \"erlang-base\"},\n+{\"seq_trace\", \"erlang-base\"},\n+{\"group_history\", \"erlang-base\"},\n+{\"user_sup\", \"erlang-base\"},\n {\"inet_res\", \"erlang-base\"},\n-{\"pg\", \"erlang-base\"},\n-{\"application_controller\", \"erlang-base\"},\n-{\"raw_file_io_delayed\", \"erlang-base\"},\n-{\"raw_file_io_deflate\", \"erlang-base\"},\n-{\"net_adm\", \"erlang-base\"},\n-{\"code\", \"erlang-base\"},\n-{\"logger_sup\", \"erlang-base\"},\n-{\"error_handler\", \"erlang-base\"},\n-{\"logger_olp\", \"erlang-base\"},\n-{\"logger\", \"erlang-base\"},\n-{\"error_logger\", \"erlang-base\"},\n-{\"net_kernel\", \"erlang-base\"},\n-{\"raw_file_io_list\", \"erlang-base\"},\n-{\"logger_h_common\", \"erlang-base\"},\n+{\"net\", \"erlang-base\"},\n+{\"disk_log_1\", \"erlang-base\"},\n {\"erts_debug\", \"erlang-base\"},\n-{\"application\", \"erlang-base\"},\n-{\"user_drv\", \"erlang-base\"},\n-{\"prim_tty\", \"erlang-base\"},\n-{\"gen_sctp\", \"erlang-base\"},\n+{\"code\", \"erlang-base\"},\n {\"erl_ddll\", \"erlang-base\"},\n-{\"erl_compile_server\", \"erlang-base\"},\n-{\"pg2\", \"erlang-base\"},\n-{\"logger_backend\", \"erlang-base\"},\n-{\"application_starter\", \"erlang-base\"},\n-{\"inet_epmd_dist\", \"erlang-base\"},\n-{\"inet_db\", \"erlang-base\"},\n-{\"logger_simple_h\", \"erlang-base\"},\n-{\"auth\", \"erlang-base\"},\n+{\"user_drv\", \"erlang-base\"},\n {\"heart\", \"erlang-base\"},\n-{\"wrap_log_reader\", \"erlang-base\"},\n-{\"file_server\", \"erlang-base\"},\n+{\"application_master\", \"erlang-base\"},\n+{\"raw_file_io_list\", \"erlang-base\"},\n+{\"application_starter\", \"erlang-base\"},\n+{\"standard_error\", \"erlang-base\"},\n+{\"net_adm\", \"erlang-base\"},\n {\"inet6_udp\", \"erlang-base\"},\n-{\"inet_hosts\", \"erlang-base\"},\n-{\"inet_config\", \"erlang-base\"},\n-{\"global\", \"erlang-base\"},\n+{\"global_group\", \"erlang-base\"},\n {\"inet_dns\", \"erlang-base\"},\n-{\"group_history\", \"erlang-base\"},\n-{\"erl_distribution\", \"erlang-base\"},\n-{\"raw_file_io_compressed\", \"erlang-base\"},\n+{\"error_handler\", \"erlang-base\"},\n+{\"inet6_tcp_dist\", \"erlang-base\"},\n+{\"kernel_config\", \"erlang-base\"},\n+{\"logger_handler_watcher\", \"erlang-base\"},\n+{\"erl_epmd\", \"erlang-base\"},\n+{\"logger_server\", \"erlang-base\"},\n+{\"logger_handler\", \"erlang-base\"},\n+{\"inet6_tcp\", \"erlang-base\"},\n {\"erpc\", \"erlang-base\"},\n-{\"kernel\", \"erlang-base\"},\n+{\"logger_disk_log_h\", \"erlang-base\"},\n+{\"code_server\", \"erlang-base\"},\n+{\"logger_config\", \"erlang-base\"},\n+{\"gen_sctp\", \"erlang-base\"},\n+{\"erl_erts_errors\", \"erlang-base\"},\n+{\"disk_log_sup\", \"erlang-base\"},\n+{\"global_search\", \"erlang-base\"},\n+{\"logger_filters\", \"erlang-base\"},\n+{\"gen_udp_socket\", \"erlang-base\"},\n+{\"erl_reply\", \"erlang-base\"},\n {\"dist_util\", \"erlang-base\"},\n+{\"erl_compile_server\", \"erlang-base\"},\n+{\"file_server\", \"erlang-base\"},\n+{\"local_tcp\", \"erlang-base\"},\n+{\"logger_simple_h\", \"erlang-base\"},\n {\"trace\", \"erlang-base\"},\n+{\"inet\", \"erlang-base\"},\n {\"gen_tcp\", \"erlang-base\"},\n-{\"logger_handler\", \"erlang-base\"},\n-{\"logger_handler_watcher\", \"erlang-base\"},\n+{\"logger_std_h\", \"erlang-base\"},\n+{\"global\", \"erlang-base\"},\n+{\"inet_config\", \"erlang-base\"},\n+{\"inet_epmd_dist\", \"erlang-base\"},\n+{\"erl_boot_server\", \"erlang-base\"},\n {\"local_udp\", \"erlang-base\"},\n-{\"raw_file_io\", \"erlang-base\"},\n-{\"erl_erts_errors\", \"erlang-base\"},\n-{\"file\", \"erlang-base\"},\n-{\"inet_sctp\", \"erlang-base\"},\n-{\"global_search\", \"erlang-base\"},\n-{\"file_io_server\", \"erlang-base\"},\n+{\"logger_olp\", \"erlang-base\"},\n+{\"application\", \"erlang-base\"},\n+{\"inet_gethost_native\", \"erlang-base\"},\n {\"socket\", \"erlang-base\"},\n-{\"seq_trace\", \"erlang-base\"},\n-{\"inet6_sctp\", \"erlang-base\"},\n-{\"rb\", \"erlang-base\"},\n-{\"release_handler\", \"erlang-base\"},\n-{\"sasl_report_file_h\", \"erlang-base\"},\n-{\"systools_relup\", \"erlang-base\"},\n-{\"systools_rc\", \"erlang-base\"},\n-{\"sasl_report_tty_h\", \"erlang-base\"},\n-{\"systools_make\", \"erlang-base\"},\n-{\"rb_format_supp\", \"erlang-base\"},\n-{\"release_handler_1\", \"erlang-base\"},\n-{\"systools_lib\", \"erlang-base\"},\n-{\"alarm_handler\", \"erlang-base\"},\n-{\"sasl_report\", \"erlang-base\"},\n-{\"erlsrv\", \"erlang-base\"},\n-{\"sasl\", \"erlang-base\"},\n-{\"systools\", \"erlang-base\"},\n-{\"misc_supp\", \"erlang-base\"},\n-{\"format_lib_supp\", \"erlang-base\"},\n-{\"target_system\", \"erlang-base\"},\n-{\"io\", \"erlang-base\"},\n-{\"zip\", \"erlang-base\"},\n-{\"io_lib\", \"erlang-base\"},\n-{\"beam_lib\", \"erlang-base\"},\n-{\"erl_expand_records\", \"erlang-base\"},\n-{\"gen_server\", \"erlang-base\"},\n-{\"math\", \"erlang-base\"},\n-{\"shell_default\", \"erlang-base\"},\n+{\"file\", \"erlang-base\"},\n+{\"beam_listing\", \"erlang-base\"},\n+{\"beam_doc\", \"erlang-base\"},\n+{\"core_pp\", \"erlang-base\"},\n+{\"beam_validator\", \"erlang-base\"},\n+{\"beam_ssa\", \"erlang-base\"},\n+{\"beam_digraph\", \"erlang-base\"},\n+{\"sys_core_prepare\", \"erlang-base\"},\n+{\"sys_coverage\", \"erlang-base\"},\n+{\"beam_ssa_pp\", \"erlang-base\"},\n+{\"erl_bifs\", \"erlang-base\"},\n+{\"core_parse\", \"erlang-base\"},\n+{\"sys_core_alias\", \"erlang-base\"},\n+{\"sys_pre_attributes\", \"erlang-base\"},\n+{\"sys_messages\", \"erlang-base\"},\n+{\"cerl\", \"erlang-base\"},\n+{\"cerl_inline\", \"erlang-base\"},\n+{\"beam_dict\", \"erlang-base\"},\n+{\"core_scan\", \"erlang-base\"},\n+{\"beam_z\", \"erlang-base\"},\n+{\"core_lib\", \"erlang-base\"},\n+{\"sys_core_inline\", \"erlang-base\"},\n+{\"beam_ssa_ss\", \"erlang-base\"},\n+{\"beam_ssa_codegen\", \"erlang-base\"},\n+{\"beam_ssa_share\", \"erlang-base\"},\n+{\"beam_ssa_bool\", \"erlang-base\"},\n+{\"beam_a\", \"erlang-base\"},\n+{\"beam_types\", \"erlang-base\"},\n+{\"beam_jump\", \"erlang-base\"},\n+{\"sys_core_fold\", \"erlang-base\"},\n+{\"compile\", \"erlang-base\"},\n+{\"beam_asm\", \"erlang-base\"},\n+{\"beam_ssa_check\", \"erlang-base\"},\n+{\"cerl_trees\", \"erlang-base\"},\n+{\"beam_disasm\", \"erlang-base\"},\n+{\"beam_ssa_pre_codegen\", \"erlang-base\"},\n+{\"beam_ssa_type\", \"erlang-base\"},\n+{\"beam_call_types\", \"erlang-base\"},\n+{\"sys_core_fold_lists\", \"erlang-base\"},\n+{\"beam_ssa_destructive_update\", \"erlang-base\"},\n+{\"beam_ssa_alias\", \"erlang-base\"},\n+{\"beam_ssa_bsm\", \"erlang-base\"},\n+{\"beam_utils\", \"erlang-base\"},\n+{\"beam_ssa_throw\", \"erlang-base\"},\n+{\"beam_ssa_recv\", \"erlang-base\"},\n+{\"beam_ssa_dead\", \"erlang-base\"},\n+{\"beam_trim\", \"erlang-base\"},\n+{\"rec_env\", \"erlang-base\"},\n+{\"v3_core\", \"erlang-base\"},\n+{\"sys_core_bsm\", \"erlang-base\"},\n+{\"beam_clean\", \"erlang-base\"},\n+{\"beam_ssa_opt\", \"erlang-base\"},\n+{\"beam_ssa_lint\", \"erlang-base\"},\n+{\"cerl_clauses\", \"erlang-base\"},\n+{\"beam_bounds\", \"erlang-base\"},\n+{\"beam_ssa_bc_size\", \"erlang-base\"},\n+{\"beam_block\", \"erlang-base\"},\n+{\"beam_flatten\", \"erlang-base\"},\n+{\"beam_opcodes\", \"erlang-base\"},\n+{\"core_lint\", \"erlang-base\"},\n+{\"beam_core_to_ssa\", \"erlang-base\"},\n+{\"shell_docs_markdown\", \"erlang-base\"},\n+{\"gen_statem\", \"erlang-base\"},\n {\"c\", \"erlang-base\"},\n-{\"argparse\", \"erlang-base\"},\n+{\"dets_v9\", \"erlang-base\"},\n+{\"io_lib_format\", \"erlang-base\"},\n+{\"binary\", \"erlang-base\"},\n+{\"erl_parse\", \"erlang-base\"},\n+{\"ets\", \"erlang-base\"},\n+{\"win32reg\", \"erlang-base\"},\n+{\"io_lib\", \"erlang-base\"},\n+{\"eval_bits\", \"erlang-base\"},\n+{\"edlin\", \"erlang-base\"},\n+{\"gen_fsm\", \"erlang-base\"},\n+{\"edlin_type_suggestion\", \"erlang-base\"},\n {\"gen_event\", \"erlang-base\"},\n-{\"queue\", \"erlang-base\"},\n-{\"pool\", \"erlang-base\"},\n-{\"erl_internal\", \"erlang-base\"},\n+{\"gen_server\", \"erlang-base\"},\n+{\"ms_transform\", \"erlang-base\"},\n+{\"error_logger_tty_h\", \"erlang-base\"},\n+{\"dets_server\", \"erlang-base\"},\n+{\"base64\", \"erlang-base\"},\n+{\"gb_sets\", \"erlang-base\"},\n+{\"erl_error\", \"erlang-base\"},\n+{\"peer\", \"erlang-base\"},\n+{\"rand\", \"erlang-base\"},\n+{\"unicode\", \"erlang-base\"},\n+{\"io_lib_fread\", \"erlang-base\"},\n+{\"edlin_context\", \"erlang-base\"},\n+{\"erl_features\", \"erlang-base\"},\n {\"erl_compile\", \"erlang-base\"},\n-{\"digraph_utils\", \"erlang-base\"},\n-{\"uri_string\", \"erlang-base\"},\n+{\"argparse\", \"erlang-base\"},\n+{\"log_mf_h\", \"erlang-base\"},\n {\"json\", \"erlang-base\"},\n-{\"proplists\", \"erlang-base\"},\n-{\"edlin\", \"erlang-base\"},\n-{\"shell_docs_markdown\", \"erlang-base\"},\n-{\"gen\", \"erlang-base\"},\n-{\"calendar\", \"erlang-base\"},\n-{\"gen_statem\", \"erlang-base\"},\n-{\"erl_error\", \"erlang-base\"},\n-{\"dets\", \"erlang-base\"},\n-{\"binary\", \"erlang-base\"},\n {\"file_sorter\", \"erlang-base\"},\n+{\"erl_internal\", \"erlang-base\"},\n {\"dict\", \"erlang-base\"},\n+{\"orddict\", \"erlang-base\"},\n+{\"ordsets\", \"erlang-base\"},\n+{\"erl_eval\", \"erlang-base\"},\n+{\"array\", \"erlang-base\"},\n {\"erl_tar\", \"erlang-base\"},\n-{\"erl_anno\", \"erlang-base\"},\n-{\"dets_server\", \"erlang-base\"},\n-{\"qlc_pt\", \"erlang-base\"},\n+{\"random\", \"erlang-base\"},\n+{\"calendar\", \"erlang-base\"},\n+{\"timer\", \"erlang-base\"},\n+{\"dets_sup\", \"erlang-base\"},\n+{\"gb_trees\", \"erlang-base\"},\n+{\"proc_lib\", \"erlang-base\"},\n {\"sets\", \"erlang-base\"},\n-{\"erl_pp\", \"erlang-base\"},\n-{\"array\", \"erlang-base\"},\n-{\"gb_sets\", \"erlang-base\"},\n+{\"io_lib_pretty\", \"erlang-base\"},\n+{\"edlin_key\", \"erlang-base\"},\n+{\"erl_scan\", \"erlang-base\"},\n+{\"lists\", \"erlang-base\"},\n+{\"filename\", \"erlang-base\"},\n {\"supervisor\", \"erlang-base\"},\n-{\"maps\", \"erlang-base\"},\n-{\"orddict\", \"erlang-base\"},\n-{\"io_lib_format\", \"erlang-base\"},\n+{\"sofs\", \"erlang-base\"},\n {\"escript\", \"erlang-base\"},\n-{\"timer\", \"erlang-base\"},\n-{\"ordsets\", \"erlang-base\"},\n-{\"shell\", \"erlang-base\"},\n-{\"edlin_expand\", \"erlang-base\"},\n-{\"qlc\", \"erlang-base\"},\n-{\"unicode\", \"erlang-base\"},\n-{\"lists\", \"erlang-base\"},\n-{\"re\", \"erlang-base\"},\n-{\"erl_eval\", \"erlang-base\"},\n-{\"rand\", \"erlang-base\"},\n-{\"erl_abstract_code\", \"erlang-base\"},\n-{\"dets_v9\", \"erlang-base\"},\n-{\"epp\", \"erlang-base\"},\n+{\"proplists\", \"erlang-base\"},\n {\"otp_internal\", \"erlang-base\"},\n-{\"erl_features\", \"erlang-base\"},\n-{\"io_lib_fread\", \"erlang-base\"},\n-{\"base64\", \"erlang-base\"},\n-{\"filelib\", \"erlang-base\"},\n+{\"unicode_util\", \"erlang-base\"},\n+{\"erl_abstract_code\", \"erlang-base\"},\n+{\"math\", \"erlang-base\"},\n+{\"gen\", \"erlang-base\"},\n+{\"erl_lint\", \"erlang-base\"},\n+{\"edlin_expand\", \"erlang-base\"},\n+{\"sys\", \"erlang-base\"},\n {\"shell_docs\", \"erlang-base\"},\n-{\"win32reg\", \"erlang-base\"},\n-{\"proc_lib\", \"erlang-base\"},\n-{\"edlin_type_suggestion\", \"erlang-base\"},\n-{\"gen_fsm\", \"erlang-base\"},\n+{\"epp\", \"erlang-base\"},\n {\"erl_posix_msg\", \"erlang-base\"},\n-{\"error_logger_file_h\", \"erlang-base\"},\n-{\"erl_bits\", \"erlang-base\"},\n-{\"io_lib_pretty\", \"erlang-base\"},\n-{\"erl_parse\", \"erlang-base\"},\n+{\"io\", \"erlang-base\"},\n+{\"dets_utils\", \"erlang-base\"},\n+{\"erl_anno\", \"erlang-base\"},\n+{\"digraph_utils\", \"erlang-base\"},\n+{\"uri_string\", \"erlang-base\"},\n+{\"qlc\", \"erlang-base\"},\n+{\"qlc_pt\", \"erlang-base\"},\n {\"string\", \"erlang-base\"},\n-{\"random\", \"erlang-base\"},\n+{\"pool\", \"erlang-base\"},\n+{\"erl_pp\", \"erlang-base\"},\n+{\"shell_default\", \"erlang-base\"},\n+{\"filelib\", \"erlang-base\"},\n+{\"shell\", \"erlang-base\"},\n+{\"beam_lib\", \"erlang-base\"},\n+{\"dets\", \"erlang-base\"},\n+{\"maps\", \"erlang-base\"},\n+{\"slave\", \"erlang-base\"},\n+{\"zip\", \"erlang-base\"},\n+{\"erl_bits\", \"erlang-base\"},\n {\"erl_stdlib_errors\", \"erlang-base\"},\n-{\"filename\", \"erlang-base\"},\n-{\"error_logger_tty_h\", \"erlang-base\"},\n-{\"ms_transform\", \"erlang-base\"},\n-{\"edlin_key\", \"erlang-base\"},\n-{\"log_mf_h\", \"erlang-base\"},\n-{\"dets_sup\", \"erlang-base\"},\n-{\"gb_trees\", \"erlang-base\"},\n-{\"sofs\", \"erlang-base\"},\n-{\"ets\", \"erlang-base\"},\n {\"digraph\", \"erlang-base\"},\n-{\"sys\", \"erlang-base\"},\n-{\"slave\", \"erlang-base\"},\n-{\"erl_lint\", \"erlang-base\"},\n+{\"error_logger_file_h\", \"erlang-base\"},\n {\"supervisor_bridge\", \"erlang-base\"},\n-{\"dets_utils\", \"erlang-base\"},\n-{\"edlin_context\", \"erlang-base\"},\n-{\"eval_bits\", \"erlang-base\"},\n-{\"erl_scan\", \"erlang-base\"},\n-{\"unicode_util\", \"erlang-base\"},\n-{\"peer\", \"erlang-base\"},\n-{\"erl_tracer\", \"erlang-base\"},\n-{\"prim_file\", \"erlang-base\"},\n-{\"zlib\", \"erlang-base\"},\n-{\"socket_registry\", \"erlang-base\"},\n+{\"queue\", \"erlang-base\"},\n+{\"re\", \"erlang-base\"},\n+{\"erl_expand_records\", \"erlang-base\"},\n {\"prim_eval\", \"erlang-base\"},\n-{\"erts_code_purger\", \"erlang-base\"},\n-{\"erts_internal\", \"erlang-base\"},\n+{\"erl_tracer\", \"erlang-base\"},\n+{\"erts_literal_area_collector\", \"erlang-base\"},\n {\"erlang\", \"erlang-base\"},\n-{\"erl_init\", \"erlang-base\"},\n-{\"atomics\", \"erlang-base\"},\n {\"erts_dirty_process_signal_handler\", \"erlang-base\"},\n-{\"counters\", \"erlang-base\"},\n-{\"erts_literal_area_collector\", \"erlang-base\"},\n-{\"prim_zip\", \"erlang-base\"},\n {\"erl_prim_loader\", \"erlang-base\"},\n-{\"erts_trace_cleaner\", \"erlang-base\"},\n-{\"prim_inet\", \"erlang-base\"},\n-{\"persistent_term\", \"erlang-base\"},\n {\"prim_buffer\", \"erlang-base\"},\n+{\"socket_registry\", \"erlang-base\"},\n+{\"prim_inet\", \"erlang-base\"},\n+{\"init\", \"erlang-base\"},\n+{\"counters\", \"erlang-base\"},\n+{\"erts_trace_cleaner\", \"erlang-base\"},\n+{\"prim_file\", \"erlang-base\"},\n+{\"erl_init\", \"erlang-base\"},\n+{\"atomics\", \"erlang-base\"},\n {\"prim_socket\", \"erlang-base\"},\n {\"prim_net\", \"erlang-base\"},\n-{\"init\", \"erlang-base\"},\n-{\"beam_ssa_recv\", \"erlang-base\"},\n-{\"core_lib\", \"erlang-base\"},\n-{\"beam_ssa_dead\", \"erlang-base\"},\n-{\"beam_types\", \"erlang-base\"},\n-{\"rec_env\", \"erlang-base\"},\n-{\"sys_core_prepare\", \"erlang-base\"},\n-{\"beam_validator\", \"erlang-base\"},\n-{\"sys_core_inline\", \"erlang-base\"},\n-{\"sys_core_bsm\", \"erlang-base\"},\n-{\"beam_ssa_pp\", \"erlang-base\"},\n-{\"sys_core_fold\", \"erlang-base\"},\n-{\"beam_bounds\", \"erlang-base\"},\n-{\"sys_core_alias\", \"erlang-base\"},\n-{\"beam_call_types\", \"erlang-base\"},\n-{\"beam_listing\", \"erlang-base\"},\n-{\"v3_core\", \"erlang-base\"},\n-{\"beam_core_to_ssa\", \"erlang-base\"},\n-{\"beam_z\", \"erlang-base\"},\n-{\"sys_pre_attributes\", \"erlang-base\"},\n-{\"beam_clean\", \"erlang-base\"},\n-{\"core_pp\", \"erlang-base\"},\n-{\"cerl_trees\", \"erlang-base\"},\n-{\"beam_ssa_lint\", \"erlang-base\"},\n-{\"beam_ssa_bool\", \"erlang-base\"},\n-{\"erl_bifs\", \"erlang-base\"},\n-{\"beam_asm\", \"erlang-base\"},\n-{\"beam_a\", \"erlang-base\"},\n-{\"beam_ssa_destructive_update\", \"erlang-base\"},\n-{\"cerl\", \"erlang-base\"},\n-{\"beam_digraph\", \"erlang-base\"},\n-{\"sys_messages\", \"erlang-base\"},\n-{\"beam_ssa_share\", \"erlang-base\"},\n-{\"beam_ssa\", \"erlang-base\"},\n-{\"beam_ssa_bc_size\", \"erlang-base\"},\n-{\"beam_ssa_ss\", \"erlang-base\"},\n-{\"sys_core_fold_lists\", \"erlang-base\"},\n-{\"beam_ssa_check\", \"erlang-base\"},\n-{\"beam_utils\", \"erlang-base\"},\n-{\"beam_opcodes\", \"erlang-base\"},\n-{\"core_scan\", \"erlang-base\"},\n-{\"cerl_clauses\", \"erlang-base\"},\n-{\"beam_flatten\", \"erlang-base\"},\n-{\"core_parse\", \"erlang-base\"},\n-{\"beam_ssa_pre_codegen\", \"erlang-base\"},\n-{\"core_lint\", \"erlang-base\"},\n-{\"beam_trim\", \"erlang-base\"},\n-{\"beam_disasm\", \"erlang-base\"},\n-{\"beam_block\", \"erlang-base\"},\n-{\"beam_jump\", \"erlang-base\"},\n-{\"beam_ssa_alias\", \"erlang-base\"},\n-{\"cerl_inline\", \"erlang-base\"},\n-{\"beam_doc\", \"erlang-base\"},\n-{\"beam_ssa_codegen\", \"erlang-base\"},\n-{\"beam_ssa_opt\", \"erlang-base\"},\n-{\"beam_ssa_throw\", \"erlang-base\"},\n-{\"beam_ssa_bsm\", \"erlang-base\"},\n-{\"sys_coverage\", \"erlang-base\"},\n-{\"beam_dict\", \"erlang-base\"},\n-{\"beam_ssa_type\", \"erlang-base\"},\n-{\"compile\", \"erlang-base\"},\n+{\"prim_zip\", \"erlang-base\"},\n+{\"erts_code_purger\", \"erlang-base\"},\n+{\"persistent_term\", \"erlang-base\"},\n+{\"erts_internal\", \"erlang-base\"},\n+{\"zlib\", \"erlang-base\"},\n {\"asn1_db\", \"erlang-asn1\"},\n {\"asn1ct\", \"erlang-asn1\"},\n {\"asn1ct_check\", \"erlang-asn1\"},\n {\"asn1ct_constructed_ber_bin_v2\", \"erlang-asn1\"},\n {\"asn1ct_constructed_per\", \"erlang-asn1\"},\n {\"asn1ct_eval_ext\", \"erlang-asn1\"},\n {\"asn1ct_func\", \"erlang-asn1\"},\n"}]}]}]}, {"source1": "erlang-doc_27.3.3+dfsg-1_all.deb", "source2": "erlang-doc_27.3.3+dfsg-1_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2025-04-16 14:20:18.000000 debian-binary\n -rw-r--r-- 0 0 0 39648 2025-04-16 14:20:18.000000 control.tar.xz\n--rw-r--r-- 0 0 0 16751712 2025-04-16 14:20:18.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 16754604 2025-04-16 14:20:18.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: erlang-doc\n Source: erlang\n Version: 1:27.3.3+dfsg-1\n Architecture: all\n Maintainer: Debian Erlang Packagers \n \n
\n \n
-record(rec, {f1 = 42 :: integer(),\n+ f2 :: float(),\n+ f3 :: 'a' | 'b'}).\n \n--record(rec, {f1 = 42 :: integer(),\n- f2 :: 'undefined' | float(),\n- f3 :: 'undefined' | 'a' | 'b'}).
This is no longer the case. If you require 'undefined'
in your record field\n+-record(rec, {f1 = 42 :: integer(),\n+ f2 :: 'undefined' | float(),\n+ f3 :: 'undefined' | 'a' | 'b'}).
This is no longer the case. If you require 'undefined'
in your record field\n type, you must explicitly add it to the typespec, as in the 2nd example.
Any record, containing type information or not, once defined, can be used as a\n type using the following syntax:
#rec{}
In addition, the record fields can be further specified when using a record type\n by adding type information about the field as follows:
#rec{some_field :: Type}
Any unspecified fields are assumed to have the type in the original record\n declaration.
When records are used to create patterns for ETS and Mnesia match functions,\n-Dialyzer may need some help not to emit bad warnings. For example:
-type height() :: pos_integer().\n--record(person, {name :: string(), height :: height()}).\n+Dialyzer may need some help not to emit bad warnings. For example:-type height() :: pos_integer().\n+-record(person, {name :: string(), height :: height()}).\n \n-lookup(Name, Tab) ->\n- ets:match_object(Tab, #person{name = Name, _ = '_'}).
Dialyzer will emit a warning since '_'
is not in the type of record field\n+
lookup(Name, Tab) ->\n+ ets:match_object(Tab, #person{name = Name, _ = '_'}).
Dialyzer will emit a warning since '_'
is not in the type of record field\n height
.
The recommended way of dealing with this is to declare the smallest record\n field types to accommodate all your needs, and then create refinements as\n-needed. The modified example:
-record(person, {name :: string(), height :: height() | '_'}).\n+needed. The modified example:-record(person, {name :: string(), height :: height() | '_'}).\n \n--type person() :: #person{height :: height()}.
In specifications and type declarations the type person()
is to be preferred\n+
-type person() :: #person{height :: height()}.
In specifications and type declarations the type person()
is to be preferred\n before #person{}
.
A specification (or contract) for a function is given using the -spec
\n attribute. The general format is as follows:
-spec Function(ArgType1, ..., ArgTypeN) -> ReturnType.
An implementation of the function with the same name Function
must exist in\n the current module, and the arity of the function must match the number of\n arguments, otherwise the compilation fails.
The following longer format with module name is also valid as long as Module
\n is the name of the current module. This can be useful for documentation\n purposes.
-spec Module:Function(ArgType1, ..., ArgTypeN) -> ReturnType.
Also, for documentation purposes, argument names can be given:
-spec Function(ArgName1 :: Type1, ..., ArgNameN :: TypeN) -> RT.
A function specification can be overloaded. That is, it can have several types,\n-separated by a semicolon (;
). For example:
-spec foo(T1, T2) -> T3;\n- (T4, T5) -> T6.
A current restriction, which currently results in a warning by Dialyzer, is that\n+separated by a semicolon (;
). For example:
-spec foo(T1, T2) -> T3;\n+ (T4, T5) -> T6.
A current restriction, which currently results in a warning by Dialyzer, is that\n the domains of the argument types cannot overlap. For example, the following\n-specification results in a warning:
-spec foo(pos_integer()) -> pos_integer();\n- (integer()) -> integer().
Type variables can be used in specifications to specify relations for the input\n+specification results in a warning:
-spec foo(pos_integer()) -> pos_integer();\n+ (integer()) -> integer().
Type variables can be used in specifications to specify relations for the input\n and output arguments of a function. For example, the following specification\n defines the type of a polymorphic identity function:
-spec id(X) -> X.
Notice that the above specification does not restrict the input and output type\n in any way. These types can be constrained by guard-like subtype constraints and\n-provide bounded quantification:
-spec id(X) -> X when X :: tuple().
Currently, the ::
constraint (read as "is a subtype of") is the only guard\n+provide bounded quantification:
-spec id(X) -> X when X :: tuple().
Currently, the ::
constraint (read as "is a subtype of") is the only guard\n constraint that can be used in the when
part of a -spec
attribute.
The above function specification uses multiple occurrences of the same type\n variable. That provides more type information than the following function\n-specification, where the type variables are missing:
-spec id(tuple()) -> tuple().
The latter specification says that the function takes some tuple and returns\n+specification, where the type variables are missing:
-spec id(tuple()) -> tuple().
The latter specification says that the function takes some tuple and returns\n some tuple. The specification with the X
type variable specifies that the\n function takes a tuple and returns the same tuple.
However, it is up to the tools that process the specifications to choose\n whether to take this extra information into account or not.
The scope of a ::
constraint is the (...) -> RetType
specification after\n which it appears. To avoid confusion, it is suggested that different variables\n are used in different constituents of an overloaded contract, as shown in the\n-following example:
-spec foo({X, integer()}) -> X when X :: atom();\n- ([Y]) -> Y when Y :: number().
Some functions in Erlang are not meant to return; either because they define\n+following example:
-spec foo({X, integer()}) -> X when X :: atom();\n+ ([Y]) -> Y when Y :: number().
Some functions in Erlang are not meant to return; either because they define\n servers or because they are used to throw exceptions, as in the following\n-function:
my_error(Err) -> throw({error, Err}).
For such functions, it is recommended to use the special no_return/0
type\n+function:
my_error(Err) -> throw({error, Err}).
For such functions, it is recommended to use the special no_return/0
type\n for their "return", through a contract of the following form:
-spec my_error(term()) -> no_return().
Erlang uses the shorthand version _
as an anonymous type variable equivalent\n to term/0
or any/0
. For example, the following function
-spec Function(string(), _) -> string().
is equivalent to:
-spec Function(string(), any()) -> string().