Skip to content

Finalizer not run on tuple-like structs #4735

Closed
@brson

Description

@brson

Leaks.

use core::cast::transmute;
use core::libc::c_void;

struct NonCopyable(*c_void);

impl NonCopyable: Drop {
    fn finalize(&self) {
        let p = **self;
        let v = unsafe { transmute::<*c_void, ~int>(p) };
    }
}

fn main() {
    let t = ~0;
    let p = unsafe { transmute::<~int, *c_void>(t) };
    let z = NonCopyable(p);
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-codegenArea: Code generation

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions