
class C1 {
    public:
        int val;
        C1(int x) {
            val = x;
        }

    bool operator==(const C1 &other) const {
        return val == other.val;
    }
};

class C2 {
    public:
        int val;
        C2(int x) {
            val = x;
        }
        ~C2() {
            ;
        }

    bool operator==(const C2 &other) const {
        return val == other.val;
    }
};

static void f1(void) {
    if (C1(1) == C1(2)) {
        ;
    }
    if (C1(3) == C1(3)) {
        ;
    }
}

static void f2(void) {
    if (C2(1) == C2(2)) {
        ;
    }
    if (C2(3) == C2(3)) {
        ;
    }
}

