use gobject::GObject;
use libc::c_char;
use glib::GError;

enum NotifyNotificationPrivate {}

#[repr(C)]
pub struct NotifyNotification {
    _parent_object: GObject,
    _priv_: NotifyNotificationPrivate
}

extern "C" {
    pub fn notify_notification_new(summary: *const c_char,
                                   body: *const c_char,
                                   icon: *const c_char)
                                   -> *mut NotifyNotification;
    pub fn notify_notification_show(notification: *mut NotifyNotification,
                                    error: *mut *mut GError);
}

use gobject::GObject;
use libc::c_char;
use glib::GError;

#[repr(C)]
struct NotifyNotificationPrivate;

#[repr(C)]
pub struct NotifyNotification {
    _parent_object: GObject,
    _priv_: NotifyNotificationPrivate
}

extern "C" {
    pub fn notify_notification_new(summary: *const c_char,
                                   body: *const c_char,
                                   icon: *const c_char)
                                   -> *mut NotifyNotification;
    pub fn notify_notification_show(notification: *mut NotifyNotification,
                                    error: *mut *mut GError);
}

--- 
+++ 
@@ -2,8 +2,7 @@
 use libc::c_char;
 use glib::GError;
 
-#[repr(C)]
-struct NotifyNotificationPrivate;
+enum NotifyNotificationPrivate {}
 
 #[repr(C)]
 pub struct NotifyNotification {
Use a zero-variant enum instead of a zero-sized struct for representing opaque structs
