/* Ċ Ġ* ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠMIT Ġlicense Ġthat Ġcan Ġbe Ċ Ġ* Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ Ġ*/ Ċ Ċ package Ġorg . rust . lang . core . completion Ċ Ċ import Ġorg . intellij . lang . annotations . Language Ċ import Ġorg . rust . ide . settings . Rs Code Insight Settings Ċ Ċ class ĠRs Trait Method Completion Test Ġ: ĠRs Completion TestBase () Ġ{ ĊĊĠĠĠ Ġfun Ġ` test Ġauto Ġimport Ġtrait Ġwhile Ġmethod Ġcompletion Ġ 1 `() Ġ= Ġdo Test (""" ĊĠĠĠĠĠĠĠ Ġmod Ġbaz Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġtrait ĠFoo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġstruct ĠBar ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġimpl ĠFoo Ġfor ĠBar Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġuse Ġbaz :: Bar ; ĊĊĠĠĠĠĠĠĠ Ġfn Ġmain () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . fo /* caret */ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ"" ", Ġ""" ĊĠĠĠĠĠĠĠ Ġmod Ġbaz Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġtrait ĠFoo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġstruct ĠBar ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġimpl ĠFoo Ġfor ĠBar Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġuse Ġbaz ::{ Bar , ĠFoo }; ĊĊĠĠĠĠĠĠĠ Ġfn Ġmain () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . foo () /* caret */ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ"" ") ĊĊĠĠĠ Ġfun Ġ` test Ġauto Ġimport Ġtrait Ġwhile Ġmethod Ġcompletion Ġ 2 `() Ġ= Ġdo Test (""" ĊĠĠĠĠĠĠĠ Ġmod Ġbaz Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġtrait ĠFoo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self , Ġx : Ġi 3 2 ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġstruct ĠBar ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġimpl ĠFoo Ġfor ĠBar Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self , Ġx : Ġi 3 2 ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġuse Ġbaz :: Bar ; ĊĊĠĠĠĠĠĠĠ Ġfn Ġmain () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . fo /* caret */ () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ"" ", Ġ""" ĊĠĠĠĠĠĠĠ Ġmod Ġbaz Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġtrait ĠFoo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self , Ġx : Ġi 3 2 ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġstruct ĠBar ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġimpl ĠFoo Ġfor ĠBar Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self , Ġx : Ġi 3 2 ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġuse Ġbaz ::{ Bar , ĠFoo }; ĊĊĠĠĠĠĠĠĠ Ġfn Ġmain () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . foo (/* caret */) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ"" ") ĊĊĠĠĠ Ġfun Ġ` test Ġauto Ġimport Ġtrait Ġwhile Ġmethod Ġcompletion Ġ 3 `() Ġ= Ġdo Test (""" ĊĠĠĠĠĠĠĠ Ġmod Ġbaz Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġtrait ĠFoo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġstruct ĠBar ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġimpl ĠFoo Ġfor ĠBar Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġuse Ġbaz :: Bar ; ĊĊĠĠĠĠĠĠĠ Ġfn Ġmain () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . /* caret */ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ"" ", Ġ""" ĊĠĠĠĠĠĠĠ Ġmod Ġbaz Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġtrait ĠFoo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġstruct ĠBar ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġimpl ĠFoo Ġfor ĠBar Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġuse Ġbaz ::{ Bar , ĠFoo }; ĊĊĠĠĠĠĠĠĠ Ġfn Ġmain () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . foo () /* caret */ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ"" ") ĊĊĠĠĠ Ġfun Ġ` test Ġauto Ġimport Ġtrait Ġwhile Ġmethod Ġcompletion Ġfor Ġmultiple Ġcare ts `() Ġ= Ġdo Test (""" ĊĠĠĠĠĠĠĠ Ġmod Ġbaz Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġtrait ĠFoo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġstruct ĠBar ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġimpl ĠFoo Ġfor ĠBar Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġuse Ġbaz :: Bar ; ĊĊĠĠĠĠĠĠĠ Ġfn Ġmain () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . fo /* caret */ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . fo /* caret */ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . fo /* caret */ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ"" ", Ġ""" ĊĠĠĠĠĠĠĠ Ġmod Ġbaz Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġtrait ĠFoo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġstruct ĠBar ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġimpl ĠFoo Ġfor ĠBar Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġuse Ġbaz ::{ Bar , ĠFoo }; ĊĊĠĠĠĠĠĠĠ Ġfn Ġmain () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . foo () /* caret */ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . foo () /* caret */ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . foo () /* caret */ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ"" ") ĊĊĠĠĠ Ġfun Ġ` test Ġdo Ġnot Ġinsert Ġtrait Ġimport Ġwhile Ġmethod Ġcompletion Ġwhen Ġtrait Ġin Ġscope `() Ġ= Ġdo Test (""" ĊĠĠĠĠĠĠĠ Ġmod Ġbaz Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġtrait ĠFoo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġstruct ĠBar ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġimpl ĠFoo Ġfor ĠBar Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġuse Ġbaz ::{ Bar , ĠFoo }; ĊĊĠĠĠĠĠĠĠ Ġfn Ġmain () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . fo /* caret */ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ"" ", Ġ""" ĊĠĠĠĠĠĠĠ Ġmod Ġbaz Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġtrait ĠFoo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġstruct ĠBar ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġimpl ĠFoo Ġfor ĠBar Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġuse Ġbaz ::{ Bar , ĠFoo }; ĊĊĠĠĠĠĠĠĠ Ġfn Ġmain () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . foo () /* caret */ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ"" ") ĊĊĠĠĠ Ġfun Ġ` test Ġdo Ġnot Ġinsert Ġtrait Ġimport Ġwhile Ġmethod Ġcompletion Ġwhen Ġsetting Ġdisabled `() Ġ= Ġdo Test (""" ĊĠĠĠĠĠĠĠ Ġmod Ġbaz Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġtrait ĠFoo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self , Ġx : Ġi 3 2 ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġstruct ĠBar ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġimpl ĠFoo Ġfor ĠBar Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self , Ġx : Ġi 3 2 ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġuse Ġbaz :: Bar ; ĊĊĠĠĠĠĠĠĠ Ġfn Ġmain () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . fo /* caret */ () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ"" ", Ġ""" ĊĠĠĠĠĠĠĠ Ġmod Ġbaz Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġtrait ĠFoo Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self , Ġx : Ġi 3 2 ); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġpub Ġstruct ĠBar ; ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġimpl ĠFoo Ġfor ĠBar Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfn Ġfoo (& self , Ġx : Ġi 3 2 ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġuse Ġbaz :: Bar ; ĊĊĠĠĠĠĠĠĠ Ġfn Ġmain () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBar . foo (/* caret */) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ"" ", Ġimport OutOf Scope Items Ġ= Ġfalse ) ĊĊĠĠĠ Ġprivate Ġfun Ġdo Test ( ĊĠĠĠĠĠĠĠ Ġ@ Language (" Rust ") Ġbefore : ĠString , ĊĠĠĠĠĠĠĠ Ġ@ Language (" Rust ") Ġafter : ĠString , ĊĠĠĠĠĠĠĠ Ġimport OutOf Scope Items : ĠBoolean Ġ= Ġtrue ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsettings Ġ= ĠRs Code Insight Settings . getInstance () ĊĠĠĠĠĠĠĠ Ġval Ġinitial Value Ġ= Ġsettings . import OutOf Scope Items ĊĠĠĠĠĠĠĠ Ġsettings . import OutOf Scope Items Ġ= Ġimport OutOf Scope Items ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdo Single Completion ( before , Ġafter ) ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsettings . import OutOf Scope Items Ġ= Ġinitial Value ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ