J W created THRIFT-4662:
---------------------------

             Summary: Rust const string calls function at compile time
                 Key: THRIFT-4662
                 URL: https://issues.apache.org/jira/browse/THRIFT-4662
             Project: Thrift
          Issue Type: Bug
          Components: Rust - Compiler
    Affects Versions: 0.11.0
         Environment: C:\Users\jake>rustup show
Default host: x86_64-pc-windows-msvc

stable-x86_64-pc-windows-msvc (default)
rustc 1.30.0 (da5f414c2 2018-10-24)
            Reporter: J W


*For this thrift:*

const string broker_playback_message = "mmi.developer.playback"

*Generates:*

// thrift -gen rs -out ../rust/thrift/src const_string.thrift

pub const BROKER_PLAYBACK_MESSAGE: String = "mmi.developer.playback".to_owned();

*Fails to compile:*

error[E0015]: calls in constants are limited to tuple structs and tuple variants
note: a limited form of compile-time function evaluation is available on a 
nightly compiler via `const fn`

*Fix:*

Probably want to output:

pub const BROKER_PLAYBACK_MESSAGE: &str = "mmi.developer.playback";

 

Looking at render_const_value() it looks like byte arrays will have the same 
issue.

 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to