| <!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `generate_delegate_trait` mod in crate `ide_assists`."><title>ide_assists::handlers::generate_delegate_trait - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-6b053e98.ttf.woff2,FiraSans-Italic-81dc35de.woff2,FiraSans-Regular-0fe48ade.woff2,FiraSans-MediumItalic-ccf7e434.woff2,FiraSans-Medium-e1aa3f0a.woff2,SourceCodePro-Regular-8badfe75.ttf.woff2,SourceCodePro-Semibold-aa29a496.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2"href="../../../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../../../static.files/normalize-9960930a.css"><link rel="stylesheet" href="../../../static.files/rustdoc-77263533.css"><meta name="rustdoc-vars" data-root-path="../../../" data-static-root-path="../../../static.files/" data-current-crate="ide_assists" data-themes="" data-resource-suffix="" data-rustdoc-version="1.94.1 (e408947bf 2026-03-25)" data-channel="1.94.1" data-search-js="search-9e2438ea.js" data-stringdex-js="stringdex-b897f86f.js" data-settings-js="settings-c38705f0.js" ><script src="../../../static.files/storage-e2aeef58.js"></script><script defer src="../sidebar-items.js"></script><script defer src="../../../static.files/main-7bab91a1.js"></script><noscript><link rel="stylesheet" href="../../../static.files/noscript-ffcac47a.css"></noscript><link rel="alternate icon" type="image/png" href="../../../static.files/favicon-32x32-eab170b8.png"><link rel="icon" type="image/svg+xml" href="../../../static.files/favicon-044be391.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><rustdoc-topbar><h2><a href="#">Module generate_delegate_trait</a></h2></rustdoc-topbar><nav class="sidebar"><div class="sidebar-crate"><h2><a href="../../../ide_assists/index.html">ide_<wbr>assists</a><span class="version">0.0.0</span></h2></div><div class="sidebar-elems"><section id="rustdoc-toc"><h2 class="location"><a href="#">Module generate_<wbr>delegate_<wbr>trait</a></h2><h3><a href="#structs">Module Items</a></h3><ul class="block"><li><a href="#structs" title="Structs">Structs</a></li><li><a href="#enums" title="Enums">Enums</a></li><li><a href="#functions" title="Functions">Functions</a></li></ul></section><div id="rustdoc-modnav"><h2><a href="../index.html">In ide_<wbr>assists::<wbr>handlers</a></h2></div></div></nav><div class="sidebar-resizer" title="Drag to resize sidebar"></div><main><div class="width-limiter"><section id="main-content" class="content"><div class="main-heading"><div class="rustdoc-breadcrumbs"><a href="../../index.html">ide_assists</a>::<wbr><a href="../index.html">handlers</a></div><h1>Module <span>generate_<wbr>delegate_<wbr>trait</span> <button id="copy-path" title="Copy item path to clipboard">Copy item path</button></h1><rustdoc-toolbar></rustdoc-toolbar><span class="sub-heading"><a class="src" href="../../../src/ide_assists/handlers/generate_delegate_trait.rs.html#1-1984">Source</a> </span></div><h2 id="structs" class="section-header">Structs<a href="#structs" class="anchor">Β§</a></h2><dl class="item-table"><dt><a class="struct" href="struct.Field.html" title="struct ide_assists::handlers::generate_delegate_trait::Field">Field</a><span title="Restricted Visibility"> π</span> </dt><dd>A utility object that represents a structβs field.</dd><dt><a class="struct" href="struct.Struct.html" title="struct ide_assists::handlers::generate_delegate_trait::Struct">Struct</a><span title="Restricted Visibility"> π</span> </dt><dd>A utility struct that is used for the enclosing struct.</dd></dl><h2 id="enums" class="section-header">Enums<a href="#enums" class="anchor">Β§</a></h2><dl class="item-table"><dt><a class="enum" href="enum.Delegee.html" title="enum ide_assists::handlers::generate_delegate_trait::Delegee">Delegee</a><span title="Restricted Visibility"> π</span> </dt><dd>A field that we want to delegate can offer the enclosing struct |
| trait to implement in two ways. The first way is when the field |
| actually implements the trait and the second way is when the field |
| has a bound type parameter. We handle these cases in different ways |
| hence the enum.</dd></dl><h2 id="functions" class="section-header">Functions<a href="#functions" class="anchor">Β§</a></h2><dl class="item-table"><dt><a class="fn" href="fn.const_assoc_item.html" title="fn ide_assists::handlers::generate_delegate_trait::const_assoc_item">const_<wbr>assoc_<wbr>item</a><span title="Restricted Visibility"> π</span> </dt><dt><a class="fn" href="fn.filter_generic_params.html" title="fn ide_assists::handlers::generate_delegate_trait::filter_generic_params">filter_<wbr>generic_<wbr>params</a><span title="Restricted Visibility"> π</span> </dt><dd>Filters generic params, keeping only those whose names are not in <code>names_to_remove</code>.</dd><dt><a class="fn" href="fn.finalize_delegate.html" title="fn ide_assists::handlers::generate_delegate_trait::finalize_delegate">finalize_<wbr>delegate</a><span title="Restricted Visibility"> π</span> </dt><dd>Finalize the delegate impl by:</dd><dt><a class="fn" href="fn.func_assoc_item.html" title="fn ide_assists::handlers::generate_delegate_trait::func_assoc_item">func_<wbr>assoc_<wbr>item</a><span title="Restricted Visibility"> π</span> </dt><dt><a class="fn" href="fn.generate_args_for_impl.html" title="fn ide_assists::handlers::generate_delegate_trait::generate_args_for_impl">generate_<wbr>args_<wbr>for_<wbr>impl</a><span title="Restricted Visibility"> π</span> </dt><dt><a class="fn" href="fn.generate_delegate_trait.html" title="fn ide_assists::handlers::generate_delegate_trait::generate_delegate_trait">generate_<wbr>delegate_<wbr>trait</a><span title="Restricted Visibility"> π</span> </dt><dt><a class="fn" href="fn.generate_impl.html" title="fn ide_assists::handlers::generate_delegate_trait::generate_impl">generate_<wbr>impl</a><span title="Restricted Visibility"> π</span> </dt><dt><a class="fn" href="fn.generic_param_name.html" title="fn ide_assists::handlers::generate_delegate_trait::generic_param_name">generic_<wbr>param_<wbr>name</a><span title="Restricted Visibility"> π</span> </dt><dd>Extracts the name from a generic parameter.</dd><dt><a class="fn" href="fn.has_self_type.html" title="fn ide_assists::handlers::generate_delegate_trait::has_self_type">has_<wbr>self_<wbr>type</a><span title="Restricted Visibility"> π</span> </dt><dt><a class="fn" href="fn.process_assoc_item.html" title="fn ide_assists::handlers::generate_delegate_trait::process_assoc_item">process_<wbr>assoc_<wbr>item</a><span title="Restricted Visibility"> π</span> </dt><dt><a class="fn" href="fn.remove_instantiated_params.html" title="fn ide_assists::handlers::generate_delegate_trait::remove_instantiated_params">remove_<wbr>instantiated_<wbr>params</a><span title="Restricted Visibility"> π</span> </dt><dt><a class="fn" href="fn.remove_useless_where_clauses.html" title="fn ide_assists::handlers::generate_delegate_trait::remove_useless_where_clauses">remove_<wbr>useless_<wbr>where_<wbr>clauses</a><span title="Restricted Visibility"> π</span> </dt><dt><a class="fn" href="fn.rename_strukt_args.html" title="fn ide_assists::handlers::generate_delegate_trait::rename_strukt_args">rename_<wbr>strukt_<wbr>args</a><span title="Restricted Visibility"> π</span> </dt><dt><a class="fn" href="fn.resolve_name_conflicts.html" title="fn ide_assists::handlers::generate_delegate_trait::resolve_name_conflicts">resolve_<wbr>name_<wbr>conflicts</a><span title="Restricted Visibility"> π</span> </dt><dt><a class="fn" href="fn.transform_impl.html" title="fn ide_assists::handlers::generate_delegate_trait::transform_impl">transform_<wbr>impl</a><span title="Restricted Visibility"> π</span> </dt><dt><a class="fn" href="fn.ty_assoc_item.html" title="fn ide_assists::handlers::generate_delegate_trait::ty_assoc_item">ty_<wbr>assoc_<wbr>item</a><span title="Restricted Visibility"> π</span> </dt></dl></section></div></main></body></html> |