-
-
Notifications
You must be signed in to change notification settings - Fork 266
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Misleading error message when function multiply defined #533
Comments
I agree this is misleading, but I am sure it applies to all interfaces so
the issue should get moved to the stan-dev/stan repo.
…On Fri, May 25, 2018 at 12:47 PM, Kevin S. Van Horn < ***@***.***> wrote:
Summary:
When a function is defined twice, the error message points to the function
AFTER the second definition.
Description:
A program defines the function "rot_matrix" twice in the "functions"
block. The error message points at the beginning of the definition of a
later function, "scale_matrix".
Reproducible Steps:
Run stanc on the following program:
functions {
matrix rot_matrix() {
return rep_matrix(0,1,1);
}
matrix rot_matrix() {
return rep_matrix(0,1,1);
}
matrix scale_matrix() {
return rep_matrix(0,1,1);
}
}
data {
int<lower = 1> N;
vector[N] y;
}
parameters {
real<lower=0> sigma;
}
model {
sigma ~ normal(0, 1);
y ~ normal(0, sigma);
}
Current Output:
SYNTAX ERROR, MESSAGE(S) FROM PARSER:
Parse Error. Function already defined, name=rot_matrix error in 'model661b1902a01a_foo' at line 10, column 3
-------------------------------------------------
8: }
9:
10: matrix scale_matrix() {
^
11: return rep_matrix(0,1,1);
-------------------------------------------------
Error in stanc(file = file, model_code = model_code, model_name = model_name, :
failed to parse Stan model 'foo' due to the above error.
Expected Output:
The caret should point at the beginning of the second definition of
rot_matrix.
RStan Version:
2.17.3
R Version:
R version 3.4.3 (2017-11-30)
Operating System:
OS X 10.13.4
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
<#533>, or mute the thread
<https://github.com/notifications/unsubscribe-auth/ADOrqkl4V3uhyIUUO4kyUyDUCvU6T24sks5t2DWPgaJpZM4UOR-Z>
.
|
This issue was moved to stan-dev/stan#2526 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Summary:
When a function is defined twice, the error message points to the function AFTER the second definition.
Description:
A program defines the function "rot_matrix" twice in the "functions" block. The error message points at the beginning of the definition of a later function, "scale_matrix".
Reproducible Steps:
Run stanc on the following program:
Current Output:
Expected Output:
The caret should point at the beginning of the second definition of
rot_matrix
.RStan Version:
2.17.3
R Version:
R version 3.4.3 (2017-11-30)
Operating System:
OS X 10.13.4
The text was updated successfully, but these errors were encountered: