Robin Morisset

Results 15 issues of Robin Morisset

This is not a bug, but a proposed simplification. These lines include the following parts: - (stor[W]) . (hb & avvisinc) . avdv - visdv . (hb & avvisinc) ....

This memory model appears to have inherited from C++ the issue of allowing causality cycles (a.k.a. out-of-thin-air reads). For example, the following program (in pseudo-code): ``` Thread 1: r =...

When only one field of an ETS record is needed, using ets:lookup_element is usually faster than ets:lookup. This patch makes sure that we do so when possible in various erlang...

team:VM
enhancement

Part of pg.erl in the stdlib has the following pattern: ``` [{Key, Value1, Value2}] = ets:lookup(Table, Key) ``` Because Key appears on the left side, and is already bound, it...

team:VM
enhancement
testing

``` foo(X) -> = ( = 42). ``` is rejected by erlc with test.erl:5:3: binary patterns cannot be matched in parallel using '='. This surprised me because I expected it...

team:VM
bug

@michalmuskala pointed to me that sometimes ets:lookup_element can be slower than ets:lookup, even when the value is found. For example: ``` erlperf "ets:lookup(ac_tab, {env, kernel, logger})." "ets:lookup_element(ac_tab, {env, kernel, logger},...

team:VM

Running gradualizer on the following erlang code: ```erlang f() -> ok. ``` results in the following crash: ``` escript: exception error: an error occurred when evaluating an arithmetic expression in...

bug

Running gradualizer on the following Erlang code: ```erlang f() -> (abs(_V0 = erlang:abs(erlang:abs(1.0))) =:= ok) orelse is_map_key(_V0, ok). ``` results in the following crash: ``` escript: exception error: bad key:...

bug

Running gradualizer on the following erlang code: ```erlang -export([f/0]). f() -> fun() when is_list(undefined) -> ok end. f(#{(ok#{ok := ok}) := _}) -> ok. ``` results in the following crash:...

bug

Running gradualizer on the following erlang code: ``` f() when binary_part(, ok, ok) >= ok -> ok. ``` results in the following crash: ``` escript: exception error: construction of binary...

bug