@@ -436,50 +436,73 @@ pub enum DiagnosticKind {
436436}
437437
438438// Opaque pointer types
439+ #[ derive( Copy ) ]
439440pub enum Module_opaque { }
440441pub type ModuleRef = * mut Module_opaque ;
442+ #[ derive( Copy ) ]
441443pub enum Context_opaque { }
442444pub type ContextRef = * mut Context_opaque ;
445+ #[ derive( Copy ) ]
443446pub enum Type_opaque { }
444447pub type TypeRef = * mut Type_opaque ;
448+ #[ derive( Copy ) ]
445449pub enum Value_opaque { }
446450pub type ValueRef = * mut Value_opaque ;
451+ #[ derive( Copy ) ]
447452pub enum Metadata_opaque { }
448453pub type MetadataRef = * mut Metadata_opaque ;
454+ #[ derive( Copy ) ]
449455pub enum BasicBlock_opaque { }
450456pub type BasicBlockRef = * mut BasicBlock_opaque ;
457+ #[ derive( Copy ) ]
451458pub enum Builder_opaque { }
452459pub type BuilderRef = * mut Builder_opaque ;
460+ #[ derive( Copy ) ]
453461pub enum ExecutionEngine_opaque { }
454462pub type ExecutionEngineRef = * mut ExecutionEngine_opaque ;
463+ #[ derive( Copy ) ]
455464pub enum RustJITMemoryManager_opaque { }
456465pub type RustJITMemoryManagerRef = * mut RustJITMemoryManager_opaque ;
466+ #[ derive( Copy ) ]
457467pub enum MemoryBuffer_opaque { }
458468pub type MemoryBufferRef = * mut MemoryBuffer_opaque ;
469+ #[ derive( Copy ) ]
459470pub enum PassManager_opaque { }
460471pub type PassManagerRef = * mut PassManager_opaque ;
472+ #[ derive( Copy ) ]
461473pub enum PassManagerBuilder_opaque { }
462474pub type PassManagerBuilderRef = * mut PassManagerBuilder_opaque ;
475+ #[ derive( Copy ) ]
463476pub enum Use_opaque { }
464477pub type UseRef = * mut Use_opaque ;
478+ #[ derive( Copy ) ]
465479pub enum TargetData_opaque { }
466480pub type TargetDataRef = * mut TargetData_opaque ;
481+ #[ derive( Copy ) ]
467482pub enum ObjectFile_opaque { }
468483pub type ObjectFileRef = * mut ObjectFile_opaque ;
484+ #[ derive( Copy ) ]
469485pub enum SectionIterator_opaque { }
470486pub type SectionIteratorRef = * mut SectionIterator_opaque ;
487+ #[ derive( Copy ) ]
471488pub enum Pass_opaque { }
472489pub type PassRef = * mut Pass_opaque ;
490+ #[ derive( Copy ) ]
473491pub enum TargetMachine_opaque { }
474492pub type TargetMachineRef = * mut TargetMachine_opaque ;
493+ #[ derive( Copy ) ]
475494pub enum Archive_opaque { }
476495pub type ArchiveRef = * mut Archive_opaque ;
496+ #[ derive( Copy ) ]
477497pub enum Twine_opaque { }
478498pub type TwineRef = * mut Twine_opaque ;
499+ #[ derive( Copy ) ]
479500pub enum DiagnosticInfo_opaque { }
480501pub type DiagnosticInfoRef = * mut DiagnosticInfo_opaque ;
502+ #[ derive( Copy ) ]
481503pub enum DebugLoc_opaque { }
482504pub type DebugLocRef = * mut DebugLoc_opaque ;
505+ #[ derive( Copy ) ]
483506pub enum SMDiagnostic_opaque { }
484507pub type SMDiagnosticRef = * mut SMDiagnostic_opaque ;
485508
@@ -490,6 +513,7 @@ pub mod debuginfo {
490513 pub use self :: DIDescriptorFlags :: * ;
491514 use super :: { MetadataRef } ;
492515
516+ #[ derive( Copy ) ]
493517 pub enum DIBuilder_opaque { }
494518 pub type DIBuilderRef = * mut DIBuilder_opaque ;
495519
@@ -2191,6 +2215,7 @@ pub fn get_param(llfn: ValueRef, index: c_uint) -> ValueRef {
21912215 }
21922216}
21932217
2218+ #[ derive( Copy ) ]
21942219pub enum RustString_opaque { }
21952220pub type RustStringRef = * mut RustString_opaque ;
21962221type RustStringRepr = * mut RefCell < Vec < u8 > > ;
0 commit comments