rust-lang / rust-lang/rust

Truncated error messages with 1.95.0

Open
#155,414 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-attributes C-bug D-terse P-medium regression-from-stable-to-stable T-compiler
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

Code

I tried this code:

use diesel::prelude::*; // diesel = { version = "2.3.7", default-features = false, features = ["with-deprecated"] }

table! {
    users {
        id -> Integer,
    }
}

#[derive(AsChangeset)]
#[diesel(table_name = users)]
struct UserStruct1 {
    #[column_name = "name"]
    full_name: String,
}

#[derive(AsChangeset)]
#[diesel(table_name = users)]
struct UserStruct2 {
    #[column_name]
    id: i32,
}

I expected to see this happen: There is a complete error message containing all wrong instances of wrong attributes in this code snippet.

Example from Rust 1.94.0

warning: #[column_name] attribute form is deprecated                                                                                           
  = help: use `#[diesel(column_name = name)]` instead                                                                                          
                                                                                                                                               
error: unexpected end of input, expected `=`                                                                                                   
       help: the correct format looks like `#[diesel(column_name = foo)]`                                                                      
  --> src/main.rs:19:7                                                                                                                         
   |                                                                                                                                           
19 |     #[column_name]                                                                                                                        
   |       ^^^^^^^^^^^                                                                                                                         
                                                                                                                                               
error[E0425]: cannot find type `name` in module `users`                                                                                        
  --> src/main.rs:12:21                                                                                                                        
   |                                                                                                                                           
12 |     #[column_name = "name"]                                                                                                               
   |                     ^^^^^^ not found in `users`                                                                                           
                                                                                                                                               
error[E0425]: cannot find value `name` in module `users`                                                                                       
  --> src/main.rs:12:21                                                                                                                        
   |                                                                                                                                           
12 |     #[column_name = "name"]                                                                                                               
   |                     ^^^^^^ not found in `users`   

Instead, this happened: Rustc (1.95.0) only emits a truncated error

warning: #[column_name] attribute form is deprecated
  = help: use `#[diesel(column_name = name)]` instead

error: unexpected end of input, expected `=`
       help: the correct format looks like `#[diesel(column_name = foo)]`
  --> src/main.rs:19:7
   |
19 |     #[column_name]
   |       ^^^^^^^^^^^
Version it worked on

It most recently worked on: 1.94.0

Version with regression

rustc --version --verbose:

rustc 1.95.0 (59807616e 2026-04-14)
binary: rustc
commit-hash: 59807616e1fa2540724bfbac14d7976d7e4a3860
commit-date: 2026-04-14
host: x86_64-unknown-linux-gnu
release: 1.95.0
LLVM version: 22.1.2

@rustbot modify labels: +regression-from-stable-to-stable -regression-untriaged

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the report using the Rust code in src/main.rs with rustc 1.95.0, then compare its diagnostics with rustc 1.94.0. Trace why the later errors are omitted and restore output that includes all wrong attributes and their associated diagnostics; verify both compiler versions' behavior with the example.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
compilers
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.