From ec90dd882908e1465b3741efefaf36f36eab5cb9 Mon Sep 17 00:00:00 2001 From: "J. Ryan Stinnett" Date: Sat, 21 Jun 2025 15:32:07 +0100 Subject: [PATCH] Fix typos in Provider chapter --- content/provider.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/provider.md b/content/provider.md index d751671..b3c0b3a 100644 --- a/content/provider.md +++ b/content/provider.md @@ -23,7 +23,7 @@ The block `impl HasName for Person` is a _provider_ of the `HasName` trait for the `Person` context. Similar to the concept of a consumer, the use of provider is common in any -Rust code that implements a trait. However, compared to cosumers, there +Rust code that implements a trait. However, compared to consumers, there are limitations on how providers can be defined in Rust. For this example, the `impl` block is a _context-specific_ provider for the @@ -32,9 +32,9 @@ there can be at most one provider of `HasName` for the `Person` context. Another common restriction is that the provider has to be defined in the same crate as either the trait or the context. -The asymetry between what can be done with a provider, as compared to a consumer, +The asymmetry between what can be done with a provider, as compared to a consumer, is often a source of complexity in many Rust programs. As we will learn in later chapters, -one of the goals of CGP is to break this asymetry, and make it easy to implement +one of the goals of CGP is to break this asymmetry, and make it easy to implement _context-generic providers_. ## Providers as Consumers @@ -76,4 +76,4 @@ In terms of genericity, the example code is _context-specific_ to the `Person` c the consumer and provider side. As we will see in later chapters, a powerful idea introduced by CGP is that a piece of code -can have _multiple spectrums_ of genericity on the consumer and provider sides. \ No newline at end of file +can have _multiple spectrums_ of genericity on the consumer and provider sides.