In practice we often face the problem of assigning indivisible objects (e.g., schools, housing, jobs, offices) to agents (e.g., students, homeless, workers, professors) when monetary compensations are not possible. We show that a rule that satisfies consistency, strategy-proofness, and efficiency must be an efficient generalized priority rule; i.e., it must adapt to an acyclic priority structure, except -maybe -for up to three agents in each object's priority ordering.