Revert "support sandboxed rust rules"

Revert submission 2629131-sandbox-rust-inputs

Reason for revert: Fail on android build.

Reverted changes: /q/submissionid:2629131-sandbox-rust-inputs

Change-Id: Ifd9aa46e80a12d8f4ffa0a2daa74b96727cbb7e6
diff --git a/android/depset_generic.go b/android/depset_generic.go
index 9f07596..45c1937 100644
--- a/android/depset_generic.go
+++ b/android/depset_generic.go
@@ -95,12 +95,6 @@
 	}
 }
 
-// AddDirectToDepSet returns a new DepSet with additional elements added to its direct set.
-// The transitive sets remain untouched.
-func AddDirectToDepSet[T depSettableType](d *DepSet[T], direct ...T) *DepSet[T] {
-	return NewDepSet[T](d.order, Concat(d.direct, direct), d.transitive)
-}
-
 // DepSetBuilder is used to create an immutable DepSet.
 type DepSetBuilder[T depSettableType] struct {
 	order      DepSetOrder
@@ -194,14 +188,3 @@
 	}
 	return list
 }
-
-// ToListDirect returns the direct elements of a DepSet flattened to a list.
-func (d *DepSet[T]) ToListDirect() []T {
-	if d == nil {
-		return nil
-	}
-	list := make([]T, len(d.direct))
-	copy(list, d.direct)
-	list = firstUniqueInPlace(list)
-	return list
-}
diff --git a/android/paths.go b/android/paths.go
index d4b1d6e..325a953 100644
--- a/android/paths.go
+++ b/android/paths.go
@@ -171,9 +171,6 @@
 	// Base returns the last element of the path
 	Base() string
 
-	// Dir returns a path pointing the directory containing the path
-	Dir() Path
-
 	// Rel returns the portion of the path relative to the directory it was created from.  For
 	// example, Rel on a PathsForModuleSrc would return the path relative to the module source
 	// directory, and OutputPath.Join("foo").Rel() would return "foo".
@@ -1015,12 +1012,6 @@
 	return filepath.Base(p.path)
 }
 
-func (p basePath) Dir() Path {
-	p.path = filepath.Dir(p.path)
-	p.rel = filepath.Dir(p.rel)
-	return p
-}
-
 func (p basePath) Rel() string {
 	if p.rel != "" {
 		return p.rel
@@ -1055,11 +1046,6 @@
 	return p
 }
 
-func (p SourcePath) Dir() Path {
-	p.basePath = p.basePath.Dir().(basePath)
-	return p
-}
-
 // safePathForSource is for paths that we expect are safe -- only for use by go
 // code that is embedding ninja variables in paths
 func safePathForSource(ctx PathContext, pathComponents ...string) (SourcePath, error) {
@@ -1262,12 +1248,6 @@
 	return p
 }
 
-func (p OutputPath) Dir() Path {
-	p.basePath = p.basePath.Dir().(basePath)
-	p.fullPath = filepath.Dir(p.fullPath)
-	return p
-}
-
 func (p OutputPath) WithoutRel() OutputPath {
 	p.basePath.rel = filepath.Base(p.basePath.path)
 	return p
@@ -1300,11 +1280,6 @@
 	basePath
 }
 
-func (p toolDepPath) Dir() Path {
-	p.basePath = p.basePath.Dir().(basePath)
-	return p
-}
-
 func (t toolDepPath) RelativeToTop() Path {
 	ensureTestOnly()
 	return t
@@ -1488,11 +1463,6 @@
 	OutputPath
 }
 
-func (p ModuleOutPath) Dir() Path {
-	p.OutputPath = p.OutputPath.Dir().(OutputPath)
-	return p
-}
-
 func (p ModuleOutPath) RelativeToTop() Path {
 	p.OutputPath = p.outputPathRelativeToTop()
 	return p
@@ -1537,11 +1507,6 @@
 	ModuleOutPath
 }
 
-func (p ModuleGenPath) Dir() Path {
-	p.ModuleOutPath = p.ModuleOutPath.Dir().(ModuleOutPath)
-	return p
-}
-
 func (p ModuleGenPath) RelativeToTop() Path {
 	p.OutputPath = p.outputPathRelativeToTop()
 	return p
@@ -1581,11 +1546,6 @@
 	ModuleOutPath
 }
 
-func (p ModuleObjPath) Dir() Path {
-	p.ModuleOutPath = p.ModuleOutPath.Dir().(ModuleOutPath)
-	return p
-}
-
 func (p ModuleObjPath) RelativeToTop() Path {
 	p.OutputPath = p.outputPathRelativeToTop()
 	return p
@@ -1610,11 +1570,6 @@
 	ModuleOutPath
 }
 
-func (p ModuleResPath) Dir() Path {
-	p.ModuleOutPath = p.ModuleOutPath.Dir().(ModuleOutPath)
-	return p
-}
-
 func (p ModuleResPath) RelativeToTop() Path {
 	p.OutputPath = p.outputPathRelativeToTop()
 	return p
@@ -1651,11 +1606,6 @@
 	makePath bool
 }
 
-func (p InstallPath) Dir() Path {
-	p.basePath = p.basePath.Dir().(basePath)
-	return p
-}
-
 // Will panic if called from outside a test environment.
 func ensureTestOnly() {
 	if PrefixInList(os.Args, "-test.") {
@@ -1972,11 +1922,6 @@
 	basePath
 }
 
-func (p PhonyPath) Dir() Path {
-	p.basePath = p.basePath.Dir().(basePath)
-	return p
-}
-
 func (p PhonyPath) writablePath() {}
 
 func (p PhonyPath) getSoongOutDir() string {
@@ -2002,11 +1947,6 @@
 	basePath
 }
 
-func (p testPath) Dir() Path {
-	p.basePath = p.basePath.Dir().(basePath)
-	return p
-}
-
 func (p testPath) RelativeToTop() Path {
 	ensureTestOnly()
 	return p
diff --git a/android/prebuilt_build_tool.go b/android/prebuilt_build_tool.go
index c00b22b..17b3230 100644
--- a/android/prebuilt_build_tool.go
+++ b/android/prebuilt_build_tool.go
@@ -14,11 +14,7 @@
 
 package android
 
-import (
-	"path/filepath"
-
-	"github.com/google/blueprint"
-)
+import "path/filepath"
 
 func init() {
 	RegisterModuleType("prebuilt_build_tool", NewPrebuiltBuildTool)
@@ -59,13 +55,6 @@
 	}
 }
 
-type PrebuiltBuildToolInfo struct {
-	Src  Path
-	Deps Paths
-}
-
-var PrebuiltBuildToolInfoProvider = blueprint.NewProvider(PrebuiltBuildToolInfo{})
-
 func (t *prebuiltBuildTool) GenerateAndroidBuildActions(ctx ModuleContext) {
 	sourcePath := t.prebuilt.SingleSourcePath(ctx)
 	installedPath := PathForModuleOut(ctx, t.BaseModuleName())
@@ -93,11 +82,6 @@
 	}
 
 	t.toolPath = OptionalPathForPath(installedPath)
-
-	ctx.SetProvider(PrebuiltBuildToolInfoProvider, PrebuiltBuildToolInfo{
-		Src:  sourcePath,
-		Deps: deps,
-	})
 }
 
 func (t *prebuiltBuildTool) MakeVars(ctx MakeVarsModuleContext) {
diff --git a/android/util.go b/android/util.go
index 7f6af2d..5375373 100644
--- a/android/util.go
+++ b/android/util.go
@@ -33,17 +33,12 @@
 	return append([]T{}, s...)
 }
 
-// Concat returns a new slice concatenated from the input slices. It does not change the input
+// Concat returns a new slice concatenated from the two input slices. It does not change the input
 // slices.
-func Concat[T any](slices ...[]T) []T {
-	newLength := 0
-	for _, s := range slices {
-		newLength += len(s)
-	}
-	res := make([]T, 0, newLength)
-	for _, s := range slices {
-		res = append(res, s...)
-	}
+func Concat[T any](s1, s2 []T) []T {
+	res := make([]T, 0, len(s1)+len(s2))
+	res = append(res, s1...)
+	res = append(res, s2...)
 	return res
 }