function symbol 'void func(struct foo)' {_Z4func3foo} changed
  type 'void(struct foo)' changed
    parameter 1 type 'struct foo' changed

type 'struct foo' changed
  member changed from 'int& lref_to_ptr' to 'int* lref_to_ptr'
    type changed from 'int&' to 'int*'
  member changed from 'int* ptr_to_lref' to 'int& ptr_to_lref'
    type changed from 'int*' to 'int&'
  member changed from 'int&& rref_to_ptr' to 'int* rref_to_ptr'
    type changed from 'int&&' to 'int*'
  member changed from 'int* ptr_to_rref' to 'int&& ptr_to_rref'
    type changed from 'int*' to 'int&&'
  member changed from 'int& lref_to_rref' to 'int&& lref_to_rref'
    type changed from 'int&' to 'int&&'
  member changed from 'int&& rref_to_lref' to 'int& rref_to_lref'
    type changed from 'int&&' to 'int&'

exit code 4
