blob: ce67fd0f29558ca44eb710ee99042b79e323304a [file] [edit]
<!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>&nbsp;<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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</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">&nbsp;πŸ”’</span> </dt></dl></section></div></main></body></html>