package context

// rustEquivalenceClasses returns equivalence classes for rust.
func rustEquivalenceClasses() []EquivalenceClass {
	return []EquivalenceClass{
		{
		Concept:    "RS_ERROR",
		Phrases:    []string{"error", "result", "error handling", "unwrap", "panic"},
		Targets:    []string{"Error", "Result", "anyhow", "thiserror", "From", "Display", "source", "context", "bail", "ensure"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RS_ASYNC",
		Phrases:    []string{"async", "await", "future", "runtime", "concurrent", "spawn"},
		Targets:    []string{"async", "await", "Future", "spawn", "block_on", "Runtime", "tokio", "poll", "Pin", "Waker"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RS_TRAITS",
		Phrases:    []string{"trait", "impl", "interface", "derive", "generic", "bound"},
		Targets:    []string{"impl", "trait", "From", "Into", "Display", "Debug", "Clone", "Default", "Serialize", "Deserialize"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RS_BUILD",
		Phrases:    []string{"build", "compile", "cargo", "dependency", "crate", "package", "manifest"},
		Targets:    []string{"resolve", "Resolve", "Registry", "Source", "SourceId", "PackageId", "Manifest", "Target", "CompileOptions", "BuildContext"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RS_BUILDER",
		Phrases:    []string{"builder", "config", "options", "construct", "new"},
		Targets:    []string{"Builder", "build", "new", "default", "with_", "set_", "Config", "Options"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RS_TESTING",
		Phrases:    []string{"test", "testing", "assert", "mock", "fixture"},
		Targets:    []string{"test", "cfg_test", "assert_eq", "assert_ne", "should_panic", "mock", "fixture", "proptest"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RUST_SERDE",
		Phrases:    []string{"serialize", "deserialize", "serde", "json parsing"},
		Targets:    []string{"Serialize", "Deserialize", "Serializer", "Deserializer", "serde_json", "from_str"},
		TargetType: "symbol",
		Weight:     0.9,
		Source:     "framework",
		Lang:       "rust",
		},
		{
		Concept:    "RUST_ERROR",
		Phrases:    []string{"error handling", "error type", "result", "propagate error", "error conversion", "custom error", "failure"},
		Targets:    []string{"Error", "Result", "anyhow", "bail", "context", "with_context", "map_err", "from", "source", "Display", "thiserror"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RUST_ASYNC",
		Phrases:    []string{"async", "await", "concurrent", "parallel", "spawn", "runtime", "future", "task", "executor"},
		Targets:    []string{"spawn", "block_on", "Runtime", "Handle", "JoinHandle", "select", "tokio", "async_trait", "Future", "Poll", "Waker"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RUST_TRAITS",
		Phrases:    []string{"implement trait", "derive", "trait bound", "generic", "type constraint", "interface", "abstract"},
		Targets:    []string{"impl", "Clone", "Debug", "Default", "Display", "From", "Into", "TryFrom", "TryInto", "Iterator", "IntoIterator", "AsRef", "Deref"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RUST_COLLECTIONS",
		Phrases:    []string{"collection", "map", "set", "vector", "list", "hash map", "lookup", "store", "container"},
		Targets:    []string{"HashMap", "BTreeMap", "HashSet", "Vec", "VecDeque", "BinaryHeap", "insert", "get", "contains_key", "entry", "or_insert"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RUST_IO",
		Phrases:    []string{"file", "read file", "write file", "io", "stream", "buffer", "path", "filesystem"},
		Targets:    []string{"File", "BufReader", "BufWriter", "Read", "Write", "open", "create", "read_to_string", "write_all", "PathBuf", "Path", "canonicalize"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RUST_CLI",
		Phrases:    []string{"command line", "argument", "flag", "subcommand", "cli", "parse arguments", "options"},
		Targets:    []string{"Arg", "Command", "Parser", "Args", "Subcommand", "clap", "matches", "get_one", "get_many", "value_of"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RUST_TESTING",
		Phrases:    []string{"test", "assert", "mock", "fixture", "integration test", "unit test"},
		Targets:    []string{"assert_eq", "assert_ne", "assert", "should_panic", "test", "cfg_test", "mock", "expect", "proptest", "quickcheck"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RUST_CONCURRENCY",
		Phrases:    []string{"mutex", "lock", "thread", "channel", "sync", "atomic", "shared state", "send", "arc"},
		Targets:    []string{"Mutex", "RwLock", "Arc", "Rc", "mpsc", "channel", "Sender", "Receiver", "Atomic", "send", "recv", "lock", "try_lock"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RUST_BUILDER",
		Phrases:    []string{"builder", "construct", "configure", "create", "initialize", "setup", "new instance"},
		Targets:    []string{"new", "builder", "build", "with_capacity", "default", "from_config", "configure", "set_", "with_"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RUST_ITERATOR",
		Phrases:    []string{"iterate", "map", "filter", "collect", "fold", "chain", "transform", "pipeline", "stream processing"},
		Targets:    []string{"iter", "into_iter", "map", "filter", "collect", "fold", "flat_map", "chain", "enumerate", "zip", "take", "skip", "any", "all", "find"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RUST_PACKAGE",
		Phrases:    []string{"dependency", "package", "crate", "module", "workspace", "manifest", "cargo.toml", "version", "registry"},
		Targets:    []string{"Package", "Manifest", "Dependency", "Workspace", "resolve", "Registry", "Source", "SourceId", "PackageId", "VersionReq"},
		TargetType: "symbol",
		Weight:     0.8,
		Source:     "language",
		},
		{
		Concept:    "RUST_TOKIO",
		Phrases:    []string{"tokio runtime", "async runtime", "spawn task", "tokio task"},
		Targets:    []string{"Runtime", "Builder", "spawn", "JoinHandle", "select", "tokio::main"},
		TargetType: "symbol",
		Weight:     0.9,
		Source:     "framework",
		Lang:       "rust",
		},
		{
		Concept:    "RUST_AXUM",
		Phrases:    []string{"axum handler", "axum router", "web handler", "extract", "axum middleware"},
		Targets:    []string{"Router", "handler", "Extension", "State", "Json", "Path", "Query", "middleware"},
		TargetType: "symbol",
		Weight:     0.9,
		Source:     "framework",
		Lang:       "rust",
		},
		{
		Concept:    "RUST_CARGO",
		Phrases:    []string{"cargo build", "cargo package", "dependency resolution", "version resolution", "registry"},
		Targets:    []string{"Resolve", "Registry", "PackageSet", "SourceId", "Dependency", "VersionReq", "Manifest"},
		TargetType: "symbol",
		Weight:     0.9,
		Source:     "framework",
		Lang:       "rust",
		},
	}
}
