Functions changes summary: 1 Removed, 3 Changed, 1 Added functions
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable

1 Removed function:

  [D] 'function void fn2(const callback)'

1 function with incompatible sub-type changes:

  [C] 'function double (int)& fn1(void)' has some sub-type changes:
    return type changed:
      in referenced type 'function type double (int)':
        return type changed:
          type name changed from 'double' to 'int'
          type size changed from 64 to 32 (in bits)

1 Added function:

  [A] 'function void fn2(const callback)'

2 functions with some indirect sub-type change:

  [C] 'function callback fn0(void)' has some indirect sub-type changes:
    return type changed:
      underlying type 'int (int)&' changed:
        in referenced type 'function type int (int)':
          return type changed:
            type name changed from 'int' to 'void'
            type size changed from 32 to 0 (in bits)

  [C] 'function void foo(S&)' has some indirect sub-type changes:
    parameter 1 of type 'S&' has sub-type changes:
      in referenced type 'class S':
        type size hasn't changed
        3 data member changes:
          type of 'int (& fnref0)(void)' changed:
            in referenced type 'function type int (void)':
              parameter 1 of type 'double' was added
          type of 'int (& fnref1)(void)' changed:
            in referenced type 'function type int (void)':
              entity changed from 'function type int (void)' to 'int*'
              type size hasn't changed
          type of 'int (& fnref2)(void)' changed:
            in referenced type 'function type int (void)':
              entity changed from 'function type int (void)' to 'int'
              type size changed from 64 to 32 (in bits)

