If I moved `assign_generated_description` without separating this out, it made the following spec in `example_spec.rb:111` fail:

```ruby
      it "uses the file and line number if there is an error before the matcher" do
        example = example_group.example { expect(5).to eq(5) }
        example_group.before { raise }
        example_group.run
        expect(example.description).to match(/example at #{relative_path(__FILE__)}:#{__LINE__ - 3}/)
      end
```

```
Failures:

  1) RSpec::Core::Example when there is no explicit description when `expect_with :rspec` is configured uses the file and line number if there is an error before the matcher
     Failure/Error: expect(example.description).to match(/example at #{relative_path(__FILE__)}:#{__LINE__ -3}/)
       expected "should not #<RSpec::Mocks::Matchers::Receive:0x007fc8db1fbde0>" to match /example at .\/spec\/rspec\/core\/example_spec.rb:108/
       Diff:
       @@ -1,2 +1,2 @@
       -/example at .\/spec\/rspec\/core\/example_spec.rb:108/
       +"should not #<RSpec::Mocks::Matchers::Receive:0x007fc8db1fbde0>"
     # ./spec/rspec/core/example_spec.rb:111:in `block (4 levels) in <top (required)>'
```