From 64838e6367bf3513f22387290082206a0609bbb3 Mon Sep 17 00:00:00 2001 From: Starlight220 <53231611+Starlight220@users.noreply.github.com> Date: Tue, 15 Nov 2022 00:28:30 +0200 Subject: [PATCH] [commands] Remove unsafe default command isFinished check (#4411) --- .../java/edu/wpi/first/wpilibj2/command/CommandScheduler.java | 4 ---- .../src/main/native/include/frc2/command/CommandScheduler.h | 4 ---- .../wpi/first/wpilibj2/command/CommandRequirementsTest.java | 2 -- 3 files changed, 10 deletions(-) diff --git a/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/CommandScheduler.java b/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/CommandScheduler.java index 5d72ddfa31..e286a74229 100644 --- a/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/CommandScheduler.java +++ b/wpilibNewCommands/src/main/java/edu/wpi/first/wpilibj2/command/CommandScheduler.java @@ -405,10 +405,6 @@ public final class CommandScheduler implements NTSendable, AutoCloseable { throw new IllegalArgumentException("Default commands must require their subsystem!"); } - if (defaultCommand.isFinished()) { - throw new IllegalArgumentException("Default commands should not end!"); - } - if (defaultCommand.getInterruptionBehavior() == InterruptionBehavior.kCancelIncoming) { DriverStation.reportWarning( "Registering a non-interruptible default command!\n" diff --git a/wpilibNewCommands/src/main/native/include/frc2/command/CommandScheduler.h b/wpilibNewCommands/src/main/native/include/frc2/command/CommandScheduler.h index fe1dae7cf7..edce241d08 100644 --- a/wpilibNewCommands/src/main/native/include/frc2/command/CommandScheduler.h +++ b/wpilibNewCommands/src/main/native/include/frc2/command/CommandScheduler.h @@ -182,10 +182,6 @@ class CommandScheduler final : public nt::NTSendable, throw FRC_MakeError(frc::err::CommandIllegalUse, "Default commands must require their subsystem!"); } - if (defaultCommand.IsFinished()) { - throw FRC_MakeError(frc::err::CommandIllegalUse, - "Default commands should not end!"); - } SetDefaultCommandImpl(subsystem, std::make_unique>( std::forward(defaultCommand))); diff --git a/wpilibNewCommands/src/test/java/edu/wpi/first/wpilibj2/command/CommandRequirementsTest.java b/wpilibNewCommands/src/test/java/edu/wpi/first/wpilibj2/command/CommandRequirementsTest.java index 2da078c38f..47657e19ed 100644 --- a/wpilibNewCommands/src/test/java/edu/wpi/first/wpilibj2/command/CommandRequirementsTest.java +++ b/wpilibNewCommands/src/test/java/edu/wpi/first/wpilibj2/command/CommandRequirementsTest.java @@ -64,12 +64,10 @@ class CommandRequirementsTest extends CommandTestBase { Subsystem system = new SubsystemBase() {}; Command missingRequirement = new WaitUntilCommand(() -> false); - Command ends = new InstantCommand(() -> {}, system); assertThrows( IllegalArgumentException.class, () -> scheduler.setDefaultCommand(system, missingRequirement)); - assertThrows(IllegalArgumentException.class, () -> scheduler.setDefaultCommand(system, ends)); } } }