/
githubmirror
/
aspnetcore
Обзор
Документация
Войти
/
githubmirror
/
aspnetcore
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/Servers/IIS/AspNetCoreModuleV2/DefaultRules.ruleset
441 строка
21 KB
Aditya Mandaleeka
Address variable initialization warnings in ANCM (C26494) (#58904)
19 ноя 2024, 20:26
Не верифицирован
19 ноя 2024, 20:26
36c055c
Код
Авторство
О чём код?
<?xml version="1.0" encoding="utf-8"?> <RuleSet Name="DefaultRules" ToolsVersion="17.0"> <Include Path="allrules.ruleset" Action="Default" /> <Rules AnalyzerId="Microsoft.Analyzers.NativeCodeAnalysis" RuleNamespace="Microsoft.Rules.Native"> <Rule Id="C26100" Action="Error" /> <Rule Id="C26101" Action="Error" /> <Rule Id="C26105" Action="Error" /> <Rule Id="C26110" Action="Error" /> <Rule Id="C26111" Action="Error" /> <Rule Id="C26112" Action="Error" /> <Rule Id="C26115" Action="Error" /> <Rule Id="C26116" Action="Error" /> <Rule Id="C26117" Action="Error" /> <Rule Id="C26130" Action="Error" /> <Rule Id="C26135" Action="None" /> <!-- Missing annotation <annotation> at function '<func>' --> <Rule Id="C26140" Action="Error" /> <Rule Id="C26160" Action="None" /> <!-- Caller possibly failing to hold lock '<lock>' before calling function '<func>'. --> <Rule Id="C26165" Action="Error" /> <Rule Id="C26166" Action="Error" /> <Rule Id="C26167" Action="Error" /> <Rule Id="C26400" Action="None" /> <!-- Do not assign the result of an allocation or a function call with an owner<T> return value to a raw pointer --> <Rule Id="C26401" Action="None" /> <!-- Do not delete a raw pointer that is not an owner<T> --> <Rule Id="C26402" Action="Error" /> <Rule Id="C26403" Action="Error" /> <Rule Id="C26404" Action="Error" /> <Rule Id="C26405" Action="Error" /> <Rule Id="C26406" Action="Error" /> <Rule Id="C26407" Action="Error" /> <Rule Id="C26408" Action="Error" /> <Rule Id="C26409" Action="None" /> <!-- Avoid calling new and delete explicitly, use std::make_unique<T> instead --> <Rule Id="C26410" Action="Error" /> <Rule Id="C26411" Action="Error" /> <Rule Id="C26414" Action="None" /> <!-- Move, copy, reassign or reset a local smart pointer. --> <Rule Id="C26415" Action="None" /> <!-- Smart pointer parameter is used only to access contained pointer. Use T* or T& instead. --> <Rule Id="C26416" Action="Error" /> <Rule Id="C26417" Action="Error" /> <Rule Id="C26418" Action="None" /> <!-- Shared pointer parameter is not copied or moved. Use T* or T& instead. --> <Rule Id="C26426" Action="Error" /> <Rule Id="C26427" Action="Error" /> <Rule Id="C26429" Action="None" /> <!-- Symbol is never tested for nullness, it can be marked as gsl::not_null. --> <Rule Id="C26430" Action="None" /> <!-- Symbol '<var>' is not tested for nullness on all paths --> <Rule Id="C26431" Action="Error" /> <Rule Id="C26432" Action="None" /> <!-- If you define or delete any default operation in the type 'type-name', define or delete them all --> <Rule Id="C26433" Action="None" /> <!-- Function should be marked with override --> <Rule Id="C26434" Action="None" /> <!-- Function 'derived::function' hides a non-virtual function 'base::function' --> <Rule Id="C26435" Action="Error" /> <Rule Id="C26436" Action="None" /> <!-- The type 'symbol' with a virtual function needs either public virtual or protected non-virtual destructor --> <Rule Id="C26437" Action="Error" /> <Rule Id="C26438" Action="None" /> <!-- Avoid goto --> <Rule Id="C26439" Action="Error" /> <Rule Id="C26440" Action="None" /> <!-- Function can be declared 'noexcept'. --> <Rule Id="C26441" Action="Error" /> <Rule Id="C26443" Action="Error" /> <Rule Id="C26444" Action="Error" /> <Rule Id="C26445" Action="Error" /> <Rule Id="C26446" Action="None" /> <!-- Prefer to use gsl::at() instead of unchecked subscript operator --> <Rule Id="C26447" Action="None" /> <!-- The function is declared noexcept but calls function function_name that may throw exceptions --> <Rule Id="C26448" Action="None" /> <!-- Consider using gsl::finally if final action is intended --> <Rule Id="C26449" Action="Error" /> <Rule Id="C26450" Action="Error" /> <Rule Id="C26451" Action="None" /> <!-- Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow --> <Rule Id="C26452" Action="Error" /> <Rule Id="C26453" Action="Error" /> <Rule Id="C26454" Action="Error" /> <Rule Id="C26455" Action="None" /> <!-- Default constructor should not throw. Declare it 'noexcept' --> <Rule Id="C26457" Action="None" /> <!-- (void) should not be used to ignore return values, use 'std::ignore =' instead --> <Rule Id="C26459" Action="Error" /> <Rule Id="C26460" Action="None" /> <!-- The reference argument 'argument' for function 'function' can be marked as const --> <Rule Id="C26461" Action="None" /> <!-- The pointer argument 'argument' for function 'function' can be marked as a pointer to const --> <Rule Id="C26462" Action="None" /> <!-- The value pointed to by '<var>' is assigned only once, mark it as a pointer to const --> <Rule Id="C26463" Action="Error" /> <Rule Id="C26464" Action="Error" /> <Rule Id="C26465" Action="Error" /> <Rule Id="C26466" Action="Error" /> <Rule Id="C26467" Action="None" /> <!-- Converting from floating point to unsigned integral types results in non-portable code if the double/float has a negative value. --> <Rule Id="C26471" Action="None" /> <!-- Don't use reinterpret_cast. A cast from void* can use static_cast --> <Rule Id="C26472" Action="None" /> <!-- Don't use a static_cast for arithmetic conversions. Use brace initialization, gsl::narrow_cast, or gsl::narrow. --> <Rule Id="C26473" Action="None" /> <!-- Don't cast between pointer types where the source type and the target type are the same --> <Rule Id="C26474" Action="Error" /> <Rule Id="C26475" Action="Error" /> <Rule Id="C26476" Action="None" /> <!-- Expression/symbol 'name' uses a naked union 'union' with multiple type pointers: Use variant instead --> <Rule Id="C26477" Action="Error" /> <Rule Id="C26478" Action="Error" /> <Rule Id="C26481" Action="None" /> <!-- Don't use pointer arithmetic. Use span instead --> <Rule Id="C26482" Action="None" /> <!-- Only index into arrays using constant expressions. --> <Rule Id="C26483" Action="Error" /> <Rule Id="C26485" Action="None" /> <!-- Expression 'array-name': No array to pointer decay --> <Rule Id="C26486" Action="None" /> <!-- Don't pass a pointer that may be invalid (dangling) as a parameter to a function. --> <Rule Id="C26487" Action="None" /> <!-- Don't allow a function to return an invalid pointer, either through a formal return statement or through output parameters. --> <Rule Id="C26489" Action="None" /> <!-- Don't dereference a pointer that may be invalid. --> <Rule Id="C26490" Action="None" /> <!-- Don't use reinterpret_cast. --> <Rule Id="C26491" Action="Error" /> <Rule Id="C26492" Action="None" /> <!-- Don't use const_cast to cast away const. --> <Rule Id="C26493" Action="None" /> <!-- Don't use C-style casts. --> <Rule Id="C26494" Action="Error" /> <!-- Variable 'variable' is uninitialized. Always initialize an object. --> <Rule Id="C26495" Action="None" /> <!-- Variable 'variable' is uninitialized. Always initialize a member variable --> <Rule Id="C26496" Action="None" /> <!-- The variable 'variable' is assigned only once, mark it as const. --> <Rule Id="C26497" Action="Error" /> <Rule Id="C26498" Action="Error" /> <Rule Id="C26814" Action="None" /> <!-- The const variable 'variable' can be computed at compile time. Consider using constexpr --> <Rule Id="C26818" Action="None" /> <!-- Switch statement does not cover all cases. Consider adding a 'default' label --> <Rule Id="C26819" Action="Error" /> <Rule Id="C26826" Action="None" /> <!-- Don't use C-style variable arguments --> <Rule Id="C26859" Action="None" /> <!-- Empty optional '<var>' is unwrapped, will throw exception. --> <Rule Id="C28020" Action="None" /> <!-- The expression 'expr' is not true at this call --> <Rule Id="C28021" Action="Error" /> <Rule Id="C28022" Action="Error" /> <Rule Id="C28023" Action="Error" /> <Rule Id="C28024" Action="Error" /> <Rule Id="C28039" Action="Error" /> <Rule Id="C28101" Action="Error" /> <Rule Id="C28103" Action="Error" /> <Rule Id="C28104" Action="Error" /> <Rule Id="C28105" Action="Error" /> <Rule Id="C28106" Action="Error" /> <Rule Id="C28107" Action="Error" /> <Rule Id="C28108" Action="Error" /> <Rule Id="C28109" Action="Error" /> <Rule Id="C28110" Action="Error" /> <Rule Id="C28111" Action="Error" /> <Rule Id="C28112" Action="Error" /> <Rule Id="C28113" Action="Error" /> <Rule Id="C28114" Action="Error" /> <Rule Id="C28120" Action="Error" /> <Rule Id="C28121" Action="Error" /> <Rule Id="C28122" Action="Error" /> <Rule Id="C28123" Action="Error" /> <Rule Id="C28124" Action="Error" /> <Rule Id="C28125" Action="Error" /> <Rule Id="C28126" Action="Error" /> <Rule Id="C28127" Action="Error" /> <Rule Id="C28128" Action="Error" /> <Rule Id="C28129" Action="Error" /> <Rule Id="C28131" Action="Error" /> <Rule Id="C28132" Action="Error" /> <Rule Id="C28133" Action="Error" /> <Rule Id="C28134" Action="Error" /> <Rule Id="C28135" Action="Error" /> <Rule Id="C28137" Action="Error" /> <Rule Id="C28138" Action="Error" /> <Rule Id="C28141" Action="Error" /> <Rule Id="C28143" Action="Error" /> <Rule Id="C28144" Action="Error" /> <Rule Id="C28145" Action="Error" /> <Rule Id="C28146" Action="Error" /> <Rule Id="C28147" Action="Error" /> <Rule Id="C28150" Action="Error" /> <Rule Id="C28151" Action="Error" /> <Rule Id="C28152" Action="Error" /> <Rule Id="C28153" Action="Error" /> <Rule Id="C28156" Action="Error" /> <Rule Id="C28157" Action="Error" /> <Rule Id="C28158" Action="Error" /> <Rule Id="C28159" Action="None" /> <!-- Consider using *function_name_1* instead of *function_name_2*. --> <Rule Id="C28160" Action="Error" /> <Rule Id="C28161" Action="Error" /> <Rule Id="C28162" Action="Error" /> <Rule Id="C28163" Action="Error" /> <Rule Id="C28164" Action="Error" /> <Rule Id="C28165" Action="Error" /> <Rule Id="C28166" Action="Error" /> <Rule Id="C28167" Action="Error" /> <Rule Id="C28168" Action="Error" /> <Rule Id="C28169" Action="Error" /> <Rule Id="C28170" Action="Error" /> <Rule Id="C28171" Action="Error" /> <Rule Id="C28172" Action="Error" /> <Rule Id="C28173" Action="Error" /> <Rule Id="C28175" Action="Error" /> <Rule Id="C28176" Action="Error" /> <Rule Id="C28182" Action="Error" /> <Rule Id="C28183" Action="Error" /> <Rule Id="C28193" Action="Error" /> <Rule Id="C28194" Action="Error" /> <Rule Id="C28195" Action="Error" /> <Rule Id="C28196" Action="Error" /> <Rule Id="C28197" Action="Error" /> <Rule Id="C28198" Action="Error" /> <Rule Id="C28199" Action="Error" /> <Rule Id="C28202" Action="Error" /> <Rule Id="C28203" Action="Error" /> <Rule Id="C28204" Action="Error" /> <Rule Id="C28205" Action="Error" /> <Rule Id="C28206" Action="Error" /> <Rule Id="C28207" Action="Error" /> <Rule Id="C28208" Action="Error" /> <Rule Id="C28209" Action="Error" /> <Rule Id="C28210" Action="Error" /> <Rule Id="C28211" Action="Error" /> <Rule Id="C28212" Action="Error" /> <Rule Id="C28213" Action="Error" /> <Rule Id="C28214" Action="Error" /> <Rule Id="C28215" Action="Error" /> <Rule Id="C28216" Action="Error" /> <Rule Id="C28217" Action="Error" /> <Rule Id="C28218" Action="Error" /> <Rule Id="C28219" Action="Error" /> <Rule Id="C28220" Action="Error" /> <Rule Id="C28221" Action="Error" /> <Rule Id="C28222" Action="Error" /> <Rule Id="C28223" Action="Error" /> <Rule Id="C28224" Action="Error" /> <Rule Id="C28225" Action="Error" /> <Rule Id="C28226" Action="Error" /> <Rule Id="C28227" Action="Error" /> <Rule Id="C28228" Action="Error" /> <Rule Id="C28229" Action="Error" /> <Rule Id="C28230" Action="Error" /> <Rule Id="C28231" Action="Error" /> <Rule Id="C28232" Action="Error" /> <Rule Id="C28233" Action="Error" /> <Rule Id="C28234" Action="Error" /> <Rule Id="C28235" Action="Error" /> <Rule Id="C28236" Action="Error" /> <Rule Id="C28237" Action="Error" /> <Rule Id="C28238" Action="Error" /> <Rule Id="C28239" Action="Error" /> <Rule Id="C28240" Action="Error" /> <Rule Id="C28241" Action="Error" /> <Rule Id="C28243" Action="Error" /> <Rule Id="C28244" Action="Error" /> <Rule Id="C28245" Action="Error" /> <Rule Id="C28246" Action="Error" /> <Rule Id="C28250" Action="Error" /> <Rule Id="C28251" Action="None" /> <!-- Inconsistent annotation for function: this instance has an error --> <Rule Id="C28252" Action="None" /> <!-- Inconsistent annotation for '<func>': <param> has '<annotation>' on the prior instance. --> <Rule Id="C28253" Action="None" /> <!-- Inconsistent annotation for '<func>': <param> has '<annotations>' on this instance --> <Rule Id="C28254" Action="Error" /> <Rule Id="C28260" Action="Error" /> <Rule Id="C28262" Action="Error" /> <Rule Id="C28263" Action="Error" /> <Rule Id="C28266" Action="Error" /> <Rule Id="C28267" Action="Error" /> <Rule Id="C28272" Action="Error" /> <Rule Id="C28273" Action="Error" /> <Rule Id="C28275" Action="Error" /> <Rule Id="C28278" Action="Error" /> <Rule Id="C28279" Action="Error" /> <Rule Id="C28280" Action="Error" /> <Rule Id="C28282" Action="Error" /> <Rule Id="C28283" Action="Error" /> <Rule Id="C28284" Action="Error" /> <Rule Id="C28285" Action="Error" /> <Rule Id="C28286" Action="Error" /> <Rule Id="C28287" Action="Error" /> <Rule Id="C28288" Action="Error" /> <Rule Id="C28289" Action="Error" /> <Rule Id="C28290" Action="Error" /> <Rule Id="C28291" Action="Error" /> <Rule Id="C28300" Action="Error" /> <Rule Id="C28301" Action="Error" /> <Rule Id="C28302" Action="Error" /> <Rule Id="C28303" Action="Error" /> <Rule Id="C28304" Action="Error" /> <Rule Id="C28305" Action="Error" /> <Rule Id="C28306" Action="Error" /> <Rule Id="C28307" Action="Error" /> <Rule Id="C28308" Action="Error" /> <Rule Id="C28309" Action="Error" /> <Rule Id="C28350" Action="Error" /> <Rule Id="C28351" Action="Error" /> <Rule Id="C28601" Action="Error" /> <Rule Id="C28602" Action="Error" /> <Rule Id="C28604" Action="Error" /> <Rule Id="C28615" Action="Error" /> <Rule Id="C28616" Action="Error" /> <Rule Id="C28617" Action="Error" /> <Rule Id="C28623" Action="Error" /> <Rule Id="C28624" Action="Error" /> <Rule Id="C28625" Action="Error" /> <Rule Id="C28636" Action="Error" /> <Rule Id="C28637" Action="Error" /> <Rule Id="C28638" Action="Error" /> <Rule Id="C28639" Action="Error" /> <Rule Id="C28640" Action="Error" /> <Rule Id="C28645" Action="Error" /> <Rule Id="C28648" Action="Error" /> <Rule Id="C28649" Action="Error" /> <Rule Id="C28650" Action="Error" /> <Rule Id="C28714" Action="Error" /> <Rule Id="C28715" Action="Error" /> <Rule Id="C28716" Action="Error" /> <Rule Id="C28717" Action="Error" /> <Rule Id="C28719" Action="Error" /> <Rule Id="C28720" Action="Error" /> <Rule Id="C28721" Action="Error" /> <Rule Id="C28726" Action="Error" /> <Rule Id="C28727" Action="Error" /> <Rule Id="C28730" Action="Error" /> <Rule Id="C28735" Action="Error" /> <Rule Id="C28736" Action="Error" /> <Rule Id="C28750" Action="Error" /> <Rule Id="C28751" Action="Error" /> <Rule Id="C6001" Action="Error" /> <Rule Id="C6011" Action="Error" /> <Rule Id="C6014" Action="Error" /> <Rule Id="C6029" Action="Error" /> <Rule Id="C6031" Action="None" /> <!-- Return value ignored: '<func>'. --> <Rule Id="C6053" Action="Error" /> <Rule Id="C6054" Action="None" /> <!-- String '<var>' might not be zero-terminated. --> <Rule Id="C6059" Action="Error" /> <Rule Id="C6063" Action="Error" /> <Rule Id="C6064" Action="Error" /> <Rule Id="C6066" Action="Error" /> <Rule Id="C6067" Action="Error" /> <Rule Id="C6101" Action="Error" /> <Rule Id="C6200" Action="Error" /> <Rule Id="C6201" Action="Error" /> <Rule Id="C6211" Action="Error" /> <Rule Id="C6214" Action="Error" /> <Rule Id="C6215" Action="Error" /> <Rule Id="C6216" Action="Error" /> <Rule Id="C6217" Action="Error" /> <Rule Id="C6219" Action="Error" /> <Rule Id="C6220" Action="Error" /> <Rule Id="C6221" Action="Error" /> <Rule Id="C6225" Action="Error" /> <Rule Id="C6226" Action="Error" /> <Rule Id="C6230" Action="Error" /> <Rule Id="C6235" Action="Error" /> <Rule Id="C6236" Action="Error" /> <Rule Id="C6237" Action="Error" /> <Rule Id="C6239" Action="Error" /> <Rule Id="C6240" Action="Error" /> <Rule Id="C6242" Action="Error" /> <Rule Id="C6244" Action="Error" /> <Rule Id="C6246" Action="Error" /> <Rule Id="C6248" Action="Error" /> <Rule Id="C6250" Action="Error" /> <Rule Id="C6255" Action="Error" /> <Rule Id="C6258" Action="None" /> <!-- Using TerminateThread does not allow proper thread clean up. --> <Rule Id="C6259" Action="Error" /> <Rule Id="C6260" Action="Error" /> <Rule Id="C6262" Action="Error" /> <Rule Id="C6263" Action="Error" /> <Rule Id="C6268" Action="Error" /> <Rule Id="C6269" Action="Error" /> <Rule Id="C6270" Action="Error" /> <Rule Id="C6271" Action="Error" /> <Rule Id="C6272" Action="Error" /> <Rule Id="C6273" Action="Error" /> <Rule Id="C6274" Action="Error" /> <Rule Id="C6276" Action="Error" /> <Rule Id="C6277" Action="Error" /> <Rule Id="C6278" Action="Error" /> <Rule Id="C6279" Action="Error" /> <Rule Id="C6280" Action="Error" /> <Rule Id="C6281" Action="Error" /> <Rule Id="C6282" Action="Error" /> <Rule Id="C6283" Action="Error" /> <Rule Id="C6284" Action="Error" /> <Rule Id="C6285" Action="Error" /> <Rule Id="C6286" Action="Error" /> <Rule Id="C6287" Action="Error" /> <Rule Id="C6288" Action="Error" /> <Rule Id="C6289" Action="Error" /> <Rule Id="C6290" Action="Error" /> <Rule Id="C6291" Action="Error" /> <Rule Id="C6292" Action="Error" /> <Rule Id="C6293" Action="Error" /> <Rule Id="C6294" Action="Error" /> <Rule Id="C6295" Action="Error" /> <Rule Id="C6296" Action="Error" /> <Rule Id="C6297" Action="Error" /> <Rule Id="C6298" Action="Error" /> <Rule Id="C6299" Action="Error" /> <Rule Id="C6302" Action="Error" /> <Rule Id="C6303" Action="Error" /> <Rule Id="C6305" Action="Error" /> <Rule Id="C6306" Action="Error" /> <Rule Id="C6308" Action="Error" /> <Rule Id="C6310" Action="Error" /> <Rule Id="C6312" Action="Error" /> <Rule Id="C6313" Action="Error" /> <Rule Id="C6314" Action="Error" /> <Rule Id="C6315" Action="Error" /> <Rule Id="C6316" Action="Error" /> <Rule Id="C6317" Action="Error" /> <Rule Id="C6318" Action="Error" /> <Rule Id="C6319" Action="Error" /> <Rule Id="C6320" Action="Error" /> <Rule Id="C6322" Action="Error" /> <Rule Id="C6323" Action="Error" /> <Rule Id="C6324" Action="Error" /> <Rule Id="C6326" Action="Error" /> <Rule Id="C6328" Action="Error" /> <Rule Id="C6329" Action="Error" /> <Rule Id="C6330" Action="Error" /> <Rule Id="C6331" Action="Error" /> <Rule Id="C6332" Action="Error" /> <Rule Id="C6333" Action="Error" /> <Rule Id="C6334" Action="Error" /> <Rule Id="C6335" Action="Error" /> <Rule Id="C6336" Action="Error" /> <Rule Id="C6340" Action="None" /> <!-- sign mismatch --> <Rule Id="C6381" Action="Error" /> <Rule Id="C6383" Action="Error" /> <Rule Id="C6384" Action="Error" /> <Rule Id="C6385" Action="Error" /> <Rule Id="C6386" Action="Error" /> <Rule Id="C6387" Action="None" /> <!-- '<expr>' could be '<val>': this does not adhere to the specification for the function '<func>' --> <Rule Id="C6388" Action="None" /> <!-- '<var>' might not be '<val>': this does not adhere to the specification for the function '<func>' --> <Rule Id="C6400" Action="Error" /> <Rule Id="C6401" Action="Error" /> <Rule Id="C6411" Action="Error" /> <Rule Id="C6412" Action="Error" /> <Rule Id="C6500" Action="Error" /> <Rule Id="C6501" Action="Error" /> <Rule Id="C6503" Action="Error" /> <Rule Id="C6504" Action="Error" /> <Rule Id="C6505" Action="Error" /> <Rule Id="C6506" Action="Error" /> <Rule Id="C6508" Action="Error" /> <Rule Id="C6509" Action="Error" /> <Rule Id="C6510" Action="Error" /> <Rule Id="C6511" Action="Error" /> <Rule Id="C6513" Action="Error" /> <Rule Id="C6514" Action="Error" /> <Rule Id="C6515" Action="Error" /> <Rule Id="C6516" Action="Error" /> <Rule Id="C6517" Action="Error" /> <Rule Id="C6518" Action="Error" /> <Rule Id="C6522" Action="Error" /> <Rule Id="C6525" Action="Error" /> <Rule Id="C6527" Action="Error" /> <Rule Id="C6530" Action="Error" /> <Rule Id="C6540" Action="Error" /> <Rule Id="C6551" Action="Error" /> <Rule Id="C6552" Action="Error" /> <Rule Id="C6701" Action="Error" /> <Rule Id="C6702" Action="Error" /> <Rule Id="C6703" Action="Error" /> <Rule Id="C6704" Action="Error" /> <Rule Id="C6705" Action="Error" /> <Rule Id="C6706" Action="Error" /> <Rule Id="C6707" Action="Error" /> <Rule Id="C6993" Action="Error" /> <Rule Id="C6995" Action="Error" /> <Rule Id="C6997" Action="Error" /> </Rules> </RuleSet>