When add_rules_str() fails, the compiler is already consumed. Changed from 'continue' to 'return Err' to avoid trying to use the moved compiler in the next loop iteration. This properly handles the builder pattern where the value is consumed on error.