remove_self_loops is also changing the original graph which is not the expected behaviour
MWE
using GNNGraphs
g = GNNGraph([1 1; 0 1]; graph_type = :dense)
g2 = remove_self_loops(g)
adjacency_matrix(g) # g will be changed
adjacency_matrix(g2) # same
g.graph === g2.graph