{"action":"created","issue":{"url":"https://api.github.com/repos/dash-project/dash/issues/324","repository_url":"https://api.github.com/repos/dash-project/dash","labels_url":"https://api.github.com/repos/dash-project/dash/issues/324/labels{/name}","comments_url":"https://api.github.com/repos/dash-project/dash/issues/324/comments","events_url":"https://api.github.com/repos/dash-project/dash/issues/324/events","html_url":"https://github.com/dash-project/dash/issues/324","id":214096013,"number":324,"title":"Consistency of NArray bracket accesses","user":{"login":"fmoessbauer","id":9655545,"avatar_url":"https://avatars0.githubusercontent.com/u/9655545?v=3","gravatar_id":"","url":"https://api.github.com/users/fmoessbauer","html_url":"https://github.com/fmoessbauer","followers_url":"https://api.github.com/users/fmoessbauer/followers","following_url":"https://api.github.com/users/fmoessbauer/following{/other_user}","gists_url":"https://api.github.com/users/fmoessbauer/gists{/gist_id}","starred_url":"https://api.github.com/users/fmoessbauer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fmoessbauer/subscriptions","organizations_url":"https://api.github.com/users/fmoessbauer/orgs","repos_url":"https://api.github.com/users/fmoessbauer/repos","events_url":"https://api.github.com/users/fmoessbauer/events{/privacy}","received_events_url":"https://api.github.com/users/fmoessbauer/received_events","type":"User","site_admin":false},"labels":[{"id":481149317,"url":"https://api.github.com/repos/dash-project/dash/labels/module:narray","name":"module:narray","color":"5edbc0","default":false},{"id":284908438,"url":"https://api.github.com/repos/dash-project/dash/labels/question","name":"question","color":"bfd4f2","default":true},{"id":484173025,"url":"https://api.github.com/repos/dash-project/dash/labels/specification:dash-concepts","name":"specification:dash-concepts","color":"b0f26a","default":false}],"state":"open","locked":false,"assignee":{"login":"fuchsto","id":37075,"avatar_url":"https://avatars1.githubusercontent.com/u/37075?v=3","gravatar_id":"","url":"https://api.github.com/users/fuchsto","html_url":"https://github.com/fuchsto","followers_url":"https://api.github.com/users/fuchsto/followers","following_url":"https://api.github.com/users/fuchsto/following{/other_user}","gists_url":"https://api.github.com/users/fuchsto/gists{/gist_id}","starred_url":"https://api.github.com/users/fuchsto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fuchsto/subscriptions","organizations_url":"https://api.github.com/users/fuchsto/orgs","repos_url":"https://api.github.com/users/fuchsto/repos","events_url":"https://api.github.com/users/fuchsto/events{/privacy}","received_events_url":"https://api.github.com/users/fuchsto/received_events","type":"User","site_admin":false},"assignees":[{"login":"fuchsto","id":37075,"avatar_url":"https://avatars1.githubusercontent.com/u/37075?v=3","gravatar_id":"","url":"https://api.github.com/users/fuchsto","html_url":"https://github.com/fuchsto","followers_url":"https://api.github.com/users/fuchsto/followers","following_url":"https://api.github.com/users/fuchsto/following{/other_user}","gists_url":"https://api.github.com/users/fuchsto/gists{/gist_id}","starred_url":"https://api.github.com/users/fuchsto/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fuchsto/subscriptions","organizations_url":"https://api.github.com/users/fuchsto/orgs","repos_url":"https://api.github.com/users/fuchsto/repos","events_url":"https://api.github.com/users/fuchsto/events{/privacy}","received_events_url":"https://api.github.com/users/fuchsto/received_events","type":"User","site_admin":false},{"login":"fuerlinger","id":475258,"avatar_url":"https://avatars0.githubusercontent.com/u/475258?v=3","gravatar_id":"","url":"https://api.github.com/users/fuerlinger","html_url":"https://github.com/fuerlinger","followers_url":"https://api.github.com/users/fuerlinger/followers","following_url":"https://api.github.com/users/fuerlinger/following{/other_user}","gists_url":"https://api.github.com/users/fuerlinger/gists{/gist_id}","starred_url":"https://api.github.com/users/fuerlinger/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fuerlinger/subscriptions","organizations_url":"https://api.github.com/users/fuerlinger/orgs","repos_url":"https://api.github.com/users/fuerlinger/repos","events_url":"https://api.github.com/users/fuerlinger/events{/privacy}","received_events_url":"https://api.github.com/users/fuerlinger/received_events","type":"User","site_admin":false},{"login":"devreal","id":10974502,"avatar_url":"https://avatars2.githubusercontent.com/u/10974502?v=3","gravatar_id":"","url":"https://api.github.com/users/devreal","html_url":"https://github.com/devreal","followers_url":"https://api.github.com/users/devreal/followers","following_url":"https://api.github.com/users/devreal/following{/other_user}","gists_url":"https://api.github.com/users/devreal/gists{/gist_id}","starred_url":"https://api.github.com/users/devreal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/devreal/subscriptions","organizations_url":"https://api.github.com/users/devreal/orgs","repos_url":"https://api.github.com/users/devreal/repos","events_url":"https://api.github.com/users/devreal/events{/privacy}","received_events_url":"https://api.github.com/users/devreal/received_events","type":"User","site_admin":false}],"milestone":null,"comments":1,"created_at":"2017-03-14T14:47:52Z","updated_at":"2017-03-14T15:13:51Z","closed_at":null,"body":"During the implementation of the dash coarray for atomic types, I noticed that the following accesses return different types:\r\n\r\n```cpp\r\ndash::NArray<int,2> matrix(5,10);\r\nauto a = matrix(0,0);  // returns a GlobRef<int>\r\nauto b = matrix[0][0]; // returns a MatrixRef<int, 2, 0, PatternT>\r\n```\r\n\r\nIs this really desired? I would appreciate it if both accesses return a GlobRef, as the GlobRef has specializations for atomic accesses. Otherwise we have to implement the atomic specializations also for the `MatrixRef<int,0,...>`"},"comment":{"url":"https://api.github.com/repos/dash-project/dash/issues/comments/286452741","html_url":"https://github.com/dash-project/dash/issues/324#issuecomment-286452741","issue_url":"https://api.github.com/repos/dash-project/dash/issues/324","id":286452741,"user":{"login":"devreal","id":10974502,"avatar_url":"https://avatars2.githubusercontent.com/u/10974502?v=3","gravatar_id":"","url":"https://api.github.com/users/devreal","html_url":"https://github.com/devreal","followers_url":"https://api.github.com/users/devreal/followers","following_url":"https://api.github.com/users/devreal/following{/other_user}","gists_url":"https://api.github.com/users/devreal/gists{/gist_id}","starred_url":"https://api.github.com/users/devreal/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/devreal/subscriptions","organizations_url":"https://api.github.com/users/devreal/orgs","repos_url":"https://api.github.com/users/devreal/repos","events_url":"https://api.github.com/users/devreal/events{/privacy}","received_events_url":"https://api.github.com/users/devreal/received_events","type":"User","site_admin":false},"created_at":"2017-03-14T15:13:51Z","updated_at":"2017-03-14T15:13:51Z","body":"Afaics, `MatrixRef::operator[]()` returns again a `MatrixRef` to keep the `operator[]` chain going:\r\n```\r\n  MatrixRef<ElementT, NumDimensions, NumViewDim-1, PatternT>\r\n    operator[](index_type n);\r\n```\r\n\r\nI guess we could provide an overload that returns a `GlobRef` if `(NumViewDim-1) == 0)`?"}}
{"actor":{"display_login":"devreal"}}