Skip to content

Link rot in error messages #57104

Closed
Closed
@m-hilgendorf

Description

@m-hilgendorf

Happy holidays everyone, I know this isn't going to get looked at for a few days and it's probably a clone of an existing issue (couldn't find it)

I noticed today that the compiler has invalid links in its error messages. Example:

struct Foo<B: Bar> {
    bar : B
}

trait Bar {
    fn foo() -> Foo<Self>;
}

Yields the error

error[E0277]: the size for values of type `Self` cannot be known at compilation time                                                                                                                 
  --> src/lib.rs:10:5                                                                                                                                                                                
   |                                                                                                                                                                                                 
10 |     fn foo() -> Foo<Self>;                                                                                                                                                                      
   |     ^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time                                                                                                                            
   |                                                                                                                                                                                                 
   = help: the trait `std::marker::Sized` is not implemented for `Self`                                                                                                                              
   = note: to learn more, visit <https://doc.rust-lang.org/book/second-edition/ch19-04-advanced-types.html#dynamically-sized-types-and-the-sized-trait>                                              
   = help: consider adding a `where Self: std::marker::Sized` bound      

I love this feature, but that link is incorrect. The correct link is:

https://doc.rust-lang.org/book/ch19-04-advanced-types.html?highlight=dynamical#dynamically-sized-types-and-the--sized--trait.

This is just an example, I'm sure there are other error messages that have the same issue. I'm not certain if it's better fixed in the compiler (who wants to rewrite error messages every time docs.rust-lang.org changes an URL?) or if this should be filed as an issue over at that repository.

Metadata

Metadata

Assignees

Labels

A-docsArea: Documentation for any part of the project, including the compiler, standard library, and toolsP-mediumMedium priority

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions