Enum ArtifactStoneRule

Source
pub enum ArtifactStoneRule {
Show 29 variants Crescendo, Alternator, FocusedEngine, OpeningFive, SmallGears, BackgroundVoice, ShadowRound, CrossRelay, SecondHalf, CatchUp, IncomingSalvo, LastWord, WarmStart, Afterimage, StaggeredEntrance, SourceFocus, CurrentPower, ExportPower, FullConfidence, FirstArticle, ProxyReader, LinkedEcho, LateAwakening, SingleLesson, ReadyTarget, ExtraSpan, DeepSpan, ShortSpan, ReciprocalGate,
}
Expand description

Which rule an artifact stone carries.

Five per socket (design §5) — a socket is a choice between readings of one moment, never between a small number and a big one. Rank scales the number and opens no new mechanic, which is why a level moves ArtifactStoneTemplate::magnitude and nothing else.

Twenty-nine rules, not thirty. The left (Aspect) column has fifteen and retunes the Trigger/Effect stones worn in gear; the right (Law) column has fourteen and retunes the laws and bridges worn in cores. The Bridge Law socket ships four: BL-04 Priority Gate was cut because it gave +50% Resonance “from its own source”, which is a law-shaped effect in a bridge socket and double-covered the rewritten BL-05 (post-merge plan §8). The numbering keeps the hole — BL-01, BL-02, BL-03, BL-05 — as the catalog already does for the missing ART-01.

Variant docs live here rather than on the variants themselves: a documented variant makes the admin schema generate a oneOf of one-value enums instead of a plain picker.

Visible Aspect — how active gear effects behave:

  • Crescendo (VA-01) — active effects ramp linearly with the gauge, from secondary_magnitude% on an empty gauge to magnitude% just before the flip (85% → 130%).
  • Alternator (VA-02) — a proc of a different gear slot runs at magnitude%, a repeat of the previous slot at secondary_magnitude% (125% / 90%). “Previous” means the previously resolved slot, in the ItemType::iter() order every slot rule shares.
  • FocusedEngine (VA-03) — repeating one slot adds magnitude% per repeat up to secondary_magnitude% (+10% per repeat, +30% cap); a proc of another slot resets the streak.
  • OpeningFive (VA-04) — the first proc of each of the five slots in a phase runs at magnitude% (150%), the rest are plain.
  • SmallGears (VA-05) — effects run at a share that depends on the tier of the trigger that lit them (ArtifactStoneTemplate::tier_magnitudes: 130 / 115 / 105 / 100).

Hidden Aspect — what hidden gear effects do:

  • BackgroundVoice (HA-01) — every trigger runs the active effect in full and the paired hidden one at magnitude% (30%).
  • ShadowRound (HA-02) — once every rule_param ticks the next hidden effect in slot order fires by itself at magnitude% (60%).
  • CrossRelay (HA-03) — a proc of slot N additionally runs the hidden effect of slot N+1 at magnitude% (35%).
  • SecondHalf (HA-04) — past secondary_magnitude% of the gauge, the paired hidden effect accompanies every proc at magnitude% (50%).
  • CatchUp (HA-05) — when the active effect is wholly inapplicable, the paired hidden one runs at magnitude% (100%) instead.

Flip Aspect — the transition itself:

  • IncomingSalvo (FA-01) — after a flip the five newly active effects each run once at magnitude% (50%), all on the flip tick.
  • LastWord (FA-02) — the five departing active effects each run once at magnitude% (50%) as the flip happens.
  • WarmStart (FA-03) — the first ordinary fire of each newly active effect is repeated at magnitude% (60%).
  • Afterimage (FA-04) — the first rule_param trigger procs after a flip are accompanied by the departing paired effect at magnitude% (25%).
  • StaggeredEntrance (FA-05) — the same five new effects as IncomingSalvo, at magnitude% (70%), spaced rule_param ticks apart in slot order.

Visible Law — the laws of the side that is currently UP. Each of these but FirstArticle acts on ONE law the player chose ([essences::artifacts::ArtifactStone::law_target]); a stone with no chosen law does nothing. Because the choice is a LAW and not a role, and a law’s side is fixed, SourceFocus / ExportPower / FullConfidence only speak in their law’s own phase and are silent for the other half of the fight — that half is what pays for the size of the bonus (post-merge plan §8):

  • SourceFocus (VL-01) — the chosen law’s Resonance +magnitude% (+50%), its Effect secondary_magnitude% (−15%). The catalog’s “only into its own bridge” is dropped: a law’s Resonance has no other address.
  • CurrentPower (VL-02) — the chosen law’s Effect +magnitude% (+35%), its Resonance secondary_magnitude% (−25%). The mirror of VL-01.
  • ExportPower (VL-03) — the hard version of VL-01: Resonance +magnitude% (+75%), Effect secondary_magnitude% (−25%). Kept beside VL-01 deliberately — same trade, two settings of it.
  • FullConfidence (VL-04) — once the chosen law has filled its outgoing bridge, that law runs at +magnitude% Effect (+30%) until the flip.
  • FirstArticle (VL-05) — the one rule of the column that addresses the whole build: the FIRST activation of EVERY law of the active side in a phase applies its Effect at magnitude% (150%), Resonance untouched. It changes the rhythm of a phase rather than the strength of one law, which is why it takes no target.

Hidden Law — the laws of the side that is currently DOWN. A hidden activation never produces Resonance, bridge charge or Flip Gauge, and its Effect is not a Core event (crate::artifacts::ArtifactWorldLaw::ThinMirror carries the same rule):

  • ProxyReader (HL-01) — the chosen hidden law evaluates its own Core conditions and applies its Effect at magnitude% (30%).
  • LinkedEcho (HL-02) — when the chosen law activates, the law at the far end of its bridge applies its Effect at magnitude% (20%) without checking its own condition at all.
  • LateAwakening (HL-03) — past secondary_magnitude% of the gauge (70%) the chosen hidden law works at magnitude% (50%).
  • SingleLesson (HL-04) — the first Core event of a phase that satisfies the chosen hidden law wakes it at magnitude% (100%); the stone is then silent until the flip.
  • ReadyTarget (HL-05) — once the chosen law’s bridge is full, the law at its far end works at magnitude% (35%) until the flip.

Bridge Law — the bridges themselves. BL-01BL-03 move EVERY bridge; BL-05 is the only one that addresses a single bridge, through the law that sits in it:

  • ExtraSpan (BL-01) — rule_param extra bridges over the min(core level) − 1 budget, and every bridge’s capacity +magnitude% (+20%).
  • DeepSpan (BL-02) — every bridge’s capacity +magnitude% and its recipient amplification +secondary_magnitude% (+40% / +40%): a deeper bridge and a higher ceiling at the same price per unit.
  • ShortSpan (BL-03) — capacity magnitude% and amplification secondary_magnitude% (−40% / −20%). The minus signs are the design: a shorter bridge with a lower ceiling makes each unit worth MORE (40% / 6 units against 50% / 10), so the cap arrives in three fires instead of five.
  • ReciprocalGate (BL-05) — +magnitude% Resonance (+25%) to BOTH directions of the chosen law’s bridge, unconditionally. The catalog’s original wording (“if both links A→B and B→A are chosen”) describes a choice no version of the model offers — a bridge is one object carrying two directions — so it was rewritten (post-merge plan §8).

Variants§

§

Crescendo

§

Alternator

§

FocusedEngine

§

OpeningFive

§

SmallGears

§

BackgroundVoice

§

ShadowRound

§

CrossRelay

§

SecondHalf

§

CatchUp

§

IncomingSalvo

§

LastWord

§

WarmStart

§

Afterimage

§

StaggeredEntrance

§

SourceFocus

§

CurrentPower

§

ExportPower

§

FullConfidence

§

FirstArticle

§

ProxyReader

§

LinkedEcho

§

LateAwakening

§

SingleLesson

§

ReadyTarget

§

ExtraSpan

§

DeepSpan

§

ShortSpan

§

ReciprocalGate

Implementations§

Source§

impl ArtifactStoneRule

Source

pub const fn socket(self) -> ArtifactSocketSlot

The socket this rule belongs in. A stone’s template names its socket explicitly, and GameConfig::validate_artifacts checks the two agree — so a mistyped catalog entry cannot ship a Flip rule into a Visible socket.

Source

pub const fn needs_law_target(self) -> bool

Whether this rule is worthless until the player points its stone at a law. Every Law-column rule but VL-05 First Article (which addresses the whole build) and BL-01BL-03 (which move every bridge) needs one.

Source

pub const fn wakes_hidden_law(self) -> bool

Whether this rule can wake a law of the side that is currently DOWN. Those activations go through the intersection rule (design §3) and are the only law fires that produce no Resonance and no bridge charge.

Source

pub const fn unavailable_dependency(self) -> Option<&'static str>

Why this rule cannot run on this branch yet, or None when it can.

Every rule now has the mechanic it reads, so nothing is blocked: the left column’s last three dependencies landed with the stones v0.2 merge, and the whole right column’s — laws, bridges, Resonance — landed with the cores vertical. How the left column’s were settled is worth keeping, because the answers are the rules’ semantics rather than incidental history:

  • Alternator and FocusedEngine both say “another slot” / “a repeat of the previous slot”, and the shared Trigger Cooldown lets up to five slots answer one Core event at once. Resolved: slots resolve in the fixed ItemType::iter() order (Weapon → Torso → Head → Gloves → Shoulders), the order HA-03 Cross Relay already ships on, and “the previous slot” is the previously resolved one, carried across event boundaries. The two alternatives were rejected on their merits: “the last slot of the previous batch” makes the bonus depend on batch boundaries the player cannot see, and “only when exactly one slot fired” switches both rules off for any five-socket build — the build they exist for.
  • SmallGears keys off trigger tiers up to Legendary. Resolved: the stones v0.2 catalog ships Legendary triggers.

GameConfig::validate_artifacts refuses a catalog entry that ships a blocked rule with active: true. With nothing blocked the guard has no work to do, and it stays because the next rule to be entered ahead of its dependency will need it again.

Trait Implementations§

Source§

impl Clone for ArtifactStoneRule

Source§

fn clone(&self) -> ArtifactStoneRule

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ArtifactStoneRule

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for ArtifactStoneRule

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl From<ArtifactStoneRule> for JsValue

Source§

fn from(value: ArtifactStoneRule) -> Self

Converts to this type from the input type.
Source§

impl FromWasmAbi for ArtifactStoneRule
where Self: DeserializeOwned,

Source§

type Abi = <JsType as FromWasmAbi>::Abi

The Wasm ABI type that this converts from when coming back out from the ABI boundary.
Source§

unsafe fn from_abi(js: Self::Abi) -> Self

Recover a Self from Self::Abi. Read more
Source§

impl Hash for ArtifactStoneRule

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl IntoWasmAbi for ArtifactStoneRule

Source§

type Abi = <JsType as IntoWasmAbi>::Abi

The Wasm ABI type that this converts into when crossing the ABI boundary.
Source§

fn into_abi(self) -> Self::Abi

Convert self into Self::Abi so that it can be sent across the wasm ABI boundary.
Source§

impl JsonSchema for ArtifactStoneRule

Source§

fn schema_name() -> String

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
§

fn is_referenceable() -> bool

Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
Source§

impl OptionFromWasmAbi for ArtifactStoneRule
where Self: DeserializeOwned,

Source§

fn is_none(js: &Self::Abi) -> bool

Tests whether the argument is a “none” instance. If so it will be deserialized as None, and otherwise it will be passed to FromWasmAbi.
Source§

impl OptionIntoWasmAbi for ArtifactStoneRule

Source§

fn none() -> Self::Abi

Returns an ABI instance indicating “none”, which JS will interpret as the None branch of this option. Read more
Source§

impl PartialEq for ArtifactStoneRule

Source§

fn eq(&self, other: &ArtifactStoneRule) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl RefFromWasmAbi for ArtifactStoneRule
where Self: DeserializeOwned,

Source§

type Abi = <JsType as RefFromWasmAbi>::Abi

The Wasm ABI type references to Self are recovered from.
Source§

type Anchor = SelfOwner<ArtifactStoneRule>

The type that holds the reference to Self for the duration of the invocation of the function that has an &Self parameter. This is required to ensure that the lifetimes don’t persist beyond one function call, and so that they remain anonymous.
Source§

unsafe fn ref_from_abi(js: Self::Abi) -> Self::Anchor

Recover a Self::Anchor from Self::Abi. Read more
Source§

impl Serialize for ArtifactStoneRule

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl Tsify for ArtifactStoneRule

Source§

const DECL: &'static str = "/**\n * Which rule an artifact stone carries.\n *\n * Five per socket (design \u{a7}5) \u{2014} a socket is a choice between readings of one\n * moment, never between a small number and a big one. Rank scales the number\n * and opens no new mechanic, which is why a level moves\n * [`ArtifactStoneTemplate::magnitude`] and nothing else.\n *\n * **Twenty-nine rules, not thirty.** The left (Aspect) column has fifteen and\n * retunes the Trigger/Effect stones worn in gear; the right (Law) column has\n * **fourteen** and retunes the laws and bridges worn in cores. The Bridge Law\n * socket ships four: `BL-04 Priority Gate` was cut because it gave `+50%`\n * Resonance \\\"from its own source\\\", which is a law-shaped effect in a bridge\n * socket and double-covered the rewritten `BL-05` (post-merge plan \u{a7}8). The\n * numbering keeps the hole \u{2014} `BL-01`, `BL-02`, `BL-03`, `BL-05` \u{2014} as the\n * catalog already does for the missing `ART-01`.\n *\n * Variant docs live here rather than on the variants themselves: a documented\n * variant makes the admin schema generate a `oneOf` of one-value enums instead\n * of a plain picker.\n *\n * Visible Aspect \u{2014} how active gear effects behave:\n *\n * * `Crescendo` (`VA-01`) \u{2014} active effects ramp linearly with the gauge, from\n * `secondary_magnitude`% on an empty gauge to `magnitude`% just before the\n * flip (`85% \u{2192} 130%`).\n * * `Alternator` (`VA-02`) \u{2014} a proc of a *different* gear slot runs at\n * `magnitude`%, a repeat of the previous slot at `secondary_magnitude`%\n * (`125% / 90%`). \\\"Previous\\\" means the previously resolved slot, in the\n * `ItemType::iter()` order every slot rule shares.\n * * `FocusedEngine` (`VA-03`) \u{2014} repeating one slot adds `magnitude`% per\n * repeat up to `secondary_magnitude`% (`+10%` per repeat, `+30%` cap);\n * a proc of another slot resets the streak.\n * * `OpeningFive` (`VA-04`) \u{2014} the first proc of each of the five slots in a\n * phase runs at `magnitude`% (`150%`), the rest are plain.\n * * `SmallGears` (`VA-05`) \u{2014} effects run at a share that depends on the tier of\n * the **trigger** that lit them\n * ([`ArtifactStoneTemplate::tier_magnitudes`]: `130 / 115 / 105 / 100`).\n *\n * Hidden Aspect \u{2014} what hidden gear effects do:\n *\n * * `BackgroundVoice` (`HA-01`) \u{2014} every trigger runs the active effect in full\n * and the paired hidden one at `magnitude`% (`30%`).\n * * `ShadowRound` (`HA-02`) \u{2014} once every `rule_param` ticks the next hidden\n * effect in slot order fires by itself at `magnitude`% (`60%`).\n * * `CrossRelay` (`HA-03`) \u{2014} a proc of slot `N` additionally runs the hidden\n * effect of slot `N+1` at `magnitude`% (`35%`).\n * * `SecondHalf` (`HA-04`) \u{2014} past `secondary_magnitude`% of the gauge, the\n * paired hidden effect accompanies every proc at `magnitude`% (`50%`).\n * * `CatchUp` (`HA-05`) \u{2014} when the active effect is wholly inapplicable, the\n * paired hidden one runs at `magnitude`% (`100%`) instead.\n *\n * Flip Aspect \u{2014} the transition itself:\n *\n * * `IncomingSalvo` (`FA-01`) \u{2014} after a flip the five newly active effects each\n * run once at `magnitude`% (`50%`), all on the flip tick.\n * * `LastWord` (`FA-02`) \u{2014} the five *departing* active effects each run once at\n * `magnitude`% (`50%`) as the flip happens.\n * * `WarmStart` (`FA-03`) \u{2014} the first ordinary fire of each newly active effect\n * is repeated at `magnitude`% (`60%`).\n * * `Afterimage` (`FA-04`) \u{2014} the first `rule_param` trigger procs after a flip\n * are accompanied by the departing paired effect at `magnitude`% (`25%`).\n * * `StaggeredEntrance` (`FA-05`) \u{2014} the same five new effects as\n * `IncomingSalvo`, at `magnitude`% (`70%`), spaced `rule_param` ticks apart\n * in slot order.\n *\n * Visible Law \u{2014} the laws of the side that is currently UP. Each of these but\n * `FirstArticle` acts on ONE law the player chose\n * ([`essences::artifacts::ArtifactStone::law_target`]); a stone with no chosen\n * law does nothing. Because the choice is a LAW and not a role, and a law\\\'s\n * side is fixed, `SourceFocus` / `ExportPower` / `FullConfidence` only speak in\n * their law\\\'s own phase and are silent for the other half of the fight \u{2014} that\n * half is what pays for the size of the bonus (post-merge plan \u{a7}8):\n *\n * * `SourceFocus` (`VL-01`) \u{2014} the chosen law\\\'s Resonance `+magnitude`%\n * (`+50%`), its Effect `secondary_magnitude`% (`\u{2212}15%`). The catalog\\\'s \\\"only\n * into its own bridge\\\" is dropped: a law\\\'s Resonance has no other address.\n * * `CurrentPower` (`VL-02`) \u{2014} the chosen law\\\'s Effect `+magnitude`% (`+35%`),\n * its Resonance `secondary_magnitude`% (`\u{2212}25%`). The mirror of `VL-01`.\n * * `ExportPower` (`VL-03`) \u{2014} the hard version of `VL-01`: Resonance\n * `+magnitude`% (`+75%`), Effect `secondary_magnitude`% (`\u{2212}25%`). Kept beside\n * `VL-01` deliberately \u{2014} same trade, two settings of it.\n * * `FullConfidence` (`VL-04`) \u{2014} once the chosen law has filled its outgoing\n * bridge, that law runs at `+magnitude`% Effect (`+30%`) until the flip.\n * * `FirstArticle` (`VL-05`) \u{2014} the one rule of the column that addresses the\n * whole build: the FIRST activation of EVERY law of the active side in a\n * phase applies its Effect at `magnitude`% (`150%`), Resonance untouched. It\n * changes the rhythm of a phase rather than the strength of one law, which is\n * why it takes no target.\n *\n * Hidden Law \u{2014} the laws of the side that is currently DOWN. A hidden\n * activation never produces Resonance, bridge charge or Flip Gauge, and its\n * Effect is not a Core event ([`crate::artifacts::ArtifactWorldLaw::ThinMirror`]\n * carries the same rule):\n *\n * * `ProxyReader` (`HL-01`) \u{2014} the chosen hidden law evaluates its own Core\n * conditions and applies its Effect at `magnitude`% (`30%`).\n * * `LinkedEcho` (`HL-02`) \u{2014} when the chosen law activates, the law at the\n * far end of its bridge applies its Effect at `magnitude`% (`20%`) without\n * checking its own condition at all.\n * * `LateAwakening` (`HL-03`) \u{2014} past `secondary_magnitude`% of the gauge\n * (`70%`) the chosen hidden law works at `magnitude`% (`50%`).\n * * `SingleLesson` (`HL-04`) \u{2014} the first Core event of a phase that satisfies\n * the chosen hidden law wakes it at `magnitude`% (`100%`); the stone is then\n * silent until the flip.\n * * `ReadyTarget` (`HL-05`) \u{2014} once the chosen law\\\'s bridge is full, the law at\n * its far end works at `magnitude`% (`35%`) until the flip.\n *\n * Bridge Law \u{2014} the bridges themselves. `BL-01`\u{2026}`BL-03` move EVERY bridge;\n * `BL-05` is the only one that addresses a single bridge, through the law that\n * sits in it:\n *\n * * `ExtraSpan` (`BL-01`) \u{2014} `rule_param` extra bridges over the\n * `min(core level) \u{2212} 1` budget, and every bridge\\\'s capacity `+magnitude`%\n * (`+20%`).\n * * `DeepSpan` (`BL-02`) \u{2014} every bridge\\\'s capacity `+magnitude`% and its\n * recipient amplification `+secondary_magnitude`% (`+40% / +40%`): a deeper\n * bridge and a higher ceiling at the same price per unit.\n * * `ShortSpan` (`BL-03`) \u{2014} capacity `magnitude`% and amplification\n * `secondary_magnitude`% (`\u{2212}40% / \u{2212}20%`). The minus signs are the design: a\n * shorter bridge with a lower ceiling makes each unit worth MORE\n * (`40% / 6 units` against `50% / 10`), so the cap arrives in three fires\n * instead of five.\n * * `ReciprocalGate` (`BL-05`) \u{2014} `+magnitude`% Resonance (`+25%`) to BOTH\n * directions of the chosen law\\\'s bridge, unconditionally. The catalog\\\'s\n * original wording (\\\"if both links A\u{2192}B and B\u{2192}A are chosen\\\") describes a\n * choice no version of the model offers \u{2014} a bridge is one object carrying two\n * directions \u{2014} so it was rewritten (post-merge plan \u{a7}8).\n */\nexport type ArtifactStoneRule = \"Crescendo\" | \"Alternator\" | \"FocusedEngine\" | \"OpeningFive\" | \"SmallGears\" | \"BackgroundVoice\" | \"ShadowRound\" | \"CrossRelay\" | \"SecondHalf\" | \"CatchUp\" | \"IncomingSalvo\" | \"LastWord\" | \"WarmStart\" | \"Afterimage\" | \"StaggeredEntrance\" | \"SourceFocus\" | \"CurrentPower\" | \"ExportPower\" | \"FullConfidence\" | \"FirstArticle\" | \"ProxyReader\" | \"LinkedEcho\" | \"LateAwakening\" | \"SingleLesson\" | \"ReadyTarget\" | \"ExtraSpan\" | \"DeepSpan\" | \"ShortSpan\" | \"ReciprocalGate\";"

Source§

const SERIALIZATION_CONFIG: SerializationConfig

Source§

type JsType = JsType

§

fn into_js(&self) -> Result<Self::JsType, Error>
where Self: Serialize,

§

fn from_js<T>(js: T) -> Result<Self, Error>
where T: Into<JsValue>, Self: DeserializeOwned,

Source§

impl VectorFromWasmAbi for ArtifactStoneRule
where Self: DeserializeOwned,

Source§

type Abi = <JsType as VectorFromWasmAbi>::Abi

Source§

unsafe fn vector_from_abi(js: Self::Abi) -> Box<[Self]>

Source§

impl VectorIntoWasmAbi for ArtifactStoneRule

Source§

type Abi = <JsType as VectorIntoWasmAbi>::Abi

Source§

fn vector_into_abi(vector: Box<[Self]>) -> Self::Abi

Source§

impl WasmDescribe for ArtifactStoneRule

Source§

impl WasmDescribeVector for ArtifactStoneRule

Source§

impl Copy for ArtifactStoneRule

Source§

impl Eq for ArtifactStoneRule

Source§

impl StructuralPartialEq for ArtifactStoneRule

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DynClone for T
where T: Clone,

Source§

fn __clone_box(&self, _: Private) -> *mut ()

§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FutureExt for T

§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ReturnWasmAbi for T
where T: IntoWasmAbi,

Source§

type Abi = <T as IntoWasmAbi>::Abi

Same as IntoWasmAbi::Abi
Source§

fn return_abi(self) -> <T as ReturnWasmAbi>::Abi

Same as IntoWasmAbi::into_abi, except that it may throw and never return in the case of Err.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Serialize for T
where T: Serialize + ?Sized,

Source§

fn erased_serialize(&self, serializer: &mut dyn Serializer) -> Result<(), Error>

Source§

fn do_erased_serialize( &self, serializer: &mut dyn Serializer, ) -> Result<(), ErrorImpl>

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<S, T> Upcast<T> for S
where T: UpcastFrom<S> + ?Sized, S: ?Sized,

Source§

fn upcast(&self) -> &T
where Self: ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider ref type within the Wasm bindgen generics type system. Read more
Source§

fn upcast_into(self) -> T
where Self: Sized + ErasableGeneric, T: ErasableGeneric<Repr = Self::Repr>,

Perform a zero-cost type-safe upcast to a wider type within the Wasm bindgen generics type system. Read more
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,