Age | Commit message (Collapse) | Author |
|
|
|
|
|
* peppe/common_test/ts_mods:
Add more Common Test start arguments to the ts run interface
|
|
* bjorn/eep37/OTP-11537:
Issue a warning when a named fun is constructed but not used
|
|
Nice crash instead of segv or worse.
|
|
Dialyzer will warn if the value of list comprehension is
ignored by putting it in a sequence like this:
[SomeSideEffect(E) || E <- Es],
ok
To avoid a warning, you'll have to write:
_ = [SomeSideEffect(E) || E <- Es],
ok
Most of the time, this warning is merely annoying because it does
not point out any real errors.
Kostis Sagonas suggested that by suppressing the warning for
list comprehension that return a list of a simple type (e.g. ['ok']),
there would be no warning for code such as:
[io:format("~p\n", [E]) || E <- Es],
ok
but there would be still be a warning for:
[file:close(Fd) || Fd <- Fds],
ok
because an error condition is ignored.
|
|
The old command failed with unresolved symbol __guard_local
|
|
|
|
Records were not properly expanded in keys in patterns and in arguments in
map updates.
|
|
* nox/syntax_tools/maps-support/OTP-11663:
Support maps in erl_prettypr
Complete support of maps in erl_syntax
|
|
In e12b7d5331c58b41db06cadfa4af75b78b62a2b1, a bug was introduced
that would cause case expressions to be evaluated more than once
if there were aliases in the pattern. Example:
X = Y = io:put_chars("some chars"),
{X,Y}
That would be rewritten to code similar to (but in Core Erlang):
X = io:put_chars("some chars"),
X = io:put_chars("some chars"),
{X,Y}
Make sure that we only evalute the expression once by doing a
transformation similar to (but in Core Erlang):
NewVar = io:put_chars("some chars"),
X = NewVar,
Y = NewVar,
{X,Y}
Reported-by: José Valim
Reported-by: Anthony Ramine
|
|
|
|
Do not saw the branch you are sitting on...
Spawn cdv so that cdv get its own wx environment.
|
|
A test is commented-out in map_SUITE:t_update_exact/1, waiting for a fixed
maps:update/3 function with correct integer/float semantics.
|
|
As all the options to the pretty printer are 2-tuples, lists:keyfind/3 is
faster replacement for proplists:get_value/3.
|
|
|
|
Heap binaries crashed, rework it and add links always.
So the user can the binary in hex or whatever view he wants
|
|
|
|
|
|
* egil/compiler/strengthen-tests:
compiler: Teach beam_disasm has_map_field instruction
compiler: Fold binary Map key patterns to literals
compiler: Strengthen listings tests
compiler: Strengthen Maps tests
|
|
|
|
Trees {record,Line,Arg,Name,Fields} were not munged.
|
|
They are bare atoms, atoms or variables in the abstract format, there is no need to
pass them through munge_expr/2.
|
|
|
|
|
|
|
|
Map fields (K := V, K => V) are not expressions and shouldn't be clauses of
erl_eval:expr/5.
|
|
map_expr/1
map_expr/2
map_expr_argument/1
map_expr_fields/1
map_field_assoc/2
map_field_assoc_name/1
map_field_assoc_value/1
map_field_exact/2
map_field_exact_name/1
map_field_exact_value/1
|
|
|
|
|
|
|
|
Unfortunately the code in question is not covered by our test
suites, but it should be correct to do the same thing as in
the clause above.
|
|
check_integer/3 can check nothing for an INTEGER without any named
values. Remove the useless call to silence a dialyzer warning for
unmatched return.
|
|
The value for an OCTET STRING must be specified as either a bstring
or an hstring. Everything else (including character strings) is
illegal.
This correction also removes the offending code that caused an
unmatched return warning from dialyzer.
|
|
|
|
Unused flexibility complicates the code and can hide bugs.
new/1 is never called with a table name that already exists, so
we should remove the code that allows for that. That will increase
the coverage of asn1ct_table to 100%.
Also remove the new/2 and new_reuse/2 functions which are never
called externally.
|
|
Change the code so that delete/1 always returns 'true'.
While at it, also remove the TODO comment and explain in a comment
why we want to keep the delete/1 function.
|
|
|
|
|
|
This will silence a dialyzer warning for unmatched return.
|
|
|
|
|
|
|
|
Dialyzer does not like list comprehensions for which the result is not
assigned to some variable (maybe anonymous). In this particular case,
the comprehension, containing only a filter but no generator, was used
to save some lines, but IMO this type of code, while "cute", is not so
easy to comprehend.
|
|
|
|
The HiPE compiler crashes when trying to compile these files because
it does not currently support maps. So, add a -compile(no_native)
attribute to these files to allow the system to be made even when
configured with --enable-native-libs.
This is a temporary fix and will be removed when the HiPE compiler
gets proper support for maps.
|
|
|
|
* ia/inets/tests:
inets: Rewrite of test case to avoid timing issues in test code
|
|
* ia/ssl/openssl-1.0.1e:
ssl: Add workaround in test code for openssl s_client bug
|
|
* nox/syntax-tools-named-fun-fixes/OTP-11651:
Fix representation of named funs in syntax_tools
|