/** * AnnotationNotifyFunc: * @data: (closure): The user data * * This is a callback with a 'closure' argument that is not named * 'user_data' and hence has to be annotated. */ AnnotationNotifyFunc data closure The user data This is a callback with a 'closure' argument that is not named 'user_data' and hence has to be annotated. /** * AnnotationNotifyFunc: * @data: (closure): The user data * * This is a callback with a 'closure' argument that is not named * 'user_data' and hence has to be annotated. */ /** * annotation_custom_destroy: * @callback: (destroy destroy) (closure data): Destroy notification * * Test messing up the heuristic of closure/destroy-notification * detection, and fixing it via annotations. */ annotation_custom_destroy callback destroy closure Destroy notification Test messing up the heuristic of closure/destroy-notification detection, and fixing it via annotations. /** * annotation_custom_destroy: * @callback: (destroy destroy) (closure data): Destroy notification * * Test messing up the heuristic of closure/destroy-notification * detection, and fixing it via annotations. */ /** * annotation_custom_destroy: * @callback: (destroy destroy) (closure data=invalid): Destroy notification * * Test messing up the heuristic of closure/destroy-notification * detection, and fixing it via annotations. */ annotation_custom_destroy callback destroy closure Destroy notification Test messing up the heuristic of closure/destroy-notification detection, and fixing it via annotations. 3: Warning: Test: invalid annotation options: expected a "list" but received "key=value pairs": * @callback: (destroy destroy) (closure data=invalid): Destroy notification ^ /** * annotation_custom_destroy: * @callback: (destroy destroy) (closure data=invalid): Destroy notification * * Test messing up the heuristic of closure/destroy-notification * detection, and fixing it via annotations. */