// All Builders must have an llfn associated with them
#[must_use]
-pub struct Builder<'a, 'll: 'a, 'tcx: 'll> {
+pub struct Builder<'a, 'll, 'tcx> {
pub llbuilder: &'ll mut llvm::Builder<'ll>,
pub cx: &'a CodegenCx<'ll, 'tcx>,
}
}
impl ty::layout::HasTyCtxt<'tcx> for Builder<'_, '_, 'tcx> {
- fn tcx<'a>(&'a self) -> TyCtxt<'a, 'tcx, 'tcx> {
+ fn tcx(&self) -> TyCtxt<'tcx> {
self.cx.tcx
}
}
unsafe {
llvm::$llvm_capi(self.llbuilder, $($arg,)* UNNAMED)
}
- })*
+ })+
}
}
ret.expect("LLVM does not have support for catchret")
}
- fn check_store<'b>(&mut self,
- val: &'ll Value,
- ptr: &'ll Value) -> &'ll Value {
+ fn check_store(&mut self, val: &'ll Value, ptr: &'ll Value) -> &'ll Value {
let dest_ptr_ty = self.cx.val_ty(ptr);
let stored_ty = self.cx.val_ty(val);
let stored_ptr_ty = self.cx.type_ptr_to(stored_ty);